@pie-lib/graphing 2.6.2 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.6.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.6.2...@pie-lib/graphing@2.6.3) (2022-06-13)
7
+
8
+ **Note:** Version bump only for package @pie-lib/graphing
9
+
10
+
11
+
12
+
13
+
6
14
  ## [2.6.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/graphing@2.6.1...@pie-lib/graphing@2.6.2) (2022-05-30)
7
15
 
8
16
 
package/lib/grid-setup.js CHANGED
@@ -23,10 +23,10 @@ var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/Expansio
23
23
 
24
24
  var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
25
25
 
26
- var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
27
-
28
26
  var _configUi = require("@pie-lib/config-ui");
29
27
 
28
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
29
+
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
31
 
32
32
  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; }
@@ -46,7 +46,7 @@ var GridConfig = function GridConfig(props) {
46
46
  return /*#__PURE__*/_react["default"].createElement("div", {
47
47
  className: classes.columnView
48
48
  }, /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
49
- className: classes.textField,
49
+ className: classes.mediumTextField,
50
50
  label: "Grid Interval",
51
51
  value: gridValue,
52
52
  customValues: gridValues,
@@ -56,7 +56,7 @@ var GridConfig = function GridConfig(props) {
56
56
  return _onChange('step', v);
57
57
  }
58
58
  }), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
59
- className: classes.textField,
59
+ className: classes.mediumTextField,
60
60
  label: "Label Interval",
61
61
  value: labelValue,
62
62
  customValues: labelValues,
@@ -76,56 +76,61 @@ var AxisConfig = function AxisConfig(props) {
76
76
  minValue = props.minValue,
77
77
  _onChange2 = props.onChange,
78
78
  type = props.type;
79
+ var activePlugins = ['bold', 'italic', 'underline', 'strikethrough' // 'languageCharacters'
80
+ ];
79
81
  return /*#__PURE__*/_react["default"].createElement("div", {
80
82
  className: classes.columnView
81
83
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
82
84
  variant: "subtitle2"
83
85
  }, /*#__PURE__*/_react["default"].createElement("i", null, type === 'domain' ? 'x' : 'y'), "-axis"), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
84
- className: classes.textField,
86
+ className: classes.mediumTextField,
85
87
  label: "Min Value",
86
88
  value: minValue,
89
+ min: -10000,
90
+ max: maxValue - 0.01,
87
91
  variant: "outlined",
88
92
  disabled: disabled,
89
93
  onChange: function onChange(e, v) {
90
94
  return _onChange2('min', v);
91
95
  }
92
96
  }), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
93
- className: classes.textField,
97
+ className: classes.mediumTextField,
94
98
  label: "Max Value",
95
99
  value: maxValue,
100
+ min: minValue + 0.01,
101
+ max: 10000,
96
102
  variant: "outlined",
97
103
  disabled: disabled,
98
104
  onChange: function onChange(e, v) {
99
105
  return _onChange2('max', v);
100
106
  }
101
- }), /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
107
+ }), /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
102
108
  label: "Label",
103
- value: label,
104
- inputProps: {
105
- maxLength: 5,
106
- style: {
107
- textAlign: 'center'
108
- }
109
+ className: classes.mediumTextField
110
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
111
+ className: classes.axisLabel,
112
+ onChange: function onChange(value) {
113
+ return _onChange2('axisLabel', value);
109
114
  },
110
- variant: "outlined",
111
- className: classes.textField,
112
- onChange: function onChange(e) {
113
- return _onChange2('axisLabel', e.target.value);
114
- }
115
- }));
115
+ markup: label || '',
116
+ charactersLimit: 5,
117
+ activePlugins: activePlugins
118
+ })));
116
119
  };
117
120
 
