@pie-lib/charting 5.17.0-beta.0 → 5.18.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 (102) hide show
  1. package/CHANGELOG.json +1 -581
  2. package/CHANGELOG.md +141 -43
  3. package/lib/actions-button.js +174 -0
  4. package/lib/actions-button.js.map +1 -0
  5. package/lib/axes.js +52 -81
  6. package/lib/axes.js.map +1 -0
  7. package/lib/bars/bar.js +1 -1
  8. package/lib/bars/bar.js.map +1 -0
  9. package/lib/bars/common/bars.js +11 -13
  10. package/lib/bars/common/bars.js.map +1 -0
  11. package/lib/bars/histogram.js +1 -1
  12. package/lib/bars/histogram.js.map +1 -0
  13. package/lib/chart-setup.js +3 -3
  14. package/lib/chart-setup.js.map +1 -0
  15. package/lib/chart-type.js +1 -1
  16. package/lib/chart-type.js.map +1 -0
  17. package/lib/chart-types.js +1 -1
  18. package/lib/chart-types.js.map +1 -0
  19. package/lib/chart.js +67 -58
  20. package/lib/chart.js.map +1 -0
  21. package/lib/common/drag-handle.js +4 -4
  22. package/lib/common/drag-handle.js.map +1 -0
  23. package/lib/common/drag-icon.js +1 -1
  24. package/lib/common/drag-icon.js.map +1 -0
  25. package/lib/common/styles.js +5 -5
  26. package/lib/common/styles.js.map +1 -0
  27. package/lib/grid.js +50 -13
  28. package/lib/grid.js.map +1 -0
  29. package/lib/index.js +9 -1
  30. package/lib/index.js.map +1 -0
  31. package/lib/key-legend.js +111 -0
  32. package/lib/key-legend.js.map +1 -0
  33. package/lib/line/common/drag-handle.js +5 -11
  34. package/lib/line/common/drag-handle.js.map +1 -0
  35. package/lib/line/common/line.js +4 -8
  36. package/lib/line/common/line.js.map +1 -0
  37. package/lib/line/line-cross.js +40 -5
  38. package/lib/line/line-cross.js.map +1 -0
  39. package/lib/line/line-dot.js +32 -7
  40. package/lib/line/line-dot.js.map +1 -0
  41. package/lib/mark-label.js +11 -6
  42. package/lib/mark-label.js.map +1 -0
  43. package/lib/plot/common/plot.js +10 -9
  44. package/lib/plot/common/plot.js.map +1 -0
  45. package/lib/plot/dot.js +1 -1
  46. package/lib/plot/dot.js.map +1 -0
  47. package/lib/plot/line.js +1 -1
  48. package/lib/plot/line.js.map +1 -0
  49. package/lib/shared/index.js +136 -0
  50. package/lib/tool-menu.js +10 -10
  51. package/lib/tool-menu.js.map +1 -0
  52. package/lib/utils.js +1 -1
  53. package/lib/utils.js.map +1 -0
  54. package/package.json +5 -5
  55. package/src/__tests__/__snapshots__/axes.test.jsx.snap +1 -0
  56. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -18
  57. package/src/__tests__/__snapshots__/grid.test.jsx.snap +61 -17
  58. package/src/__tests__/axes.test.jsx +0 -5
  59. package/src/__tests__/chart.test.jsx +8 -0
  60. package/src/actions-button.jsx +109 -0
  61. package/src/axes.jsx +5 -31
  62. package/src/bars/common/bars.jsx +8 -10
  63. package/src/chart-setup.jsx +1 -1
  64. package/src/chart.jsx +31 -26
  65. package/src/common/drag-handle.jsx +3 -3
  66. package/src/common/styles.js +1 -1
  67. package/src/grid.jsx +38 -13
  68. package/src/index.js +2 -1
  69. package/src/key-legend.jsx +75 -0
  70. package/src/line/common/drag-handle.jsx +3 -9
  71. package/src/line/common/line.jsx +2 -6
  72. package/src/line/line-cross.js +29 -2
  73. package/src/line/line-dot.js +36 -19
  74. package/src/mark-label.jsx +7 -2
  75. package/src/plot/common/plot.jsx +8 -5
  76. package/src/tool-menu.jsx +1 -1
  77. package/lib/__tests__/axes.test.js +0 -181
  78. package/lib/__tests__/chart-setup.test.js +0 -58
  79. package/lib/__tests__/chart-type.test.js +0 -42
  80. package/lib/__tests__/chart.test.js +0 -108
  81. package/lib/__tests__/grid.test.js +0 -48
  82. package/lib/__tests__/mark-label.test.js +0 -57
  83. package/lib/__tests__/utils.js +0 -56
  84. package/lib/__tests__/utils.test.js +0 -197
  85. package/lib/bars/__tests__/bar.test.js +0 -62
  86. package/lib/bars/__tests__/histogram.test.js +0 -64
  87. package/lib/bars/__tests__/utils.js +0 -56
  88. package/lib/bars/common/__tests__/bars.test.js +0 -100
  89. package/lib/bars/common/__tests__/utils.js +0 -56
  90. package/lib/common/__tests__/drag-handle.test.js +0 -134
  91. package/lib/common/__tests__/utils.js +0 -56
  92. package/lib/line/__tests__/line-cross.test.js +0 -64
  93. package/lib/line/__tests__/line-dot.test.js +0 -64
  94. package/lib/line/__tests__/utils.js +0 -56
  95. package/lib/line/common/__tests__/drag-handle.test.js +0 -134
  96. package/lib/line/common/__tests__/line.test.js +0 -128
  97. package/lib/line/common/__tests__/utils.js +0 -56
  98. package/lib/plot/__tests__/dot.test.js +0 -64
  99. package/lib/plot/__tests__/line.test.js +0 -64
  100. package/lib/plot/__tests__/utils.js +0 -56
  101. package/lib/plot/common/__tests__/plot.test.js +0 -103
  102. package/lib/plot/common/__tests__/utils.js +0 -56
@@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
- var _renderUi = require("@pie-lib/render-ui");
22
+ var _index = require("./shared/index");
23
23
 
24
24
  var _styles = require("@material-ui/core/styles");
25
25
 
@@ -447,7 +447,7 @@ var styles = function styles(theme) {
447
447
  margin: "".concat(theme.spacing.unit * 3, "px 0")
448
448
  },
449
449
  disabled: {
450
- color: _renderUi.color.disabled()
450
+ color: _index.color.disabled()
451
451
  }
452
452
  };
453
453
  };
