@pie-lib/graphing-solution-set 2.16.0-beta.0 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +157 -1
  2. package/lib/axis/arrow.js +1 -1
  3. package/lib/axis/arrow.js.map +1 -0
  4. package/lib/axis/axes.js +4 -4
  5. package/lib/axis/axes.js.map +1 -0
  6. package/lib/axis/index.js +1 -1
  7. package/lib/axis/index.js.map +1 -0
  8. package/lib/bg.js +1 -1
  9. package/lib/bg.js.map +1 -0
  10. package/lib/container/actions.js +1 -1
  11. package/lib/container/actions.js.map +1 -0
  12. package/lib/container/index.js +1 -1
  13. package/lib/container/index.js.map +1 -0
  14. package/lib/container/marks.js +1 -1
  15. package/lib/container/marks.js.map +1 -0
  16. package/lib/container/middleware.js +1 -1
  17. package/lib/container/middleware.js.map +1 -0
  18. package/lib/container/reducer.js +1 -1
  19. package/lib/container/reducer.js.map +1 -0
  20. package/lib/coordinates-label.js +3 -3
  21. package/lib/coordinates-label.js.map +1 -0
  22. package/lib/graph-with-controls.js +4 -4
  23. package/lib/graph-with-controls.js.map +1 -0
  24. package/lib/graph.js +1 -1
  25. package/lib/graph.js.map +1 -0
  26. package/lib/grid-setup.js +4 -4
  27. package/lib/grid-setup.js.map +1 -0
  28. package/lib/grid.js +1 -1
  29. package/lib/grid.js.map +1 -0
  30. package/lib/index.js +1 -1
  31. package/lib/index.js.map +1 -0
  32. package/lib/labels.js +4 -4
  33. package/lib/labels.js.map +1 -0
  34. package/lib/mark-label.js +7 -7
  35. package/lib/mark-label.js.map +1 -0
  36. package/lib/shared/index.js +136 -0
  37. package/lib/toggle-bar.js +10 -10
  38. package/lib/toggle-bar.js.map +1 -0
  39. package/lib/tool-menu.js +1 -1
  40. package/lib/tool-menu.js.map +1 -0
  41. package/lib/tools/index.js +1 -1
  42. package/lib/tools/index.js.map +1 -0
  43. package/lib/tools/line/component.js +1 -1
  44. package/lib/tools/line/component.js.map +1 -0
  45. package/lib/tools/line/index.js +1 -1
  46. package/lib/tools/line/index.js.map +1 -0
  47. package/lib/tools/polygon/component.js +1 -1
  48. package/lib/tools/polygon/component.js.map +1 -0
  49. package/lib/tools/polygon/index.js +1 -1
  50. package/lib/tools/polygon/index.js.map +1 -0
  51. package/lib/tools/polygon/line.js +3 -3
  52. package/lib/tools/polygon/line.js.map +1 -0
  53. package/lib/tools/polygon/polygon.js +4 -4
  54. package/lib/tools/polygon/polygon.js.map +1 -0
  55. package/lib/tools/shared/arrow-head.js +3 -3
  56. package/lib/tools/shared/arrow-head.js.map +1 -0
  57. package/lib/tools/shared/line/index.js +7 -7
  58. package/lib/tools/shared/line/index.js.map +1 -0
  59. package/lib/tools/shared/line/line-path.js +4 -4
  60. package/lib/tools/shared/line/line-path.js.map +1 -0
  61. package/lib/tools/shared/line/with-root-edge.js +1 -1
  62. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  63. package/lib/tools/shared/point/arrow-point.js +1 -1
  64. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  65. package/lib/tools/shared/point/arrow.js +1 -1
  66. package/lib/tools/shared/point/arrow.js.map +1 -0
  67. package/lib/tools/shared/point/base-point.js +3 -3
  68. package/lib/tools/shared/point/base-point.js.map +1 -0
  69. package/lib/tools/shared/point/index.js +3 -3
  70. package/lib/tools/shared/point/index.js.map +1 -0
  71. package/lib/tools/shared/styles.js +6 -6
  72. package/lib/tools/shared/styles.js.map +1 -0
  73. package/lib/tools/shared/types.js +1 -1
  74. package/lib/tools/shared/types.js.map +1 -0
  75. package/lib/undo-redo.js +3 -3
  76. package/lib/undo-redo.js.map +1 -0
  77. package/lib/use-debounce.js +1 -1
  78. package/lib/use-debounce.js.map +1 -0
  79. package/lib/utils.js +1 -1
  80. package/lib/utils.js.map +1 -0
  81. package/package.json +14 -9
  82. package/src/axis/axes.jsx +1 -1
  83. package/src/coordinates-label.jsx +1 -1
  84. package/src/graph-with-controls.jsx +1 -1
  85. package/src/grid-setup.jsx +5 -8
  86. package/src/labels.jsx +1 -1
  87. package/src/mark-label.jsx +1 -1
  88. package/src/toggle-bar.jsx +1 -1
  89. package/src/tools/polygon/line.jsx +1 -1
  90. package/src/tools/polygon/polygon.jsx +1 -1
  91. package/src/tools/shared/arrow-head.jsx +1 -1
  92. package/src/tools/shared/line/index.jsx +1 -1
  93. package/src/tools/shared/line/line-path.jsx +1 -1
  94. package/src/tools/shared/point/base-point.jsx +1 -1
  95. package/src/tools/shared/point/index.jsx +1 -1
  96. package/src/tools/shared/styles.js +1 -1
  97. package/src/undo-redo.jsx +1 -1
  98. package/lib/__tests__/graph-with-controls.test.js +0 -191
  99. package/lib/__tests__/graph.test.js +0 -290
  100. package/lib/__tests__/grid.test.js +0 -40
  101. package/lib/__tests__/labels.test.js +0 -59
  102. package/lib/__tests__/mark-label.test.js +0 -154
  103. package/lib/__tests__/toggle-bar.test.js +0 -54
  104. package/lib/__tests__/tool-menu.test.js +0 -43
  105. package/lib/__tests__/undo-redo.test.js +0 -42
  106. package/lib/__tests__/use-debounce.test.js +0 -28
  107. package/lib/__tests__/utils.js +0 -72
  108. package/lib/__tests__/utils.test.js +0 -133
  109. package/lib/axis/__tests__/arrow.test.js +0 -68
  110. package/lib/axis/__tests__/axes.test.js +0 -214
  111. package/lib/tools/line/__tests__/component.test.js +0 -56
  112. package/lib/tools/polygon/__tests__/component.test.js +0 -245
  113. package/lib/tools/polygon/__tests__/index.test.js +0 -95
  114. package/lib/tools/polygon/__tests__/line.test.js +0 -43
  115. package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
  116. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
  117. package/lib/tools/shared/line/__tests__/index.test.js +0 -291
  118. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
  119. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
  120. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
  121. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
@@ -35,7 +35,7 @@ var _uniq = _interopRequireDefault(require("lodash/uniq"));
35
35
 
36
36
  var _isString = _interopRequireDefault(require("lodash/isString"));
37
37
 
38
- var _renderUi = require("@pie-lib/render-ui");
38
+ var _index = require("./shared/index");
39
39
 
40
40
  var _toolMenu = _interopRequireDefault(require("./tool-menu"));
41
41
 
