@pie-lib/editable-html 11.4.0 → 11.6.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.
- package/CHANGELOG.md +24 -52
- package/package.json +8 -7
- package/src/editor.jsx +2 -2
- package/src/plugins/media/media-dialog.js +1 -1
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +1 -1
- package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
- package/lib/block-tags.js +0 -25
- package/lib/block-tags.js.map +0 -1
- package/lib/constants.js +0 -16
- package/lib/constants.js.map +0 -1
- package/lib/editor.js +0 -1355
- package/lib/editor.js.map +0 -1
- package/lib/index.js +0 -269
- package/lib/index.js.map +0 -1
- package/lib/parse-html.js +0 -16
- package/lib/parse-html.js.map +0 -1
- package/lib/plugins/characters/custom-popper.js +0 -73
- package/lib/plugins/characters/custom-popper.js.map +0 -1
- package/lib/plugins/characters/index.js +0 -305
- package/lib/plugins/characters/index.js.map +0 -1
- package/lib/plugins/characters/utils.js +0 -381
- package/lib/plugins/characters/utils.js.map +0 -1
- package/lib/plugins/css/icons/index.js +0 -37
- package/lib/plugins/css/icons/index.js.map +0 -1
- package/lib/plugins/css/index.js +0 -397
- package/lib/plugins/css/index.js.map +0 -1
- package/lib/plugins/customPlugin/index.js +0 -114
- package/lib/plugins/customPlugin/index.js.map +0 -1
- package/lib/plugins/html/icons/index.js +0 -38
- package/lib/plugins/html/icons/index.js.map +0 -1
- package/lib/plugins/html/index.js +0 -80
- package/lib/plugins/html/index.js.map +0 -1
- package/lib/plugins/image/alt-dialog.js +0 -129
- package/lib/plugins/image/alt-dialog.js.map +0 -1
- package/lib/plugins/image/component.js +0 -419
- package/lib/plugins/image/component.js.map +0 -1
- package/lib/plugins/image/image-toolbar.js +0 -177
- package/lib/plugins/image/image-toolbar.js.map +0 -1
- package/lib/plugins/image/index.js +0 -263
- package/lib/plugins/image/index.js.map +0 -1
- package/lib/plugins/image/insert-image-handler.js +0 -161
- package/lib/plugins/image/insert-image-handler.js.map +0 -1
- package/lib/plugins/index.js +0 -402
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/list/index.js +0 -334
- package/lib/plugins/list/index.js.map +0 -1
- package/lib/plugins/math/index.js +0 -454
- package/lib/plugins/math/index.js.map +0 -1
- package/lib/plugins/media/index.js +0 -387
- package/lib/plugins/media/index.js.map +0 -1
- package/lib/plugins/media/media-dialog.js +0 -709
- package/lib/plugins/media/media-dialog.js.map +0 -1
- package/lib/plugins/media/media-toolbar.js +0 -101
- package/lib/plugins/media/media-toolbar.js.map +0 -1
- package/lib/plugins/media/media-wrapper.js +0 -93
- package/lib/plugins/media/media-wrapper.js.map +0 -1
- package/lib/plugins/rendering/index.js +0 -46
- package/lib/plugins/rendering/index.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -254
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -57
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
- package/lib/plugins/respArea/icons/index.js +0 -95
- package/lib/plugins/respArea/icons/index.js.map +0 -1
- package/lib/plugins/respArea/index.js +0 -341
- package/lib/plugins/respArea/index.js.map +0 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -75
- package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
- package/lib/plugins/respArea/math-templated/index.js +0 -130
- package/lib/plugins/respArea/math-templated/index.js.map +0 -1
- package/lib/plugins/respArea/utils.js +0 -125
- package/lib/plugins/respArea/utils.js.map +0 -1
- package/lib/plugins/table/CustomTablePlugin.js +0 -133
- package/lib/plugins/table/CustomTablePlugin.js.map +0 -1
- package/lib/plugins/table/icons/index.js +0 -69
- package/lib/plugins/table/icons/index.js.map +0 -1
- package/lib/plugins/table/index.js +0 -483
- package/lib/plugins/table/index.js.map +0 -1
- package/lib/plugins/table/table-toolbar.js +0 -187
- package/lib/plugins/table/table-toolbar.js.map +0 -1
- package/lib/plugins/textAlign/icons/index.js +0 -226
- package/lib/plugins/textAlign/icons/index.js.map +0 -1
- package/lib/plugins/textAlign/index.js +0 -34
- package/lib/plugins/textAlign/index.js.map +0 -1
- package/lib/plugins/toolbar/default-toolbar.js +0 -229
- package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/done-button.js +0 -53
- package/lib/plugins/toolbar/done-button.js.map +0 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
- package/lib/plugins/toolbar/index.js +0 -34
- package/lib/plugins/toolbar/index.js.map +0 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
- package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
- package/lib/plugins/toolbar/toolbar.js +0 -376
- package/lib/plugins/toolbar/toolbar.js.map +0 -1
- package/lib/plugins/utils.js +0 -62
- package/lib/plugins/utils.js.map +0 -1
- package/lib/serialization.js +0 -677
- package/lib/serialization.js.map +0 -1
- package/lib/shared/alert-dialog.js +0 -75
- package/lib/shared/index.js +0 -136
- package/lib/theme.js +0 -9
- package/lib/theme.js.map +0 -1
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = CharactersPlugin;
|
|
9
|
-
exports.removeDialogs = void 0;
|
|
10
|
-
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
14
|
-
|
|
15
|
-
var _react = _interopRequireDefault(require("react"));
|
|
16
|
-
|
|
17
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
18
|
-
|
|
19
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
20
|
-
|
|
21
|
-
var _get = _interopRequireDefault(require("lodash/get"));
|
|
22
|
-
|
|
23
|
-
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
24
|
-
|
|
25
|
-
var _customPopper = _interopRequireDefault(require("./custom-popper"));
|
|
26
|
-
|
|
27
|
-
var _utils = require("../respArea/utils");
|
|
28
|
-
|
|
29
|
-
var _utils2 = require("./utils");
|
|
30
|
-
|
|
31
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
32
|
-
|
|
33
|
-
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; }
|
|
34
|
-
|
|
35
|
-
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; }
|
|
36
|
-
|
|
37
|
-
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:characters');
|
|
38
|
-
|
|
39
|
-
var removePopOvers = function removePopOvers() {
|
|
40
|
-
var prevPopOvers = document.querySelectorAll('#mouse-over-popover');
|
|
41
|
-
log('[characters:removePopOvers]');
|
|
42
|
-
prevPopOvers.forEach(function (s) {
|
|
43
|
-
return s.remove();
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var removeDialogs = function removeDialogs() {
|
|
48
|
-
var prevDialogs = document.querySelectorAll('.insert-character-dialog');
|
|
49
|
-
log('[characters:removeDialogs]');
|
|
50
|
-
prevDialogs.forEach(function (s) {
|
|
51
|
-
return s.remove();
|
|
52
|
-
});
|
|
53
|
-
removePopOvers();
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
exports.removeDialogs = removeDialogs;
|
|
57
|
-
|
|
58
|
-
var insertDialog = function insertDialog(_ref) {
|
|
59
|
-
var editorDOM = _ref.editorDOM,
|
|
60
|
-
value = _ref.value,
|
|
61
|
-
callback = _ref.callback,
|
|
62
|
-
opts = _ref.opts;
|
|
63
|
-
var newEl = document.createElement('div');
|
|
64
|
-
log('[characters:insertDialog]');
|
|
65
|
-
removeDialogs();
|
|
66
|
-
newEl.className = 'insert-character-dialog';
|
|
67
|
-
var configToUse;
|
|
68
|
-
|
|
69
|
-
switch (true) {
|
|
70
|
-
case opts.language === 'spanish':
|
|
71
|
-
configToUse = _utils2.spanishConfig;
|
|
72
|
-
break;
|
|
73
|
-
|
|
74
|
-
case opts.language === 'special':
|
|
75
|
-
configToUse = _utils2.specialConfig;
|
|
76
|
-
break;
|
|
77
|
-
|
|
78
|
-
default:
|
|
79
|
-
configToUse = opts;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (!configToUse.characters) {
|
|
83
|
-
(0, _utils.insertSnackBar)('No characters provided or language not recognized');
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
var layoutForCharacters = configToUse.characters.reduce(function (obj, arr) {
|
|
88
|
-
if (arr.length >= obj.columns) {
|
|
89
|
-
obj.columns = arr.length;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return obj;
|
|
93
|
-
}, {
|
|
94
|
-
rows: configToUse.characters.length,
|
|
95
|
-
columns: 0
|
|
96
|
-
});
|
|
97
|
-
var popoverEl;
|
|
98
|
-
|
|
99
|
-
var closePopOver = function closePopOver() {
|
|
100
|
-
if (popoverEl) {
|
|
101
|
-
popoverEl.remove();
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
removePopOvers();
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
var renderPopOver = function renderPopOver(event, el) {
|
|
108
|
-
if (!event) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
var infoStyle = {
|
|
113
|
-
fontSize: '20px',
|
|
114
|
-
lineHeight: '20px'
|
|
115
|
-
};
|
|
116
|
-
closePopOver();
|
|
117
|
-
popoverEl = document.createElement('div');
|
|
118
|
-
|
|
119
|
-
_reactDom["default"].render( /*#__PURE__*/_react["default"].createElement(_customPopper["default"], {
|
|
120
|
-
onClose: closePopOver,
|
|
121
|
-
anchorEl: event.currentTarget
|
|
122
|
-
}, /*#__PURE__*/_react["default"].createElement("div", null, el.label), /*#__PURE__*/_react["default"].createElement("div", {
|
|
123
|
-
style: infoStyle
|
|
124
|
-
}, el.description), /*#__PURE__*/_react["default"].createElement("div", {
|
|
125
|
-
style: infoStyle
|
|
126
|
-
}, el.unicode)), popoverEl);
|
|
127
|
-
|
|
128
|
-
document.body.appendChild(newEl);
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
var firstCallMade = false;
|
|
132
|
-
|
|
133
|
-
var listener = function listener(e) {
|
|
134
|
-
// this will be triggered right after setting it because
|
|
135
|
-
// this toolbar is added on the mousedown event
|
|
136
|
-
// so right after mouseup, the click will be triggered
|
|
137
|
-
if (firstCallMade) {
|
|
138
|
-
var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
|
|
139
|
-
var focusIsInEditor = editorDOM.contains(e.target);
|
|
140
|
-
|
|
141
|
-
if (!(focusIsInModals || focusIsInEditor)) {
|
|
142
|
-
handleClose();
|
|
143
|
-
}
|
|
144
|
-
} else {
|
|
145
|
-
firstCallMade = true;
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
var handleClose = function handleClose() {
|
|
150
|
-
callback(undefined, true);
|
|
151
|
-
newEl.remove();
|
|
152
|
-
closePopOver();
|
|
153
|
-
document.body.removeEventListener('click', listener);
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
var handleChange = function handleChange(val) {
|
|
157
|
-
if (typeof val === 'string') {
|
|
158
|
-
callback(val, true);
|
|
159
|
-
}
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
var el = /*#__PURE__*/_react["default"].createElement(_mathToolbar.PureToolbar, {
|
|
163
|
-
keyPadCharacterRef: opts.keyPadCharacterRef,
|
|
164
|
-
setKeypadInteraction: opts.setKeypadInteraction,
|
|
165
|
-
autoFocus: true,
|
|
166
|
-
noDecimal: true,
|
|
167
|
-
hideInput: true,
|
|
168
|
-
noLatexHandling: true,
|
|
169
|
-
hideDoneButtonBackground: true,
|
|
170
|
-
layoutForKeyPad: layoutForCharacters,
|
|
171
|
-
additionalKeys: configToUse.characters.reduce(function (arr, n) {
|
|
172
|
-
arr = [].concat((0, _toConsumableArray2["default"])(arr), (0, _toConsumableArray2["default"])(n.map(function (k) {
|
|
173
|
-
return _objectSpread({
|
|
174
|
-
name: (0, _get["default"])(k, 'name') || k,
|
|
175
|
-
write: (0, _get["default"])(k, 'write') || k,
|
|
176
|
-
label: (0, _get["default"])(k, 'label') || k,
|
|
177
|
-
category: 'character',
|
|
178
|
-
extraClass: 'character',
|
|
179
|
-
extraProps: _objectSpread(_objectSpread({}, k.extraProps || {}), {}, {
|
|
180
|
-
style: _objectSpread(_objectSpread({}, (k.extraProps || {}).style), {}, {
|
|
181
|
-
border: '1px solid #000'
|
|
182
|
-
})
|
|
183
|
-
})
|
|
184
|
-
}, configToUse.hasPreview ? {
|
|
185
|
-
actions: {
|
|
186
|
-
onMouseEnter: function onMouseEnter(ev) {
|
|
187
|
-
return renderPopOver(ev, k);
|
|
188
|
-
},
|
|
189
|
-
onMouseLeave: closePopOver
|
|
190
|
-
}
|
|
191
|
-
} : {});
|
|
192
|
-
})));
|
|
193
|
-
return arr;
|
|
194
|
-
}, []),
|
|
195
|
-
keypadMode: "language",
|
|
196
|
-
onChange: handleChange,
|
|
197
|
-
onDone: handleClose
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
_reactDom["default"].render(el, newEl, function () {
|
|
201
|
-
var cursorItem = document.querySelector("[data-key=\"".concat(value.anchorKey, "\"]"));
|
|
202
|
-
|
|
203
|
-
if (cursorItem) {
|
|
204
|
-
var bodyRect = document.body.getBoundingClientRect();
|
|
205
|
-
var boundRect = cursorItem.getBoundingClientRect();
|
|
206
|
-
document.body.appendChild(newEl); // when height of toolbar exceeds screen - can happen in scrollable contexts
|
|
207
|
-
|
|
208
|
-
var additionalTopOffset = 0;
|
|
209
|
-
|
|
210
|
-
if (boundRect.y < newEl.offsetHeight) {
|
|
211
|
-
additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
newEl.style.maxWidth = '500px';
|
|
215
|
-
newEl.style.position = 'absolute';
|
|
216
|
-
newEl.style.top = "".concat(boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset, "px");
|
|
217
|
-
newEl.style.zIndex = 99999;
|
|
218
|
-
var leftValue = "".concat(boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10, "px");
|
|
219
|
-
var rightValue = "".concat(boundRect.x, "px");
|
|
220
|
-
newEl.style.left = leftValue;
|
|
221
|
-
var leftAlignedWidth = newEl.offsetWidth;
|
|
222
|
-
newEl.style.left = 'unset';
|
|
223
|
-
newEl.style.right = rightValue;
|
|
224
|
-
var rightAlignedWidth = newEl.offsetWidth;
|
|
225
|
-
newEl.style.left = 'unset';
|
|
226
|
-
newEl.style.right = 'unset';
|
|
227
|
-
|
|
228
|
-
if (leftAlignedWidth >= rightAlignedWidth) {
|
|
229
|
-
newEl.style.left = leftValue;
|
|
230
|
-
} else {
|
|
231
|
-
newEl.style.right = rightValue;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
document.body.addEventListener('click', listener);
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
var CharacterIcon = function CharacterIcon(_ref2) {
|
|
240
|
-
var letter = _ref2.letter;
|
|
241
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
242
|
-
style: {
|
|
243
|
-
fontSize: '24px',
|
|
244
|
-
lineHeight: '24px'
|
|
245
|
-
}
|
|
246
|
-
}, letter);
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
CharacterIcon.propTypes = {
|
|
250
|
-
letter: _propTypes["default"].string
|
|
251
|
-
};
|
|
252
|
-
|
|
253
|
-
function CharactersPlugin(opts) {
|
|
254
|
-
removeDialogs();
|
|
255
|
-
return {
|
|
256
|
-
name: 'characters',
|
|
257
|
-
toolbar: {
|
|
258
|
-
icon: /*#__PURE__*/_react["default"].createElement(CharacterIcon, {
|
|
259
|
-
letter: opts.characterIcon || _utils2.characterIcons[opts.language] || 'ñ'
|
|
260
|
-
}),
|
|
261
|
-
ariaLabel: "".concat(opts.language, " characters Toolbar"),
|
|
262
|
-
onClick: function onClick(value, onChange, getFocusedValue) {
|
|
263
|
-
var editorDOM = document.querySelector("[data-key=\"".concat(value.document.key, "\"]"));
|
|
264
|
-
var valueToUse = value;
|
|
265
|
-
|
|
266
|
-
var callback = function callback(_char, focus) {
|
|
267
|
-
if (getFocusedValue) {
|
|
268
|
-
valueToUse = getFocusedValue() || valueToUse;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
if (_char) {
|
|
272
|
-
var change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, _char);
|
|
273
|
-
valueToUse = change.value;
|
|
274
|
-
log('[characters:insert]: ', value);
|
|
275
|
-
onChange(change);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
log('[characters:click]');
|
|
279
|
-
|
|
280
|
-
if (focus) {
|
|
281
|
-
if (editorDOM) {
|
|
282
|
-
editorDOM.focus();
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
insertDialog({
|
|
288
|
-
editorDOM: editorDOM,
|
|
289
|
-
value: valueToUse,
|
|
290
|
-
callback: callback,
|
|
291
|
-
opts: opts
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
pluginStyles: function pluginStyles(node, parentNode, p) {
|
|
296
|
-
if (p) {
|
|
297
|
-
return {
|
|
298
|
-
position: 'absolute',
|
|
299
|
-
top: 'initial'
|
|
300
|
-
};
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/characters/index.jsx"],"names":["log","removePopOvers","prevPopOvers","document","querySelectorAll","forEach","s","remove","removeDialogs","prevDialogs","insertDialog","editorDOM","value","callback","opts","newEl","createElement","className","configToUse","language","spanishConfig","specialConfig","characters","layoutForCharacters","reduce","obj","arr","length","columns","rows","popoverEl","closePopOver","renderPopOver","event","el","infoStyle","fontSize","lineHeight","ReactDOM","render","currentTarget","label","description","unicode","body","appendChild","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","removeEventListener","handleChange","val","keyPadCharacterRef","setKeypadInteraction","n","map","k","name","write","category","extraClass","extraProps","style","border","hasPreview","actions","onMouseEnter","ev","onMouseLeave","cursorItem","querySelector","anchorKey","bodyRect","getBoundingClientRect","boundRect","additionalTopOffset","y","offsetHeight","maxWidth","position","top","Math","abs","zIndex","leftValue","left","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CharacterIcon","letter","propTypes","PropTypes","string","CharactersPlugin","toolbar","icon","characterIcon","characterIcons","ariaLabel","onClick","onChange","getFocusedValue","key","valueToUse","char","focus","change","insertTextByKey","anchorOffset","pluginStyles","node","parentNode","p"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport get from 'lodash/get';\n\nimport { PureToolbar } from '@pie-lib/math-toolbar';\n\nimport CustomPopper from './custom-popper';\nimport { insertSnackBar } from '../respArea/utils';\nimport { characterIcons, spanishConfig, specialConfig } from './utils';\nimport PropTypes from 'prop-types';\n\nconst log = debug('@pie-lib:editable-html:plugins:characters');\n\nconst removePopOvers = () => {\n const prevPopOvers = document.querySelectorAll('#mouse-over-popover');\n\n log('[characters:removePopOvers]');\n prevPopOvers.forEach((s) => s.remove());\n};\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-character-dialog');\n\n log('[characters:removeDialogs]');\n prevDialogs.forEach((s) => s.remove());\n removePopOvers();\n};\n\nconst insertDialog = ({ editorDOM, value, callback, opts }) => {\n const newEl = document.createElement('div');\n\n log('[characters:insertDialog]');\n\n removeDialogs();\n\n newEl.className = 'insert-character-dialog';\n\n let configToUse;\n\n switch (true) {\n case opts.language === 'spanish':\n configToUse = spanishConfig;\n break;\n case opts.language === 'special':\n configToUse = specialConfig;\n break;\n default:\n configToUse = opts;\n }\n\n if (!configToUse.characters) {\n insertSnackBar('No characters provided or language not recognized');\n return;\n }\n\n const layoutForCharacters = configToUse.characters.reduce(\n (obj, arr) => {\n if (arr.length >= obj.columns) {\n obj.columns = arr.length;\n }\n\n return obj;\n },\n { rows: configToUse.characters.length, columns: 0 },\n );\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n\n removePopOvers();\n };\n\n const renderPopOver = (event, el) => {\n if (!event) {\n return;\n }\n\n const infoStyle = { fontSize: '20px', lineHeight: '20px' };\n\n closePopOver();\n\n popoverEl = document.createElement('div');\n ReactDOM.render(\n <CustomPopper onClose={closePopOver} anchorEl={event.currentTarget}>\n <div>{el.label}</div>\n\n <div style={infoStyle}>{el.description}</div>\n\n <div style={infoStyle}>{el.unicode}</div>\n </CustomPopper>,\n popoverEl,\n );\n\n document.body.appendChild(newEl);\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (val) => {\n if (typeof val === 'string') {\n callback(val, true);\n }\n };\n\n const el = (\n <PureToolbar\n keyPadCharacterRef={opts.keyPadCharacterRef}\n setKeypadInteraction={opts.setKeypadInteraction}\n autoFocus\n noDecimal\n hideInput\n noLatexHandling\n hideDoneButtonBackground\n layoutForKeyPad={layoutForCharacters}\n additionalKeys={configToUse.characters.reduce((arr, n) => {\n arr = [\n ...arr,\n ...n.map((k) => ({\n name: get(k, 'name') || k,\n write: get(k, 'write') || k,\n label: get(k, 'label') || k,\n category: 'character',\n extraClass: 'character',\n extraProps: {\n ...(k.extraProps || {}),\n style: {\n ...(k.extraProps || {}).style,\n border: '1px solid #000',\n },\n },\n ...(configToUse.hasPreview\n ? {\n actions: { onMouseEnter: (ev) => renderPopOver(ev, k), onMouseLeave: closePopOver },\n }\n : {}),\n })),\n ];\n\n return arr;\n }, [])}\n keypadMode=\"language\"\n onChange={handleChange}\n onDone={handleClose}\n />\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = document.querySelector(`[data-key=\"${value.anchorKey}\"]`);\n\n if (cursorItem) {\n const bodyRect = document.body.getBoundingClientRect();\n const boundRect = cursorItem.getBoundingClientRect();\n\n document.body.appendChild(newEl);\n\n // when height of toolbar exceeds screen - can happen in scrollable contexts\n let additionalTopOffset = 0;\n if (boundRect.y < newEl.offsetHeight) {\n additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;\n }\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = `${boundRect.top + Math.abs(bodyRect.top) - newEl.offsetHeight - 10 + additionalTopOffset}px`;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nconst CharacterIcon = ({ letter }) => (\n <div\n style={{\n fontSize: '24px',\n lineHeight: '24px',\n }}\n >\n {letter}\n </div>\n);\n\nCharacterIcon.propTypes = {\n letter: PropTypes.string,\n};\n\nexport default function CharactersPlugin(opts) {\n removeDialogs();\n\n return {\n name: 'characters',\n toolbar: {\n icon: <CharacterIcon letter={opts.characterIcon || characterIcons[opts.language] || 'ñ'} />,\n ariaLabel: `${opts.language} characters Toolbar`,\n onClick: (value, onChange, getFocusedValue) => {\n const editorDOM = document.querySelector(`[data-key=\"${value.document.key}\"]`);\n let valueToUse = value;\n\n const callback = (char, focus) => {\n if (getFocusedValue) {\n valueToUse = getFocusedValue() || valueToUse;\n }\n\n if (char) {\n const change = valueToUse.change().insertTextByKey(valueToUse.anchorKey, valueToUse.anchorOffset, char);\n\n valueToUse = change.value;\n log('[characters:insert]: ', value);\n onChange(change);\n }\n\n log('[characters:click]');\n\n if (focus) {\n if (editorDOM) {\n editorDOM.focus();\n }\n }\n };\n\n insertDialog({ editorDOM, value: valueToUse, callback, opts });\n },\n },\n\n pluginStyles: (node, parentNode, p) => {\n if (p) {\n return {\n position: 'absolute',\n top: 'initial',\n };\n }\n },\n };\n}\n"],"file":"index.js"}
|