@pie-lib/graphing 2.6.2 → 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.
- package/CHANGELOG.md +34 -0
- package/lib/axis/arrow.js +15 -25
- package/lib/axis/arrow.js.map +1 -1
- package/lib/axis/axes.js +41 -73
- package/lib/axis/axes.js.map +1 -1
- package/lib/axis/index.js +1 -1
- package/lib/bg.js +20 -31
- package/lib/bg.js.map +1 -1
- package/lib/container/index.js +27 -41
- package/lib/container/index.js.map +1 -1
- package/lib/container/reducer.js +2 -2
- package/lib/container/reducer.js.map +1 -1
- package/lib/coordinates-label.js +5 -5
- package/lib/coordinates-label.js.map +1 -1
- package/lib/graph-with-controls.js +116 -55
- package/lib/graph-with-controls.js.map +1 -1
- package/lib/graph.js +45 -69
- package/lib/graph.js.map +1 -1
- package/lib/grid-setup.js +109 -50
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +28 -53
- package/lib/grid.js.map +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/labels.js +22 -38
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +10 -20
- package/lib/mark-label.js.map +1 -1
- package/lib/toggle-bar.js +177 -45
- package/lib/toggle-bar.js.map +1 -1
- package/lib/tool-menu.js +49 -32
- package/lib/tool-menu.js.map +1 -1
- package/lib/tools/circle/bg-circle.js +27 -38
- package/lib/tools/circle/bg-circle.js.map +1 -1
- package/lib/tools/circle/component.js +36 -54
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/circle/index.js +5 -5
- package/lib/tools/circle/index.js.map +1 -1
- package/lib/tools/line/component.js +11 -25
- package/lib/tools/line/component.js.map +1 -1
- package/lib/tools/line/index.js +2 -2
- package/lib/tools/line/index.js.map +1 -1
- package/lib/tools/parabola/component.js +2 -2
- package/lib/tools/parabola/component.js.map +1 -1
- package/lib/tools/parabola/index.js +5 -5
- package/lib/tools/parabola/index.js.map +1 -1
- package/lib/tools/point/component.js +30 -47
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/point/index.js +5 -5
- package/lib/tools/point/index.js.map +1 -1
- package/lib/tools/polygon/component.js +59 -107
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/polygon/index.js +9 -19
- package/lib/tools/polygon/index.js.map +1 -1
- package/lib/tools/polygon/line.js +28 -41
- package/lib/tools/polygon/line.js.map +1 -1
- package/lib/tools/polygon/polygon.js +28 -42
- package/lib/tools/polygon/polygon.js.map +1 -1
- package/lib/tools/ray/component.js +11 -25
- package/lib/tools/ray/component.js.map +1 -1
- package/lib/tools/ray/index.js +2 -2
- package/lib/tools/ray/index.js.map +1 -1
- package/lib/tools/segment/component.js +8 -11
- package/lib/tools/segment/component.js.map +1 -1
- package/lib/tools/segment/index.js +2 -2
- package/lib/tools/segment/index.js.map +1 -1
- package/lib/tools/shared/arrow-head.js +2 -2
- package/lib/tools/shared/arrow-head.js.map +1 -1
- package/lib/tools/shared/line/index.js +43 -66
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/line/line-path.js +29 -42
- package/lib/tools/shared/line/line-path.js.map +1 -1
- package/lib/tools/shared/line/with-root-edge.js +12 -14
- package/lib/tools/shared/line/with-root-edge.js.map +1 -1
- package/lib/tools/shared/point/arrow-point.js +24 -39
- package/lib/tools/shared/point/arrow-point.js.map +1 -1
- package/lib/tools/shared/point/arrow.js +23 -37
- package/lib/tools/shared/point/arrow.js.map +1 -1
- package/lib/tools/shared/point/base-point.js +24 -38
- package/lib/tools/shared/point/base-point.js.map +1 -1
- package/lib/tools/shared/point/index.js +6 -6
- package/lib/tools/shared/point/index.js.map +1 -1
- package/lib/tools/shared/styles.js +7 -5
- package/lib/tools/shared/styles.js.map +1 -1
- package/lib/tools/shared/types.js +2 -2
- package/lib/tools/shared/types.js.map +1 -1
- package/lib/tools/sine/component.js +2 -2
- package/lib/tools/sine/component.js.map +1 -1
- package/lib/tools/sine/index.js +5 -5
- package/lib/tools/sine/index.js.map +1 -1
- package/lib/tools/vector/component.js +8 -11
- package/lib/tools/vector/component.js.map +1 -1
- package/lib/tools/vector/index.js +2 -2
- package/lib/tools/vector/index.js.map +1 -1
- package/lib/undo-redo.js +19 -31
- package/lib/undo-redo.js.map +1 -1
- package/lib/use-debounce.js +5 -13
- package/lib/use-debounce.js.map +1 -1
- package/lib/utils.js +2 -2
- package/lib/utils.js.map +1 -1
- package/package.json +4 -3
- package/src/graph-with-controls.jsx +100 -14
- package/src/graph.jsx +2 -0
- package/src/grid-setup.jsx +178 -91
- package/src/grid.jsx +0 -7
- package/src/toggle-bar.jsx +143 -13
- package/src/tool-menu.jsx +15 -0
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","domain","types","DomainType","labels","LabelType","labelModeEnabled","bool","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 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,wBAAN,CAAZ;AAEO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,YAAY,EAAEC,sBAAUC,KAAV,CAAgBC,mBAAhB,CADc;AAE5BC,EAAAA,eAAe,EAAEH,sBAAUI,KAFC;AAG5BC,EAAAA,SAAS,EAAEL,sBAAUM,MAHO;AAI5BC,EAAAA,kBAAkB,EAAEP,sBAAUQ,IAJF;AAK5BC,EAAAA,uBAAuB,EAAET,sBAAUM,MALP;AAM5BI,EAAAA,MAAM,EAAEC,YAAMC,UANc;AAO5BC,EAAAA,MAAM,EAAEb,sBAAUC,KAAV,CAAgBa,iBAAhB,CAPoB;AAQ5BC,EAAAA,gBAAgB,EAAEf,sBAAUQ,IARA;AAS5BQ,EAAAA,kBAAkB,EAAEhB,sBAAUQ,IATF;AAU5BS,EAAAA,KAAK,EAAEjB,sBAAUI,KAVW;AAW5Bc,EAAAA,aAAa,EAAElB,sBAAUmB,IAXG;AAY5BC,EAAAA,KAAK,EAAET,YAAMC,UAZe;AAa5BS,EAAAA,IAAI,EAAErB,sBAAUC,KAAV,CAAgB;AACpBqB,IAAAA,KAAK,EAAEtB,sBAAUuB,MAAV,CAAiBC,UADJ;AAEpBC,IAAAA,MAAM,EAAEzB,sBAAUuB,MAAV,CAAiBC;AAFL,GAAhB,CAbsB;AAiB5BE,EAAAA,KAAK,EAAE1B,sBAAUM,MAjBW;AAkB5BqB,EAAAA,KAAK,EAAE3B,sBAAUI;AAlBW,CAAvB;;;AAqBP,IAAMwB,WAAW,GAAG,SAAdA,WAAc,CAAAP,IAAI;AAAA,SAAK;AAC3BQ,IAAAA,CAAC,EAAE,CAAC,EADuB;AAE3BC,IAAAA,CAAC,EAAE,CAAC,EAFuB;AAG3BR,IAAAA,KAAK,EAAED,IAAI,CAACC,KAAL,GAAa,EAHO;AAI3BG,IAAAA,MAAM,EAAEJ,IAAI,CAACI,MAAL,GAAc;AAJK,GAAL;AAAA,CAAxB;;AAOO,IAAMM,sCAAsC,GAAG,SAAzCA,sCAAyC,OAA4B;AAAA,MAAzBd,KAAyB,QAAzBA,KAAyB;AAAA,MAAlBe,WAAkB,QAAlBA,WAAkB;AAChF,MAAMC,YAAY,GAAGhB,KAAK,CAACiB,MAAN,CAAa,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,QAAN;AAAA,GAAd,EAA8B,CAA9B,CAArB;AACA,MAAIC,QAAQ,GAAG,2BAAUpB,KAAV,CAAf;;AAEA,MAAIgB,YAAY,IAAID,WAAhB,IAA+BC,YAAY,CAACK,IAAb,KAAsBN,WAAW,CAACM,IAArE,EAA2E;AACzE,QAAMC,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAL,CAAC;AAAA,aAAI,yBAAQA,CAAR,EAAWF,YAAX,CAAJ;AAAA,KAApB,CAAd;;AAEA,QAAIM,KAAK,IAAI,CAAb,EAAgB;AACdF,MAAAA,QAAQ,CAACI,MAAT,CAAgBF,KAAhB,EAAuB,CAAvB;AACD;AACF;;AAED,SAAOF,QAAP;AACD,CAbM;;;;IAeMK,K;;;;;;;;;;;;;;;8FAUH,E;0GAEY;AAAA,aAAM,MAAKC,QAAL,CAAc;AAAEC,QAAAA,SAAS,EAAE,MAAKA;AAAlB,OAAd,CAAN;AAAA,K;mGAEP,UAACC,OAAD,EAAUC,OAAV,EAAsB;AACjC,wBAAiC,MAAKC,KAAtC;AAAA,UAAQ7B,aAAR,eAAQA,aAAR;AAAA,UAAuBD,KAAvB,eAAuBA,KAAvB;AACA,UAAIoB,QAAQ,GAAG,2BAAUpB,KAAV,CAAf;AAEA,UAAMsB,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAL,CAAC;AAAA,eAAI,yBAAQA,CAAR,EAAWU,OAAX,CAAJ;AAAA,OAApB,CAAd;;AAEA,UAAIN,KAAK,IAAI,CAAT,IAAc,CAAC,6BAAiBO,OAAjB,EAA0B7B,KAA1B,EAAiC4B,OAAjC,CAAnB,EAA8D;AAC5DR,QAAAA,QAAQ,CAACI,MAAT,CAAgBF,KAAhB,EAAuB,CAAvB,EAA0BO,OAA1B;AAEA5B,QAAAA,aAAa,CAACmB,QAAD,CAAb;AACD;AACF,K;qGAEc,UAAAW,QAAQ,EAAI;AACzB,yBAA+B,MAAKD,KAApC;AAAA,UAAQf,WAAR,gBAAQA,WAAR;AAAA,UAAqBf,KAArB,gBAAqBA,KAArB;AACA,UAAMgB,YAAY,GAAGhB,KAAK,CAACiB,MAAN,CAAa,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,QAAN;AAAA,OAAd,EAA8B,CAA9B,CAArB;AAEA,UAAI,CAACH,YAAD,IAAiB,CAACD,WAAtB,EAAmC;AAEnC,UAAMiB,WAAW,GAAGjB,WAAW,CAACkB,QAAZ,CAAqBjB,YAArB,EAAmCe,QAAnC,CAApB;;AAEA,YAAKG,WAAL,CAAiBlB,YAAjB,EAA+BgB,WAA/B;AACD,K;oGAEa,UAACG,QAAD,EAAWC,MAAX,EAA4C;AAAA,UAAzBC,YAAyB,uEAAV,KAAU;AACxD,yBAAiC,MAAKP,KAAtC;AAAA,UAAQ7B,aAAR,gBAAQA,aAAR;AAAA,UAAuBD,KAAvB,gBAAuBA,KAAvB;AACA,UAAIoB,QAAQ,GAAG,2BAAUpB,KAAV,CAAf;;AAEA,UAAI,CAACoC,MAAM,CAACjB,QAAR,IAAoB,6BAAiBiB,MAAjB,EAAyBpC,KAAzB,CAAxB,EAAyD;AACvD;AACD;;AAED,UAAMsB,KAAK,GAAGF,QAAQ,CAACG,SAAT,CAAmB,UAAAL,CAAC;AAAA,eAAI,yBAAQA,CAAR,EAAWiB,QAAX,CAAJ;AAAA,OAApB,CAAd;;AAEA,UAAIb,KAAK,IAAI,CAAb,EAAgB;AACdF,QAAAA,QAAQ,CAACI,MAAT,CAAgBF,KAAhB,EAAuB,CAAvB,EAA0Bc,MAA1B;AAEAnC,QAAAA,aAAa,CAACmB,QAAD,CAAb;AACD,OAJD,MAIO,IAAIiB,YAAJ,EAAkB;AACvBpC,QAAAA,aAAa,+CAAKmB,QAAL,IAAegB,MAAf,GAAb;AACD;AACF,K;qGAEc,UAAAE,IAAI,EAAI;AACrB,UAAI,CAACA,IAAL,EAAW,OAAO,IAAP;AAEX,UAAMC,IAAI,GAAG,CAAC,MAAKT,KAAL,CAAWpB,KAAX,IAAoB,EAArB,EAAyB8B,IAAzB,CAA8B,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACpB,IAAF,KAAWiB,IAAI,CAACjB,IAApB;AAAA,OAA/B,CAAb;AAEA,aAAQkB,IAAI,IAAIA,IAAI,CAACG,SAAd,IAA4B,IAAnC;AACD,K;kGAEW,UAAAC,KAAK,EAAI;AACnB,UAAQ/B,CAAR,GAAiB+B,KAAjB,CAAQ/B,CAAR;AAAA,UAAWC,CAAX,GAAiB8B,KAAjB,CAAW9B,CAAX;AACA,yBAAiD,MAAKiB,KAAtD;AAAA,UAAQhC,gBAAR,gBAAQA,gBAAR;AAAA,UAA0BiB,WAA1B,gBAA0BA,WAA1B;AAAA,UAAuCf,KAAvC,gBAAuCA,KAAvC;AAEApB,MAAAA,GAAG,CAAC,mBAAD,EAAsBgC,CAAtB,EAAyBC,CAAzB,CAAH;;AAEA,UAAIf,gBAAgB,IAAI,CAACiB,WAAzB,EAAsC;AACpC;AACD;;AAED,UAAMC,YAAY,GAAGhB,KAAK,CAACiB,MAAN,CAAa,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,QAAN;AAAA,OAAd,EAA8B,CAA9B,CAArB;AACA,UAAIa,WAAJ,CAXmB,CAanB;;AACA,UAAIhB,YAAY,IAAID,WAAhB,IAA+BC,YAAY,CAACK,IAAb,KAAsBN,WAAW,CAACM,IAArE,EAA2E;AACzEW,QAAAA,WAAW,GAAGjB,WAAW,CAAC6B,QAAZ,CAAqB;AAAEhC,UAAAA,CAAC,EAADA,CAAF;AAAKC,UAAAA,CAAC,EAADA;AAAL,SAArB,oBAAoCG,YAApC,EAAd;AACD,OAFD,MAEO;AACLgB,QAAAA,WAAW,GAAGjB,WAAW,CAAC6B,QAAZ,CAAqB;AAAEhC,UAAAA,CAAC,EAADA,CAAF;AAAKC,UAAAA,CAAC,EAADA;AAAL,SAArB,EAA+BgC,SAA/B,CAAd;AACD;;AAED,YAAKX,WAAL,CAAiBlB,YAAjB,EAA+BgB,WAA/B,EAA4C,IAA5C;AACD,K;;;;;;WAED,kBAAS;AAAA;;AACP,yBAWI,KAAKF,KAXT;AAAA,UACEhD,YADF,gBACEA,YADF;AAAA,UAEEiC,WAFF,gBAEEA,WAFF;AAAA,UAGEhB,kBAHF,gBAGEA,kBAHF;AAAA,UAIEK,IAJF,gBAIEA,IAJF;AAAA,UAKEX,MALF,gBAKEA,MALF;AAAA,UAMEP,eANF,gBAMEA,eANF;AAAA,UAOEiB,KAPF,gBAOEA,KAPF;AAAA,UAQEM,KARF,gBAQEA,KARF;AAAA,UASEb,MATF,gBASEA,MATF;AAAA,UAUEE,gBAVF,gBAUEA,gBAVF;AAYA,UAAME,KAAN,GAAgB,KAAK8B,KAArB,CAAM9B,KAAN;AAEA,UAAM8C,UAAU,GAAG,4BAAiBrD,MAAjB,EAAyBU,KAAzB,EAAgCC,IAAhC,EAAsC;AAAA,eAAM,MAAI,CAAC2C,QAAX;AAAA,OAAtC,CAAnB;AACA,UAAMC,QAAQ,GAAGrC,WAAW,CAACP,IAAD,CAA5B;AACA,UAAM6C,MAAM,GAAG;AAAEH,QAAAA,UAAU,EAAVA,UAAF;AAAchD,QAAAA,gBAAgB,EAAhBA;AAAd,OAAf;AAEAE,MAAAA,KAAK,GAAGc,sCAAsC,CAAC;AAAEd,QAAAA,KAAK,EAAEA,KAAK,IAAI,EAAlB;AAAsBe,QAAAA,WAAW,EAAXA;AAAtB,OAAD,CAA9C;AAEA,0BACE,gCAAC,UAAD;AAAM,QAAA,OAAO,EAAE,iBAAAmC,CAAC;AAAA,iBAAK,MAAI,CAACH,QAAL,GAAgBG,CAArB;AAAA,SAAhB;AAAyC,QAAA,KAAK,EAAEzC;AAAhD,SAA2DwC,MAA3D,gBACE,gCAAC,kBAAD;AAAQ,QAAA,KAAK,EAAErD;AAAf,SAA2BqD,MAA3B,EADF,eAEE;AAAG,QAAA,SAAS,sBAAexD,MAAM,CAAC0D,OAAtB,eAAkChD,KAAK,CAACgD,OAAxC;AAAZ,sBACE,gCAAC,gBAAD,EAAUF,MAAV,CADF,eAEE,gCAAC,UAAD,gCAAUnE,YAAV,EAA4BmE,MAA5B,EAFF,eAGE,gCAAC,cAAD,gCAAQ7C,IAAR;AAAc,QAAA,OAAO,EAAE,KAAKgD;AAA5B,SAA2CH,MAA3C,EAHF,eAIE;AAAM,QAAA,EAAE,EAAC;AAAT,sBACE,sEAAUD,QAAV;AAAoB,QAAA,IAAI,EAAC;AAAzB,SADF,MAJF,eAQE;AAAG,QAAA,EAAE,EAAC,OAAN;AAAc,QAAA,IAAI,EAAC;AAAnB,SACG,CAAC9D,eAAe,IAAI,EAApB,EAAwBmE,GAAxB,CAA4B,UAACnC,CAAD,EAAII,KAAJ,EAAc;AACzC,YAAMoB,SAAS,GAAG,MAAI,CAACY,YAAL,CAAkBpC,CAAlB,CAAlB;;AACA,YAAMqC,QAAQ,GAAGrC,CAAC,CAACG,IAAnB;AAEA,4BACE,gCAAC,SAAD;AACE,UAAA,GAAG,YAAKkC,QAAL,cAAiBjC,KAAjB,QADL;AAEE,UAAA,IAAI,kCAAOJ,CAAP;AAAUsC,YAAAA,QAAQ,EAAE,IAApB;AAA0BC,YAAAA,YAAY,EAAE;AAAxC,YAFN;AAGE,UAAA,SAAS,EAAE,MAAI,CAACC,KAAL,CAAW/B;AAHxB,WAIMsB,MAJN,EADF;AAQD,OAZA,CADH,EAeGjD,KAAK,CAACqD,GAAN,CAAU,UAACnC,CAAD,EAAII,KAAJ,EAAc;AACvB,YAAMoB,SAAS,GAAG,MAAI,CAACY,YAAL,CAAkBpC,CAAlB,CAAlB;;AACA,YAAMqC,QAAQ,GAAGrC,CAAC,CAACG,IAAnB;AAEA,4BACE,gCAAC,SAAD;AACE,UAAA,GAAG,YAAKkC,QAAL,cAAiBjC,KAAjB,CADL;AAEE,UAAA,IAAI,EAAEJ,CAFR;AAGE,UAAA,kBAAkB,EAAEnB,kBAHtB;AAIE,UAAA,QAAQ,EAAE,MAAI,CAAC4D,UAJjB;AAKE,UAAA,UAAU,EAAE,MAAI,CAACC,YALnB;AAME,UAAA,OAAO,EAAE,MAAI,CAACR,SANhB;AAOE,UAAA,WAAW,EAAE,MAAI,CAACS,SAPpB;AAQE,UAAA,UAAU,EAAE,MAAI,CAACC,QARnB;AASE,UAAA,SAAS,EAAE,MAAI,CAACJ,KAAL,CAAW/B,SATxB;AAUE,UAAA,YAAY,EAAEZ,WAAW,IAAIwC,QAAQ,KAAKxC,WAAW,CAACM;AAVxD,WAWM4B,MAXN,EADF;AAeD,OAnBA,CAfH,eAoCE;AACE,QAAA,GAAG,EAAE,aAAAtB,SAAS;AAAA,iBAAK,MAAI,CAACA,SAAL,GAAiBA,SAAtB;AAAA,SADhB;AAEE,QAAA,CAAC,EAAC,GAFJ;AAGE,QAAA,CAAC,EAAC;AAHJ,SAIMvB,IAJN;AAKE,QAAA,KAAK,EAAE;AAAE2D,UAAAA,aAAa,EAAE;AAAjB;AALT,SApCF,CARF,CAFF,CADF;AA0DD;;;EAvKwBC,kBAAMtB,S;;;iCAApBjB,K,+CAEN5C,c;AACHkC,EAAAA,WAAW,EAAEhC,sBAAUkF;;iCAHdxC,K,kBAMW;AACpBxB,EAAAA,aAAa,EAAE,yBAAM,CAAE;AADH,C;eAoKTwB,K","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"));
|
|
@@ -23,31 +27,32 @@ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/Expansio
|
|
|
23
27
|
|
|
24
28
|
var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
|
|
25
29
|
|
|
26
|
-
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
27
|
-
|
|
28
30
|
var _configUi = require("@pie-lib/config-ui");
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
31
33
|
|
|
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) {
|
|
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,
|
|
40
40
|
disabled = props.disabled,
|
|
41
|
+
displayedFields = props.displayedFields,
|
|
41
42
|
labelValue = props.labelValue,
|
|
42
43
|
labelValues = props.labelValues,
|
|
43
44
|
gridValue = props.gridValue,
|
|
44
45
|
gridValues = props.gridValues,
|
|
45
46
|
_onChange = props.onChange;
|
|
47
|
+
var _displayedFields$labe = displayedFields.labelStep,
|
|
48
|
+
labelStep = _displayedFields$labe === void 0 ? {} : _displayedFields$labe,
|
|
49
|
+
_displayedFields$step = displayedFields.step,
|
|
50
|
+
step = _displayedFields$step === void 0 ? {} : _displayedFields$step;
|
|
46
51
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
47
52
|
className: classes.columnView
|
|
48
|
-
}, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
49
|
-
className: classes.
|
|
50
|
-
label:
|
|
53
|
+
}, step && step.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
54
|
+
className: classes.mediumTextField,
|
|
55
|
+
label: step.label || '',
|
|
51
56
|
value: gridValue,
|
|
52
57
|
customValues: gridValues,
|
|
53
58
|
variant: "outlined",
|
|
@@ -55,9 +60,9 @@ var GridConfig = function GridConfig(props) {
|
|
|
55
60
|
onChange: function onChange(e, v) {
|
|
56
61
|
return _onChange('step', v);
|
|
57
62
|
}
|
|
58
|
-
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
59
|
-
className: classes.
|
|
60
|
-
label:
|
|
63
|
+
}), labelStep && labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
64
|
+
className: classes.mediumTextField,
|
|
65
|
+
label: labelStep.label || '',
|
|
61
66
|
value: labelValue,
|
|
62
67
|
customValues: labelValues,
|
|
63
68
|
variant: "outlined",
|
|
@@ -71,67 +76,107 @@ var GridConfig = function GridConfig(props) {
|
|
|
71
76
|
var AxisConfig = function AxisConfig(props) {
|
|
72
77
|
var classes = props.classes,
|
|
73
78
|
disabled = props.disabled,
|
|
79
|
+
displayedFields = props.displayedFields,
|
|
80
|
+
displayHeader = props.displayHeader,
|
|
74
81
|
label = props.label,
|
|
75
82
|
maxValue = props.maxValue,
|
|
76
83
|
minValue = props.minValue,
|
|
77
84
|
_onChange2 = props.onChange,
|
|
78
85
|
type = props.type;
|
|
86
|
+
var _displayedFields$axis = displayedFields.axisLabel,
|
|
87
|
+
axisLabel = _displayedFields$axis === void 0 ? {} : _displayedFields$axis,
|
|
88
|
+
_displayedFields$min = displayedFields.min,
|
|
89
|
+
min = _displayedFields$min === void 0 ? {} : _displayedFields$min,
|
|
90
|
+
_displayedFields$max = displayedFields.max,
|
|
91
|
+
max = _displayedFields$max === void 0 ? {} : _displayedFields$max;
|
|
92
|
+
var activePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
|
|
93
|
+
];
|
|
79
94
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
80
95
|
className: classes.columnView
|
|
81
|
-
}, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
96
|
+
}, displayHeader && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
82
97
|
variant: "subtitle2"
|
|
83
|
-
}, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
84
|
-
className: classes.
|
|
85
|
-
label:
|
|
98
|
+
}, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), min && min.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
99
|
+
className: classes.mediumTextField,
|
|
100
|
+
label: min.label || '',
|
|
86
101
|
value: minValue,
|
|
102
|
+
min: -10000,
|
|
103
|
+
max: maxValue - 0.01,
|
|
87
104
|
variant: "outlined",
|
|
88
105
|
disabled: disabled,
|
|
89
106
|
onChange: function onChange(e, v) {
|
|
90
107
|
return _onChange2('min', v);
|
|
91
108
|
}
|
|
92
|
-
}), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
93
|
-
className: classes.
|
|
94
|
-
label:
|
|
109
|
+
}), max && max.enabled && /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
110
|
+
className: classes.mediumTextField,
|
|
111
|
+
label: max.label || '',
|
|
95
112
|
value: maxValue,
|
|
113
|
+
min: minValue + 0.01,
|
|
114
|
+
max: 10000,
|
|
96
115
|
variant: "outlined",
|
|
97
116
|
disabled: disabled,
|
|
98
117
|
onChange: function onChange(e, v) {
|
|
99
118
|
return _onChange2('max', v);
|
|
100
119
|
}
|
|
101
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
102
|
-
label:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
120
|
+
}), axisLabel && axisLabel.enabled && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
|
|
121
|
+
label: axisLabel.label || '',
|
|
122
|
+
className: classes.mediumTextField
|
|
123
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
124
|
+
className: classes.axisLabel,
|
|
125
|
+
onChange: function onChange(value) {
|
|
126
|
+
return _onChange2('axisLabel', value);
|
|
109
127
|
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
}));
|
|
128
|
+
markup: label || '',
|
|
129
|
+
charactersLimit: 5,
|
|
130
|
+
activePlugins: activePlugins
|
|
131
|
+
})));
|
|
116
132
|
};
|
|
117
133
|
|
|
118
134
|
var GridSetup = function GridSetup(props) {
|
|
119
135
|
var classes = props.classes,
|
|
120
|
-
sizeConstraints = props.sizeConstraints,
|
|
121
136
|
domain = props.domain,
|
|
122
|
-
|
|
123
|
-
|
|
137
|
+
_props$displayedField = props.displayedFields,
|
|
138
|
+
displayedFields = _props$displayedField === void 0 ? {} : _props$displayedField,
|
|
139
|
+
_props$gridValues = props.gridValues,
|
|
140
|
+
gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
|
|
124
141
|
includeAxes = props.includeAxes,
|
|
125
|
-
labelValues = props.labelValues,
|
|
142
|
+
_props$labelValues = props.labelValues,
|
|
143
|
+
labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
|
|
126
144
|
onChange = props.onChange,
|
|
127
145
|
range = props.range,
|
|
128
146
|
size = props.size,
|
|
147
|
+
sizeConstraints = props.sizeConstraints,
|
|
129
148
|
standardGrid = props.standardGrid;
|
|
130
149
|
var gridProps = {
|
|
131
150
|
min: 2,
|
|
132
151
|
max: 41
|
|
133
152
|
};
|
|
134
153
|
|
|
154
|
+
var _ref = displayedFields || {},
|
|
155
|
+
_ref$axisLabel = _ref.axisLabel,
|
|
156
|
+
axisLabel = _ref$axisLabel === void 0 ? {} : _ref$axisLabel,
|
|
157
|
+
dimensionsEnabled = _ref.dimensionsEnabled,
|
|
158
|
+
includeAxesEnabled = _ref.includeAxesEnabled,
|
|
159
|
+
_ref$labelStep = _ref.labelStep,
|
|
160
|
+
labelStep = _ref$labelStep === void 0 ? {} : _ref$labelStep,
|
|
161
|
+
_ref$min = _ref.min,
|
|
162
|
+
min = _ref$min === void 0 ? {} : _ref$min,
|
|
163
|
+
_ref$max = _ref.max,
|
|
164
|
+
max = _ref$max === void 0 ? {} : _ref$max,
|
|
165
|
+
standardGridEnabled = _ref.standardGridEnabled,
|
|
166
|
+
_ref$step = _ref.step,
|
|
167
|
+
step = _ref$step === void 0 ? {} : _ref$step;
|
|
168
|
+
|
|
169
|
+
var displayAxisType = min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;
|
|
170
|
+
var gridConfigFields = {
|
|
171
|
+
step: step,
|
|
172
|
+
labelStep: labelStep
|
|
173
|
+
};
|
|
174
|
+
var axisConfigFields = {
|
|
175
|
+
min: min,
|
|
176
|
+
max: max,
|
|
177
|
+
axisLabel: axisLabel
|
|
178
|
+
};
|
|
179
|
+
|
|
135
180
|
var onIncludeAxes = function onIncludeAxes(includeAxes) {
|
|
136
181
|
var noAxesConfig = function noAxesConfig(type) {
|
|
137
182
|
var axis = type === 'domain' ? domain : range;
|
|
@@ -171,7 +216,7 @@ var GridSetup = function GridSetup(props) {
|
|
|
171
216
|
};
|
|
172
217
|
|
|
173
218
|
var onSizeChanged = function onSizeChanged(key, value) {
|
|
174
|
-
var graph = _objectSpread(_objectSpread({}, size), {},
|
|
219
|
+
var graph = _objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, value));
|
|
175
220
|
|
|
176
221
|
if (standardGrid) {
|
|
177
222
|
graph.height = value;
|
|
@@ -206,6 +251,8 @@ var GridSetup = function GridSetup(props) {
|
|
|
206
251
|
className: classes.rowView
|
|
207
252
|
}, /*#__PURE__*/_react["default"].createElement(AxisConfig, {
|
|
208
253
|
classes: classes,
|
|
254
|
+
displayedFields: axisConfigFields,
|
|
255
|
+
displayHeader: displayAxisType,
|
|
209
256
|
type: "domain",
|
|
210
257
|
minValue: domain.min,
|
|
211
258
|
maxValue: domain.max,
|
|
@@ -214,6 +261,8 @@ var GridSetup = function GridSetup(props) {
|
|
|
214
261
|
onChange: onDomainChanged
|
|
215
262
|
}), /*#__PURE__*/_react["default"].createElement(AxisConfig, {
|
|
216
263
|
classes: classes,
|
|
264
|
+
displayedFields: axisConfigFields,
|
|
265
|
+
displayHeader: displayAxisType,
|
|
217
266
|
type: "range",
|
|
218
267
|
minValue: range.min,
|
|
219
268
|
maxValue: range.max,
|
|
@@ -221,28 +270,32 @@ var GridSetup = function GridSetup(props) {
|
|
|
221
270
|
disabled: standardGrid,
|
|
222
271
|
includeAxes: includeAxes,
|
|
223
272
|
onChange: onRangeChanged
|
|
224
|
-
})), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
273
|
+
})), (min.enabled || max.enabled) && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
225
274
|
className: classes.text
|
|
226
|
-
}, "If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
275
|
+
}, "If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value"), (step.enabled || labelStep.enabled) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
227
276
|
className: classes.rowView
|
|
228
277
|
}, /*#__PURE__*/_react["default"].createElement(GridConfig, {
|
|
229
278
|
classes: classes,
|
|
279
|
+
displayedFields: gridConfigFields,
|
|
230
280
|
gridValue: domain.step,
|
|
231
281
|
labelValue: domain.labelStep,
|
|
232
|
-
gridValues: gridValues,
|
|
233
|
-
labelValues: labelValues,
|
|
282
|
+
gridValues: gridValues.domain || [],
|
|
283
|
+
labelValues: labelValues.domain || [],
|
|
234
284
|
onChange: onDomainChanged
|
|
235
285
|
}), /*#__PURE__*/_react["default"].createElement(GridConfig, {
|
|
236
286
|
classes: classes,
|
|
237
287
|
disabled: standardGrid,
|
|
288
|
+
displayedFields: gridConfigFields,
|
|
238
289
|
gridValue: range.step,
|
|
239
290
|
labelValue: range.labelStep,
|
|
291
|
+
gridValues: gridValues.range || [],
|
|
292
|
+
labelValues: labelValues.range || [],
|
|
240
293
|
onChange: onRangeChanged
|
|
241
|
-
})), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
294
|
+
})), labelStep.enabled && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
242
295
|
className: classes.text
|
|
243
296
|
}, "For unnumbered gridlines, enter a label interval of 0"));
|
|
244
297
|
|
|
245
|
-
var gridlinesConfig = /*#__PURE__*/_react["default"].createElement("div", {
|
|
298
|
+
var gridlinesConfig = max.enabled ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
246
299
|
className: classes.columnView
|
|
247
300
|
}, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
248
301
|
className: classes.largeTextField,
|
|
@@ -265,8 +318,7 @@ var GridSetup = function GridSetup(props) {
|
|
|
265
318
|
onChange: function onChange(e, v) {
|
|
266
319
|
return onRangeChanged('max', v);
|
|
267
320
|
}
|
|
268
|
-
}));
|
|
269
|
-
|
|
321
|
+
})) : null;
|
|
270
322
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
271
323
|
className: classes.wrapper
|
|
272
324
|
}, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
|
|
@@ -275,11 +327,11 @@ var GridSetup = function GridSetup(props) {
|
|
|
275
327
|
variant: "subtitle1"
|
|
276
328
|
}, "Customize Grid Setup")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
277
329
|
className: classes.content
|
|
278
|
-
}, /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
330
|
+
}, includeAxesEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
279
331
|
label: "Include axes and labels?",
|
|
280
332
|
toggle: onIncludeAxes,
|
|
281
333
|
checked: includeAxes
|
|
282
|
-
}), /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
334
|
+
}), standardGridEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.Toggle, {
|
|
283
335
|
label: "Constrain to standard coordinate grid?",
|
|
284
336
|
toggle: onStandardGridChanged,
|
|
285
337
|
checked: standardGrid
|
|
@@ -287,7 +339,7 @@ var GridSetup = function GridSetup(props) {
|
|
|
287
339
|
className: classes.dimensions
|
|
288
340
|
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
|
|
289
341
|
className: classes.disabled
|
|
290
|
-
}, "Min
|
|
342
|
+
}, "Min ", sizeConstraints.min, ", Max ", sizeConstraints.max)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
|
|
291
343
|
className: classes.textField,
|
|
292
344
|
label: "Width",
|
|
293
345
|
value: size.width,
|
|
@@ -316,7 +368,7 @@ var GridSetup = function GridSetup(props) {
|
|
|
316
368
|
GridSetup.propTypes = {
|
|
317
369
|
classes: _propTypes["default"].object,
|
|
318
370
|
domain: _propTypes["default"].object,
|
|
319
|
-
|
|
371
|
+
displayedFields: _propTypes["default"].object,
|
|
320
372
|
gridValues: _propTypes["default"].object,
|
|
321
373
|
includeAxes: _propTypes["default"].bool,
|
|
322
374
|
labelValues: _propTypes["default"].object,
|
|
@@ -351,6 +403,10 @@ var styles = function styles(theme) {
|
|
|
351
403
|
width: '130px',
|
|
352
404
|
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
353
405
|
},
|
|
406
|
+
mediumTextField: {
|
|
407
|
+
width: '160px',
|
|
408
|
+
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
409
|
+
},
|
|
354
410
|
largeTextField: {
|
|
355
411
|
width: '230px',
|
|
356
412
|
margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
|
|
@@ -366,6 +422,9 @@ var styles = function styles(theme) {
|
|
|
366
422
|
},
|
|
367
423
|
disabled: {
|
|
368
424
|
color: _renderUi.color.disabled()
|
|
425
|
+
},
|
|
426
|
+
axisLabel: {
|
|
427
|
+
paddingTop: theme.spacing.unit * 2
|
|
369
428
|
}
|
|
370
429
|
};
|
|
371
430
|
};
|
package/lib/grid-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","labelValue","labelValues","gridValue","gridValues","onChange","columnView","textField","e","v","AxisConfig","label","maxValue","minValue","type","maxLength","style","textAlign","target","value","GridSetup","sizeConstraints","domain","dimensionsEnabled","includeAxes","range","size","standardGrid","gridProps","min","max","onIncludeAxes","noAxesConfig","axis","step","labelStep","updatedRange","updatedDomain","onStandardGridChanged","axisLabel","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color } 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 TextField from '@material-ui/core/TextField';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\n\nconst GridConfig = props => {\n const { classes, disabled, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n\n return (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Grid Interval\"\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Label Interval\"\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const { classes, disabled, label, maxValue, minValue, onChange, type } = props;\n\n return (\n <div className={classes.columnView}>\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Min Value\"\n value={minValue}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Max Value\"\n value={maxValue}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n <TextField\n label=\"Label\"\n value={label}\n inputProps={{\n maxLength: 5,\n style: { textAlign: 'center' }\n }}\n variant=\"outlined\"\n className={classes.textField}\n onChange={e => onChange('axisLabel', e.target.value)}\n />\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n sizeConstraints,\n domain,\n dimensionsEnabled,\n gridValues,\n includeAxes,\n labelValues,\n onChange,\n range,\n size,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\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 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 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 <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 <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues}\n labelValues={labelValues}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n gridValue={range.step}\n labelValue={range.labelStep}\n onChange={onRangeChanged}\n />\n </div>\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n </React.Fragment>\n );\n\n const gridlinesConfig = (\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 );\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 <Toggle label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>Min 150, Max 700</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 dimensionsEnabled: 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 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});\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":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;AAC1B,MACEC,OADF,GASID,KATJ,CACEC,OADF;AAAA,MAEEC,QAFF,GASIF,KATJ,CAEEE,QAFF;AAAA,MAGEC,eAHF,GASIH,KATJ,CAGEG,eAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,WALF,GASIL,KATJ,CAKEK,WALF;AAAA,MAMEC,SANF,GASIN,KATJ,CAMEM,SANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQEC,SARF,GASIR,KATJ,CAQEQ,QARF;AAUA,8BAAsCL,eAAtC,CAAQM,SAAR;AAAA,MAAQA,SAAR,sCAAoB,EAApB;AAAA,8BAAsCN,eAAtC,CAAwBO,IAAxB;AAAA,MAAwBA,IAAxB,sCAA+B,EAA/B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAET,OAAO,CAACU;AAAxB,KACGD,IAAI,IAAIA,IAAI,CAACE,OAAb,iBACC,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEX,OAAO,CAACY,eADrB;AAEE,IAAA,KAAK,EAAEH,IAAI,CAACI,KAAL,IAAc,EAFvB;AAGE,IAAA,KAAK,EAAER,SAHT;AAIE,IAAA,YAAY,EAAEC,UAJhB;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,QAAQ,EAAEL,QANZ;AAOE,IAAA,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;AAAA,aAAUR,SAAQ,CAAC,MAAD,EAASQ,CAAT,CAAlB;AAAA;AAPZ,IAFJ,EAYGP,SAAS,IAAIA,SAAS,CAACG,OAAvB,iBACC,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEX,OAAO,CAACY,eADrB;AAEE,IAAA,KAAK,EAAEJ,SAAS,CAACK,KAAV,IAAmB,EAF5B;AAGE,IAAA,KAAK,EAAEV,UAHT;AAIE,IAAA,YAAY,EAAEC,WAJhB;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,QAAQ,EAAEH,QANZ;AAOE,IAAA,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;AAAA,aAAUR,SAAQ,CAAC,WAAD,EAAcQ,CAAd,CAAlB;AAAA;AAPZ,IAbJ,CADF;AA0BD,CAvCD;;AAyCA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAjB,KAAK,EAAI;AAC1B,MACEC,OADF,GAUID,KAVJ,CACEC,OADF;AAAA,MAEEC,QAFF,GAUIF,KAVJ,CAEEE,QAFF;AAAA,MAGEC,eAHF,GAUIH,KAVJ,CAGEG,eAHF;AAAA,MAIEe,aAJF,GAUIlB,KAVJ,CAIEkB,aAJF;AAAA,MAKEJ,KALF,GAUId,KAVJ,CAKEc,KALF;AAAA,MAMEK,QANF,GAUInB,KAVJ,CAMEmB,QANF;AAAA,MAOEC,QAPF,GAUIpB,KAVJ,CAOEoB,QAPF;AAAA,MAQEZ,UARF,GAUIR,KAVJ,CAQEQ,QARF;AAAA,MASEa,IATF,GAUIrB,KAVJ,CASEqB,IATF;AAWA,8BAA+ClB,eAA/C,CAAQmB,SAAR;AAAA,MAAQA,SAAR,sCAAoB,EAApB;AAAA,6BAA+CnB,eAA/C,CAAwBoB,GAAxB;AAAA,MAAwBA,GAAxB,qCAA8B,EAA9B;AAAA,6BAA+CpB,eAA/C,CAAkCqB,GAAlC;AAAA,MAAkCA,GAAlC,qCAAwC,EAAxC;AACA,MAAMC,aAAa,GAAG,CACpB,MADoB,EAEpB,QAFoB,EAGpB,WAHoB,EAIpB,eAJoB,CAKpB;AALoB,GAAtB;AAQA,sBACE;AAAK,IAAA,SAAS,EAAExB,OAAO,CAACU;AAAxB,KACGO,aAAa,iBACZ,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC;AAApB,kBACE,2CAAIG,IAAI,KAAK,QAAT,GAAoB,GAApB,GAA0B,GAA9B,CADF,UAFJ,EAOGE,GAAG,IAAIA,GAAG,CAACX,OAAX,iBACC,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEX,OAAO,CAACY,eADrB;AAEE,IAAA,KAAK,EAAEU,GAAG,CAACT,KAAJ,IAAa,EAFtB;AAGE,IAAA,KAAK,EAAEM,QAHT;AAIE,IAAA,GAAG,EAAE,CAAC,KAJR;AAKE,IAAA,GAAG,EAAED,QAAQ,GAAG,IALlB;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAEjB,QAPZ;AAQE,IAAA,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;AAAA,aAAUR,UAAQ,CAAC,KAAD,EAAQQ,CAAR,CAAlB;AAAA;AARZ,IARJ,EAmBGQ,GAAG,IAAIA,GAAG,CAACZ,OAAX,iBACC,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEX,OAAO,CAACY,eADrB;AAEE,IAAA,KAAK,EAAEW,GAAG,CAACV,KAAJ,IAAa,EAFtB;AAGE,IAAA,KAAK,EAAEK,QAHT;AAIE,IAAA,GAAG,EAAEC,QAAQ,GAAG,IAJlB;AAKE,IAAA,GAAG,EAAE,KALP;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAElB,QAPZ;AAQE,IAAA,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;AAAA,aAAUR,UAAQ,CAAC,KAAD,EAAQQ,CAAR,CAAlB;AAAA;AARZ,IApBJ,EA+BGM,SAAS,IAAIA,SAAS,CAACV,OAAvB,iBACC,gCAAC,wBAAD;AAAgB,IAAA,KAAK,EAAEU,SAAS,CAACR,KAAV,IAAmB,EAA1C;AAA8C,IAAA,SAAS,EAAEb,OAAO,CAACY;AAAjE,kBACE,gCAAC,wBAAD;AACE,IAAA,SAAS,EAAEZ,OAAO,CAACqB,SADrB;AAEE,IAAA,QAAQ,EAAE,kBAAAI,KAAK;AAAA,aAAIlB,UAAQ,CAAC,WAAD,EAAckB,KAAd,CAAZ;AAAA,KAFjB;AAGE,IAAA,MAAM,EAAEZ,KAAK,IAAI,EAHnB;AAIE,IAAA,eAAe,EAAE,CAJnB;AAKE,IAAA,aAAa,EAAEW;AALjB,IADF,CAhCJ,CADF;AA6CD,CAlED;;AAoEA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAA3B,KAAK,EAAI;AACzB,MACEC,OADF,GAYID,KAZJ,CACEC,OADF;AAAA,MAEE2B,MAFF,GAYI5B,KAZJ,CAEE4B,MAFF;AAAA,8BAYI5B,KAZJ,CAGEG,eAHF;AAAA,MAGEA,eAHF,sCAGoB,EAHpB;AAAA,0BAYIH,KAZJ,CAIEO,UAJF;AAAA,MAIEA,UAJF,kCAIe,EAJf;AAAA,MAKEsB,WALF,GAYI7B,KAZJ,CAKE6B,WALF;AAAA,2BAYI7B,KAZJ,CAMEK,WANF;AAAA,MAMEA,WANF,mCAMgB,EANhB;AAAA,MAOEG,QAPF,GAYIR,KAZJ,CAOEQ,QAPF;AAAA,MAQEsB,KARF,GAYI9B,KAZJ,CAQE8B,KARF;AAAA,MASEC,IATF,GAYI/B,KAZJ,CASE+B,IATF;AAAA,MAUEC,eAVF,GAYIhC,KAZJ,CAUEgC,eAVF;AAAA,MAWEC,YAXF,GAYIjC,KAZJ,CAWEiC,YAXF;AAaA,MAAMC,SAAS,GAAG;AAAEX,IAAAA,GAAG,EAAE,CAAP;AAAUC,IAAAA,GAAG,EAAE;AAAf,GAAlB;;AACA,aASIrB,eAAe,IAAI,EATvB;AAAA,4BACEmB,SADF;AAAA,MACEA,SADF,+BACc,EADd;AAAA,MAEEa,iBAFF,QAEEA,iBAFF;AAAA,MAGEC,kBAHF,QAGEA,kBAHF;AAAA,4BAIE3B,SAJF;AAAA,MAIEA,SAJF,+BAIc,EAJd;AAAA,sBAKEc,GALF;AAAA,MAKEA,GALF,yBAKQ,EALR;AAAA,sBAMEC,GANF;AAAA,MAMEA,GANF,yBAMQ,EANR;AAAA,MAOEa,mBAPF,QAOEA,mBAPF;AAAA,uBAQE3B,IARF;AAAA,MAQEA,IARF,0BAQS,EART;;AAUA,MAAM4B,eAAe,GACnBf,GAAG,CAACX,OAAJ,IAAeY,GAAG,CAACZ,OAAnB,IAA8BU,SAAS,CAACV,OAAxC,IAAmDF,IAAI,CAACE,OAAxD,IAAmEH,SAAS,CAACG,OAD/E;AAEA,MAAM2B,gBAAgB,GAAG;AAAE7B,IAAAA,IAAI,EAAJA,IAAF;AAAQD,IAAAA,SAAS,EAATA;AAAR,GAAzB;AACA,MAAM+B,gBAAgB,GAAG;AAAEjB,IAAAA,GAAG,EAAHA,GAAF;AAAOC,IAAAA,GAAG,EAAHA,GAAP;AAAYF,IAAAA,SAAS,EAATA;AAAZ,GAAzB;;AAEA,MAAMmB,aAAa,GAAG,SAAhBA,aAAgB,CAAAZ,WAAW,EAAI;AACnC,QAAMa,YAAY,GAAG,SAAfA,YAAe,CAAArB,IAAI,EAAI;AAC3B,UAAMsB,IAAI,GAAGtB,IAAI,KAAK,QAAT,GAAoBO,MAApB,GAA6BE,KAA1C;AAEA,aAAO;AACLP,QAAAA,GAAG,EAAE,CADA;AAELC,QAAAA,GAAG,EAAEmB,IAAI,CAACnB,GAAL,GAAWU,SAAS,CAACX,GAArB,IAA4BoB,IAAI,CAACnB,GAAL,GAAWU,SAAS,CAACV,GAAjD,GAAuD,EAAvD,GAA4DmB,IAAI,CAACnB,GAFjE;AAGLd,QAAAA,IAAI,EAAE,CAHD;AAILD,QAAAA,SAAS,EAAE;AAJN,OAAP;AAMD,KATD;;AAWA,QAAMmC,YAAY,mCACbd,KADa,GAEZD,WAAW,GAAG;AAAEpB,MAAAA,SAAS,EAAE;AAAb,KAAH,GAAsBiC,YAAY,CAAC,OAAD,CAFjC,CAAlB;;AAIA,QAAMG,aAAa,mCACdjB,MADc,GAEbC,WAAW,GAAG;AAAEpB,MAAAA,SAAS,EAAE;AAAb,KAAH,GAAsBiC,YAAY,CAAC,QAAD,CAFhC,CAAnB;;AAKAlC,IAAAA,QAAQ,CAAC;AAAEqB,MAAAA,WAAW,EAAXA,WAAF;AAAeC,MAAAA,KAAK,EAAEc,YAAtB;AAAoChB,MAAAA,MAAM,EAAEiB;AAA5C,KAAD,CAAR;AACD,GAtBD;;AAwBA,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAApB,KAAK,EAAI;AACrClB,IAAAA,QAAQ,CAAC;AACPyB,MAAAA,YAAY,EAAEP,KADP;AAEPI,MAAAA,KAAK,kCACAF,MADA;AAEHN,QAAAA,SAAS,EAAEQ,KAAK,CAACR;AAFd,QAFE;AAMPyB,MAAAA,KAAK,kCACAhB,IADA;AAEHiB,QAAAA,MAAM,EAAEjB,IAAI,CAACkB;AAFV;AANE,KAAD,CAAR;AAWD,GAZD;;AAcA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAMzB,KAAN,EAAgB;AACpC,QAAMqB,KAAK,mCAAQhB,IAAR,4CAAeoB,GAAf,EAAqBzB,KAArB,EAAX;;AAEA,QAAIO,YAAJ,EAAkB;AAChBc,MAAAA,KAAK,CAACC,MAAN,GAAetB,KAAf;AACD;;AAEDlB,IAAAA,QAAQ,CAAC;AAAEuC,MAAAA,KAAK,EAALA;AAAF,KAAD,CAAR;AACD,GARD;;AAUA,MAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACD,GAAD,EAAMzB,KAAN,EAAgB;AACtCE,IAAAA,MAAM,CAACuB,GAAD,CAAN,GAAczB,KAAd;;AAEA,QAAIO,YAAY,IAAIkB,GAAG,KAAK,WAA5B,EAAyC;AACvCrB,MAAAA,KAAK,CAACqB,GAAD,CAAL,GAAazB,KAAb;AACD;;AAEDlB,IAAAA,QAAQ,CAAC;AAAEoB,MAAAA,MAAM,EAANA,MAAF;AAAUE,MAAAA,KAAK,EAALA;AAAV,KAAD,CAAR;AACD,GARD;;AAUA,MAAMuB,cAAc,GAAG,SAAjBA,cAAiB,CAACF,GAAD,EAAMzB,KAAN,EAAgB;AACrCI,IAAAA,KAAK,CAACqB,GAAD,CAAL,GAAazB,KAAb;AAEAlB,IAAAA,QAAQ,CAAC;AAAEsB,MAAAA,KAAK,EAALA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,MAAMwB,UAAU,gBACd,gCAAC,iBAAD,CAAO,QAAP,qBACE;AAAK,IAAA,SAAS,EAAErD,OAAO,CAACsD;AAAxB,kBACE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEtD,OADX;AAEE,IAAA,eAAe,EAAEuC,gBAFnB;AAGE,IAAA,aAAa,EAAEF,eAHjB;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAEV,MAAM,CAACL,GALnB;AAME,IAAA,QAAQ,EAAEK,MAAM,CAACJ,GANnB;AAOE,IAAA,KAAK,EAAEI,MAAM,CAACN,SAPhB;AAQE,IAAA,WAAW,EAAEO,WARf;AASE,IAAA,QAAQ,EAAEuB;AATZ,IADF,eAYE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEnD,OADX;AAEE,IAAA,eAAe,EAAEuC,gBAFnB;AAGE,IAAA,aAAa,EAAEF,eAHjB;AAIE,IAAA,IAAI,EAAC,OAJP;AAKE,IAAA,QAAQ,EAAER,KAAK,CAACP,GALlB;AAME,IAAA,QAAQ,EAAEO,KAAK,CAACN,GANlB;AAOE,IAAA,KAAK,EAAEM,KAAK,CAACR,SAPf;AAQE,IAAA,QAAQ,EAAEW,YARZ;AASE,IAAA,WAAW,EAAEJ,WATf;AAUE,IAAA,QAAQ,EAAEwB;AAVZ,IAZF,CADF,EA0BG,CAAC9B,GAAG,CAACX,OAAJ,IAAeY,GAAG,CAACZ,OAApB,kBACC,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEX,OAAO,CAACuD;AAA/B,sGA3BJ,EAgCG,CAAC9C,IAAI,CAACE,OAAL,IAAgBH,SAAS,CAACG,OAA3B,kBACC;AAAK,IAAA,SAAS,EAAEX,OAAO,CAACsD;AAAxB,kBACE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEtD,OADX;AAEE,IAAA,eAAe,EAAEsC,gBAFnB;AAGE,IAAA,SAAS,EAAEX,MAAM,CAAClB,IAHpB;AAIE,IAAA,UAAU,EAAEkB,MAAM,CAACnB,SAJrB;AAKE,IAAA,UAAU,EAAEF,UAAU,CAACqB,MAAX,IAAqB,EALnC;AAME,IAAA,WAAW,EAAEvB,WAAW,CAACuB,MAAZ,IAAsB,EANrC;AAOE,IAAA,QAAQ,EAAEwB;AAPZ,IADF,eAUE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEnD,OADX;AAEE,IAAA,QAAQ,EAAEgC,YAFZ;AAGE,IAAA,eAAe,EAAEM,gBAHnB;AAIE,IAAA,SAAS,EAAET,KAAK,CAACpB,IAJnB;AAKE,IAAA,UAAU,EAAEoB,KAAK,CAACrB,SALpB;AAME,IAAA,UAAU,EAAEF,UAAU,CAACuB,KAAX,IAAoB,EANlC;AAOE,IAAA,WAAW,EAAEzB,WAAW,CAACyB,KAAZ,IAAqB,EAPpC;AAQE,IAAA,QAAQ,EAAEuB;AARZ,IAVF,CAjCJ,EAuDG5C,SAAS,CAACG,OAAV,iBACC,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEX,OAAO,CAACuD;AAA/B,6DAxDJ,CADF;;AAgEA,MAAMC,eAAe,GAAGjC,GAAG,CAACZ,OAAJ,gBACtB;AAAK,IAAA,SAAS,EAAEX,OAAO,CAACU;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEV,OAAO,CAACyD,cADrB;AAEE,IAAA,KAAK,EAAC,gCAFR;AAGE,IAAA,KAAK,EAAE9B,MAAM,CAACJ,GAHhB;AAIE,IAAA,GAAG,EAAE,CAACK,WAAD,IAAgBK,SAAS,CAACX,GAJjC;AAKE,IAAA,GAAG,EAAE,CAACM,WAAD,IAAgBK,SAAS,CAACV,GALjC;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAE,kBAACT,CAAD,EAAIC,CAAJ;AAAA,aAAUoC,eAAe,CAAC,KAAD,EAAQpC,CAAR,CAAzB;AAAA;AAPZ,IADF,eAUE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEf,OAAO,CAACyD,cADrB;AAEE,IAAA,KAAK,EAAC,8BAFR;AAGE,IAAA,KAAK,EAAE5B,KAAK,CAACN,GAHf;AAIE,IAAA,GAAG,EAAE,CAACK,WAAD,IAAgBK,SAAS,CAACX,GAJjC;AAKE,IAAA,GAAG,EAAE,CAACM,WAAD,IAAgBK,SAAS,CAACV,GALjC;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAES,YAPZ;AAQE,IAAA,QAAQ,EAAE,kBAAClB,CAAD,EAAIC,CAAJ;AAAA,aAAUqC,cAAc,CAAC,KAAD,EAAQrC,CAAR,CAAxB;AAAA;AARZ,IAVF,CADsB,GAsBpB,IAtBJ;AAwBA,sBACE;AAAK,IAAA,SAAS,EAAEf,OAAO,CAAC0D;AAAxB,kBACE,gCAAC,0BAAD,qBACE,gCAAC,iCAAD;AAAuB,IAAA,UAAU,eAAE,gCAAC,sBAAD;AAAnC,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC;AAApB,4BADF,CADF,eAIE,gCAAC,iCAAD,qBACE;AAAK,IAAA,SAAS,EAAE1D,OAAO,CAAC2D;AAAxB,KACGxB,kBAAkB,iBACjB,gCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,0BADR;AAEE,IAAA,MAAM,EAAEK,aAFV;AAGE,IAAA,OAAO,EAAEZ;AAHX,IAFJ,EAQGQ,mBAAmB,iBAClB,gCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,wCADR;AAEE,IAAA,MAAM,EAAES,qBAFV;AAGE,IAAA,OAAO,EAAEb;AAHX,IATJ,EAeGJ,WAAW,GAAGyB,UAAH,GAAgBG,eAf9B,EAgBGtB,iBAAiB,iBAChB;AAAK,IAAA,SAAS,EAAElC,OAAO,CAAC4D;AAAxB,kBACE,0DACE,gCAAC,sBAAD,yBADF,eAEE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAE5D,OAAO,CAACC;AAA/B,aACO8B,eAAe,CAACT,GADvB,YACkCS,eAAe,CAACR,GADlD,CAFF,CADF,eAOE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEvB,OAAO,CAAC6D,SADrB;AAEE,IAAA,KAAK,EAAC,OAFR;AAGE,IAAA,KAAK,EAAE/B,IAAI,CAACkB,KAHd;AAIE,IAAA,GAAG,EAAEjB,eAAe,CAACT,GAJvB;AAKE,IAAA,GAAG,EAAES,eAAe,CAACR,GALvB;AAME,IAAA,IAAI,EAAEQ,eAAe,CAACtB,IANxB;AAOE,IAAA,OAAO,EAAC,UAPV;AAQE,IAAA,QAAQ,EAAE,kBAACK,CAAD,EAAIC,CAAJ;AAAA,aAAUkC,aAAa,CAAC,OAAD,EAAUlC,CAAV,CAAvB;AAAA;AARZ,IAPF,eAiBE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEf,OAAO,CAAC6D,SADrB;AAEE,IAAA,KAAK,EAAC,QAFR;AAGE,IAAA,KAAK,EAAE/B,IAAI,CAACiB,MAHd;AAIE,IAAA,GAAG,EAAEhB,eAAe,CAACT,GAJvB;AAKE,IAAA,GAAG,EAAES,eAAe,CAACR,GALvB;AAME,IAAA,IAAI,EAAEQ,eAAe,CAACtB,IANxB;AAOE,IAAA,OAAO,EAAC,UAPV;AAQE,IAAA,QAAQ,EAAEuB,YARZ;AASE,IAAA,QAAQ,EAAE,kBAAClB,CAAD,EAAIC,CAAJ;AAAA,aAAUkC,aAAa,CAAC,QAAD,EAAWlC,CAAX,CAAvB;AAAA;AATZ,IAjBF,CAjBJ,CADF,CAJF,CADF,CADF;AA2DD,CAjPD;;AAmPAW,SAAS,CAACoC,SAAV,GAAsB;AACpB9D,EAAAA,OAAO,EAAE+D,sBAAUC,MADC;AAEpBrC,EAAAA,MAAM,EAAEoC,sBAAUC,MAFE;AAGpB9D,EAAAA,eAAe,EAAE6D,sBAAUC,MAHP;AAIpB1D,EAAAA,UAAU,EAAEyD,sBAAUC,MAJF;AAKpBpC,EAAAA,WAAW,EAAEmC,sBAAUE,IALH;AAMpB7D,EAAAA,WAAW,EAAE2D,sBAAUC,MANH;AAOpBzD,EAAAA,QAAQ,EAAEwD,iCAPU;AAQpBlC,EAAAA,KAAK,EAAEkC,sBAAUC,MARG;AASpBlC,EAAAA,IAAI,EAAEiC,sBAAUC,MATI;AAUpBjC,EAAAA,eAAe,EAAEgC,sBAAUC,MAVP;AAWpBhC,EAAAA,YAAY,EAAE+B,sBAAUE;AAXJ,CAAtB;;AAcA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBT,IAAAA,OAAO,EAAE;AACPV,MAAAA,KAAK,EAAE;AADA,KADc;AAIvBW,IAAAA,OAAO,EAAE;AACPS,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,aAAa,EAAE,QAFR;AAGPrB,MAAAA,KAAK,EAAE;AAHA,KAJc;AASvBtC,IAAAA,UAAU,EAAE;AACV0D,MAAAA,OAAO,EAAE,MADC;AAEVC,MAAAA,aAAa,EAAE,QAFL;AAGVC,MAAAA,UAAU,EAAE;AAHF,KATW;AAcvBhB,IAAAA,OAAO,EAAE;AACPc,MAAAA,OAAO,EAAE,MADF;AAEPG,MAAAA,cAAc,EAAE,cAFT;AAGPD,MAAAA,UAAU,EAAE;AAHL,KAdc;AAmBvBT,IAAAA,SAAS,EAAE;AACTb,MAAAA,KAAK,EAAE,OADE;AAETwB,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFG,KAnBY;AAuBvB9D,IAAAA,eAAe,EAAE;AACfoC,MAAAA,KAAK,EAAE,OADQ;AAEfwB,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFS,KAvBM;AA2BvBjB,IAAAA,cAAc,EAAE;AACdT,MAAAA,KAAK,EAAE,OADO;AAEdwB,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFQ,KA3BO;AA+BvBnB,IAAAA,IAAI,EAAE;AACJoB,MAAAA,SAAS,EAAE,QADP;AAEJH,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB;AAFF,KA/BiB;AAmCvBd,IAAAA,UAAU,EAAE;AACVQ,MAAAA,OAAO,EAAE,MADC;AAEVG,MAAAA,cAAc,EAAE,eAFN;AAGVD,MAAAA,UAAU,EAAE;AAHF,KAnCW;AAwCvBrE,IAAAA,QAAQ,EAAE;AACR2E,MAAAA,KAAK,EAAEA,gBAAM3E,QAAN;AADC,KAxCa;AA2CvBoB,IAAAA,SAAS,EAAE;AACTwD,MAAAA,UAAU,EAAEV,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB;AADxB;AA3CY,GAAL;AAAA,CAApB;;eAgDe,wBAAWR,MAAX,EAAmBxC,SAAnB,C","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"}
|