118
121
  var GridSetup = function GridSetup(props) {
119
122
  var classes = props.classes,
120
- sizeConstraints = props.sizeConstraints,
121
123
  domain = props.domain,
122
124
  dimensionsEnabled = props.dimensionsEnabled,
123
- gridValues = props.gridValues,
125
+ _props$gridValues = props.gridValues,
126
+ gridValues = _props$gridValues === void 0 ? {} : _props$gridValues,
124
127
  includeAxes = props.includeAxes,
125
- labelValues = props.labelValues,
128
+ _props$labelValues = props.labelValues,
129
+ labelValues = _props$labelValues === void 0 ? {} : _props$labelValues,
126
130
  onChange = props.onChange,
127
131
  range = props.range,
128
132
  size = props.size,
133
+ sizeConstraints = props.sizeConstraints,
129
134
  standardGrid = props.standardGrid;
130
135
  var gridProps = {
131
136
  min: 2,
@@ -229,14 +234,16 @@ var GridSetup = function GridSetup(props) {
229
234
  classes: classes,
230
235
  gridValue: domain.step,
231
236
  labelValue: domain.labelStep,
232
- gridValues: gridValues,
233
- labelValues: labelValues,
237
+ gridValues: gridValues.domain || [],
238
+ labelValues: labelValues.domain || [],
234
239
  onChange: onDomainChanged
235
240
  }), /*#__PURE__*/_react["default"].createElement(GridConfig, {
236
241
  classes: classes,
237
242
  disabled: standardGrid,
238
243
  gridValue: range.step,
239
244
  labelValue: range.labelStep,
245
+ gridValues: gridValues.range || [],
246
+ labelValues: labelValues.range || [],
240
247
  onChange: onRangeChanged
241
248
  })), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
242
249
  className: classes.text
@@ -287,7 +294,7 @@ var GridSetup = function GridSetup(props) {
287
294
  className: classes.dimensions
288
295
  }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, "Dimensions(px)"), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
289
296
  className: classes.disabled