@@ -455,4 +455,4 @@ var styles = function styles(theme) {
455
455
  var _default = (0, _styles.withStyles)(styles)(ConfigureChartPanel);
456
456
 
457
457
  exports["default"] = _default;
458
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFydC1zZXR1cC5qc3giXSwibmFtZXMiOlsicmVzZXRWYWx1ZXMiLCJkYXRhIiwidXBkYXRlTW9kZWwiLCJyYW5nZSIsIm9uQ2hhbmdlIiwibW9kZWwiLCJmb3JFYWNoIiwiZCIsImRfdmFsdWVfc2NhbGVkIiwiTWF0aCIsInJvdW5kIiwidmFsdWUiLCJyYW5nZV9zdGVwX3NjYWxlZCIsInN0ZXAiLCJyZW1haW5kZXJfc2NhbGVkIiwicmVtYWluZGVyIiwibWF4IiwiQ29uZmlndXJlQ2hhcnRQYW5lbCIsInByb3BzIiwiY2xhc3NlcyIsImNoYXJ0RGltZW5zaW9ucyIsImdyaWRWYWx1ZXMiLCJsYWJlbFZhbHVlcyIsInN0dWRlbnROZXdDYXRlZ29yeURlZmF1bHRMYWJlbCIsImF2YWlsYWJsZUNoYXJ0VHlwZXMiLCJjaGFydFR5cGVMYWJlbCIsIm9wZW4iLCJ0aXRsZSIsInRleHQiLCJvbkNsb3NlIiwib25Db25maXJtIiwiYWxlcnREaWFsb2ciLCJzZXRBbGVydERpYWxvZyIsInNldE9wZW4iLCJyYW5nZUtleSIsInNldFJhbmdlS2V5IiwicmVzZXRWYWx1ZSIsInNldFJlc2V0VmFsdWUiLCJjb3JyZWN0QW5zd2VyIiwiY2hhbmdlSW50ZXJhY3RpdmVFbmFibGVkIiwiY2hhbmdlRWRpdGFibGVFbmFibGVkIiwic2l6ZSIsImdyYXBoIiwic2hvd0luQ29uZmlnUGFuZWwiLCJ3aWR0aCIsImhlaWdodCIsIndpZHRoQ29uc3RyYWludHMiLCJtaW4iLCJoZWlnaHRDb25zdHJhaW50cyIsImdyaWRPcHRpb25zIiwiY3VzdG9tVmFsdWVzIiwibGFiZWxPcHRpb25zIiwic3RlcENvbmZpZyIsInJvd1ZpZXciLCJtZWRpdW1UZXh0RmllbGQiLCJlIiwidiIsIm9uUmFuZ2VDaGFuZ2VkIiwibGFiZWxTdGVwIiwiaGFuZGxlQWxlcnREaWFsb2ciLCJvcGVuU3RhdHVzIiwiY2FsbGJhY2siLCJwcmV2U3RhdGUiLCJzZXRQcm9wZXJ0aWVzVG9GYWxzZSIsInByb3BlcnR5IiwibWFwIiwib2JqIiwiaGFzT3duUHJvcGVydHkiLCJyZW1vdmVPdXRPZlJhbmdlVmFsdWVzIiwic2V0Q2F0ZWdvcnlEZWZhdWx0TGFiZWwiLCJzdHVkZW50Q2F0ZWdvcnlEZWZhdWx0TGFiZWwiLCJsYWJlbCIsInJhbmdlUHJvcHMiLCJjaGFydFR5cGUiLCJpbmNsdWRlcyIsIm9uU2l6ZUNoYW5nZWQiLCJrZXkiLCJpc091dE9mUmFuZ2UiLCJmaW5kIiwiZmxvb3IiLCJvdXRPZlJhbmdlIiwiSlNPTiIsInN0cmluZ2lmeSIsImlzVmFsaWRQbG90IiwiZ2V0UGxvdENvbmZpZ3VyYXRpb24iLCJvbkNoYXJ0VHlwZUNoYW5nZSIsIndyYXBwZXIiLCJjb250ZW50IiwidGFyZ2V0IiwiZGltZW5zaW9ucyIsImNvbHVtblZpZXciLCJ0ZXh0RmllbGQiLCJkaXNhYmxlZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImRvbWFpbiIsImZ1bmMiLCJjaGFydERpbWVuc2lvbiIsInN0cmluZyIsInN0eWxlcyIsInRoZW1lIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJtYXJnaW5Ub3AiLCJzcGFjaW5nIiwidW5pdCIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsIm1hcmdpbiIsImxhcmdlVGV4dEZpZWxkIiwiZm9udFN0eWxlIiwiY29sb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFHTyxJQUFNQSxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDQyxJQUFELEVBQU9DLFdBQVAsRUFBb0JDLEtBQXBCLEVBQTJCQyxRQUEzQixFQUFxQ0MsS0FBckMsRUFBK0M7QUFDeEUsR0FBQ0osSUFBSSxJQUFJLEVBQVQsRUFBYUssT0FBYixDQUFxQixVQUFDQyxDQUFELEVBQU87QUFDMUIsUUFBTUMsY0FBYyxHQUFHQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsQ0FBQyxDQUFD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LEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFuQixnQkFBNkJMLEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBQWxEO0FBRlMsS0F4QlE7QUE0QnpCSSxJQUFBQSxjQUFjLEVBQUU7QUFDZGxFLE1BQUFBLEtBQUssRUFBRSxPQURPO0FBRWRpRSxNQUFBQSxNQUFNLFlBQUtSLEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFuQixnQkFBNkJMLEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFkLEdBQXFCLENBQWxEO0FBRlEsS0E1QlM7QUFnQ3pCOUUsSUFBQUEsSUFBSSxFQUFFO0FBQ0ptRixNQUFBQSxTQUFTLEVBQUUsUUFEUDtBQUVKRixNQUFBQSxNQUFNLFlBQUtSLEtBQUssQ0FBQ0ksT0FBTixDQUFjQyxJQUFuQjtBQUZGLEtBaENtQjtBQW9DekJqQixJQUFBQSxVQUFVLEVBQUU7QUFDVmEsTUFBQUEsT0FBTyxFQUFFLE1BREM7QUFFVk0sTUFBQUEsY0FBYyxFQUFFLGVBRk47QUFHVkQsTUFBQUEsVUFBVSxFQUFFLFFBSEY7QUFJVkUsTUFBQUEsTUFBTSxZQUFLUixLQUFLLENBQUNJLE9BQU4sQ0FBY0MsSUFBZCxHQUFxQixDQUExQjtBQUpJLEtBcENhO0FBMEN6QmQsSUFBQUEsUUFBUSxFQUFFO0FBQ1JvQixNQUFBQSxLQUFLLEVBQUVBLGdCQUFNcEIsUUFBTjtBQURDO0FBMUNlLEdBQVo7QUFBQSxDQUFmOztlQStDZSx3QkFBV1EsTUFBWCxFQUFtQm5GLG1CQUFuQixDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgVHlwb2dyYXBoeSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9UeXBvZ3JhcGh5JztcbmltcG9ydCBDaGFydFR5cGUgZnJvbSAnLi9jaGFydC10eXBlJztcbmltcG9ydCB7IE51bWJlclRleHRGaWVsZEN1c3RvbSB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5pbXBvcnQgeyBBbGVydERpYWxvZyB9IGZyb20gJ0BwaWUtbGliL2NvbmZpZy11aSc7XG5cbmV4cG9ydCBjb25zdCByZXNldFZhbHVlcyA9IChkYXRhLCB1cGRhdGVNb2RlbCwgcmFuZ2UsIG9uQ2hhbmdlLCBtb2RlbCkgPT4ge1xuICAoZGF0YSB8fCBbXSkuZm9yRWFjaCgoZCkgPT4ge1xuICAgIGNvbnN0IGRfdmFsdWVfc2NhbGVkID0gTWF0aC5yb3VuZChkLnZhbHVlICogMTApO1xuICAgIGNvbnN0IHJhbmdlX3N0ZXBfc2NhbGVkID0gTWF0aC5yb3VuZChyYW5nZS5zdGVwICogMTApO1xuICAgIGNvbnN0IHJlbWFpbmRlcl9zY2FsZWQgPSBkX3ZhbHVlX3NjYWxlZCAlIHJhbmdlX3N0ZXBfc2NhbGVkO1xuICAgIGNvbnN0IHJlbWFpbmRlciA9IHJlbWFpbmRlcl9zY2FsZWQgLyAxMDtcblxuICAgIGlmIChkLnZhbHVlID4gcmFuZ2UubWF4IHx8IHJlbWFpbmRlciAhPT0gMCkge1xuICAgICAgZC52YWx1ZSA9IDA7XG4gICAgfVxuICB9KTtcblxuICBpZiAodXBkYXRlTW9kZWwpIHtcbiAgICBvbkNoYW5nZSh7IC4uLm1vZGVsLCBkYXRhIH0pO1xuICB9XG59O1xuXG5jb25zdCBDb25maWd1cmVDaGFydFBhbmVsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc2VzLFxuICAgIG1vZGVsLFxuICAgIG9uQ2hhbmdlLFxuICAgIGNoYXJ0RGltZW5zaW9ucyxcbiAgICBncmlkVmFsdWVzID0ge30sXG4gICAgbGFiZWxWYWx1ZXMgPSB7fSxcbiAgICBzdHVkZW50TmV3Q2F0ZWdvcnlEZWZhdWx0TGFiZWwgPSB7fSxcbiAgICBhdmFpbGFibGVDaGFydFR5cGVzID0ge30sXG4gICAgY2hhcnRUeXBlTGFiZWwsXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2FsZXJ0RGlhbG9nLCBzZXRBbGVydERpYWxvZ10gPSB1c2VTdGF0ZSh7XG4gICAgb3BlbjogZmFsc2UsXG4gICAgdGl0bGU6ICcnLFxuICAgIHRleHQ6ICcnLFxuICAgIG9uQ2xvc2U6IG51bGwsXG4gICAgb25Db25maXJtOiBudWxsLFxuICB9KTtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbcmFuZ2VLZXksIHNldFJhbmdlS2V5XSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3Jlc2V0VmFsdWUsIHNldFJlc2V0VmFsdWVdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3QgeyByYW5nZSA9IHt9LCBjb3JyZWN0QW5zd2VyLCBjaGFuZ2VJbnRlcmFjdGl2ZUVuYWJsZWQsIGNoYW5nZUVkaXRhYmxlRW5hYmxlZCB9ID0gbW9kZWw7XG5cbiAgY29uc3Qgc2l6ZSA9IG1vZGVsLmdyYXBoO1xuICBjb25zdCB7IHNob3dJbkNvbmZpZ1BhbmVsLCB3aWR0aCwgaGVpZ2h0IH0gPSBjaGFydERpbWVuc2lvbnMgfHwge307XG5cbiAgY29uc3Qgd2lkdGhDb25zdHJhaW50cyA9IHtcbiAgICBtaW46IHdpZHRoPy5taW4gPyBNYXRoLm1heCg1MCwgd2lkdGgubWluKSA6IDUwLFxuICAgIG1heDogd2lkdGg/Lm1heCA/IE1hdGgubWluKDcwMCwgd2lkdGgubWF4KSA6IDcwMCxcbiAgICBzdGVwOiB3aWR0aD8uc3RlcCA+PSAxID8gTWF0aC5taW4oMjAwLCB3aWR0aC5zdGVwKSA6IDIwLFxuICB9O1xuICBjb25zdCBoZWlnaHRDb25zdHJhaW50cyA9IHtcbiAgICBtaW46IGhlaWdodD8ubWluID8gTWF0aC5tYXgoNDAwLCBoZWlnaHQubWluKSA6IDQwMCxcbiAgICBtYXg6IGhlaWdodD8ubWF4ID8gTWF0aC5taW4oNzAwLCBoZWlnaHQubWF4KSA6IDcwMCxcbiAgICBzdGVwOiBoZWlnaHQ/LnN0ZXAgPj0gMSA/IE1hdGgubWluKDIwMCwgaGVpZ2h0LnN0ZXApIDogMjAsXG4gIH07XG5cbiAgY29uc3QgZ3JpZE9wdGlvbnMgPSBncmlkVmFsdWVzICYmIGdyaWRWYWx1ZXMucmFuZ2UgPyB7IGN1c3RvbVZhbHVlczogZ3JpZFZhbHVlcy5yYW5nZSB9IDogeyBtaW46IDAsIG1heDogMTAwMDAgfTtcbiAgY29uc3QgbGFiZWxPcHRpb25zID0gbGFiZWxWYWx1ZXMgJiYgbGFiZWxWYWx1ZXMucmFuZ2UgPyB7IGN1c3RvbVZhbHVlczogbGFiZWxWYWx1ZXMucmFuZ2UgfSA6IHsgbWluOiAwLCBtYXg6IDEwMDAwIH07XG5cbiAgY29uc3Qgc3RlcENvbmZpZyA9IChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5yb3dWaWV3fT5cbiAgICAgIDxOdW1iZXJUZXh0RmllbGRDdXN0b21cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1lZGl1bVRleHRGaWVsZH1cbiAgICAgICAgbGFiZWw9XCJHcmlkIEludGVydmFsXCJcbiAgICAgICAgdmFsdWU9e3JhbmdlLnN0ZXB9XG4gICAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICAgIG9uQ2hhbmdlPXsoZSwgdikgPT4gb25SYW5nZUNoYW5nZWQoJ3N0ZXAnLCB2LCBlKX1cbiAgICAgICAgey4uLmdyaWRPcHRpb25zfVxuICAgICAgLz5cbiAgICAgIDxOdW1iZXJUZXh0RmllbGRDdXN0b21cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1lZGl1bVRleHRGaWVsZH1cbiAgICAgICAgbGFiZWw9eydMYWJlbCBJbnRlcnZhbCd9XG4gICAgICAgIHZhbHVlPXtyYW5nZS5sYWJlbFN0ZXB9XG4gICAgICAgIHZhcmlhbnQ9eydvdXRsaW5lZCd9XG4gICAgICAgIG9uQ2hhbmdlPXsoZSwgdikgPT4gb25SYW5nZUNoYW5nZWQoJ2xhYmVsU3RlcCcsIHYsIGUpfVxuICAgICAgICB7Li4ubGFiZWxPcHRpb25zfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICBjb25zdCBoYW5kbGVBbGVydERpYWxvZyA9IChvcGVuU3RhdHVzLCBjYWxsYmFjaykgPT4ge1xuICAgIHNldEFsZXJ0RGlhbG9nKFxuICAgICAgKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBvcGVuOiBvcGVuU3RhdHVzLFxuICAgICAgfSksXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHNldE9wZW4ob3BlblN0YXR1cyk7XG4gIH07XG5cbiAgY29uc3Qgc2V0UHJvcGVydGllc1RvRmFsc2UgPSAoZGF0YSwgcHJvcGVydHkpID0+IHtcbiAgICByZXR1cm4gZGF0YS5tYXAoKG9iaikgPT4ge1xuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkpIHtcbiAgICAgICAgb2JqW3Byb3BlcnR5XSA9IHByb3BlcnR5ID09ICdpbnRlcmFjdGl2ZScgPyB0cnVlIDogZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZU91dE9mUmFuZ2VWYWx1ZXMgPSAodXBkYXRlTW9kZWwpID0+IHtcbiAgICBjb25zdCB7IGNvcnJlY3RBbnN3ZXIsIGRhdGEgfSA9IG1vZGVsO1xuXG4gICAgaWYgKGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZCA9PT0gZmFsc2UpIHtcbiAgICAgIHNldFByb3BlcnRpZXNUb0ZhbHNlKGRhdGEsICdpbnRlcmFjdGl2ZScpO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VFZGl0YWJsZUVuYWJsZWQgPT09IGZhbHNlKSB7XG4gICAgICBzZXRQcm9wZXJ0aWVzVG9GYWxzZShkYXRhLCAnZWRpdGFibGUnKTtcbiAgICB9XG5cbiAgICByZXNldFZhbHVlcyhkYXRhLCB1cGRhdGVNb2RlbCwgcmFuZ2UsIG9uQ2hhbmdlLCBtb2RlbCk7XG4gICAgcmVzZXRWYWx1ZXMoY29ycmVjdEFuc3dlci5kYXRhLCBmYWxzZSwgcmFuZ2UsIG9uQ2hhbmdlLCBtb2RlbCk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Q2F0ZWdvcnlEZWZhdWx0TGFiZWwgPSAoKSA9PiB7XG4gICAgY29uc3Qgc3R1ZGVudENhdGVnb3J5RGVmYXVsdExhYmVsID0gc3R1ZGVudE5ld0NhdGVnb3J5RGVmYXVsdExhYmVsPy5sYWJlbDtcblxuICAgIG9uQ2hhbmdlKHsgLi4ubW9kZWwsIHN0dWRlbnRDYXRlZ29yeURlZmF1bHRMYWJlbCB9KTtcbiAgfTtcblxuICBjb25zdCByYW5nZVByb3BzID0gKGNoYXJ0VHlwZSkgPT4ge1xuICAgIHJldHVybiBjaGFydFR5cGUuaW5jbHVkZXMoJ1Bsb3QnKSA/IHsgbWluOiAzLCBtYXg6IDEwIH0gOiB7IG1pbjogMC4wNSwgbWF4OiAxMDAwMCB9O1xuICB9O1xuXG4gIGNvbnN0IG9uU2l6ZUNoYW5nZWQgPSAoa2V5LCB2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IGdyYXBoID0geyAuLi5zaXplLCBba2V5XTogdmFsdWUgfTtcblxuICAgIG9uQ2hhbmdlKHsgLi4ubW9kZWwsIGdyYXBoIH0pO1xuICB9O1xuXG4gIGNvbnN0IGlzT3V0T2ZSYW5nZSA9IChkYXRhLCByYW5nZSkgPT5cbiAgICAoZGF0YSB8fCBbXSkuZmluZCgoZCkgPT4gZC52YWx1ZSA+IHJhbmdlLm1heCB8fCBkLnZhbHVlIC0gcmFuZ2Uuc3RlcCAqIE1hdGguZmxvb3IoZC52YWx1ZSAvIHJhbmdlLnN0ZXApICE9PSAwKTtcblxuICBjb25zdCBvblJhbmdlQ2hhbmdlZCA9IChrZXksIHZhbHVlLCBlKSA9PiB7XG4gICAgLy8gdXNlIHJlc2V0IHZhbHVlcyB0byByZXN0b3JlIHJhbmdlIHRvIGluaXRpYWwgdmFsdWVzXG4gICAgc2V0UmVzZXRWYWx1ZShyYW5nZVtrZXldKTtcbiAgICBzZXRSYW5nZUtleShrZXkpO1xuXG4gICAgcmFuZ2Vba2V5XSA9IHZhbHVlO1xuXG4gICAgaWYgKGtleSA9PT0gJ21heCcgfHwga2V5ID09PSAnc3RlcCcpIHtcbiAgICAgIC8vIGNoZWNrIGlmIGN1cnJlbnQgY2hhcnQgdmFsdWVzIGFyZSBpbnZhbGlkIGZvciBnaXZlbiByYW5nZSBzdGVwL21heFxuICAgICAgY29uc3Qgb3V0T2ZSYW5nZSA9IGlzT3V0T2ZSYW5nZShtb2RlbC5kYXRhLCByYW5nZSkgfHwgaXNPdXRPZlJhbmdlKG1vZGVsLmNvcnJlY3RBbnN3ZXIuZGF0YSwgcmFuZ2UpO1xuXG4gICAgICBpZiAob3V0T2ZSYW5nZSAmJiBKU09OLnN0cmluZ2lmeShlKSAhPT0gJ3t9Jykge1xuICAgICAgICBzZXRPcGVuKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25DaGFuZ2UoeyAuLi5tb2RlbCwgcmFuZ2UgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uQ2hhbmdlKHsgLi4ubW9kZWwsIHJhbmdlIH0pO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlbW92ZU91dE9mUmFuZ2VWYWx1ZXModHJ1ZSk7XG4gICAgc2V0Q2F0ZWdvcnlEZWZhdWx0TGFiZWwoKTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHNldEFsZXJ0RGlhbG9nKHtcbiAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgdGV4dDogJ1RoaXMgY2hhbmdlIHdpbGwgcmVtb3ZlIHZhbHVlcyBkZWZpbmVkIGZvciBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzJyxcbiAgICAgICAgb25Db25maXJtOiAoKSA9PiB7XG4gICAgICAgICAgcmVtb3ZlT3V0T2ZSYW5nZVZhbHVlcygpO1xuICAgICAgICAgIGhhbmRsZUFsZXJ0RGlhbG9nKGZhbHNlLCBvbkNoYW5nZSh7IC4uLm1vZGVsLCByYW5nZSwgY29ycmVjdEFuc3dlciB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xvc2U6ICgpID0+IHtcbiAgICAgICAgICByYW5nZVtyYW5nZUtleV0gPSByZXNldFZhbHVlO1xuICAgICAgICAgIGhhbmRsZUFsZXJ0RGlhbG9nKGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW29wZW5dKTtcblxuICBjb25zdCBpc1ZhbGlkUGxvdCA9IHJhbmdlLnN0ZXAgPT09IDEgJiYgcmFuZ2UubGFiZWxTdGVwID09PSAxICYmIDMgPD0gcmFuZ2UubWF4ICYmIHJhbmdlLm1heCA8PSAxMDtcblxuICBjb25zdCBnZXRQbG90Q29uZmlndXJhdGlvbiA9ICgpID0+IHtcbiAgICByYW5nZVByb3BzLm1pbiA9IDM7XG4gICAgcmFuZ2VQcm9wcy5tYXggPSAxMDtcblxuICAgIHJhbmdlLm1heCA9IDEwO1xuICAgIHJhbmdlLnN0ZXAgPSAxO1xuICAgIHJhbmdlLmxhYmVsU3RlcCA9IDE7XG5cbiAgICBvbkNoYW5nZSh7IC4uLm1vZGVsLCByYW5nZSB9KTtcbiAgfTtcblxuICBjb25zdCBvbkNoYXJ0VHlwZUNoYW5nZSA9IChjaGFydFR5cGUpID0+IHtcbiAgICBpZiAoY2hhcnRUeXBlLmluY2x1ZGVzKCdQbG90JykpIHtcbiAgICAgIC8vIFRoZSBzZWxlY3RlZCBjaGFydCB0eXBlIGRvZXMgbm90IHN1cHBvcnQgdGhlIGN1cnJlbnQgY2hhcnQgY29uZmlndXJhdGlvblxuICAgICAgaWYgKCFpc1ZhbGlkUGxvdCkge1xuICAgICAgICBzZXRBbGVydERpYWxvZyh7XG4gICAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgICAgIHRleHQ6ICdUaGUgc2VsZWN0ZWQgY2hhcnQgdHlwZSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjdXJyZW50IGNoYXJ0IGNvbmZpZ3VyYXRpb24uIFJlc2V0IGNoYXJ0IGNvbmZpZ3VyYXRpb24/JyxcbiAgICAgICAgICBvbkNvbmZpcm06ICgpID0+IHtcbiAgICAgICAgICAgIGdldFBsb3RDb25maWd1cmF0aW9uKCk7XG4gICAgICAgICAgICByZW1vdmVPdXRPZlJhbmdlVmFsdWVzKCk7XG4gICAgICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSwgb25DaGFuZ2UoeyAuLi5tb2RlbCwgcmFuZ2UsIGNoYXJ0VHlwZSB9KSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgICAgICBoYW5kbGVBbGVydERpYWxvZyhmYWxzZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByYW5nZVByb3BzLm1pbiA9IDM7XG4gICAgICByYW5nZVByb3BzLm1heCA9IDEwO1xuXG4gICAgICBvbkNoYW5nZSh7IC4uLm1vZGVsLCBjaGFydFR5cGUgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNoYW5nZSh7IC4uLm1vZGVsLCBjaGFydFR5cGUgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy53cmFwcGVyfT5cbiAgICAgIDxUeXBvZ3JhcGh5IHZhcmlhbnQ9eydzdWJ0aXRsZTEnfT5Db25maWd1cmUgQ2hhcnQ8L1R5cG9ncmFwaHk+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb250ZW50fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMucm93Vmlld30+XG4gICAgICAgICAgPENoYXJ0VHlwZVxuICAgICAgICAgICAgdmFsdWU9e21vZGVsLmNoYXJ0VHlwZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gb25DaGFydFR5cGVDaGFuZ2UoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgYXZhaWxhYmxlQ2hhcnRUeXBlcz17YXZhaWxhYmxlQ2hhcnRUeXBlc31cbiAgICAgICAgICAgIGNoYXJ0VHlwZUxhYmVsPXtjaGFydFR5cGVMYWJlbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxOdW1iZXJUZXh0RmllbGRDdXN0b21cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tZWRpdW1UZXh0RmllbGR9XG4gICAgICAgICAgICBsYWJlbD1cIk1heCBWYWx1ZVwiXG4gICAgICAgICAgICB2YWx1ZT17cmFuZ2UubWF4fVxuICAgICAgICAgICAgbWluPXtyYW5nZVByb3BzKG1vZGVsLmNoYXJ0VHlwZSkubWlufVxuICAgICAgICAgICAgbWF4PXtyYW5nZVByb3BzKG1vZGVsLmNoYXJ0VHlwZSkubWF4fVxuICAgICAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSwgdikgPT4gb25SYW5nZUNoYW5nZWQoJ21heCcsIHYsIGUpfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7IW1vZGVsLmNoYXJ0VHlwZS5pbmNsdWRlcygnUGxvdCcpICYmIHN0ZXBDb25maWd9XG5cbiAgICAgICAge3Nob3dJbkNvbmZpZ1BhbmVsICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5kaW1lbnNpb25zfT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxUeXBvZ3JhcGh5PkRpbWVuc2lvbnMocHgpPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbHVtblZpZXd9PlxuICAgICAgICAgICAgICA8TnVtYmVyVGV4dEZpZWxkQ3VzdG9tXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLnRleHRGaWVsZH1cbiAgICAgICAgICAgICAgICBsYWJlbD17J1dpZHRoJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17c2l6ZS53aWR0aH1cbiAgICAgICAgICAgICAgICBtaW49e3dpZHRoQ29uc3RyYWludHMubWlufVxuICAgICAgICAgICAgICAgIG1heD17d2lkdGhDb25zdHJhaW50cy5tYXh9XG4gICAgICAgICAgICAgICAgc3RlcD17d2lkdGhDb25zdHJhaW50cy5zdGVwfVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9eydvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvblNpemVDaGFuZ2VkKCd3aWR0aCcsIHYpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8VHlwb2dyYXBoeSBjbGFzc05hbWU9e2NsYXNzZXMuZGlzYWJsZWR9Pk1pbiA1MCwgTWF4IDcwMDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jb2x1bW5WaWV3fT5cbiAgICAgICAgICAgICAgPE51bWJlclRleHRGaWVsZEN1c3RvbVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50ZXh0RmllbGR9XG4gICAgICAgICAgICAgICAgbGFiZWw9eydIZWlnaHQnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtzaXplLmhlaWdodH1cbiAgICAgICAgICAgICAgICBtaW49e2hlaWdodENvbnN0cmFpbnRzLm1pbn1cbiAgICAgICAgICAgICAgICBtYXg9e2hlaWdodENvbnN0cmFpbnRzLm1heH1cbiAgICAgICAgICAgICAgICBzdGVwPXtoZWlnaHRDb25zdHJhaW50cy5zdGVwfVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9eydvdXRsaW5lZCd9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlLCB2KSA9PiBvblNpemVDaGFuZ2VkKCdoZWlnaHQnLCB2KX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPFR5cG9ncmFwaHkgY2xhc3NOYW1lPXtjbGFzc2VzLmRpc2FibGVkfT5NaW4gNDAwLCBNYXggNzAwPC9UeXBvZ3JhcGh5PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cblxuICAgICAgPEFsZXJ0RGlhbG9nXG4gICAgICAgIG9wZW49e2FsZXJ0RGlhbG9nLm9wZW59XG4gICAgICAgIHRpdGxlPXthbGVydERpYWxvZy50aXRsZX1cbiAgICAgICAgdGV4dD17YWxlcnREaWFsb2cudGV4dH1cbiAgICAgICAgb25DbG9zZT17YWxlcnREaWFsb2cub25DbG9zZX1cbiAgICAgICAgb25Db25maXJtPXthbGVydERpYWxvZy5vbkNvbmZpcm19XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuQ29uZmlndXJlQ2hhcnRQYW5lbC5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYXJ0RGltZW5zaW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgZG9tYWluOiBQcm9wVHlwZXMub2JqZWN0LFxuICBncmlkVmFsdWVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBsYWJlbFZhbHVlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgbW9kZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgcmFuZ2U6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYXJ0RGltZW5zaW9uOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzaXplOiBQcm9wVHlwZXMub2JqZWN0LFxuICBzdHVkZW50TmV3Q2F0ZWdvcnlEZWZhdWx0TGFiZWw6IFByb3BUeXBlcy5vYmplY3QsXG4gIGF2YWlsYWJsZUNoYXJ0VHlwZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNoYXJ0VHlwZUxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuY29uc3Qgc3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICB3cmFwcGVyOiB7XG4gICAgd2lkdGg6ICc0NTBweCcsXG4gIH0sXG4gIGNvbnRlbnQ6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBtYXJnaW5Ub3A6IHRoZW1lLnNwYWNpbmcudW5pdCAqIDMsXG4gIH0sXG4gIGNvbHVtblZpZXc6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIH0sXG4gIHJvd1ZpZXc6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1hcm91bmQnLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICB9LFxuICB0ZXh0RmllbGQ6IHtcbiAgICB3aWR0aDogJzEzMHB4JyxcbiAgICBtYXJnaW46IGAke3RoZW1lLnNwYWNpbmcudW5pdH1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHhgLFxuICB9LFxuICBtZWRpdW1UZXh0RmllbGQ6IHtcbiAgICB3aWR0aDogJzE2MHB4JyxcbiAgICBtYXJnaW46IGAke3RoZW1lLnNwYWNpbmcudW5pdH1weCAke3RoZW1lLnNwYWNpbmcudW5pdCAvIDJ9cHhgLFxuICB9LFxuICBsYXJnZVRleHRGaWVsZDoge1xuICAgIHdpZHRoOiAnMjMwcHgnLFxuICAgIG1hcmdpbjogYCR7dGhlbWUuc3BhY2luZy51bml0fXB4ICR7dGhlbWUuc3BhY2luZy51bml0IC8gMn1weGAsXG4gIH0sXG4gIHRleHQ6IHtcbiAgICBmb250U3R5bGU6ICdpdGFsaWMnLFxuICAgIG1hcmdpbjogYCR7dGhlbWUuc3BhY2luZy51bml0fXB4IDBgLFxuICB9LFxuICBkaW1lbnNpb25zOiB7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgbWFyZ2luOiBgJHt0aGVtZS5zcGFjaW5nLnVuaXQgKiAzfXB4IDBgLFxuICB9LFxuICBkaXNhYmxlZDoge1xuICAgIGNvbG9yOiBjb2xvci5kaXNhYmxlZCgpLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzKShDb25maWd1cmVDaGFydFBhbmVsKTtcbiJdfQ==
458
+ //# sourceMappingURL=chart-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chart-setup.jsx"],"names":["resetValues","data","updateModel","range","onChange","model","forEach","d","d_value_scaled","Math","round","value","range_step_scaled","step","remainder_scaled","remainder","max","ConfigureChartPanel","props","classes","chartDimensions","gridValues","labelValues","studentNewCategoryDefaultLabel","availableChartTypes","chartTypeLabel","open","title","text","onClose","onConfirm","alertDialog","setAlertDialog","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","correctAnswer","changeInteractiveEnabled","changeEditableEnabled","size","graph","showInConfigPanel","width","height","widthConstraints","min","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","openStatus","callback","prevState","setPropertiesToFalse","property","map","obj","hasOwnProperty","removeOutOfRangeValues","setCategoryDefaultLabel","studentCategoryDefaultLabel","label","rangeProps","chartType","includes","onSizeChanged","key","isOutOfRange","find","floor","outOfRange","JSON","stringify","isValidPlot","getPlotConfiguration","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","func","chartDimension","string","styles","theme","display","flexDirection","marginTop","spacing","unit","alignItems","justifyContent","margin","largeTextField","fontStyle","color"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '../../render-ui/src/index';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nexport const resetValues = (data, updateModel, range, onChange, model) => {\n (data || []).forEach((d) => {\n const d_value_scaled = Math.round(d.value * 10);\n const range_step_scaled = Math.round(range.step * 10);\n const remainder_scaled = d_value_scaled % range_step_scaled;\n const remainder = remainder_scaled / 10;\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n if (updateModel) {\n onChange({ ...model, data });\n }\n};\n\nconst ConfigureChartPanel = (props) => {\n const {\n classes,\n model,\n onChange,\n chartDimensions,\n gridValues = {},\n labelValues = {},\n studentNewCategoryDefaultLabel = {},\n availableChartTypes = {},\n chartTypeLabel,\n } = props;\n const [alertDialog, setAlertDialog] = useState({\n open: false,\n title: '',\n text: '',\n onClose: null,\n onConfirm: null,\n });\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range = {}, correctAnswer, changeInteractiveEnabled, changeEditableEnabled } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20,\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20,\n };\n\n const gridOptions = gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions = labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <div className={classes.rowView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v, e)}\n {...gridOptions}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v, e)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (openStatus, callback) => {\n setAlertDialog(\n (prevState) => ({\n ...prevState,\n open: openStatus,\n }),\n () => {\n if (callback) {\n callback();\n }\n },\n );\n\n setOpen(openStatus);\n };\n\n const setPropertiesToFalse = (data, property) => {\n return data.map((obj) => {\n if (obj.hasOwnProperty(property)) {\n obj[property] = property == 'interactive' ? true : false;\n }\n return obj;\n });\n };\n\n const removeOutOfRangeValues = (updateModel) => {\n const { correctAnswer, data } = model;\n\n if (changeInteractiveEnabled === false) {\n setPropertiesToFalse(data, 'interactive');\n }\n\n if (changeEditableEnabled === false) {\n setPropertiesToFalse(data, 'editable');\n }\n\n resetValues(data, updateModel, range, onChange, model);\n resetValues(correctAnswer.data, false, range, onChange, model);\n };\n\n const setCategoryDefaultLabel = () => {\n const studentCategoryDefaultLabel = studentNewCategoryDefaultLabel?.label;\n\n onChange({ ...model, studentCategoryDefaultLabel });\n };\n\n const rangeProps = (chartType) => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const isOutOfRange = (data, range) =>\n (data || []).find((d) => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0);\n\n const onRangeChanged = (key, value, e) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange = isOutOfRange(model.data, range) || isOutOfRange(model.correctAnswer.data, range);\n\n if (outOfRange && JSON.stringify(e) !== '{}') {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n removeOutOfRangeValues(true);\n setCategoryDefaultLabel();\n }, []);\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n },\n });\n }\n }, [open]);\n\n const isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = (chartType) => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n },\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <div className={classes.wrapper}>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <div className={classes.content}>\n <div className={classes.rowView}>\n <ChartType\n value={model.chartType}\n onChange={(e) => onChartTypeChange(e.target.value)}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v, e)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <Typography className={classes.disabled}>Min 50, Max 700</Typography>\n </div>\n\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <Typography className={classes.disabled}>Min 400, Max 700</Typography>\n </div>\n </div>\n )}\n </div>\n\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </div>\n );\n};\n\nConfigureChartPanel.propTypes = {\n classes: PropTypes.object,\n chartDimensions: PropTypes.object,\n domain: PropTypes.object,\n gridValues: PropTypes.object,\n labelValues: PropTypes.object,\n model: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object,\n studentNewCategoryDefaultLabel: PropTypes.object,\n availableChartTypes: PropTypes.object,\n chartTypeLabel: PropTypes.string,\n};\n\nconst styles = (theme) => ({\n wrapper: {\n width: '450px',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing.unit * 3,\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 margin: `${theme.spacing.unit * 3}px 0`,\n },\n disabled: {\n color: color.disabled(),\n },\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"file":"chart-setup.js"}
package/lib/chart-type.js CHANGED
@@ -68,4 +68,4 @@ var ChartType = (0, _styles.withStyles)(function () {
68
68
  });
69
69
  var _default = ChartType;
70
70
  exports["default"] = _default;
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFydC10eXBlLmpzIl0sIm5hbWVzIjpbIkNoYXJ0VHlwZSIsImNoYXJ0VHlwZSIsIndpZHRoIiwiY2hhcnRUeXBlTGFiZWwiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvbkNoYW5nZSIsInZhbHVlIiwiY2xhc3NlcyIsImF2YWlsYWJsZUNoYXJ0VHlwZXMiLCJoaXN0b2dyYW0iLCJiYXIiLCJsaW5lRG90IiwibGluZUNyb3NzIiwiZG90UGxvdCIsImxpbmVQbG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxTQUFTLEdBQUcsd0JBQVc7QUFBQSxTQUFPO0FBQ2xDQyxJQUFBQSxTQUFTLEVBQUU7QUFDVEMsTUFBQUEsS0FBSyxFQUFFO0FBREUsS0FEdUI7QUFJbENDLElBQUFBLGNBQWMsRUFBRTtBQUNkQyxNQUFBQSxlQUFlLEVBQUU7QUFESDtBQUprQixHQUFQO0FBQUEsQ0FBWCxFQU9kO0FBQUEsTUFBR0MsUUFBSCxRQUFHQSxRQUFIO0FBQUEsTUFBYUMsS0FBYixRQUFhQSxLQUFiO0FBQUEsTUFBb0JDLE9BQXBCLFFBQW9CQSxPQUFwQjtBQUFBLE1BQTZCQyxtQkFBN0IsUUFBNkJBLG1CQUE3QjtBQUFBLE1BQWtETCxjQUFsRCxRQUFrREEsY0FBbEQ7QUFBQSxzQkFDRjtBQUFLLElBQUEsU0FBUyxFQUFFSSxPQUFPLENBQUNOO0FBQXhCLGtCQUNFLGdDQUFDLHVCQUFEO0FBQWEsSUFBQSxPQUFPLEVBQUUsVUFBdEI7QUFBa0MsSUFBQSxTQUFTLEVBQUVNLE9BQU8sQ0FBQ047QUFBckQsa0JBQ0UsZ0NBQUMsc0JBQUQ7QUFBWSxJQUFBLEVBQUUsRUFBQyxtQkFBZjtBQUFtQyxJQUFBLFNBQVMsRUFBRU0sT0FBTyxDQUFDSjtBQUF0RCxLQUNHQSxjQURILENBREYsZUFJRSxnQ0FBQyxrQkFBRDtBQUNFLElBQUEsT0FBTyxFQUFDLG1CQURWO0FBRUUsSUFBQSxLQUFLLEVBQUVHLEtBRlQ7QUFHRSxJQUFBLFFBQVEsRUFBRUQsUUFIWjtBQUlFLElBQUEsS0FBSyxlQUFFLGdDQUFDLHlCQUFEO0FBQWUsTUFBQSxVQUFVLEVBQUUsRUFBM0I7QUFBK0IsTUFBQSxJQUFJLEVBQUM7QUFBcEM7QUFKVCxLQU1HLENBQUFHLG1CQUFtQixTQUFuQixJQUFBQSxtQkFBbUIsV0FBbkIsWUFBQUEsbUJBQW1CLENBQUVDLFNBQXJCLGtCQUFrQyxnQ0FBQyxvQkFBRDtBQUFVLElBQUEsS0FBSyxFQUFFO0FBQWpCLEtBQStCRCxtQkFBbUIsQ0FBQ0MsU0FBbkQsQ0FOckMsRUFPRyxDQUFBRCxtQkFBbUIsU0FBbkIsSUFBQUEsbUJBQW1CLFdBQW5CLFlBQUFBLG1CQUFtQixDQUFFRSxHQUFyQixrQkFBNEIsZ0NBQUMsb0JBQUQ7QUFBVSxJQUFBLEtBQUssRUFBRTtBQUFqQixLQUF5QkYsbUJBQW1CLENBQUNFLEdBQTdDLENBUC9CLEVBUUcsQ0FBQUYsbUJBQW1CLFNBQW5CLElBQUFBLG1CQUFtQixXQUFuQixZQUFBQSxtQkFBbUIsQ0FBRUcsT0FBckIsa0JBQWdDLGdDQUFDLG9CQUFEO0FBQVUsSUFBQSxLQUFLLEVBQUU7QUFBakIsS0FBNkJILG1CQUFtQixDQUFDRyxPQUFqRCxDQVJuQyxFQVNHLENBQUFILG1CQUFtQixTQUFuQixJQUFBQSxtQkFBbUIsV0FBbkIsWUFBQUEsbUJBQW1CLENBQUVJLFNBQXJCLGtCQUFrQyxnQ0FBQyxvQkFBRDtBQUFVLElBQUEsS0FBSyxFQUFFO0FBQWpCLEtBQStCSixtQkFBbUIsQ0FBQ0ksU0FBbkQsQ0FUckMsRUFVRyxDQUFBSixtQkFBbUIsU0FBbkIsSUFBQUEsbUJBQW1CLFdBQW5CLFlBQUFBLG1CQUFtQixDQUFFSyxPQUFyQixrQkFBZ0MsZ0NBQUMsb0JBQUQ7QUFBVSxJQUFBLEtBQUssRUFBRTtBQUFqQixLQUE2QkwsbUJBQW1CLENBQUNLLE9BQWpELENBVm5DLEVBV0csQ0FBQUwsbUJBQW1CLFNBQW5CLElBQUFBLG1CQUFtQixXQUFuQixZQUFBQSxtQkFBbUIsQ0FBRU0sUUFBckIsa0JBQWlDLGdDQUFDLG9CQUFEO0FBQVUsSUFBQSxLQUFLLEVBQUU7QUFBakIsS0FBOEJOLG1CQUFtQixDQUFDTSxRQUFsRCxDQVhwQyxDQUpGLENBREYsQ0FERTtBQUFBLENBUGMsQ0FBbEI7ZUE4QmVkLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgTWVudUl0ZW0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTWVudUl0ZW0nO1xuaW1wb3J0IEZvcm1Db250cm9sIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0Zvcm1Db250cm9sJztcbmltcG9ydCBJbnB1dExhYmVsIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0lucHV0TGFiZWwnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9TZWxlY3QnO1xuaW1wb3J0IE91dGxpbmVkSW5wdXQgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvT3V0bGluZWRJbnB1dCc7XG5cbmNvbnN0IENoYXJ0VHlwZSA9IHdpdGhTdHlsZXMoKCkgPT4gKHtcbiAgY2hhcnRUeXBlOiB7XG4gICAgd2lkdGg6ICcxNjBweCcsXG4gIH0sXG4gIGNoYXJ0VHlwZUxhYmVsOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICB9LFxufSkpKCh7IG9uQ2hhbmdlLCB2YWx1ZSwgY2xhc3NlcywgYXZhaWxhYmxlQ2hhcnRUeXBlcywgY2hhcnRUeXBlTGFiZWwgfSkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5jaGFydFR5cGV9PlxuICAgIDxGb3JtQ29udHJvbCB2YXJpYW50PXsnb3V0bGluZWQnfSBjbGFzc05hbWU9e2NsYXNzZXMuY2hhcnRUeXBlfT5cbiAgICAgIDxJbnB1dExhYmVsIGlkPVwidHlwZS1oZWxwZXItbGFiZWxcIiBjbGFzc05hbWU9e2NsYXNzZXMuY2hhcnRUeXBlTGFiZWx9PlxuICAgICAgICB7Y2hhcnRUeXBlTGFiZWx9XG4gICAgICA8L0lucHV0TGFiZWw+XG4gICAgICA8U2VsZWN0XG4gICAgICAgIGxhYmVsSWQ9XCJ0eXBlLWhlbHBlci1sYWJlbFwiXG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBpbnB1dD17PE91dGxpbmVkSW5wdXQgbGFiZWxXaWR0aD17NzV9IG5hbWU9XCJ0eXBlXCIgLz59XG4gICAgICA+XG4gICAgICAgIHthdmFpbGFibGVDaGFydFR5cGVzPy5oaXN0b2dyYW0gJiYgPE1lbnVJdGVtIHZhbHVlPXsnaGlzdG9ncmFtJ30+e2F2YWlsYWJsZUNoYXJ0VHlwZXMuaGlzdG9ncmFtfTwvTWVudUl0ZW0+fVxuICAgICAgICB7YXZhaWxhYmxlQ2hhcnRUeXBlcz8uYmFyICYmIDxNZW51SXRlbSB2YWx1ZT17J2Jhcid9PnthdmFpbGFibGVDaGFydFR5cGVzLmJhcn08L01lbnVJdGVtPn1cbiAgICAgICAge2F2YWlsYWJsZUNoYXJ0VHlwZXM/LmxpbmVEb3QgJiYgPE1lbnVJdGVtIHZhbHVlPXsnbGluZURvdCd9PnthdmFpbGFibGVDaGFydFR5cGVzLmxpbmVEb3R9PC9NZW51SXRlbT59XG4gICAgICAgIHthdmFpbGFibGVDaGFydFR5cGVzPy5saW5lQ3Jvc3MgJiYgPE1lbnVJdGVtIHZhbHVlPXsnbGluZUNyb3NzJ30+e2F2YWlsYWJsZUNoYXJ0VHlwZXMubGluZUNyb3NzfTwvTWVudUl0ZW0+fVxuICAgICAgICB7YXZhaWxhYmxlQ2hhcnRUeXBlcz8uZG90UGxvdCAmJiA8TWVudUl0ZW0gdmFsdWU9eydkb3RQbG90J30+e2F2YWlsYWJsZUNoYXJ0VHlwZXMuZG90UGxvdH08L01lbnVJdGVtPn1cbiAgICAgICAge2F2YWlsYWJsZUNoYXJ0VHlwZXM/LmxpbmVQbG90ICYmIDxNZW51SXRlbSB2YWx1ZT17J2xpbmVQbG90J30+e2F2YWlsYWJsZUNoYXJ0VHlwZXMubGluZVBsb3R9PC9NZW51SXRlbT59XG4gICAgICA8L1NlbGVjdD5cbiAgICA8L0Zvcm1Db250cm9sPlxuICA8L2Rpdj5cbikpO1xuXG5leHBvcnQgZGVmYXVsdCBDaGFydFR5cGU7XG4iXX0=
71
+ //# sourceMappingURL=chart-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chart-type.js"],"names":["ChartType","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes","availableChartTypes","histogram","bar","lineDot","lineCross","dotPlot","linePlot"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,wBAAW;AAAA,SAAO;AAClCC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AADE,KADuB;AAIlCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,eAAe,EAAE;AADH;AAJkB,GAAP;AAAA,CAAX,EAOd;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAoBC,OAApB,QAAoBA,OAApB;AAAA,MAA6BC,mBAA7B,QAA6BA,mBAA7B;AAAA,MAAkDL,cAAlD,QAAkDA,cAAlD;AAAA,sBACF;AAAK,IAAA,SAAS,EAAEI,OAAO,CAACN;AAAxB,kBACE,gCAAC,uBAAD;AAAa,IAAA,OAAO,EAAE,UAAtB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACN;AAArD,kBACE,gCAAC,sBAAD;AAAY,IAAA,EAAE,EAAC,mBAAf;AAAmC,IAAA,SAAS,EAAEM,OAAO,CAACJ;AAAtD,KACGA,cADH,CADF,eAIE,gCAAC,kBAAD;AACE,IAAA,OAAO,EAAC,mBADV;AAEE,IAAA,KAAK,EAAEG,KAFT;AAGE,IAAA,QAAQ,EAAED,QAHZ;AAIE,IAAA,KAAK,eAAE,gCAAC,yBAAD;AAAe,MAAA,UAAU,EAAE,EAA3B;AAA+B,MAAA,IAAI,EAAC;AAApC;AAJT,KAMG,CAAAG,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEC,SAArB,kBAAkC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAA+BD,mBAAmB,CAACC,SAAnD,CANrC,EAOG,CAAAD,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEE,GAArB,kBAA4B,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAAyBF,mBAAmB,CAACE,GAA7C,CAP/B,EAQG,CAAAF,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEG,OAArB,kBAAgC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAA6BH,mBAAmB,CAACG,OAAjD,CARnC,EASG,CAAAH,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEI,SAArB,kBAAkC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAA+BJ,mBAAmB,CAACI,SAAnD,CATrC,EAUG,CAAAJ,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEK,OAArB,kBAAgC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAA6BL,mBAAmB,CAACK,OAAjD,CAVnC,EAWG,CAAAL,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAEM,QAArB,kBAAiC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,KAA8BN,mBAAmB,CAACM,QAAlD,CAXpC,CAJF,CADF,CADE;AAAA,CAPc,CAAlB;eA8Bed,S","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(() => ({\n chartType: {\n width: '160px',\n },\n chartTypeLabel: {\n backgroundColor: 'transparent',\n },\n}))(({ onChange, value, classes, availableChartTypes, chartTypeLabel }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel id=\"type-helper-label\" className={classes.chartTypeLabel}>\n {chartTypeLabel}\n </InputLabel>\n <Select\n labelId=\"type-helper-label\"\n value={value}\n onChange={onChange}\n input={<OutlinedInput labelWidth={75} name=\"type\" />}\n >\n {availableChartTypes?.histogram && <MenuItem value={'histogram'}>{availableChartTypes.histogram}</MenuItem>}\n {availableChartTypes?.bar && <MenuItem value={'bar'}>{availableChartTypes.bar}</MenuItem>}\n {availableChartTypes?.lineDot && <MenuItem value={'lineDot'}>{availableChartTypes.lineDot}</MenuItem>}\n {availableChartTypes?.lineCross && <MenuItem value={'lineCross'}>{availableChartTypes.lineCross}</MenuItem>}\n {availableChartTypes?.dotPlot && <MenuItem value={'dotPlot'}>{availableChartTypes.dotPlot}</MenuItem>}\n {availableChartTypes?.linePlot && <MenuItem value={'linePlot'}>{availableChartTypes.linePlot}</MenuItem>}\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n"],"file":"chart-type.js"}
@@ -28,4 +28,4 @@ var _default = {
28
28
  LineCross: _lineCross["default"]
29
29
  };
30
30
  exports["default"] = _default;
31
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFydC10eXBlcy5qcyJdLCJuYW1lcyI6WyJCYXIiLCJIaXN0b2dyYW0iLCJMaW5lRG90IiwiRG90UGxvdCIsIkxpbmVQbG90IiwiTGluZUNyb3NzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7ZUFFZTtBQUFFQSxFQUFBQSxHQUFHLEVBQUhBLGVBQUY7QUFBT0MsRUFBQUEsU0FBUyxFQUFUQSxxQkFBUDtBQUFrQkMsRUFBQUEsT0FBTyxFQUFQQSxtQkFBbEI7QUFBMkJDLEVBQUFBLE9BQU8sRUFBUEEsZUFBM0I7QUFBb0NDLEVBQUFBLFFBQVEsRUFBUkEsZ0JBQXBDO0FBQThDQyxFQUFBQSxTQUFTLEVBQVRBO0FBQTlDLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFyIGZyb20gJy4vYmFycy9iYXInO1xuaW1wb3J0IEhpc3RvZ3JhbSBmcm9tICcuL2JhcnMvaGlzdG9ncmFtJztcbmltcG9ydCBMaW5lRG90IGZyb20gJy4vbGluZS9saW5lLWRvdCc7XG5pbXBvcnQgTGluZUNyb3NzIGZyb20gJy4vbGluZS9saW5lLWNyb3NzJztcbmltcG9ydCBEb3RQbG90IGZyb20gJ0BwaWUtbGliL3Bsb3QvZG90JztcbmltcG9ydCBMaW5lUGxvdCBmcm9tICdAcGllLWxpYi9wbG90L2xpbmUnO1xuXG5leHBvcnQgZGVmYXVsdCB7IEJhciwgSGlzdG9ncmFtLCBMaW5lRG90LCBEb3RQbG90LCBMaW5lUGxvdCwgTGluZUNyb3NzIH07XG4iXX0=
31
+ //# sourceMappingURL=chart-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chart-types.js"],"names":["Bar","Histogram","LineDot","DotPlot","LinePlot","LineCross"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe;AAAEA,EAAAA,GAAG,EAAHA,eAAF;AAAOC,EAAAA,SAAS,EAATA,qBAAP;AAAkBC,EAAAA,OAAO,EAAPA,mBAAlB;AAA2BC,EAAAA,OAAO,EAAPA,eAA3B;AAAoCC,EAAAA,QAAQ,EAARA,gBAApC;AAA8CC,EAAAA,SAAS,EAATA;AAA9C,C","sourcesContent":["import Bar from './bars/bar';\nimport Histogram from './bars/histogram';\nimport LineDot from './line/line-dot';\nimport LineCross from './line/line-cross';\nimport DotPlot from '@pie-lib/plot/dot';\nimport LinePlot from '@pie-lib/plot/line';\n\nexport default { Bar, Histogram, LineDot, DotPlot, LinePlot, LineCross };\n"],"file":"chart-types.js"}
package/lib/chart.js CHANGED
@@ -33,25 +33,23 @@ var _styles = require("@material-ui/core/styles");
33
33
 
34
34
  var _classnames = _interopRequireDefault(require("classnames"));
35
35
 
36
- var _plot = require("@pie-lib/plot");
36
+ var _debug = _interopRequireDefault(require("debug"));
37
37
 
38
38
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
39
39
 
40
- var _grid = _interopRequireDefault(require("./grid"));
40
+ var _plot = require("@pie-lib/plot");
41
41
 
42
- var _axes = _interopRequireDefault(require("./axes"));
42
+ var _configUi = require("@pie-lib/config-ui");
43
43
 
44
- var _debug = _interopRequireDefault(require("debug"));
44
+ var _grid = _interopRequireDefault(require("./grid"));
45
45
 
46
- var _renderUi = require("@pie-lib/render-ui");
46
+ var _axes = _interopRequireDefault(require("./axes"));
47
47
 
48
48
  var _utils = require("./utils");
49
49
 
50
- var _toolMenu = _interopRequireDefault(require("./tool-menu"));
51
-
52
50
  var _chartTypes = _interopRequireDefault(require("./chart-types"));
53
51
 
54
- var _configUi = require("@pie-lib/config-ui");
52
+ var _actionsButton = _interopRequireDefault(require("./actions-button"));
55
53
 
56
54
  var _translator = _interopRequireDefault(require("@pie-lib/translator"));
57
55
 
@@ -166,10 +164,25 @@ var Chart = /*#__PURE__*/function (_React$Component) {
166
164
  }]));
