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.
- package/App.js +423 -0
- package/CanvasAdapters/Mock/Canvas.js +200 -0
- package/CanvasAdapters/Mock/Objects/CanvasObject.js +155 -0
- package/CanvasAdapters/Mock/Objects/Group.js +102 -0
- package/CanvasAdapters/Mock/Objects/Image.js +102 -0
- package/CanvasAdapters/Mock/Objects/Text.js +121 -0
- package/CanvasAdapters/Mock/index.js +13 -0
- package/CanvasAdapters/PaperJs/Canvas.js +830 -0
- package/CanvasAdapters/PaperJs/CanvasRepository.js +65 -0
- package/CanvasAdapters/PaperJs/Modifiers/FontSizeMin.js +16 -0
- package/CanvasAdapters/PaperJs/Objects/CanvasObject.js +227 -0
- package/CanvasAdapters/PaperJs/Objects/Group.js +113 -0
- package/CanvasAdapters/PaperJs/Objects/Image.js +225 -0
- package/CanvasAdapters/PaperJs/Objects/Text.js +312 -0
- package/CanvasAdapters/PaperJs/Utils/HTML2Paper.js +301 -0
- package/CanvasAdapters/PaperJs/Utils/SVGfix.js +67 -0
- package/CanvasAdapters/PaperJs/Utils/StyleParams.js +68 -0
- package/CanvasAdapters/PaperJs/Utils/TextToSVGRepository.js +179 -0
- package/CanvasAdapters/PaperJs/Utils/TextToSVGUtils.js +32 -0
- package/CanvasAdapters/PaperJs/Utils/UTF8Base64.js +123 -0
- package/CanvasAdapters/PaperJs/Utils/UseMask.js +475 -0
- package/CanvasAdapters/PaperJs/Utils/__tests__/SVGfix.test.js +29 -0
- package/CanvasAdapters/PaperJs/Utils/__tests__/TextToSVGUtils.test.js +17 -0
- package/CanvasAdapters/PaperJs/Utils/__tests__/updateFontStyle.test.js +16 -0
- package/CanvasAdapters/PaperJs/Utils/updateFontStyle.js +35 -0
- package/CanvasAdapters/PaperJs/index.js +13 -0
- package/CanvasInterface/Canvas.js +633 -0
- package/CanvasInterface/CanvasProvider.js +196 -0
- package/CanvasInterface/CanvasSize.d.js +5 -0
- package/CanvasInterface/Objects/CanvasObject.js +510 -0
- package/CanvasInterface/Objects/Group.js +5 -0
- package/CanvasInterface/Objects/Image.js +5 -0
- package/CanvasInterface/Objects/Text.js +5 -0
- package/CanvasInterface/Objects/index.js +13 -0
- package/CanvasInterface/Observable.js +97 -0
- package/CanvasInterface/canvasConnect.js +115 -0
- package/CanvasInterface/index.js +24 -0
- package/Components/Canvas/Canvas.js +78 -0
- package/Components/Canvas/CanvasContainer.js +52 -0
- package/Components/Canvas/styles.js +21 -0
- package/Components/DelayedContainer.js +87 -0
- package/Components/Editor/Editor.js +327 -0
- package/Components/Editor/EditorContainer.js +361 -0
- package/Components/Editor/styles.js +24 -0
- package/Components/InlineToolbox/InlineToolbox.js +504 -0
- package/Components/InlineToolbox/InlineToolboxButton.js +42 -0
- package/Components/InlineToolbox/styles.js +27 -0
- package/Components/ManipulableContainer.js +105 -0
- package/Components/ResizeDetect/ResizeDetect.js +117 -0
- package/Components/Rulers/Ruler.js +213 -0
- package/Components/Rulers/Rulers.js +96 -0
- package/Components/Rulers/styles.js +37 -0
- package/Components/SelectionToolbox/ColorPalette.js +283 -0
- package/Components/SelectionToolbox/SelectionToolbox.js +319 -0
- package/Components/SelectionToolbox/TextTools.js +445 -0
- package/Components/SelectionToolbox/styles.js +18 -0
- package/Components/StandardToolbox/StandardToolbox.js +234 -0
- package/Components/TextEditor/TextEditor.js +592 -0
- package/Components/TextEditor/TextEditorStateProvider.js +147 -0
- package/Components/Toolbox/ToolboxContainer.js +39 -0
- package/Components/Toolbox/ToolboxRow.js +36 -0
- package/Components/Toolbox/styles.js +21 -0
- package/README.md +11 -4
- package/Utils/Calc2D.js +25 -0
- package/Utils/DOM.js +238 -0
- package/Utils/Device.js +20 -0
- package/Utils/Image.js +47 -0
- package/Utils/Logger.js +89 -0
- package/Utils/Range.js +135 -0
- package/Utils/String.js +42 -0
- package/Utils/UnitConversion.js +21 -0
- package/Utils/__tests__/Calc2D.test.js +41 -0
- package/Utils/__tests__/DOM.test.js +170 -0
- package/Utils/__tests__/Range.test.js +52 -0
- package/_demos/UsingExternalControls/App.js +130 -0
- package/_demos/UsingRenderProps/App.js +128 -0
- package/index.js +17 -0
- package/package.json +6 -64
- package/src/Components/InlineToolbox/InlineToolbox.js +16 -3
- package/.babelrc +0 -23
- package/scripts/moveLibToPackageRoot.js +0 -41
- 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;
|