@pie-element/drawing-response 10.3.4-next.3 → 11.0.0-beta.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 (83) hide show
  1. package/configure/lib/button.js +23 -47
  2. package/configure/lib/button.js.map +1 -1
  3. package/configure/lib/defaults.js +2 -3
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/image-container.js +238 -327
  6. package/configure/lib/image-container.js.map +1 -1
  7. package/configure/lib/index.js +115 -182
  8. package/configure/lib/index.js.map +1 -1
  9. package/configure/lib/root.js +194 -260
  10. package/configure/lib/root.js.map +1 -1
  11. package/configure/package.json +9 -7
  12. package/configure/src/__tests__/image-container.test.jsx +101 -37
  13. package/configure/src/__tests__/index.test.js +27 -5
  14. package/configure/src/__tests__/root.test.jsx +37 -21
  15. package/configure/src/button.jsx +14 -24
  16. package/configure/src/image-container.jsx +73 -77
  17. package/configure/src/index.js +12 -2
  18. package/configure/src/root.jsx +24 -25
  19. package/controller/lib/defaults.js +2 -3
  20. package/controller/lib/defaults.js.map +1 -1
  21. package/controller/lib/index.js +39 -65
  22. package/controller/lib/index.js.map +1 -1
  23. package/controller/package.json +1 -1
  24. package/lib/drawing-response/button.js +35 -60
  25. package/lib/drawing-response/button.js.map +1 -1
  26. package/lib/drawing-response/constants.js +2 -3
  27. package/lib/drawing-response/constants.js.map +1 -1
  28. package/lib/drawing-response/container.js +270 -351
  29. package/lib/drawing-response/container.js.map +1 -1
  30. package/lib/drawing-response/drawable-circle.js +65 -104
  31. package/lib/drawing-response/drawable-circle.js.map +1 -1
  32. package/lib/drawing-response/drawable-eraser.js +50 -86
  33. package/lib/drawing-response/drawable-eraser.js.map +1 -1
  34. package/lib/drawing-response/drawable-free-path.js +56 -97
  35. package/lib/drawing-response/drawable-free-path.js.map +1 -1
  36. package/lib/drawing-response/drawable-helper.js +16 -28
  37. package/lib/drawing-response/drawable-helper.js.map +1 -1
  38. package/lib/drawing-response/drawable-image.js +30 -49
  39. package/lib/drawing-response/drawable-image.js.map +1 -1
  40. package/lib/drawing-response/drawable-line.js +60 -99
  41. package/lib/drawing-response/drawable-line.js.map +1 -1
  42. package/lib/drawing-response/drawable-main.js +273 -345
  43. package/lib/drawing-response/drawable-main.js.map +1 -1
  44. package/lib/drawing-response/drawable-palette.js +123 -166
  45. package/lib/drawing-response/drawable-palette.js.map +1 -1
  46. package/lib/drawing-response/drawable-rectangle.js +65 -104
  47. package/lib/drawing-response/drawable-rectangle.js.map +1 -1
  48. package/lib/drawing-response/drawable-text.js +201 -313
  49. package/lib/drawing-response/drawable-text.js.map +1 -1
  50. package/lib/drawing-response/drawable-transformer.js +36 -79
  51. package/lib/drawing-response/drawable-transformer.js.map +1 -1
  52. package/lib/drawing-response/factory.js +6 -19
  53. package/lib/drawing-response/factory.js.map +1 -1
  54. package/lib/drawing-response/icon.js +8 -24
  55. package/lib/drawing-response/icon.js.map +1 -1
  56. package/lib/drawing-response/index.js +74 -116
  57. package/lib/drawing-response/index.js.map +1 -1
  58. package/lib/index.js +51 -102
  59. package/lib/index.js.map +1 -1
  60. package/package.json +13 -12
  61. package/src/__tests__/drawing-index-test.jsx +90 -27
  62. package/src/drawing-response/__tests__/container.test.jsx +56 -36
  63. package/src/drawing-response/__tests__/drawing-main.test.jsx +158 -139
  64. package/src/drawing-response/button.jsx +23 -34
  65. package/src/drawing-response/container.jsx +39 -40
  66. package/src/drawing-response/drawable-image.jsx +17 -20
  67. package/src/drawing-response/drawable-main.jsx +67 -60
  68. package/src/drawing-response/drawable-palette.jsx +48 -54
  69. package/src/drawing-response/drawable-text.jsx +26 -38
  70. package/src/drawing-response/index.jsx +21 -20
  71. package/src/index.js +17 -2
  72. package/configure/src/__tests__/__snapshots__/image-container.test.jsx.snap +0 -45
  73. package/configure/src/__tests__/__snapshots__/root.test.jsx.snap +0 -185
  74. package/esm/configure.js +0 -16151
  75. package/esm/configure.js.map +0 -1
  76. package/esm/controller.js +0 -814
  77. package/esm/controller.js.map +0 -1
  78. package/esm/element.js +0 -54130
  79. package/esm/element.js.map +0 -1
  80. package/esm/package.json +0 -3
  81. package/src/__tests__/__snapshots__/drawing-index-test.jsx.snap +0 -23
  82. package/src/drawing-response/__tests__/__snapshots__/container.test.jsx.snap +0 -396
  83. package/src/drawing-response/__tests__/__snapshots__/drawing-main.test.jsx.snap +0 -247