@@ -333,7 +333,7 @@ var styles = function styles(theme) {
333
333
  display: 'flex',
334
334
  justifyContent: 'space-between',
335
335
  padding: 'calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem',
336
- color: _renderUi.color.text(),
336
+ color: _index.color.text(),
337
337
  backgroundColor: '#9FA8DA',
338
338
  '& button': {
339
339
  fontSize: '0.875rem',
@@ -342,7 +342,7 @@ var styles = function styles(theme) {
342
342
  }
343
343
  },
344
344
  expansionPanel: {
345
- backgroundColor: _renderUi.color.primaryLight(),
345
+ backgroundColor: _index.color.primaryLight(),
346
346
  width: '100%'
347
347
  },
348
348
  summaryRoot: {
@@ -369,4 +369,4 @@ var styles = function styles(theme) {
369
369
  var _default = (0, _styles.withStyles)(styles)(GraphWithControls);
370
370
 
371
371
  exports["default"] = _default;
372
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmFwaC13aXRoLWNvbnRyb2xzLmpzeCJdLCJuYW1lcyI6WyJzZXRUb29sYmFyQXZhaWxhYmlsaXR5IiwidG9vbGJhclRvb2xzIiwidG9vbHNBcnIiLCJtYXAiLCJ0QSIsInRvb2xiYXIiLCJmaW5kIiwidCIsInR5cGUiLCJ0b29sSXNBdmFpbGFibGUiLCJ0b29scyIsImN1cnJlbnRUb29sIiwidG9vbCIsImdldEF2YWlsYWJsZVRvb2wiLCJmaWx0ZXJCeVZhbGlkVG9vbFR5cGVzIiwiYmFja2dyb3VuZE1hcmtzIiwiZmlsdGVyIiwiYk0iLCJhbGxUb29scyIsImZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyIsIm1hcmtzIiwiZ2V0RGVmYXVsdEN1cnJlbnRUb29sIiwidG9vbFR5cGUiLCJDb2xsYXBzaWJsZSIsImNsYXNzZXMiLCJjaGlsZHJlbiIsInRpdGxlIiwiZXhwYW5zaW9uUGFuZWwiLCJyb290Iiwic3VtbWFyeVJvb3QiLCJjb250ZW50Iiwic3VtbWFyeUNvbnRlbnQiLCJkZXRhaWxzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYXJyYXkiLCJzdHJpbmciLCJHcmFwaFdpdGhDb250cm9scyIsInByb3BzIiwic2V0U3RhdGUiLCJzdGF0ZSIsImxhYmVsTW9kZUVuYWJsZWQiLCJkZWZhdWx0VG9vbCIsInByZXZQcm9wcyIsImF4ZXNTZXR0aW5ncyIsImNsYXNzTmFtZSIsImNvb3JkaW5hdGVzT25Ib3ZlciIsImNvbGxhcHNpYmxlVG9vbGJhciIsImNvbGxhcHNpYmxlVG9vbGJhclRpdGxlIiwiZGlzYWJsZWQiLCJkaXNhYmxlZExhYmVscyIsImRpc2FibGVkVGl0bGUiLCJkb21haW4iLCJsYWJlbHMiLCJsYWJlbHNQbGFjZWhvbGRlcnMiLCJvbkNoYW5nZUxhYmVscyIsIm9uQ2hhbmdlTWFya3MiLCJvbkNoYW5nZVRpdGxlIiwib25VbmRvIiwib25SZWRvIiwicmFuZ2UiLCJzaXplIiwic2hvd0xhYmVscyIsInNob3dQaXhlbEd1aWRlcyIsInNob3dUaXRsZSIsInRpdGxlUGxhY2Vob2xkZXIiLCJsYW5ndWFnZSIsImRpc2FibGVUb29sYmFyIiwiZ3NzTGluZURhdGEiLCJvbkNoYW5nZUdzc0xpbmVEYXRhIiwib25Tb2x1dGlvblNldFNlbGVjdGVkIiwib25DdXN0b21SZXNldCIsInRUIiwibGluZUEiLCJmaWxsIiwibGluZVR5cGUiLCJsaW5lQiIsImdzc0FjdGlvbnMiLCJudW1iZXJPZkxpbmVzIiwidW5kb1JlZG9PdXRlckRpdiIsImdyYXBoV2l0aENvbnRyb2xzIiwiY29udHJvbHMiLCJyIiwibGFiZWxOb2RlIiwidW5kZWZpbmVkIiwiUmVhY3QiLCJDb21wb25lbnQiLCJncmFwaFByb3BUeXBlcyIsImZ1bmMiLCJvblJlc2V0IiwiYXJyYXlPZiIsInN0eWxlcyIsInRoZW1lIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJ3aWR0aCIsImp1c3RpZnlDb250ZW50IiwicGFkZGluZyIsImNvbG9yIiwidGV4dCIsImJhY2tncm91bmRDb2xvciIsImZvbnRTaXplIiwicHJpbWFyeUxpZ2h0Iiwic3BhY2luZyIsInVuaXQiLCJtaW5IZWlnaHQiLCJtYXJnaW4iLCJtYXJnaW5Ub3AiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFNQSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXlCLENBQUNDLFlBQUQ7QUFBQSxTQUNwQ0MsZ0JBQVNDLEdBQVQsQ0FBYSxVQUFDQyxFQUFEO0FBQUEsMkNBQWNBLEVBQWQ7QUFBa0JDLE1BQUFBLE9BQU8sRUFBRSxDQUFDLENBQUNKLFlBQVksQ0FBQ0ssSUFBYixDQUFrQixVQUFDQyxDQUFEO0FBQUEsZUFBT0EsQ0FBQyxLQUFLSCxFQUFFLENBQUNJLElBQWhCO0FBQUEsT0FBbEI7QUFBN0I7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LENBQUNXLE9BQU4sQ0FBY0MsSUFBckIsT0FESTtBQUVYQyxNQUFBQSxTQUFTLEVBQUU7QUFGQSxLQXRCWTtBQTBCekIzRSxJQUFBQSxjQUFjLEVBQUU7QUFDZDRFLE1BQUFBLE1BQU0sRUFBRTtBQURNLEtBMUJTO0FBNkJ6QjNFLElBQUFBLE9BQU8sRUFBRTtBQUNQa0UsTUFBQUEsT0FBTyxFQUFFLENBREY7QUFFUFUsTUFBQUEsU0FBUyxFQUFFZixLQUFLLENBQUNXLE9BQU4sQ0FBY0MsSUFGbEI7QUFHUFgsTUFBQUEsT0FBTyxFQUFFLE1BSEY7QUFJUEcsTUFBQUEsY0FBYyxFQUFFO0FBSlQsS0E3QmdCO0FBbUN6QmpCLElBQUFBLGdCQUFnQixFQUFFO0FBQ2hCYyxNQUFBQSxPQUFPLEVBQUUsTUFETztBQUVoQkMsTUFBQUEsYUFBYSxFQUFFLFFBRkM7QUFHaEJhLE1BQUFBLFNBQVMsRUFBRTtBQUhLO0FBbkNPLEdBQVo7QUFBQSxDQUFmOztlQTBDZSx3QkFBV2hCLE1BQVgsRUFBbUJ0RCxpQkFBbkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB1bmlxIGZyb20gJ2xvZGFzaC91bmlxJztcbmltcG9ydCBpc1N0cmluZyBmcm9tICdsb2Rhc2gvaXNTdHJpbmcnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IFRvb2xNZW51IGZyb20gJy4vdG9vbC1tZW51JztcbmltcG9ydCBHcmFwaCwgeyBncmFwaFByb3BUeXBlcyB9IGZyb20gJy4vZ3JhcGgnO1xuaW1wb3J0IFVuZG9SZWRvIGZyb20gJy4vdW5kby1yZWRvJztcbmltcG9ydCB7IGFsbFRvb2xzLCB0b29sc0FyciB9IGZyb20gJy4vdG9vbHMnO1xuaW1wb3J0IHsgRXhwYW5zaW9uUGFuZWwsIEV4cGFuc2lvblBhbmVsRGV0YWlscywgRXhwYW5zaW9uUGFuZWxTdW1tYXJ5LCBUeXBvZ3JhcGh5IH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnO1xuaW1wb3J0IEV4cGFuZE1vcmVJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9FeHBhbmRNb3JlJztcblxuZXhwb3J0IGNvbnN0IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkgPSAodG9vbGJhclRvb2xzKSA9PlxuICB0b29sc0Fyci5tYXAoKHRBKSA9PiAoeyAuLi50QSwgdG9vbGJhcjogISF0b29sYmFyVG9vbHMuZmluZCgodCkgPT4gdCA9PT0gdEEudHlwZSkgfSkpIHx8IFtdO1xuXG5leHBvcnQgY29uc3QgdG9vbElzQXZhaWxhYmxlID0gKHRvb2xzLCBjdXJyZW50VG9vbCkgPT5cbiAgY3VycmVudFRvb2wgJiYgdG9vbHMgJiYgKHRvb2xzLmZpbmQoKHRvb2wpID0+IHRvb2wudHlwZSA9PT0gY3VycmVudFRvb2wudHlwZSkgfHwge30pLnRvb2xiYXI7XG5cbmV4cG9ydCBjb25zdCBnZXRBdmFpbGFibGVUb29sID0gKHRvb2xzKSA9PiB0b29scy5maW5kKCh0b29sKSA9PiB0b29sLnRvb2xiYXIpO1xuXG5leHBvcnQgY29uc3QgZmlsdGVyQnlWYWxpZFRvb2xUeXBlcyA9IChiYWNrZ3JvdW5kTWFya3MpID0+XG4gIGJhY2tncm91bmRNYXJrcy5maWx0ZXIoKGJNKSA9PiAhIWFsbFRvb2xzLmZpbmQoKHRvb2wpID0+IHRvb2wgPT09IGJNLnR5cGUpKTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyA9ICh0b29sYmFyVG9vbHMsIG1hcmtzKSA9PlxuICBtYXJrcy5maWx0ZXIoKGJNKSA9PiAhIXRvb2xiYXJUb29scy5maW5kKCh0b29sKSA9PiB0b29sID09PSBiTS50eXBlKSk7XG5cbmNvbnN0IGdldERlZmF1bHRDdXJyZW50VG9vbCA9ICh0b29sVHlwZSkgPT4gdG9vbHNBcnIuZmluZCgodG9vbCkgPT4gdG9vbC50eXBlID09PSB0b29sVHlwZSkgfHwgbnVsbDtcblxuY29uc3QgQ29sbGFwc2libGUgPSAoeyBjbGFzc2VzLCBjaGlsZHJlbiwgdGl0bGUgfSkgPT4gKFxuICA8RXhwYW5zaW9uUGFuZWwgZWxldmF0aW9uPXswfSBjbGFzc05hbWU9e2NsYXNzZXMuZXhwYW5zaW9uUGFuZWx9IGRpc2FibGVkR3V0dGVycz17dHJ1ZX0gc3F1YXJlPXt0cnVlfT5cbiAgICA8RXhwYW5zaW9uUGFuZWxTdW1tYXJ5XG4gICAgICBjbGFzc2VzPXt7XG4gICAgICAgIHJvb3Q6IGNsYXNzZXMuc3VtbWFyeVJvb3QsXG4gICAgICAgIGNvbnRlbnQ6IGNsYXNzZXMuc3VtbWFyeUNvbnRlbnQsXG4gICAgICB9fVxuICAgICAgZXhwYW5kSWNvbj17PEV4cGFuZE1vcmVJY29uIC8+fVxuICAgID5cbiAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9XCJzdWJoZWFkaW5nXCI+e3RpdGxlfTwvVHlwb2dyYXBoeT5cbiAgICA8L0V4cGFuc2lvblBhbmVsU3VtbWFyeT5cbiAgICA8RXhwYW5zaW9uUGFuZWxEZXRhaWxzIGNsYXNzTmFtZT17Y2xhc3Nlcy5kZXRhaWxzfT57Y2hpbGRyZW59PC9FeHBhbnNpb25QYW5lbERldGFpbHM+XG4gIDwvRXhwYW5zaW9uUGFuZWw+XG4pO1xuXG5Db2xsYXBzaWJsZS5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYXJyYXksXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGNsYXNzIEdyYXBoV2l0aENvbnRyb2xzIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAuLi5ncmFwaFByb3BUeXBlcyxcbiAgICBvblVuZG86IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmVkbzogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SZXNldDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdG9vbGJhclRvb2xzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSwgLy8gYXJyYXkgb2YgdG9vbCB0eXBlcyB0aGF0IGhhdmUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSB0b29sYmFyLCBzYW1lIHNoYXBlIGFzICdhbGxUb29scydcbiAgICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGNvbGxhcHNpYmxlVG9vbGJhcjogZmFsc2UsXG4gICAgY29sbGFwc2libGVUb29sYmFyVGl0bGU6ICcnLFxuICAgIGRpc2FibGVkTGFiZWxzOiBmYWxzZSxcbiAgICBkaXNhYmxlZFRpdGxlOiBmYWxzZSxcbiAgICBzaG93TGFiZWxzOiB0cnVlLFxuICAgIHNob3dUaXRsZTogdHJ1ZSxcbiAgICB0b29sYmFyVG9vbHM6IFtdLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGN1cnJlbnRUb29sOiBnZXREZWZhdWx0Q3VycmVudFRvb2wocHJvcHMuZGVmYXVsdFRvb2wpLFxuICAgICAgbGFiZWxNb2RlRW5hYmxlZDogZmFsc2UsXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICBjb25zdCB7IGRlZmF1bHRUb29sIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKHByZXZQcm9wcy5kZWZhdWx0VG9vbCAhPT0gZGVmYXVsdFRvb2wpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRUb29sID0gZ2V0RGVmYXVsdEN1cnJlbnRUb29sKGRlZmF1bHRUb29sKTtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGN1cnJlbnRUb29sIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZUN1cnJlbnRUb29sID0gKHRvb2wsIHRvb2xzKSA9PiB0aGlzLnNldFN0YXRlKHsgY3VycmVudFRvb2w6IHRvb2xzLmZpbmQoKHQpID0+IHQudHlwZSA9PT0gdG9vbCkgfSk7XG5cbiAgdG9nZ2xlTGFiZWxNb2RlID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSgoc3RhdGUpID0+ICh7IGxhYmVsTW9kZUVuYWJsZWQ6ICFzdGF0ZS5sYWJlbE1vZGVFbmFibGVkIH0pKTtcblxuICByZW5kZXIoKSB7XG4gICAgbGV0IHsgY3VycmVudFRvb2wsIGxhYmVsTW9kZUVuYWJsZWQgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3Qge1xuICAgICAgYXhlc1NldHRpbmdzLFxuICAgICAgY2xhc3NlcyxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvb3JkaW5hdGVzT25Ib3ZlcixcbiAgICAgIGNvbGxhcHNpYmxlVG9vbGJhcixcbiAgICAgIGNvbGxhcHNpYmxlVG9vbGJhclRpdGxlLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBkaXNhYmxlZExhYmVscyxcbiAgICAgIGRpc2FibGVkVGl0bGUsXG4gICAgICBkb21haW4sXG4gICAgICBsYWJlbHMsXG4gICAgICBsYWJlbHNQbGFjZWhvbGRlcnMsXG4gICAgICBvbkNoYW5nZUxhYmVscyxcbiAgICAgIG9uQ2hhbmdlTWFya3MsXG4gICAgICBvbkNoYW5nZVRpdGxlLFxuICAgICAgb25VbmRvLFxuICAgICAgb25SZWRvLFxuICAgICAgcmFuZ2UsXG4gICAgICBzaXplLFxuICAgICAgc2hvd0xhYmVscyxcbiAgICAgIHNob3dQaXhlbEd1aWRlcyxcbiAgICAgIHNob3dUaXRsZSxcbiAgICAgIHRpdGxlLFxuICAgICAgdGl0bGVQbGFjZWhvbGRlcixcbiAgICAgIGxhbmd1YWdlLFxuICAgICAgZGlzYWJsZVRvb2xiYXIgPSBmYWxzZSxcbiAgICAgIGdzc0xpbmVEYXRhLFxuICAgICAgb25DaGFuZ2VHc3NMaW5lRGF0YSxcbiAgICAgIG9uU29sdXRpb25TZXRTZWxlY3RlZCxcbiAgICAgIG9uQ3VzdG9tUmVzZXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IHsgYmFja2dyb3VuZE1hcmtzLCBtYXJrcywgdG9vbGJhclRvb2xzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgLy8gbWFrZSBzdXJlIG9ubHkgdmFsaWQgdG9vbCB0eXBlcyBhcmUga2VwdCAoc3RyaW5nKSBhbmQgd2l0aG91dCBkdXBsaWNhdGVzXG4gICAgdG9vbGJhclRvb2xzID0gdW5pcSh0b29sYmFyVG9vbHMgfHwgW10pLmZpbHRlcigodFQpID0+ICEhaXNTdHJpbmcodFQpKSB8fCBbXTtcblxuICAgIC8vIGtlZXAgb25seSB0aGUgYmFja2dyb3VuZE1hcmtzIHRoYXQgaGF2ZSB2YWxpZCB0eXBlc1xuICAgIGJhY2tncm91bmRNYXJrcyA9IGZpbHRlckJ5VmFsaWRUb29sVHlwZXMoYmFja2dyb3VuZE1hcmtzIHx8IFtdKTtcblxuICAgIC8vIGtlZXAgb25seSB0aGUgbWFya3MgdGhhdCBoYXZlIHR5cGVzIHdoaWNoIGFwcGVhciBpbiB0b29sYmFyXG4gICAgbWFya3MgPSBmaWx0ZXJCeVZpc2libGVUb29sVHlwZXModG9vbGJhclRvb2xzLCBtYXJrcyB8fCBbXSk7XG5cbiAgICBpZiAoZ3NzTGluZURhdGEgJiYgZ3NzTGluZURhdGEubGluZUEgJiYgbWFya3NbMF0gJiYgbWFya3NbMF0udHlwZSA9PT0gJ2xpbmUnKVxuICAgICAgbWFya3NbMF0uZmlsbCA9IGdzc0xpbmVEYXRhLmxpbmVBLmxpbmVUeXBlO1xuICAgIGlmIChnc3NMaW5lRGF0YSAmJiBnc3NMaW5lRGF0YS5saW5lQiAmJiBtYXJrc1sxXSAmJiBtYXJrc1sxXS50eXBlID09PSAnbGluZScpXG4gICAgICBtYXJrc1sxXS5maWxsID0gZ3NzTGluZURhdGEubGluZUIubGluZVR5cGU7XG5cbiAgICBjb25zdCB0b29scyA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkodG9vbGJhclRvb2xzKTtcblxuICAgIC8vIHNldCBjdXJyZW50IHRvb2wgaWYgdGhlcmUncyBubyBjdXJyZW50IHRvb2wgb3IgaWYgdGhlIGV4aXN0aW5nIG9uZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlXG4gICAgaWYgKCFjdXJyZW50VG9vbCB8fCAhdG9vbElzQXZhaWxhYmxlKHRvb2xzLCBjdXJyZW50VG9vbCkpIHtcbiAgICAgIGN1cnJlbnRUb29sID0gZ2V0QXZhaWxhYmxlVG9vbCh0b29scyk7XG4gICAgfVxuXG4gICAgY29uc3QgZ3NzQWN0aW9ucyA9IGdzc0xpbmVEYXRhICYmIChcbiAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgPFRvb2xNZW51XG4gICAgICAgICAgbnVtYmVyT2ZMaW5lcz17Z3NzTGluZURhdGEubnVtYmVyT2ZMaW5lc31cbiAgICAgICAgICBnc3NMaW5lRGF0YT17Z3NzTGluZURhdGF9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlR3NzTGluZURhdGF9XG4gICAgICAgICAgZGlzYWJsZWQ9eyEhZGlzYWJsZWR9XG4gICAgICAgICAgbGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAvPlxuICAgICAgICB7IWRpc2FibGVkICYmIChcbiAgICAgICAgICA8VW5kb1JlZG9cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy51bmRvUmVkb091dGVyRGl2fVxuICAgICAgICAgICAgb25VbmRvPXtvblVuZG99XG4gICAgICAgICAgICBvblJlZG89e29uUmVkb31cbiAgICAgICAgICAgIG9uUmVzZXQ9e29uQ3VzdG9tUmVzZXR9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmdyYXBoV2l0aENvbnRyb2xzLCBjbGFzc05hbWUpfT5cbiAgICAgICAgeyFkaXNhYmxlVG9vbGJhciAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY29udHJvbHN9PlxuICAgICAgICAgICAge2NvbGxhcHNpYmxlVG9vbGJhciA/IChcbiAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGNsYXNzZXM9e2NsYXNzZXN9IHRpdGxlPXtjb2xsYXBzaWJsZVRvb2xiYXJUaXRsZX0+XG4gICAgICAgICAgICAgICAge2dzc0FjdGlvbnN9XG4gICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICBnc3NBY3Rpb25zXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuXG4gICAgICAgIDxkaXYgcmVmPXsocikgPT4gKHRoaXMubGFiZWxOb2RlID0gcil9IC8+XG5cbiAgICAgICAgPEdyYXBoXG4gICAgICAgICAgYXhlc1NldHRpbmdzPXtheGVzU2V0dGluZ3N9XG4gICAgICAgICAgYmFja2dyb3VuZE1hcmtzPXtiYWNrZ3JvdW5kTWFya3N9XG4gICAgICAgICAgY29vcmRpbmF0ZXNPbkhvdmVyPXtjb29yZGluYXRlc09uSG92ZXJ9XG4gICAgICAgICAgY3VycmVudFRvb2w9e2N1cnJlbnRUb29sfVxuICAgICAgICAgIGRpc2FibGVkTGFiZWxzPXtkaXNhYmxlZExhYmVsc31cbiAgICAgICAgICBkaXNhYmxlZFRpdGxlPXtkaXNhYmxlZFRpdGxlfVxuICAgICAgICAgIGRvbWFpbj17ZG9tYWlufVxuICAgICAgICAgIGxhYmVscz17bGFiZWxzfVxuICAgICAgICAgIGxhYmVsTW9kZUVuYWJsZWQ9e2xhYmVsTW9kZUVuYWJsZWR9XG4gICAgICAgICAgbGFiZWxzUGxhY2Vob2xkZXJzPXtsYWJlbHNQbGFjZWhvbGRlcnN9XG4gICAgICAgICAgbWFya3M9e21hcmtzfVxuICAgICAgICAgIG9uQ2hhbmdlTWFya3M9eyFkaXNhYmxlZCA/IG9uQ2hhbmdlTWFya3MgOiB1bmRlZmluZWR9XG4gICAgICAgICAgb25DaGFuZ2VMYWJlbHM9e29uQ2hhbmdlTGFiZWxzfVxuICAgICAgICAgIG9uQ2hhbmdlVGl0bGU9e29uQ2hhbmdlVGl0bGV9XG4gICAgICAgICAgcmFuZ2U9e3JhbmdlfVxuICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgc2hvd0xhYmVscz17c2hvd0xhYmVsc31cbiAgICAgICAgICBzaG93UGl4ZWxHdWlkZXM9e3Nob3dQaXhlbEd1aWRlc31cbiAgICAgICAgICBzaG93VGl0bGU9e3Nob3dUaXRsZX1cbiAgICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgICAgdGl0bGVQbGFjZWhvbGRlcj17dGl0bGVQbGFjZWhvbGRlcn1cbiAgICAgICAgICB0b29scz17dG9vbHN9XG4gICAgICAgICAgZ3NzTGluZURhdGE9e2dzc0xpbmVEYXRhfVxuICAgICAgICAgIG9uU29sdXRpb25TZXRTZWxlY3RlZD17b25Tb2x1dGlvblNldFNlbGVjdGVkfVxuICAgICAgICAgIGRpc2FibGVkPXshIWRpc2FibGVkfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIGdyYXBoV2l0aENvbnRyb2xzOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIHdpZHRoOiAnbWluLWNvbnRlbnQnLFxuICB9LFxuICBjb250cm9sczoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgIHBhZGRpbmc6ICdjYWxjKDEuMjVyZW0gLSAxMnB4KSBjYWxjKDEuMjVyZW0gLSAxMnB4KSAxLjI1cmVtJyxcbiAgICBjb2xvcjogY29sb3IudGV4dCgpLFxuICAgIGJhY2tncm91bmRDb2xvcjogJyM5RkE4REEnLFxuICAgICcmIGJ1dHRvbic6IHtcbiAgICAgIGZvbnRTaXplOiAnMC44NzVyZW0nLFxuICAgICAgcGFkZGluZzogJzAuMjVyZW0gLjNyZW0nLFxuICAgICAgd2lkdGg6ICc1cmVtJyxcbiAgICB9LFxuICB9LFxuICBleHBhbnNpb25QYW5lbDoge1xuICAgIGJhY2tncm91bmRDb2xvcjogY29sb3IucHJpbWFyeUxpZ2h0KCksXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgfSxcbiAgc3VtbWFyeVJvb3Q6IHtcbiAgICBwYWRkaW5nOiBgMCAke3RoZW1lLnNwYWNpbmcudW5pdH1weGAsXG4gICAgbWluSGVpZ2h0OiAnMzJweCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgc3VtbWFyeUNvbnRlbnQ6IHtcbiAgICBtYXJnaW46ICc0cHggMCAhaW1wb3J0YW50JyxcbiAgfSxcbiAgZGV0YWlsczoge1xuICAgIHBhZGRpbmc6IDAsXG4gICAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gIH0sXG4gIHVuZG9SZWRvT3V0ZXJEaXY6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgbWFyZ2luVG9wOiAnLjVyZW0nLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShHcmFwaFdpdGhDb250cm9scyk7XG4iXX0=
372
+ //# sourceMappingURL=graph-with-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graph-with-controls.jsx"],"names":["setToolbarAvailability","toolbarTools","toolsArr","map","tA","toolbar","find","t","type","toolIsAvailable","tools","currentTool","tool","getAvailableTool","filterByValidToolTypes","backgroundMarks","filter","bM","allTools","filterByVisibleToolTypes","marks","getDefaultCurrentTool","toolType","Collapsible","classes","children","title","expansionPanel","root","summaryRoot","content","summaryContent","details","propTypes","PropTypes","object","array","string","GraphWithControls","props","setState","state","labelModeEnabled","defaultTool","prevProps","axesSettings","className","coordinatesOnHover","collapsibleToolbar","collapsibleToolbarTitle","disabled","disabledLabels","disabledTitle","domain","labels","labelsPlaceholders","onChangeLabels","onChangeMarks","onChangeTitle","onUndo","onRedo","range","size","showLabels","showPixelGuides","showTitle","titlePlaceholder","language","disableToolbar","gssLineData","onChangeGssLineData","onSolutionSetSelected","onCustomReset","tT","lineA","fill","lineType","lineB","gssActions","numberOfLines","undoRedoOuterDiv","graphWithControls","controls","r","labelNode","undefined","React","Component","graphPropTypes","func","onReset","arrayOf","styles","theme","display","flexDirection","width","justifyContent","padding","color","text","backgroundColor","fontSize","primaryLight","spacing","unit","minHeight","margin","marginTop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,YAAD;AAAA,SACpCC,gBAASC,GAAT,CAAa,UAACC,EAAD;AAAA,2CAAcA,EAAd;AAAkBC,MAAAA,OAAO,EAAE,CAAC,CAACJ,YAAY,CAACK,IAAb,CAAkB,UAACC,CAAD;AAAA,eAAOA,CAAC,KAAKH,EAAE,CAACI,IAAhB;AAAA,OAAlB;AAA7B;AAAA,GAAb,KAAyF,EADrD;AAAA,CAA/B;;;;AAGA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAQC,WAAR;AAAA,SAC7BA,WAAW,IAAID,KAAf,IAAwB,CAACA,KAAK,CAACJ,IAAN,CAAW,UAACM,IAAD;AAAA,WAAUA,IAAI,CAACJ,IAAL,KAAcG,WAAW,CAACH,IAApC;AAAA,GAAX,KAAwD,EAAzD,EAA6DH,OADxD;AAAA,CAAxB;;;;AAGA,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACH,KAAD;AAAA,SAAWA,KAAK,CAACJ,IAAN,CAAW,UAACM,IAAD;AAAA,WAAUA,IAAI,CAACP,OAAf;AAAA,GAAX,CAAX;AAAA,CAAzB;;;;AAEA,IAAMS,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,eAAD;AAAA,SACpCA,eAAe,CAACC,MAAhB,CAAuB,UAACC,EAAD;AAAA,WAAQ,CAAC,CAACC,gBAASZ,IAAT,CAAc,UAACM,IAAD;AAAA,aAAUA,IAAI,KAAKK,EAAE,CAACT,IAAtB;AAAA,KAAd,CAAV;AAAA,GAAvB,CADoC;AAAA,CAA/B;;;;AAGA,IAAMW,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAClB,YAAD,EAAemB,KAAf;AAAA,SACtCA,KAAK,CAACJ,MAAN,CAAa,UAACC,EAAD;AAAA,WAAQ,CAAC,CAAChB,YAAY,CAACK,IAAb,CAAkB,UAACM,IAAD;AAAA,aAAUA,IAAI,KAAKK,EAAE,CAACT,IAAtB;AAAA,KAAlB,CAAV;AAAA,GAAb,CADsC;AAAA,CAAjC;;;;AAGP,IAAMa,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,QAAD;AAAA,SAAcpB,gBAASI,IAAT,CAAc,UAACM,IAAD;AAAA,WAAUA,IAAI,CAACJ,IAAL,KAAcc,QAAxB;AAAA,GAAd,KAAmD,IAAjE;AAAA,CAA9B;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,QAAZ,QAAYA,QAAZ;AAAA,MAAsBC,KAAtB,QAAsBA,KAAtB;AAAA,sBAClB,gCAAC,oBAAD;AAAgB,IAAA,SAAS,EAAE,CAA3B;AAA8B,IAAA,SAAS,EAAEF,OAAO,CAACG,cAAjD;AAAiE,IAAA,eAAe,EAAE,IAAlF;AAAwF,IAAA,MAAM,EAAE;AAAhG,kBACE,gCAAC,2BAAD;AACE,IAAA,OAAO,EAAE;AACPC,MAAAA,IAAI,EAAEJ,OAAO,CAACK,WADP;AAEPC,MAAAA,OAAO,EAAEN,OAAO,CAACO;AAFV,KADX;AAKE,IAAA,UAAU,eAAE,gCAAC,sBAAD;AALd,kBAOE,gCAAC,gBAAD;AAAY,IAAA,OAAO,EAAC;AAApB,KAAkCL,KAAlC,CAPF,CADF,eAUE,gCAAC,2BAAD;AAAuB,IAAA,SAAS,EAAEF,OAAO,CAACQ;AAA1C,KAAoDP,QAApD,CAVF,CADkB;AAAA,CAApB;;AAeAF,WAAW,CAACU,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,MADG;AAEtBV,EAAAA,QAAQ,EAAES,sBAAUE,KAFE;AAGtBV,EAAAA,KAAK,EAAEQ,sBAAUG;AAHK,CAAxB;;IAMaC,iB;;;;;AAoBX,6BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,0GAmBC,UAAC3B,IAAD,EAAOF,KAAP;AAAA,aAAiB,MAAK8B,QAAL,CAAc;AAAE7B,QAAAA,WAAW,EAAED,KAAK,CAACJ,IAAN,CAAW,UAACC,CAAD;AAAA,iBAAOA,CAAC,CAACC,IAAF,KAAWI,IAAlB;AAAA,SAAX;AAAf,OAAd,CAAjB;AAAA,KAnBD;AAAA,wGAqBD;AAAA,aAAM,MAAK4B,QAAL,CAAc,UAACC,KAAD;AAAA,eAAY;AAAEC,UAAAA,gBAAgB,EAAE,CAACD,KAAK,CAACC;AAA3B,SAAZ;AAAA,OAAd,CAAN;AAAA,KArBC;AAGjB,UAAKD,KAAL,GAAa;AACX9B,MAAAA,WAAW,EAAEU,qBAAqB,CAACkB,KAAK,CAACI,WAAP,CADvB;AAEXD,MAAAA,gBAAgB,EAAE;AAFP,KAAb;AAHiB;AAOlB;;;;WAED,4BAAmBE,SAAnB,EAA8B;AAC5B,UAAQD,WAAR,GAAwB,KAAKJ,KAA7B,CAAQI,WAAR;;AAEA,UAAIC,SAAS,CAACD,WAAV,KAA0BA,WAA9B,EAA2C;AACzC,YAAMhC,WAAW,GAAGU,qBAAqB,CAACsB,WAAD,CAAzC;AAEA,aAAKH,QAAL,CAAc;AAAE7B,UAAAA,WAAW,EAAXA;AAAF,SAAd;AACD;AACF;;;WAMD,kBAAS;AAAA;;AACP,wBAAwC,KAAK8B,KAA7C;AAAA,UAAM9B,WAAN,eAAMA,WAAN;AAAA,UAAmB+B,gBAAnB,eAAmBA,gBAAnB;AACA,wBA+BI,KAAKH,KA/BT;AAAA,UACEM,YADF,eACEA,YADF;AAAA,UAEErB,OAFF,eAEEA,OAFF;AAAA,UAGEsB,SAHF,eAGEA,SAHF;AAAA,UAIEC,kBAJF,eAIEA,kBAJF;AAAA,UAKEC,kBALF,eAKEA,kBALF;AAAA,UAMEC,uBANF,eAMEA,uBANF;AAAA,UAOEC,QAPF,eAOEA,QAPF;AAAA,UAQEC,cARF,eAQEA,cARF;AAAA,UASEC,aATF,eASEA,aATF;AAAA,UAUEC,MAVF,eAUEA,MAVF;AAAA,UAWEC,MAXF,eAWEA,MAXF;AAAA,UAYEC,kBAZF,eAYEA,kBAZF;AAAA,UAaEC,cAbF,eAaEA,cAbF;AAAA,UAcEC,aAdF,eAcEA,aAdF;AAAA,UAeEC,aAfF,eAeEA,aAfF;AAAA,UAgBEC,MAhBF,eAgBEA,MAhBF;AAAA,UAiBEC,MAjBF,eAiBEA,MAjBF;AAAA,UAkBEC,KAlBF,eAkBEA,KAlBF;AAAA,UAmBEC,IAnBF,eAmBEA,IAnBF;AAAA,UAoBEC,UApBF,eAoBEA,UApBF;AAAA,UAqBEC,eArBF,eAqBEA,eArBF;AAAA,UAsBEC,SAtBF,eAsBEA,SAtBF;AAAA,UAuBEvC,KAvBF,eAuBEA,KAvBF;AAAA,UAwBEwC,gBAxBF,eAwBEA,gBAxBF;AAAA,UAyBEC,QAzBF,eAyBEA,QAzBF;AAAA,8CA0BEC,cA1BF;AAAA,UA0BEA,cA1BF,sCA0BmB,KA1BnB;AAAA,UA2BEC,WA3BF,eA2BEA,WA3BF;AAAA,UA4BEC,mBA5BF,eA4BEA,mBA5BF;AAAA,UA6BEC,qBA7BF,eA6BEA,qBA7BF;AAAA,UA8BEC,aA9BF,eA8BEA,aA9BF;AAgCA,yBAA+C,KAAKjC,KAApD;AAAA,UAAMxB,eAAN,gBAAMA,eAAN;AAAA,UAAuBK,KAAvB,gBAAuBA,KAAvB;AAAA,UAA8BnB,YAA9B,gBAA8BA,YAA9B,CAlCO,CAoCP;;AACAA,MAAAA,YAAY,GAAG,sBAAKA,YAAY,IAAI,EAArB,EAAyBe,MAAzB,CAAgC,UAACyD,EAAD;AAAA,eAAQ,CAAC,CAAC,0BAASA,EAAT,CAAV;AAAA,OAAhC,KAA2D,EAA1E,CArCO,CAuCP;;AACA1D,MAAAA,eAAe,GAAGD,sBAAsB,CAACC,eAAe,IAAI,EAApB,CAAxC,CAxCO,CA0CP;;AACAK,MAAAA,KAAK,GAAGD,wBAAwB,CAAClB,YAAD,EAAemB,KAAK,IAAI,EAAxB,CAAhC;AAEA,UAAIiD,WAAW,IAAIA,WAAW,CAACK,KAA3B,IAAoCtD,KAAK,CAAC,CAAD,CAAzC,IAAgDA,KAAK,CAAC,CAAD,CAAL,CAASZ,IAAT,KAAkB,MAAtE,EACEY,KAAK,CAAC,CAAD,CAAL,CAASuD,IAAT,GAAgBN,WAAW,CAACK,KAAZ,CAAkBE,QAAlC;AACF,UAAIP,WAAW,IAAIA,WAAW,CAACQ,KAA3B,IAAoCzD,KAAK,CAAC,CAAD,CAAzC,IAAgDA,KAAK,CAAC,CAAD,CAAL,CAASZ,IAAT,KAAkB,MAAtE,EACEY,KAAK,CAAC,CAAD,CAAL,CAASuD,IAAT,GAAgBN,WAAW,CAACQ,KAAZ,CAAkBD,QAAlC;AAEF,UAAMlE,KAAK,GAAGV,sBAAsB,CAACC,YAAD,CAApC,CAlDO,CAoDP;;AACA,UAAI,CAACU,WAAD,IAAgB,CAACF,eAAe,CAACC,KAAD,EAAQC,WAAR,CAApC,EAA0D;AACxDA,QAAAA,WAAW,GAAGE,gBAAgB,CAACH,KAAD,CAA9B;AACD;;AAED,UAAMoE,UAAU,GAAGT,WAAW,iBAC5B,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,oBAAD;AACE,QAAA,aAAa,EAAEA,WAAW,CAACU,aAD7B;AAEE,QAAA,WAAW,EAAEV,WAFf;AAGE,QAAA,QAAQ,EAAEC,mBAHZ;AAIE,QAAA,QAAQ,EAAE,CAAC,CAACpB,QAJd;AAKE,QAAA,QAAQ,EAAEiB;AALZ,QADF,EAQG,CAACjB,QAAD,iBACC,gCAAC,oBAAD;AACE,QAAA,SAAS,EAAE1B,OAAO,CAACwD,gBADrB;AAEE,QAAA,MAAM,EAAErB,MAFV;AAGE,QAAA,MAAM,EAAEC,MAHV;AAIE,QAAA,OAAO,EAAEY,aAJX;AAKE,QAAA,QAAQ,EAAEL;AALZ,QATJ,CADF;;AAqBA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAW3C,OAAO,CAACyD,iBAAnB,EAAsCnC,SAAtC;AAAhB,SACG,CAACsB,cAAD,iBACC;AAAK,QAAA,SAAS,EAAE5C,OAAO,CAAC0D;AAAxB,SACGlC,kBAAkB,gBACjB,gCAAC,WAAD;AAAa,QAAA,OAAO,EAAExB,OAAtB;AAA+B,QAAA,KAAK,EAAEyB;AAAtC,SACG6B,UADH,CADiB,GAKjBA,UANJ,CAFJ,eAaE;AAAK,QAAA,GAAG,EAAE,aAACK,CAAD;AAAA,iBAAQ,MAAI,CAACC,SAAL,GAAiBD,CAAzB;AAAA;AAAV,QAbF,eAeE,gCAAC,iBAAD;AACE,QAAA,YAAY,EAAEtC,YADhB;AAEE,QAAA,eAAe,EAAE9B,eAFnB;AAGE,QAAA,kBAAkB,EAAEgC,kBAHtB;AAIE,QAAA,WAAW,EAAEpC,WAJf;AAKE,QAAA,cAAc,EAAEwC,cALlB;AAME,QAAA,aAAa,EAAEC,aANjB;AAOE,QAAA,MAAM,EAAEC,MAPV;AAQE,QAAA,MAAM,EAAEC,MARV;AASE,QAAA,gBAAgB,EAAEZ,gBATpB;AAUE,QAAA,kBAAkB,EAAEa,kBAVtB;AAWE,QAAA,KAAK,EAAEnC,KAXT;AAYE,QAAA,aAAa,EAAE,CAAC8B,QAAD,GAAYO,aAAZ,GAA4B4B,SAZ7C;AAaE,QAAA,cAAc,EAAE7B,cAblB;AAcE,QAAA,aAAa,EAAEE,aAdjB;AAeE,QAAA,KAAK,EAAEG,KAfT;AAgBE,QAAA,IAAI,EAAEC,IAhBR;AAiBE,QAAA,UAAU,EAAEC,UAjBd;AAkBE,QAAA,eAAe,EAAEC,eAlBnB;AAmBE,QAAA,SAAS,EAAEC,SAnBb;AAoBE,QAAA,KAAK,EAAEvC,KApBT;AAqBE,QAAA,gBAAgB,EAAEwC,gBArBpB;AAsBE,QAAA,KAAK,EAAExD,KAtBT;AAuBE,QAAA,WAAW,EAAE2D,WAvBf;AAwBE,QAAA,qBAAqB,EAAEE,qBAxBzB;AAyBE,QAAA,QAAQ,EAAE,CAAC,CAACrB;AAzBd,QAfF,CADF;AA6CD;;;EAtKoCoC,kBAAMC,S;;;iCAAhCjD,iB,+CAENkD,qB;AACH7B,EAAAA,MAAM,EAAEzB,sBAAUuD,I;AAClB7B,EAAAA,MAAM,EAAE1B,sBAAUuD,I;AAClBC,EAAAA,OAAO,EAAExD,sBAAUuD,I;AACnBxF,EAAAA,YAAY,EAAEiC,sBAAUyD,OAAV,CAAkBzD,sBAAUG,MAA5B,C;AAAqC;AACnD8B,EAAAA,QAAQ,EAAEjC,sBAAUG;;iCAPXC,iB,kBAUW;AACpBU,EAAAA,kBAAkB,EAAE,KADA;AAEpBC,EAAAA,uBAAuB,EAAE,EAFL;AAGpBE,EAAAA,cAAc,EAAE,KAHI;AAIpBC,EAAAA,aAAa,EAAE,KAJK;AAKpBW,EAAAA,UAAU,EAAE,IALQ;AAMpBE,EAAAA,SAAS,EAAE,IANS;AAOpBhE,EAAAA,YAAY,EAAE;AAPM,C;;AA+JxB,IAAM2F,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBZ,IAAAA,iBAAiB,EAAE;AACjBa,MAAAA,OAAO,EAAE,MADQ;AAEjBC,MAAAA,aAAa,EAAE,QAFE;AAGjBC,MAAAA,KAAK,EAAE;AAHU,KADM;AAMzBd,IAAAA,QAAQ,EAAE;AACRY,MAAAA,OAAO,EAAE,MADD;AAERG,MAAAA,cAAc,EAAE,eAFR;AAGRC,MAAAA,OAAO,EAAE,mDAHD;AAIRC,MAAAA,KAAK,EAAEA,aAAMC,IAAN,EAJC;AAKRC,MAAAA,eAAe,EAAE,SALT;AAMR,kBAAY;AACVC,QAAAA,QAAQ,EAAE,UADA;AAEVJ,QAAAA,OAAO,EAAE,eAFC;AAGVF,QAAAA,KAAK,EAAE;AAHG;AANJ,KANe;AAkBzBrE,IAAAA,cAAc,EAAE;AACd0E,MAAAA,eAAe,EAAEF,aAAMI,YAAN,EADH;AAEdP,MAAAA,KAAK,EAAE;AAFO,KAlBS;AAsBzBnE,IAAAA,WAAW,EAAE;AACXqE,MAAAA,OAAO,cAAOL,KAAK,CAACW,OAAN,CAAcC,IAArB,OADI;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAtBY;AA0BzB3E,IAAAA,cAAc,EAAE;AACd4E,MAAAA,MAAM,EAAE;AADM,KA1BS;AA6BzB3E,IAAAA,OAAO,EAAE;AACPkE,MAAAA,OAAO,EAAE,CADF;AAEPU,MAAAA,SAAS,EAAEf,KAAK,CAACW,OAAN,CAAcC,IAFlB;AAGPX,MAAAA,OAAO,EAAE,MAHF;AAIPG,MAAAA,cAAc,EAAE;AAJT,KA7BgB;AAmCzBjB,IAAAA,gBAAgB,EAAE;AAChBc,MAAAA,OAAO,EAAE,MADO;AAEhBC,MAAAA,aAAa,EAAE,QAFC;AAGhBa,MAAAA,SAAS,EAAE;AAHK;AAnCO,GAAZ;AAAA,CAAf;;eA0Ce,wBAAWhB,MAAX,EAAmBtD,iBAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport uniq from 'lodash/uniq';\nimport isString from 'lodash/isString';\nimport { color } from '../../render-ui/src/index';\nimport ToolMenu from './tool-menu';\nimport Graph, { graphPropTypes } from './graph';\nimport UndoRedo from './undo-redo';\nimport { allTools, toolsArr } from './tools';\nimport { ExpansionPanel, ExpansionPanelDetails, ExpansionPanelSummary, Typography } from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\nexport const setToolbarAvailability = (toolbarTools) =>\n toolsArr.map((tA) => ({ ...tA, toolbar: !!toolbarTools.find((t) => t === tA.type) })) || [];\n\nexport const toolIsAvailable = (tools, currentTool) =>\n currentTool && tools && (tools.find((tool) => tool.type === currentTool.type) || {}).toolbar;\n\nexport const getAvailableTool = (tools) => tools.find((tool) => tool.toolbar);\n\nexport const filterByValidToolTypes = (backgroundMarks) =>\n backgroundMarks.filter((bM) => !!allTools.find((tool) => tool === bM.type));\n\nexport const filterByVisibleToolTypes = (toolbarTools, marks) =>\n marks.filter((bM) => !!toolbarTools.find((tool) => tool === bM.type));\n\nconst getDefaultCurrentTool = (toolType) => toolsArr.find((tool) => tool.type === toolType) || null;\n\nconst Collapsible = ({ classes, children, title }) => (\n <ExpansionPanel elevation={0} className={classes.expansionPanel} disabledGutters={true} square={true}>\n <ExpansionPanelSummary\n classes={{\n root: classes.summaryRoot,\n content: classes.summaryContent,\n }}\n expandIcon={<ExpandMoreIcon />}\n >\n <Typography variant=\"subheading\">{title}</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails className={classes.details}>{children}</ExpansionPanelDetails>\n </ExpansionPanel>\n);\n\nCollapsible.propTypes = {\n classes: PropTypes.object,\n children: PropTypes.array,\n title: PropTypes.string,\n};\n\nexport class GraphWithControls extends React.Component {\n static propTypes = {\n ...graphPropTypes,\n onUndo: PropTypes.func,\n onRedo: PropTypes.func,\n onReset: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string), // array of tool types that have to be displayed in the toolbar, same shape as 'allTools'\n language: PropTypes.string,\n };\n\n static defaultProps = {\n collapsibleToolbar: false,\n collapsibleToolbarTitle: '',\n disabledLabels: false,\n disabledTitle: false,\n showLabels: true,\n showTitle: true,\n toolbarTools: [],\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n currentTool: getDefaultCurrentTool(props.defaultTool),\n labelModeEnabled: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { defaultTool } = this.props;\n\n if (prevProps.defaultTool !== defaultTool) {\n const currentTool = getDefaultCurrentTool(defaultTool);\n\n this.setState({ currentTool });\n }\n }\n\n changeCurrentTool = (tool, tools) => this.setState({ currentTool: tools.find((t) => t.type === tool) });\n\n toggleLabelMode = () => this.setState((state) => ({ labelModeEnabled: !state.labelModeEnabled }));\n\n render() {\n let { currentTool, labelModeEnabled } = this.state;\n const {\n axesSettings,\n classes,\n className,\n coordinatesOnHover,\n collapsibleToolbar,\n collapsibleToolbarTitle,\n disabled,\n disabledLabels,\n disabledTitle,\n domain,\n labels,\n labelsPlaceholders,\n onChangeLabels,\n onChangeMarks,\n onChangeTitle,\n onUndo,\n onRedo,\n range,\n size,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n titlePlaceholder,\n language,\n disableToolbar = false,\n gssLineData,\n onChangeGssLineData,\n onSolutionSetSelected,\n onCustomReset,\n } = this.props;\n let { backgroundMarks, marks, toolbarTools } = this.props;\n\n // make sure only valid tool types are kept (string) and without duplicates\n toolbarTools = uniq(toolbarTools || []).filter((tT) => !!isString(tT)) || [];\n\n // keep only the backgroundMarks that have valid types\n backgroundMarks = filterByValidToolTypes(backgroundMarks || []);\n\n // keep only the marks that have types which appear in toolbar\n marks = filterByVisibleToolTypes(toolbarTools, marks || []);\n\n if (gssLineData && gssLineData.lineA && marks[0] && marks[0].type === 'line')\n marks[0].fill = gssLineData.lineA.lineType;\n if (gssLineData && gssLineData.lineB && marks[1] && marks[1].type === 'line')\n marks[1].fill = gssLineData.lineB.lineType;\n\n const tools = setToolbarAvailability(toolbarTools);\n\n // set current tool if there's no current tool or if the existing one is no longer available\n if (!currentTool || !toolIsAvailable(tools, currentTool)) {\n currentTool = getAvailableTool(tools);\n }\n\n const gssActions = gssLineData && (\n <React.Fragment>\n <ToolMenu\n numberOfLines={gssLineData.numberOfLines}\n gssLineData={gssLineData}\n onChange={onChangeGssLineData}\n disabled={!!disabled}\n language={language}\n />\n {!disabled && (\n <UndoRedo\n className={classes.undoRedoOuterDiv}\n onUndo={onUndo}\n onRedo={onRedo}\n onReset={onCustomReset}\n language={language}\n />\n )}\n </React.Fragment>\n );\n\n return (\n <div className={classNames(classes.graphWithControls, className)}>\n {!disableToolbar && (\n <div className={classes.controls}>\n {collapsibleToolbar ? (\n <Collapsible classes={classes} title={collapsibleToolbarTitle}>\n {gssActions}\n </Collapsible>\n ) : (\n gssActions\n )}\n </div>\n )}\n\n <div ref={(r) => (this.labelNode = r)} />\n\n <Graph\n axesSettings={axesSettings}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n currentTool={currentTool}\n disabledLabels={disabledLabels}\n disabledTitle={disabledTitle}\n domain={domain}\n labels={labels}\n labelModeEnabled={labelModeEnabled}\n labelsPlaceholders={labelsPlaceholders}\n marks={marks}\n onChangeMarks={!disabled ? onChangeMarks : undefined}\n onChangeLabels={onChangeLabels}\n onChangeTitle={onChangeTitle}\n range={range}\n size={size}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n title={title}\n titlePlaceholder={titlePlaceholder}\n tools={tools}\n gssLineData={gssLineData}\n onSolutionSetSelected={onSolutionSetSelected}\n disabled={!!disabled}\n />\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n graphWithControls: {\n display: 'flex',\n flexDirection: 'column',\n width: 'min-content',\n },\n controls: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: 'calc(1.25rem - 12px) calc(1.25rem - 12px) 1.25rem',\n color: color.text(),\n backgroundColor: '#9FA8DA',\n '& button': {\n fontSize: '0.875rem',\n padding: '0.25rem .3rem',\n width: '5rem',\n },\n },\n expansionPanel: {\n backgroundColor: color.primaryLight(),\n width: '100%',\n },\n summaryRoot: {\n padding: `0 ${theme.spacing.unit}px`,\n minHeight: '32px !important',\n },\n summaryContent: {\n margin: '4px 0 !important',\n },\n details: {\n padding: 0,\n marginTop: theme.spacing.unit,\n display: 'flex',\n justifyContent: 'space-between',\n },\n undoRedoOuterDiv: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: '.5rem',\n },\n});\n\nexport default withStyles(styles)(GraphWithControls);\n"],"file":"graph-with-controls.js"}
package/lib/graph.js CHANGED
@@ -416,4 +416,4 @@ exports.Graph = Graph;
416
416
  });
417
417
  var _default = Graph;
418
418
  exports["default"] = _default;
419
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmFwaC5qc3giXSwibmFtZXMiOlsibG9nIiwiZ3JhcGhQcm9wVHlwZXMiLCJheGVzU2V0dGluZ3MiLCJQcm9wVHlwZXMiLCJzaGFwZSIsIkF4aXNQcm9wVHlwZXMiLCJiYWNrZ3JvdW5kTWFya3MiLCJhcnJheSIsImNsYXNzTmFtZSIsInN0cmluZyIsImNvbGxhcHNpYmxlVG9vbGJhciIsImJvb2wiLCJjb2xsYXBzaWJsZVRvb2xiYXJUaXRsZSIsImRpc2FibGVkTGFiZWxzIiwiZGlzYWJsZWRUaXRsZSIsImRvbWFpbiIsInR5cGVzIiwiRG9tYWluVHlwZSIsImxhYmVscyIsIkxhYmVsVHlwZSIsImxhYmVsTW9kZUVuYWJsZWQiLCJjb29yZGluYXRlc09uSG92ZXIiLCJtYXJrcyIsIm9uQ2hhbmdlTGFiZWxzIiwiZnVuYyIsIm9uQ2hhbmdlTWFya3MiLCJvbkNoYW5nZVRpdGxlIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJudW1iZXIiLCJpc1JlcXVpcmVkIiwiaGVpZ2h0Iiwic2hvd0xhYmVscyIsInNob3dQaXhlbEd1aWRlcyIsInNob3dUaXRsZSIsInRpdGxlIiwidG9vbHMiLCJnZXRNYXNrU2l6ZSIsIngiLCJ5IiwicmVtb3ZlQnVpbGRpbmdUb29sSWZDdXJyZW50VG9vbERpZmZlcnMiLCJjdXJyZW50VG9vbCIsImJ1aWxkaW5nTWFyayIsImZpbHRlciIsIm0iLCJidWlsZGluZyIsIm5ld01hcmtzIiwidHlwZSIsImluZGV4IiwiZmluZEluZGV4Iiwic3BsaWNlIiwiR3JhcGgiLCJwcm9wcyIsInNldFN0YXRlIiwibGFiZWxOb2RlIiwib2xkTWFyayIsIm5ld01hcmsiLCJnc3NMaW5lRGF0YSIsInNlbGVjdGVkVG9vbCIsIm1hcmtEYXRhIiwidXBkYXRlZE1hcmsiLCJjb21wbGV0ZSIsInVwZGF0ZU1hcmtzIiwiZXhpc3RpbmciLCJ1cGRhdGUiLCJhZGRJZk1pc3NpbmciLCJtYXJrIiwidG9vbCIsImZpbmQiLCJ0IiwiQ29tcG9uZW50IiwicG9pbnQiLCJvblNvbHV0aW9uU2V0U2VsZWN0ZWQiLCJudW1iZXJPZkxpbmVzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiaW5jbHVkZXMiLCJhZGRQb2ludCIsIm1hc2tVaWQiLCJnZW5lcmF0ZU1hc2tJZCIsIk1hdGgiLCJyYW5kb20iLCJ0b0ZpeGVkIiwibGFiZWxzUGxhY2Vob2xkZXJzIiwidGl0bGVQbGFjZWhvbGRlciIsIm1hdGhNbE9wdGlvbnMiLCJkaXNhYmxlZCIsImdyYXBoUHJvcHMiLCJyb290Tm9kZSIsIm1hc2tTaXplIiwiY29tbW9uIiwic29sdXRpb25TZXQiLCJzZWN0aW9ucyIsImZvckVhY2giLCJzZWN0aW9uIiwicG9pbnRzIiwicG9seWdvbiIsImNsb3NlZCIsImlzU29sdXRpb24iLCJwdXNoIiwiciIsInBhZGRpbmciLCJvbkJnQ2xpY2siLCJtYXAiLCJnZXRDb21wb25lbnQiLCJtYXJrVHlwZSIsImlzQmFja2dyb3VuZCIsInN0YXRlIiwiY2hhbmdlTWFyayIsImNvbXBsZXRlTWFyayIsInN0YXJ0RHJhZyIsInN0b3BEcmFnIiwicG9pbnRlckV2ZW50cyIsImZvbnRTaXplIiwiUmVhY3QiLCJvYmplY3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsR0FBRyxHQUFHLHVCQUFNLHFDQUFOLENBQVo7QUFFTyxJQUFNQyxjQUFjLEdBQUc7QUFDNUJDLEVBQUFBLFlBQVksRUFBRUMsc0JBQVVDLEtBQVYsQ0FBZ0JDLG1CQUFoQixDQURjO0FBRTVCQyxFQUFBQSxlQUFlLEVBQUVILHNCQUFVSSxLQUZDO0FBRzVCQyxFQUFBQSxTQUFTLEVBQUVMLHNCQUFVTSxNQUhPO0FBSTVCQyxFQUFBQSxrQkFBa0IsRUFBRVAsc0JBQVVRLElBSkY7QUFLNUJDLEVBQUFBLHVCQUF1QixFQUFFVCxzQkFBVU0sTUFM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O0FBQUEsaUJBQWdCLE1BQUksQ0FBQ0EsU0FBTCxHQUFpQkEsU0FBakM7QUFBQSxTQURQO0FBRUUsUUFBQSxDQUFDLEVBQUMsR0FGSjtBQUdFLFFBQUEsQ0FBQyxFQUFDO0FBSEosU0FJTTNCLElBSk47QUFLRSxRQUFBLEtBQUssRUFBRTtBQUFFcUYsVUFBQUEsYUFBYSxFQUFFLE1BQWpCO0FBQXlCQyxVQUFBQSxRQUFRLEVBQUU7QUFBbkM7QUFMVCxTQXBDRixDQVpGLENBaEJGLENBREY7QUE0RUQ7OztFQXpRd0JDLGtCQUFNNUMsUzs7O2lDQUFwQm5CLEssK0NBT05uRCxjO0FBQ0h5QyxFQUFBQSxXQUFXLEVBQUV2QyxzQkFBVWlIOztpQ0FSZGhFLEssa0JBV1c7QUFDcEIzQixFQUFBQSxhQUFhLEVBQUUseUJBQU0sQ0FBRSxDQURIO0FBRXBCWixFQUFBQSxjQUFjLEVBQUUsS0FGSTtBQUdwQkMsRUFBQUEsYUFBYSxFQUFFO0FBSEssQztlQWlRVHNDLEsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgeyBSb290LCB0eXBlcywgY3JlYXRlR3JhcGhQcm9wcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuaW1wb3J0IHsgQXhlcywgQXhpc1Byb3BUeXBlcyB9IGZyb20gJy4vYXhpcyc7XG5pbXBvcnQgR3JpZCBmcm9tICcuL2dyaWQnO1xuaW1wb3J0IHsgTGFiZWxUeXBlIH0gZnJvbSAnLi9sYWJlbHMnO1xuaW1wb3J0IEJnIGZyb20gJy4vYmcnO1xuaW1wb3J0IHsgaXNEdXBsaWNhdGVkTWFyaywgYXJlQXJyYXlzT2ZPYmplY3RzRXF1YWwgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6Z3JhcGhpbmctc29sdXRpb24tc2V0OmdyYXBoJyk7XG5cbmV4cG9ydCBjb25zdCBncmFwaFByb3BUeXBlcyA9IHtcbiAgYXhlc1NldHRpbmdzOiBQcm9wVHlwZXMuc2hhcGUoQXhpc1Byb3BUeXBlcyksXG4gIGJhY2tncm91bmRNYXJrczogUHJvcFR5cGVzLmFycmF5LFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNvbGxhcHNpYmxlVG9vbGJhcjogUHJvcFR5cGVzLmJvb2wsXG4gIGNvbGxhcHNpYmxlVG9vbGJhclRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXNhYmxlZExhYmVsczogUHJvcFR5cGVzLmJvb2wsXG4gIGRpc2FibGVkVGl0bGU6IFByb3BUeXBlcy5ib29sLFxuICBkb21haW46IHR5cGVzLkRvbWFpblR5cGUsXG4gIGxhYmVsczogUHJvcFR5cGVzLnNoYXBlKExhYmVsVHlwZSksXG4gIGxhYmVsTW9kZUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBjb29yZGluYXRlc09uSG92ZXI6IFByb3BUeXBlcy5ib29sLFxuICBtYXJrczogUHJvcFR5cGVzLmFycmF5LFxuICBvbkNoYW5nZUxhYmVsczogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uQ2hhbmdlTWFya3M6IFByb3BUeXBlcy5mdW5jLFxuICBvbkNoYW5nZVRpdGxlOiBQcm9wVHlwZXMuZnVuYyxcbiAgcmFuZ2U6IHR5cGVzLkRvbWFpblR5cGUsXG4gIHNpemU6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgfSksXG4gIHNob3dMYWJlbHM6IFByb3BUeXBlcy5ib29sLFxuICBzaG93UGl4ZWxHdWlkZXM6IFByb3BUeXBlcy5ib29sLFxuICBzaG93VGl0bGU6IFByb3BUeXBlcy5ib29sLFxuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgdG9vbHM6IFByb3BUeXBlcy5hcnJheSxcbn07XG5cbmNvbnN0IGdldE1hc2tTaXplID0gKHNpemUpID0+ICh7XG4gIHg6IC0yMyxcbiAgeTogLTIzLFxuICB3aWR0aDogc2l6ZS53aWR0aCArIDQ2LFxuICBoZWlnaHQ6IHNpemUuaGVpZ2h0ICsgNDYsXG59KTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzID0gKHsgbWFya3MsIGN1cnJlbnRUb29sIH0pID0+IHtcbiAgY29uc3QgYnVpbGRpbmdNYXJrID0gbWFya3MuZmlsdGVyKChtKSA9PiBtLmJ1aWxkaW5nKVswXTtcbiAgbGV0IG5ld01hcmtzID0gY2xvbmVEZWVwKG1hcmtzKTtcblxuICBpZiAoYnVpbGRpbmdNYXJrICYmIGN1cnJlbnRUb29sICYmIGJ1aWxkaW5nTWFyay50eXBlICE9PSBjdXJyZW50VG9vbC50eXBlKSB7XG4gICAgY29uc3QgaW5kZXggPSBuZXdNYXJrcy5maW5kSW5kZXgoKG0pID0+IGlzRXF1YWwobSwgYnVpbGRpbmdNYXJrKSk7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgbmV3TWFya3Muc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3TWFya3M7XG59O1xuXG5leHBvcnQgY2xhc3MgR3JhcGggZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLm1hc2tVaWQgPSB0aGlzLmdlbmVyYXRlTWFza0lkKCk7XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC4uLmdyYXBoUHJvcFR5cGVzLFxuICAgIGN1cnJlbnRUb29sOiBQcm9wVHlwZXMub2JqZWN0LFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgb25DaGFuZ2VNYXJrczogKCkgPT4ge30sXG4gICAgZGlzYWJsZWRMYWJlbHM6IGZhbHNlLFxuICAgIGRpc2FibGVkVGl0bGU6IGZhbHNlLFxuICB9O1xuXG4gIHN0YXRlID0ge307XG5cbiAgZ2VuZXJhdGVNYXNrSWQoKSB7XG4gICAgcmV0dXJuICdncmFwaC0nICsgKE1hdGgucmFuZG9tKCkgKiAxMDAwMCkudG9GaXhlZCgpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTW91bnQgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHsgbGFiZWxOb2RlOiB0aGlzLmxhYmVsTm9kZSB9KTtcblxuICBjaGFuZ2VNYXJrID0gKG9sZE1hcmssIG5ld01hcmspID0+IHtcbiAgICBjb25zdCB7IG9uQ2hhbmdlTWFya3MsIG1hcmtzLCBnc3NMaW5lRGF0YSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChnc3NMaW5lRGF0YT8uc2VsZWN0ZWRUb29sID09PSAnc29sdXRpb25TZXQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG5ld01hcmtzID0gY2xvbmVEZWVwKG1hcmtzKTtcblxuICAgIGNvbnN0IGluZGV4ID0gbmV3TWFya3MuZmluZEluZGV4KChtKSA9PiBpc0VxdWFsKG0sIG9sZE1hcmspKTtcblxuICAgIGlmIChpbmRleCA+PSAwICYmICFpc0R1cGxpY2F0ZWRNYXJrKG5ld01hcmssIG1hcmtzLCBvbGRNYXJrKSkge1xuICAgICAgbmV3TWFya3Muc3BsaWNlKGluZGV4LCAxLCBuZXdNYXJrKTtcblxuICAgICAgb25DaGFuZ2VNYXJrcyhuZXdNYXJrcyk7XG4gICAgfVxuICB9O1xuXG4gIGNvbXBsZXRlTWFyayA9IChtYXJrRGF0YSkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFRvb2wsIG1hcmtzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGJ1aWxkaW5nTWFyayA9IG1hcmtzLmZpbHRlcigobSkgPT4gbS5idWlsZGluZylbMF07XG5cbiAgICBpZiAoIWJ1aWxkaW5nTWFyayB8fCAhY3VycmVudFRvb2wpIHJldHVybjtcblxuICAgIGNvbnN0IHVwZGF0ZWRNYXJrID0gY3VycmVudFRvb2wuY29tcGxldGUoYnVpbGRpbmdNYXJrLCBtYXJrRGF0YSk7XG5cbiAgICB0aGlzLnVwZGF0ZU1hcmtzKGJ1aWxkaW5nTWFyaywgdXBkYXRlZE1hcmspO1xuICB9O1xuXG4gIHVwZGF0ZU1hcmtzID0gKGV4aXN0aW5nLCB1cGRhdGUsIGFkZElmTWlzc2luZyA9IGZhbHNlKSA9PiB7XG4gICAgY29uc3QgeyBvbkNoYW5nZU1hcmtzLCBtYXJrcyB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgbmV3TWFya3MgPSBjbG9uZURlZXAobWFya3MpO1xuXG4gICAgaWYgKCF1cGRhdGUgfHwgKCF1cGRhdGUuYnVpbGRpbmcgJiYgaXNEdXBsaWNhdGVkTWFyayh1cGRhdGUsIG1hcmtzKSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleCA9IG5ld01hcmtzLmZpbmRJbmRleCgobSkgPT4gaXNFcXVhbChtLCBleGlzdGluZykpO1xuXG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIG5ld01hcmtzLnNwbGljZShpbmRleCwgMSwgdXBkYXRlKTtcblxuICAgICAgb25DaGFuZ2VNYXJrcyhuZXdNYXJrcyk7XG4gICAgfSBlbHNlIGlmIChhZGRJZk1pc3NpbmcpIHtcbiAgICAgIG9uQ2hhbmdlTWFya3MoWy4uLm5ld01hcmtzLCB1cGRhdGVdKTtcbiAgICB9XG4gIH07XG5cbiAgZ2V0Q29tcG9uZW50ID0gKG1hcmspID0+IHtcbiAgICBpZiAoIW1hcmspIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgdG9vbCA9ICh0aGlzLnByb3BzLnRvb2xzIHx8IFtdKS5maW5kKCh0KSA9PiB0LnR5cGUgPT09IG1hcmsudHlwZSk7XG5cbiAgICByZXR1cm4gKHRvb2wgJiYgdG9vbC5Db21wb25lbnQpIHx8IG51bGw7XG4gIH07XG5cbiAgb25CZ0NsaWNrID0gKHBvaW50KSA9PiB7XG4gICAgY29uc3QgeyB4LCB5IH0gPSBwb2ludCB8fCB7fTtcbiAgICBjb25zdCB7IGxhYmVsTW9kZUVuYWJsZWQsIGN1cnJlbnRUb29sLCBtYXJrcywgZ3NzTGluZURhdGEsIG9uU29sdXRpb25TZXRTZWxlY3RlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBpZiAoZ3NzTGluZURhdGEpIHtcbiAgICAgIGlmIChnc3NMaW5lRGF0YS5zZWxlY3RlZFRvb2wgPT09ICdzb2x1dGlvblNldCcpIHtcbiAgICAgICAgb25Tb2x1dGlvblNldFNlbGVjdGVkKHBvaW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBnc3NMaW5lRGF0YS5udW1iZXJPZkxpbmVzID09PSAxICYmXG4gICAgICAgIGdzc0xpbmVEYXRhLnNlbGVjdGVkVG9vbCA9PT0gJ2xpbmVBJyAmJlxuICAgICAgICBtYXJrcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgIW1hcmtzWzBdLmJ1aWxkaW5nXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGdzc0xpbmVEYXRhLm51bWJlck9mTGluZXMgPT09IDIgJiYgZ3NzTGluZURhdGEuc2VsZWN0ZWRUb29sID09PSAnbGluZUEnICYmIG1hcmtzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGdzc0xpbmVEYXRhLm51bWJlck9mTGluZXMgPT09IDIgJiZcbiAgICAgICAgZ3NzTGluZURhdGEuc2VsZWN0ZWRUb29sID09PSAnbGluZUEnICYmXG4gICAgICAgIG1hcmtzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAhbWFya3NbMF0uYnVpbGRpbmdcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIGdzc0xpbmVEYXRhLm51bWJlck9mTGluZXMgPT09IDIgJiZcbiAgICAgICAgZ3NzTGluZURhdGEuc2VsZWN0ZWRUb29sID09PSAnbGluZUInICYmXG4gICAgICAgIG1hcmtzLmxlbmd0aCA9PT0gMiAmJlxuICAgICAgICAhbWFya3NbMV0uYnVpbGRpbmdcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsYWJlbE1vZGVFbmFibGVkIHx8ICFjdXJyZW50VG9vbCB8fCBbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyh4KSB8fCBbbnVsbCwgdW5kZWZpbmVkXS5pbmNsdWRlcyh5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZygnW29uQmdDbGlja10geCx5OiAnLCB4LCB5KTtcblxuICAgIGNvbnN0IGJ1aWxkaW5nTWFyayA9IG1hcmtzLmZpbHRlcigobSkgPT4gbS5idWlsZGluZylbMF07XG4gICAgbGV0IHVwZGF0ZWRNYXJrO1xuXG4gICAgLy8gaWYgdGhlIGJ1aWxkaW5nIG1hcmsgaGFzIGEgZGlmZmVyZW50IHR5cGUsIHdlIGp1c3QgcmVwbGFjZSBpdFxuICAgIGlmIChidWlsZGluZ01hcmsgJiYgY3VycmVudFRvb2wgJiYgYnVpbGRpbmdNYXJrLnR5cGUgPT09IGN1cnJlbnRUb29sLnR5cGUpIHtcbiAgICAgIHVwZGF0ZWRNYXJrID0gY3VycmVudFRvb2wuYWRkUG9pbnQoeyB4LCB5IH0sIHsgLi4uYnVpbGRpbmdNYXJrIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVkTWFyayA9IGN1cnJlbnRUb29sLmFkZFBvaW50KHsgeCwgeSB9LCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlTWFya3MoYnVpbGRpbmdNYXJrLCB1cGRhdGVkTWFyaywgdHJ1ZSk7XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGF4ZXNTZXR0aW5ncyxcbiAgICAgIGN1cnJlbnRUb29sLFxuICAgICAgY29vcmRpbmF0ZXNPbkhvdmVyLFxuICAgICAgc2l6ZSxcbiAgICAgIGRpc2FibGVkTGFiZWxzLFxuICAgICAgZGlzYWJsZWRUaXRsZSxcbiAgICAgIGRvbWFpbixcbiAgICAgIGJhY2tncm91bmRNYXJrcyxcbiAgICAgIHJhbmdlLFxuICAgICAgdGl0bGUsXG4gICAgICBsYWJlbHMsXG4gICAgICBsYWJlbE1vZGVFbmFibGVkLFxuICAgICAgbGFiZWxzUGxhY2Vob2xkZXJzLFxuICAgICAgc2hvd0xhYmVscyxcbiAgICAgIHNob3dQaXhlbEd1aWRlcyxcbiAgICAgIHNob3dUaXRsZSxcbiAgICAgIHRpdGxlUGxhY2Vob2xkZXIsXG4gICAgICBvbkNoYW5nZUxhYmVscyxcbiAgICAgIG9uQ2hhbmdlVGl0bGUsXG4gICAgICBtYXRoTWxPcHRpb25zID0ge30sXG4gICAgICBnc3NMaW5lRGF0YSxcbiAgICAgIGRpc2FibGVkLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCB7IG1hcmtzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgZ3JhcGhQcm9wcyA9IGNyZWF0ZUdyYXBoUHJvcHMoZG9tYWluLCByYW5nZSwgc2l6ZSwgKCkgPT4gdGhpcy5yb290Tm9kZSk7XG5cbiAgICBjb25zdCBtYXNrU2l6ZSA9IGdldE1hc2tTaXplKHNpemUpO1xuICAgIGxldCBjb21tb24gPSB7IGdyYXBoUHJvcHMsIGxhYmVsTW9kZUVuYWJsZWQsIGdzc0xpbmVEYXRhIH07XG5cbiAgICBtYXJrcyA9IHJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzKHsgbWFya3M6IG1hcmtzIHx8IFtdLCBjdXJyZW50VG9vbCB9KTtcbiAgICBsZXQgc29sdXRpb25TZXQgPSBtYXJrcy5maWx0ZXIoKG1hcmspID0+IG1hcmsudHlwZSA9PT0gJ3BvbHlnb24nKTtcbiAgICBpZiAoZ3NzTGluZURhdGEgJiYgZ3NzTGluZURhdGEuc2VsZWN0ZWRUb29sID09PSAnc29sdXRpb25TZXQnKSB7XG4gICAgICBnc3NMaW5lRGF0YS5zZWN0aW9ucy5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChzb2x1dGlvblNldC5sZW5ndGggPT09IDAgfHwgIWFyZUFycmF5c09mT2JqZWN0c0VxdWFsKHNlY3Rpb24sIHNvbHV0aW9uU2V0WzBdLnBvaW50cykpIHtcbiAgICAgICAgICBsZXQgcG9seWdvbiA9IHtcbiAgICAgICAgICAgIHR5cGU6ICdwb2x5Z29uJyxcbiAgICAgICAgICAgIGJ1aWxkaW5nOiBmYWxzZSxcbiAgICAgICAgICAgIGNsb3NlZDogdHJ1ZSxcbiAgICAgICAgICAgIHBvaW50czogc2VjdGlvbixcbiAgICAgICAgICAgIGlzU29sdXRpb246IGZhbHNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKCFkaXNhYmxlZCkgbWFya3MucHVzaChwb2x5Z29uKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIC8vQWRqdXN0ZWQgbGF5ZXJpbmcgb2YgYWRkZWQgc3ZnIGVsZW1lbnRzIHNvIHRoYXQgcG9seWdvbnMgd2lsbCBiZSBhZGRlZCBmaXJzdCBhbmQgbGluZXMgd2lsbCBiZSBhZGRlZCBzZWNvbmRcbiAgICBsZXQgbmV3TWFya3MgPSBbXTtcbiAgICBuZXdNYXJrcy5wdXNoKC4uLm1hcmtzLmZpbHRlcigobWFyaykgPT4gbWFyay50eXBlID09PSAncG9seWdvbicpKTtcbiAgICBuZXdNYXJrcy5wdXNoKC4uLm1hcmtzLmZpbHRlcigobWFyaykgPT4gbWFyay50eXBlID09PSAnbGluZScpKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Um9vdFxuICAgICAgICByb290UmVmPXsocikgPT4gKHRoaXMucm9vdE5vZGUgPSByKX1cbiAgICAgICAgZGlzYWJsZWRUaXRsZT17ZGlzYWJsZWRUaXRsZX1cbiAgICAgICAgZGlzYWJsZWRMYWJlbHM9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgbGFiZWxzUGxhY2Vob2xkZXJzPXtsYWJlbHNQbGFjZWhvbGRlcnMgfHwge319XG4gICAgICAgIHNob3dQaXhlbEd1aWRlcz17c2hvd1BpeGVsR3VpZGVzfVxuICAgICAgICBzaG93TGFiZWxzPXtzaG93TGFiZWxzfVxuICAgICAgICBzaG93VGl0bGU9e3Nob3dUaXRsZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICB0aXRsZVBsYWNlaG9sZGVyPXt0aXRsZVBsYWNlaG9sZGVyfVxuICAgICAgICBvbkNoYW5nZVRpdGxlPXtvbkNoYW5nZVRpdGxlfVxuICAgICAgICBvbkNoYW5nZUxhYmVscz17b25DaGFuZ2VMYWJlbHN9XG4gICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgIHsuLi5jb21tb259XG4gICAgICA+XG4gICAgICAgIDxnXG4gICAgICAgICAgdHJhbnNmb3JtPXtcbiAgICAgICAgICAgIGRvbWFpbiAmJiBkb21haW4ucGFkZGluZyAmJiBkb21haW4ucmFuZ2UgPyBgdHJhbnNsYXRlKCR7ZG9tYWluLnBhZGRpbmd9LCAke3JhbmdlLnBhZGRpbmd9KWAgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8R3JpZCB7Li4uY29tbW9ufSAvPlxuICAgICAgICAgIDxBeGVzIHsuLi5heGVzU2V0dGluZ3N9IHsuLi5jb21tb259IC8+XG4gICAgICAgICAgPEJnIHsuLi5zaXplfSBvbkNsaWNrPXt0aGlzLm9uQmdDbGlja30gey4uLmNvbW1vbn0gLz5cbiAgICAgICAgICA8bWFzayBpZD17YCR7dGhpcy5tYXNrVWlkfWB9PlxuICAgICAgICAgICAgPHJlY3Qgey4uLm1hc2tTaXplfSBmaWxsPVwid2hpdGVcIiAvPiB7LyogVE9ETyBoYXJkY29kZWQgY29sb3IgKi99XG4gICAgICAgICAgPC9tYXNrPlxuXG4gICAgICAgICAgPGcgaWQ9XCJtYXJrc1wiIG1hc2s9e2B1cmwoJyMke3RoaXMubWFza1VpZH0nKWB9PlxuICAgICAgICAgICAgeyhiYWNrZ3JvdW5kTWFya3MgfHwgW10pLm1hcCgobSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgQ29tcG9uZW50ID0gdGhpcy5nZXRDb21wb25lbnQobSk7XG4gICAgICAgICAgICAgIGNvbnN0IG1hcmtUeXBlID0gbS50eXBlO1xuXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAga2V5PXtgJHttYXJrVHlwZX0tJHtpbmRleH0tYmdgfVxuICAgICAgICAgICAgICAgICAgbWFyaz17eyAuLi5tLCBkaXNhYmxlZDogdHJ1ZSwgaXNCYWNrZ3JvdW5kOiB0cnVlIH19XG4gICAgICAgICAgICAgICAgICBsYWJlbE5vZGU9e3RoaXMuc3RhdGUubGFiZWxOb2RlfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkJnQ2xpY2t9XG4gICAgICAgICAgICAgICAgICB7Li4uY29tbW9ufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cblxuICAgICAgICAgICAge25ld01hcmtzLm1hcCgobSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgQ29tcG9uZW50ID0gdGhpcy5nZXRDb21wb25lbnQobSk7XG4gICAgICAgICAgICAgIGNvbnN0IG1hcmtUeXBlID0gbS50eXBlO1xuXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPENvbXBvbmVudFxuICAgICAgICAgICAgICAgICAga2V5PXtgJHttYXJrVHlwZX0tJHtpbmRleH1gfVxuICAgICAgICAgICAgICAgICAgbWFyaz17bX1cbiAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzT25Ib3Zlcj17Y29vcmRpbmF0ZXNPbkhvdmVyfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlTWFya31cbiAgICAgICAgICAgICAgICAgIG9uQ29tcGxldGU9e3RoaXMuY29tcGxldGVNYXJrfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5vbkJnQ2xpY2t9XG4gICAgICAgICAgICAgICAgICBvbkRyYWdTdGFydD17dGhpcy5zdGFydERyYWd9XG4gICAgICAgICAgICAgICAgICBvbkRyYWdTdG9wPXt0aGlzLnN0b3BEcmFnfVxuICAgICAgICAgICAgICAgICAgbGFiZWxOb2RlPXt0aGlzLnN0YXRlLmxhYmVsTm9kZX1cbiAgICAgICAgICAgICAgICAgIGlzVG9vbEFjdGl2ZT17Y3VycmVudFRvb2wgJiYgbWFya1R5cGUgPT09IGN1cnJlbnRUb29sLnR5cGV9XG4gICAgICAgICAgICAgICAgICB7Li4uY29tbW9ufVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIDxmb3JlaWduT2JqZWN0XG4gICAgICAgICAgICAgIHJlZj17KGxhYmVsTm9kZSkgPT4gKHRoaXMubGFiZWxOb2RlID0gbGFiZWxOb2RlKX1cbiAgICAgICAgICAgICAgeD1cIjBcIlxuICAgICAgICAgICAgICB5PVwiMFwiXG4gICAgICAgICAgICAgIHsuLi5zaXplfVxuICAgICAgICAgICAgICBzdHlsZT17eyBwb2ludGVyRXZlbnRzOiAnbm9uZScsIGZvbnRTaXplOiAnMTRweCcgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L1Jvb3Q+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBHcmFwaDtcbiJdfQ==
419
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graph.jsx"],"names":["log","graphPropTypes","axesSettings","PropTypes","shape","AxisPropTypes","backgroundMarks","array","className","string","collapsibleToolbar","bool","collapsibleToolbarTitle","disabledLabels","disabledTitle","domain","types","DomainType","labels","LabelType","labelModeEnabled","coordinatesOnHover","marks","onChangeLabels","func","onChangeMarks","onChangeTitle","range","size","width","number","isRequired","height","showLabels","showPixelGuides","showTitle","title","tools","getMaskSize","x","y","removeBuildingToolIfCurrentToolDiffers","currentTool","buildingMark","filter","m","building","newMarks","type","index","findIndex","splice","Graph","props","setState","labelNode","oldMark","newMark","gssLineData","selectedTool","markData","updatedMark","complete","updateMarks","existing","update","addIfMissing","mark","tool","find","t","Component","point","onSolutionSetSelected","numberOfLines","length","undefined","includes","addPoint","maskUid","generateMaskId","Math","random","toFixed","labelsPlaceholders","titlePlaceholder","mathMlOptions","disabled","graphProps","rootNode","maskSize","common","solutionSet","sections","forEach","section","points","polygon","closed","isSolution","push","r","padding","onBgClick","map","getComponent","markType","isBackground","state","changeMark","completeMark","startDrag","stopDrag","pointerEvents","fontSize","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 { Axes, AxisPropTypes } from './axis';\nimport Grid from './grid';\nimport { LabelType } from './labels';\nimport Bg from './bg';\nimport { isDuplicatedMark, areArraysOfObjectsEqual } from './utils';\n\nconst log = debug('pie-lib:graphing-solution-set: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 disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n domain: types.DomainType,\n labels: PropTypes.shape(LabelType),\n labelModeEnabled: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n marks: PropTypes.array,\n onChangeLabels: PropTypes.func,\n onChangeMarks: PropTypes.func,\n onChangeTitle: PropTypes.func,\n range: types.DomainType,\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }),\n showLabels: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n showTitle: PropTypes.bool,\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 constructor(props) {\n super(props);\n this.maskUid = this.generateMaskId();\n }\n\n static propTypes = {\n ...graphPropTypes,\n currentTool: PropTypes.object,\n };\n\n static defaultProps = {\n onChangeMarks: () => {},\n disabledLabels: false,\n disabledTitle: false,\n };\n\n state = {};\n\n generateMaskId() {\n return 'graph-' + (Math.random() * 10000).toFixed();\n }\n\n componentDidMount = () => this.setState({ labelNode: this.labelNode });\n\n changeMark = (oldMark, newMark) => {\n const { onChangeMarks, marks, gssLineData } = this.props;\n\n if (gssLineData?.selectedTool === 'solutionSet') {\n return;\n }\n\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 || (!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, gssLineData, onSolutionSetSelected } = this.props;\n if (gssLineData) {\n if (gssLineData.selectedTool === 'solutionSet') {\n onSolutionSetSelected(point);\n return;\n }\n if (\n gssLineData.numberOfLines === 1 &&\n gssLineData.selectedTool === 'lineA' &&\n marks.length === 1 &&\n !marks[0].building\n ) {\n return;\n }\n if (gssLineData.numberOfLines === 2 && gssLineData.selectedTool === 'lineA' && marks.length === 2) {\n return;\n }\n if (\n gssLineData.numberOfLines === 2 &&\n gssLineData.selectedTool === 'lineA' &&\n marks.length === 1 &&\n !marks[0].building\n ) {\n return;\n }\n if (\n gssLineData.numberOfLines === 2 &&\n gssLineData.selectedTool === 'lineB' &&\n marks.length === 2 &&\n !marks[1].building\n ) {\n return;\n }\n }\n if (labelModeEnabled || !currentTool || [null, undefined].includes(x) || [null, undefined].includes(y)) {\n return;\n }\n\n log('[onBgClick] x,y: ', x, y);\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 disabledLabels,\n disabledTitle,\n domain,\n backgroundMarks,\n range,\n title,\n labels,\n labelModeEnabled,\n labelsPlaceholders,\n showLabels,\n showPixelGuides,\n showTitle,\n titlePlaceholder,\n onChangeLabels,\n onChangeTitle,\n mathMlOptions = {},\n gssLineData,\n disabled,\n } = this.props;\n let { marks } = this.props;\n\n const graphProps = createGraphProps(domain, range, size, () => this.rootNode);\n\n const maskSize = getMaskSize(size);\n let common = { graphProps, labelModeEnabled, gssLineData };\n\n marks = removeBuildingToolIfCurrentToolDiffers({ marks: marks || [], currentTool });\n let solutionSet = marks.filter((mark) => mark.type === 'polygon');\n if (gssLineData && gssLineData.selectedTool === 'solutionSet') {\n gssLineData.sections.forEach((section) => {\n if (solutionSet.length === 0 || !areArraysOfObjectsEqual(section, solutionSet[0].points)) {\n let polygon = {\n type: 'polygon',\n building: false,\n closed: true,\n points: section,\n isSolution: false,\n };\n if (!disabled) marks.push(polygon);\n }\n });\n }\n //Adjusted layering of added svg elements so that polygons will be added first and lines will be added second\n let newMarks = [];\n newMarks.push(...marks.filter((mark) => mark.type === 'polygon'));\n newMarks.push(...marks.filter((mark) => mark.type === 'line'));\n\n return (\n <Root\n rootRef={(r) => (this.rootNode = r)}\n disabledTitle={disabledTitle}\n disabledLabels={disabledLabels}\n labels={labels}\n labelsPlaceholders={labelsPlaceholders || {}}\n showPixelGuides={showPixelGuides}\n showLabels={showLabels}\n showTitle={showTitle}\n title={title}\n titlePlaceholder={titlePlaceholder}\n onChangeTitle={onChangeTitle}\n onChangeLabels={onChangeLabels}\n mathMlOptions={mathMlOptions}\n {...common}\n >\n <g\n transform={\n domain && domain.padding && domain.range ? `translate(${domain.padding}, ${range.padding})` : undefined\n }\n >\n <Grid {...common} />\n <Axes {...axesSettings} {...common} />\n <Bg {...size} onClick={this.onBgClick} {...common} />\n <mask id={`${this.maskUid}`}>\n <rect {...maskSize} fill=\"white\" /> {/* TODO hardcoded color */}\n </mask>\n\n <g id=\"marks\" mask={`url('#${this.maskUid}')`}>\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 onClick={this.onBgClick}\n {...common}\n />\n );\n })}\n\n {newMarks.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 <foreignObject\n ref={(labelNode) => (this.labelNode = labelNode)}\n x=\"0\"\n y=\"0\"\n {...size}\n style={{ pointerEvents: 'none', fontSize: '14px' }}\n />\n </g>\n </g>\n </Root>\n );\n }\n}\n\nexport default Graph;\n"],"file":"graph.js"}
package/lib/grid-setup.js CHANGED
@@ -13,7 +13,7 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
- var _renderUi = require("@pie-lib/render-ui");
16
+ var _index = require("./shared/index");
17
17
 
18
18
  var _styles = require("@material-ui/core/styles");
19
19
 
@@ -128,7 +128,7 @@ var AxisConfig = function AxisConfig(props) {
128
128
  onChange: function onChange(e, v) {
129
129
  return _onChange2('max', v);
130
130
  }
131
- }), axisLabel && axisLabel.enabled && /*#__PURE__*/_react["default"].createElement(_renderUi.InputContainer, {
131
+ }), axisLabel && axisLabel.enabled && /*#__PURE__*/_react["default"].createElement(_index.InputContainer, {
132
132
  label: axisLabel.label || '',
133
133
  className: classes.mediumTextField
134
134
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
@@ -448,7 +448,7 @@ var styles = function styles(theme) {
448
448
  alignItems: 'center'
449
449
  },
450
450
  disabled: {
451
- color: _renderUi.color.disabled()
451
+ color: _index.color.disabled()
452
452
  },
453
453
  axisLabel: {
454
454
  paddingTop: theme.spacing.unit * 2
@@ -459,4 +459,4 @@ var styles = function styles(theme) {
459
459
  var _default = (0, _styles.withStyles)(styles)(GridSetup);
460
460
 
461
461
  exports["default"] = _default;
462
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmlkLXNldHVwLmpzeCJdLCJuYW1lcyI6WyJHcmlkQ29uZmlnIiwicHJvcHMiLCJjbGFzc2VzIiwiZGlzYWJsZWQiLCJkaXNwbGF5ZWRGaWVsZHMiLCJsYWJlbFZhbHVlIiwibGFiZWxWYWx1ZXMiLCJncmlkVmFsdWUiLCJncmlkVmFsdWVzIiwib25DaGFuZ2UiLCJsYWJlbFN0ZXAiLCJzdGVwIiwiY29sdW1uVmlldyIsImVuYWJsZWQiLCJtZWRpdW1UZXh0RmllbGQiLCJsYWJlbCIsImUiLCJ2IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib2JqZWN0IiwiYm9vbCIsIm51bWJlciIsImFycmF5IiwiZnVuYyIsIkF4aXNDb25maWciLCJkaXNwbGF5SGVhZGVyIiwibWF4VmFsdWUiLCJtaW5WYWx1ZSIsInR5cGUiLCJheGlzTGFiZWwiLCJtaW4iLCJtYXgiLCJhY3RpdmVQbHVnaW5zIiwidmFsdWUiLCJzdHJpbmciLCJHcmlkU2V0dXAiLCJkb21haW4iLCJpbmNsdWRlQXhlcyIsIm9uQ2hhbmdlVmlldyIsInJhbmdlIiwic2l6ZSIsInNpemVDb25zdHJhaW50cyIsInN0YW5kYXJkR3JpZCIsImdyaWRQcm9wcyIsImRpbWVuc2lvbnNFbmFibGVkIiwiaW5jbHVkZUF4ZXNFbmFibGVkIiwic3RhbmRhcmRHcmlkRW5hYmxlZCIsImRpc3BsYXlBeGlzVHlwZSIsImdyaWRDb25maWdGaWVsZHMiLCJheGlzQ29uZmlnRmllbGRzIiwib25JbmNsdWRlQXhlcyIsIm5vQXhlc0NvbmZpZyIsImF4aXMiLCJ1cGRhdGVkUmFuZ2UiLCJ1cGRhdGVkRG9tYWluIiwib25TdGFuZGFyZEdyaWRDaGFuZ2VkIiwiZ3JhcGgiLCJoZWlnaHQiLCJ3aWR0aCIsIm9uU2l6ZUNoYW5nZWQiLCJrZXkiLCJvbkRvbWFpbkNoYW5nZWQiLCJvblJhbmdlQ2hhbmdlZCIsImF4ZXNDb25maWciLCJyb3dWaWV3IiwidGV4dCIsImdyaWRsaW5lc0NvbmZpZyIsImxhcmdlVGV4dEZpZWxkIiwid3JhcHBlciIsImNvbnRlbnQiLCJkaW1lbnNpb25zIiwidGV4dEZpZWxkIiwic3R5bGVzIiwidGhlbWUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsIm1hcmdpbiIsInNwYWNpbmciLCJ1bml0IiwiZm9udFN0eWxlIiwiY29sb3IiLCJwYWRkaW5nVG9wIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxLQUFELEVBQVc7QUFDNUIsTUFBUUMsT0FBUixHQUF5R0QsS0FBekcsQ0FBUUMsT0FBUjtBQUFBLE1BQWlCQyxRQUFqQixHQUF5R0YsS0FBekcsQ0FBaUJFLFFBQWpCO0FBQUEsTUFBMkJDLGVBQTNCLEdBQXlHSCxLQUF6RyxDQUEyQkcsZUFBM0I7QUFBQSxNQUE0Q0MsVUFBNUMsR0FBeUdKLEtBQXpHLENBQTRDSSxVQUE1QztBQUFBLE1BQXdEQyxXQUF4RCxHQUF5R0wsS0FBekcsQ0FBd0RLLFdBQXhEO0FBQUEsTUFBcUVDLFNBQXJFLEdBQXlHTixLQUF6RyxDQUFxRU0sU0FBckU7QUFBQSxNQUFnRkMsVUFBaEYsR0FBeUdQLEtBQXpHLENBQWdGTyxVQUFoRjtBQUFBLE1BQTRGQyxTQUE1RixHQUF5R1IsS0FBekcsQ0FBNEZRLFFBQTVGO0FBQ0EsOEJBQXNDTCxlQUF0QyxDQUFRTSxTQUFSO0FBQUEsTUFBUUEsU0FBUixzQ0FBb0IsRUFBcEI7QUFBQSw4QkFBc0NOLGVBQXRDLENBQXdCTyxJQUF4QjtBQUFBLE1BQXdCQSxJQUF4QixzQ0FBK0IsRUFBL0I7QUFFQSxzQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFFVCxPQUFPLENBQUNVO0FBQXhCLEtBQ0dELElBQUksSUFBSUEsSUFBSSxDQUFDRSxPQUFiLGlCQUNDLGdDQUFDLCtCQUFEO0FBQ0Us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RDtBQUZHLEtBbkJjO0FBdUJ6Qm5FLElBQUFBLGVBQWUsRUFBRTtBQUNmNkMsTUFBQUEsS0FBSyxFQUFFLE9BRFE7QUFFZm9CLE1BQUFBLE1BQU0sWUFBS0wsS0FBSyxDQUFDTSxPQUFOLENBQWNDLElBQW5CLGdCQUE2QlAsS0FBSyxDQUFDTSxPQUFOLENBQWNDLElBQWQsR0FBcUIsQ0FBbEQ7QUFGUyxLQXZCUTtBQTJCekJiLElBQUFBLGNBQWMsRUFBRTtBQUNkVCxNQUFBQSxLQUFLLEVBQUUsT0FETztBQUVkb0IsTUFBQUEsTUFBTSxZQUFLTCxLQUFLLENBQUNNLE9BQU4sQ0FBY0MsSUFBbkIsZ0JBQTZCUCxLQUFLLENBQUNNLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQUFsRDtBQUZRLEtBM0JTO0FBK0J6QmYsSUFBQUEsSUFBSSxFQUFFO0FBQ0pnQixNQUFBQSxTQUFTLEVBQUUsUUFEUDtBQUVKSCxNQUFBQSxNQUFNLFlBQUtMLEtBQUssQ0FBQ00sT0FBTixDQUFjQyxJQUFuQjtBQUZGLEtBL0JtQjtBQW1DekJWLElBQUFBLFVBQVUsRUFBRTtBQUNWSSxNQUFBQSxPQUFPLEVBQUUsTUFEQztBQUVWRyxNQUFBQSxjQUFjLEVBQUUsZUFGTjtBQUdWRCxNQUFBQSxVQUFVLEVBQUU7QUFIRixLQW5DYTtBQXdDekIxRSxJQUFBQSxRQUFRLEVBQUU7QUFDUmdGLE1BQUFBLEtBQUssRUFBRUEsZ0JBQU1oRixRQUFOO0FBREMsS0F4Q2U7QUEyQ3pCMkIsSUFBQUEsU0FBUyxFQUFFO0FBQ1RzRCxNQUFBQSxVQUFVLEVBQUVWLEtBQUssQ0FBQ00sT0FBTixDQUFjQyxJQUFkLEdBQXFCO0FBRHhCO0FBM0NjLEdBQVo7QUFBQSxDQUFmOztlQWdEZSx3QkFBV1IsTUFBWCxFQUFtQnJDLFNBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IGNvbG9yLCBJbnB1dENvbnRhaW5lciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyB3aXRoU3R5bGVzIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvc3R5bGVzJztcbmltcG9ydCBFeHBhbnNpb25QYW5lbFN1bW1hcnkgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvRXhwYW5zaW9uUGFuZWxTdW1tYXJ5JztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL1R5cG9ncmFwaHknO1xuaW1wb3J0IEV4cGFuc2lvblBhbmVsRGV0YWlscyBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9FeHBhbnNpb25QYW5lbERldGFpbHMnO1xuaW1wb3J0IEV4cGFuc2lvblBhbmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0V4cGFuc2lvblBhbmVsJztcbmltcG9ydCBFeHBhbmRNb3JlSWNvbiBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRXhwYW5kTW9yZSc7XG5pbXBvcnQgeyBOdW1iZXJUZXh0RmllbGRDdXN0b20sIFRvZ2dsZSB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgRWRpdGFibGVIVE1MIGZyb20gJ0BwaWUtbGliL2VkaXRhYmxlLWh0bWwnO1xuXG5jb25zdCBHcmlkQ29uZmlnID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NlcywgZGlzYWJsZWQsIGRpc3BsYXllZEZpZWxkcywgbGFiZWxWYWx1ZSwgbGFiZWxWYWx1ZXMsIGdyaWRWYWx1ZSwgZ3JpZFZhbHVlcywgb25DaGFuZ2UgfSA9IHByb3BzO1xuICBjb25zdCB7IGxhYmVsU3RlcCA9IHt9LCBzdGVwID0ge30gfSA9IGRpc3BsYXllZEZpZWxkcztcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbHVtblZpZXd9PlxuICAgICAge3N0ZXAgJiYgc3RlcC5lbmFibGVkICYmIChcbiAgICAgICAgPE51bWJlclRleHRGaWVsZEN1c3RvbVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tZWRpdW1UZXh0RmllbGR9XG4gICAgICAgICAgbGFiZWw9e3N0ZXAubGFiZWwgfHwgJyd9XG4gICAgICAgICAgdmFsdWU9e2dyaWRWYWx1ZX1cbiAgICAgICAgICBjdXN0b21WYWx1ZXM9e2dyaWRWYWx1ZXN9XG4gICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvbkNoYW5nZSgnc3RlcCcsIHYpfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtsYWJlbFN0ZXAgJiYgbGFiZWxTdGVwLmVuYWJsZWQgJiYgKFxuICAgICAgICA8TnVtYmVyVGV4dEZpZWxkQ3VzdG9tXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1lZGl1bVRleHRGaWVsZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWxTdGVwLmxhYmVsIHx8ICcnfVxuICAgICAgICAgIHZhbHVlPXtsYWJlbFZhbHVlfVxuICAgICAgICAgIGN1c3RvbVZhbHVlcz17bGFiZWxWYWx1ZXN9XG4gICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvbkNoYW5nZSgnbGFiZWxTdGVwJywgdil9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuR3JpZENvbmZpZy5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZGlzcGxheWVkRmllbGRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBsYWJlbFZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICBsYWJlbFZhbHVlczogUHJvcFR5cGVzLmFycmF5LFxuICBncmlkVmFsdWU6IFByb3BUeXBlcy5udW1iZXIsXG4gIGdyaWRWYWx1ZXM6IFByb3BUeXBlcy5hcnJheSxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxufTtcblxuY29uc3QgQXhpc0NvbmZpZyA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzZXMsIGRpc2FibGVkLCBkaXNwbGF5ZWRGaWVsZHMsIGRpc3BsYXlIZWFkZXIsIGxhYmVsLCBtYXhWYWx1ZSwgbWluVmFsdWUsIG9uQ2hhbmdlLCB0eXBlIH0gPSBwcm9wcztcbiAgY29uc3QgeyBheGlzTGFiZWwgPSB7fSwgbWluID0ge30sIG1heCA9IHt9IH0gPSBkaXNwbGF5ZWRGaWVsZHM7XG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnMgPSBbXG4gICAgJ2JvbGQnLFxuICAgICdpdGFsaWMnLFxuICAgICd1bmRlcmxpbmUnLFxuICAgICdzdHJpa2V0aHJvdWdoJyxcbiAgICAvLyAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJ1xuICBdO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuY29sdW1uVmlld30+XG4gICAgICB7ZGlzcGxheUhlYWRlciAmJiAoXG4gICAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9XCJzdWJ0aXRsZTJcIj5cbiAgICAgICAgICA8aT57dHlwZSA9PT0gJ2RvbWFpbicgPyAneCcgOiAneSd9PC9pPlxuICAgICAgICAgIC1heGlzXG4gICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICl9XG4gICAgICB7bWluICYmIG1pbi5lbmFibGVkICYmIChcbiAgICAgICAgPE51bWJlclRleHRGaWVsZEN1c3RvbVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tZWRpdW1UZXh0RmllbGR9XG4gICAgICAgICAgbGFiZWw9e21pbi5sYWJlbCB8fCAnJ31cbiAgICAgICAgICB2YWx1ZT17bWluVmFsdWV9XG4gICAgICAgICAgbWluPXstMTAwMDB9XG4gICAgICAgICAgbWF4PXttYXhWYWx1ZSAtIDAuMDV9XG4gICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvbkNoYW5nZSgnbWluJywgdil9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge21heCAmJiBtYXguZW5hYmxlZCAmJiAoXG4gICAgICAgIDxOdW1iZXJUZXh0RmllbGRDdXN0b21cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubWVkaXVtVGV4dEZpZWxkfVxuICAgICAgICAgIGxhYmVsPXttYXgubGFiZWwgfHwgJyd9XG4gICAgICAgICAgdmFsdWU9e21heFZhbHVlfVxuICAgICAgICAgIG1pbj17bWluVmFsdWUgKyAwLjA1fVxuICAgICAgICAgIG1heD17MTAwMDB9XG4gICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvbkNoYW5nZSgnbWF4Jywgdil9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge2F4aXNMYWJlbCAmJiBheGlzTGFiZWwuZW5hYmxlZCAmJiAoXG4gICAgICAgIDxJbnB1dENvbnRhaW5lciBsYWJlbD17YXhpc0xhYmVsLmxhYmVsIHx8ICcnfSBjbGFzc05hbWU9e2NsYXNzZXMubWVkaXVtVGV4dEZpZWxkfT5cbiAgICAgICAgICA8RWRpdGFibGVIVE1MXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMuYXhpc0xhYmVsfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gb25DaGFuZ2UoJ2F4aXNMYWJlbCcsIHZhbHVlKX1cbiAgICAgICAgICAgIG1hcmt1cD17bGFiZWwgfHwgJyd9XG4gICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9ezV9XG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVQbHVnaW5zfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSW5wdXRDb250YWluZXI+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuQXhpc0NvbmZpZy5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgZGlzcGxheWVkRmllbGRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBkaXNwbGF5SGVhZGVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1heFZhbHVlOiBQcm9wVHlwZXMubnVtYmVyLFxuICBtaW5WYWx1ZTogUHJvcFR5cGVzLm51bWJlcixcbiAgdHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxufTtcbmNvbnN0IEdyaWRTZXR1cCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NlcyxcbiAgICBkb21haW4sXG4gICAgZGlzcGxheWVkRmllbGRzID0ge30sXG4gICAgZ3JpZFZhbHVlcyA9IHt9LFxuICAgIGluY2x1ZGVBeGVzLFxuICAgIGxhYmVsVmFsdWVzID0ge30sXG4gICAgb25DaGFuZ2UsXG4gICAgb25DaGFuZ2VWaWV3LFxuICAgIHJhbmdlLFxuICAgIHNpemUsXG4gICAgc2l6ZUNvbnN0cmFpbnRzLFxuICAgIHN0YW5kYXJkR3JpZCxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBncmlkUHJvcHMgPSB7IG1pbjogMiwgbWF4OiA0MSB9O1xuICBjb25zdCB7XG4gICAgYXhpc0xhYmVsID0ge30sXG4gICAgZGltZW5zaW9uc0VuYWJsZWQsXG4gICAgaW5jbHVkZUF4ZXNFbmFibGVkLFxuICAgIGxhYmVsU3RlcCA9IHt9LFxuICAgIG1pbiA9IHt9LFxuICAgIG1heCA9IHt9LFxuICAgIHN0YW5kYXJkR3JpZEVuYWJsZWQsXG4gICAgc3RlcCA9IHt9LFxuICB9ID0gZGlzcGxheWVkRmllbGRzIHx8IHt9O1xuICBjb25zdCBkaXNwbGF5QXhpc1R5cGUgPSBtaW4uZW5hYmxlZCB8fCBtYXguZW5hYmxlZCB8fCBheGlzTGFiZWwuZW5hYmxlZCB8fCBzdGVwLmVuYWJsZWQgfHwgbGFiZWxTdGVwLmVuYWJsZWQ7XG4gIGNvbnN0IGdyaWRDb25maWdGaWVsZHMgPSB7IHN0ZXAsIGxhYmVsU3RlcCB9O1xuICBjb25zdCBheGlzQ29uZmlnRmllbGRzID0geyBtaW4sIG1heCwgYXhpc0xhYmVsIH07XG5cbiAgY29uc3Qgb25JbmNsdWRlQXhlcyA9IChpbmNsdWRlQXhlcykgPT4ge1xuICAgIGNvbnN0IG5vQXhlc0NvbmZpZyA9ICh0eXBlKSA9PiB7XG4gICAgICBjb25zdCBheGlzID0gdHlwZSA9PT0gJ2RvbWFpbicgPyBkb21haW4gOiByYW5nZTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWluOiAxLFxuICAgICAgICBtYXg6IGF4aXMubWF4IDwgZ3JpZFByb3BzLm1pbiB8fCBheGlzLm1heCA+IGdyaWRQcm9wcy5tYXggPyAxNiA6IGF4aXMubWF4LFxuICAgICAgICBzdGVwOiAxLFxuICAgICAgICBsYWJlbFN0ZXA6IDAsXG4gICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCB1cGRhdGVkUmFuZ2UgPSB7XG4gICAgICAuLi5yYW5nZSxcbiAgICAgIC4uLihpbmNsdWRlQXhlcyA/IHsgbGFiZWxTdGVwOiAxIH0gOiBub0F4ZXNDb25maWcoJ3JhbmdlJykpLFxuICAgIH07XG4gICAgY29uc3QgdXBkYXRlZERvbWFpbiA9IHtcbiAgICAgIC4uLmRvbWFpbixcbiAgICAgIC4uLihpbmNsdWRlQXhlcyA/IHsgbGFiZWxTdGVwOiAxIH0gOiBub0F4ZXNDb25maWcoJ2RvbWFpbicpKSxcbiAgICB9O1xuXG4gICAgb25DaGFuZ2UoeyBpbmNsdWRlQXhlcywgcmFuZ2U6IHVwZGF0ZWRSYW5nZSwgZG9tYWluOiB1cGRhdGVkRG9tYWluIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uU3RhbmRhcmRHcmlkQ2hhbmdlZCA9ICh2YWx1ZSkgPT4ge1xuICAgIG9uQ2hhbmdlKHtcbiAgICAgIHN0YW5kYXJkR3JpZDogdmFsdWUsXG4gICAgICByYW5nZToge1xuICAgICAgICAuLi5kb21haW4sXG4gICAgICAgIGF4aXNMYWJlbDogcmFuZ2UuYXhpc0xhYmVsLFxuICAgICAgfSxcbiAgICAgIGdyYXBoOiB7XG4gICAgICAgIC4uLnNpemUsXG4gICAgICAgIGhlaWdodDogc2l6ZS53aWR0aCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgb25TaXplQ2hhbmdlZCA9IChrZXksIHZhbHVlKSA9PiB7XG4gICAgY29uc3QgZ3JhcGggPSB7IC4uLnNpemUsIFtrZXldOiB2YWx1ZSB9O1xuXG4gICAgaWYgKHN0YW5kYXJkR3JpZCkge1xuICAgICAgZ3JhcGguaGVpZ2h0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgb25DaGFuZ2UoeyBncmFwaCB9KTtcbiAgfTtcblxuICBjb25zdCBvbkRvbWFpbkNoYW5nZWQgPSAoa2V5LCB2YWx1ZSkgPT4ge1xuICAgIGRvbWFpbltrZXldID0gdmFsdWU7XG5cbiAgICBpZiAoc3RhbmRhcmRHcmlkICYmIGtleSAhPT0gJ2F4aXNMYWJlbCcpIHtcbiAgICAgIHJhbmdlW2tleV0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZSh7IGRvbWFpbiwgcmFuZ2UgfSk7XG4gIH07XG5cbiAgY29uc3Qgb25SYW5nZUNoYW5nZWQgPSAoa2V5LCB2YWx1ZSkgPT4ge1xuICAgIHJhbmdlW2tleV0gPSB2YWx1ZTtcblxuICAgIG9uQ2hhbmdlKHsgcmFuZ2UgfSk7XG4gIH07XG5cbiAgY29uc3QgYXhlc0NvbmZpZyA9IChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3dWaWV3fT5cbiAgICAgICAgPEF4aXNDb25maWdcbiAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgIGRpc3BsYXllZEZpZWxkcz17YXhpc0NvbmZpZ0ZpZWxkc31cbiAgICAgICAgICBkaXNwbGF5SGVhZGVyPXtkaXNwbGF5QXhpc1R5cGV9XG4gICAgICAgICAgdHlwZT1cImRvbWFpblwiXG4gICAgICAgICAgbWluVmFsdWU9e2RvbWFpbi5taW59XG4gICAgICAgICAgbWF4VmFsdWU9e2RvbWFpbi5tYXh9XG4gICAgICAgICAgbGFiZWw9e2RvbWFpbi5heGlzTGFiZWx9XG4gICAgICAgICAgaW5jbHVkZUF4ZXM9e2luY2x1ZGVBeGVzfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvbkRvbWFpbkNoYW5nZWR9XG4gICAgICAgIC8+XG4gICAgICAgIDxBeGlzQ29uZmlnXG4gICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICBkaXNwbGF5ZWRGaWVsZHM9e2F4aXNDb25maWdGaWVsZHN9XG4gICAgICAgICAgZGlzcGxheUhlYWRlcj17ZGlzcGxheUF4aXNUeXBlfVxuICAgICAgICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgICAgICAgbWluVmFsdWU9e3JhbmdlLm1pbn1cbiAgICAgICAgICBtYXhWYWx1ZT17cmFuZ2UubWF4fVxuICAgICAgICAgIGxhYmVsPXtyYW5nZS5heGlzTGFiZWx9XG4gICAgICAgICAgZGlzYWJsZWQ9e3N0YW5kYXJkR3JpZH1cbiAgICAgICAgICBpbmNsdWRlQXhlcz17aW5jbHVkZUF4ZXN9XG4gICAgICAgICAgb25DaGFuZ2U9e29uUmFuZ2VDaGFuZ2VkfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7KG1pbi5lbmFibGVkIHx8IG1heC5lbmFibGVkKSAmJiAoXG4gICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0fT5cbiAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYXhpcyB0byBiZSB2aXNpYmxlLCB1c2UgYSB6ZXJvIG9yIG5lZ2F0aXZlIE1pbiBWYWx1ZSwgYW5kIGEgcG9zaXRpdmUgTWF4IFZhbHVlXG4gICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICl9XG4gICAgICB7KHN0ZXAuZW5hYmxlZCB8fCBsYWJlbFN0ZXAuZW5hYmxlZCkgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3dWaWV3fT5cbiAgICAgICAgICA8R3JpZENvbmZpZ1xuICAgICAgICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgICAgICAgIGRpc3BsYXllZEZpZWxkcz17Z3JpZENvbmZpZ0ZpZWxkc31cbiAgICAgICAgICAgIGdyaWRWYWx1ZT17ZG9tYWluLnN0ZXB9XG4gICAgICAgICAgICBsYWJlbFZhbHVlPXtkb21haW4ubGFiZWxTdGVwfVxuICAgICAgICAgICAgZ3JpZFZhbHVlcz17Z3JpZFZhbHVlcy5kb21haW4gfHwgW119XG4gICAgICAgICAgICBsYWJlbFZhbHVlcz17bGFiZWxWYWx1ZXMuZG9tYWluIHx8IFtdfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uRG9tYWluQ2hhbmdlZH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxHcmlkQ29uZmlnXG4gICAgICAgICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgICAgICAgZGlzYWJsZWQ9e3N0YW5kYXJkR3JpZH1cbiAgICAgICAgICAgIGRpc3BsYXllZEZpZWxkcz17Z3JpZENvbmZpZ0ZpZWxkc31cbiAgICAgICAgICAgIGdyaWRWYWx1ZT17cmFuZ2Uuc3RlcH1cbiAgICAgICAgICAgIGxhYmVsVmFsdWU9e3JhbmdlLmxhYmVsU3RlcH1cbiAgICAgICAgICAgIGdyaWRWYWx1ZXM9e2dyaWRWYWx1ZXMucmFuZ2UgfHwgW119XG4gICAgICAgICAgICBsYWJlbFZhbHVlcz17bGFiZWxWYWx1ZXMucmFuZ2UgfHwgW119XG4gICAgICAgICAgICBvbkNoYW5nZT17b25SYW5nZUNoYW5nZWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAge2xhYmVsU3RlcC5lbmFibGVkICYmIChcbiAgICAgICAgPFR5cG9ncmFwaHkgY2xhc3NOYW1lPXtjbGFzc2VzLnRleHR9PkZvciB1bm51bWJlcmVkIGdyaWRsaW5lcywgZW50ZXIgYSBsYWJlbCBpbnRlcnZhbCBvZiAwPC9UeXBvZ3JhcGh5PlxuICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xuXG4gIGNvbnN0IGdyaWRsaW5lc0NvbmZpZyA9IG1heC5lbmFibGVkID8gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbHVtblZpZXd9PlxuICAgICAgPE51bWJlclRleHRGaWVsZEN1c3RvbVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFyZ2VUZXh0RmllbGR9XG4gICAgICAgIGxhYmVsPVwiTnVtYmVyIG9mIFZlcnRpY2FsIEdyaWRsaW5lc1wiXG4gICAgICAgIHZhbHVlPXtkb21haW4ubWF4fVxuICAgICAgICBtaW49eyFpbmNsdWRlQXhlcyAmJiBncmlkUHJvcHMubWlufVxuICAgICAgICBtYXg9eyFpbmNsdWRlQXhlcyAmJiBncmlkUHJvcHMubWF4fVxuICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICBvbkNoYW5nZT17KGUsIHYpID0+IG9uRG9tYWluQ2hhbmdlZCgnbWF4Jywgdil9XG4gICAgICAvPlxuICAgICAgPE51bWJlclRleHRGaWVsZEN1c3RvbVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubGFyZ2VUZXh0RmllbGR9XG4gICAgICAgIGxhYmVsPVwiTnVtYmVyIG9mIEhvcml6b250YWwgR3JpZGxpbmVzXCJcbiAgICAgICAgdmFsdWU9e3JhbmdlLm1heH1cbiAgICAgICAgbWluPXshaW5jbHVkZUF4ZXMgJiYgZ3JpZFByb3BzLm1pbn1cbiAgICAgICAgbWF4PXshaW5jbHVkZUF4ZXMgJiYgZ3JpZFByb3BzLm1heH1cbiAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgZGlzYWJsZWQ9e3N0YW5kYXJkR3JpZH1cbiAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvblJhbmdlQ2hhbmdlZCgnbWF4Jywgdil9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLndyYXBwZXJ9PlxuICAgICAgPEV4cGFuc2lvblBhbmVsIG9uQ2hhbmdlPXtvbkNoYW5nZVZpZXd9PlxuICAgICAgICA8RXhwYW5zaW9uUGFuZWxTdW1tYXJ5IGV4cGFuZEljb249ezxFeHBhbmRNb3JlSWNvbiAvPn0+XG4gICAgICAgICAgPFR5cG9ncmFwaHkgdmFyaWFudD1cInN1YnRpdGxlMVwiPkN1c3RvbWl6ZSBHcmlkIFNldHVwPC9UeXBvZ3JhcGh5PlxuICAgICAgICA8L0V4cGFuc2lvblBhbmVsU3VtbWFyeT5cbiAgICAgICAgPEV4cGFuc2lvblBhbmVsRGV0YWlscz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb250ZW50fT5cbiAgICAgICAgICAgIHtpbmNsdWRlQXhlc0VuYWJsZWQgJiYgKFxuICAgICAgICAgICAgICA8VG9nZ2xlXG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkluY2x1ZGUgYXhlcyBhbmQgbGFiZWxzP1wiXG4gICAgICAgICAgICAgICAgICB0b2dnbGU9e29uSW5jbHVkZUF4ZXN9XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtpbmNsdWRlQXhlc30gLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7c3RhbmRhcmRHcmlkRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxUb2dnbGVcbiAgICAgICAgICAgICAgICAgIGxhYmVsPVwiQ29uc3RyYWluIHRvIHN0YW5kYXJkIGNvb3JkaW5hdGUgZ3JpZD9cIlxuICAgICAgICAgICAgICAgICAgdG9nZ2xlPXtvblN0YW5kYXJkR3JpZENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICBjaGVja2VkPXtzdGFuZGFyZEdyaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2luY2x1ZGVBeGVzID8gYXhlc0NvbmZpZyA6IGdyaWRsaW5lc0NvbmZpZ31cbiAgICAgICAgICAgIHtkaW1lbnNpb25zRW5hYmxlZCAmJiAoXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmRpbWVuc2lvbnN9PlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICA8VHlwb2dyYXBoeT5EaW1lbnNpb25zKHB4KTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgIDxUeXBvZ3JhcGh5IGNsYXNzTmFtZT17Y2xhc3Nlcy5kaXNhYmxlZH0+XG4gICAgICAgICAgICAgICAgICAgIE1pbiB7c2l6ZUNvbnN0cmFpbnRzLm1pbn0sIE1heCB7c2l6ZUNvbnN0cmFpbnRzLm1heH1cbiAgICAgICAgICAgICAgICAgIDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8TnVtYmVyVGV4dEZpZWxkQ3VzdG9tXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMudGV4dEZpZWxkfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9XCJXaWR0aFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c2l6ZS53aWR0aH1cbiAgICAgICAgICAgICAgICAgIG1pbj17c2l6ZUNvbnN0cmFpbnRzLm1pbn1cbiAgICAgICAgICAgICAgICAgIG1heD17c2l6ZUNvbnN0cmFpbnRzLm1heH1cbiAgICAgICAgICAgICAgICAgIHN0ZXA9e3NpemVDb25zdHJhaW50cy5zdGVwfVxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSwgdikgPT4gb25TaXplQ2hhbmdlZCgnd2lkdGgnLCB2KX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxOdW1iZXJUZXh0RmllbGRDdXN0b21cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0RmllbGR9XG4gICAgICAgICAgICAgICAgICBsYWJlbD1cIkhlaWdodFwiXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17c2l6ZS5oZWlnaHR9XG4gICAgICAgICAgICAgICAgICBtaW49e3NpemVDb25zdHJhaW50cy5taW59XG4gICAgICAgICAgICAgICAgICBtYXg9e3NpemVDb25zdHJhaW50cy5tYXh9XG4gICAgICAgICAgICAgICAgICBzdGVwPXtzaXplQ29uc3RyYWludHMuc3RlcH1cbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c3RhbmRhcmRHcmlkfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvblNpemVDaGFuZ2VkKCdoZWlnaHQnLCB2KX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvRXhwYW5zaW9uUGFuZWxEZXRhaWxzPlxuICAgICAgPC9FeHBhbnNpb25QYW5lbD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkdyaWRTZXR1cC5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGRvbWFpbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgZGlzcGxheWVkRmllbGRzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBncmlkVmFsdWVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBpbmNsdWRlQXhlczogUHJvcFR5cGVzLmJvb2wsXG4gIGxhYmVsVmFsdWVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uQ2hhbmdlVmlldzogUHJvcFR5cGVzLmZ1bmMsXG4gIHJhbmdlOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzaXplOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzaXplQ29uc3RyYWludHM6IFByb3BUeXBlcy5vYmplY3QsXG4gIHN0YW5kYXJkR3JpZDogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHdyYXBwZXI6IHtcbiAgICB3aWR0aDogJzQ1MHB4JyxcbiAgfSxcbiAgY29udGVudDoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICB9LFxuICBjb2x1bW5WaWV3OiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICByb3dWaWV3OiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYXJvdW5kJyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgfSxcbiAgdGV4dEZpZWxkOiB7XG4gICAgd2lkdGg6ICcxMzBweCcsXG4gICAgbWFyZ2luOiBgJHt0aGVtZS5zcGFjaW5nLnVuaXR9cHggJHt0aGVtZS5zcGFjaW5nLnVuaXQgLyAyfXB4YCxcbiAgfSxcbiAgbWVkaXVtVGV4dEZpZWxkOiB7XG4gICAgd2lkdGg6ICcxNjBweCcsXG4gICAgbWFyZ2luOiBgJHt0aGVtZS5zcGFjaW5nLnVuaXR9cHggJHt0aGVtZS5zcGFjaW5nLnVuaXQgLyAyfXB4YCxcbiAgfSxcbiAgbGFyZ2VUZXh0RmllbGQ6IHtcbiAgICB3aWR0aDogJzIzMHB4JyxcbiAgICBtYXJnaW46IGAke3RoZW1lLnNwYWNpbmcudW5pdH1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHhgLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgZm9udFN0eWxlOiAnaXRhbGljJyxcbiAgICBtYXJnaW46IGAke3RoZW1lLnNwYWNpbmcudW5pdH1weCAwYCxcbiAgfSxcbiAgZGltZW5zaW9uczoge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICBkaXNhYmxlZDoge1xuICAgIGNvbG9yOiBjb2xvci5kaXNhYmxlZCgpLFxuICB9LFxuICBheGlzTGFiZWw6IHtcbiAgICBwYWRkaW5nVG9wOiB0aGVtZS5zcGFjaW5nLnVuaXQgKiAyLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShHcmlkU2V0dXApO1xuIl19
462
+ //# sourceMappingURL=grid-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/grid-setup.jsx"],"names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","propTypes","PropTypes","object","bool","number","array","func","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","string","GridSetup","domain","includeAxes","onChangeView","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","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 '../../render-ui/src/index';\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, displayedFields, labelValue, labelValues, gridValue, gridValues, onChange } = 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\nGridConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n labelValue: PropTypes.number,\n labelValues: PropTypes.array,\n gridValue: PropTypes.number,\n gridValues: PropTypes.array,\n onChange: PropTypes.func,\n};\n\nconst AxisConfig = (props) => {\n const { classes, disabled, displayedFields, displayHeader, label, maxValue, minValue, onChange, type } = 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.05}\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.05}\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\nAxisConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n displayHeader: PropTypes.bool,\n label: PropTypes.string,\n maxValue: PropTypes.number,\n minValue: PropTypes.number,\n type: PropTypes.string,\n onChange: PropTypes.func,\n};\nconst GridSetup = (props) => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n onChangeView,\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 = 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 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}>For unnumbered gridlines, enter a label interval of 0</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 Vertical 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 Horizontal 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 onChange={onChangeView}>\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 label=\"Include axes and labels?\" toggle={onIncludeAxes} checked={includeAxes} />\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.func,\n onChangeView: PropTypes.func,\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
@@ -173,4 +173,4 @@ var _default = (0, _styles.withStyles)(function () {
173
173
  })(Grid);
174
174
 
175
175
  exports["default"] = _default;
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ncmlkLmpzeCJdLCJuYW1lcyI6WyJHcmlkIiwicm93VGlja1ZhbHVlcyIsImNvbHVtblRpY2tWYWx1ZXMiLCJwcm9wcyIsImdyYXBoUHJvcHMiLCJzY2FsZSIsInNpemUiLCJ3aWR0aCIsImhlaWdodCIsImRvbWFpbiIsInJhbmdlIiwicm93VGlja0xhYmVsVmFsdWVzIiwic3RlcCIsImxhYmVsU3RlcCIsImZpbHRlciIsInZhbHVlIiwiaW5jbHVkZXMiLCJjb2x1bW5UaWNrTGFiZWxWYWx1ZXMiLCJtaW5WYWx1ZUxlbmd0aCIsImxlbmd0aCIsIk1hdGgiLCJtaW4iLCJ0b1N0cmluZyIsInJlcGxhY2UiLCJtYXhWYWx1ZUxlbmd0aCIsIm1heCIsInJvd0xhYmVsTGVuZ3RoIiwiaG9yaXpvbnRhbERpc3RhbmNlVG9aZXJvIiwieCIsInZlcnRpY2FsRGlzdGFuY2VUb1plcm8iLCJ5IiwiY29sdW1uTGFiZWxMZW5ndGgiLCJyb3dTdHJva2VEYXNoYXJyYXkiLCJjb2x1bW5TdHJva2VEYXNoYXJyYXkiLCJkaXNwbGF5QWRkaXRpb25hbEdyaWQiLCJmaWx0ZXJlZENvbHVtblZhbHVlcyIsImZpbHRlcmVkUm93VmFsdWVzIiwiZ2V0QWRkaXRpb25hbEdyaWRQcm9wcyIsImFkZGl0aW9uYWxHcmlkU3Ryb2tlIiwiciIsImdyaWQiLCJSZWFjdCIsIkNvbXBvbmVudCIsImRpc2FibGVkIiwiUHJvcFR5cGVzIiwiYm9vbCIsImRpc2FibGVkQWRkaXRpb25hbEdyaWQiLCJjbGFzc2VzIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7OztJQUVhQSxJOzs7Ozs7Ozs7Ozs7Ozs7K0dBUWMsVUFBQ0MsYUFBRCxFQUFnQkMsZ0JBQWhCLEVBQXFDO0FBQzVELGtDQU9JLE1B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O0FBR2pCRSxFQUFBQSxPQUFPLEVBQUVILHNCQUFVSSxNQUFWLENBQWlCQyxVQUhUO0FBSWpCN0MsRUFBQUEsVUFBVSxFQUFFOEMsWUFBTUMsY0FBTixDQUFxQkY7QUFKaEIsQzs7ZUE4SE4sd0JBQVc7QUFBQSxTQUFPLEVBQVA7QUFBQSxDQUFYLEVBQXVCakQsSUFBdkIsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0ICogYXMgdnggZnJvbSAnQHZ4L2dyaWQnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgZ2V0VGlja1ZhbHVlcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgR3JpZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkQWRkaXRpb25hbEdyaWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGdldEFkZGl0aW9uYWxHcmlkUHJvcHMgPSAocm93VGlja1ZhbHVlcywgY29sdW1uVGlja1ZhbHVlcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGdyYXBoUHJvcHM6IHtcbiAgICAgICAgc2NhbGUsXG4gICAgICAgIHNpemU6IHsgd2lkdGgsIGhlaWdodCB9LFxuICAgICAgICBkb21haW4sXG4gICAgICAgIHJhbmdlLFxuICAgICAgfSxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCByb3dUaWNrTGFiZWxWYWx1ZXMgPSBnZXRUaWNrVmFsdWVzKHtcbiAgICAgIC4uLnJhbmdlLFxuICAgICAgc3RlcDogcmFuZ2UubGFiZWxTdGVwLFxuICAgIH0pLmZpbHRlcigodmFsdWUpID0+IHJvd1RpY2tWYWx1ZXMuaW5jbHVkZXModmFsdWUpKTtcbiAgICBjb25zdCBjb2x1bW5UaWNrTGFiZWxWYWx1ZXMgPSBnZXRUaWNrVmFsdWVzKHtcbiAgICAgIC4uLmRvbWFpbixcbiAgICAgIHN0ZXA6IGRvbWFpbi5sYWJlbFN0ZXAsXG4gICAgfSkuZmlsdGVyKCh2YWx1ZSkgPT4gY29sdW1uVGlja1ZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpO1xuXG4gICAgY29uc3QgbWluVmFsdWVMZW5ndGggPVxuICAgICAgKHJvd1RpY2tMYWJlbFZhbHVlcy5sZW5ndGggJiZcbiAgICAgICAgTWF0aC5taW4oLi4ucm93VGlja0xhYmVsVmFsdWVzKVxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLnJlcGxhY2UoL1suLV0vZywgJycpLmxlbmd0aCkgfHxcbiAgICAgIDE7XG4gICAgY29uc3QgbWF4VmFsdWVMZW5ndGggPVxuICAgICAgKHJvd1RpY2tMYWJlbFZhbHVlcy5sZW5ndGggJiZcbiAgICAgICAgTWF0aC5tYXgoLi4ucm93VGlja0xhYmVsVmFsdWVzKVxuICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgLnJlcGxhY2UoL1suLV0vZywgJycpLmxlbmd0aCkgfHxcbiAgICAgIDE7XG5cbiAgICBjb25zdCByb3dMYWJlbExlbmd0aCA9IE1hdGgubWF4KG1pblZhbHVlTGVuZ3RoLCBtYXhWYWx1ZUxlbmd0aCkgKiA5ICsgMjI7XG4gICAgY29uc3QgaG9yaXpvbnRhbERpc3RhbmNlVG9aZXJvID0gc2NhbGUueCgwKTtcbiAgICBjb25zdCB2ZXJ0aWNhbERpc3RhbmNlVG9aZXJvID0gc2NhbGUueSgwKTtcbiAgICBjb25zdCBjb2x1bW5MYWJlbExlbmd0aCA9IDI4O1xuICAgIGNvbnN0IHJvd1N0cm9rZURhc2hhcnJheSA9IGAke2hvcml6b250YWxEaXN0YW5jZVRvWmVybyAtIHJvd0xhYmVsTGVuZ3RofSAke3Jvd0xhYmVsTGVuZ3RofSAke3dpZHRofWA7XG4gICAgY29uc3QgY29sdW1uU3Ryb2tlRGFzaGFycmF5ID0gYCR7dmVydGljYWxEaXN0YW5jZVRvWmVyb30gJHtjb2x1bW5MYWJlbExlbmd0aH0gJHtoZWlnaHR9YDtcblxuICAgIGNvbnN0IGRpc3BsYXlBZGRpdGlvbmFsR3JpZCA9XG4gICAgICBkb21haW4ubGFiZWxTdGVwID4gMCAmJlxuICAgICAgcmFuZ2UubGFiZWxTdGVwID4gMCAmJlxuICAgICAgcm93VGlja0xhYmVsVmFsdWVzICYmXG4gICAgICBjb2x1bW5UaWNrTGFiZWxWYWx1ZXMgJiZcbiAgICAgIHJvd1RpY2tMYWJlbFZhbHVlcy5sZW5ndGggPiAxICYmXG4gICAgICBjb2x1bW5UaWNrTGFiZWxWYWx1ZXMubGVuZ3RoID4gMSAmJlxuICAgICAgKHJvd1RpY2tMYWJlbFZhbHVlcy5sZW5ndGggIT09IHJvd1RpY2tWYWx1ZXMubGVuZ3RoIHx8IGNvbHVtblRpY2tMYWJlbFZhbHVlcy5sZW5ndGggIT09IGNvbHVtblRpY2tWYWx1ZXMubGVuZ3RoKTtcblxuICAgIGNvbnN0IGZpbHRlcmVkQ29sdW1uVmFsdWVzID0gY29sdW1uVGlja0xhYmVsVmFsdWVzLmZpbHRlcihcbiAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPj0gMCB8fCBob3Jpem9udGFsRGlzdGFuY2VUb1plcm8gLSBzY2FsZS54KHZhbHVlKSA+IHJvd0xhYmVsTGVuZ3RoLFxuICAgICk7XG4gICAgY29uc3QgZmlsdGVyZWRSb3dWYWx1ZXMgPSByb3dUaWNrTGFiZWxWYWx1ZXMuZmlsdGVyKFxuICAgICAgKHZhbHVlKSA9PiB2YWx1ZSA+PSAwIHx8IHNjYWxlLnkodmFsdWUpIC0gdmVydGljYWxEaXN0YW5jZVRvWmVybyA+IGNvbHVtbkxhYmVsTGVuZ3RoLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcm93VGlja0xhYmVsVmFsdWVzOiBmaWx0ZXJlZFJvd1ZhbHVlcyxcbiAgICAgIGNvbHVtblRpY2tMYWJlbFZhbHVlczogZmlsdGVyZWRDb2x1bW5WYWx1ZXMsXG4gICAgICByb3dTdHJva2VEYXNoYXJyYXksXG4gICAgICBjb2x1bW5TdHJva2VEYXNoYXJyYXksXG4gICAgICBkaXNwbGF5QWRkaXRpb25hbEdyaWQsXG4gICAgfTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgIHNjYWxlLFxuICAgICAgc2l6ZTogeyBoZWlnaHQsIHdpZHRoIH0sXG4gICAgICBkb21haW4sXG4gICAgICByYW5nZSxcbiAgICB9ID0gZ3JhcGhQcm9wcztcbiAgICBjb25zdCByb3dUaWNrVmFsdWVzID0gZ2V0VGlja1ZhbHVlcyhyYW5nZSk7XG4gICAgY29uc3QgY29sdW1uVGlja1ZhbHVlcyA9IGdldFRpY2tWYWx1ZXMoZG9tYWluKTtcbiAgICBjb25zdCB7XG4gICAgICByb3dUaWNrTGFiZWxWYWx1ZXMsXG4gICAgICBjb2x1bW5UaWNrTGFiZWxWYWx1ZXMsXG4gICAgICByb3dTdHJva2VEYXNoYXJyYXksXG4gICAgICBjb2x1bW5TdHJva2VEYXNoYXJyYXksXG4gICAgICBkaXNwbGF5QWRkaXRpb25hbEdyaWQsXG4gICAgfSA9IHRoaXMuZ2V0QWRkaXRpb25hbEdyaWRQcm9wcyhyb3dUaWNrVmFsdWVzLCBjb2x1bW5UaWNrVmFsdWVzKTtcblxuICAgIGNvbnN0IGFkZGl0aW9uYWxHcmlkU3Ryb2tlID1cbiAgICAgIGRvbWFpbi5sYWJlbFN0ZXAgKiAyID09PSBkb21haW4uc3RlcCB8fCByYW5nZS5sYWJlbFN0ZXAgKiAyID09PSByYW5nZS5zdGVwID8gJyM5RkE4REEnIDogJyM3OTg1Q0InO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDx2eC5HcmlkXG4gICAgICAgICAgaW5uZXJSZWY9eyhyKSA9PiAodGhpcy5ncmlkID0gcil9XG4gICAgICAgICAgeFNjYWxlPXtzY2FsZS54fVxuICAgICAgICAgIHlTY2FsZT17c2NhbGUueX1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgc3Ryb2tlPVwiI0QzRDNEM1wiXG4gICAgICAgICAgcm93VGlja1ZhbHVlcz17cm93VGlja1ZhbHVlc31cbiAgICAgICAgICBjb2x1bW5UaWNrVmFsdWVzPXtjb2x1bW5UaWNrVmFsdWVzfVxuICAgICAgICAvPlxuICAgICAgICB7ZGlzcGxheUFkZGl0aW9uYWxHcmlkICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPHZ4LkdyaWRSb3dzXG4gICAgICAgICAgICAgIHNjYWxlPXtzY2FsZS55fVxuICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgIHRpY2tWYWx1ZXM9e3Jvd1RpY2tMYWJlbFZhbHVlc31cbiAgICAgICAgICAgICAgc3Ryb2tlPXthZGRpdGlvbmFsR3JpZFN0cm9rZX1cbiAgICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5PXtyb3dTdHJva2VEYXNoYXJyYXl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPHZ4LkdyaWRDb2x1bW5zXG4gICAgICAgICAgICAgIHNjYWxlPXtzY2FsZS54fVxuICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgdGlja1ZhbHVlcz17Y29sdW1uVGlja0xhYmVsVmFsdWVzfVxuICAgICAgICAgICAgICBzdHJva2U9e2FkZGl0aW9uYWxHcmlkU3Ryb2tlfVxuICAgICAgICAgICAgICBzdHJva2VEYXNoYXJyYXk9e2NvbHVtblN0cm9rZURhc2hhcnJheX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoKCkgPT4gKHt9KSkoR3JpZCk7XG4iXX0=
176
+ //# sourceMappingURL=grid.js.map
@@ -0,0 +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","getAdditionalGridProps","additionalGridStroke","r","grid","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","classes","object","isRequired","types","GraphPropsType"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types } from '@pie-lib/plot';\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 - 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 || 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 { 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 const additionalGridStroke =\n domain.labelStep * 2 === domain.step || range.labelStep * 2 === range.step ? '#9FA8DA' : '#7985CB';\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 stroke=\"#D3D3D3\"\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={additionalGridStroke}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={additionalGridStroke}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({}))(Grid);\n"],"file":"grid.js"}
package/lib/index.js CHANGED
@@ -48,4 +48,4 @@ var _toolMenu = _interopRequireDefault(require("./tool-menu"));
48
48
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
49
 
50
50
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGggZnJvbSAnLi9ncmFwaCc7XG5pbXBvcnQgR3JhcGhDb250YWluZXIgZnJvbSAnLi9jb250YWluZXInO1xuaW1wb3J0IEdyaWRTZXR1cCBmcm9tICcuL2dyaWQtc2V0dXAnO1xuaW1wb3J0ICogYXMgdG9vbHMgZnJvbSAnLi90b29scyc7XG5pbXBvcnQgVG9vbE1lbnUgZnJvbSAnLi90b29sLW1lbnUnO1xuXG5leHBvcnQgeyBHcmFwaCwgR3JhcGhDb250YWluZXIsIEdyaWRTZXR1cCwgVG9vbE1lbnUsIHRvb2xzIH07XG4iXX0=
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA","sourcesContent":["import Graph from './graph';\nimport GraphContainer from './container';\nimport GridSetup from './grid-setup';\nimport * as tools from './tools';\nimport ToolMenu from './tool-menu';\n\nexport { Graph, GraphContainer, GridSetup, ToolMenu, tools };\n"],"file":"index.js"}
package/lib/labels.js CHANGED
@@ -29,7 +29,7 @@ var _styles = require("@material-ui/core/styles");
29
29
 
30
30
  var _plot = require("@pie-lib/plot");
31
31
 
32
- var _renderUi = require("@pie-lib/render-ui");
32
+ var _index = require("./shared/index");
33
33
 
34
34
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
35
35
 
@@ -134,7 +134,7 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
134
134
  height: finalHeight,
135
135
  transform: transform,
136
136
  textAnchor: "middle"
137
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
137
+ }, /*#__PURE__*/_react["default"].createElement(_index.Readable, {
138
138
  "false": true
139
139
  }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
140
140
  className: (0, _classnames["default"])((_cn = {}, (0, _defineProperty2["default"])(_cn, classes.bottomLabel, side === 'bottom'), (0, _defineProperty2["default"])(_cn, classes.disabledAxisLabel, disabledLabel), _cn), classes.axisLabel),
@@ -169,7 +169,7 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
169
169
  var Label = (0, _styles.withStyles)(function (theme) {
170
170
  return {
171
171
  label: {
172
- fill: _renderUi.color.defaults.SECONDARY
172
+ fill: _index.color.defaults.SECONDARY
173
173
  },
174
174
  axisLabel: {
175
175
  fontSize: theme.typography.fontSize - 2,
@@ -296,4 +296,4 @@ exports.Labels = Labels;
296
296
  (0, _defineProperty2["default"])(Labels, "defaultProps", {});
297
297
  var _default = Labels;
298
298
  exports["default"] = _default;
299
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbHMuanN4Il0sIm5hbWVzIjpbInJvdGF0aW9ucyIsImxlZnQiLCJ0b3AiLCJib3R0b20iLCJyaWdodCIsImdldFRyYW5zZm9ybSIsInNpZGUiLCJ3aWR0aCIsImhlaWdodCIsInQiLCJ4IiwieSIsInJvdGF0ZSIsImdldFkiLCJSYXdMYWJlbCIsInByb3BzIiwiZGlzYWJsZWRMYWJlbCIsInBsYWNlaG9sZGVyIiwidGV4dCIsImdyYXBoUHJvcHMiLCJjbGFzc2VzIiwib25DaGFuZ2UiLCJtYXRoTWxPcHRpb25zIiwic2l6ZSIsImRvbWFpbiIsInJhbmdlIiwidG90YWxIZWlnaHQiLCJwYWRkaW5nIiwidG90YWxXaWR0aCIsInRyYW5zZm9ybSIsImZpbmFsSGVpZ2h0IiwiYWN0aXZlUGx1Z2lucyIsImJvdHRvbUxhYmVsIiwiZGlzYWJsZWRBeGlzTGFiZWwiLCJheGlzTGFiZWwiLCJwb3NpdGlvbiIsIm5vUGFkZGluZyIsIm5vQm9yZGVyIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvYmplY3QiLCJib29sIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsImlzUmVxdWlyZWQiLCJmdW5jIiwiTGFiZWwiLCJ0aGVtZSIsImxhYmVsIiwiZmlsbCIsImNvbG9yIiwiZGVmYXVsdHMiLCJTRUNPTkRBUlkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJ0ZXh0QWxpZ24iLCJwb2ludGVyRXZlbnRzIiwibWFyZ2luVG9wIiwiTGFiZWxUeXBlIiwiTGFiZWxzIiwibmV3VmFsdWUiLCJ2YWx1ZSIsImxhYmVscyIsImRpc2FibGVkTGFiZWxzIiwicGxhY2Vob2xkZXJzIiwib25DaGFuZ2VMYWJlbCIsImNsYXNzTmFtZSIsInNoYXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsU0FBUyxH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RixlQStCRSxnQ0FBQyxLQUFEO0FBQ0UsUUFBQSxHQUFHLEVBQUMsT0FETjtBQUVFLFFBQUEsSUFBSSxFQUFDLE9BRlA7QUFHRSxRQUFBLElBQUksRUFBRXlDLEtBQUssQ0FBQzNELEtBSGQ7QUFJRSxRQUFBLGFBQWEsRUFBRTZELGNBSmpCO0FBS0UsUUFBQSxXQUFXLEVBQUVDLFlBQVksQ0FBQzlELEtBTDVCO0FBTUUsUUFBQSxVQUFVLEVBQUVlLFVBTmQ7QUFPRSxRQUFBLFFBQVEsRUFBRSxrQkFBQzRDLEtBQUQ7QUFBQSxpQkFBVyxNQUFJLENBQUNJLGFBQUwsQ0FBbUJKLEtBQW5CLEVBQTBCLE9BQTFCLENBQVg7QUFBQSxTQVBaO0FBUUUsUUFBQSxhQUFhLEVBQUV6QztBQVJqQixRQS9CRixDQURGO0FBNENEOzs7RUF0RXlCZ0Isa0JBQU1DLFM7OztpQ0FBckJzQixNLGVBQ1E7QUFDakJ6QyxFQUFBQSxPQUFPLEVBQUVvQixzQkFBVUUsTUFERjtBQUVqQjBCLEVBQUFBLFNBQVMsRUFBRTVCLHNCQUFVQyxNQUZKO0FBR2pCd0IsRUFBQUEsY0FBYyxFQUFFekIsc0JBQVVHLElBSFQ7QUFJakJ1QixFQUFBQSxZQUFZLEVBQUUxQixzQkFBVUUsTUFKUDtBQUtqQnFCLEVBQUFBLEtBQUssRUFBRXZCLHNCQUFVNkIsS0FBVixDQUFnQlQsU0FBaEIsQ0FMVTtBQU1qQnpDLEVBQUFBLFVBQVUsRUFBRXFCLHNCQUFVRSxNQU5MO0FBT2pCckIsRUFBQUEsUUFBUSxFQUFFbUIsc0JBQVVFO0FBUEgsQztpQ0FEUm1CLE0sa0JBV1csRTtlQThEVEEsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyB0eXBlcyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuaW1wb3J0IHsgY29sb3IsIFJlYWRhYmxlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbCc7XG5pbXBvcnQgY24gZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmNvbnN0IHJvdGF0aW9ucyA9IHtcbiAgbGVmdDogLTkwLFxuICB0b3A6IDAsXG4gIGJvdHRvbTogMCxcbiAgcmlnaHQ6IDkwLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldFRyYW5zZm9ybSA9IChzaWRlLCB3aWR0aCwgaGVpZ2h0KSA9PiB7XG4gIGNvbnN0IHQgPSAoeCwgeSwgcm90YXRlKSA9PiBgdHJhbnNsYXRlKCR7eH0sICR7eX0pLCByb3RhdGUoJHtyb3RhdGV9KWA7XG5cbiAgaWYgKHNpZGUgPT09ICdsZWZ0Jykge1xuICAgIHJldHVybiB0KC0yMCwgaGVpZ2h0IC8gMiwgcm90YXRpb25zW3NpZGVdKTtcbiAgfVxuICBpZiAoc2lkZSA9PT0gJ3JpZ2h0Jykge1xuICAgIHJldHVybiB0KHdpZHRoICsgMzAsIGhlaWdodCAvIDIsIHJvdGF0aW9uc1tzaWRlXSk7XG4gIH1cbiAgaWYgKHNpZGUgPT09ICd0b3AnKSB7XG4gICAgcmV0dXJuIHQod2lkdGggLyAyLCAtMjAsIHJvdGF0aW9uc1tzaWRlXSk7XG4gIH1cbiAgaWYgKHNpZGUgPT09ICdib3R0b20nKSB7XG4gICAgcmV0dXJuIHQod2lkdGggLyAyLCBoZWlnaHQgKyAzMCwgcm90YXRpb25zW3NpZGVdKTtcbiAgfVxufTtcblxuY29uc3QgZ2V0WSA9IChzaWRlLCBoZWlnaHQpID0+IHtcbiAgc3dpdGNoIChzaWRlKSB7XG4gICAgY2FzZSAnbGVmdCc6XG4gICAgICByZXR1cm4gLWhlaWdodDtcbiAgICBjYXNlICd0b3AnOlxuICAgICAgcmV0dXJuIC1oZWlnaHQ7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgcmV0dXJuIC1oZWlnaHQgLSAxMDtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIC1oZWlnaHQgKyAxMDtcbiAgfVxufTtcblxuY2xhc3MgUmF3TGFiZWwgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgc2lkZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGRpc2FibGVkTGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgb25DaGFuZ2U6ICgpID0+IHt9LFxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGRpc2FibGVkTGFiZWwsIHBsYWNlaG9sZGVyLCB0ZXh0LCBzaWRlLCBncmFwaFByb3BzLCBjbGFzc2VzLCBvbkNoYW5nZSwgbWF0aE1sT3B0aW9ucyA9IHt9IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgc2l6ZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICBjb25zdCB0b3RhbEhlaWdodCA9IChzaXplLmhlaWdodCB8fCA1MDApICsgKHJhbmdlLnBhZGRpbmcgfHwgMCkgKiAyO1xuICAgIGNvbnN0IHRvdGFsV2lkdGggPSAoc2l6ZS53aWR0aCB8fCA1MDApICsgKGRvbWFpbi5wYWRkaW5nIHx8IDApICogMjtcblxuICAgIGNvbnN0IHRyYW5zZm9ybSA9IGdldFRyYW5zZm9ybShzaWRlLCB0b3RhbFdpZHRoLCB0b3RhbEhlaWdodCk7XG4gICAgY29uc3Qgd2lkdGggPSBzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JyA/IHRvdGFsSGVpZ2h0IDogdG90YWxXaWR0aDtcbiAgICBjb25zdCBoZWlnaHQgPSAzNjtcbiAgICBjb25zdCB5ID0gZ2V0WShzaWRlLCBoZWlnaHQpO1xuICAgIGNvbnN0IGZpbmFsSGVpZ2h0ID0gc2lkZSA9PT0gJ2JvdHRvbScgPyBoZWlnaHQgKyAyMiA6IGhlaWdodCArIDE4O1xuXG4gICAgY29uc3QgYWN0aXZlUGx1Z2lucyA9IFtcbiAgICAgICdib2xkJyxcbiAgICAgICdpdGFsaWMnLFxuICAgICAgJ3VuZGVybGluZScsXG4gICAgICAnc3RyaWtldGhyb3VnaCcsXG4gICAgICAnbWF0aCcsXG4gICAgICAvLyAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJ1xuICAgIF07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGZvcmVpZ25PYmplY3RcbiAgICAgICAgeD17LSh3aWR0aCAvIDIpfVxuICAgICAgICB5PXt5fVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGhlaWdodD17ZmluYWxIZWlnaHR9XG4gICAgICAgIHRyYW5zZm9ybT17dHJhbnNmb3JtfVxuICAgICAgICB0ZXh0QW5jaG9yPVwibWlkZGxlXCJcbiAgICAgID5cbiAgICAgICAgPFJlYWRhYmxlIGZhbHNlPlxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y24oXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbY2xhc3Nlcy5ib3R0b21MYWJlbF06IHNpZGUgPT09ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIFtjbGFzc2VzLmRpc2FibGVkQXhpc0xhYmVsXTogZGlzYWJsZWRMYWJlbCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY2xhc3Nlcy5heGlzTGFiZWwsXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgbWFya3VwPXt0ZXh0IHx8ICcnfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9eyFkaXNhYmxlZExhYmVsICYmIHBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgdG9vbGJhck9wdHM9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IHNpZGUgPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgbm9QYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICBub0JvcmRlcjogdHJ1ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVQbHVnaW5zfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1JlYWRhYmxlPlxuICAgICAgPC9mb3JlaWduT2JqZWN0PlxuICAgICk7XG4gIH1cbn1cblxuY29uc3QgTGFiZWwgPSB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgbGFiZWw6IHtcbiAgICBmaWxsOiBjb2xvci5kZWZhdWx0cy5TRUNPTkRBUlksXG4gIH0sXG4gIGF4aXNMYWJlbDoge1xuICAgIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplIC0gMixcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIHBhZGRpbmc6ICcwIDRweCcsXG4gIH0sXG4gIGRpc2FibGVkQXhpc0xhYmVsOiB7XG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICB9LFxuICBib3R0b21MYWJlbDoge1xuICAgIG1hcmdpblRvcDogJzQ0cHgnLFxuICB9LFxufSkpKFJhd0xhYmVsKTtcblxuZXhwb3J0IGNvbnN0IExhYmVsVHlwZSA9IHtcbiAgbGVmdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgdG9wOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBib3R0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGNsYXNzIExhYmVscyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZGlzYWJsZWRMYWJlbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIHBsYWNlaG9sZGVyczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnNoYXBlKExhYmVsVHlwZSksXG4gICAgZ3JhcGhQcm9wczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge307XG5cbiAgb25DaGFuZ2VMYWJlbCA9IChuZXdWYWx1ZSwgc2lkZSkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGxhYmVscyA9IHtcbiAgICAgIC4uLnZhbHVlLFxuICAgICAgW3NpZGVdOiBuZXdWYWx1ZSxcbiAgICB9O1xuXG4gICAgb25DaGFuZ2UobGFiZWxzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBkaXNhYmxlZExhYmVscywgcGxhY2Vob2xkZXJzID0ge30sIHZhbHVlID0ge30sIGdyYXBoUHJvcHMsIG1hdGhNbE9wdGlvbnMgPSB7fSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGtleT1cImxlZnRcIlxuICAgICAgICAgIHNpZGU9XCJsZWZ0XCJcbiAgICAgICAgICB0ZXh0PXt2YWx1ZS5sZWZ0fVxuICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcnMubGVmdH1cbiAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ2xlZnQnKX1cbiAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAvPlxuICAgICAgICA8TGFiZWxcbiAgICAgICAgICBrZXk9XCJ0b3BcIlxuICAgICAgICAgIHNpZGU9XCJ0b3BcIlxuICAgICAgICAgIHRleHQ9e3ZhbHVlLnRvcH1cbiAgICAgICAgICBkaXNhYmxlZExhYmVsPXtkaXNhYmxlZExhYmVsc31cbiAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJzLnRvcH1cbiAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ3RvcCcpfVxuICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgIC8+XG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGtleT1cImJvdHRvbVwiXG4gICAgICAgICAgc2lkZT1cImJvdHRvbVwiXG4gICAgICAgICAgdGV4dD17dmFsdWUuYm90dG9tfVxuICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcnMuYm90dG9tfVxuICAgICAgICAgIGdyYXBoUHJvcHM9e2dyYXBoUHJvcHN9XG4gICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4gdGhpcy5vbkNoYW5nZUxhYmVsKHZhbHVlLCAnYm90dG9tJyl9XG4gICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgICAgPExhYmVsXG4gICAgICAgICAga2V5PVwicmlnaHRcIlxuICAgICAgICAgIHNpZGU9XCJyaWdodFwiXG4gICAgICAgICAgdGV4dD17dmFsdWUucmlnaHR9XG4gICAgICAgICAgZGlzYWJsZWRMYWJlbD17ZGlzYWJsZWRMYWJlbHN9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVycy5yaWdodH1cbiAgICAgICAgICBncmFwaFByb3BzPXtncmFwaFByb3BzfVxuICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ3JpZ2h0Jyl9XG4gICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgLz5cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMYWJlbHM7XG4iXX0=
299
+ //# sourceMappingURL=labels.js.map