290
- }, "Min 150, Max 700")), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
297
+ }, "Min ", sizeConstraints.min, ", Max ", sizeConstraints.max)), /*#__PURE__*/_react["default"].createElement(_configUi.NumberTextFieldCustom, {
291
298
  className: classes.textField,
292
299
  label: "Width",
293
300
  value: size.width,
@@ -351,6 +358,10 @@ var styles = function styles(theme) {
351
358
  width: '130px',
352
359
  margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
353
360
  },
361
+ mediumTextField: {
362
+ width: '160px',
363
+ margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
364
+ },
354
365
  largeTextField: {
355
366
  width: '230px',
356
367
  margin: "".concat(theme.spacing.unit, "px ").concat(theme.spacing.unit / 2, "px")
@@ -366,6 +377,9 @@ var styles = function styles(theme) {
366
377
  },
367
378
  disabled: {
368
379
  color: _renderUi.color.disabled()
380
+ },
381
+ axisLabel: {
382
+ paddingTop: theme.spacing.unit * 2
369
383
  }
370
384
  };
371
385
  };
@@ -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":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;AAC1B,MAAQC,OAAR,GAAwFD,KAAxF,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAAwFF,KAAxF,CAAiBE,QAAjB;AAAA,MAA2BC,UAA3B,GAAwFH,KAAxF,CAA2BG,UAA3B;AAAA,MAAuCC,WAAvC,GAAwFJ,KAAxF,CAAuCI,WAAvC;AAAA,MAAoDC,SAApD,GAAwFL,KAAxF,CAAoDK,SAApD;AAAA,MAA+DC,UAA/D,GAAwFN,KAAxF,CAA+DM,UAA/D;AAAA,MAA2EC,SAA3E,GAAwFP,KAAxF,CAA2EO,QAA3E;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEN,OAAO,CAACO;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEP,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,eAFR;AAGE,IAAA,KAAK,EAAEJ,SAHT;AAIE,IAAA,YAAY,EAAEC,UAJhB;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,QAAQ,EAAEJ,QANZ;AAOE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUJ,SAAQ,CAAC,MAAD,EAASI,CAAT,CAAlB;AAAA;AAPZ,IADF,eAUE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEV,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,gBAFR;AAGE,IAAA,KAAK,EAAEN,UAHT;AAIE,IAAA,YAAY,EAAEC,WAJhB;AAKE,IAAA,OAAO,EAAC,UALV;AAME,IAAA,QAAQ,EAAEF,QANZ;AAOE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUJ,SAAQ,CAAC,WAAD,EAAcI,CAAd,CAAlB;AAAA;AAPZ,IAVF,CADF;AAsBD,CAzBD;;AA2BA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAZ,KAAK,EAAI;AAC1B,MAAQC,OAAR,GAAyED,KAAzE,CAAQC,OAAR;AAAA,MAAiBC,QAAjB,GAAyEF,KAAzE,CAAiBE,QAAjB;AAAA,MAA2BW,KAA3B,GAAyEb,KAAzE,CAA2Ba,KAA3B;AAAA,MAAkCC,QAAlC,GAAyEd,KAAzE,CAAkCc,QAAlC;AAAA,MAA4CC,QAA5C,GAAyEf,KAAzE,CAA4Ce,QAA5C;AAAA,MAAsDR,UAAtD,GAAyEP,KAAzE,CAAsDO,QAAtD;AAAA,MAAgES,IAAhE,GAAyEhB,KAAzE,CAAgEgB,IAAhE;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEf,OAAO,CAACO;AAAxB,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC;AAApB,kBACE,2CAAIQ,IAAI,KAAK,QAAT,GAAoB,GAApB,GAA0B,GAA9B,CADF,UADF,eAKE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEf,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,WAFR;AAGE,IAAA,KAAK,EAAEM,QAHT;AAIE,IAAA,OAAO,EAAC,UAJV;AAKE,IAAA,QAAQ,EAAEb,QALZ;AAME,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUJ,UAAQ,CAAC,KAAD,EAAQI,CAAR,CAAlB;AAAA;AANZ,IALF,eAaE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEV,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,WAFR;AAGE,IAAA,KAAK,EAAEK,QAHT;AAIE,IAAA,OAAO,EAAC,UAJV;AAKE,IAAA,QAAQ,EAAEZ,QALZ;AAME,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUJ,UAAQ,CAAC,KAAD,EAAQI,CAAR,CAAlB;AAAA;AANZ,IAbF,eAqBE,gCAAC,qBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,KAAK,EAAEE,KAFT;AAGE,IAAA,UAAU,EAAE;AACVI,MAAAA,SAAS,EAAE,CADD;AAEVC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,SAAS,EAAE;AAAb;AAFG,KAHd;AAOE,IAAA,OAAO,EAAC,UAPV;AAQE,IAAA,SAAS,EAAElB,OAAO,CAACQ,SARrB;AASE,IAAA,QAAQ,EAAE,kBAAAC,CAAC;AAAA,aAAIH,UAAQ,CAAC,WAAD,EAAcG,CAAC,CAACU,MAAF,CAASC,KAAvB,CAAZ;AAAA;AATb,IArBF,CADF;AAmCD,CAtCD;;AAwCA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAtB,KAAK,EAAI;AACzB,MACEC,OADF,GAYID,KAZJ,CACEC,OADF;AAAA,MAEEsB,eAFF,GAYIvB,KAZJ,CAEEuB,eAFF;AAAA,MAGEC,MAHF,GAYIxB,KAZJ,CAGEwB,MAHF;AAAA,MAIEC,iBAJF,GAYIzB,KAZJ,CAIEyB,iBAJF;AAAA,MAKEnB,UALF,GAYIN,KAZJ,CAKEM,UALF;AAAA,MAMEoB,WANF,GAYI1B,KAZJ,CAME0B,WANF;AAAA,MAOEtB,WAPF,GAYIJ,KAZJ,CAOEI,WAPF;AAAA,MAQEG,QARF,GAYIP,KAZJ,CAQEO,QARF;AAAA,MASEoB,KATF,GAYI3B,KAZJ,CASE2B,KATF;AAAA,MAUEC,IAVF,GAYI5B,KAZJ,CAUE4B,IAVF;AAAA,MAWEC,YAXF,GAYI7B,KAZJ,CAWE6B,YAXF;AAaA,MAAMC,SAAS,GAAG;AAAEC,IAAAA,GAAG,EAAE,CAAP;AAAUC,IAAAA,GAAG,EAAE;AAAf,GAAlB;;AAEA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAP,WAAW,EAAI;AACnC,QAAMQ,YAAY,GAAG,SAAfA,YAAe,CAAAlB,IAAI,EAAI;AAC3B,UAAMmB,IAAI,GAAGnB,IAAI,KAAK,QAAT,GAAoBQ,MAApB,GAA6BG,KAA1C;AAEA,aAAO;AACLI,QAAAA,GAAG,EAAE,CADA;AAELC,QAAAA,GAAG,EAAEG,IAAI,CAACH,GAAL,GAAWF,SAAS,CAACC,GAArB,IAA4BI,IAAI,CAACH,GAAL,GAAWF,SAAS,CAACE,GAAjD,GAAuD,EAAvD,GAA4DG,IAAI,CAACH,GAFjE;AAGLI,QAAAA,IAAI,EAAE,CAHD;AAILC,QAAAA,SAAS,EAAE;AAJN,OAAP;AAMD,KATD;;AAWA,QAAMC,YAAY,mCACbX,KADa,GAEZD,WAAW,GAAG;AAAEW,MAAAA,SAAS,EAAE;AAAb,KAAH,GAAsBH,YAAY,CAAC,OAAD,CAFjC,CAAlB;;AAIA,QAAMK,aAAa,mCACdf,MADc,GAEbE,WAAW,GAAG;AAAEW,MAAAA,SAAS,EAAE;AAAb,KAAH,GAAsBH,YAAY,CAAC,QAAD,CAFhC,CAAnB;;AAKA3B,IAAAA,QAAQ,CAAC;AAAEmB,MAAAA,WAAW,EAAXA,WAAF;AAAeC,MAAAA,KAAK,EAAEW,YAAtB;AAAoCd,MAAAA,MAAM,EAAEe;AAA5C,KAAD,CAAR;AACD,GAtBD;;AAwBA,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAnB,KAAK,EAAI;AACrCd,IAAAA,QAAQ,CAAC;AACPsB,MAAAA,YAAY,EAAER,KADP;AAEPM,MAAAA,KAAK,kCACAH,MADA;AAEHiB,QAAAA,SAAS,EAAEd,KAAK,CAACc;AAFd,QAFE;AAMPC,MAAAA,KAAK,kCACAd,IADA;AAEHe,QAAAA,MAAM,EAAEf,IAAI,CAACgB;AAFV;AANE,KAAD,CAAR;AAWD,GAZD;;AAcA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAMzB,KAAN,EAAgB;AACpC,QAAMqB,KAAK,mCAAQd,IAAR,2BAAekB,GAAf,EAAqBzB,KAArB,EAAX;;AAEA,QAAIQ,YAAJ,EAAkB;AAChBa,MAAAA,KAAK,CAACC,MAAN,GAAetB,KAAf;AACD;;AAEDd,IAAAA,QAAQ,CAAC;AAAEmC,MAAAA,KAAK,EAALA;AAAF,KAAD,CAAR;AACD,GARD;;AAUA,MAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACD,GAAD,EAAMzB,KAAN,EAAgB;AACtCG,IAAAA,MAAM,CAACsB,GAAD,CAAN,GAAczB,KAAd;;AAEA,QAAIQ,YAAY,IAAIiB,GAAG,KAAK,WAA5B,EAAyC;AACvCnB,MAAAA,KAAK,CAACmB,GAAD,CAAL,GAAazB,KAAb;AACD;;AAEDd,IAAAA,QAAQ,CAAC;AAAEiB,MAAAA,MAAM,EAANA,MAAF;AAAUG,MAAAA,KAAK,EAALA;AAAV,KAAD,CAAR;AACD,GARD;;AAUA,MAAMqB,cAAc,GAAG,SAAjBA,cAAiB,CAACF,GAAD,EAAMzB,KAAN,EAAgB;AACrCM,IAAAA,KAAK,CAACmB,GAAD,CAAL,GAAazB,KAAb;AAEAd,IAAAA,QAAQ,CAAC;AAAEoB,MAAAA,KAAK,EAALA;AAAF,KAAD,CAAR;AACD,GAJD;;AAMA,MAAMsB,UAAU,gBACd,gCAAC,iBAAD,CAAO,QAAP,qBACE;AAAK,IAAA,SAAS,EAAEhD,OAAO,CAACiD;AAAxB,kBACE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEjD,OADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,QAAQ,EAAEuB,MAAM,CAACO,GAHnB;AAIE,IAAA,QAAQ,EAAEP,MAAM,CAACQ,GAJnB;AAKE,IAAA,KAAK,EAAER,MAAM,CAACiB,SALhB;AAME,IAAA,WAAW,EAAEf,WANf;AAOE,IAAA,QAAQ,EAAEqB;AAPZ,IADF,eAUE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAE9C,OADX;AAEE,IAAA,IAAI,EAAC,OAFP;AAGE,IAAA,QAAQ,EAAE0B,KAAK,CAACI,GAHlB;AAIE,IAAA,QAAQ,EAAEJ,KAAK,CAACK,GAJlB;AAKE,IAAA,KAAK,EAAEL,KAAK,CAACc,SALf;AAME,IAAA,QAAQ,EAAEZ,YANZ;AAOE,IAAA,WAAW,EAAEH,WAPf;AAQE,IAAA,QAAQ,EAAEsB;AARZ,IAVF,CADF,eAsBE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAE/C,OAAO,CAACkD;AAA/B,sGAtBF,eA0BE;AAAK,IAAA,SAAS,EAAElD,OAAO,CAACiD;AAAxB,kBACE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAEjD,OADX;AAEE,IAAA,SAAS,EAAEuB,MAAM,CAACY,IAFpB;AAGE,IAAA,UAAU,EAAEZ,MAAM,CAACa,SAHrB;AAIE,IAAA,UAAU,EAAE/B,UAJd;AAKE,IAAA,WAAW,EAAEF,WALf;AAME,IAAA,QAAQ,EAAE2C;AANZ,IADF,eASE,gCAAC,UAAD;AACE,IAAA,OAAO,EAAE9C,OADX;AAEE,IAAA,QAAQ,EAAE4B,YAFZ;AAGE,IAAA,SAAS,EAAEF,KAAK,CAACS,IAHnB;AAIE,IAAA,UAAU,EAAET,KAAK,CAACU,SAJpB;AAKE,IAAA,QAAQ,EAAEW;AALZ,IATF,CA1BF,eA2CE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAE/C,OAAO,CAACkD;AAA/B,6DA3CF,CADF;;AAkDA,MAAMC,eAAe,gBACnB;AAAK,IAAA,SAAS,EAAEnD,OAAO,CAACO;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEP,OAAO,CAACoD,cADrB;AAEE,IAAA,KAAK,EAAC,gCAFR;AAGE,IAAA,KAAK,EAAE7B,MAAM,CAACQ,GAHhB;AAIE,IAAA,GAAG,EAAE,CAACN,WAAD,IAAgBI,SAAS,CAACC,GAJjC;AAKE,IAAA,GAAG,EAAE,CAACL,WAAD,IAAgBI,SAAS,CAACE,GALjC;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAE,kBAACtB,CAAD,EAAIC,CAAJ;AAAA,aAAUoC,eAAe,CAAC,KAAD,EAAQpC,CAAR,CAAzB;AAAA;AAPZ,IADF,eAUE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEV,OAAO,CAACoD,cADrB;AAEE,IAAA,KAAK,EAAC,8BAFR;AAGE,IAAA,KAAK,EAAE1B,KAAK,CAACK,GAHf;AAIE,IAAA,GAAG,EAAE,CAACN,WAAD,IAAgBI,SAAS,CAACC,GAJjC;AAKE,IAAA,GAAG,EAAE,CAACL,WAAD,IAAgBI,SAAS,CAACE,GALjC;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAEH,YAPZ;AAQE,IAAA,QAAQ,EAAE,kBAACnB,CAAD,EAAIC,CAAJ;AAAA,aAAUqC,cAAc,CAAC,KAAD,EAAQrC,CAAR,CAAxB;AAAA;AARZ,IAVF,CADF;;AAwBA,sBACE;AAAK,IAAA,SAAS,EAAEV,OAAO,CAACqD;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,EAAErD,OAAO,CAACsD;AAAxB,kBACE,gCAAC,gBAAD;AAAQ,IAAA,KAAK,EAAC,0BAAd;AAAyC,IAAA,MAAM,EAAEtB,aAAjD;AAAgE,IAAA,OAAO,EAAEP;AAAzE,IADF,eAEE,gCAAC,gBAAD;AACE,IAAA,KAAK,EAAC,wCADR;AAEE,IAAA,MAAM,EAAEc,qBAFV;AAGE,IAAA,OAAO,EAAEX;AAHX,IAFF,EAOGH,WAAW,GAAGuB,UAAH,GAAgBG,eAP9B,EAQG3B,iBAAiB,iBAChB;AAAK,IAAA,SAAS,EAAExB,OAAO,CAACuD;AAAxB,kBACE,0DACE,gCAAC,sBAAD,yBADF,eAEE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAEvD,OAAO,CAACC;AAA/B,wBAFF,CADF,eAKE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAED,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,OAFR;AAGE,IAAA,KAAK,EAAEmB,IAAI,CAACgB,KAHd;AAIE,IAAA,GAAG,EAAErB,eAAe,CAACQ,GAJvB;AAKE,IAAA,GAAG,EAAER,eAAe,CAACS,GALvB;AAME,IAAA,IAAI,EAAET,eAAe,CAACa,IANxB;AAOE,IAAA,OAAO,EAAC,UAPV;AAQE,IAAA,QAAQ,EAAE,kBAAC1B,CAAD,EAAIC,CAAJ;AAAA,aAAUkC,aAAa,CAAC,OAAD,EAAUlC,CAAV,CAAvB;AAAA;AARZ,IALF,eAeE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAEV,OAAO,CAACQ,SADrB;AAEE,IAAA,KAAK,EAAC,QAFR;AAGE,IAAA,KAAK,EAAEmB,IAAI,CAACe,MAHd;AAIE,IAAA,GAAG,EAAEpB,eAAe,CAACQ,GAJvB;AAKE,IAAA,GAAG,EAAER,eAAe,CAACS,GALvB;AAME,IAAA,IAAI,EAAET,eAAe,CAACa,IANxB;AAOE,IAAA,OAAO,EAAC,UAPV;AAQE,IAAA,QAAQ,EAAEP,YARZ;AASE,IAAA,QAAQ,EAAE,kBAACnB,CAAD,EAAIC,CAAJ;AAAA,aAAUkC,aAAa,CAAC,QAAD,EAAWlC,CAAX,CAAvB;AAAA;AATZ,IAfF,CATJ,CADF,CAJF,CADF,CADF;AAiDD,CA3MD;;AA6MAW,SAAS,CAACmC,SAAV,GAAsB;AACpBxD,EAAAA,OAAO,EAAEyD,sBAAUC,MADC;AAEpBnC,EAAAA,MAAM,EAAEkC,sBAAUC,MAFE;AAGpBlC,EAAAA,iBAAiB,EAAEiC,sBAAUC,MAHT;AAIpBrD,EAAAA,UAAU,EAAEoD,sBAAUC,MAJF;AAKpBjC,EAAAA,WAAW,EAAEgC,sBAAUE,IALH;AAMpBxD,EAAAA,WAAW,EAAEsD,sBAAUC,MANH;AAOpBpD,EAAAA,QAAQ,EAAEmD,iCAPU;AAQpB/B,EAAAA,KAAK,EAAE+B,sBAAUC,MARG;AASpB/B,EAAAA,IAAI,EAAE8B,sBAAUC,MATI;AAUpBpC,EAAAA,eAAe,EAAEmC,sBAAUC,MAVP;AAWpB9B,EAAAA,YAAY,EAAE6B,sBAAUE;AAXJ,CAAtB;;AAcA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBR,IAAAA,OAAO,EAAE;AACPV,MAAAA,KAAK,EAAE;AADA,KADc;AAIvBW,IAAAA,OAAO,EAAE;AACPQ,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,aAAa,EAAE,QAFR;AAGPpB,MAAAA,KAAK,EAAE;AAHA,KAJc;AASvBpC,IAAAA,UAAU,EAAE;AACVuD,MAAAA,OAAO,EAAE,MADC;AAEVC,MAAAA,aAAa,EAAE,QAFL;AAGVC,MAAAA,UAAU,EAAE;AAHF,KATW;AAcvBf,IAAAA,OAAO,EAAE;AACPa,MAAAA,OAAO,EAAE,MADF;AAEPG,MAAAA,cAAc,EAAE,cAFT;AAGPD,MAAAA,UAAU,EAAE;AAHL,KAdc;AAmBvBxD,IAAAA,SAAS,EAAE;AACTmC,MAAAA,KAAK,EAAE,OADE;AAETuB,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFG,KAnBY;AAuBvBhB,IAAAA,cAAc,EAAE;AACdT,MAAAA,KAAK,EAAE,OADO;AAEduB,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFQ,KAvBO;AA2BvBlB,IAAAA,IAAI,EAAE;AACJmB,MAAAA,SAAS,EAAE,QADP;AAEJH,MAAAA,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB;AAFF,KA3BiB;AA+BvBb,IAAAA,UAAU,EAAE;AACVO,MAAAA,OAAO,EAAE,MADC;AAEVG,MAAAA,cAAc,EAAE,eAFN;AAGVD,MAAAA,UAAU,EAAE;AAHF,KA/BW;AAoCvB/D,IAAAA,QAAQ,EAAE;AACRqE,MAAAA,KAAK,EAAEA,gBAAMrE,QAAN;AADC;AApCa,GAAL;AAAA,CAApB;;eAyCe,wBAAW2D,MAAX,EAAmBvC,SAAnB,C","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","labelValue","labelValues","gridValue","gridValues","onChange","columnView","mediumTextField","e","v","AxisConfig","label","maxValue","minValue","type","activePlugins","axisLabel","value","GridSetup","domain","dimensionsEnabled","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","min","max","onIncludeAxes","noAxesConfig","axis","step","labelStep","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 { classes, disabled, labelValue, labelValues, gridValue, gridValues, onChange } = props;\n\n return (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\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.mediumTextField}\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 const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\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.mediumTextField}\n label=\"Min Value\"\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 <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\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 <InputContainer label=\"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 </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n dimensionsEnabled,\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\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.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\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}>\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 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 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"}
package/lib/grid.js CHANGED
@@ -127,13 +127,6 @@ var Grid = /*#__PURE__*/function (_React$Component) {
127
127
  }