@@ -1,396 +1,307 @@
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.ImageContainer = void 0;
11
-
7
+ exports.default = exports.ImageContainer = void 0;
12
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
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
-
26
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
10
  var _react = _interopRequireWildcard(require("react"));
29
-
30
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
12
+ var _styles = require("@mui/material/styles");
34
13
  var _button = _interopRequireDefault(require("./button"));
35
-
36
- 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); }
37
-
38
- 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; }
39
-
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
-
44
- 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); }; }
45
-
46
- 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; } }
47
-
48
- var isImage = function isImage(file) {
49
- var imageType = /image.*/;
14
+ 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); }
15
+ const isImage = file => {
16
+ const imageType = /image.*/;
50
17
  return file.type.match(imageType);
51
18
  };
52
-
53
- var ImageContainer = /*#__PURE__*/function (_Component) {
54
- (0, _inherits2["default"])(ImageContainer, _Component);
55
-
56
- var _super = _createSuper(ImageContainer);
57
-
58
- function ImageContainer(props) {
59
- var _this;
60
-
61
- (0, _classCallCheck2["default"])(this, ImageContainer);
62
- _this = _super.call(this, props);
63
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleFileRead", function (file) {
64
- var _this$props = _this.props,
65
- onImageUpload = _this$props.onImageUpload,
66
- insertImage = _this$props.insertImage;
67
- var reader = new FileReader();
68
-
69
- reader.onloadend = function () {
70
- return onImageUpload(reader.result);
71
- };
72
-
19
+ const BaseContainer = (0, _styles.styled)('div')(({
20
+ theme
21
+ }) => ({
22
+ marginTop: theme.spacing(1)
23
+ }));
24
+ const Box = (0, _styles.styled)('div')(({
25
+ active
26
+ }) => ({
27
+ border: active ? '1px solid #0032C2' : '1px solid #E0E1E6',
28
+ borderRadius: '5px'
29
+ }));
30
+ const CenteredDiv = (0, _styles.styled)('div')({
31
+ alignItems: 'center',
32
+ display: 'flex',
33
+ flexDirection: 'column',
34
+ justifyContent: 'center'
35
+ });
36
+ const DrawableHeight = (0, _styles.styled)('div')({
37
+ minHeight: 350
38
+ });
39
+ const Image = (0, _styles.styled)('img')({
40
+ alignItems: 'center',
41
+ display: 'flex',
42
+ justifyContent: 'center'
43
+ });
44
+ const StyledImageContainer = (0, _styles.styled)('div')({
45
+ position: 'relative',
46
+ width: 'fit-content'
47
+ });
48
+ const ResizeHandle = (0, _styles.styled)('div')({
49
+ borderBottom: '1px solid #727272',
50
+ borderRight: '1px solid #727272',
51
+ bottom: '-10px',
52
+ cursor: 'se-resize',
53
+ height: '10px',
54
+ position: 'absolute',
55
+ right: '-10px',
56
+ width: '10px'
57
+ });
58
+ const HiddenInput = (0, _styles.styled)('input')({
59
+ display: 'none'
60
+ });
61
+ const Toolbar = (0, _styles.styled)('div')({
62
+ backgroundColor: '#ECEDF1',
63
+ borderBottom: '1px solid #E0E1E6',
64
+ borderTopLeftRadius: '5px',
65
+ borderTopRightRadius: '5px',
66
+ display: 'flex',
67
+ padding: '12px 8px'
68
+ });
69
+ class ImageContainer extends _react.Component {
70
+ constructor(props) {
71
+ super(props);
72
+ (0, _defineProperty2.default)(this, "handleFileRead", file => {
73
+ const {
74
+ onImageUpload,
75
+ insertImage
76
+ } = this.props;
77
+ const reader = new FileReader();
78
+ reader.onloadend = () => onImageUpload(reader.result);
73
79
  reader.readAsDataURL(file);
74
-
75
80
  if (insertImage) {
76
- insertImage(_objectSpread(_objectSpread({}, _this.fakeImageHandler), {}, {
77
- getChosenFile: function getChosenFile() {
78
- return file;
79
- },
81
+ insertImage({
82
+ ...this.fakeImageHandler,
83
+ getChosenFile: () => file,
80
84
  isPasted: true
81
- }));
85
+ });
82
86
  }
83
87
  });
84
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleUploadImage", function (e) {
88
+ (0, _defineProperty2.default)(this, "handleUploadImage", e => {
85
89
  e.preventDefault();
86
- var file = e.target.files[0];
87
-
88
- _this.handleFileRead(file);
89
- });
90
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeDropzoneActive", function () {
91
- return _this.setState({
92
- dropzoneActive: true
93
- });
90
+ const file = e.target.files[0];
91
+ this.handleFileRead(file);
94
92
  });
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "makeDropzoneInactive", function () {
96
- return _this.setState({
97
- dropzoneActive: false
98
- });
99
- });
100
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDrop", function (e) {
93
+ (0, _defineProperty2.default)(this, "makeDropzoneActive", () => this.setState({
94
+ dropzoneActive: true
95
+ }));
96
+ (0, _defineProperty2.default)(this, "makeDropzoneInactive", () => this.setState({
97
+ dropzoneActive: false
98
+ }));
99
+ (0, _defineProperty2.default)(this, "handleOnDrop", e => {
101
100
  e.preventDefault();
102
- var _e$dataTransfer = e.dataTransfer,
103
- items = _e$dataTransfer.items,
104
- files = _e$dataTransfer.files;
105
-
101
+ const {
102
+ items,
103
+ files
104
+ } = e.dataTransfer;
106
105
  if (items && items[0].kind === 'file') {
107
- var file = items[0].getAsFile();
108
-
106
+ const file = items[0].getAsFile();
109
107
  if (isImage(file)) {
110
- _this.handleFileRead(file);
108
+ this.handleFileRead(file);
111
109
  }
112
110
  } else if (isImage(files[0])) {
113
- _this.handleFileRead(files[0]);
111
+ this.handleFileRead(files[0]);
114
112
  }
115
-
116
- _this.makeDropzoneInactive();
113
+ this.makeDropzoneInactive();
117
114
  });
118
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDragOver", function (e) {
115
+ (0, _defineProperty2.default)(this, "handleOnDragOver", e => {
119
116
  e.preventDefault();
120
- var dropzoneActive = _this.state.dropzoneActive;
121
-
117
+ const {
118
+ dropzoneActive
119
+ } = this.state;
122
120
  if (!dropzoneActive) {
123
- _this.makeDropzoneActive();
121
+ this.makeDropzoneActive();
124
122
  }
125
123
  });
126
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnDragExit", function (e) {
124
+ (0, _defineProperty2.default)(this, "handleOnDragExit", e => {
127
125
  e.preventDefault();
128
-
129
- _this.makeDropzoneInactive();
126
+ this.makeDropzoneInactive();
130
127
  });
131
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleEnableDrag", function () {
132
- return _this.setState({
133
- dragEnabled: true
134
- });
135
- });
136
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleDisableDrag", function () {
137
- return _this.setState({
138
- dragEnabled: false
139
- });
140
- });
141
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleInputClick", function () {
142
- var insertImage = _this.props.insertImage;
143
-
128
+ (0, _defineProperty2.default)(this, "handleEnableDrag", () => this.setState({
129
+ dragEnabled: true
130
+ }));
131
+ (0, _defineProperty2.default)(this, "handleDisableDrag", () => this.setState({
132
+ dragEnabled: false
133
+ }));
134
+ (0, _defineProperty2.default)(this, "handleInputClick", () => {
135
+ const {
136
+ insertImage
137
+ } = this.props;
144
138
  if (insertImage) {
145
- insertImage(_this.fakeImageHandler);
139
+ insertImage(this.fakeImageHandler);
146
140
  }
147
141
  });
