argous 1.2.216 → 1.2.218

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.
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
69
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
70
+ to[j] = from[i];
71
+ return to;
72
+ };
73
+ var __importDefault = (this && this.__importDefault) || function (mod) {
74
+ return (mod && mod.__esModule) ? mod : { "default": mod };
75
+ };
76
+ Object.defineProperty(exports, "__esModule", { value: true });
77
+ exports.textToHtmlInitialValue = exports.initialStateCursor = exports.initialStateCharacter = exports.TEXT_TO_HTML_ID = void 0;
78
+ var Cursor_1 = __importDefault(require("./Cursor"));
79
+ var TextStyles_1 = __importDefault(require("./TextStyles"));
80
+ var utils_1 = require("./utils");
81
+ var core_1 = require("@material-ui/core");
82
+ var lodash_1 = require("lodash");
83
+ var react_1 = __importStar(require("react"));
84
+ require("./style.css");
85
+ var resizeStyle = {
86
+ resize: 'both',
87
+ overflow: 'auto'
88
+ };
89
+ exports.TEXT_TO_HTML_ID = 'text-to-html';
90
+ var TEXT_TO_HTML_CURSOR_ID = 'text-to-html-cursor';
91
+ var TEXT_TO_HTML_TEXT_CONTAINER_ID = 'text-to-html-text-container';
92
+ exports.initialStateCharacter = {
93
+ key: undefined,
94
+ keyCode: undefined,
95
+ code: undefined,
96
+ string: '',
97
+ dead: false,
98
+ shift: false,
99
+ mark: []
100
+ };
101
+ exports.initialStateCursor = __assign(__assign({}, exports.initialStateCharacter), { string: 'cursor' });
102
+ exports.textToHtmlInitialValue = { text: '', cssText: '' };
103
+ var initialStateMove = {
104
+ isDown: false,
105
+ offset: []
106
+ };
107
+ var initialStateKeyboardRef = { altGraph: false };
108
+ var initialStateTextStyle = {
109
+ color: { r: 255, g: 255, b: 255, a: 1 },
110
+ textAlign: 'center',
111
+ fontSize: 2,
112
+ fontFamily: 'Roboto, Helvetica, Arial, sans-serif',
113
+ letterSpacing: '0.01em'
114
+ };
115
+ var initialState = {
116
+ textStyle: initialStateTextStyle,
117
+ createCursorClick: false,
118
+ clickAway: undefined,
119
+ tap: 0,
120
+ resize: false,
121
+ move: initialStateMove,
122
+ characters: []
123
+ };
124
+ var TextToHtml = function (_a, ref) {
125
+ var _b = _a.initialValue, initialValue = _b === void 0 ? exports.textToHtmlInitialValue : _b, onChange = _a.onChange, onDelete = _a.onDelete, defaultSpacing = _a.defaultSpacing, setExternalValues = _a.setExternalValues;
126
+ var keyboardRef = react_1.useRef(initialStateKeyboardRef);
127
+ var _c = react_1.useState(initialState), state = _c[0], setState = _c[1];
128
+ var createCursorClick = state.createCursorClick, characters = state.characters, move = state.move, resize = state.resize, tap = state.tap, textStyle = state.textStyle;
129
+ var color = textStyle.color, fontSize = textStyle.fontSize, fontFamily = textStyle.fontFamily, textAlign = textStyle.textAlign, letterSpacing = textStyle.letterSpacing;
130
+ var propsRef = react_1.useRef({
131
+ onChange: onChange
132
+ });
133
+ var cursor = characters.findIndex(function (_a) {
134
+ var string = _a.string;
135
+ return (string === 'cursor');
136
+ });
137
+ var canWrite = (cursor > -1);
138
+ var logicSetState = function (_a) {
139
+ var type = _a.type, field = _a.field, value = _a.value;
140
+ return setState(function (values) {
141
+ var _a, _b;
142
+ return (__assign(__assign({}, values), (_a = {}, _a[type] = (type && field) ? __assign(__assign({}, values[type]), (_b = {}, _b[field] = value, _b)) : value, _a)));
143
+ });
144
+ };
145
+ var setCharacters = react_1.useCallback(function (value) { return logicSetState({ type: 'characters', value: value }); }, []);
146
+ var focusToWrite = function () {
147
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
148
+ if (element)
149
+ element.focus();
150
+ };
151
+ var toggleResize = function () { return logicSetState({ type: 'resize', value: !resize }); };
152
+ var toggleClickAway = function () { return logicSetState({ type: 'clickAway', value: (state.clickAway === undefined) ? false : undefined }); };
153
+ var disableResize = react_1.useCallback(function () { return logicSetState({ type: 'resize', value: false }); }, []);
154
+ var handleCreateCursorClick = react_1.useCallback(function (boolean) { return logicSetState({ type: 'createCursorClick', value: boolean }); }, []);
155
+ var deleteCursor = react_1.useCallback(function () { return logicSetState({ type: 'characters', value: characters.filter(function (_a) {
156
+ var string = _a.string;
157
+ return string !== 'cursor';
158
+ }) }); }, [characters]);
159
+ var createCursor = react_1.useCallback(function (e) {
160
+ var newCharacters = __spreadArray([], characters);
161
+ newCharacters.push(exports.initialStateCursor);
162
+ focusToWrite();
163
+ logicSetState({ type: 'characters', value: newCharacters });
164
+ }, [characters]);
165
+ var clickAway = react_1.useCallback(function (e) {
166
+ if (createCursorClick) {
167
+ handleCreateCursorClick(false);
168
+ return;
169
+ }
170
+ disableResize();
171
+ deleteCursor();
172
+ }, [createCursorClick, deleteCursor, disableResize, handleCreateCursorClick]);
173
+ var handleClickAway = function (e) {
174
+ clickAway(e);
175
+ };
176
+ var handleContainerClick = function (e) {
177
+ if (canWrite) {
178
+ clickAway(e);
179
+ return;
180
+ }
181
+ createCursor(e);
182
+ handleCreateCursorClick(true);
183
+ };
184
+ var handleClick = function (e) {
185
+ e.stopPropagation();
186
+ if (canWrite)
187
+ return;
188
+ if (createCursorClick)
189
+ handleCreateCursorClick(false);
190
+ createCursor(e);
191
+ };
192
+ var pasteTextFromClipboard = function (e) { return __awaiter(void 0, void 0, void 0, function () {
193
+ var text, newCharacters, index, string, newCharacter, cursorIndex, cursor_1;
194
+ var _a;
195
+ return __generator(this, function (_b) {
196
+ switch (_b.label) {
197
+ case 0: return [4 /*yield*/, ((_a = navigator.clipboard) === null || _a === void 0 ? void 0 : _a.readText())];
198
+ case 1:
199
+ text = _b.sent();
200
+ if (text === null || text === void 0 ? void 0 : text.length) {
201
+ newCharacters = __spreadArray([], characters);
202
+ for (index = 0; (index < text.length); index++) {
203
+ string = text[index];
204
+ newCharacter = __assign(__assign({}, exports.initialStateCharacter), { string: string });
205
+ newCharacters.push(newCharacter);
206
+ }
207
+ cursorIndex = newCharacters.findIndex(function (_a) {
208
+ var string = _a.string;
209
+ return (string === 'cursor');
210
+ });
211
+ if (cursorIndex > -1) {
212
+ cursor_1 = newCharacters.splice(cursorIndex, 1)[0];
213
+ (cursor_1) && newCharacters.push(cursor_1);
214
+ }
215
+ (!lodash_1.isEqual(characters, newCharacters)) && setCharacters(newCharacters);
216
+ }
217
+ return [2 /*return*/];
218
+ }
219
+ });
220
+ }); };
221
+ var createCharactersFromInitialValue = react_1.useCallback(function (text) {
222
+ if (typeof text === 'string') {
223
+ var newCharacters = [];
224
+ for (var index = 0; (index < text.length); index++) {
225
+ var string = text[index];
226
+ var newCharacter = __assign(__assign({}, exports.initialStateCharacter), { string: string });
227
+ newCharacters.push(newCharacter);
228
+ }
229
+ newCharacters.push(exports.initialStateCursor);
230
+ setCharacters(newCharacters);
231
+ focusToWrite();
232
+ }
233
+ }, [setCharacters]);
234
+ var setStyleFromInitialValue = function (cssText) {
235
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
236
+ (element) && (element.style.cssText = cssText);
237
+ };
238
+ var loadInitialValue = react_1.useCallback(function (initialValue) {
239
+ (initialValue.text) && createCharactersFromInitialValue(initialValue.text);
240
+ (initialValue.cssText) && setStyleFromInitialValue(initialValue.cssText);
241
+ }, [createCharactersFromInitialValue]);
242
+ react_1.useEffect(function () { return loadInitialValue(initialValue); }, [initialValue, loadInitialValue]);
243
+ var handleKeyDown = function (e) {
244
+ e.preventDefault();
245
+ e.stopPropagation();
246
+ if (!canWrite)
247
+ return;
248
+ var key = e.key;
249
+ var keyCode = e.keyCode;
250
+ var code = e.code;
251
+ var shift = e.shiftKey;
252
+ var ctrlKey = e.ctrlKey;
253
+ var shiftKey = e.shiftKey;
254
+ var capsLock = e.getModifierState('CapsLock');
255
+ var deleted = undefined;
256
+ var newCharacter = { string: null };
257
+ var newCharacters = __spreadArray([], characters);
258
+ var paste = (((key === 'v') || (key === 'V')) && (keyCode === 86) && (code === 'KeyV') && ctrlKey && !shiftKey);
259
+ var characterBeforeCursorIndex = (cursor - 1);
260
+ var characterBeforeCursor = newCharacters[characterBeforeCursorIndex];
261
+ function moveCursor(direction) {
262
+ var start = (direction === 'start');
263
+ var end = (direction === 'end');
264
+ var left = (direction === 'left');
265
+ var right = (direction === 'right');
266
+ if (!start && !end && !left && !right)
267
+ return;
268
+ var cursorIndex = cursor;
269
+ if ((left || start) && (cursorIndex === 0))
270
+ return;
271
+ var cursorObject = newCharacters.splice(cursorIndex, 1)[0];
272
+ newCharacters.splice((start) ? 0 : (end) ? (newCharacters.length) : (left) ? (cursorIndex - 1) : (cursorIndex + 1), 0, cursorObject);
273
+ }
274
+ function deleteText(direction) {
275
+ var _a;
276
+ var left = (direction === 'left');
277
+ var targetIndex = (left) ? (cursor === 0) ? 0 : (cursor - 1) : (cursor + 1);
278
+ var nextObjectToDelete = newCharacters[targetIndex];
279
+ if ((nextObjectToDelete === null || nextObjectToDelete === void 0 ? void 0 : nextObjectToDelete.string) === 'cursor')
280
+ return;
281
+ deleted = (_a = newCharacters.splice(targetIndex, 1)) === null || _a === void 0 ? void 0 : _a[0];
282
+ }
283
+ if (paste)
284
+ pasteTextFromClipboard(e);
285
+ else if (key === 'Home')
286
+ moveCursor('start');
287
+ else if (key === 'End')
288
+ moveCursor('end');
289
+ else if (key === 'ArrowLeft')
290
+ moveCursor('left');
291
+ else if (key === 'ArrowRight')
292
+ moveCursor('right');
293
+ else if (key === 'AltGraph')
294
+ keyboardRef.current.altGraph = true;
295
+ else if (key === 'Backspace')
296
+ deleteText('left');
297
+ else if (key === 'Delete')
298
+ deleteText('right');
299
+ else {
300
+ var _a = utils_1.translateKey({ key: key, keyCode: keyCode, code: code, shift: shift, altGraph: keyboardRef.current.altGraph, capsLock: capsLock, before: characterBeforeCursor }), string = _a.string, before = _a.before;
301
+ if (string) {
302
+ newCharacter = __assign(__assign({}, exports.initialStateCharacter), { key: key,
303
+ keyCode: keyCode,
304
+ code: code,
305
+ string: string, dead: before.dead, shift: shift });
306
+ newCharacters.splice(cursor, 0, newCharacter);
307
+ if (characterBeforeCursor) {
308
+ if (before.delete)
309
+ newCharacters.splice(characterBeforeCursorIndex, 1);
310
+ else if (characterBeforeCursor.dead) {
311
+ characterBeforeCursor.dead = false;
312
+ newCharacters.splice(characterBeforeCursorIndex, 1, characterBeforeCursor);
313
+ }
314
+ }
315
+ }
316
+ }
317
+ (!lodash_1.isEqual(newCharacters, characters)) && setCharacters(newCharacters);
318
+ if (deleted)
319
+ onDelete && onDelete(e, deleted, newCharacters);
320
+ };
321
+ var handleKeyUp = function (e) {
322
+ var key = e.key;
323
+ if (key === 'AltGraph')
324
+ keyboardRef.current.altGraph = false;
325
+ };
326
+ var handleDoubleClick = function (e) {
327
+ toggleResize();
328
+ };
329
+ var handleTap = function () {
330
+ var newTap = tap;
331
+ newTap += 1;
332
+ if (newTap > 1)
333
+ toggleResize();
334
+ logicSetState({ type: 'tap', value: newTap });
335
+ setTimeout(function () { return logicSetState({ type: 'tap', value: 0 }); }, 300);
336
+ };
337
+ var handleMouseDownTouchStart = function (e) {
338
+ if (e.type === 'touchstart')
339
+ handleTap();
340
+ if (resize)
341
+ return;
342
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
343
+ if (!element)
344
+ return;
345
+ var clientX = (e.clientX || e.touches[0].clientX);
346
+ var clientY = (e.clientY || e.touches[0].clientY);
347
+ logicSetState({
348
+ type: 'move',
349
+ value: __assign(__assign({}, move), { isDown: true, offset: [
350
+ element.offsetLeft - clientX,
351
+ element.offsetTop - clientY
352
+ ] })
353
+ });
354
+ };
355
+ var handleMouseUpTouchEnd = function (e) {
356
+ logicSetState({ type: 'move', field: 'isDown', value: false });
357
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
358
+ if (element) {
359
+ element.style.cursor = 'pointer';
360
+ }
361
+ };
362
+ var handleMouseTouchMove = function (e) {
363
+ var isDown = move.isDown, offset = move.offset;
364
+ var containerElement = document.getElementById(TEXT_TO_HTML_TEXT_CONTAINER_ID);
365
+ var textElement = document.getElementById(exports.TEXT_TO_HTML_ID);
366
+ if (containerElement && textElement && isDown) {
367
+ var containerHeight = containerElement.clientHeight;
368
+ var containerWidth = containerElement.clientWidth;
369
+ var clientX = (e.clientX || e.touches[0].clientX);
370
+ var clientY = (e.clientY || e.touches[0].clientY);
371
+ var top_1 = (clientY + offset[1]);
372
+ var left = (clientX + offset[0]);
373
+ var textTop = ((top_1 / containerHeight) * 100);
374
+ var textLeft = ((left / containerWidth) * 100);
375
+ textElement.style.top = textTop + '%';
376
+ textElement.style.left = textLeft + '%';
377
+ textElement.style.cursor = 'grabbing';
378
+ }
379
+ };
380
+ var handleFontSizeChange = function (e) {
381
+ logicSetState({ type: 'clickAway', value: false });
382
+ var newFontSize = fontSize;
383
+ if (newFontSize > 2)
384
+ newFontSize = 1;
385
+ else
386
+ newFontSize += 1;
387
+ logicSetState({ type: 'textStyle', field: 'fontSize', value: newFontSize });
388
+ focusToWrite();
389
+ setTimeout(function () { return logicSetState({ type: 'clickAway', value: undefined }); }, 0);
390
+ };
391
+ var handleTextAlignChange = function (e) {
392
+ logicSetState({ type: 'clickAway', value: false });
393
+ var newTextAlign = textAlign;
394
+ switch (textAlign) {
395
+ case 'start':
396
+ newTextAlign = 'end';
397
+ break;
398
+ case 'end':
399
+ newTextAlign = 'center';
400
+ break;
401
+ case 'center':
402
+ newTextAlign = 'justify';
403
+ break;
404
+ case 'justify':
405
+ newTextAlign = 'start';
406
+ break;
407
+ default:
408
+ return null;
409
+ }
410
+ logicSetState({ type: 'textStyle', field: 'textAlign', value: newTextAlign });
411
+ focusToWrite();
412
+ setTimeout(function () { return logicSetState({ type: 'clickAway', value: undefined }); }, 0);
413
+ };
414
+ var changeStyles = react_1.useCallback(function (_a) {
415
+ var resize = _a.resize;
416
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
417
+ if (element) {
418
+ if (resize) {
419
+ element.style.resize = resizeStyle.resize;
420
+ element.style.overflow = resizeStyle.overflow;
421
+ }
422
+ else {
423
+ element.style.resize = '';
424
+ element.style.overflow = '';
425
+ }
426
+ }
427
+ }, []);
428
+ react_1.useEffect(function () { return changeStyles({ resize: resize }); }, [resize, changeStyles]);
429
+ var createHtmlString = react_1.useCallback(function () {
430
+ var _a;
431
+ var element = document.getElementById(exports.TEXT_TO_HTML_ID);
432
+ if (element) {
433
+ var htmlDataString_1 = '';
434
+ characters.forEach(function (_a) {
435
+ var string = _a.string;
436
+ return (string === 'cursor') ? null : htmlDataString_1 += string;
437
+ });
438
+ element.setAttribute('data-string', htmlDataString_1);
439
+ var newElement = element.cloneNode(true);
440
+ newElement.id = Math.floor(Math.random() * 1000001) + "-" + element.id;
441
+ newElement.style.cursor = 'inherit';
442
+ var htmlString = newElement.outerHTML;
443
+ ((_a = propsRef.current) === null || _a === void 0 ? void 0 : _a.onChange) && propsRef.current.onChange(htmlString);
444
+ if (ref.current)
445
+ ref.current.htmlString = htmlString;
446
+ return { htmlString: htmlString };
447
+ }
448
+ }, [characters, ref]);
449
+ react_1.useEffect(function () { return createHtmlString(); }, [characters, createHtmlString]);
450
+ react_1.useEffect(function () { return ref.current = __assign(__assign(__assign({}, ref.current), state), { clickAway: clickAway,
451
+ focusToWrite: focusToWrite,
452
+ createCursor: createCursor,
453
+ setCharacters: setCharacters,
454
+ createHtmlString: createHtmlString,
455
+ setExternalValues: setExternalValues }); }, [ref, state, setCharacters, createCursor, createHtmlString, clickAway, setExternalValues]);
456
+ var updateExternalValues = function (_a) {
457
+ var state = _a.state, setExternalValues = _a.setExternalValues;
458
+ setExternalValues && setExternalValues(state);
459
+ };
460
+ react_1.useEffect(function () { return updateExternalValues({ state: state, setExternalValues: setExternalValues }); }, [state, setExternalValues]);
461
+ return react_1.default.createElement("div", { className: 'text-to-html-container' },
462
+ (canWrite) && (react_1.default.createElement(TextStyles_1.default, __assign({ setColor: function (value) { return logicSetState({ type: 'textStyle', field: 'color', value: value }); } }, { color: color, defaultSpacing: defaultSpacing, toggleClickAway: toggleClickAway, handleFontSizeChange: handleFontSizeChange, textAlign: textAlign, handleTextAlignChange: handleTextAlignChange }))),
463
+ react_1.default.createElement("div", { id: TEXT_TO_HTML_TEXT_CONTAINER_ID, onClick: handleContainerClick, className: 'text-to-html-text-container' },
464
+ react_1.default.createElement(core_1.ClickAwayListener, { mouseEvent: state.clickAway, touchEvent: state.clickAway, disableReactTree: true, onClickAway: handleClickAway },
465
+ react_1.default.createElement("div", { id: exports.TEXT_TO_HTML_ID, tabIndex: 0, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onMouseDown: handleMouseDownTouchStart, onMouseUp: handleMouseUpTouchEnd, onMouseMove: handleMouseTouchMove, onTouchStart: handleMouseDownTouchStart, onTouchEnd: handleMouseUpTouchEnd, onTouchMove: handleMouseTouchMove, onClick: handleClick, onDoubleClick: handleDoubleClick, style: {
466
+ color: (color) ? "rgba(" + color.r + ", " + color.g + ", " + color.b + ", " + color.a + ")" : 'inherit',
467
+ textAlign: (textAlign) ? textAlign : 'inherit',
468
+ fontSize: (fontSize) ? fontSize + "rem" : '1rem',
469
+ fontFamily: (fontFamily) ? fontFamily : 'inherit',
470
+ letterSpacing: (letterSpacing) ? letterSpacing : 'inherit'
471
+ }, className: 'text-to-html' },
472
+ react_1.default.createElement("p", null, characters.map(function (_a, stringIndex) {
473
+ var code = _a.code, string = _a.string, dead = _a.dead, mark = _a.mark;
474
+ switch (string) {
475
+ case 'cursor':
476
+ return react_1.default.createElement(Cursor_1.default, { key: stringIndex + "-" + string, id: TEXT_TO_HTML_CURSOR_ID, className: 'text-to-html-cursor' });
477
+ default:
478
+ return (string) ? (react_1.default.createElement("span", { key: stringIndex + "-" + string, style: {
479
+ textDecoration: (dead || (mark === null || mark === void 0 ? void 0 : mark.length)) ? 'underline' : ''
480
+ } }, string)) : null;
481
+ }
482
+ }))))));
483
+ };
484
+ exports.default = react_1.forwardRef(TextToHtml);
@@ -0,0 +1,2 @@
1
+ export { default } from './TextToHtml';
2
+ export * from './TextToHtml';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = void 0;
7
+ var TextToHtml_1 = require("./TextToHtml");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(TextToHtml_1).default; } });
@@ -0,0 +1,27 @@
1
+ export const DEAD_KEY: "Dead";
2
+ export const SEARCH_PEOPLE_SYMBOL: "@";
3
+ export function createCharactersWithMark(string: any, mark: any): {
4
+ markedCharacters: any[];
5
+ };
6
+ export function getCharacterElement({ index }: {
7
+ index: any;
8
+ }): {
9
+ nodeElement: undefined;
10
+ rect: undefined;
11
+ };
12
+ export function translateKey({ key, keyCode, code, shift, altGraph, capsLock, before }: {
13
+ key: any;
14
+ keyCode: any;
15
+ code: any;
16
+ shift: any;
17
+ altGraph: any;
18
+ capsLock: any;
19
+ before: any;
20
+ }): {
21
+ string: string;
22
+ dead: boolean;
23
+ before: {
24
+ dead: boolean;
25
+ delete: boolean;
26
+ };
27
+ };