redhotmagma-graphics-editor 1.28.5 → 1.29.2

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 (82) hide show
  1. package/App.js +423 -0
  2. package/CanvasAdapters/Mock/Canvas.js +200 -0
  3. package/CanvasAdapters/Mock/Objects/CanvasObject.js +155 -0
  4. package/CanvasAdapters/Mock/Objects/Group.js +102 -0
  5. package/CanvasAdapters/Mock/Objects/Image.js +102 -0
  6. package/CanvasAdapters/Mock/Objects/Text.js +121 -0
  7. package/CanvasAdapters/Mock/index.js +13 -0
  8. package/CanvasAdapters/PaperJs/Canvas.js +830 -0
  9. package/CanvasAdapters/PaperJs/CanvasRepository.js +65 -0
  10. package/CanvasAdapters/PaperJs/Modifiers/FontSizeMin.js +16 -0
  11. package/CanvasAdapters/PaperJs/Objects/CanvasObject.js +227 -0
  12. package/CanvasAdapters/PaperJs/Objects/Group.js +113 -0
  13. package/CanvasAdapters/PaperJs/Objects/Image.js +225 -0
  14. package/CanvasAdapters/PaperJs/Objects/Text.js +312 -0
  15. package/CanvasAdapters/PaperJs/Utils/HTML2Paper.js +301 -0
  16. package/CanvasAdapters/PaperJs/Utils/SVGfix.js +67 -0
  17. package/CanvasAdapters/PaperJs/Utils/StyleParams.js +68 -0
  18. package/CanvasAdapters/PaperJs/Utils/TextToSVGRepository.js +179 -0
  19. package/CanvasAdapters/PaperJs/Utils/TextToSVGUtils.js +32 -0
  20. package/CanvasAdapters/PaperJs/Utils/UTF8Base64.js +123 -0
  21. package/CanvasAdapters/PaperJs/Utils/UseMask.js +475 -0
  22. package/CanvasAdapters/PaperJs/Utils/__tests__/SVGfix.test.js +29 -0
  23. package/CanvasAdapters/PaperJs/Utils/__tests__/TextToSVGUtils.test.js +17 -0
  24. package/CanvasAdapters/PaperJs/Utils/__tests__/updateFontStyle.test.js +16 -0
  25. package/CanvasAdapters/PaperJs/Utils/updateFontStyle.js +35 -0
  26. package/CanvasAdapters/PaperJs/index.js +13 -0
  27. package/CanvasInterface/Canvas.js +633 -0
  28. package/CanvasInterface/CanvasProvider.js +196 -0
  29. package/CanvasInterface/CanvasSize.d.js +5 -0
  30. package/CanvasInterface/Objects/CanvasObject.js +510 -0
  31. package/CanvasInterface/Objects/Group.js +5 -0
  32. package/CanvasInterface/Objects/Image.js +5 -0
  33. package/CanvasInterface/Objects/Text.js +5 -0
  34. package/CanvasInterface/Objects/index.js +13 -0
  35. package/CanvasInterface/Observable.js +97 -0
  36. package/CanvasInterface/canvasConnect.js +115 -0
  37. package/CanvasInterface/index.js +24 -0
  38. package/Components/Canvas/Canvas.js +78 -0
  39. package/Components/Canvas/CanvasContainer.js +52 -0
  40. package/Components/Canvas/styles.js +21 -0
  41. package/Components/DelayedContainer.js +87 -0
  42. package/Components/Editor/Editor.js +327 -0
  43. package/Components/Editor/EditorContainer.js +361 -0
  44. package/Components/Editor/styles.js +24 -0
  45. package/Components/InlineToolbox/InlineToolbox.js +504 -0
  46. package/Components/InlineToolbox/InlineToolboxButton.js +42 -0
  47. package/Components/InlineToolbox/styles.js +27 -0
  48. package/Components/ManipulableContainer.js +105 -0
  49. package/Components/ResizeDetect/ResizeDetect.js +117 -0
  50. package/Components/Rulers/Ruler.js +213 -0
  51. package/Components/Rulers/Rulers.js +96 -0
  52. package/Components/Rulers/styles.js +37 -0
  53. package/Components/SelectionToolbox/ColorPalette.js +283 -0
  54. package/Components/SelectionToolbox/SelectionToolbox.js +319 -0
  55. package/Components/SelectionToolbox/TextTools.js +445 -0
  56. package/Components/SelectionToolbox/styles.js +18 -0
  57. package/Components/StandardToolbox/StandardToolbox.js +234 -0
  58. package/Components/TextEditor/TextEditor.js +592 -0
  59. package/Components/TextEditor/TextEditorStateProvider.js +147 -0
  60. package/Components/Toolbox/ToolboxContainer.js +39 -0
  61. package/Components/Toolbox/ToolboxRow.js +36 -0
  62. package/Components/Toolbox/styles.js +21 -0
  63. package/README.md +11 -4
  64. package/Utils/Calc2D.js +25 -0
  65. package/Utils/DOM.js +238 -0
  66. package/Utils/Device.js +20 -0
  67. package/Utils/Image.js +47 -0
  68. package/Utils/Logger.js +89 -0
  69. package/Utils/Range.js +135 -0
  70. package/Utils/String.js +42 -0
  71. package/Utils/UnitConversion.js +21 -0
  72. package/Utils/__tests__/Calc2D.test.js +41 -0
  73. package/Utils/__tests__/DOM.test.js +170 -0
  74. package/Utils/__tests__/Range.test.js +52 -0
  75. package/_demos/UsingExternalControls/App.js +130 -0
  76. package/_demos/UsingRenderProps/App.js +128 -0
  77. package/index.js +17 -0
  78. package/package.json +6 -64
  79. package/src/Components/InlineToolbox/InlineToolbox.js +16 -3
  80. package/.babelrc +0 -23
  81. package/scripts/moveLibToPackageRoot.js +0 -41
  82. package/scripts/utils/process.js +0 -19