148
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleOnImageLoad", function (_ref) {
149
- var _ref$target = _ref.target,
150
- offsetHeight = _ref$target.offsetHeight,
151
- offsetWidth = _ref$target.offsetWidth,
152
- naturalHeight = _ref$target.naturalHeight,
153
- naturalWidth = _ref$target.naturalWidth;
154
- var _this$props2 = _this.props,
155
- onUpdateImageDimension = _this$props2.onUpdateImageDimension,
156
- imageDimensions = _this$props2.imageDimensions;
157
- var resizeHandle = _this.resize;
158
- var dimensions = {
142
+ (0, _defineProperty2.default)(this, "handleOnImageLoad", ({
143
+ target: {
144
+ offsetHeight,
145
+ offsetWidth,
146
+ naturalHeight,
147
+ naturalWidth
148
+ }
149
+ }) => {
150
+ const {
151
+ onUpdateImageDimension,
152
+ imageDimensions
153
+ } = this.props;
154
+ const resizeHandle = this.resize;
155
+ const dimensions = {
159
156
  height: imageDimensions && imageDimensions.height || offsetHeight || naturalHeight,
160
157
  width: imageDimensions && imageDimensions.width || offsetWidth || naturalWidth
161
- }; // check if aspect ratio is not respected on replacing image
162
-
163
- var imageAspectRatio = naturalWidth / naturalHeight;
158
+ };
164
159
 
160
+ // check if aspect ratio is not respected on replacing image
161
+ const imageAspectRatio = naturalWidth / naturalHeight;
165
162
  if (dimensions.width !== dimensions.height * imageAspectRatio) {
166
163
  dimensions.width = dimensions.height * imageAspectRatio;
167
164
  }
168
-
169
- _this.setState({
170
- dimensions: dimensions
165
+ this.setState({
166
+ dimensions
171
167
  });
172
-
173
168
  onUpdateImageDimension(dimensions);
174
- resizeHandle.addEventListener('mousedown', _this.initialiseResize, false);
169
+ resizeHandle.addEventListener('mousedown', this.initialiseResize, false);
175
170
  });
176
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "initialiseResize", function () {
177
- window.addEventListener('mousemove', _this.startResizing, false);
178
- window.addEventListener('mouseup', _this.stopResizing, false);
171
+ (0, _defineProperty2.default)(this, "initialiseResize", () => {
172
+ window.addEventListener('mousemove', this.startResizing, false);
173
+ window.addEventListener('mouseup', this.stopResizing, false);
179
174
  });
180
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "stopResizing", function () {
181
- var onUpdateImageDimension = _this.props.onUpdateImageDimension;
182
- var dimensions = _this.state.dimensions;
183
-
184
- _this.handleEnableDrag();
185
-
175
+ (0, _defineProperty2.default)(this, "stopResizing", () => {
176
+ const {
177
+ onUpdateImageDimension
178
+ } = this.props;
179
+ const {
180
+ dimensions
181
+ } = this.state;
182
+ this.handleEnableDrag();
186
183
  onUpdateImageDimension(dimensions);
187
- window.removeEventListener('mousemove', _this.startResizing, false);
188
- window.removeEventListener('mouseup', _this.stopResizing, false);
184
+ window.removeEventListener('mousemove', this.startResizing, false);
185
+ window.removeEventListener('mouseup', this.stopResizing, false);
189
186
  });
190
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startResizing", function (e) {
191
- var box = _this.image;
192
- var _this$state = _this.state,
193
- maxImageWidth = _this$state.maxImageWidth,
194
- maxImageHeight = _this$state.maxImageHeight,
195
- dimensions = _this$state.dimensions;
196
- var bounds = e.target.getBoundingClientRect();
197
- var x = e.clientX - bounds.left;
198
- var y = e.clientY - bounds.top;
199
- var imageAspectRatio = dimensions.width / dimensions.height;
200
- var fitsContainer = x <= maxImageWidth + 5 && x / imageAspectRatio <= maxImageHeight + 5;
201
- var hasMinimumWidth = x > 150 && y > 150;
202
-
187
+ (0, _defineProperty2.default)(this, "startResizing", e => {
188
+ const box = this.image;
189
+ const {
190
+ maxImageWidth,
191
+ maxImageHeight,
192
+ dimensions
193
+ } = this.state;
194
+ const bounds = e.target.getBoundingClientRect();
195
+ const x = e.clientX - bounds.left;
196
+ const y = e.clientY - bounds.top;
197
+ const imageAspectRatio = dimensions.width / dimensions.height;
198
+ const fitsContainer = x <= maxImageWidth + 5 && x / imageAspectRatio <= maxImageHeight + 5;
199
+ const hasMinimumWidth = x > 150 && y > 150;
203
200
  if (fitsContainer && hasMinimumWidth && box) {
204
- box.style.width = "".concat(x, "px");
205
- box.style.height = "".concat(x / imageAspectRatio, "px");
206
-
207
- _this.setState({
201
+ box.style.width = `${x}px`;
202
+ box.style.height = `${x / imageAspectRatio}px`;
203
+ this.setState({
208
204
  dimensions: {
209
205
  width: x,
210
206
  height: x / imageAspectRatio
211
207
  }
212
208
  });
213
209
  }
214
-
215
- _this.handleDisableDrag();
210
+ this.handleDisableDrag();
216
211
  });
217
- _this.state = {
212
+ this.state = {
218
213
  maxImageWidth: '100%',
219
214
  maxImageHeight: 'auto',
220
215
  dragEnabled: true,
221
216
  dropzoneActive: false
222
217
  };
223
- _this.fakeImageHandler = {
224
- cancel: function cancel() {},
225
- done: function done(a, url) {
226
- return _this.props.onImageUpload(url);
227
- },
228
- fileChosen: function fileChosen() {},
229
- progress: function progress() {}
218
+ this.fakeImageHandler = {
219
+ cancel: () => {},
220
+ done: (a, url) => this.props.onImageUpload(url),
221
+ fileChosen: () => {},
222
+ progress: () => {}
230
223
  };
231
- return _this;
232
224
  }
233
-
234
- (0, _createClass2["default"])(ImageContainer, [{
235
- key: "componentDidMount",
236
- value: function componentDidMount() {
237
- if (this.imageSection) {
238
- var positionInfo = this.imageSection.getBoundingClientRect();
239
- var height = positionInfo.height,
240
- width = positionInfo.width;
241
- this.setState({
242
- maxImageWidth: width,
243
- maxImageHeight: height
244
- });
245
- }
246
- }
247
- }, {
248
- key: "renderUploadControl",
249
- value: function renderUploadControl(label) {
250
- var _this2 = this;
251
-
252
- var classes = this.props.classes;
253
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
254
- label: label,
255
- onClick: this.handleInputClick
256
- }), /*#__PURE__*/_react["default"].createElement("input", {
257
- accept: "image/*",
258
- className: classes.input,
259
- onChange: this.handleUploadImage,
260
- ref: function ref(_ref2) {
261
- _this2.input = _ref2;
262
- },
263
- type: "file"
264
- }));
265
- }
266
- }, {
267
- key: "render",
268
- value: function render() {
269
- var _this3 = this;
270
-
271
- var _this$props3 = this.props,
272
- classes = _this$props3.classes,
273
- imageUrl = _this$props3.imageUrl,
274
- imageDimensions = _this$props3.imageDimensions;
275
- var _this$state2 = this.state,
276
- dropzoneActive = _this$state2.dropzoneActive,
277
- dragEnabled = _this$state2.dragEnabled,
278
- maxImageHeight = _this$state2.maxImageHeight,
279
- maxImageWidth = _this$state2.maxImageWidth;
280
- return /*#__PURE__*/_react["default"].createElement("div", {
281
- className: classes.base
282
- }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
283
- className: "".concat(classes.box, " ").concat(dropzoneActive ? classes.boxActive : '')
284
- }, dragEnabled ? {
285
- onDragExit: this.handleOnDragExit,
286
- onDragLeave: this.handleOnDragExit,
287
- onDragOver: this.handleOnDragOver,
288
- onDrop: this.handleOnDrop
289
- } : {}), /*#__PURE__*/_react["default"].createElement("div", {
290
- className: classes.toolbar
291
- }, this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')), /*#__PURE__*/_react["default"].createElement("div", {
292
- ref: function ref(_ref5) {
293
- _this3.imageSection = _ref5;
294
- },
295
- className: classes.drawableHeight
296
- }, imageUrl ? /*#__PURE__*/_react["default"].createElement("div", {
297
- className: classes.imageContainer
298
- }, /*#__PURE__*/_react["default"].createElement("img", {
299
- className: classes.image,
300
- height: "auto",
301
- onLoad: this.handleOnImageLoad,
302
- ref: function ref(_ref3) {
303
- _this3.image = _ref3;
304
- },
305
- src: imageUrl,
306
- style: {
307
- width: imageDimensions && imageDimensions.width ? imageDimensions.width : undefined,
308
- maxWidth: maxImageWidth,
309
- maxHeight: maxImageHeight
310
- },
311
- alt: ""
312
- }), /*#__PURE__*/_react["default"].createElement("div", {
313
- ref: function ref(_ref4) {
314
- _this3.resize = _ref4;
315
- },
316
- className: classes.resize
317
- })) : /*#__PURE__*/_react["default"].createElement("div", {
318
- className: "".concat(classes.drawableHeight, " ").concat(classes.centered)
319
- }, /*#__PURE__*/_react["default"].createElement("label", null, "Drag and drop or upload image from computer"), /*#__PURE__*/_react["default"].createElement("br", null), this.renderUploadControl('Upload Image')))));
225
+ componentDidMount() {
226
+ if (this.imageSection) {
227
+ const positionInfo = this.imageSection.getBoundingClientRect();
228
+ const {
229
+ height,
230
+ width
231
+ } = positionInfo;
232
+ this.setState({
233
+ maxImageWidth: width,
234
+ maxImageHeight: height
235
+ });
320
236
  }
321
- }]);
322
- return ImageContainer;
323
- }(_react.Component);
324
-
237
+ }
238
+ renderUploadControl(label) {
239
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_button.default, {
240
+ label: label,
241
+ onClick: this.handleInputClick
242
+ }), /*#__PURE__*/_react.default.createElement(HiddenInput, {
243
+ accept: "image/*",
244
+ onChange: this.handleUploadImage,
245
+ ref: ref => {
246
+ this.input = ref;
247
+ },
248
+ type: "file"
249
+ }));
250
+ }
251
+ render() {
252
+ const {
253
+ imageUrl,
254
+ imageDimensions
255
+ } = this.props;
256
+ const {
257
+ dropzoneActive,
258
+ dragEnabled,
259
+ maxImageHeight,
260
+ maxImageWidth
261
+ } = this.state;
262
+ return /*#__PURE__*/_react.default.createElement(BaseContainer, null, /*#__PURE__*/_react.default.createElement(Box, (0, _extends2.default)({
263
+ active: dropzoneActive
264
+ }, dragEnabled ? {
265
+ onDragExit: this.handleOnDragExit,
266
+ onDragLeave: this.handleOnDragExit,
267
+ onDragOver: this.handleOnDragOver,
268
+ onDrop: this.handleOnDrop
269
+ } : {}), /*#__PURE__*/_react.default.createElement(Toolbar, null, this.renderUploadControl(imageUrl ? 'Replace Image' : 'Upload Image')), /*#__PURE__*/_react.default.createElement(DrawableHeight, {
270
+ ref: ref => {
271
+ this.imageSection = ref;
272
+ }
273
+ }, imageUrl ? /*#__PURE__*/_react.default.createElement(StyledImageContainer, null, /*#__PURE__*/_react.default.createElement(Image, {
274
+ height: "auto",
275
+ onLoad: this.handleOnImageLoad,
276
+ ref: ref => {
277
+ this.image = ref;
278
+ },
279
+ src: imageUrl,
280
+ style: {
281
+ width: imageDimensions && imageDimensions.width ? imageDimensions.width : undefined,
282
+ maxWidth: maxImageWidth,
283
+ maxHeight: maxImageHeight
284
+ },
285
+ alt: ""
286
+ }), /*#__PURE__*/_react.default.createElement(ResizeHandle, {
287
+ ref: ref => {
288
+ this.resize = ref;
289
+ }
290
+ })) : /*#__PURE__*/_react.default.createElement(DrawableHeight, {
291
+ as: CenteredDiv
292
+ }, /*#__PURE__*/_react.default.createElement("label", null, "Drag and drop or upload image from computer"), /*#__PURE__*/_react.default.createElement("br", null), this.renderUploadControl('Upload Image')))));
293
+ }
294
+ }
325
295
  exports.ImageContainer = ImageContainer;
