@pie-element/drawing-response 10.3.4-next.3 → 11.0.0-beta.1

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 (85) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/button.js +23 -47
  4. package/configure/lib/button.js.map +1 -1
  5. package/configure/lib/defaults.js +2 -3
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/image-container.js +238 -327
  8. package/configure/lib/image-container.js.map +1 -1
  9. package/configure/lib/index.js +115 -182
  10. package/configure/lib/index.js.map +1 -1
  11. package/configure/lib/root.js +195 -261
  12. package/configure/lib/root.js.map +1 -1
  13. package/configure/package.json +9 -7
  14. package/configure/src/__tests__/image-container.test.jsx +101 -37
  15. package/configure/src/__tests__/index.test.js +27 -5
  16. package/configure/src/__tests__/root.test.jsx +37 -21
  17. package/configure/src/button.jsx +14 -24
  18. package/configure/src/image-container.jsx +73 -77
  19. package/configure/src/index.js +12 -2
  20. package/configure/src/root.jsx +25 -26
  21. package/controller/lib/defaults.js +2 -3
  22. package/controller/lib/defaults.js.map +1 -1
  23. package/controller/lib/index.js +39 -65
  24. package/controller/lib/index.js.map +1 -1
  25. package/controller/package.json +1 -1
  26. package/lib/drawing-response/button.js +35 -60
  27. package/lib/drawing-response/button.js.map +1 -1
  28. package/lib/drawing-response/constants.js +2 -3
  29. package/lib/drawing-response/constants.js.map +1 -1
  30. package/lib/drawing-response/container.js +270 -351
  31. package/lib/drawing-response/container.js.map +1 -1
  32. package/lib/drawing-response/drawable-circle.js +65 -104
  33. package/lib/drawing-response/drawable-circle.js.map +1 -1
  34. package/lib/drawing-response/drawable-eraser.js +50 -86
  35. package/lib/drawing-response/drawable-eraser.js.map +1 -1
  36. package/lib/drawing-response/drawable-free-path.js +56 -97
  37. package/lib/drawing-response/drawable-free-path.js.map +1 -1
  38. package/lib/drawing-response/drawable-helper.js +16 -28
  39. package/lib/drawing-response/drawable-helper.js.map +1 -1
  40. package/lib/drawing-response/drawable-image.js +30 -49
  41. package/lib/drawing-response/drawable-image.js.map +1 -1
  42. package/lib/drawing-response/drawable-line.js +60 -99
  43. package/lib/drawing-response/drawable-line.js.map +1 -1
  44. package/lib/drawing-response/drawable-main.js +273 -345
  45. package/lib/drawing-response/drawable-main.js.map +1 -1
  46. package/lib/drawing-response/drawable-palette.js +123 -166
  47. package/lib/drawing-response/drawable-palette.js.map +1 -1
  48. package/lib/drawing-response/drawable-rectangle.js +65 -104
  49. package/lib/drawing-response/drawable-rectangle.js.map +1 -1
  50. package/lib/drawing-response/drawable-text.js +201 -313
  51. package/lib/drawing-response/drawable-text.js.map +1 -1
  52. package/lib/drawing-response/drawable-transformer.js +36 -79
  53. package/lib/drawing-response/drawable-transformer.js.map +1 -1
  54. package/lib/drawing-response/factory.js +6 -19
  55. package/lib/drawing-response/factory.js.map +1 -1
  56. package/lib/drawing-response/icon.js +8 -24
  57. package/lib/drawing-response/icon.js.map +1 -1
  58. package/lib/drawing-response/index.js +74 -116
  59. package/lib/drawing-response/index.js.map +1 -1
  60. package/lib/index.js +51 -102
  61. package/lib/index.js.map +1 -1
  62. package/package.json +13 -12
  63. package/src/__tests__/drawing-index-test.jsx +90 -27
  64. package/src/drawing-response/__tests__/container.test.jsx +56 -36
  65. package/src/drawing-response/__tests__/drawing-main.test.jsx +158 -139
  66. package/src/drawing-response/button.jsx +23 -34
  67. package/src/drawing-response/container.jsx +39 -40
  68. package/src/drawing-response/drawable-image.jsx +17 -20
  69. package/src/drawing-response/drawable-main.jsx +67 -60
  70. package/src/drawing-response/drawable-palette.jsx +48 -54
  71. package/src/drawing-response/drawable-text.jsx +26 -38
  72. package/src/drawing-response/index.jsx +21 -20
  73. package/src/index.js +17 -2
  74. package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +0 -45
  75. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +0 -185
  76. package/esm/configure.js +0 -16151
  77. package/esm/configure.js.map +0 -1
  78. package/esm/controller.js +0 -814
  79. package/esm/controller.js.map +0 -1
  80. package/esm/element.js +0 -54130
  81. package/esm/element.js.map +0 -1
  82. package/esm/package.json +0 -3
  83. package/src/__tests__/__snapshots__/drawing-index-test.jsx.snap +0 -23
  84. package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +0 -396
  85. package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +0 -247