167
165
  }
168
166
  });
169
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getFilteredCategories", function () {
167
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteCategory", function (index) {
170
168
  var _this$props3 = _this.props,
171
169
  data = _this$props3.data,
172
- defineChart = _this$props3.defineChart;
170
+ onDataChange = _this$props3.onDataChange;
171
+
172
+ if (typeof index !== 'number' || index < 0) {
173
+ return;
174
+ }
175
+
176
+ if (data && data.length > 0) {
177
+ onDataChange(data.filter(function (_, i) {
178
+ return i !== index;
179
+ }));
180
+ }
181
+ });
182
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getFilteredCategories", function () {
183
+ var _this$props4 = _this.props,
184
+ data = _this$props4.data,
185
+ defineChart = _this$props4.defineChart;
173
186
  return data ? data.map(function (d) {
174
187
  return _objectSpread(_objectSpread({}, d), {}, {
175
188
  deletable: defineChart || d.deletable
@@ -184,7 +197,8 @@ var Chart = /*#__PURE__*/function (_React$Component) {
184
197
  _this.state = {
185
198
  dialog: {
186
199
  open: false
187
- }
200
+ },
201
+ actionsAnchorEl: null
188
202
  };
189
203
  _this.maskUid = _this.generateMaskId();
190
204
  return _this;
@@ -200,29 +214,29 @@ var Chart = /*#__PURE__*/function (_React$Component) {
200
214
  value: function render() {
201
215
  var _this2 = this;
202
216
 
203
- var _this$props4 = this.props,
204
- classes = _this$props4.classes,
205
- className = _this$props4.className,
206
- _this$props4$domain = _this$props4.domain,
207
- domain = _this$props4$domain === void 0 ? {} : _this$props4$domain,
208
- _this$props4$range = _this$props4.range,
209
- range = _this$props4$range === void 0 ? {} : _this$props4$range,
210
- chartingOptions = _this$props4.chartingOptions,
211
- size = _this$props4.size,
212
- title = _this$props4.title,
213
- onChangeTitle = _this$props4.onChangeTitle,
214
- onChangeLabels = _this$props4.onChangeLabels,
215
- labelsPlaceholders = _this$props4.labelsPlaceholders,
216
- titlePlaceholder = _this$props4.titlePlaceholder,
217
- addCategoryEnabled = _this$props4.addCategoryEnabled,
218
- changeInteractiveEnabled = _this$props4.changeInteractiveEnabled,
219
- changeEditableEnabled = _this$props4.changeEditableEnabled,
220
- showPixelGuides = _this$props4.showPixelGuides,
221
- error = _this$props4.error,
222
- _this$props4$mathMlOp = _this$props4.mathMlOptions,
223
- mathMlOptions = _this$props4$mathMlOp === void 0 ? {} : _this$props4$mathMlOp,
224
- language = _this$props4.language,
225
- labelsCharactersLimit = _this$props4.labelsCharactersLimit;
217
+ var _this$props5 = this.props,
218
+ classes = _this$props5.classes,
219
+ className = _this$props5.className,
220
+ _this$props5$domain = _this$props5.domain,
221
+ domain = _this$props5$domain === void 0 ? {} : _this$props5$domain,
222
+ _this$props5$range = _this$props5.range,
223
+ range = _this$props5$range === void 0 ? {} : _this$props5$range,
224
+ chartingOptions = _this$props5.chartingOptions,
225
+ size = _this$props5.size,
226
+ title = _this$props5.title,
227
+ onChangeTitle = _this$props5.onChangeTitle,
228
+ onChangeLabels = _this$props5.onChangeLabels,
229
+ labelsPlaceholders = _this$props5.labelsPlaceholders,
230
+ titlePlaceholder = _this$props5.titlePlaceholder,
231
+ addCategoryEnabled = _this$props5.addCategoryEnabled,
232
+ changeInteractiveEnabled = _this$props5.changeInteractiveEnabled,
233
+ changeEditableEnabled = _this$props5.changeEditableEnabled,
234
+ showPixelGuides = _this$props5.showPixelGuides,
235
+ error = _this$props5.error,
236
+ _this$props5$mathMlOp = _this$props5.mathMlOptions,
237
+ mathMlOptions = _this$props5$mathMlOp === void 0 ? {} : _this$props5$mathMlOp,
238
+ language = _this$props5.language,
239
+ labelsCharactersLimit = _this$props5.labelsCharactersLimit;
226
240
  var chartType = this.props.chartType;
227
241
  var dialog = this.state.dialog;
228
242
  var defineChart = this.props.defineChart || false;
@@ -277,16 +291,7 @@ var Chart = /*#__PURE__*/function (_React$Component) {
277
291
  rootCommon.graphProps.size.height += top + increaseHeight;
278
292
  return /*#__PURE__*/_react["default"].createElement("div", {
279
293
  className: (0, _classnames["default"])(classes.chart, classes.chartBox, className)
280
- }, /*#__PURE__*/_react["default"].createElement("div", {
281
- className: classes.controls
282
- }, /*#__PURE__*/_react["default"].createElement(_toolMenu["default"], {
283
- className: classes.toolMenu,
284
- disabled: !addCategoryEnabled,
285
- addCategory: function addCategory() {
286
- return _this2.addCategory();
287
- },
288
- language: language
289
- })), /*#__PURE__*/_react["default"].createElement(_plot.Root, (0, _extends2["default"])({
294
+ }, /*#__PURE__*/_react["default"].createElement(_plot.Root, (0, _extends2["default"])({
290
295
  title: title,
291
296
  onChangeTitle: onChangeTitle,
292
297
  disabledTitle: !defineChart,
@@ -324,7 +329,23 @@ var Chart = /*#__PURE__*/function (_React$Component) {
324
329
  changeEditableEnabled: changeEditableEnabled,
325
330
  top: top,
326
331
  error: error
327
- })), /*#__PURE__*/_react["default"].createElement("mask", {
332
+ })), addCategoryEnabled ? /*#__PURE__*/_react["default"].createElement("foreignObject", {
333
+ x: width - 8,
334
+ y: height - 8,
335
+ width: 100,
336
+ height: 40
337
+ }, /*#__PURE__*/_react["default"].createElement("div", {
338
+ xmlns: "http://www.w3.org/1999/xhtml",
339
+ style: {
340
+ display: 'flex',
341
+ justifyContent: 'center'
342
+ }
343
+ }, /*#__PURE__*/_react["default"].createElement(_actionsButton["default"], {
344
+ categories: categories,
345
+ addCategory: this.addCategory,
346
+ deleteCategory: this.deleteCategory,
347
+ language: language
348
+ }))) : null, /*#__PURE__*/_react["default"].createElement("mask", {
328
349
  id: "".concat(this.maskUid)
329
350
  }, /*#__PURE__*/_react["default"].createElement("rect", (0, _extends2["default"])({}, maskSize, {
330
351
  fill: "white"
@@ -409,21 +430,9 @@ var styles = function styles(theme) {
409
430
  graphBox: {
410
431
  transform: 'translate(60px, 35px)'
411
432
  },
412
- controls: {
413
- display: 'flex',
414
- justifyContent: 'space-between',
415
- padding: theme.spacing.unit,
416
- backgroundColor: _renderUi.color.primaryLight(),
417
- '& button': {
418
- fontSize: theme.typography.fontSize
419
- }
420
- },
421
433
  svg: {
422
434
  overflow: 'visible'
423
435
  },
424
- toolMenu: {
425
- minHeight: '36px'
426
- },
427
436
  chartBox: {
428
437
  width: 'min-content'
429
438
  }
@@ -435,4 +444,4 @@ var _default = (0, _styles.withStyles)(styles, {
435
444
  })(Chart);
436
445
 
437
446
  exports["default"] = _default;
438
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFydC5qc3giXSwibmFtZXMiOlsidHJhbnNsYXRvciIsIlRyYW5zbGF0b3IiLCJsb2ciLCJDaGFydCIsInByb3BzIiwiY2hhcnRzIiwiY2hhcnRUeXBlcyIsIkJhciIsIkhpc3RvZ3JhbSIsIkxpbmVEb3QiLCJMaW5lQ3Jvc3MiLCJEb3RQbG90IiwiTGluZVBsb3QiLCJhdXRvRm9jdXMiLCJvcGVuIiwiY2FsbGJhY2siLCJzZXRTdGF0ZSIsImRpYWxvZyIsInN0YXRlIiwiY2hhcnRUeXBlIiwiQ2hhcnRDb21wb25lbnQiLCJjaGFydCIsImZpbmQiLCJ0eXBlIiwiQ29tcG9uZW50IiwiZGF0YSIsIm9uRGF0YUNoYW5nZSIsImluZGV4IiwibmV3Q2F0ZWdvcnkiLCJpbnRlZ2VySW5kZXgiLCJwYXJzZUludCIsImNhdGVnb3J5RGVmYXVsdExhYmVsIiwiZGVmaW5lQ2hhcnQiLCJjYXRlZ29yeURlZmF1bHRzIiwibGFuZ3VhZ2UiLCJsZW5ndGgiLCJ0aXRsZSIsInQiLCJsbmciLCJ0ZXh0IiwiY291bnQiLCJvbkNvbmZpcm0iLCJoYW5kbGVBbGVydERpYWxvZyIsImluRGVmaW5lQ2hhcnQiLCJsYWJlbCIsInZhbHVlIiwiZGVsZXRhYmxlIiwiZWRpdGFibGUiLCJpbnRlcmFjdGl2ZSIsIm1hcCIsImQiLCJtYXNrVWlkIiwiZ2VuZXJhdGVNYXNrSWQiLCJNYXRoIiwicmFuZG9tIiwidG9GaXhlZCIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJkb21haW4iLCJyYW5nZSIsImNoYXJ0aW5nT3B0aW9ucyIsInNpemUiLCJvbkNoYW5nZVRpdGxlIiwib25DaGFuZ2VMYWJlbHMiLCJsYWJlbHNQbGFjZWhvbGRlcnMiLCJ0aXRsZVBsYWNlaG9sZGVyIiwiYWRkQ2F0ZWdvcnlFbmFibGVkIiwiY2hhbmdlSW50ZXJhY3RpdmVFbmFibGVkIiwiY2hhbmdlRWRpdGFibGVFbmFibGVkIiwic2hvd1BpeGVsR3VpZGVzIiwiZXJyb3IiLCJtYXRoTWxPcHRpb25zIiwibGFiZWxzQ2hhcmFjdGVyc0xpbWl0Iiwid2lkdGgiLCJoZWlnaHQiLCJsYWJlbHMiLCJsZWZ0IiwiYm90dG9tIiwiZ2V0Q2hhcnQiLCJjYXRlZ29yaWVzIiwiZ2V0RmlsdGVyZWRDYXRlZ29yaWVzIiwiY29ycmVjdFZhbHVlcyIsInZlcnRpY2FsTGluZXMiLCJob3Jpem9udGFsTGluZXMiLCJsZWZ0QXhpcyIsImNvbW1vbiIsImdyYXBoUHJvcHMiLCJyb290Tm9kZSIsIm1hc2tTaXplIiwieCIsInkiLCJzY2FsZSIsInhCYW5kIiwiYmFuZFdpZHRoIiwiYmFuZHdpZHRoIiwiYmFyV2lkdGgiLCJtYXgiLCJpbmNyZWFzZUhlaWdodCIsInRvcCIsInJvb3RDb21tb24iLCJjaGFydEJveCIsImNvbnRyb2xzIiwidG9vbE1lbnUiLCJhZGRDYXRlZ29yeSIsInIiLCJyZXNldEF1dG9Gb2N1cyIsImNoYW5nZURhdGEiLCJjaGFuZ2VDYXRlZ29yeSIsIm9uQ2xvc2UiLCJSZWFjdCIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJzaGFwZSIsIm51bWJlciIsIm1pbiIsImF4aXNMYWJlbCIsImFycmF5T2YiLCJzdGVwIiwibGFiZWxTdGVwIiwiYXJyYXkiLCJmdW5jIiwiYW55IiwiYm9vbCIsInRoZW1lIiwic3R5bGVzIiwiZ3JhcGhCb3giLCJ0cmFuc2Zvcm0iLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJwYWRkaW5nIiwic3BhY2luZyIsInVuaXQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsInByaW1hcnlMaWdodCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsInN2ZyIsIm92ZXJmbG93IiwibWluSGVpZ2h0Iiwid2l0aFRoZW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQVFBLFVBQVIsR0FBdUJDLHNCQUF2QixDQUFRRCxVQUFSO0FBRUEsSUFBTUUsR0FBRyxHQUFHLHVCQUFNLHNCQUFOLENBQVo7O0lBRWFDLEs7Ozs7O0FBQ1gsaUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTtBQUNqQiw4QkFBTUEsS0FBTjtBQURpQiw4RkE4RFg7QUFDTkMsTUFBQUEsTUFBTSxFQUFFLENBQ05DLHVCQUFXQyxHQUFYLEVBRE0sRUFFTkQsdUJBQVdFLFNBQVgsRUFGTSxFQUdORix1QkFBV0csT0FBWCxFQUhNLEVBSU5ILHVCQUFXSSxTQUFYLEVBSk0sRUFLTkosdUJBQVdLLE9BQVgsRUFMTSxFQU1OTCx1QkFBV00sUUFBWCxFQU5NLENBREY7QUFTTkMsTUFBQUEsU0FBUyxFQUFFO0FBVEwsS0E5RFc7QUFBQSwwR0E4RUMsVUFBQ0MsSUFBRCxFQUFPQyxRQUFQO0FBQUEsYUFDbEIsTUFBS0MsUUFBTCxDQUNFO0FBQ0VDLFFBQUFBLE1BQU0sRUFBRTtBQUFFSCxVQUFBQSxJQUFJLEVBQUpBO0FBQUY7QUFEVixPQURGLEVBSUVDLFFBSkYsQ0FEa0I7QUFBQSxLQTlFRDtBQUFBLGlHQXNGUixZQUFNO0FBQ2YsVUFBTVYsTUFBTSxHQUFHLE1BQUtELEtBQUwsQ0FBV0MsTUFBWCxJQUFxQixNQUFLYSxLQUFMLENBQVdiLE1BQS9DO0FBQ0EsVUFBTWMsU0FBTixHQUFvQixNQUFLZixLQUF6QixDQUFNZSxTQUFOO0FBQ0EsVUFBSUMsY0FBYyxHQUFHLElBQXJCO0FBQ0EsVUFBSUMsS0FBSyxHQUFHLElBQVo7O0FBRUEsVUFBSUYsU0FBSixFQUFlO0FBQ2JFLFFBQUFBLEtBQUssR0FBR2hCLE1BQU0sSUFBSUEsTUFBTSxDQUFDaUIsSUFBUCxDQUFZLFVBQUNELEtBQUQ7QUFBQSxpQkFBV0EsS0FBSyxDQUFDRSxJQUFOLEtBQWVKLFNBQTFCO0FBQUEsU0FBWixDQUFsQjtBQUNBQyxRQUFBQSxjQUFjLEdBQUdDLEtBQUssSUFBSUEsS0FBSyxDQUFDRyxTQUFoQztBQUNELE9BSEQsTUFHTztBQUNMSCxRQUFBQSxLQUFLLEdBQUdoQixNQUFNLElBQUlBLE1BQU0sQ0FBQyxDQUFELENBQXhCO0FBQ0FlLFFBQUFBLGNBQWMsR0FBR0MsS0FBSyxJQUFJQSxLQUFLLENBQUNHLFNBQWhDO0FBQ0FMLFFBQUFBLFNBQVMsR0FBR0UsS0FBSyxJQUFJQSxLQUFLLENBQUNFLElBQTNCO0FBQ0Q7O0FBRUQsYUFBTztBQUNMQSxRQUFBQSxJQUFJLEVBQUVKLFNBREQ7QUFFTEMsUUFBQUEsY0FBYyxFQUFkQTtBQUZLLE9BQVA7QUFJRCxLQXpHa0I7QUFBQSxtR0EyR04sVUFBQ0ssSUFBRCxFQUFVO0FBQ3JCLFVBQVFDLFlBQVIsR0FBeUIsTUFBS3RCLEtBQTlCLENBQVFzQixZQUFSO0FBRUFBLE1BQUFBLFlBQVksQ0FBQ0QsSUFBRCxDQUFaO0FBQ0QsS0EvR2tCO0FBQUEsdUdBaUhGLFVBQUNFLEtBQUQsRUFBUUMsV0FBUixFQUF3QjtBQUN2QyxVQUFNQyxZQUFZLEdBQUdDLFFBQVEsQ0FBQ0gsS0FBRCxFQUFRLEVBQVIsQ0FBN0I7O0FBRUEsVUFBSUUsWUFBWSxJQUFJLENBQXBCLEVBQXVCO0FBQ3JCLDBCQUErQixNQUFLekIsS0FBcEM7QUFBQSxZQUFRcUIsSUFBUixlQUFRQSxJQUFSO0FBQUEsWUFBY0MsWUFBZCxlQUFjQSxZQUFkO0FBQ0FELFFBQUFBLElBQUksQ0FBQ0ksWUFBRCxDQUFKLG1DQUNLSixJQUFJLENBQUNJLFlBQUQsQ0FEVCxHQUVLRCxXQUZMO0FBS0FGLFFBQUFBLFlBQVksQ0FBQ0QsSUFBRCxDQUFaO0FBQ0Q7QUFDRixLQTdIa0I7QUFBQSxvR0ErSEwsWUFBTTtBQUNsQix5QkFBOEYsTUFBS3JCLEtBQW5HO0FBQUEsVUFBUXNCLFlBQVIsZ0JBQVFBLFlBQVI7QUFBQSxVQUFzQkQsSUFBdEIsZ0JBQXNCQSxJQUF0QjtBQUFBLFVBQTRCTSxvQkFBNUIsZ0JBQTRCQSxvQkFBNUI7QUFBQSxVQUFrREMsV0FBbEQsZ0JBQWtEQSxXQUFsRDtBQUFBLFVBQStEQyxnQkFBL0QsZ0JBQStEQSxnQkFBL0Q7QUFBQSxVQUFpRkMsUUFBakYsZ0JBQWlGQSxRQUFqRjs7QUFFQSxVQUFJLENBQUNULElBQUksSUFBSSxFQUFULEVBQWFVLE1BQWIsR0FBc0IsRUFBMUIsRUFBOEI7QUFDNUIsY0FBS25CLFFBQUwsQ0FBYztBQUNaQyxVQUFBQSxNQUFNLEVBQUU7QUFDTkgsWUFBQUEsSUFBSSxFQUFFLElBREE7QUFFTnNCLFlBQUFBLEtBQUssRUFBRXBDLFVBQVUsQ0FBQ3FDLENBQVgsQ0FBYSxnQkFBYixFQUErQjtBQUFFQyxjQUFBQSxHQUFHLEVBQUVKO0FBQVAsYUFBL0IsQ0FGRDtBQUdOSyxZQUFBQSxJQUFJLEVBQUV2QyxVQUFVLENBQUNxQyxDQUFYLENBQWEsNkJBQWIsRUFBNEM7QUFBRUcsY0FBQUEsS0FBSyxFQUFFLEVBQVQ7QUFBYUYsY0FBQUEsR0FBRyxFQUFFSjtBQUFsQixhQUE1QyxDQUhBO0FBSU5PLFlBQUFBLFNBQVMsRUFBRTtBQUFBLHFCQUFNLE1BQUtDLGlCQUFMLENBQXVCLEtBQXZCLENBQU47QUFBQTtBQUpMO0FBREksU0FBZDtBQVFELE9BVEQsTUFTTztBQUNMLGNBQUsxQixRQUFMLENBQWM7QUFBRUgsVUFBQUEsU0FBUyxFQUFFO0FBQWIsU0FBZDs7QUFDQWEsUUFBQUEsWUFBWSwrQ0FDUEQsSUFETyxJQUVWO0FBQ0VrQixVQUFBQSxhQUFhLEVBQUVYLFdBRGpCO0FBRUVZLFVBQUFBLEtBQUssRUFBRWIsb0JBQW9CLElBQUkvQixVQUFVLENBQUNxQyxDQUFYLENBQWEsbUJBQWIsRUFBa0M7QUFBRUMsWUFBQUEsR0FBRyxFQUFFSjtBQUFQLFdBQWxDLENBRmpDO0FBR0VXLFVBQUFBLEtBQUssRUFBRSxDQUhUO0FBSUVDLFVBQUFBLFNBQVMsRUFBRSxJQUpiO0FBS0VDLFVBQUFBLFFBQVEsRUFBRWQsZ0JBQWdCLEdBQUdBLGdCQUFILGFBQUdBLGdCQUFILHVCQUFHQSxnQkFBZ0IsQ0FBRWMsUUFBckIsR0FBZ0MsSUFMNUQ7QUFNRUMsVUFBQUEsV0FBVyxFQUFFZixnQkFBZ0IsR0FBR0EsZ0JBQUgsYUFBR0EsZ0JBQUgsdUJBQUdBLGdCQUFnQixDQUFFZSxXQUFyQixHQUFtQztBQU5sRSxTQUZVLEdBQVo7QUFXRDtBQUNGLEtBekprQjtBQUFBLDhHQTJKSyxZQUFNO0FBQzVCLHlCQUE4QixNQUFLNUMsS0FBbkM7QUFBQSxVQUFRcUIsSUFBUixnQkFBUUEsSUFBUjtBQUFBLFVBQWNPLFdBQWQsZ0JBQWNBLFdBQWQ7QUFFQSxhQUFPUCxJQUFJLEdBQ1BBLElBQUksQ0FBQ3dCLEdBQUwsQ0FBUyxVQUFDQyxDQUFEO0FBQUEsK0NBQ0pBLENBREk7QUFFUEosVUFBQUEsU0FBUyxFQUFFZCxXQUFXLElBQUlrQixDQUFDLENBQUNKO0FBRnJCO0FBQUEsT0FBVCxDQURPLEdBS1AsRUFMSjtBQU1ELEtBcEtrQjtBQUFBLHVHQXNLRixZQUFNO0FBQ3JCLFlBQUs5QixRQUFMLENBQWM7QUFBRUgsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBZDtBQUNELEtBeEtrQjtBQUVqQixVQUFLSyxLQUFMLEdBQWE7QUFDWEQsTUFBQUEsTUFBTSxFQUFFO0FBQ05ILFFBQUFBLElBQUksRUFBRTtBQURBO0FBREcsS0FBYjtBQUtBLFVBQUtxQyxPQUFMLEdBQWUsTUFBS0MsY0FBTCxFQUFmO0FBUGlCO0FBUWxCOzs7O1dBa0VELDBCQUFpQjtBQUNmLGFBQU8sV0FBVyxDQUFDQyxJQUFJLENBQUNDLE1BQUwsS0FBZ0IsS0FBakIsRUFBd0JDLE9BQXhCLEVBQWxCO0FBQ0Q7OztXQThGRCxrQkFBUztBQUFBOztBQUNQLHlCQW9CSSxLQUFLbkQsS0FwQlQ7QUFBQSxVQUNFb0QsT0FERixnQkFDRUEsT0FERjtBQUFBLFVBRUVDLFNBRkYsZ0JBRUVBLFNBRkY7QUFBQSw2Q0FHRUMsTUFIRjtBQUFBLFVBR0VBLE1BSEYsb0NBR1csRUFIWDtBQUFBLDRDQUlFQyxLQUpGO0FBQUEsVUFJRUEsS0FKRixtQ0FJVSxFQUpWO0FBQUEsVUFLRUMsZUFMRixnQkFLRUEsZUFMRjtBQUFBLFVBTUVDLElBTkYsZ0JBTUVBLElBTkY7QUFBQSxVQU9FekIsS0FQRixnQkFPRUEsS0FQRjtBQUFBLFVBUUUwQixhQVJGLGdCQVFFQSxhQVJGO0FBQUEsVUFTRUMsY0FURixnQkFTRUEsY0FURjtBQUFBLFVBVUVDLGtCQVZGLGdCQVVFQSxrQkFWRjtBQUFBLFVBV0VDLGdCQVhGLGdCQVdFQSxnQkFYRjtBQUFBLFVBWUVDLGtCQVpGLGdCQVlFQSxrQkFaRjtBQUFBLFVBYUVDLHdCQWJGLGdCQWFFQSx3QkFiRjtBQUFBLFVBY0VDLHFCQWRGLGdCQWNFQSxxQkFkRjtBQUFBLFVBZUVDLGVBZkYsZ0JBZUVBLGVBZkY7QUFBQSxVQWdCRUMsS0FoQkYsZ0JBZ0JFQSxLQWhCRjtBQUFBLCtDQWlCRUMsYUFqQkY7QUFBQSxVQWlCRUEsYUFqQkYsc0NBaUJrQixFQWpCbEI7QUFBQSxVQWtCRXJDLFFBbEJGLGdCQWtCRUEsUUFsQkY7QUFBQSxVQW1CRXNDLHFCQW5CRixnQkFtQkVBLHFCQW5CRjtBQXFCQSxVQUFNckQsU0FBTixHQUFvQixLQUFLZixLQUF6QixDQUFNZSxTQUFOO0FBRUEsVUFBUUYsTUFBUixHQUFtQixLQUFLQyxLQUF4QixDQUFRRCxNQUFSO0FBQ0EsVUFBTWUsV0FBVyxHQUFHLEtBQUs1QixLQUFMLENBQVc0QixXQUFYLElBQTBCLEtBQTlDOztBQUVBLGlCQUEwQjZCLElBQUksSUFBSSxFQUFsQztBQUFBLFVBQVFZLEtBQVIsUUFBUUEsS0FBUjtBQUFBLFVBQWVDLE1BQWYsUUFBZUEsTUFBZjs7QUFDQSxVQUFNQyxNQUFNLEdBQUc7QUFBRUMsUUFBQUEsSUFBSSxFQUFFLENBQUFqQixLQUFLLFNBQUwsSUFBQUEsS0FBSyxXQUFMLFlBQUFBLEtBQUssQ0FBRWYsS0FBUCxLQUFnQixFQUF4QjtBQUE0QmlDLFFBQUFBLE1BQU0sRUFBRSxDQUFBbkIsTUFBTSxTQUFOLElBQUFBLE1BQU0sV0FBTixZQUFBQSxNQUFNLENBQUVkLEtBQVIsS0FBaUI7QUFBckQsT0FBZjs7QUFFQSwyQkFBMkIsS0FBS2tDLFFBQUwsRUFBM0I7QUFBQSxVQUFRMUQsY0FBUixrQkFBUUEsY0FBUjs7QUFDQSxVQUFNMkQsVUFBVSxHQUFHLEtBQUtDLHFCQUFMLEVBQW5CO0FBRUEsVUFBTUMsYUFBYSxHQUFHLHlDQUE2QnZCLE1BQTdCLEVBQXFDQyxLQUFyQyxFQUE0Q3hDLFNBQTVDLENBQXRCOztBQUVBLGtDQUFxRCwyQ0FBK0I4RCxhQUFhLENBQUN0QixLQUE3QyxFQUFvRHhDLFNBQXBELENBQXJEO0FBQUEsVUFBUStELGFBQVIseUJBQVFBLGFBQVI7QUFBQSxVQUF1QkMsZUFBdkIseUJBQXVCQSxlQUF2QjtBQUFBLFVBQXdDQyxRQUF4Qyx5QkFBd0NBLFFBQXhDOztBQUNBLFVBQU1DLE1BQU0sR0FBRztBQUNiQyxRQUFBQSxVQUFVLEVBQUUsNEJBQWlCTCxhQUFhLENBQUN2QixNQUEvQixFQUF1Q3VCLGFBQWEsQ0FBQ3RCLEtBQXJELEVBQTRERSxJQUE1RCxFQUFrRTtBQUFBLGlCQUFNLE1BQUksQ0FBQzBCLFFBQVg7QUFBQSxTQUFsRTtBQURDLE9BQWY7QUFJQXJGLE1BQUFBLEdBQUcsQ0FBQyxrQkFBRCxFQUFxQm1GLE1BQXJCLENBQUg7QUFFQSxVQUFNRyxRQUFRLEdBQUc7QUFBRUMsUUFBQUEsQ0FBQyxFQUFFLENBQUMsRUFBTjtBQUFVQyxRQUFBQSxDQUFDLEVBQUUsQ0FBQyxFQUFkO0FBQWtCakIsUUFBQUEsS0FBSyxFQUFFQSxLQUFLLEdBQUcsRUFBakM7QUFBcUNDLFFBQUFBLE1BQU0sRUFBRUEsTUFBTSxHQUFHO0FBQXRELE9BQWpCO0FBQ0EsVUFBUWlCLEtBQVIsR0FBa0JOLE1BQU0sQ0FBQ0MsVUFBekIsQ0FBUUssS0FBUjtBQUNBLFVBQU1DLEtBQUssR0FBRyx3QkFBWUQsS0FBSyxDQUFDRixDQUFsQixFQUFxQlYsVUFBckIsRUFBaUNOLEtBQWpDLEVBQXdDdEQsU0FBeEMsQ0FBZDs7QUFFQSxVQUFJLENBQUNDLGNBQUwsRUFBcUI7QUFDbkIsZUFBTyxJQUFQO0FBQ0Q7O0FBRUQsVUFBTXlFLFNBQVMsR0FBR0QsS0FBSyxDQUFDRSxTQUFOLEVBQWxCLENBbERPLENBbURQOztBQUNBLFVBQU1DLFFBQVEsR0FBR0YsU0FBUyxJQUFJRixLQUFLLENBQUNGLENBQU4sQ0FBUVIsYUFBYSxDQUFDdkIsTUFBZCxDQUFxQnNDLEdBQTdCLElBQW9DakIsVUFBVSxDQUFDNUMsTUFBN0U7QUFDQSxVQUFNOEQsY0FBYyxHQUFHakUsV0FBVyxHQUFHLEdBQUgsR0FBUyxFQUEzQyxDQXJETyxDQXVEUDtBQUNBOztBQUNBLFVBQU1rRSxHQUFHLEdBQUcsMEJBQWNILFFBQWQsQ0FBWjtBQUNBLFVBQU1JLFVBQVUsR0FBRywyQkFBVWQsTUFBVixDQUFuQjtBQUNBYyxNQUFBQSxVQUFVLENBQUNiLFVBQVgsQ0FBc0J6QixJQUF0QixDQUEyQmEsTUFBM0IsSUFBcUN3QixHQUFHLEdBQUdELGNBQTNDO0FBRUEsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRSw0QkFBV3pDLE9BQU8sQ0FBQ25DLEtBQW5CLEVBQTBCbUMsT0FBTyxDQUFDNEMsUUFBbEMsRUFBNEMzQyxTQUE1QztBQUFoQixzQkFDRTtBQUFLLFFBQUEsU0FBUyxFQUFFRCxPQUFPLENBQUM2QztBQUF4QixzQkFDRSxnQ0FBQyxvQkFBRDtBQUNFLFFBQUEsU0FBUyxFQUFFN0MsT0FBTyxDQUFDOEMsUUFEckI7QUFFRSxRQUFBLFFBQVEsRUFBRSxDQUFDcEMsa0JBRmI7QUFHRSxRQUFBLFdBQVcsRUFBRTtBQUFBLGlCQUFNLE1BQUksQ0FBQ3FDLFdBQUwsRUFBTjtBQUFBLFNBSGY7QUFJRSxRQUFBLFFBQVEsRUFBRXJFO0FBSlosUUFERixDQURGLGVBVUUsZ0NBQUMsVUFBRDtBQUNFLFFBQUEsS0FBSyxFQUFFRSxLQURUO0FBRUUsUUFBQSxhQUFhLEVBQUUwQixhQUZqQjtBQUdFLFFBQUEsYUFBYSxFQUFFLENBQUM5QixXQUhsQjtBQUlFLFFBQUEsU0FBUyxFQUFFLElBSmI7QUFLRSxRQUFBLFVBQVUsRUFBRSxJQUxkO0FBTUUsUUFBQSxNQUFNLEVBQUUyQyxNQU5WO0FBT0UsUUFBQSxjQUFjLEVBQUVaLGNBUGxCO0FBUUUsUUFBQSxrQkFBa0IsRUFBRUMsa0JBUnRCO0FBU0UsUUFBQSxnQkFBZ0IsRUFBRUMsZ0JBVHBCO0FBVUUsUUFBQSxXQUFXLEVBQUVqQyxXQVZmO0FBV0UsUUFBQSxjQUFjLEVBQUUsQ0FBQ0EsV0FYbkI7QUFZRSxRQUFBLE9BQU8sRUFBRSxJQVpYO0FBYUUsUUFBQSxlQUFlLEVBQUVxQyxlQWJuQjtBQWNFLFFBQUEsT0FBTyxFQUFFLGlCQUFDbUMsQ0FBRDtBQUFBLGlCQUFRLE1BQUksQ0FBQ2pCLFFBQUwsR0FBZ0JpQixDQUF4QjtBQUFBLFNBZFg7QUFlRSxRQUFBLGFBQWEsRUFBRWpDLGFBZmpCO0FBZ0JFLFFBQUEscUJBQXFCLEVBQUVDO0FBaEJ6QixTQWlCTTJCLFVBakJOLGdCQW1CRSxnQ0FBQyxnQkFBRCxnQ0FBZWQsTUFBZjtBQUF1QixRQUFBLEtBQUssRUFBRU8sS0FBOUI7QUFBcUMsUUFBQSxhQUFhLEVBQUVULGVBQXBEO0FBQXFFLFFBQUEsZ0JBQWdCLEVBQUVEO0FBQXZGLFNBbkJGLGVBb0JFLGdDQUFDLGdCQUFEO0FBQ0UsUUFBQSxTQUFTLEVBQUUsS0FBS2hFLEtBQUwsQ0FBV0wsU0FEeEI7QUFFRSxRQUFBLGVBQWUsRUFBRSxLQUFLNEY7QUFGeEIsU0FHTXBCLE1BSE47QUFJRSxRQUFBLFdBQVcsRUFBRXJELFdBSmY7QUFLRSxRQUFBLFVBQVUsRUFBRStDLFVBTGQ7QUFNRSxRQUFBLEtBQUssRUFBRWEsS0FOVDtBQU9FLFFBQUEsUUFBUSxFQUFFUixRQVBaO0FBUUUsUUFBQSxRQUFRLEVBQUUsS0FBS3NCLFVBUmpCO0FBU0UsUUFBQSxnQkFBZ0IsRUFBRSxLQUFLQyxjQVR6QjtBQVVFLFFBQUEsZUFBZSxFQUFFL0MsZUFWbkI7QUFXRSxRQUFBLHdCQUF3QixFQUFFTyx3QkFYNUI7QUFZRSxRQUFBLHFCQUFxQixFQUFFQyxxQkFaekI7QUFhRSxRQUFBLEdBQUcsRUFBRThCLEdBYlA7QUFjRSxRQUFBLEtBQUssRUFBRTVCO0FBZFQsU0FwQkYsZUFvQ0U7QUFBTSxRQUFBLEVBQUUsWUFBSyxLQUFLbkIsT0FBVjtBQUFSLHNCQUNFLHNFQUFVcUMsUUFBVjtBQUFvQixRQUFBLElBQUksRUFBQztBQUF6QixTQURGLENBcENGLGVBdUNFO0FBQUcsUUFBQSxFQUFFLEVBQUMsT0FBTjtBQUFjLFFBQUEsSUFBSSxrQkFBVyxLQUFLckMsT0FBaEI7QUFBbEIsc0JBQ0UsZ0NBQUMsY0FBRCxnQ0FDTWtDLE1BRE47QUFFRSxRQUFBLElBQUksRUFBRU4sVUFGUjtBQUdFLFFBQUEsTUFBTSxFQUFFb0IsVUFBVSxDQUFDYixVQUFYLENBQXNCekIsSUFBdEIsQ0FBMkJhLE1BSHJDO0FBSUUsUUFBQSxXQUFXLEVBQUUxQyxXQUpmO0FBS0UsUUFBQSxRQUFRLEVBQUUsS0FBSzBFLFVBTGpCO0FBTUUsUUFBQSxnQkFBZ0IsRUFBRSxLQUFLQztBQU56QixTQURGLENBdkNGLENBVkYsZUE0REUsZ0NBQUMscUJBQUQ7QUFDRSxRQUFBLElBQUksRUFBRTFGLE1BQU0sQ0FBQ0gsSUFEZjtBQUVFLFFBQUEsS0FBSyxFQUFFRyxNQUFNLENBQUNtQixLQUZoQjtBQUdFLFFBQUEsSUFBSSxFQUFFbkIsTUFBTSxDQUFDc0IsSUFIZjtBQUlFLFFBQUEsT0FBTyxFQUFFdEIsTUFBTSxDQUFDMkYsT0FKbEI7QUFLRSxRQUFBLFNBQVMsRUFBRTNGLE1BQU0sQ0FBQ3dCO0FBTHBCLFFBNURGLENBREY7QUFzRUQ7OztFQTlTd0JvRSxrQkFBTXJGLFM7OztpQ0FBcEJyQixLLGVBV1E7QUFDakJxRCxFQUFBQSxPQUFPLEVBQUVzRCxzQkFBVUMsTUFBVixDQUFpQkMsVUFEVDtBQUVqQnZELEVBQUFBLFNBQVMsRUFBRXFELHNCQUFVRyxNQUZKO0FBR2pCOUYsRUFBQUEsU0FBUyxFQUFFMkYsc0JBQVVHLE1BQVYsQ0FBaUJELFVBSFg7QUFJakJuRCxFQUFBQSxJQUFJLEVBQUVpRCxzQkFBVUksS0FBVixDQUFnQjtBQUNwQnpDLElBQUFBLEtBQUssRUFBRXFDLHNCQUFVSyxNQURHO0FBRXBCekMsSUFBQUEsTUFBTSxFQUFFb0Msc0JBQVVLO0FBRkUsR0FBaEIsQ0FKVztBQVFqQnpELEVBQUFBLE1BQU0sRUFBRW9ELHNCQUFVSSxLQUFWLENBQWdCO0FBQ3RCdEUsSUFBQUEsS0FBSyxFQUFFa0Usc0JBQVVHLE1BREs7QUFFdEJHLElBQUFBLEdBQUcsRUFBRU4sc0JBQVVLLE1BRk87QUFHdEJuQixJQUFBQSxHQUFHLEVBQUVjLHNCQUFVSyxNQUhPO0FBSXRCRSxJQUFBQSxTQUFTLEVBQUVQLHNCQUFVRztBQUpDLEdBQWhCLENBUlM7QUFjakJ4RixFQUFBQSxJQUFJLEVBQUVxRixzQkFBVVEsT0FBVixDQUFrQlIsc0JBQVVJLEtBQVYsQ0FBZ0I7QUFBRXRFLElBQUFBLEtBQUssRUFBRWtFLHNCQUFVRyxNQUFuQjtBQUEyQnBFLElBQUFBLEtBQUssRUFBRWlFLHNCQUFVSztBQUE1QyxHQUFoQixDQUFsQixDQWRXO0FBZWpCeEQsRUFBQUEsS0FBSyxFQUFFbUQsc0JBQVVJLEtBQVYsQ0FBZ0I7QUFDckJ0RSxJQUFBQSxLQUFLLEVBQUVrRSxzQkFBVUcsTUFESTtBQUVyQkcsSUFBQUEsR0FBRyxFQUFFTixzQkFBVUssTUFGTTtBQUdyQm5CLElBQUFBLEdBQUcsRUFBRWMsc0JBQVVLLE1BSE07QUFJckJJLElBQUFBLElBQUksRUFBRVQsc0JBQVVLLE1BSks7QUFLckJLLElBQUFBLFNBQVMsRUFBRVYsc0JBQVVLLE1BTEE7QUFNckJFLElBQUFBLFNBQVMsRUFBRVAsc0JBQVVHO0FBTkEsR0FBaEIsQ0FmVTtBQXVCakI1RyxFQUFBQSxNQUFNLEVBQUV5RyxzQkFBVVcsS0F2QkQ7QUF3QmpCekQsRUFBQUEsa0JBQWtCLEVBQUU4QyxzQkFBVUMsTUF4QmI7QUF5QmpCM0UsRUFBQUEsS0FBSyxFQUFFMEUsc0JBQVVHLE1BekJBO0FBMEJqQmhELEVBQUFBLGdCQUFnQixFQUFFNkMsc0JBQVVHLE1BMUJYO0FBMkJqQnZGLEVBQUFBLFlBQVksRUFBRW9GLHNCQUFVWSxJQTNCUDtBQTRCakIzRCxFQUFBQSxjQUFjLEVBQUUrQyxzQkFBVVksSUE1QlQ7QUE2QmpCNUQsRUFBQUEsYUFBYSxFQUFFZ0Qsc0JBQVVZLElBN0JSO0FBOEJqQnBELEVBQUFBLEtBQUssRUFBRXdDLHNCQUFVYSxHQTlCQTtBQStCakJ6RCxFQUFBQSxrQkFBa0IsRUFBRTRDLHNCQUFVYyxJQS9CYjtBQWdDakJ2RCxFQUFBQSxlQUFlLEVBQUV5QyxzQkFBVWMsSUFoQ1Y7QUFpQ2pCN0YsRUFBQUEsb0JBQW9CLEVBQUUrRSxzQkFBVUcsTUFqQ2Y7QUFrQ2pCaEYsRUFBQUEsZ0JBQWdCLEVBQUU2RSxzQkFBVUMsTUFsQ1g7QUFtQ2pCL0UsRUFBQUEsV0FBVyxFQUFFOEUsc0JBQVVjLElBbkNOO0FBb0NqQkMsRUFBQUEsS0FBSyxFQUFFZixzQkFBVUMsTUFwQ0E7QUFxQ2pCbkQsRUFBQUEsZUFBZSxFQUFFa0Qsc0JBQVVDLE1BckNWO0FBc0NqQjVDLEVBQUFBLHdCQUF3QixFQUFFMkMsc0JBQVVjLElBdENuQjtBQXVDakJ4RCxFQUFBQSxxQkFBcUIsRUFBRTBDLHNCQUFVYyxJQXZDaEI7QUF3Q2pCMUYsRUFBQUEsUUFBUSxFQUFFNEUsc0JBQVVHLE1BeENIO0FBeUNqQjFDLEVBQUFBLGFBQWEsRUFBRXVDLHNCQUFVQyxNQXpDUjtBQTBDakJ2QyxFQUFBQSxxQkFBcUIsRUFBRXNDLHNCQUFVSztBQTFDaEIsQztpQ0FYUmhILEssa0JBd0RXO0FBQ3BCMEQsRUFBQUEsSUFBSSxFQUFFO0FBQ0pZLElBQUFBLEtBQUssRUFBRSxHQURIO0FBRUpDLElBQUFBLE1BQU0sRUFBRTtBQUZKO0FBRGMsQzs7QUF5UHhCLElBQU1vRCxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDRCxLQUFEO0FBQUEsU0FBWTtBQUN6QkUsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLFNBQVMsRUFBRTtBQURILEtBRGU7QUFJekIzQixJQUFBQSxRQUFRLEVBQUU7QUFDUjRCLE1BQUFBLE9BQU8sRUFBRSxNQUREO0FBRVJDLE1BQUFBLGNBQWMsRUFBRSxlQUZSO0FBR1JDLE1BQUFBLE9BQU8sRUFBRU4sS0FBSyxDQUFDTyxPQUFOLENBQWNDLElBSGY7QUFJUkMsTUFBQUEsZUFBZSxFQUFFQyxnQkFBTUMsWUFBTixFQUpUO0FBS1Isa0JBQVk7QUFDVkMsUUFBQUEsUUFBUSxFQUFFWixLQUFLLENBQUNhLFVBQU4sQ0FBaUJEO0FBRGpCO0FBTEosS0FKZTtBQWF6QkUsSUFBQUEsR0FBRyxFQUFFO0FBQ0hDLE1BQUFBLFFBQVEsRUFBRTtBQURQLEtBYm9CO0FBZ0J6QnRDLElBQUFBLFFBQVEsRUFBRTtBQUNSdUMsTUFBQUEsU0FBUyxFQUFFO0FBREgsS0FoQmU7QUFtQnpCekMsSUFBQUEsUUFBUSxFQUFFO0FBQ1IzQixNQUFBQSxLQUFLLEVBQUU7QUFEQztBQW5CZSxHQUFaO0FBQUEsQ0FBZjs7ZUF3QmUsd0JBQVdxRCxNQUFYLEVBQW1CO0FBQUVnQixFQUFBQSxTQUFTLEVBQUU7QUFBYixDQUFuQixFQUF3QzNJLEtBQXhDLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBSb290LCBjcmVhdGVHcmFwaFByb3BzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IENoYXJ0R3JpZCBmcm9tICcuL2dyaWQnO1xuaW1wb3J0IENoYXJ0QXhlcyBmcm9tICcuL2F4ZXMnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IGRhdGFUb1hCYW5kLCBnZXREb21haW5BbmRSYW5nZUJ5Q2hhcnRUeXBlLCBnZXRHcmlkTGluZXNBbmRBeGlzQnlDaGFydFR5cGUsIGdldFRvcFBhZGRpbmcgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBUb29sTWVudSBmcm9tICcuL3Rvb2wtbWVudSc7XG5pbXBvcnQgY2hhcnRUeXBlcyBmcm9tICcuL2NoYXJ0LXR5cGVzJztcbmltcG9ydCB7IEFsZXJ0RGlhbG9nIH0gZnJvbSAnQHBpZS1saWIvY29uZmlnLXVpJztcbmltcG9ydCBUcmFuc2xhdG9yIGZyb20gJ0BwaWUtbGliL3RyYW5zbGF0b3InO1xuXG5jb25zdCB7IHRyYW5zbGF0b3IgfSA9IFRyYW5zbGF0b3I7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOmNoYXJ0czpjaGFydCcpO1xuXG5leHBvcnQgY2xhc3MgQ2hhcnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZGlhbG9nOiB7XG4gICAgICAgIG9wZW46IGZhbHNlLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHRoaXMubWFza1VpZCA9IHRoaXMuZ2VuZXJhdGVNYXNrSWQoKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGFydFR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBzaXplOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgfSksXG4gICAgZG9tYWluOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBtaW46IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBtYXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBheGlzTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnNoYXBlKHsgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsIHZhbHVlOiBQcm9wVHlwZXMubnVtYmVyIH0pKSxcbiAgICByYW5nZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGxhYmVsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbWluOiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgbWF4OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgICAgc3RlcDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIGxhYmVsU3RlcDogUHJvcFR5cGVzLm51bWJlcixcbiAgICAgIGF4aXNMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB9KSxcbiAgICBjaGFydHM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBsYWJlbHNQbGFjZWhvbGRlcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGl0bGVQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBvbkRhdGFDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uQ2hhbmdlTGFiZWxzOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZVRpdGxlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBlcnJvcjogUHJvcFR5cGVzLmFueSxcbiAgICBhZGRDYXRlZ29yeUVuYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dQaXhlbEd1aWRlczogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2F0ZWdvcnlEZWZhdWx0TGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY2F0ZWdvcnlEZWZhdWx0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBkZWZpbmVDaGFydDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdGhlbWU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY2hhcnRpbmdPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2hhbmdlRWRpdGFibGVFbmFibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxhYmVsc0NoYXJhY3RlcnNMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIHNpemU6IHtcbiAgICAgIHdpZHRoOiA0ODAsXG4gICAgICBoZWlnaHQ6IDQ4MCxcbiAgICB9LFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGNoYXJ0czogW1xuICAgICAgY2hhcnRUeXBlcy5CYXIoKSxcbiAgICAgIGNoYXJ0VHlwZXMuSGlzdG9ncmFtKCksXG4gICAgICBjaGFydFR5cGVzLkxpbmVEb3QoKSxcbiAgICAgIGNoYXJ0VHlwZXMuTGluZUNyb3NzKCksXG4gICAgICBjaGFydFR5cGVzLkRvdFBsb3QoKSxcbiAgICAgIGNoYXJ0VHlwZXMuTGluZVBsb3QoKSxcbiAgICBdLFxuICAgIGF1dG9Gb2N1czogZmFsc2UsXG4gIH07XG5cbiAgZ2VuZXJhdGVNYXNrSWQoKSB7XG4gICAgcmV0dXJuICdjaGFydC0nICsgKE1hdGgucmFuZG9tKCkgKiAxMDAwMCkudG9GaXhlZCgpO1xuICB9XG5cbiAgaGFuZGxlQWxlcnREaWFsb2cgPSAob3BlbiwgY2FsbGJhY2spID0+XG4gICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgIHtcbiAgICAgICAgZGlhbG9nOiB7IG9wZW4gfSxcbiAgICAgIH0sXG4gICAgICBjYWxsYmFjayxcbiAgICApO1xuXG4gIGdldENoYXJ0ID0gKCkgPT4ge1xuICAgIGNvbnN0IGNoYXJ0cyA9IHRoaXMucHJvcHMuY2hhcnRzIHx8IHRoaXMuc3RhdGUuY2hhcnRzO1xuICAgIGxldCB7IGNoYXJ0VHlwZSB9ID0gdGhpcy5wcm9wcztcbiAgICBsZXQgQ2hhcnRDb21wb25lbnQgPSBudWxsO1xuICAgIGxldCBjaGFydCA9IG51bGw7XG5cbiAgICBpZiAoY2hhcnRUeXBlKSB7XG4gICAgICBjaGFydCA9IGNoYXJ0cyAmJiBjaGFydHMuZmluZCgoY2hhcnQpID0+IGNoYXJ0LnR5cGUgPT09IGNoYXJ0VHlwZSk7XG4gICAgICBDaGFydENvbXBvbmVudCA9IGNoYXJ0ICYmIGNoYXJ0LkNvbXBvbmVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hhcnQgPSBjaGFydHMgJiYgY2hhcnRzWzBdO1xuICAgICAgQ2hhcnRDb21wb25lbnQgPSBjaGFydCAmJiBjaGFydC5Db21wb25lbnQ7XG4gICAgICBjaGFydFR5cGUgPSBjaGFydCAmJiBjaGFydC50eXBlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBjaGFydFR5cGUsXG4gICAgICBDaGFydENvbXBvbmVudCxcbiAgICB9O1xuICB9O1xuXG4gIGNoYW5nZURhdGEgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHsgb25EYXRhQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgb25EYXRhQ2hhbmdlKGRhdGEpO1xuICB9O1xuXG4gIGNoYW5nZUNhdGVnb3J5ID0gKGluZGV4LCBuZXdDYXRlZ29yeSkgPT4ge1xuICAgIGNvbnN0IGludGVnZXJJbmRleCA9IHBhcnNlSW50KGluZGV4LCAxMCk7XG5cbiAgICBpZiAoaW50ZWdlckluZGV4ID49IDApIHtcbiAgICAgIGNvbnN0IHsgZGF0YSwgb25EYXRhQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xuICAgICAgZGF0YVtpbnRlZ2VySW5kZXhdID0ge1xuICAgICAgICAuLi5kYXRhW2ludGVnZXJJbmRleF0sXG4gICAgICAgIC4uLm5ld0NhdGVnb3J5LFxuICAgICAgfTtcblxuICAgICAgb25EYXRhQ2hhbmdlKGRhdGEpO1xuICAgIH1cbiAgfTtcblxuICBhZGRDYXRlZ29yeSA9ICgpID0+IHtcbiAgICBjb25zdCB7IG9uRGF0YUNoYW5nZSwgZGF0YSwgY2F0ZWdvcnlEZWZhdWx0TGFiZWwsIGRlZmluZUNoYXJ0LCBjYXRlZ29yeURlZmF1bHRzLCBsYW5ndWFnZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICgoZGF0YSB8fCBbXSkubGVuZ3RoID4gMTkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBkaWFsb2c6IHtcbiAgICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICAgIHRpdGxlOiB0cmFuc2xhdG9yLnQoJ2NvbW1vbjp3YXJuaW5nJywgeyBsbmc6IGxhbmd1YWdlIH0pLFxuICAgICAgICAgIHRleHQ6IHRyYW5zbGF0b3IudCgnY2hhcnRpbmcucmVhY2hlZExpbWl0X290aGVyJywgeyBjb3VudDogMjAsIGxuZzogbGFuZ3VhZ2UgfSksXG4gICAgICAgICAgb25Db25maXJtOiAoKSA9PiB0aGlzLmhhbmRsZUFsZXJ0RGlhbG9nKGZhbHNlKSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgYXV0b0ZvY3VzOiB0cnVlIH0pO1xuICAgICAgb25EYXRhQ2hhbmdlKFtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAge1xuICAgICAgICAgIGluRGVmaW5lQ2hhcnQ6IGRlZmluZUNoYXJ0LFxuICAgICAgICAgIGxhYmVsOiBjYXRlZ29yeURlZmF1bHRMYWJlbCB8fCB0cmFuc2xhdG9yLnQoJ2NoYXJ0aW5nLm5ld0xhYmVsJywgeyBsbmc6IGxhbmd1YWdlIH0pLFxuICAgICAgICAgIHZhbHVlOiAwLFxuICAgICAgICAgIGRlbGV0YWJsZTogdHJ1ZSxcbiAgICAgICAgICBlZGl0YWJsZTogY2F0ZWdvcnlEZWZhdWx0cyA/IGNhdGVnb3J5RGVmYXVsdHM/LmVkaXRhYmxlIDogdHJ1ZSxcbiAgICAgICAgICBpbnRlcmFjdGl2ZTogY2F0ZWdvcnlEZWZhdWx0cyA/IGNhdGVnb3J5RGVmYXVsdHM/LmludGVyYWN0aXZlIDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cbiAgfTtcblxuICBnZXRGaWx0ZXJlZENhdGVnb3JpZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBkZWZpbmVDaGFydCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiBkYXRhXG4gICAgICA/IGRhdGEubWFwKChkKSA9PiAoe1xuICAgICAgICAgIC4uLmQsXG4gICAgICAgICAgZGVsZXRhYmxlOiBkZWZpbmVDaGFydCB8fCBkLmRlbGV0YWJsZSxcbiAgICAgICAgfSkpXG4gICAgICA6IFtdO1xuICB9O1xuXG4gIHJlc2V0QXV0b0ZvY3VzID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBhdXRvRm9jdXM6IGZhbHNlIH0pO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBjbGFzc2VzLFxuICAgICAgY2xhc3NOYW1lLFxuICAgICAgZG9tYWluID0ge30sXG4gICAgICByYW5nZSA9IHt9LFxuICAgICAgY2hhcnRpbmdPcHRpb25zLFxuICAgICAgc2l6ZSxcbiAgICAgIHRpdGxlLFxuICAgICAgb25DaGFuZ2VUaXRsZSxcbiAgICAgIG9uQ2hhbmdlTGFiZWxzLFxuICAgICAgbGFiZWxzUGxhY2Vob2xkZXJzLFxuICAgICAgdGl0bGVQbGFjZWhvbGRlcixcbiAgICAgIGFkZENhdGVnb3J5RW5hYmxlZCxcbiAgICAgIGNoYW5nZUludGVyYWN0aXZlRW5hYmxlZCxcbiAgICAgIGNoYW5nZUVkaXRhYmxlRW5hYmxlZCxcbiAgICAgIHNob3dQaXhlbEd1aWRlcyxcbiAgICAgIGVycm9yLFxuICAgICAgbWF0aE1sT3B0aW9ucyA9IHt9LFxuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBsYWJlbHNDaGFyYWN0ZXJzTGltaXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IHsgY2hhcnRUeXBlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgY29uc3QgeyBkaWFsb2cgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgZGVmaW5lQ2hhcnQgPSB0aGlzLnByb3BzLmRlZmluZUNoYXJ0IHx8IGZhbHNlO1xuXG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBzaXplIHx8IHt9O1xuICAgIGNvbnN0IGxhYmVscyA9IHsgbGVmdDogcmFuZ2U/LmxhYmVsIHx8ICcnLCBib3R0b206IGRvbWFpbj8ubGFiZWwgfHwgJycgfTtcblxuICAgIGNvbnN0IHsgQ2hhcnRDb21wb25lbnQgfSA9IHRoaXMuZ2V0Q2hhcnQoKTtcbiAgICBjb25zdCBjYXRlZ29yaWVzID0gdGhpcy5nZXRGaWx0ZXJlZENhdGVnb3JpZXMoKTtcblxuICAgIGNvbnN0IGNvcnJlY3RWYWx1ZXMgPSBnZXREb21haW5BbmRSYW5nZUJ5Q2hhcnRUeXBlKGRvbWFpbiwgcmFuZ2UsIGNoYXJ0VHlwZSk7XG5cbiAgICBjb25zdCB7IHZlcnRpY2FsTGluZXMsIGhvcml6b250YWxMaW5lcywgbGVmdEF4aXMgfSA9IGdldEdyaWRMaW5lc0FuZEF4aXNCeUNoYXJ0VHlwZShjb3JyZWN0VmFsdWVzLnJhbmdlLCBjaGFydFR5cGUpO1xuICAgIGNvbnN0IGNvbW1vbiA9IHtcbiAgICAgIGdyYXBoUHJvcHM6IGNyZWF0ZUdyYXBoUHJvcHMoY29ycmVjdFZhbHVlcy5kb21haW4sIGNvcnJlY3RWYWx1ZXMucmFuZ2UsIHNpemUsICgpID0+IHRoaXMucm9vdE5vZGUpLFxuICAgIH07XG5cbiAgICBsb2coJ1tyZW5kZXJdIGNvbW1vbjonLCBjb21tb24pO1xuXG4gICAgY29uc3QgbWFza1NpemUgPSB7IHg6IC0xMCwgeTogLTc1LCB3aWR0aDogd2lkdGggKyAyMCwgaGVpZ2h0OiBoZWlnaHQgKyA4MCB9O1xuICAgIGNvbnN0IHsgc2NhbGUgfSA9IGNvbW1vbi5ncmFwaFByb3BzO1xuICAgIGNvbnN0IHhCYW5kID0gZGF0YVRvWEJhbmQoc2NhbGUueCwgY2F0ZWdvcmllcywgd2lkdGgsIGNoYXJ0VHlwZSk7XG5cbiAgICBpZiAoIUNoYXJ0Q29tcG9uZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBiYW5kV2lkdGggPSB4QmFuZC5iYW5kd2lkdGgoKTtcbiAgICAvLyBmb3IgY2hhcnRUeXBlIFwibGluZVwiLCBiYW5kV2lkdGggd2lsbCBiZSAwLCBzbyB3ZSBoYXZlIHRvIGNhbGN1bGF0ZSBpdFxuICAgIGNvbnN0IGJhcldpZHRoID0gYmFuZFdpZHRoIHx8IHNjYWxlLngoY29ycmVjdFZhbHVlcy5kb21haW4ubWF4KSAvIGNhdGVnb3JpZXMubGVuZ3RoO1xuICAgIGNvbnN0IGluY3JlYXNlSGVpZ2h0ID0gZGVmaW5lQ2hhcnQgPyAxNjAgOiA2MDtcblxuICAgIC8vIGlmIHRoZXJlIGFyZSBtYW55IGNhdGVnb3JpZXMsIHdlIGhhdmUgdG8gcm90YXRlIHRoZWlyIG5hbWVzIGluIG9yZGVyIHRvIGZpdFxuICAgIC8vIGFuZCB3ZSBoYXZlIHRvIGFkZCBleHRyYSB2YWx1ZSBvbiB0b3Agb2Ygc29tZSBpdGVtc1xuICAgIGNvbnN0IHRvcCA9IGdldFRvcFBhZGRpbmcoYmFyV2lkdGgpO1xuICAgIGNvbnN0IHJvb3RDb21tb24gPSBjbG9uZURlZXAoY29tbW9uKTtcbiAgICByb290Q29tbW9uLmdyYXBoUHJvcHMuc2l6ZS5oZWlnaHQgKz0gdG9wICsgaW5jcmVhc2VIZWlnaHQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5jaGFydCwgY2xhc3Nlcy5jaGFydEJveCwgY2xhc3NOYW1lKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmNvbnRyb2xzfT5cbiAgICAgICAgICA8VG9vbE1lbnVcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy50b29sTWVudX1cbiAgICAgICAgICAgIGRpc2FibGVkPXshYWRkQ2F0ZWdvcnlFbmFibGVkfVxuICAgICAgICAgICAgYWRkQ2F0ZWdvcnk9eygpID0+IHRoaXMuYWRkQ2F0ZWdvcnkoKX1cbiAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8Um9vdFxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgICBvbkNoYW5nZVRpdGxlPXtvbkNoYW5nZVRpdGxlfVxuICAgICAgICAgIGRpc2FibGVkVGl0bGU9eyFkZWZpbmVDaGFydH1cbiAgICAgICAgICBzaG93VGl0bGU9e3RydWV9XG4gICAgICAgICAgc2hvd0xhYmVscz17dHJ1ZX1cbiAgICAgICAgICBsYWJlbHM9e2xhYmVsc31cbiAgICAgICAgICBvbkNoYW5nZUxhYmVscz17b25DaGFuZ2VMYWJlbHN9XG4gICAgICAgICAgbGFiZWxzUGxhY2Vob2xkZXJzPXtsYWJlbHNQbGFjZWhvbGRlcnN9XG4gICAgICAgICAgdGl0bGVQbGFjZWhvbGRlcj17dGl0bGVQbGFjZWhvbGRlcn1cbiAgICAgICAgICBkZWZpbmVDaGFydD17ZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgZGlzYWJsZWRMYWJlbHM9eyFkZWZpbmVDaGFydH1cbiAgICAgICAgICBpc0NoYXJ0PXt0cnVlfVxuICAgICAgICAgIHNob3dQaXhlbEd1aWRlcz17c2hvd1BpeGVsR3VpZGVzfVxuICAgICAgICAgIHJvb3RSZWY9eyhyKSA9PiAodGhpcy5yb290Tm9kZSA9IHIpfVxuICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgbGFiZWxzQ2hhcmFjdGVyc0xpbWl0PXtsYWJlbHNDaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgey4uLnJvb3RDb21tb259XG4gICAgICAgID5cbiAgICAgICAgICA8Q2hhcnRHcmlkIHsuLi5jb21tb259IHhCYW5kPXt4QmFuZH0gcm93VGlja1ZhbHVlcz17aG9yaXpvbnRhbExpbmVzfSBjb2x1bW5UaWNrVmFsdWVzPXt2ZXJ0aWNhbExpbmVzfSAvPlxuICAgICAgICAgIDxDaGFydEF4ZXNcbiAgICAgICAgICAgIGF1dG9Gb2N1cz17dGhpcy5zdGF0ZS5hdXRvRm9jdXN9XG4gICAgICAgICAgICBvbkF1dG9Gb2N1c1VzZWQ9e3RoaXMucmVzZXRBdXRvRm9jdXN9XG4gICAgICAgICAgICB7Li4uY29tbW9ufVxuICAgICAgICAgICAgZGVmaW5lQ2hhcnQ9e2RlZmluZUNoYXJ0fVxuICAgICAgICAgICAgY2F0ZWdvcmllcz17Y2F0ZWdvcmllc31cbiAgICAgICAgICAgIHhCYW5kPXt4QmFuZH1cbiAgICAgICAgICAgIGxlZnRBeGlzPXtsZWZ0QXhpc31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmNoYW5nZURhdGF9XG4gICAgICAgICAgICBvbkNoYW5nZUNhdGVnb3J5PXt0aGlzLmNoYW5nZUNhdGVnb3J5fVxuICAgICAgICAgICAgY2hhcnRpbmdPcHRpb25zPXtjaGFydGluZ09wdGlvbnN9XG4gICAgICAgICAgICBjaGFuZ2VJbnRlcmFjdGl2ZUVuYWJsZWQ9e2NoYW5nZUludGVyYWN0aXZlRW5hYmxlZH1cbiAgICAgICAgICAgIGNoYW5nZUVkaXRhYmxlRW5hYmxlZD17Y2hhbmdlRWRpdGFibGVFbmFibGVkfVxuICAgICAgICAgICAgdG9wPXt0b3B9XG4gICAgICAgICAgICBlcnJvcj17ZXJyb3J9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bWFzayBpZD17YCR7dGhpcy5tYXNrVWlkfWB9PlxuICAgICAgICAgICAgPHJlY3Qgey4uLm1hc2tTaXplfSBmaWxsPVwid2hpdGVcIiAvPlxuICAgICAgICAgIDwvbWFzaz5cbiAgICAgICAgICA8ZyBpZD1cIm1hcmtzXCIgbWFzaz17YHVybCgnIyR7dGhpcy5tYXNrVWlkfScpYH0+XG4gICAgICAgICAgICA8Q2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgICAgey4uLmNvbW1vbn1cbiAgICAgICAgICAgICAgZGF0YT17Y2F0ZWdvcmllc31cbiAgICAgICAgICAgICAgaGVpZ2h0PXtyb290Q29tbW9uLmdyYXBoUHJvcHMuc2l6ZS5oZWlnaHR9XG4gICAgICAgICAgICAgIGRlZmluZUNoYXJ0PXtkZWZpbmVDaGFydH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuY2hhbmdlRGF0YX1cbiAgICAgICAgICAgICAgb25DaGFuZ2VDYXRlZ29yeT17dGhpcy5jaGFuZ2VDYXRlZ29yeX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDxBbGVydERpYWxvZ1xuICAgICAgICAgIG9wZW49e2RpYWxvZy5vcGVufVxuICAgICAgICAgIHRpdGxlPXtkaWFsb2cudGl0bGV9XG4gICAgICAgICAgdGV4dD17ZGlhbG9nLnRleHR9XG4gICAgICAgICAgb25DbG9zZT17ZGlhbG9nLm9uQ2xvc2V9XG4gICAgICAgICAgb25Db25maXJtPXtkaWFsb2cub25Db25maXJtfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBzdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIGdyYXBoQm94OiB7XG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlKDYwcHgsIDM1cHgpJyxcbiAgfSxcbiAgY29udHJvbHM6IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyxcbiAgICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nLnVuaXQsXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5wcmltYXJ5TGlnaHQoKSxcbiAgICAnJiBidXR0b24nOiB7XG4gICAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSxcbiAgICB9LFxuICB9LFxuICBzdmc6IHtcbiAgICBvdmVyZmxvdzogJ3Zpc2libGUnLFxuICB9LFxuICB0b29sTWVudToge1xuICAgIG1pbkhlaWdodDogJzM2cHgnLFxuICB9LFxuICBjaGFydEJveDoge1xuICAgIHdpZHRoOiAnbWluLWNvbnRlbnQnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoc3R5bGVzLCB7IHdpdGhUaGVtZTogdHJ1ZSB9KShDaGFydCk7XG4iXX0=
447
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/chart.jsx"],"names":["translator","Translator","log","Chart","props","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","autoFocus","open","callback","setState","dialog","state","chartType","ChartComponent","chart","find","type","Component","data","onDataChange","index","newCategory","integerIndex","parseInt","categoryDefaultLabel","defineChart","categoryDefaults","language","length","title","t","lng","text","count","onConfirm","handleAlertDialog","inDefineChart","label","value","deletable","editable","interactive","filter","_","i","map","d","actionsAnchorEl","maskUid","generateMaskId","Math","random","toFixed","classes","className","domain","range","chartingOptions","size","onChangeTitle","onChangeLabels","labelsPlaceholders","titlePlaceholder","addCategoryEnabled","changeInteractiveEnabled","changeEditableEnabled","showPixelGuides","error","mathMlOptions","labelsCharactersLimit","width","height","labels","left","bottom","getChart","categories","getFilteredCategories","correctValues","verticalLines","horizontalLines","leftAxis","common","graphProps","rootNode","maskSize","x","y","scale","xBand","bandWidth","bandwidth","barWidth","max","increaseHeight","top","rootCommon","chartBox","r","resetAutoFocus","changeData","changeCategory","display","justifyContent","addCategory","deleteCategory","onClose","React","PropTypes","object","isRequired","string","shape","number","min","axisLabel","arrayOf","step","labelStep","array","func","any","bool","theme","styles","graphBox","transform","svg","overflow","withTheme"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport { Root, createGraphProps } from '@pie-lib/plot';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport ChartGrid from './grid';\nimport ChartAxes from './axes';\nimport { dataToXBand, getDomainAndRangeByChartType, getGridLinesAndAxisByChartType, getTopPadding } from './utils';\nimport chartTypes from './chart-types';\nimport ActionsButton from './actions-button';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst log = debug('pie-lib:charts:chart');\n\nexport class Chart extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n actionsAnchorEl: null,\n };\n this.maskUid = this.generateMaskId();\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n chartType: PropTypes.string.isRequired,\n size: PropTypes.shape({\n width: PropTypes.number,\n height: PropTypes.number,\n }),\n domain: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n axisLabel: PropTypes.string,\n }),\n data: PropTypes.arrayOf(PropTypes.shape({ label: PropTypes.string, value: PropTypes.number })),\n range: PropTypes.shape({\n label: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n labelStep: PropTypes.number,\n axisLabel: PropTypes.string,\n }),\n charts: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n title: PropTypes.string,\n titlePlaceholder: PropTypes.string,\n onDataChange: PropTypes.func,\n onChangeLabels: PropTypes.func,\n onChangeTitle: PropTypes.func,\n error: PropTypes.any,\n addCategoryEnabled: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n categoryDefaultLabel: PropTypes.string,\n categoryDefaults: PropTypes.object,\n defineChart: PropTypes.bool,\n theme: PropTypes.object,\n chartingOptions: PropTypes.object,\n changeInteractiveEnabled: PropTypes.bool,\n changeEditableEnabled: PropTypes.bool,\n language: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n static defaultProps = {\n size: {\n width: 480,\n height: 480,\n },\n };\n\n state = {\n charts: [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ],\n autoFocus: false,\n };\n\n generateMaskId() {\n return 'chart-' + (Math.random() * 10000).toFixed();\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n getChart = () => {\n const charts = this.props.charts || this.state.charts;\n let { chartType } = this.props;\n let ChartComponent = null;\n let chart = null;\n\n if (chartType) {\n chart = charts && charts.find((chart) => chart.type === chartType);\n ChartComponent = chart && chart.Component;\n } else {\n chart = charts && charts[0];\n ChartComponent = chart && chart.Component;\n chartType = chart && chart.type;\n }\n\n return {\n type: chartType,\n ChartComponent,\n };\n };\n\n changeData = (data) => {\n const { onDataChange } = this.props;\n\n onDataChange(data);\n };\n\n changeCategory = (index, newCategory) => {\n const integerIndex = parseInt(index, 10);\n\n if (integerIndex >= 0) {\n const { data, onDataChange } = this.props;\n data[integerIndex] = {\n ...data[integerIndex],\n ...newCategory,\n };\n\n onDataChange(data);\n }\n };\n\n addCategory = () => {\n const { onDataChange, data, categoryDefaultLabel, defineChart, categoryDefaults, language } = this.props;\n\n if ((data || []).length > 19) {\n this.setState({\n dialog: {\n open: true,\n title: translator.t('common:warning', { lng: language }),\n text: translator.t('charting.reachedLimit_other', { count: 20, lng: language }),\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.setState({ autoFocus: true });\n onDataChange([\n ...data,\n {\n inDefineChart: defineChart,\n label: categoryDefaultLabel || translator.t('charting.newLabel', { lng: language }),\n value: 0,\n deletable: true,\n editable: categoryDefaults ? categoryDefaults?.editable : true,\n interactive: categoryDefaults ? categoryDefaults?.interactive : true,\n },\n ]);\n }\n };\n\n deleteCategory = (index) => {\n const { data, onDataChange } = this.props;\n\n if (typeof index !== 'number' || index < 0) {\n return;\n }\n\n if (data && data.length > 0) {\n onDataChange(data.filter((_, i) => i !== index));\n }\n };\n\n getFilteredCategories = () => {\n const { data, defineChart } = this.props;\n\n return data\n ? data.map((d) => ({\n ...d,\n deletable: defineChart || d.deletable,\n }))\n : [];\n };\n\n resetAutoFocus = () => {\n this.setState({ autoFocus: false });\n };\n\n render() {\n const {\n classes,\n className,\n domain = {},\n range = {},\n chartingOptions,\n size,\n title,\n onChangeTitle,\n onChangeLabels,\n labelsPlaceholders,\n titlePlaceholder,\n addCategoryEnabled,\n changeInteractiveEnabled,\n changeEditableEnabled,\n showPixelGuides,\n error,\n mathMlOptions = {},\n language,\n labelsCharactersLimit,\n } = this.props;\n let { chartType } = this.props;\n\n const { dialog } = this.state;\n const defineChart = this.props.defineChart || false;\n\n const { width, height } = size || {};\n const labels = { left: range?.label || '', bottom: domain?.label || '' };\n\n const { ChartComponent } = this.getChart();\n const categories = this.getFilteredCategories();\n\n const correctValues = getDomainAndRangeByChartType(domain, range, chartType);\n\n const { verticalLines, horizontalLines, leftAxis } = getGridLinesAndAxisByChartType(correctValues.range, chartType);\n const common = {\n graphProps: createGraphProps(correctValues.domain, correctValues.range, size, () => this.rootNode),\n };\n\n log('[render] common:', common);\n\n const maskSize = { x: -10, y: -75, width: width + 20, height: height + 80 };\n const { scale } = common.graphProps;\n const xBand = dataToXBand(scale.x, categories, width, chartType);\n\n if (!ChartComponent) {\n return null;\n }\n\n const bandWidth = xBand.bandwidth();\n // for chartType \"line\", bandWidth will be 0, so we have to calculate it\n const barWidth = bandWidth || scale.x(correctValues.domain.max) / categories.length;\n const increaseHeight = defineChart ? 160 : 60;\n\n // if there are many categories, we have to rotate their names in order to fit\n // and we have to add extra value on top of some items\n const top = getTopPadding(barWidth);\n const rootCommon = cloneDeep(common);\n rootCommon.graphProps.size.height += top + increaseHeight;\n\n return (\n <div className={classNames(classes.chart, classes.chartBox, className)}>\n <Root\n title={title}\n onChangeTitle={onChangeTitle}\n disabledTitle={!defineChart}\n showTitle={true}\n showLabels={true}\n labels={labels}\n onChangeLabels={onChangeLabels}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder}\n defineChart={defineChart}\n disabledLabels={!defineChart}\n isChart={true}\n showPixelGuides={showPixelGuides}\n rootRef={(r) => (this.rootNode = r)}\n mathMlOptions={mathMlOptions}\n labelsCharactersLimit={labelsCharactersLimit}\n {...rootCommon}\n >\n <ChartGrid {...common} xBand={xBand} rowTickValues={horizontalLines} columnTickValues={verticalLines} />\n <ChartAxes\n autoFocus={this.state.autoFocus}\n onAutoFocusUsed={this.resetAutoFocus}\n {...common}\n defineChart={defineChart}\n categories={categories}\n xBand={xBand}\n leftAxis={leftAxis}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n chartingOptions={chartingOptions}\n changeInteractiveEnabled={changeInteractiveEnabled}\n changeEditableEnabled={changeEditableEnabled}\n top={top}\n error={error}\n />\n {addCategoryEnabled ? (\n <foreignObject x={width - 8} y={height - 8} width={100} height={40}>\n <div xmlns=\"http://www.w3.org/1999/xhtml\" style={{ display: 'flex', justifyContent: 'center' }}>\n <ActionsButton\n categories={categories}\n addCategory={this.addCategory}\n deleteCategory={this.deleteCategory}\n language={language}\n />\n </div>\n </foreignObject>\n ) : null}\n <mask id={`${this.maskUid}`}>\n <rect {...maskSize} fill=\"white\" />\n </mask>\n <g id=\"marks\" mask={`url('#${this.maskUid}')`}>\n <ChartComponent\n {...common}\n data={categories}\n height={rootCommon.graphProps.size.height}\n defineChart={defineChart}\n onChange={this.changeData}\n onChangeCategory={this.changeCategory}\n />\n </g>\n </Root>\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n graphBox: {\n transform: 'translate(60px, 35px)',\n },\n svg: {\n overflow: 'visible',\n },\n\n chartBox: {\n width: 'min-content',\n },\n});\n\nexport default withStyles(styles, { withTheme: true })(Chart);\n"],"file":"chart.js"}
@@ -21,7 +21,7 @@ var _styles = require("@material-ui/core/styles");
21
21
 
22
22
  var _plot = require("@pie-lib/plot");
23
23
 
24
- var _renderUi = require("@pie-lib/render-ui");
24
+ var _index = require("./../shared/index");
25
25
 
26
26
  var _styles2 = require("./styles");
27
27
 
@@ -57,7 +57,7 @@ var RawDragHandle = function RawDragHandle(_ref) {
57
57
  }, isHovered && !correctness && interactive && /*#__PURE__*/_react["default"].createElement(_dragIcon["default"], {
58
58
  width: width,
59
59
  scaleValue: scaleValue,
60
- color: color,
60
+ color: _index.color.defaults.BORDER_GRAY,
61
61
  classes: classes
62
62
  }), interactive && !correctness && /*#__PURE__*/_react["default"].createElement("ellipse", (0, _extends2["default"])({
63
63
  cx: width / 2,
@@ -127,7 +127,7 @@ var DragHandle = (0, _styles.withStyles)(function () {
127
127
  height: 30,
128
128
  '&:hover': {
129
129
  '& .handle': {
130
- fill: _renderUi.color.secondaryDark(),
130
+ fill: _index.color.secondaryDark(),
131
131
  height: '16px'
132
132
  }
133
133
  },
@@ -172,4 +172,4 @@ var D = (0, _plot.gridDraggable)({
172
172
  exports.D = D;
173
173
  var _default = D;
174
174
  exports["default"] = _default;
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vZHJhZy1oYW5kbGUuanN4Il0sIm5hbWVzIjpbIlJhd0RyYWdIYW5kbGUiLCJ4IiwieSIsIndpZHRoIiwiZ3JhcGhQcm9wcyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJpbnRlcmFjdGl2ZSIsImRlZmluZUNoYXJ0IiwiaXNIb3ZlcmVkIiwiY29ycmVjdG5lc3MiLCJjb2xvciIsInJlc3QiLCJzY2FsZSIsInNjYWxlVmFsdWUiLCJzdmdPdmVyZmxvd1Zpc2libGUiLCJ0cmFuc3BhcmVudEhhbmRsZSIsImhhbmRsZSIsInZhbHVlIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsInR5cGVzIiwiR3JhcGhQcm9wc1R5cGUiLCJvYmplY3QiLCJzdHJpbmciLCJib29sIiwic2hhcGUiLCJsYWJlbCIsIkRyYWdIYW5kbGUiLCJoZWlnaHQiLCJmaWxsIiwidHJhbnNpdGlvbiIsImNsaXBQYXRoIiwiaGFuZGxlQ29udGFpbmVyIiwic2Vjb25kYXJ5RGFyayIsIm92ZXJmbG93IiwiRCIsImF4aXMiLCJmcm9tRGVsdGEiLCJwcm9wcyIsImRlbHRhIiwibmV3UG9pbnQiLCJ1dGlscyIsInBvaW50IiwiYWRkIiwiYm91bmRzIiwiZG9tYWluIiwicmFuZ2UiLCJhcmVhIiwibGVmdCIsInRvcCIsImJvdHRvbSIsInJpZ2h0IiwiYW5jaG9yUG9pbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1BLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsT0FhaEI7QUFBQTs7QUFBQSxNQVpKQyxDQVlJLFFBWkpBLENBWUk7QUFBQSxNQVhKQyxDQVdJLFFBWEpBLENBV0k7QUFBQSxNQVZKQyxLQVVJLFFBVkpBLEtBVUk7QUFBQSxNQVRKQyxVQVNJLFFBVEpBLFVBU0k7QUFBQSxNQVJKQyxPQVFJLFFBUkpBLE9BUUk7QUFBQSxNQVBKQyxTQU9JLFFBUEpBLFNBT0k7QUFBQSxNQU5KQyxXQU1JLFFBTkpBLFdBTUk7QUFBQSxNQUxKQyxXQUtJLFFBTEpBLFdBS0k7QUFBQSxNQUpKQyxTQUlJLFFBSkpBLFNBSUk7QUFBQSxNQUhKQyxXQUdJLFFBSEpBLFdBR0k7QUFBQSxNQUZKQyxLQUVJLFFBRkpBLEtBRUk7QUFBQSxNQUREQyxJQUNDO0FBQ0osTUFBUUMsS0FBUixHQUFrQlQsVUFBbEIsQ0FBUVMsS0FBUjtBQUNBLE1BQU1DLFVBQVUsZ0JBQUcscUJBQVNYLEtBQVQsQ0FBSCw4Q0FBRyxVQUFpQlUsS0FBcEM7QUFFQSxzQkFDRTtBQUFLLElBQUEsQ0FBQyxFQUFFWixDQUFSO0FBQVcsSUFBQSxDQUFDLEVBQUVZLEtBQUssQ0FBQ1gsQ0FBTixDQUFRQSxDQUFSLElBQWEsRUFBM0I7QUFBK0IsSUFBQSxLQUFLLEVBQUVDLEtBQXRDO0FBQTZDLElBQUEsUUFBUSxFQUFDLFNBQXREO0FBQWdFLElBQUEsU0FBUyxFQUFFRSxPQUFPLENBQUNVO0FBQW5GLEtBQ0dOLFNBQVMsSUFBSSxDQUFDQyxXQUFkLElBQTZCSCxXQUE3QixpQkFDQyxnQ0FBQyxvQkFBRDtBQUFVLElBQUEsS0FBSyxFQUFFSixLQUFqQjtBQUF3QixJQUFBLFVBQVUsRUFBRVcsVUFBcEM7QUFBZ0QsSUFBQSxLQUFLLEVBQUVILEtBQXZEO0FBQThELElBQUEsT0FBTyxFQUFFTjtBQUF2RSxJQUZKLEVBSUdFLFdBQVcsSUFBSSxDQUFDRyxXQUFoQixpQkFDQztBQUNFLElBQUEsRUFBRSxFQUFFUCxLQUFLLEdBQUcsQ0FEZDtBQUVFLElBQUEsRUFBRSxFQUFFLEVBRk47QUFHRSxJQUFBLEVBQUUsRUFBRUEsS0FBSyxHQUFHLENBSGQsQ0FJRTtBQUpGO0FBS0UsSUFBQSxFQUFFLEVBQUUsRUFMTjtBQU1FLElBQUEsU0FBUyxFQUFFLDRCQUFXRSxPQUFPLENBQUNXLGlCQUFuQixFQUFzQ1YsU0FBdEM7QUFOYixLQU9NTSxJQVBOLEVBTEosZUFnQkUsMkRBQ0U7QUFBUSxJQUFBLEVBQUUsRUFBQyxjQUFYO0FBQTBCLElBQUEsQ0FBQyxFQUFDLEdBQTVCO0FBQWdDLElBQUEsQ0FBQyxFQUFDLEdBQWxDO0FBQXNDLElBQUEsS0FBSyxFQUFDLE1BQTVDO0FBQW1ELElBQUEsTUFBTSxFQUFDO0FBQTFELGtCQUNFO0FBQWdCLFVBQUcsYUFBbkI7QUFBaUMsSUFBQSxZQUFZLEVBQUM7QUFBOUMsSUFERixlQUVFO0FBQVUsSUFBQSxFQUFFLEVBQUMsR0FBYjtBQUFpQixJQUFBLEVBQUUsRUFBQyxHQUFwQjtBQUF3QixJQUFBLE1BQU0sRUFBQztBQUEvQixJQUZGLGVBR0U7QUFBUyxJQUFBLFVBQVUsRUFBQztBQUFwQixJQUhGLGVBSUU7QUFBYSxJQUFBLEdBQUcsRUFBQyxZQUFqQjtBQUE4QixJQUFBLFFBQVEsRUFBQztBQUF2QyxJQUpGLGVBS0UsOERBQ0Usb0RBREYsZUFFRTtBQUFhLFVBQUc7QUFBaEIsSUFGRixDQUxGLENBREYsQ0FoQkYsRUE2QkdGLFdBQVcsaUJBQ1Y7QUFDRSxJQUFBLENBQUMsRUFBRSxFQURMO0FBRUUsSUFBQSxLQUFLLEVBQUVQLEtBRlQ7QUFHRSxJQUFBLE1BQU0sRUFBQyxvQkFIVDtBQUlFLElBQUEsU0FBUyxFQUFFLDRCQUNURSxPQUFPLENBQUNZLE1BREMsRUFFVCxRQUZTLEVBR1RYLFNBSFMsRUFJVCxDQUFDQyxXQUFELElBQWdCLGlCQUpQLEVBS1RBLFdBQVcsSUFBSUcsV0FBZixJQUE4QkEsV0FBVyxDQUFDUSxLQUxqQztBQUpiLEtBV01OLElBWE4sRUE5QkosQ0FERjtBQStDRCxDQWhFRDs7QUFrRUFaLGFBQWEsQ0FBQ21CLFNBQWQsR0FBMEI7QUFDeEJsQixFQUFBQSxDQUFDLEVBQUVtQixzQkFBVUMsTUFBVixDQUFpQkMsVUFESTtBQUV4QnBCLEVBQUFBLENBQUMsRUFBRWtCLHNCQUFVQyxNQUFWLENBQWlCQyxVQUZJO0FBR3hCbkIsRUFBQUEsS0FBSyxFQUFFaUIsc0JBQVVDLE1BSE87QUFJeEJqQixFQUFBQSxVQUFVLEVBQUVtQixZQUFNQyxjQUFOLENBQXFCRixVQUpUO0FBS3hCakIsRUFBQUEsT0FBTyxFQUFFZSxzQkFBVUssTUFBVixDQUFpQkgsVUFMRjtBQU14QmhCLEVBQUFBLFNBQVMsRUFBRWMsc0JBQVVNLE1BTkc7QUFPeEJuQixFQUFBQSxXQUFXLEVBQUVhLHNCQUFVTyxJQVBDO0FBUXhCbEIsRUFBQUEsU0FBUyxFQUFFVyxzQkFBVU8sSUFSRztBQVN4QmpCLEVBQUFBLFdBQVcsRUFBRVUsc0JBQVVRLEtBQVYsQ0FBZ0I7QUFDM0JWLElBQUFBLEtBQUssRUFBRUUsc0JBQVVNLE1BRFU7QUFFM0JHLElBQUFBLEtBQUssRUFBRVQsc0JBQVVNO0FBRlUsR0FBaEIsQ0FUVztBQWF4QmYsRUFBQUEsS0FBSyxFQUFFUyxzQkFBVU07QUFiTyxDQUExQjtBQWdCTyxJQUFNSSxVQUFVLEdBQUcsd0JBQVc7QUFBQSxTQUFPO0FBQzFDYixJQUFBQSxNQUFNLEVBQUU7QUFDTmMsTUFBQUEsTUFBTSxFQUFFLE1BREY7QUFFTkMsTUFBQUEsSUFBSSxFQUFFLGFBRkE7QUFHTkMsTUFBQUEsVUFBVSxFQUFFLHdDQUhOO0FBSU4sbUJBQWEsc0JBQVEsTUFBUixDQUpQO0FBS04scUJBQWUsd0JBQVUsTUFBVixDQUxUO0FBTU4sMkJBQXFCLHVCQUFTLE1BQVQ7QUFOZixLQURrQztBQVMxQ2pCLElBQUFBLGlCQUFpQixFQUFFO0FBQ2pCZ0IsTUFBQUEsSUFBSSxFQUFFLGFBRFc7QUFFakJFLE1BQUFBLFFBQVEsRUFBRTtBQUZPLEtBVHVCO0FBYTFDQyxJQUFBQSxlQUFlLEVBQUU7QUFDZkosTUFBQUEsTUFBTSxFQUFFLEVBRE87QUFFZixpQkFBVztBQUNULHFCQUFhO0FBQ1hDLFVBQUFBLElBQUksRUFBRXJCLGdCQUFNeUIsYUFBTixFQURLO0FBRVhMLFVBQUFBLE1BQU0sRUFBRTtBQUZHO0FBREosT0FGSTtBQVFmLDJCQUFxQix1QkFBUyxNQUFULENBUk47QUFTZixxQkFBZSx3QkFBVSxNQUFWLENBVEE7QUFVZixtQkFBYSxzQkFBUSxNQUFSO0FBVkUsS0FieUI7QUF5QjFDaEIsSUFBQUEsa0JBQWtCLEVBQUU7QUFDbEJzQixNQUFBQSxRQUFRLEVBQUU7QUFEUTtBQXpCc0IsR0FBUDtBQUFBLENBQVgsRUE0QnRCckMsYUE1QnNCLENBQW5COztBQThCQSxJQUFNc0MsQ0FBQyxHQUFHLHlCQUFjO0FBQzdCQyxFQUFBQSxJQUFJLEVBQUUsR0FEdUI7QUFFN0JDLEVBQUFBLFNBQVMsRUFBRSxtQkFBQ0MsS0FBRCxFQUFRQyxLQUFSLEVBQWtCO0FBQzNCO0FBQ0FBLElBQUFBLEtBQUssQ0FBQ3pDLENBQU4sR0FBVSxDQUFWOztBQUNBLFFBQU0wQyxRQUFRLEdBQUdDLFlBQU1DLEtBQU4sQ0FBWUosS0FBWixFQUFtQkssR0FBbkIsQ0FBdUJGLFlBQU1DLEtBQU4sQ0FBWUgsS0FBWixDQUF2QixDQUFqQjs7QUFFQSxXQUFPQyxRQUFRLENBQUN6QyxDQUFoQjtBQUNELEdBUjRCO0FBUzdCNkMsRUFBQUEsTUFBTSxFQUFFLGdCQUFDTixLQUFELFNBQThCO0FBQUEsUUFBcEJPLE1BQW9CLFNBQXBCQSxNQUFvQjtBQUFBLFFBQVpDLEtBQVksU0FBWkEsS0FBWTtBQUNwQyxRQUFNQyxJQUFJLEdBQUc7QUFBRUMsTUFBQUEsSUFBSSxFQUFFLENBQVI7QUFBV0MsTUFBQUEsR0FBRyxFQUFFWCxLQUFLLENBQUN2QyxDQUF0QjtBQUF5Qm1ELE1BQUFBLE1BQU0sRUFBRVosS0FBSyxDQUFDdkMsQ0FBdkM7QUFBMENvRCxNQUFBQSxLQUFLLEVBQUU7QUFBakQsS0FBYjtBQUNBLFdBQU9WLFlBQU1HLE1BQU4sQ0FBYUcsSUFBYixFQUFtQkYsTUFBbkIsRUFBMkJDLEtBQTNCLENBQVA7QUFDRCxHQVo0QjtBQWE3Qk0sRUFBQUEsV0FBVyxFQUFFLHFCQUFDZCxLQUFELEVBQVc7QUFDdEIsV0FBTztBQUFFeEMsTUFBQUEsQ0FBQyxFQUFFd0MsS0FBSyxDQUFDeEMsQ0FBWDtBQUFjQyxNQUFBQSxDQUFDLEVBQUV1QyxLQUFLLENBQUN2QztBQUF2QixLQUFQO0FBQ0Q7QUFmNEIsQ0FBZCxFQWdCZDRCLFVBaEJjLENBQVY7O2VBa0JRUSxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgZ3JpZERyYWdnYWJsZSwgdXRpbHMsIHR5cGVzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgeyBjb3JyZWN0LCBpbmNvcnJlY3QsIGRpc2FibGVkIH0gZnJvbSAnLi9zdHlsZXMnO1xuaW1wb3J0IHsgZ2V0U2NhbGUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRHJhZ0ljb24gZnJvbSAnLi9kcmFnLWljb24nO1xuXG5jb25zdCBSYXdEcmFnSGFuZGxlID0gKHtcbiAgeCxcbiAgeSxcbiAgd2lkdGgsXG4gIGdyYXBoUHJvcHMsXG4gIGNsYXNzZXMsXG4gIGNsYXNzTmFtZSxcbiAgaW50ZXJhY3RpdmUsXG4gIGRlZmluZUNoYXJ0LFxuICBpc0hvdmVyZWQsXG4gIGNvcnJlY3RuZXNzLFxuICBjb2xvcixcbiAgLi4ucmVzdFxufSkgPT4ge1xuICBjb25zdCB7IHNjYWxlIH0gPSBncmFwaFByb3BzO1xuICBjb25zdCBzY2FsZVZhbHVlID0gZ2V0U2NhbGUod2lkdGgpPy5zY2FsZTtcblxuICByZXR1cm4gKFxuICAgIDxzdmcgeD17eH0geT17c2NhbGUueSh5KSAtIDEwfSB3aWR0aD17d2lkdGh9IG92ZXJmbG93PVwidmlzaWJsZVwiIGNsYXNzTmFtZT17Y2xhc3Nlcy5zdmdPdmVyZmxvd1Zpc2libGV9PlxuICAgICAge2lzSG92ZXJlZCAmJiAhY29ycmVjdG5lc3MgJiYgaW50ZXJhY3RpdmUgJiYgKFxuICAgICAgICA8RHJhZ0ljb24gd2lkdGg9e3dpZHRofSBzY2FsZVZhbHVlPXtzY2FsZVZhbHVlfSBjb2xvcj17Y29sb3J9IGNsYXNzZXM9e2NsYXNzZXN9IC8+XG4gICAgICApfVxuICAgICAge2ludGVyYWN0aXZlICYmICFjb3JyZWN0bmVzcyAmJiAoXG4gICAgICAgIDxlbGxpcHNlXG4gICAgICAgICAgY3g9e3dpZHRoIC8gMn1cbiAgICAgICAgICBjeT17MTB9XG4gICAgICAgICAgcng9e3dpZHRoIC8gMn1cbiAgICAgICAgICAvLyB0aGUgZHJhZyBpY29uIGhhcyBhIDIycHggZml4ZWQgciB2YWx1ZSwgc28gdGhlIHJ5IHZhbHVlIGlzIDMgdGltZXMgdGhhdCBpbiBvcmRlciB0byBjb3ZlciBhbGwgdGhlIGFyZWFcbiAgICAgICAgICByeT17NjZ9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMudHJhbnNwYXJlbnRIYW5kbGUsIGNsYXNzTmFtZSl9XG4gICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGVmcz5cbiAgICAgICAgPGZpbHRlciBpZD1cImJvdHRvbVNoYWRvd1wiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjE0MCVcIiBoZWlnaHQ9XCIxNDAlXCI+XG4gICAgICAgICAgPGZlR2F1c3NpYW5CbHVyIGluPVwiU291cmNlQWxwaGFcIiBzdGREZXZpYXRpb249XCIzXCIgLz5cbiAgICAgICAgICA8ZmVPZmZzZXQgZHg9XCIwXCIgZHk9XCI1XCIgcmVzdWx0PVwib2Zmc2V0Ymx1clwiIC8+XG4gICAgICAgICAgPGZlRmxvb2QgZmxvb2RDb2xvcj1cIiMwMDAwMDAzM1wiIC8+XG4gICAgICAgICAgPGZlQ29tcG9zaXRlIGluMj1cIm9mZnNldGJsdXJcIiBvcGVyYXRvcj1cImluXCIgLz5cbiAgICAgICAgICA8ZmVNZXJnZT5cbiAgICAgICAgICAgIDxmZU1lcmdlTm9kZSAvPlxuICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPVwiU291cmNlR3JhcGhpY1wiIC8+XG4gICAgICAgICAgPC9mZU1lcmdlPlxuICAgICAgICA8L2ZpbHRlcj5cbiAgICAgIDwvZGVmcz5cblxuICAgICAge2NvcnJlY3RuZXNzICYmIChcbiAgICAgICAgPHJlY3RcbiAgICAgICAgICB5PXsxMH1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgZmlsdGVyPVwidXJsKCNib3R0b21TaGFkb3cpXCJcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICAgICBjbGFzc2VzLmhhbmRsZSxcbiAgICAgICAgICAgICdoYW5kbGUnLFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgIWludGVyYWN0aXZlICYmICdub24taW50ZXJhY3RpdmUnLFxuICAgICAgICAgICAgaW50ZXJhY3RpdmUgJiYgY29ycmVjdG5lc3MgJiYgY29ycmVjdG5lc3MudmFsdWUsXG4gICAgICAgICAgKX1cbiAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9zdmc+XG4gICk7XG59O1xuXG5SYXdEcmFnSGFuZGxlLnByb3BUeXBlcyA9IHtcbiAgeDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICB5OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgaW50ZXJhY3RpdmU6IFByb3BUeXBlcy5ib29sLFxuICBpc0hvdmVyZWQ6IFByb3BUeXBlcy5ib29sLFxuICBjb3JyZWN0bmVzczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgfSksXG4gIGNvbG9yOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGNvbnN0IERyYWdIYW5kbGUgPSB3aXRoU3R5bGVzKCgpID0+ICh7XG4gIGhhbmRsZToge1xuICAgIGhlaWdodDogJzEwcHgnLFxuICAgIGZpbGw6ICd0cmFuc3BhcmVudCcsXG4gICAgdHJhbnNpdGlvbjogJ2ZpbGwgMjAwbXMgbGluZWFyLCBoZWlnaHQgMjAwbXMgbGluZWFyJyxcbiAgICAnJi5jb3JyZWN0JzogY29ycmVjdCgnZmlsbCcpLFxuICAgICcmLmluY29ycmVjdCc6IGluY29ycmVjdCgnZmlsbCcpLFxuICAgICcmLm5vbi1pbnRlcmFjdGl2ZSc6IGRpc2FibGVkKCdmaWxsJyksXG4gIH0sXG4gIHRyYW5zcGFyZW50SGFuZGxlOiB7XG4gICAgZmlsbDogJ3RyYW5zcGFyZW50JyxcbiAgICBjbGlwUGF0aDogJ3BvbHlnb24oNTAlIDAlLCAxMDAlIDAlLCAxMDAlIDUwJSwgMCUgNTAlLCAwJSAwJSknLFxuICB9LFxuICBoYW5kbGVDb250YWluZXI6IHtcbiAgICBoZWlnaHQ6IDMwLFxuICAgICcmOmhvdmVyJzoge1xuICAgICAgJyYgLmhhbmRsZSc6IHtcbiAgICAgICAgZmlsbDogY29sb3Iuc2Vjb25kYXJ5RGFyaygpLFxuICAgICAgICBoZWlnaHQ6ICcxNnB4JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICAnJi5ub24taW50ZXJhY3RpdmUnOiBkaXNhYmxlZCgnZmlsbCcpLFxuICAgICcmLmluY29ycmVjdCc6IGluY29ycmVjdCgnZmlsbCcpLFxuICAgICcmLmNvcnJlY3QnOiBjb3JyZWN0KCdmaWxsJyksXG4gIH0sXG4gIHN2Z092ZXJmbG93VmlzaWJsZToge1xuICAgIG92ZXJmbG93OiAndmlzaWJsZSAhaW1wb3J0YW50JyxcbiAgfSxcbn0pKShSYXdEcmFnSGFuZGxlKTtcblxuZXhwb3J0IGNvbnN0IEQgPSBncmlkRHJhZ2dhYmxlKHtcbiAgYXhpczogJ3knLFxuICBmcm9tRGVsdGE6IChwcm9wcywgZGVsdGEpID0+IHtcbiAgICAvL1RPRE86IHNob3VsZCBiZSBpbiBncmlkLWRyYWdnYWJsZSwgaWYgYXhpcyBpcyB5IGRlbHRhLnggc2hvdWxkIGFsd2F5cyBiZSAwLlxuICAgIGRlbHRhLnggPSAwO1xuICAgIGNvbnN0IG5ld1BvaW50ID0gdXRpbHMucG9pbnQocHJvcHMpLmFkZCh1dGlscy5wb2ludChkZWx0YSkpO1xuXG4gICAgcmV0dXJuIG5ld1BvaW50Lnk7XG4gIH0sXG4gIGJvdW5kczogKHByb3BzLCB7IGRvbWFpbiwgcmFuZ2UgfSkgPT4ge1xuICAgIGNvbnN0IGFyZWEgPSB7IGxlZnQ6IDAsIHRvcDogcHJvcHMueSwgYm90dG9tOiBwcm9wcy55LCByaWdodDogMCB9O1xuICAgIHJldHVybiB1dGlscy5ib3VuZHMoYXJlYSwgZG9tYWluLCByYW5nZSk7XG4gIH0sXG4gIGFuY2hvclBvaW50OiAocHJvcHMpID0+IHtcbiAgICByZXR1cm4geyB4OiBwcm9wcy54LCB5OiBwcm9wcy55IH07XG4gIH0sXG59KShEcmFnSGFuZGxlKTtcblxuZXhwb3J0IGRlZmF1bHQgRDtcbiJdfQ==
175
+ //# sourceMappingURL=drag-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/common/drag-handle.jsx"],"names":["RawDragHandle","x","y","width","graphProps","classes","className","interactive","defineChart","isHovered","correctness","color","rest","scale","scaleValue","svgOverflowVisible","enumColor","defaults","BORDER_GRAY","transparentHandle","handle","value","propTypes","PropTypes","number","isRequired","types","GraphPropsType","object","string","bool","shape","label","DragHandle","height","fill","transition","clipPath","handleContainer","secondaryDark","overflow","D","axis","fromDelta","props","delta","newPoint","utils","point","add","bounds","domain","range","area","left","top","bottom","right","anchorPoint"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAahB;AAAA;;AAAA,MAZJC,CAYI,QAZJA,CAYI;AAAA,MAXJC,CAWI,QAXJA,CAWI;AAAA,MAVJC,KAUI,QAVJA,KAUI;AAAA,MATJC,UASI,QATJA,UASI;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,MAPJC,SAOI,QAPJA,SAOI;AAAA,MANJC,WAMI,QANJA,WAMI;AAAA,MALJC,WAKI,QALJA,WAKI;AAAA,MAJJC,SAII,QAJJA,SAII;AAAA,MAHJC,WAGI,QAHJA,WAGI;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADDC,IACC;AACJ,MAAQC,KAAR,GAAkBT,UAAlB,CAAQS,KAAR;AACA,MAAMC,UAAU,gBAAG,qBAASX,KAAT,CAAH,8CAAG,UAAiBU,KAApC;AAEA,sBACE;AAAK,IAAA,CAAC,EAAEZ,CAAR;AAAW,IAAA,CAAC,EAAEY,KAAK,CAACX,CAAN,CAAQA,CAAR,IAAa,EAA3B;AAA+B,IAAA,KAAK,EAAEC,KAAtC;AAA6C,IAAA,QAAQ,EAAC,SAAtD;AAAgE,IAAA,SAAS,EAAEE,OAAO,CAACU;AAAnF,KACGN,SAAS,IAAI,CAACC,WAAd,IAA6BH,WAA7B,iBACC,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAEJ,KAAjB;AAAwB,IAAA,UAAU,EAAEW,UAApC;AAAgD,IAAA,KAAK,EAAEE,aAAUC,QAAV,CAAmBC,WAA1E;AAAuF,IAAA,OAAO,EAAEb;AAAhG,IAFJ,EAIGE,WAAW,IAAI,CAACG,WAAhB,iBACC;AACE,IAAA,EAAE,EAAEP,KAAK,GAAG,CADd;AAEE,IAAA,EAAE,EAAE,EAFN;AAGE,IAAA,EAAE,EAAEA,KAAK,GAAG,CAHd,CAIE;AAJF;AAKE,IAAA,EAAE,EAAE,EALN;AAME,IAAA,SAAS,EAAE,4BAAWE,OAAO,CAACc,iBAAnB,EAAsCb,SAAtC;AANb,KAOMM,IAPN,EALJ,eAgBE,2DACE;AAAQ,IAAA,EAAE,EAAC,cAAX;AAA0B,IAAA,CAAC,EAAC,GAA5B;AAAgC,IAAA,CAAC,EAAC,GAAlC;AAAsC,IAAA,KAAK,EAAC,MAA5C;AAAmD,IAAA,MAAM,EAAC;AAA1D,kBACE;AAAgB,UAAG,aAAnB;AAAiC,IAAA,YAAY,EAAC;AAA9C,IADF,eAEE;AAAU,IAAA,EAAE,EAAC,GAAb;AAAiB,IAAA,EAAE,EAAC,GAApB;AAAwB,IAAA,MAAM,EAAC;AAA/B,IAFF,eAGE;AAAS,IAAA,UAAU,EAAC;AAApB,IAHF,eAIE;AAAa,IAAA,GAAG,EAAC,YAAjB;AAA8B,IAAA,QAAQ,EAAC;AAAvC,IAJF,eAKE,8DACE,oDADF,eAEE;AAAa,UAAG;AAAhB,IAFF,CALF,CADF,CAhBF,EA6BGF,WAAW,iBACV;AACE,IAAA,CAAC,EAAE,EADL;AAEE,IAAA,KAAK,EAAEP,KAFT;AAGE,IAAA,MAAM,EAAC,oBAHT;AAIE,IAAA,SAAS,EAAE,4BACTE,OAAO,CAACe,MADC,EAET,QAFS,EAGTd,SAHS,EAIT,CAACC,WAAD,IAAgB,iBAJP,EAKTA,WAAW,IAAIG,WAAf,IAA8BA,WAAW,CAACW,KALjC;AAJb,KAWMT,IAXN,EA9BJ,CADF;AA+CD,CAhED;;AAkEAZ,aAAa,CAACsB,SAAd,GAA0B;AACxBrB,EAAAA,CAAC,EAAEsB,sBAAUC,MAAV,CAAiBC,UADI;AAExBvB,EAAAA,CAAC,EAAEqB,sBAAUC,MAAV,CAAiBC,UAFI;AAGxBtB,EAAAA,KAAK,EAAEoB,sBAAUC,MAHO;AAIxBpB,EAAAA,UAAU,EAAEsB,YAAMC,cAAN,CAAqBF,UAJT;AAKxBpB,EAAAA,OAAO,EAAEkB,sBAAUK,MAAV,CAAiBH,UALF;AAMxBnB,EAAAA,SAAS,EAAEiB,sBAAUM,MANG;AAOxBtB,EAAAA,WAAW,EAAEgB,sBAAUO,IAPC;AAQxBrB,EAAAA,SAAS,EAAEc,sBAAUO,IARG;AASxBpB,EAAAA,WAAW,EAAEa,sBAAUQ,KAAV,CAAgB;AAC3BV,IAAAA,KAAK,EAAEE,sBAAUM,MADU;AAE3BG,IAAAA,KAAK,EAAET,sBAAUM;AAFU,GAAhB,CATW;AAaxBlB,EAAAA,KAAK,EAAEY,sBAAUM;AAbO,CAA1B;AAgBO,IAAMI,UAAU,GAAG,wBAAW;AAAA,SAAO;AAC1Cb,IAAAA,MAAM,EAAE;AACNc,MAAAA,MAAM,EAAE,MADF;AAENC,MAAAA,IAAI,EAAE,aAFA;AAGNC,MAAAA,UAAU,EAAE,wCAHN;AAIN,mBAAa,sBAAQ,MAAR,CAJP;AAKN,qBAAe,wBAAU,MAAV,CALT;AAMN,2BAAqB,uBAAS,MAAT;AANf,KADkC;AAS1CjB,IAAAA,iBAAiB,EAAE;AACjBgB,MAAAA,IAAI,EAAE,aADW;AAEjBE,MAAAA,QAAQ,EAAE;AAFO,KATuB;AAa1CC,IAAAA,eAAe,EAAE;AACfJ,MAAAA,MAAM,EAAE,EADO;AAEf,iBAAW;AACT,qBAAa;AACXC,UAAAA,IAAI,EAAEnB,aAAUuB,aAAV,EADK;AAEXL,UAAAA,MAAM,EAAE;AAFG;AADJ,OAFI;AAQf,2BAAqB,uBAAS,MAAT,CARN;AASf,qBAAe,wBAAU,MAAV,CATA;AAUf,mBAAa,sBAAQ,MAAR;AAVE,KAbyB;AAyB1CnB,IAAAA,kBAAkB,EAAE;AAClByB,MAAAA,QAAQ,EAAE;AADQ;AAzBsB,GAAP;AAAA,CAAX,EA4BtBxC,aA5BsB,CAAnB;;AA8BA,IAAMyC,CAAC,GAAG,yBAAc;AAC7BC,EAAAA,IAAI,EAAE,GADuB;AAE7BC,EAAAA,SAAS,EAAE,mBAACC,KAAD,EAAQC,KAAR,EAAkB;AAC3B;AACAA,IAAAA,KAAK,CAAC5C,CAAN,GAAU,CAAV;;AACA,QAAM6C,QAAQ,GAAGC,YAAMC,KAAN,CAAYJ,KAAZ,EAAmBK,GAAnB,CAAuBF,YAAMC,KAAN,CAAYH,KAAZ,CAAvB,CAAjB;;AAEA,WAAOC,QAAQ,CAAC5C,CAAhB;AACD,GAR4B;AAS7BgD,EAAAA,MAAM,EAAE,gBAACN,KAAD,SAA8B;AAAA,QAApBO,MAAoB,SAApBA,MAAoB;AAAA,QAAZC,KAAY,SAAZA,KAAY;AACpC,QAAMC,IAAI,GAAG;AAAEC,MAAAA,IAAI,EAAE,CAAR;AAAWC,MAAAA,GAAG,EAAEX,KAAK,CAAC1C,CAAtB;AAAyBsD,MAAAA,MAAM,EAAEZ,KAAK,CAAC1C,CAAvC;AAA0CuD,MAAAA,KAAK,EAAE;AAAjD,KAAb;AACA,WAAOV,YAAMG,MAAN,CAAaG,IAAb,EAAmBF,MAAnB,EAA2BC,KAA3B,CAAP;AACD,GAZ4B;AAa7BM,EAAAA,WAAW,EAAE,qBAACd,KAAD,EAAW;AACtB,WAAO;AAAE3C,MAAAA,CAAC,EAAE2C,KAAK,CAAC3C,CAAX;AAAcC,MAAAA,CAAC,EAAE0C,KAAK,CAAC1C;AAAvB,KAAP;AACD;AAf4B,CAAd,EAgBd+B,UAhBc,CAAV;;eAkBQQ,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { gridDraggable, utils, types } from '@pie-lib/plot';\nimport { color as enumColor } from '../../../render-ui/src/index';\nimport { correct, incorrect, disabled } from './styles';\nimport { getScale } from '../utils';\nimport DragIcon from './drag-icon';\n\nconst RawDragHandle = ({\n x,\n y,\n width,\n graphProps,\n classes,\n className,\n interactive,\n defineChart,\n isHovered,\n correctness,\n color,\n ...rest\n}) => {\n const { scale } = graphProps;\n const scaleValue = getScale(width)?.scale;\n\n return (\n <svg x={x} y={scale.y(y) - 10} width={width} overflow=\"visible\" className={classes.svgOverflowVisible}>\n {isHovered && !correctness && interactive && (\n <DragIcon width={width} scaleValue={scaleValue} color={enumColor.defaults.BORDER_GRAY} classes={classes} />\n )}\n {interactive && !correctness && (\n <ellipse\n cx={width / 2}\n cy={10}\n rx={width / 2}\n // the drag icon has a 22px fixed r value, so the ry value is 3 times that in order to cover all the area\n ry={66}\n className={classNames(classes.transparentHandle, className)}\n {...rest}\n />\n )}\n\n <defs>\n <filter id=\"bottomShadow\" x=\"0\" y=\"0\" width=\"140%\" height=\"140%\">\n <feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"3\" />\n <feOffset dx=\"0\" dy=\"5\" result=\"offsetblur\" />\n <feFlood floodColor=\"#00000033\" />\n <feComposite in2=\"offsetblur\" operator=\"in\" />\n <feMerge>\n <feMergeNode />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>\n </defs>\n\n {correctness && (\n <rect\n y={10}\n width={width}\n filter=\"url(#bottomShadow)\"\n className={classNames(\n classes.handle,\n 'handle',\n className,\n !interactive && 'non-interactive',\n interactive && correctness && correctness.value,\n )}\n {...rest}\n />\n )}\n </svg>\n );\n};\n\nRawDragHandle.propTypes = {\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n width: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n interactive: PropTypes.bool,\n isHovered: PropTypes.bool,\n correctness: PropTypes.shape({\n value: PropTypes.string,\n label: PropTypes.string,\n }),\n color: PropTypes.string,\n};\n\nexport const DragHandle = withStyles(() => ({\n handle: {\n height: '10px',\n fill: 'transparent',\n transition: 'fill 200ms linear, height 200ms linear',\n '&.correct': correct('fill'),\n '&.incorrect': incorrect('fill'),\n '&.non-interactive': disabled('fill'),\n },\n transparentHandle: {\n fill: 'transparent',\n clipPath: 'polygon(50% 0%, 100% 0%, 100% 50%, 0% 50%, 0% 0%)',\n },\n handleContainer: {\n height: 30,\n '&:hover': {\n '& .handle': {\n fill: enumColor.secondaryDark(),\n height: '16px',\n },\n },\n '&.non-interactive': disabled('fill'),\n '&.incorrect': incorrect('fill'),\n '&.correct': correct('fill'),\n },\n svgOverflowVisible: {\n overflow: 'visible !important',\n },\n}))(RawDragHandle);\n\nexport const D = gridDraggable({\n axis: 'y',\n fromDelta: (props, delta) => {\n //TODO: should be in grid-draggable, if axis is y delta.x should always be 0.\n delta.x = 0;\n const newPoint = utils.point(props).add(utils.point(delta));\n\n return newPoint.y;\n },\n bounds: (props, { domain, range }) => {\n const area = { left: 0, top: props.y, bottom: props.y, right: 0 };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n return { x: props.x, y: props.y };\n },\n})(DragHandle);\n\nexport default D;\n"],"file":"drag-handle.js"}