326
- (0, _defineProperty2["default"])(ImageContainer, "propTypes", {
327
- imageDimensions: _propTypes["default"].object
296
+ (0, _defineProperty2.default)(ImageContainer, "propTypes", {
297
+ imageDimensions: _propTypes.default.object
328
298
  });
329
- (0, _defineProperty2["default"])(ImageContainer, "defaultProps", {});
330
-
331
- var styles = function styles(theme) {
332
- return {
333
- base: {
334
- marginTop: theme.spacing.unit
335
- },
336
- box: {
337
- border: '1px solid #E0E1E6',
338
- borderRadius: '5px'
339
- },
340
- boxActive: {
341
- border: '1px solid #0032C2'
342
- },
343
- centered: {
344
- alignItems: 'center',
345
- display: 'flex',
346
- flexDirection: 'column',
347
- justifyContent: 'center'
348
- },
349
- drawableHeight: {
350
- minHeight: 350
351
- },
352
- image: {
353
- alignItems: 'center',
354
- display: 'flex',
355
- justifyContent: 'center'
356
- },
357
- imageContainer: {
358
- position: 'relative',
359
- width: 'fit-content'
360
- },
361
- resize: {
362
- borderBottom: '1px solid #727272',
363
- borderRight: '1px solid #727272',
364
- bottom: '-10px',
365
- cursor: 'se-resize',
366
- height: '10px',
367
- position: 'absolute',
368
- right: '-10px',
369
- width: '10px'
370
- },
371
- input: {
372
- display: 'none'
373
- },
374
- toolbar: {
375
- backgroundColor: '#ECEDF1',
376
- borderBottom: '1px solid #E0E1E6',
377
- borderTopLeftRadius: '5px',
378
- borderTopRightRadius: '5px',
379
- display: 'flex',
380
- padding: '12px 8px'
381
- }
382
- };
383
- };
384
-
299
+ (0, _defineProperty2.default)(ImageContainer, "defaultProps", {});
385
300
  ImageContainer.propTypes = {
386
- classes: _propTypes["default"].object.isRequired,
387
- imageUrl: _propTypes["default"].string.isRequired,
388
- onImageUpload: _propTypes["default"].func.isRequired,
389
- onUpdateImageDimension: _propTypes["default"].func.isRequired,
390
- insertImage: _propTypes["default"].func
301
+ imageUrl: _propTypes.default.string.isRequired,
302
+ onImageUpload: _propTypes.default.func.isRequired,
303
+ onUpdateImageDimension: _propTypes.default.func.isRequired,
304
+ insertImage: _propTypes.default.func
391
305
  };
392
-
393
- var _default = (0, _styles.withStyles)(styles)(ImageContainer);
394
-
395
- exports["default"] = _default;
306
+ var _default = exports.default = ImageContainer;
396
307
  //# sourceMappingURL=image-container.js.map