@@ -1,89 +1,79 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
4
  Object.defineProperty(exports, "__esModule", {
8
5
  value: true
9
6
  });
10
- exports["default"] = exports.Container = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
7
+ exports.default = exports.Container = void 0;
26
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
9
  var _react = _interopRequireWildcard(require("react"));
29
-
30
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
11
+ var _styles = require("@mui/material/styles");
34
12
  var _translator = _interopRequireDefault(require("@pie-lib/translator"));
35
-
36
13
  var _constants = _interopRequireDefault(require("./constants"));
37
-
38
14
  var _button = _interopRequireDefault(require("./button"));
39
-
40
15
  var _drawablePalette = _interopRequireDefault(require("./drawable-palette"));
41
-
42
16
  var _drawableMain = _interopRequireDefault(require("./drawable-main"));
43
-
44
17
  var _drawableText = _interopRequireDefault(require("./drawable-text"));
45
-
46
18
  var _icon = _interopRequireDefault(require("./icon"));
47
-
48
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
-
50
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
51
-
52
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
53
-
54
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
55
-
56
- var TOOLS = _constants["default"].tools;
57
- var translator = _translator["default"].translator;
58
- var ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map(function (c) {
59
- return {
60
- value: c,
61
- label: c
62
- };
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
+ const {
21
+ tools: TOOLS
22
+ } = _constants.default;
23
+ const {
24
+ translator
25
+ } = _translator.default;
26
+ const BaseContainer = (0, _styles.styled)('div')(({
27
+ theme
28
+ }) => ({
29
+ marginTop: theme.spacing(2)
30
+ }));
31
+ const Box = (0, _styles.styled)('div')(({
32
+ theme
33
+ }) => ({
34
+ border: '1px solid #E0E1E6',
35
+ borderRadius: '5px',
36
+ marginTop: theme.spacing(2),
37
+ backgroundColor: '#ECEDF1'
38
+ }));
39
+ const DrawableHeight = (0, _styles.styled)('div')({
40
+ minHeight: 350,
41
+ backgroundColor: '#fff'
63
42
  });
64
-
65
- var Container = /*#__PURE__*/function (_Component) {
66
- (0, _inherits2["default"])(Container, _Component);
67
-
68
- var _super = _createSuper(Container);
69
-
70
- function Container(props) {
71
- var _this;
72
-
73
- (0, _classCallCheck2["default"])(this, Container);
74
- _this = _super.call(this, props);
75
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "checkIfToolIsDisabled", function (type) {
76
- if (_this.props.disabled) return true;
77
- var toolActive = _this.state.toolActive; // Text will never be disabled since on each "Text Entry" click a new text is added
78
-
43
+ const Toolbar = (0, _styles.styled)('div')(({
44
+ theme
45
+ }) => ({
46
+ borderBottom: '1px solid #E0E1E6',
47
+ borderTopLeftRadius: '5px',
48
+ borderTopRightRadius: '5px',
49
+ padding: '12px 8px 4px',
50
+ boxSizing: 'border-box',
51
+ maxWidth: 'calc(100% - 163px)',
52
+ // 163px is the width set on undoControls
53
+ '& button': {
54
+ marginBottom: theme.spacing(1)
55
+ }
56
+ }));
57
+ const ROGVAIV = ['red', 'orange', 'yellow', 'violet', 'blue', 'green', 'white', 'black'].map(c => ({
58
+ value: c,
59
+ label: c
60
+ }));
61
+ class Container extends _react.Component {
62
+ constructor(props) {
63
+ super(props);
64
+ (0, _defineProperty2.default)(this, "checkIfToolIsDisabled", type => {
65
+ if (this.props.disabled) return true;
66
+ const {
67
+ toolActive
68
+ } = this.state;
69
+ // Text will never be disabled since on each "Text Entry" click a new text is added
79
70
  if (type === 'Text') {
80
71
  return false;
81
72
  }
82
-
83
73
  return type === toolActive.type;
84
74
  });
85
- var TextEntry = new _drawableText["default"]();
86
- _this.state = {
75
+ const TextEntry = new _drawableText.default();
76
+ this.state = {
87
77
  scale: 1,
88
78
  drawableDimensions: {
89
79
  height: 0,
@@ -100,309 +90,238 @@ var Container = /*#__PURE__*/function (_Component) {
100
90
  }, {
101
91
  value: 'lightyellow',
102
92
  label: 'light yellow'
103
- }].concat((0, _toConsumableArray2["default"])(ROGVAIV)),
93
+ }, ...ROGVAIV],
104
94
  outlineColor: 'black',
105
95
  outlineColorList: ROGVAIV,
106
96
  paintColor: 'red',
107
97
  paintColorList: ROGVAIV,
108
- TextEntry: TextEntry
98
+ TextEntry
109
99
  };
110
- return _this;
111
100
  }
112
-
113
- (0, _createClass2["default"])(Container, [{
114
- key: "setTranslatedState",
115
- value: function setTranslatedState(language) {
116
- var translatedROGVAIV = ROGVAIV.map(function (c) {
117
- return {
118
- value: c.value,
119
- label: translator.t("drawingResponse.".concat(c.label), {
120
- lng: language
121
- })
122
- };
123
- });
124
- this.setState({
125
- fillColorList: [{
126
- value: 'transparent',
127
- label: translator.t('drawingResponse.noFill', {
128
- lng: language
129
- })
130
- }, {
131
- value: 'lightblue',
132
- label: translator.t('drawingResponse.lightblue', {
133
- lng: language
134
- })
135
- }, {
136
- value: 'lightyellow',
137
- label: translator.t('drawingResponse.lightyellow', {
138
- lng: language
139
- })
140
- }].concat((0, _toConsumableArray2["default"])(translatedROGVAIV)),
141
- paintColor: translator.t('drawingResponse.red', {
101
+ setTranslatedState(language) {
102
+ const translatedROGVAIV = ROGVAIV.map(c => ({
103
+ value: c.value,
104
+ label: translator.t(`drawingResponse.${c.label}`, {
105
+ lng: language
106
+ })
107
+ }));
108
+ this.setState({
109
+ fillColorList: [{
110
+ value: 'transparent',
111
+ label: translator.t('drawingResponse.noFill', {
142
112
  lng: language
143
- }),
144
- outlineColorList: translatedROGVAIV,
145
- paintColorList: translatedROGVAIV
146
- });
147
- }
148
- }, {
149
- key: "UNSAFE_componentWillReceiveProps",
150
- value: function UNSAFE_componentWillReceiveProps(props) {
151
- var language = props.language;
152
- this.setTranslatedState(language);
153
- }
154
- }, {
155
- key: "setDimensions",
156
- value: function setDimensions() {
157
- var _this2 = this;
158
-
159
- var checkExist = setInterval(function () {
160
- try {
161
- var _this2$drawable$getBo = _this2.drawable.getBoundingClientRect(),
162
- height = _this2$drawable$getBo.height,
163
- width = _this2$drawable$getBo.width;
164
-
165
- var effectiveWidth = _this2.props.session.width || width;
166
-
167
- if (height !== 0 && width !== 0) {
168
- _this2.setState({
169
- drawableDimensions: {
170
- height: height,
171
- width: effectiveWidth
172
- }
113
+ })
114
+ }, {
115
+ value: 'lightblue',
116
+ label: translator.t('drawingResponse.lightblue', {
117
+ lng: language
118
+ })
119
+ }, {
120
+ value: 'lightyellow',
121
+ label: translator.t('drawingResponse.lightyellow', {
122
+ lng: language
123
+ })
124
+ }, ...translatedROGVAIV],
125
+ paintColor: translator.t('drawingResponse.red', {
126
+ lng: language
127
+ }),
128
+ outlineColorList: translatedROGVAIV,
129
+ paintColorList: translatedROGVAIV
130
+ });
131
+ }
132
+ UNSAFE_componentWillReceiveProps(props) {
133
+ const {
134
+ language
135
+ } = props;
136
+ this.setTranslatedState(language);
137
+ }
138
+ setDimensions() {
139
+ const checkExist = setInterval(() => {
140
+ try {
141
+ const {
142
+ height,
143
+ width
144
+ } = this.drawable.getBoundingClientRect();
145
+ const effectiveWidth = this.props.session.width || width;
146
+ if (height !== 0 && width !== 0) {
147
+ this.setState({
148
+ drawableDimensions: {
149
+ height,
150
+ width: effectiveWidth
151
+ }
152
+ });
153
+ }
154
+ } catch (e) {
155
+ // eslint-disable-next-line no-console
156
+ console.warn('setDimensions Error: ', e);
157
+ } finally {
158
+ clearInterval(checkExist);
159
+ }
160
+ }, 100);
161
+ }
162
+ componentDidMount() {
163
+ const {
164
+ language
165
+ } = this.props;
166
+ this.setTranslatedState(language);
167
+ this.setDimensions();
168
+ this.observer = new MutationObserver(mutations => {
169
+ mutations.forEach(() => {
170
+ const target = document.getElementById('question-container')?.style?.cssText;
171
+ const zoom = target?.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));
172
+ const zoomParsed = zoom?.replace(/\s/g, '');
173
+ if (zoomParsed) {
174
+ const newScale = parseFloat(zoomParsed) / 100;
175
+ if (newScale !== this.state.scale) {
176
+ this.setState({
177
+ scale: parseFloat(zoomParsed) / 100
173
178
  });
174
179
  }
175
- } catch (e) {
176
- // eslint-disable-next-line no-console
177
- console.warn('setDimensions Error: ', e);
178
- } finally {
179
- clearInterval(checkExist);
180
+ } else if (!zoomParsed && this.state.scale !== 1) {
181
+ this.setState({
182
+ scale: 1
183
+ });
180
184
  }
181
- }, 100);
182
- }
183
- }, {
184
- key: "componentDidMount",
185
- value: function componentDidMount() {
186
- var _this3 = this;
185
+ });
186
+ });
187
187
 
188
- var language = this.props.language;
189
- this.setTranslatedState(language);
188
+ // Use ResizeObserver to detect when the drawable container becomes visible
189
+ // (e.g., after switching from build to item preview in New Item Bank) and trigger dimension calculation.
190
+ // This helps ensure the canvas is properly sized even when componentDidMount is not re-triggered.
191
+ this.resizeObserver = new ResizeObserver(() => {
190
192
  this.setDimensions();
191
- this.observer = new MutationObserver(function (mutations) {
192
- mutations.forEach(function () {
193
- var _document$getElementB, _document$getElementB2;
194
-
195
- var target = (_document$getElementB = document.getElementById('question-container')) === null || _document$getElementB === void 0 ? void 0 : (_document$getElementB2 = _document$getElementB.style) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.cssText;
196
- var zoom = target === null || target === void 0 ? void 0 : target.substring(target.indexOf('--pie-zoom') + 11, target.lastIndexOf('%'));
197
- var zoomParsed = zoom === null || zoom === void 0 ? void 0 : zoom.replace(/\s/g, '');
198
-
199
- if (zoomParsed) {
200
- var newScale = parseFloat(zoomParsed) / 100;
201
-
202
- if (newScale !== _this3.state.scale) {
203
- _this3.setState({
204
- scale: parseFloat(zoomParsed) / 100
205
- });
206
- }
207
- } else if (!zoomParsed && _this3.state.scale !== 1) {
208
- _this3.setState({
209
- scale: 1
210
- });
211
- }
212
- });
213
- }); // Use ResizeObserver to detect when the drawable container becomes visible
214
- // (e.g., after switching from build to item preview in New Item Bank) and trigger dimension calculation.
215
- // This helps ensure the canvas is properly sized even when componentDidMount is not re-triggered.
216
-
217
- this.resizeObserver = new ResizeObserver(function () {
218
- _this3.setDimensions();
193
+ });
194
+ if (this.drawable) {
195
+ this.resizeObserver.observe(this.drawable);
196
+ }
197
+ const target = document.getElementById('question-container');
198
+ if (target) {
199
+ this.observer.observe(target, {
200
+ attributes: true,
201
+ attributeFilter: ['style']
219
202
  });
220
-
221
- if (this.drawable) {
222
- this.resizeObserver.observe(this.drawable);
223
- }
224
-
225
- var target = document.getElementById('question-container');
226
-
227
- if (target) {
228
- this.observer.observe(target, {
229
- attributes: true,
230
- attributeFilter: ['style']
231
- });
232
- }
233
203
  }
234
- }, {
235
- key: "componentWillUnmount",
236
- value: function componentWillUnmount() {
237
- var _this$observer, _this$resizeObserver;
238
-
239
- var TextEntry = this.state.TextEntry;
240
- TextEntry.removeEventListeners();
241
- (_this$observer = this.observer) === null || _this$observer === void 0 ? void 0 : _this$observer.disconnect();
242
- (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 ? void 0 : _this$resizeObserver.disconnect();
204
+ }
205
+ componentWillUnmount() {
206
+ const {
207
+ TextEntry
208
+ } = this.state;
209
+ TextEntry.removeEventListeners();
210
+ this.observer?.disconnect();
211
+ this.resizeObserver?.disconnect();
212
+ }
213
+ handleMakeToolActive(tool) {
214
+ const {
215
+ TextEntry
216
+ } = this.state;
217
+ const {
218
+ type
219
+ } = tool;
220
+ const {
221
+ language
222
+ } = this.props;
223
+ if (type !== 'Text') {
224
+ this.setState({
225
+ toolActive: tool
226
+ });
227
+ } else {
228
+ TextEntry.addNewTextEntry(language);
229
+ // Force update
230
+ this.setState({
231
+ updatedAt: new Date()
232
+ });
243
233
  }
244
- }, {
245
- key: "handleMakeToolActive",
246
- value: function handleMakeToolActive(tool) {
247
- var TextEntry = this.state.TextEntry;
248
- var type = tool.type;
249
- var language = this.props.language;
250
-
251
- if (type !== 'Text') {
252
- this.setState({
253
- toolActive: tool
254
- });
255
- } else {
256
- TextEntry.addNewTextEntry(language); // Force update
257
-
258
- this.setState({
259
- updatedAt: new Date()
260
- });
234
+ }
235
+ handleColorChange(type, color) {
236
+ const cType = `${type}Color`;
237
+ this.setState({
238
+ [cType]: color
239
+ });
240
+ }
241
+ render() {
242
+ const {
243
+ disabled,
244
+ imageUrl,
245
+ imageDimensions,
246
+ onSessionChange,
247
+ session,
248
+ backgroundImageEnabled,
249
+ language
250
+ } = this.props;
251
+ const {
252
+ drawableDimensions,
253
+ toolActive,
254
+ fillColor,
255
+ fillColorList,
256
+ outlineColor,
257
+ outlineColorList,
258
+ paintColor,
259
+ paintColorList,
260
+ TextEntry
261
+ } = this.state;
262
+ const heightToUse = drawableDimensions.height * this.state.scale;
263
+ return /*#__PURE__*/_react.default.createElement(BaseContainer, null, !disabled && /*#__PURE__*/_react.default.createElement(_drawablePalette.default, {
264
+ fillColor: fillColor,
265
+ fillList: fillColorList,
266
+ outlineColor: outlineColor,
267
+ outlineList: outlineColorList,
268
+ paintColor: paintColor,
269
+ paintList: paintColorList,
270
+ onFillColorChange: color => this.handleColorChange('fill', color),
271
+ onOutlineColorChange: color => this.handleColorChange('outline', color),
272
+ onPaintColorChange: color => this.handleColorChange('paint', color),
273
+ language: language
274
+ }), /*#__PURE__*/_react.default.createElement(Box, null, /*#__PURE__*/_react.default.createElement(Toolbar, null, TOOLS.map(tool => {
275
+ const {
276
+ type,
277
+ label,
278
+ icon
279
+ } = tool;
280
+ return /*#__PURE__*/_react.default.createElement(_button.default, {
281
+ title: label,
282
+ key: type,
283
+ disabled: this.checkIfToolIsDisabled(type),
284
+ onClick: () => this.handleMakeToolActive(tool),
285
+ label: /*#__PURE__*/_react.default.createElement(_icon.default, {
286
+ path: icon
287
+ })
288
+ });
289
+ })), /*#__PURE__*/_react.default.createElement(DrawableHeight, {
290
+ ref: drawable => {
291
+ this.drawable = drawable;
292
+ },
293
+ style: {
294
+ height: heightToUse,
295
+ maxHeight: heightToUse,
296
+ overflow: 'scroll'
261
297
  }
262
- }
263
- }, {
264
- key: "handleColorChange",
265
- value: function handleColorChange(type, color) {
266
- var cType = "".concat(type, "Color");
267
- this.setState((0, _defineProperty2["default"])({}, cType, color));
268
- }
269
- }, {
270
- key: "render",
271
- value: function render() {
272
- var _this4 = this;
273
-
274
- var _this$props = this.props,
275
- classes = _this$props.classes,
276
- disabled = _this$props.disabled,
277
- imageUrl = _this$props.imageUrl,
278
- imageDimensions = _this$props.imageDimensions,
279
- onSessionChange = _this$props.onSessionChange,
280
- session = _this$props.session,
281
- backgroundImageEnabled = _this$props.backgroundImageEnabled,
282
- language = _this$props.language;
283
- var _this$state = this.state,
284
- drawableDimensions = _this$state.drawableDimensions,
285
- toolActive = _this$state.toolActive,
286
- fillColor = _this$state.fillColor,
287
- fillColorList = _this$state.fillColorList,
288
- outlineColor = _this$state.outlineColor,
289
- outlineColorList = _this$state.outlineColorList,
290
- paintColor = _this$state.paintColor,
291
- paintColorList = _this$state.paintColorList,
292
- TextEntry = _this$state.TextEntry;
293
- var heightToUse = drawableDimensions.height * this.state.scale;
294
- return /*#__PURE__*/_react["default"].createElement("div", {
295
- className: classes.base
296
- }, !disabled && /*#__PURE__*/_react["default"].createElement(_drawablePalette["default"], {
297
- fillColor: fillColor,
298
- fillList: fillColorList,
299
- outlineColor: outlineColor,
300
- outlineList: outlineColorList,
301
- paintColor: paintColor,
302
- paintList: paintColorList,
303
- onFillColorChange: function onFillColorChange(color) {
304
- return _this4.handleColorChange('fill', color);
305
- },
306
- onOutlineColorChange: function onOutlineColorChange(color) {
307
- return _this4.handleColorChange('outline', color);
308
- },
309
- onPaintColorChange: function onPaintColorChange(color) {
310
- return _this4.handleColorChange('paint', color);
311
- },
312
- language: language
313
- }), /*#__PURE__*/_react["default"].createElement("div", {
314
- className: classes.box
315
- }, /*#__PURE__*/_react["default"].createElement("div", {
316
- className: classes.toolbar
317
- }, TOOLS.map(function (tool) {
318
- var type = tool.type,
319
- label = tool.label,
320
- icon = tool.icon;
321
- return /*#__PURE__*/_react["default"].createElement(_button["default"], {
322
- title: label,
323
- key: type,
324
- disabled: _this4.checkIfToolIsDisabled(type),
325
- onClick: function onClick() {
326
- return _this4.handleMakeToolActive(tool);
327
- },
328
- label: /*#__PURE__*/_react["default"].createElement(_icon["default"], {
329
- path: icon
330
- })
331
- });
332
- })), /*#__PURE__*/_react["default"].createElement("div", {
333
- ref: function ref(drawable) {
334
- _this4.drawable = drawable;
335
- },
336
- className: classes.drawableHeight,
337
- style: {
338
- height: heightToUse,
339
- maxHeight: heightToUse,
340
- overflow: 'scroll'
341
- }
342
- }, /*#__PURE__*/_react["default"].createElement(_drawableMain["default"], {
343
- scale: this.state.scale,
344
- session: session,
345
- disabled: disabled,
346
- onSessionChange: onSessionChange,
347
- fillColor: fillColor,
348
- outlineColor: outlineColor,
349
- paintColor: paintColor,
350
- imageUrl: imageUrl,
351
- drawableDimensions: drawableDimensions,
352
- imageDimensions: imageDimensions,
353
- toolActive: toolActive,
354
- TextEntry: TextEntry,
355
- backgroundImageEnabled: backgroundImageEnabled,
356
- language: language
357
- }))));
358
- }
359
- }]);
360
- return Container;
361
- }(_react.Component);
362
-
298
+ }, /*#__PURE__*/_react.default.createElement(_drawableMain.default, {
299
+ scale: this.state.scale,
300
+ session: session,
301
+ disabled: disabled,
302
+ onSessionChange: onSessionChange,
303
+ fillColor: fillColor,
304
+ outlineColor: outlineColor,
305
+ paintColor: paintColor,
306
+ imageUrl: imageUrl,
307
+ drawableDimensions: drawableDimensions,
308
+ imageDimensions: imageDimensions,
309
+ toolActive: toolActive,
310
+ TextEntry: TextEntry,
311
+ backgroundImageEnabled: backgroundImageEnabled,
312
+ language: language
313
+ }))));
314
+ }
315
+ }
363
316
  exports.Container = Container;
364
- (0, _defineProperty2["default"])(Container, "propTypes", {
365
- classes: _propTypes["default"].object.isRequired,
366
- disabled: _propTypes["default"].bool,
367
- session: _propTypes["default"].object.isRequired,
368
- onSessionChange: _propTypes["default"].func.isRequired,
369
- imageDimensions: _propTypes["default"].object.isRequired,
370
- imageUrl: _propTypes["default"].string.isRequired,
371
- backgroundImageEnabled: _propTypes["default"].bool.isRequired,
372
- language: _propTypes["default"].string
317
+ (0, _defineProperty2.default)(Container, "propTypes", {
318
+ disabled: _propTypes.default.bool,
319
+ session: _propTypes.default.object.isRequired,
320
+ onSessionChange: _propTypes.default.func.isRequired,
321
+ imageDimensions: _propTypes.default.object.isRequired,
322
+ imageUrl: _propTypes.default.string.isRequired,
323
+ backgroundImageEnabled: _propTypes.default.bool.isRequired,
324
+ language: _propTypes.default.string
373
325
  });
374
-
375
- var styles = function styles(theme) {
376
- return {
377
- base: {
378
- marginTop: theme.spacing.unit * 2
379
- },
380
- box: {
381
- border: '1px solid #E0E1E6',
382
- borderRadius: '5px',
383
- marginTop: theme.spacing.unit * 2,
384
- backgroundColor: '#ECEDF1'
385
- },
386
- drawableHeight: {
387
- minHeight: 350,
388
- backgroundColor: '#fff'
389
- },
390
- toolbar: {
391
- borderBottom: '1px solid #E0E1E6',
392
- borderTopLeftRadius: '5px',
393
- borderTopRightRadius: '5px',
394
- padding: '12px 8px 4px',
395
- boxSizing: 'border-box',
396
- maxWidth: 'calc(100% - 163px)',
397
- // 163px is the width set on undoControls
398
- '& button': {
399
- marginBottom: theme.spacing.unit
400
- }
401
- }
402
- };
403
- };
404
-
405
- var _default = (0, _styles.withStyles)(styles)(Container);
406
-
407
- exports["default"] = _default;
326
+ var _default = exports.default = Container;
408
327
  //# sourceMappingURL=container.js.map