package/App.js ADDED
@@ -0,0 +1,423 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactHotLoader = require("react-hot-loader");
13
+
14
+ var _TextEditorStateProvider = require("./Components/TextEditor/TextEditorStateProvider");
15
+
16
+ var _Editor = _interopRequireDefault(require("./Components/Editor/Editor"));
17
+
18
+ var _CanvasProvider = require("./CanvasInterface/CanvasProvider");
19
+
20
+ var _FontSizeMin = require("./CanvasAdapters/PaperJs/Modifiers/FontSizeMin");
21
+
22
+ var _CanvasRepository = require("./CanvasAdapters/PaperJs/CanvasRepository");
23
+
24
+ var _EditorContainer = _interopRequireDefault(require("./Components/Editor/EditorContainer"));
25
+
26
+ var _excluded = ["children"];
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
+
30
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
31
+
32
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
33
+
34
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
+
36
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
37
+
38
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
39
+
40
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
+
42
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
+
44
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
45
+
46
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
47
+
48
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
49
+
50
+ 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; } }
51
+
52
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
+
54
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
55
+
56
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
57
+
58
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
59
+
60
+ console.warn('Do not use this App component directly! It was made only for development and demo purposes!');
61
+ var canvasRepository = (0, _CanvasRepository.createCanvasRepository)();
62
+
63
+ canvasRepository.onCreate = function (canvas) {
64
+ return console.log('Canvas is ready', canvas);
65
+ }; // expose canvasRepository to window
66
+
67
+
68
+ window.canvasRepository = canvasRepository;
69
+ var canvases = {
70
+ c1: {
71
+ width: 100,
72
+ height: 80,
73
+ dpi: 300,
74
+ isMetric: true
75
+ },
76
+ c2: {
77
+ width: 300,
78
+ height: 600
79
+ }
80
+ };
81
+ var maskDataSamples = [{
82
+ id: 'iphone',
83
+ src: 'assets/iphone-mask.svg',
84
+ x: 0.5,
85
+ y: 0.5,
86
+ rotation: 0,
87
+ scaling: 1.5,
88
+ outlineColor: 'red',
89
+ relativeScaling: 0.5
90
+ }, {
91
+ id: 'circle',
92
+ src: 'assets/circle-mask.svg',
93
+ x: 0.5,
94
+ y: 0.5,
95
+ rotation: 0,
96
+ scaling: 5,
97
+ relativeScaling: 1,
98
+ outlineColor: 'green'
99
+ }, {
100
+ id: 'clip',
101
+ src: 'assets/clip-mask.svg',
102
+ x: 0.5,
103
+ y: 0.5,
104
+ rotation: 0,
105
+ scaling: 1,
106
+ relativeScaling: 1,
107
+ outlineColor: 'red'
108
+ }];
109
+ var fontToFileMap = {
110
+ 'sans-serif': {
111
+ regular: '/fonts/Arcon-Regular.otf'
112
+ },
113
+ 'Arial, Helvetica, sans-serif': {
114
+ regular: '/fonts/Arcon-Regular.otf',
115
+ bold: '/fonts/Arcon-Regular.otf'
116
+ }
117
+ };
118
+ var styles = {
119
+ demoWrapper: {
120
+ position: 'absolute',
121
+ top: 0,
122
+ right: 0,
123
+ background: 'yellow',
124
+ padding: 10
125
+ },
126
+ demoGroup: {
127
+ marginTop: 5
128
+ },
129
+ demoLabel: {
130
+ padding: '0 5px'
131
+ },
132
+ demoExtraContent: {
133
+ position: 'absolute',
134
+ top: 100,
135
+ fontSize: 20
136
+ }
137
+ };
138
+
139
+ var CustomEditorContainer = function CustomEditorContainer(_ref) {
140
+ var children = _ref.children,
141
+ props = _objectWithoutProperties(_ref, _excluded);
142
+
143
+ return /*#__PURE__*/_react["default"].createElement(_EditorContainer["default"], props, /*#__PURE__*/_react["default"].createElement("div", {
144
+ style: styles.demoExtraContent
145
+ }, "This is how to add extra content inside the EditorContainer"), children);
146
+ };
147
+
148
+ var CanvasSelect = function CanvasSelect(_ref2) {
149
+ var onChange = _ref2.onChange;
150
+ return Object.keys(canvases).map(function (id, i) {
151
+ return /*#__PURE__*/_react["default"].createElement("button", {
152
+ key: i,
153
+ onClick: onChange,
154
+ value: id
155
+ }, id);
156
+ });
157
+ };
158
+
159
+ var MaskSelect = function MaskSelect(_ref3) {
160
+ var onChange = _ref3.onChange;
161
+ return /*#__PURE__*/_react["default"].createElement("select", {
162
+ name: "maskData",
163
+ onChange: onChange
164
+ }, /*#__PURE__*/_react["default"].createElement("option", {
165
+ value: ""
166
+ }, "Choose mask"), maskDataSamples.map(function (maskData, i) {
167
+ return /*#__PURE__*/_react["default"].createElement("option", {
168
+ key: i,
169
+ value: maskData.name
170
+ }, maskData.id);
171
+ }));
172
+ };
173
+
174
+ var App = /*#__PURE__*/function (_React$Component) {
175
+ _inherits(App, _React$Component);
176
+
177
+ var _super = _createSuper(App);
178
+
179
+ function App() {
180
+ var _this;
181
+
182
+ _classCallCheck(this, App);
183
+
184
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
185
+ args[_key] = arguments[_key];
186
+ }
187
+
188
+ _this = _super.call.apply(_super, [this].concat(args));
189
+
190
+ _defineProperty(_assertThisInitialized(_this), "state", {
191
+ canvasInstance: canvasRepository.requestCanvas('c1', canvases.c1)
192
+ });
193
+
194
+ _defineProperty(_assertThisInitialized(_this), "mockUploadFunction", function (files) {
195
+ return new Promise(function (resolve, reject) {
196
+ var reader = new FileReader();
197
+
198
+ reader.onload = function () {
199
+ var dataURL = reader.result;
200
+ resolve([{
201
+ src: dataURL
202
+ }]);
203
+ };
204
+
205
+ reader.onerror = reject;
206
+ reader.readAsDataURL(files[0]);
207
+ });
208
+ });
209
+
210
+ _defineProperty(_assertThisInitialized(_this), "saveCanvasData", function () {
211
+ var canvasData = canvasRepository.getActiveCanvas().toObject(true, {
212
+ includeObjects: true
213
+ });
214
+
215
+ if (window.localStorage) {
216
+ localStorage.setItem('savedCanvasData', canvasData);
217
+ console.log('canvas saved!');
218
+ }
219
+ });
220
+
221
+ _defineProperty(_assertThisInitialized(_this), "loadCanvasData", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
222
+ var canvasData;
223
+ return regeneratorRuntime.wrap(function _callee$(_context) {
224
+ while (1) {
225
+ switch (_context.prev = _context.next) {
226
+ case 0:
227
+ if (!window.localStorage) {
228
+ _context.next = 13;
229
+ break;
230
+ }
231
+
232
+ _context.prev = 1;
233
+ canvasData = JSON.parse(localStorage.getItem('savedCanvasData'));
234
+
235
+ if (!canvasData) {
236
+ _context.next = 7;
237
+ break;
238
+ }
239
+
240
+ _context.next = 6;
241
+ return canvasRepository.getActiveCanvas().fromObject(canvasData);
242
+
243
+ case 6:
244
+ console.log('canvas loaded!');
245
+
246
+ case 7:
247
+ _context.next = 13;
248
+ break;
249
+
250
+ case 9:
251
+ _context.prev = 9;
252
+ _context.t0 = _context["catch"](1);
253
+ console.error(_context.t0);
254
+ alert('Could not load data!');
255
+
256
+ case 13:
257
+ case "end":
258
+ return _context.stop();
259
+ }
260
+ }
261
+ }, _callee, null, [[1, 9]]);
262
+ })));
263
+
264
+ _defineProperty(_assertThisInitialized(_this), "setFontSizeMin", function () {
265
+ return (0, _FontSizeMin.applyFontSizeMin)(canvasRepository.getActiveCanvas(), 20);
266
+ });
267
+
268
+ _defineProperty(_assertThisInitialized(_this), "clearCanvas", function () {
269
+ return canvasRepository.getActiveCanvas().clear();
270
+ });
271
+
272
+ _defineProperty(_assertThisInitialized(_this), "switchCanvas", function (_ref5) {
273
+ var value = _ref5.target.value;
274
+
275
+ _this.setState({
276
+ canvasInstance: canvasRepository.requestCanvas(value, canvases[value])
277
+ });
278
+ });
279
+
280
+ _defineProperty(_assertThisInitialized(_this), "screenshotToConsole", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
281
+ var screenshot;
282
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
283
+ while (1) {
284
+ switch (_context2.prev = _context2.next) {
285
+ case 0:
286
+ console.time('screenshot');
287
+ _context2.next = 3;
288
+ return canvasRepository.getActiveCanvas().getScreenshot(fontToFileMap);
289
+
290
+ case 3:
291
+ screenshot = _context2.sent;
292
+ console.log('Screenshot:', screenshot);
293
+ console.timeEnd('screenshot');
294
+
295
+ case 6:
296
+ case "end":
297
+ return _context2.stop();
298
+ }
299
+ }
300
+ }, _callee2);
301
+ })));
302
+
303
+ _defineProperty(_assertThisInitialized(_this), "screenshotsToConsole", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
304
+ var elements;
305
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
306
+ while (1) {
307
+ switch (_context3.prev = _context3.next) {
308
+ case 0:
309
+ _context3.next = 2;
310
+ return canvasRepository.getActiveCanvas().getScreenshotsOfElements(fontToFileMap);
311
+
312
+ case 2:
313
+ elements = _context3.sent;
314
+ console.log(elements);
315
+
316
+ case 4:
317
+ case "end":
318
+ return _context3.stop();
319
+ }
320
+ }
321
+ }, _callee3);
322
+ })));
323
+
324
+ _defineProperty(_assertThisInitialized(_this), "onMaskSelected", /*#__PURE__*/function () {
325
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4(_ref9) {
326
+ var value, maskHandler, maskData;
327
+ return regeneratorRuntime.wrap(function _callee4$(_context4) {
328
+ while (1) {
329
+ switch (_context4.prev = _context4.next) {
330
+ case 0:
331
+ value = _ref9.target.value;
332
+ maskHandler = canvasRepository.getActiveCanvas().getMaskHandler();
333
+
334
+ if (!value) {
335
+ _context4.next = 6;
336
+ break;
337
+ }
338
+
339
+ maskData = maskDataSamples.filter(function (_ref10) {
340
+ var id = _ref10.id;
341
+ return id === value;
342
+ })[0];
343
+ _context4.next = 6;
344
+ return canvasRepository.getActiveCanvas().useMask(maskData);
345
+
346
+ case 6:
347
+ maskHandler && maskHandler.dispose();
348
+
349
+ case 7:
350
+ case "end":
351
+ return _context4.stop();
352
+ }
353
+ }
354
+ }, _callee4);
355
+ }));
356
+
357
+ return function (_x) {
358
+ return _ref8.apply(this, arguments);
359
+ };
360
+ }());
361
+
362
+ return _this;
363
+ }
364
+
365
+ _createClass(App, [{
366
+ key: "render",
367
+ value: function render() {
368
+ return /*#__PURE__*/_react["default"].createElement(_reactHotLoader.AppContainer, null, /*#__PURE__*/_react["default"].createElement(_CanvasProvider.CanvasProvider, {
369
+ canvas: this.state.canvasInstance
370
+ }, /*#__PURE__*/_react["default"].createElement(_TextEditorStateProvider.TextEditorStateProvider, {
371
+ defaultStyle: {
372
+ fontSize: '16px',
373
+ color: {
374
+ value: 'rgb(247, 52, 41)',
375
+ identifier: '{"color": "red", "palette": "f73429"}'
376
+ }
377
+ }
378
+ }, /*#__PURE__*/_react["default"].createElement(_Editor["default"], {
379
+ upload: this.mockUploadFunction,
380
+ EditorContainer: CustomEditorContainer,
381
+ fillContainer: true
382
+ })), /*#__PURE__*/_react["default"].createElement("div", {
383
+ style: styles.demoWrapper
384
+ }, /*#__PURE__*/_react["default"].createElement("span", {
385
+ style: styles.demoLabel
386
+ }, "Demo features"), /*#__PURE__*/_react["default"].createElement("div", {
387
+ style: styles.demoGroup
388
+ }, /*#__PURE__*/_react["default"].createElement("span", {
389
+ style: styles.demoLabel
390
+ }, "Canvas repository"), /*#__PURE__*/_react["default"].createElement(CanvasSelect, {
391
+ onChange: this.switchCanvas
392
+ })), /*#__PURE__*/_react["default"].createElement("div", {
393
+ style: styles.demoGroup
394
+ }, /*#__PURE__*/_react["default"].createElement("button", {
395
+ onClick: this.saveCanvasData
396
+ }, "Save data"), /*#__PURE__*/_react["default"].createElement("button", {
397
+ onClick: this.loadCanvasData
398
+ }, "Load data"), /*#__PURE__*/_react["default"].createElement("button", {
399
+ onClick: this.clearCanvas
400
+ }, "Clear canvas")), /*#__PURE__*/_react["default"].createElement("div", {
401
+ style: styles.demoGroup
402
+ }, /*#__PURE__*/_react["default"].createElement("button", {
403
+ onClick: this.setFontSizeMin
404
+ }, "Set fontSizeMin to 20")), /*#__PURE__*/_react["default"].createElement("div", {
405
+ style: styles.demoGroup
406
+ }, /*#__PURE__*/_react["default"].createElement("button", {
407
+ onClick: this.screenshotToConsole
408
+ }, "Screenshot to console"), /*#__PURE__*/_react["default"].createElement("button", {
409
+ onClick: this.screenshotsToConsole
410
+ }, "Screenshots of Elements")), /*#__PURE__*/_react["default"].createElement("div", {
411
+ style: styles.demoGroup
412
+ }, /*#__PURE__*/_react["default"].createElement(MaskSelect, {
413
+ onChange: this.onMaskSelected
414
+ })))));
415
+ }
416
+ }]);
417
+
418
+ return App;
419
+ }(_react["default"].Component);
420
+
421
+ var _default = (0, _reactHotLoader.hot)(module)(App);
422
+
423
+ exports["default"] = _default;
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Canvas = void 0;
9
+
10
+ var _Canvas = require("../../CanvasInterface/Canvas");
11
+
12
+ var _Group = require("./Objects/Group");
13
+
14
+ var _Image = require("./Objects/Image");
15
+
16
+ var _Text = require("./Objects/Text");
17
+
18
+ var _Logger = _interopRequireDefault(require("../../Utils/Logger"));
19
+
20
+ var _excluded = ["type"];
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+
28
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
29
+
30
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
31
+
32
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
+
34
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
35
+
36
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
37
+
38
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
39
+
40
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
41
+
42
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
43
+
44
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
45
+
46
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
47
+
48
+ 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; } }
49
+
50
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
51
+
52
+ var logger = new _Logger["default"]('Canvas');
53
+
54
+ var Canvas = /*#__PURE__*/function (_AbstractCanvas) {
55
+ _inherits(Canvas, _AbstractCanvas);
56
+
57
+ var _super = _createSuper(Canvas);
58
+
59
+ function Canvas() {
60
+ _classCallCheck(this, Canvas);
61
+
62
+ return _super.apply(this, arguments);
63
+ }
64
+
65
+ _createClass(Canvas, [{
66
+ key: "addText",
67
+ value: function addText(options) {
68
+ var text = new _Text.Text(options);
69
+ this.add(text);
70
+ return text;
71
+ }
72
+ }, {
73
+ key: "addImage",
74
+ value: function () {
75
+ var _addImage = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(options) {
76
+ var src, image;
77
+ return regeneratorRuntime.wrap(function _callee$(_context) {
78
+ while (1) {
79
+ switch (_context.prev = _context.next) {
80
+ case 0:
81
+ src = options.src;
82
+ image = new _Image.Image(options);
83
+
84
+ if (!src) {
85
+ _context.next = 5;
86
+ break;
87
+ }
88
+
89
+ _context.next = 5;
90
+ return image.loadFromURL(src);
91
+
92
+ case 5:
93
+ this.add(image);
94
+ logger.log('Image has been added.', image);
95
+ return _context.abrupt("return", image);
96
+
97
+ case 8:
98
+ case "end":
99
+ return _context.stop();
100
+ }
101
+ }
102
+ }, _callee, this);
103
+ }));
104
+
105
+ function addImage(_x) {
106
+ return _addImage.apply(this, arguments);
107
+ }
108
+
109
+ return addImage;
110
+ }()
111
+ }, {
112
+ key: "addGroup",
113
+ value: function () {
114
+ var _addGroup = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(options) {
115
+ var src, group;
116
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
117
+ while (1) {
118
+ switch (_context2.prev = _context2.next) {
119
+ case 0:
120
+ src = options.src;
121
+ group = new _Group.Group(options);
122
+
123
+ if (!src) {
124
+ _context2.next = 5;
125
+ break;
126
+ }
127
+
128
+ _context2.next = 5;
129
+ return group.loadFromURL(src);
130
+
131
+ case 5:
132
+ this.add(group);
133
+ logger.log('Group has been added.', group);
134
+ return _context2.abrupt("return", group);
135
+
136
+ case 8:
137
+ case "end":
138
+ return _context2.stop();
139
+ }
140
+ }
141
+ }, _callee2, this);
142
+ }));
143
+
144
+ function addGroup(_x2) {
145
+ return _addGroup.apply(this, arguments);
146
+ }
147
+
148
+ return addGroup;
149
+ }()
150
+ }, {
151
+ key: "addItemFromObject",
152
+ value: function () {
153
+ var _addItemFromObject = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(options) {
154
+ var type, props;
155
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
156
+ while (1) {
157
+ switch (_context3.prev = _context3.next) {
158
+ case 0:
159
+ type = options.type, props = _objectWithoutProperties(options, _excluded);
160
+ _context3.t0 = type;
161
+ _context3.next = _context3.t0 === 'Image' ? 4 : _context3.t0 === 'Group' ? 7 : _context3.t0 === 'Text' ? 10 : 11;
162
+ break;
163
+
164
+ case 4:
165
+ _context3.next = 6;
166
+ return this.addImage(props);
167
+
168
+ case 6:
169
+ return _context3.abrupt("return", _context3.sent);
170
+
171
+ case 7:
172
+ _context3.next = 9;
173
+ return this.addGroup(props);
174
+
175
+ case 9:
176
+ return _context3.abrupt("return", _context3.sent);
177
+
178
+ case 10:
179
+ return _context3.abrupt("return", this.addText(props));
180
+
181
+ case 11:
182
+ case "end":
183
+ return _context3.stop();
184
+ }
185
+ }
186
+ }, _callee3, this);
187
+ }));
188
+
189
+ function addItemFromObject(_x3) {
190
+ return _addItemFromObject.apply(this, arguments);
191
+ }
192
+
193
+ return addItemFromObject;
194
+ }()
195
+ }]);
196
+
197
+ return Canvas;
198
+ }(_Canvas.AbstractCanvas);
199
+
200
+ exports.Canvas = Canvas;