128
128
 
129
129
  _createClass(Grid, [{
130
- key: "shouldComponentUpdate",
131
- value: function shouldComponentUpdate(nextProps) {
132
- var graphProps = this.props.graphProps;
133
- var nextGraphProps = nextProps.graphProps;
134
- return !_plot.utils.isDomainRangeEqual(graphProps, nextGraphProps);
135
- }
136
- }, {
137
130
  key: "render",
138
131
  value: function render() {
139
132
  var _this2 = this;
package/lib/grid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","nextProps","nextGraphProps","utils","isDomainRangeEqual","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","stroke"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n shouldComponentUpdate(nextProps) {\n const { graphProps } = this.props;\n const { graphProps: nextGraphProps } = nextProps;\n\n return !utils.isDomainRangeEqual(graphProps, nextGraphProps);\n }\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"file":"grid.js"}
1
+ {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","stroke"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"file":"grid.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.6.2",
6
+ "version": "2.6.3",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -20,7 +20,7 @@
20
20
  "@material-ui/core": "^3.8.3",
21
21
  "@pie-lib/graphing-utils": "^1.1.20",
22
22
  "@pie-lib/plot": "^2.2.0",
23
- "@pie-lib/render-ui": "^4.12.8",
23
+ "@pie-lib/render-ui": "^4.12.9",
24
24
  "@vx/axis": "^0.0.189",
25
25
  "@vx/clip-path": "^0.0.189",
26
26
  "@vx/event": "^0.0.189",
@@ -43,6 +43,6 @@
43
43
  "peerDependencies": {
44
44
  "react": "^16.8.1"
45
45
  },
46
- "gitHead": "debcaf764c62d97a1401f2898b062183847ce33b",
46
+ "gitHead": "531a7f4895323a9d524cfb96f7e26a5f1ab9f7c1",
47
47
  "scripts": {}
48
48
  }
@@ -1,14 +1,14 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { color } from '@pie-lib/render-ui';
3
+ import { color, InputContainer } from '@pie-lib/render-ui';
4
4
  import { withStyles } from '@material-ui/core/styles';
5
5
  import ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';
6
6
  import Typography from '@material-ui/core/Typography';
7
7
  import ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';
8
8
  import ExpansionPanel from '@material-ui/core/ExpansionPanel';
9
9
  import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
10
- import TextField from '@material-ui/core/TextField';
11
10
  import { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';
11
+ import EditableHTML from '@pie-lib/editable-html';
12
12
 
13
13
  const GridConfig = props => {
14
14
  const { classes, disabled, labelValue, labelValues, gridValue, gridValues, onChange } = props;
@@ -16,7 +16,7 @@ const GridConfig = props => {
16
16
  return (
17
17
  <div className={classes.columnView}>
18
18
  <NumberTextFieldCustom
19
- className={classes.textField}
19
+ className={classes.mediumTextField}
20
20
  label="Grid Interval"
21
21
  value={gridValue}
22
22
  customValues={gridValues}
@@ -25,7 +25,7 @@ const GridConfig = props => {
25
25
  onChange={(e, v) => onChange('step', v)}
26
26
  />
27
27
  <NumberTextFieldCustom
28
- className={classes.textField}
28
+ className={classes.mediumTextField}
29
29
  label="Label Interval"
30
30
  value={labelValue}
31
31
  customValues={labelValues}
@@ -39,6 +39,13 @@ const GridConfig = props => {
39
39
 
40
40
  const AxisConfig = props => {
41
41
  const { classes, disabled, label, maxValue, minValue, onChange, type } = props;
42
+ const activePlugins = [
43
+ 'bold',
44
+ 'italic',
45
+ 'underline',
46
+ 'strikethrough'
47
+ // 'languageCharacters'
48
+ ];
42
49
 
43
50
  return (
44
51
  <div className={classes.columnView}>
@@ -47,32 +54,34 @@ const AxisConfig = props => {
47
54
  -axis
48
55
  </Typography>
49
56
  <NumberTextFieldCustom
50
- className={classes.textField}
57
+ className={classes.mediumTextField}
51
58
  label="Min Value"
52
59
  value={minValue}
60
+ min={-10000}
61
+ max={maxValue - 0.01}
53
62
  variant="outlined"
54
63
  disabled={disabled}
55
64
  onChange={(e, v) => onChange('min', v)}
56
65
  />
57
66
  <NumberTextFieldCustom
58
- className={classes.textField}
67
+ className={classes.mediumTextField}
59
68
  label="Max Value"
60
69
  value={maxValue}
70
+ min={minValue + 0.01}
71
+ max={10000}
61
72
  variant="outlined"
62
73
  disabled={disabled}
63
74
  onChange={(e, v) => onChange('max', v)}
64
75
  />
65
- <TextField
66
- label="Label"
67
- value={label}
68
- inputProps={{
69
- maxLength: 5,
70
- style: { textAlign: 'center' }
71
- }}
72
- variant="outlined"
73
- className={classes.textField}
74
- onChange={e => onChange('axisLabel', e.target.value)}
75
- />
76
+ <InputContainer label="Label" className={classes.mediumTextField}>
77
+ <EditableHTML
78
+ className={classes.axisLabel}
79
+ onChange={value => onChange('axisLabel', value)}
80
+ markup={label || ''}
81
+ charactersLimit={5}
82
+ activePlugins={activePlugins}
83
+ />
84
+ </InputContainer>
76
85
  </div>
77
86
  );
78
87
  };
@@ -80,15 +89,15 @@ const AxisConfig = props => {
80
89
  const GridSetup = props => {
81
90
  const {
82
91
  classes,
83
- sizeConstraints,
84
92
  domain,
85
93
  dimensionsEnabled,
86
- gridValues,
94
+ gridValues = {},
87
95
  includeAxes,
88
- labelValues,
96
+ labelValues = {},
89
97
  onChange,
90
98
  range,
91
99
  size,
100
+ sizeConstraints,
92
101
  standardGrid
93
102
  } = props;
94
103
  const gridProps = { min: 2, max: 41 };
@@ -189,8 +198,8 @@ const GridSetup = props => {
189
198
  classes={classes}
190
199
  gridValue={domain.step}
191
200
  labelValue={domain.labelStep}
192
- gridValues={gridValues}
193
- labelValues={labelValues}
201
+ gridValues={gridValues.domain || []}
202
+ labelValues={labelValues.domain || []}
194
203
  onChange={onDomainChanged}
195
204
  />
196
205
  <GridConfig
@@ -198,6 +207,8 @@ const GridSetup = props => {
198
207
  disabled={standardGrid}
199
208
  gridValue={range.step}
200
209
  labelValue={range.labelStep}
210
+ gridValues={gridValues.range || []}
211
+ labelValues={labelValues.range || []}
201
212
  onChange={onRangeChanged}
202
213
  />
203
214
  </div>
@@ -250,7 +261,9 @@ const GridSetup = props => {
250
261
  <div className={classes.dimensions}>
251
262
  <div>
252
263
  <Typography>Dimensions(px)</Typography>
253
- <Typography className={classes.disabled}>Min 150, Max 700</Typography>
264
+ <Typography className={classes.disabled}>
265
+ Min {sizeConstraints.min}, Max {sizeConstraints.max}
266
+ </Typography>
254
267
  </div>
255
268
  <NumberTextFieldCustom
256
269
  className={classes.textField}
@@ -319,6 +332,10 @@ const styles = theme => ({
319
332
  width: '130px',
320
333
  margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
321
334
  },
335
+ mediumTextField: {
336
+ width: '160px',
337
+ margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
338
+ },
322
339
  largeTextField: {
323
340
  width: '230px',
324
341
  margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`
@@ -334,6 +351,9 @@ const styles = theme => ({
334
351
  },
335
352
  disabled: {
336
353
  color: color.disabled()
354
+ },
355
+ axisLabel: {
356
+ paddingTop: theme.spacing.unit * 2
337
357
  }
338
358
  });
339
359
 
package/src/grid.jsx CHANGED
@@ -14,13 +14,6 @@ export class Grid extends React.Component {
14
14
  graphProps: types.GraphPropsType.isRequired
15
15
  };
16
16
 
17
- shouldComponentUpdate(nextProps) {
18
- const { graphProps } = this.props;
19
- const { graphProps: nextGraphProps } = nextProps;
20
-
21
- return !utils.isDomainRangeEqual(graphProps, nextGraphProps);
22
- }
23
-
24
17
  getAdditionalGridProps = (rowTickValues, columnTickValues) => {
25
18
  const {
26
19
  graphProps: {