@pie-lib/editable-html 11.3.0-beta.0 → 11.3.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.json +12 -3322
- package/CHANGELOG.md +120 -96
- package/package.json +7 -6
- package/src/editor.jsx +3 -3
- 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/default-toolbar.jsx +6 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +1 -1
- package/src/plugins/toolbar/toolbar.jsx +4 -4
- package/lib/__tests__/editor.test.js +0 -470
- package/lib/__tests__/serialization.test.js +0 -246
- package/lib/__tests__/utils.js +0 -106
- package/lib/block-tags.js +0 -25
- package/lib/constants.js +0 -16
- package/lib/editor.js +0 -1355
- package/lib/index.js +0 -269
- package/lib/parse-html.js +0 -16
- package/lib/plugins/characters/custom-popper.js +0 -73
- package/lib/plugins/characters/index.js +0 -305
- package/lib/plugins/characters/utils.js +0 -381
- package/lib/plugins/css/icons/index.js +0 -37
- package/lib/plugins/css/index.js +0 -397
- package/lib/plugins/customPlugin/index.js +0 -114
- package/lib/plugins/html/icons/index.js +0 -38
- package/lib/plugins/html/index.js +0 -80
- package/lib/plugins/image/__tests__/component.test.js +0 -51
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -56
- package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -26
- package/lib/plugins/image/__tests__/index.test.js +0 -98
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -125
- package/lib/plugins/image/__tests__/mock-change.js +0 -25
- package/lib/plugins/image/alt-dialog.js +0 -129
- package/lib/plugins/image/component.js +0 -419
- package/lib/plugins/image/image-toolbar.js +0 -177
- package/lib/plugins/image/index.js +0 -263
- package/lib/plugins/image/insert-image-handler.js +0 -161
- package/lib/plugins/index.js +0 -402
- package/lib/plugins/list/__tests__/index.test.js +0 -79
- package/lib/plugins/list/index.js +0 -334
- package/lib/plugins/math/__tests__/index.test.js +0 -300
- package/lib/plugins/math/index.js +0 -454
- package/lib/plugins/media/__tests__/index.test.js +0 -71
- package/lib/plugins/media/index.js +0 -387
- package/lib/plugins/media/media-dialog.js +0 -709
- package/lib/plugins/media/media-toolbar.js +0 -101
- package/lib/plugins/media/media-wrapper.js +0 -93
- package/lib/plugins/rendering/index.js +0 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -254
- package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -97
- package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -57
- package/lib/plugins/respArea/icons/index.js +0 -95
- package/lib/plugins/respArea/index.js +0 -341
- package/lib/plugins/respArea/inline-dropdown/index.js +0 -75
- package/lib/plugins/respArea/math-templated/index.js +0 -130
- package/lib/plugins/respArea/utils.js +0 -125
- package/lib/plugins/table/CustomTablePlugin.js +0 -133
- package/lib/plugins/table/__tests__/index.test.js +0 -442
- package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -54
- package/lib/plugins/table/icons/index.js +0 -69
- package/lib/plugins/table/index.js +0 -483
- package/lib/plugins/table/table-toolbar.js +0 -187
- package/lib/plugins/textAlign/icons/index.js +0 -226
- package/lib/plugins/textAlign/index.js +0 -34
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -128
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -51
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -54
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -120
- package/lib/plugins/toolbar/default-toolbar.js +0 -229
- package/lib/plugins/toolbar/done-button.js +0 -53
- package/lib/plugins/toolbar/editor-and-toolbar.js +0 -286
- package/lib/plugins/toolbar/index.js +0 -34
- package/lib/plugins/toolbar/toolbar-buttons.js +0 -194
- package/lib/plugins/toolbar/toolbar.js +0 -376
- package/lib/plugins/utils.js +0 -62
- package/lib/serialization.js +0 -677
- package/lib/theme.js +0 -9
package/lib/plugins/css/index.js
DELETED
|
@@ -1,397 +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"] = CSSPlugin;
|
|
9
|
-
exports.removeDialogs = void 0;
|
|
10
|
-
|
|
11
|
-
var _react = _interopRequireDefault(require("react"));
|
|
12
|
-
|
|
13
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
14
|
-
|
|
15
|
-
var _List = _interopRequireDefault(require("@material-ui/core/List"));
|
|
16
|
-
|
|
17
|
-
var _slate = require("slate");
|
|
18
|
-
|
|
19
|
-
var _immutable = _interopRequireDefault(require("immutable"));
|
|
20
|
-
|
|
21
|
-
var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
|
|
22
|
-
|
|
23
|
-
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
24
|
-
|
|
25
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
26
|
-
|
|
27
|
-
var _icons = _interopRequireDefault(require("./icons"));
|
|
28
|
-
|
|
29
|
-
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:characters');
|
|
30
|
-
|
|
31
|
-
var removeDialogs = function removeDialogs() {
|
|
32
|
-
var prevDialogs = document.querySelectorAll('.insert-css-dialog');
|
|
33
|
-
log('[characters:removeDialogs]');
|
|
34
|
-
prevDialogs.forEach(function (s) {
|
|
35
|
-
return s.remove();
|
|
36
|
-
});
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
exports.removeDialogs = removeDialogs;
|
|
40
|
-
|
|
41
|
-
var insertDialog = function insertDialog(_ref) {
|
|
42
|
-
var _parentNode$data, _parentNode$data$get;
|
|
43
|
-
|
|
44
|
-
var editorDOM = _ref.editorDOM,
|
|
45
|
-
value = _ref.value,
|
|
46
|
-
callback = _ref.callback,
|
|
47
|
-
opts = _ref.opts,
|
|
48
|
-
textNode = _ref.textNode,
|
|
49
|
-
parentNode = _ref.parentNode;
|
|
50
|
-
var newEl = document.createElement('div');
|
|
51
|
-
log('[characters:insertDialog]');
|
|
52
|
-
removeDialogs();
|
|
53
|
-
newEl.className = 'insert-css-dialog';
|
|
54
|
-
var popoverEl;
|
|
55
|
-
|
|
56
|
-
var closePopOver = function closePopOver() {
|
|
57
|
-
if (popoverEl) {
|
|
58
|
-
popoverEl.remove();
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
var firstCallMade = false;
|
|
63
|
-
|
|
64
|
-
var listener = function listener(e) {
|
|
65
|
-
// this will be triggered right after setting it because
|
|
66
|
-
// this toolbar is added on the mousedown event
|
|
67
|
-
// so right after mouseup, the click will be triggered
|
|
68
|
-
if (firstCallMade) {
|
|
69
|
-
var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
|
|
70
|
-
var focusIsInEditor = editorDOM.contains(e.target);
|
|
71
|
-
|
|
72
|
-
if (!(focusIsInModals || focusIsInEditor)) {
|
|
73
|
-
handleClose();
|
|
74
|
-
}
|
|
75
|
-
} else {
|
|
76
|
-
firstCallMade = true;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
var handleClose = function handleClose() {
|
|
81
|
-
callback(undefined, true);
|
|
82
|
-
newEl.remove();
|
|
83
|
-
closePopOver();
|
|
84
|
-
document.body.removeEventListener('click', listener);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
var handleChange = function handleChange(name) {
|
|
88
|
-
callback(name, true);
|
|
89
|
-
newEl.remove();
|
|
90
|
-
closePopOver();
|
|
91
|
-
document.body.removeEventListener('click', listener);
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
var selectedText = textNode.text.slice(value.selection.anchorOffset, value.selection.focusOffset);
|
|
95
|
-
var parentNodeClass = parentNode === null || parentNode === void 0 ? void 0 : (_parentNode$data = parentNode.data) === null || _parentNode$data === void 0 ? void 0 : (_parentNode$data$get = _parentNode$data.get('attributes')) === null || _parentNode$data$get === void 0 ? void 0 : _parentNode$data$get["class"];
|
|
96
|
-
|
|
97
|
-
var createHTML = function createHTML(name) {
|
|
98
|
-
var html = "<span class=\"".concat(name, "\">").concat(selectedText, "</span>");
|
|
99
|
-
|
|
100
|
-
if (parentNode) {
|
|
101
|
-
var tag;
|
|
102
|
-
|
|
103
|
-
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'inline') {
|
|
104
|
-
tag = 'span';
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'block') {
|
|
108
|
-
tag = 'div';
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
html = "<".concat(tag, " class=\"").concat(parentNodeClass, "\">").concat(parentNode.text.slice(0, value.selection.anchorOffset)).concat(html).concat(parentNode.text.slice(value.selection.focusOffset), "</").concat(tag, ">");
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return html;
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
var el = /*#__PURE__*/_react["default"].createElement("div", {
|
|
118
|
-
style: {
|
|
119
|
-
background: 'white',
|
|
120
|
-
height: 500,
|
|
121
|
-
padding: 20,
|
|
122
|
-
overflow: 'hidden',
|
|
123
|
-
display: 'flex',
|
|
124
|
-
flexFlow: 'column'
|
|
125
|
-
}
|
|
126
|
-
}, /*#__PURE__*/_react["default"].createElement("h2", null, "Please choose a css class"), parentNodeClass && /*#__PURE__*/_react["default"].createElement("div", null, "The current parent has this class ", parentNodeClass), /*#__PURE__*/_react["default"].createElement(_List["default"], {
|
|
127
|
-
component: "nav",
|
|
128
|
-
style: {
|
|
129
|
-
overflow: 'scroll'
|
|
130
|
-
}
|
|
131
|
-
}, opts.names.map(function (name, i) {
|
|
132
|
-
return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
|
|
133
|
-
key: "rule-".concat(i),
|
|
134
|
-
button: true,
|
|
135
|
-
onClick: function onClick() {
|
|
136
|
-
return handleChange(name);
|
|
137
|
-
}
|
|
138
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
139
|
-
style: {
|
|
140
|
-
marginRight: 20
|
|
141
|
-
}
|
|
142
|
-
}, name), /*#__PURE__*/_react["default"].createElement("div", {
|
|
143
|
-
dangerouslySetInnerHTML: {
|
|
144
|
-
__html: createHTML(name)
|
|
145
|
-
}
|
|
146
|
-
}));
|
|
147
|
-
})));
|
|
148
|
-
|
|
149
|
-
_reactDom["default"].render(el, newEl, function () {
|
|
150
|
-
var cursorItem = document.querySelector("[data-key=\"".concat(value.anchorKey, "\"]"));
|
|
151
|
-
|
|
152
|
-
if (cursorItem) {
|
|
153
|
-
var bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();
|
|
154
|
-
var boundRect = cursorItem.getBoundingClientRect();
|
|
155
|
-
editorDOM.parentElement.parentElement.parentElement.appendChild(newEl); // when height of toolbar exceeds screen - can happen in scrollable contexts
|
|
156
|
-
|
|
157
|
-
var additionalTopOffset = 0;
|
|
158
|
-
|
|
159
|
-
if (boundRect.y < newEl.offsetHeight) {
|
|
160
|
-
additionalTopOffset = newEl.offsetHeight - boundRect.y + 10;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
newEl.style.maxWidth = '500px';
|
|
164
|
-
newEl.style.position = 'absolute';
|
|
165
|
-
newEl.style.top = 0;
|
|
166
|
-
newEl.style.zIndex = 99999;
|
|
167
|
-
var leftValue = "".concat(boundRect.left + Math.abs(bodyRect.left) + cursorItem.offsetWidth + 10, "px");
|
|
168
|
-
var rightValue = "".concat(boundRect.x, "px");
|
|
169
|
-
newEl.style.left = leftValue;
|
|
170
|
-
var leftAlignedWidth = newEl.offsetWidth;
|
|
171
|
-
newEl.style.left = 'unset';
|
|
172
|
-
newEl.style.right = rightValue;
|
|
173
|
-
var rightAlignedWidth = newEl.offsetWidth;
|
|
174
|
-
newEl.style.left = 'unset';
|
|
175
|
-
newEl.style.right = 'unset';
|
|
176
|
-
|
|
177
|
-
if (leftAlignedWidth >= rightAlignedWidth) {
|
|
178
|
-
newEl.style.left = leftValue;
|
|
179
|
-
} else {
|
|
180
|
-
newEl.style.right = rightValue;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
document.body.addEventListener('click', listener);
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
var findParentNodeInfo = function findParentNodeInfo(value, textNode) {
|
|
189
|
-
var _closestInline$nodes, _closestBlock$nodes;
|
|
190
|
-
|
|
191
|
-
var closestInline = value.document.getClosestInline(value.selection.endKey);
|
|
192
|
-
var closestBlock = value.document.getClosestBlock(value.selection.endKey);
|
|
193
|
-
var nodeToUse = null;
|
|
194
|
-
|
|
195
|
-
if (closestInline !== null && closestInline !== void 0 && (_closestInline$nodes = closestInline.nodes) !== null && _closestInline$nodes !== void 0 && _closestInline$nodes.find(function (n) {
|
|
196
|
-
return n.key === textNode.key;
|
|
197
|
-
})) {
|
|
198
|
-
nodeToUse = closestInline;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
if (closestBlock !== null && closestBlock !== void 0 && (_closestBlock$nodes = closestBlock.nodes) !== null && _closestBlock$nodes !== void 0 && _closestBlock$nodes.find(function (n) {
|
|
202
|
-
return n.key === textNode.key;
|
|
203
|
-
})) {
|
|
204
|
-
nodeToUse = closestBlock;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return nodeToUse;
|
|
208
|
-
};
|
|
209
|
-
/**
|
|
210
|
-
* Find the node that has a class attribute and return it.
|
|
211
|
-
* Keeping this in case the implementation of classes needs to be changed
|
|
212
|
-
* @param value
|
|
213
|
-
* @param opts
|
|
214
|
-
* @returns {*}
|
|
215
|
-
*/
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
var getNodeWithClass = function getNodeWithClass(value, opts) {
|
|
219
|
-
var _blocksAtRange$, _inlinesAtRange$, _blockData$attributes, _inlineData$attribute;
|
|
220
|
-
|
|
221
|
-
var blocksAtRange = value.document.getBlocksAtRangeAsArray(value.selection);
|
|
222
|
-
var inlinesAtRange = value.document.getInlinesAtRangeAsArray(value.selection);
|
|
223
|
-
var blockData = ((_blocksAtRange$ = blocksAtRange[0]) === null || _blocksAtRange$ === void 0 ? void 0 : _blocksAtRange$.data.toJSON()) || {};
|
|
224
|
-
var inlineData = ((_inlinesAtRange$ = inlinesAtRange[0]) === null || _inlinesAtRange$ === void 0 ? void 0 : _inlinesAtRange$.data.toJSON()) || {};
|
|
225
|
-
|
|
226
|
-
if (!((_blockData$attributes = blockData.attributes) !== null && _blockData$attributes !== void 0 && _blockData$attributes["class"]) && !((_inlineData$attribute = inlineData.attributes) !== null && _inlineData$attribute !== void 0 && _inlineData$attribute["class"])) {
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
var _ref2 = blockData.attributes || {},
|
|
231
|
-
blockClass = _ref2["class"];
|
|
232
|
-
|
|
233
|
-
var _ref3 = inlineData.attributes || {},
|
|
234
|
-
inlineClass = _ref3["class"];
|
|
235
|
-
|
|
236
|
-
var inlineHasClass = opts.names.find(function (name) {
|
|
237
|
-
return inlineClass.includes(name);
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
if (inlineHasClass) {
|
|
241
|
-
return inlinesAtRange[0];
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
var blockHasClass = opts.names.find(function (name) {
|
|
245
|
-
return blockClass.includes(name);
|
|
246
|
-
});
|
|
247
|
-
|
|
248
|
-
if (blockHasClass) {
|
|
249
|
-
return blocksAtRange[0];
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
return null;
|
|
253
|
-
};
|
|
254
|
-
/**
|
|
255
|
-
* Plugin in order to be able to add a css clas that is provided through the model
|
|
256
|
-
* on a text element. Works like a mark (bold, italic etc.).
|
|
257
|
-
* @param opts
|
|
258
|
-
* @constructor
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
function CSSPlugin(opts) {
|
|
263
|
-
var plugin = {
|
|
264
|
-
name: 'extraCSSRules',
|
|
265
|
-
toolbar: {
|
|
266
|
-
isMark: true,
|
|
267
|
-
icon: /*#__PURE__*/_react["default"].createElement(_icons["default"], null),
|
|
268
|
-
ariaLabel: 'CSS editor',
|
|
269
|
-
type: 'css',
|
|
270
|
-
onToggle: function onToggle(change) {
|
|
271
|
-
var type = 'css';
|
|
272
|
-
var hasMark = change.value.activeMarks.find(function (entry) {
|
|
273
|
-
return entry.type === type;
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
if (hasMark) {
|
|
277
|
-
change.removeMark(hasMark);
|
|
278
|
-
} else {
|
|
279
|
-
var newMark = _slate.Mark.create(type);
|
|
280
|
-
|
|
281
|
-
change.addMark(newMark);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
return change;
|
|
285
|
-
},
|
|
286
|
-
onClick: function onClick(value, onChange, getFocusedValue) {
|
|
287
|
-
var type = 'css';
|
|
288
|
-
var hasMark = value.activeMarks.find(function (entry) {
|
|
289
|
-
return entry.type === type;
|
|
290
|
-
});
|
|
291
|
-
var change = value.change();
|
|
292
|
-
|
|
293
|
-
if (hasMark) {
|
|
294
|
-
change.removeMark(hasMark);
|
|
295
|
-
onChange(change);
|
|
296
|
-
return;
|
|
297
|
-
} // keeping this if implementation needs to be changed to regular blocks instead of marks
|
|
298
|
-
// let nodeWithClass = getNodeWithClass(value, opts);
|
|
299
|
-
//
|
|
300
|
-
// if (nodeWithClass) {
|
|
301
|
-
// const nodeAttributes = nodeWithClass.data.get('attributes');
|
|
302
|
-
//
|
|
303
|
-
// opts.names.forEach((name) => {
|
|
304
|
-
// if (nodeAttributes.class.includes(name)) {
|
|
305
|
-
// nodeAttributes.class = nodeAttributes.class.replace(name, '');
|
|
306
|
-
// }
|
|
307
|
-
// });
|
|
308
|
-
//
|
|
309
|
-
// // keeping only one space between classes
|
|
310
|
-
// nodeAttributes.class = nodeAttributes.class.replace(/ +/g, ' ');
|
|
311
|
-
//
|
|
312
|
-
// nodeWithClass.data.set('attributes', nodeAttributes);
|
|
313
|
-
//
|
|
314
|
-
// let change = value.change();
|
|
315
|
-
// change.replaceNodeByKey(nodeWithClass.key, nodeWithClass);
|
|
316
|
-
//
|
|
317
|
-
// onChange(change);
|
|
318
|
-
// return;
|
|
319
|
-
// }
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
var editorDOM = document.querySelector("[data-key=\"".concat(value.document.key, "\"]"));
|
|
323
|
-
var valueToUse = value;
|
|
324
|
-
|
|
325
|
-
var callback = function callback(className, focus) {
|
|
326
|
-
if (getFocusedValue) {
|
|
327
|
-
valueToUse = getFocusedValue() || valueToUse;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
if (className) {
|
|
331
|
-
var _change = valueToUse.change();
|
|
332
|
-
|
|
333
|
-
var newMark = _slate.Mark.create({
|
|
334
|
-
object: 'mark',
|
|
335
|
-
type: 'css',
|
|
336
|
-
data: {
|
|
337
|
-
attributes: {
|
|
338
|
-
"class": className
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
|
|
343
|
-
_change.addMark(newMark); // keeping this if implementation needs to be changed to regular blocks instead of marks
|
|
344
|
-
// change = change.wrapInline({ type: 'span', data: { attributes: { class: className } } });
|
|
345
|
-
//
|
|
346
|
-
// // change = change.splitBlockAtRange(adaptedRange);
|
|
347
|
-
// //
|
|
348
|
-
// // const newBlock = change.value.document.getFurthestBlock(change.value.selection.endKey);
|
|
349
|
-
// //
|
|
350
|
-
// // change = change.setNodeByKey(newBlock.key, { data: { attributes: { class: className } } });
|
|
351
|
-
//
|
|
352
|
-
// valueToUse = change.value;
|
|
353
|
-
// log('[characters:insert]: ', value);
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
onChange(_change);
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
log('[characters:click]');
|
|
360
|
-
|
|
361
|
-
if (focus) {
|
|
362
|
-
setTimeout(function () {
|
|
363
|
-
if (editorDOM) {
|
|
364
|
-
editorDOM.focus();
|
|
365
|
-
}
|
|
366
|
-
}, 0);
|
|
367
|
-
}
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
var textNode = value.document.getTextsAtRangeAsArray(value.selection)[0];
|
|
371
|
-
|
|
372
|
-
if (textNode) {
|
|
373
|
-
var parentNode = findParentNodeInfo(value, textNode, opts);
|
|
374
|
-
insertDialog({
|
|
375
|
-
editorDOM: editorDOM,
|
|
376
|
-
value: valueToUse,
|
|
377
|
-
callback: callback,
|
|
378
|
-
opts: opts,
|
|
379
|
-
textNode: textNode,
|
|
380
|
-
parentNode: parentNode
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
},
|
|
385
|
-
renderMark: function renderMark(props) {
|
|
386
|
-
if (props.mark.type === 'css') {
|
|
387
|
-
var _ref4 = props.mark || {},
|
|
388
|
-
data = _ref4.data;
|
|
389
|
-
|
|
390
|
-
var jsonData = (data === null || data === void 0 ? void 0 : data.toJSON()) || {};
|
|
391
|
-
return /*#__PURE__*/_react["default"].createElement("span", jsonData.attributes, props.children);
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
};
|
|
395
|
-
return plugin;
|
|
396
|
-
}
|
|
397
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2Nzcy9pbmRleC5qc3giXSwibmFtZXMiOlsibG9nIiwicmVtb3ZlRGlhbG9ncyIsInByZXZEaWFsb2dzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInMiLCJyZW1vdmUiLCJpbnNlcnREaWFsb2ciLCJlZGl0b3JET00iLCJ2YWx1ZSIsImNhbGxiYWNrIiwib3B0cyIsInRleHROb2RlIiwicGFyZW50Tm9kZSIsIm5ld0VsIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInBvcG92ZXJFbCIsImNsb3NlUG9wT3ZlciIsImZpcnN0Q2FsbE1hZGUiLCJsaXN0ZW5lciIsImUiLCJmb2N1c0lzSW5Nb2RhbHMiLCJjb250YWlucyIsInRhcmdldCIsImZvY3VzSXNJbkVkaXRvciIsImhhbmRsZUNsb3NlIiwidW5kZWZpbmVkIiwiYm9keSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFuZ2UiLCJuYW1lIiwic2VsZWN0ZWRUZXh0IiwidGV4dCIsInNsaWNlIiwic2VsZWN0aW9uIiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJwYXJlbnROb2RlQ2xhc3MiLCJkYXRhIiwiZ2V0IiwiY3JlYXRlSFRNTCIsImh0bWwiLCJ0YWciLCJvYmplY3QiLCJlbCIsImJhY2tncm91bmQiLCJoZWlnaHQiLCJwYWRkaW5nIiwib3ZlcmZsb3ciLCJkaXNwbGF5IiwiZmxleEZsb3ciLCJuYW1lcyIsIm1hcCIsImkiLCJtYXJnaW5SaWdodCIsIl9faHRtbCIsIlJlYWN0RE9NIiwicmVuZGVyIiwiY3Vyc29ySXRlbSIsInF1ZXJ5U2VsZWN0b3IiLCJhbmNob3JLZXkiLCJib2R5UmVjdCIsInBhcmVudEVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZFJlY3QiLCJhcHBlbmRDaGlsZCIsImFkZGl0aW9uYWxUb3BPZmZzZXQiLCJ5Iiwib2Zmc2V0SGVpZ2h0Iiwic3R5bGUiLCJtYXhXaWR0aCIsInBvc2l0aW9uIiwidG9wIiwiekluZGV4IiwibGVmdFZhbHVlIiwibGVmdCIsIk1hdGgiLCJhYnMiLCJvZmZzZXRXaWR0aCIsInJpZ2h0VmFsdWUiLCJ4IiwibGVmdEFsaWduZWRXaWR0aCIsInJpZ2h0IiwicmlnaHRBbGlnbmVkV2lkdGgiLCJhZGRFdmVudExpc3RlbmVyIiwiZmluZFBhcmVudE5vZGVJbmZvIiwiY2xvc2VzdElubGluZSIsImdldENsb3Nlc3RJbmxpbmUiLCJlbmRLZXkiLCJjbG9zZXN0QmxvY2siLCJnZXRDbG9zZXN0QmxvY2siLCJub2RlVG9Vc2UiLCJub2RlcyIsImZpbmQiLCJuIiwia2V5IiwiZ2V0Tm9kZVdpdGhDbGFzcyIsImJsb2Nrc0F0UmFuZ2UiLCJnZXRCbG9ja3NBdFJhbmdlQXNBcnJheSIsImlubGluZXNBdFJhbmdlIiwiZ2V0SW5saW5lc0F0UmFuZ2VBc0FycmF5IiwiYmxvY2tEYXRhIiwidG9KU09OIiwiaW5saW5lRGF0YSIsImF0dHJpYnV0ZXMiLCJibG9ja0NsYXNzIiwiaW5saW5lQ2xhc3MiLCJpbmxpbmVIYXNDbGFzcyIsImluY2x1ZGVzIiwiYmxvY2tIYXNDbGFzcyIsIkNTU1BsdWdpbiIsInBsdWdpbiIsInRvb2xiYXIiLCJpc01hcmsiLCJpY29uIiwiYXJpYUxhYmVsIiwidHlwZSIsIm9uVG9nZ2xlIiwiY2hhbmdlIiwiaGFzTWFyayIsImFjdGl2ZU1hcmtzIiwiZW50cnkiLCJyZW1vdmVNYXJrIiwibmV3TWFyayIsIk1hcmsiLCJjcmVhdGUiLCJhZGRNYXJrIiwib25DbGljayIsIm9uQ2hhbmdlIiwiZ2V0Rm9jdXNlZFZhbHVlIiwidmFsdWVUb1VzZSIsImZvY3VzIiwic2V0VGltZW91dCIsImdldFRleHRzQXRSYW5nZUFzQXJyYXkiLCJyZW5kZXJNYXJrIiwicHJvcHMiLCJtYXJrIiwianNvbkRhdGEiLCJjaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNB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QUEsUUFBUSxFQUFSQSxRQUFoQztBQUEwQ0MsWUFBQUEsSUFBSSxFQUFKQSxJQUExQztBQUFnREMsWUFBQUEsUUFBUSxFQUFSQSxRQUFoRDtBQUEwREMsWUFBQUEsVUFBVSxFQUFWQTtBQUExRCxXQUFELENBQVo7QUFDRDtBQUNGO0FBaEhNLEtBRkk7QUFvSGIwSCxJQUFBQSxVQXBIYSxzQkFvSEZDLEtBcEhFLEVBb0hLO0FBQ2hCLFVBQUlBLEtBQUssQ0FBQ0MsSUFBTixDQUFXcEIsSUFBWCxLQUFvQixLQUF4QixFQUErQjtBQUM3QixvQkFBaUJtQixLQUFLLENBQUNDLElBQU4sSUFBYyxFQUEvQjtBQUFBLFlBQVFsRyxJQUFSLFNBQVFBLElBQVI7O0FBQ0EsWUFBTW1HLFFBQVEsR0FBRyxDQUFBbkcsSUFBSSxTQUFKLElBQUFBLElBQUksV0FBSixZQUFBQSxJQUFJLENBQUVnRSxNQUFOLE9BQWtCLEVBQW5DO0FBRUEsNEJBQU8sd0NBQVVtQyxRQUFRLENBQUNqQyxVQUFuQixFQUFnQytCLEtBQUssQ0FBQ0csUUFBdEMsQ0FBUDtBQUNEO0FBQ0Y7QUEzSFksR0FBZjtBQThIQSxTQUFPM0IsTUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IExpc3QgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGlzdCc7XG5pbXBvcnQgeyBMZWFmLCBNYXJrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IEltbXV0YWJsZSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpc3RJdGVtJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgQ3NzSWNvbiBmcm9tICcuL2ljb25zJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczpjaGFyYWN0ZXJzJyk7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVEaWFsb2dzID0gKCkgPT4ge1xuICBjb25zdCBwcmV2RGlhbG9ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnNlcnQtY3NzLWRpYWxvZycpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6cmVtb3ZlRGlhbG9nc10nKTtcbiAgcHJldkRpYWxvZ3MuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG59O1xuXG5jb25zdCBpbnNlcnREaWFsb2cgPSAoeyBlZGl0b3JET00sIHZhbHVlLCBjYWxsYmFjaywgb3B0cywgdGV4dE5vZGUsIHBhcmVudE5vZGUgfSkgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0RGlhbG9nXScpO1xuXG4gIHJlbW92ZURpYWxvZ3MoKTtcblxuICBuZXdFbC5jbGFzc05hbWUgPSAnaW5zZXJ0LWNzcy1kaWFsb2cnO1xuXG4gIGxldCBwb3BvdmVyRWw7XG5cbiAgY29uc3QgY2xvc2VQb3BPdmVyID0gKCkgPT4ge1xuICAgIGlmIChwb3BvdmVyRWwpIHtcbiAgICAgIHBvcG92ZXJFbC5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG5cbiAgbGV0IGZpcnN0Q2FsbE1hZGUgPSBmYWxzZTtcblxuICBjb25zdCBsaXN0ZW5lciA9IChlKSA9PiB7XG4gICAgLy8gdGhpcyB3aWxsIGJlIHRyaWdnZXJlZCByaWdodCBhZnRlciBzZXR0aW5nIGl0IGJlY2F1c2VcbiAgICAvLyB0aGlzIHRvb2xiYXIgaXMgYWRkZWQgb24gdGhlIG1vdXNlZG93biBldmVudFxuICAgIC8vIHNvIHJpZ2h0IGFmdGVyIG1vdXNldXAsIHRoZSBjbGljayB3aWxsIGJlIHRyaWdnZXJlZFxuICAgIGlmIChmaXJzdENhbGxNYWRlKSB7XG4gICAgICBjb25zdCBmb2N1c0lzSW5Nb2RhbHMgPSBuZXdFbC5jb250YWlucyhlLnRhcmdldCkgfHwgKHBvcG92ZXJFbCAmJiBwb3BvdmVyRWwuY29udGFpbnMoZS50YXJnZXQpKTtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbkVkaXRvciA9IGVkaXRvckRPTS5jb250YWlucyhlLnRhcmdldCk7XG5cbiAgICAgIGlmICghKGZvY3VzSXNJbk1vZGFscyB8fCBmb2N1c0lzSW5FZGl0b3IpKSB7XG4gICAgICAgIGhhbmRsZUNsb3NlKCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpcnN0Q2FsbE1hZGUgPSB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBjYWxsYmFjayh1bmRlZmluZWQsIHRydWUpO1xuICAgIG5ld0VsLnJlbW92ZSgpO1xuICAgIGNsb3NlUG9wT3ZlcigpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gKG5hbWUpID0+IHtcbiAgICBjYWxsYmFjayhuYW1lLCB0cnVlKTtcbiAgICBuZXdFbC5yZW1vdmUoKTtcbiAgICBjbG9zZVBvcE92ZXIoKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgbGlzdGVuZXIpO1xuICB9O1xuXG4gIGNvbnN0IHNlbGVjdGVkVGV4dCA9IHRleHROb2RlLnRleHQuc2xpY2UodmFsdWUuc2VsZWN0aW9uLmFuY2hvck9mZnNldCwgdmFsdWUuc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KTtcbiAgY29uc3QgcGFyZW50Tm9kZUNsYXNzID0gcGFyZW50Tm9kZT8uZGF0YT8uZ2V0KCdhdHRyaWJ1dGVzJyk/LmNsYXNzO1xuICBjb25zdCBjcmVhdGVIVE1MID0gKG5hbWUpID0+IHtcbiAgICBsZXQgaHRtbCA9IGA8c3BhbiBjbGFzcz1cIiR7bmFtZX1cIj4ke3NlbGVjdGVkVGV4dH08L3NwYW4+YDtcblxuICAgIGlmIChwYXJlbnROb2RlKSB7XG4gICAgICBsZXQgdGFnO1xuXG4gICAgICBpZiAocGFyZW50Tm9kZT8ub2JqZWN0ID09PSAnaW5saW5lJykge1xuICAgICAgICB0YWcgPSAnc3Bhbic7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlPy5vYmplY3QgPT09ICdibG9jaycpIHtcbiAgICAgICAgdGFnID0gJ2Rpdic7XG4gICAgICB9XG5cbiAgICAgIGh0bWwgPSBgPCR7dGFnfSBjbGFzcz1cIiR7cGFyZW50Tm9kZUNsYXNzfVwiPiR7cGFyZW50Tm9kZS50ZXh0LnNsaWNlKFxuICAgICAgICAwLFxuICAgICAgICB2YWx1ZS5zZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LFxuICAgICAgKX0ke2h0bWx9JHtwYXJlbnROb2RlLnRleHQuc2xpY2UodmFsdWUuc2VsZWN0aW9uLmZvY3VzT2Zmc2V0KX08LyR7dGFnfT5gO1xuICAgIH1cblxuICAgIHJldHVybiBodG1sO1xuICB9O1xuXG4gIGNvbnN0IGVsID0gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7IGJhY2tncm91bmQ6ICd3aGl0ZScsIGhlaWdodDogNTAwLCBwYWRkaW5nOiAyMCwgb3ZlcmZsb3c6ICdoaWRkZW4nLCBkaXNwbGF5OiAnZmxleCcsIGZsZXhGbG93OiAnY29sdW1uJyB9fVxuICAgID5cbiAgICAgIDxoMj5QbGVhc2UgY2hvb3NlIGEgY3NzIGNsYXNzPC9oMj5cbiAgICAgIHtwYXJlbnROb2RlQ2xhc3MgJiYgPGRpdj5UaGUgY3VycmVudCBwYXJlbnQgaGFzIHRoaXMgY2xhc3Mge3BhcmVudE5vZGVDbGFzc308L2Rpdj59XG4gICAgICA8TGlzdCBjb21wb25lbnQ9XCJuYXZcIiBzdHlsZT17eyBvdmVyZmxvdzogJ3Njcm9sbCcgfX0+XG4gICAgICAgIHtvcHRzLm5hbWVzLm1hcCgobmFtZSwgaSkgPT4gKFxuICAgICAgICAgIDxMaXN0SXRlbSBrZXk9e2BydWxlLSR7aX1gfSBidXR0b24gb25DbGljaz17KCkgPT4gaGFuZGxlQ2hhbmdlKG5hbWUpfT5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgbWFyZ2luUmlnaHQ6IDIwIH19PntuYW1lfTwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgICAgIF9faHRtbDogY3JlYXRlSFRNTChuYW1lKSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9MaXN0SXRlbT5cbiAgICAgICAgKSl9XG4gICAgICA8L0xpc3Q+XG4gICAgPC9kaXY+XG4gICk7XG5cbiAgUmVhY3RET00ucmVuZGVyKGVsLCBuZXdFbCwgKCkgPT4ge1xuICAgIGNvbnN0IGN1cnNvckl0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmFuY2hvcktleX1cIl1gKTtcblxuICAgIGlmIChjdXJzb3JJdGVtKSB7XG4gICAgICBjb25zdCBib2R5UmVjdCA9IGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGJvdW5kUmVjdCA9IGN1cnNvckl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChuZXdFbCk7XG5cbiAgICAgIC8vIHdoZW4gaGVpZ2h0IG9mIHRvb2xiYXIgZXhjZWVkcyBzY3JlZW4gLSBjYW4gaGFwcGVuIGluIHNjcm9sbGFibGUgY29udGV4dHNcbiAgICAgIGxldCBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gMDtcbiAgICAgIGlmIChib3VuZFJlY3QueSA8IG5ld0VsLm9mZnNldEhlaWdodCkge1xuICAgICAgICBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gYm91bmRSZWN0LnkgKyAxMDtcbiAgICAgIH1cblxuICAgICAgbmV3RWwuc3R5bGUubWF4V2lkdGggPSAnNTAwcHgnO1xuICAgICAgbmV3RWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgbmV3RWwuc3R5bGUudG9wID0gMDtcbiAgICAgIG5ld0VsLnN0eWxlLnpJbmRleCA9IDk5OTk5O1xuXG4gICAgICBjb25zdCBsZWZ0VmFsdWUgPSBgJHtib3VuZFJlY3QubGVmdCArIE1hdGguYWJzKGJvZHlSZWN0LmxlZnQpICsgY3Vyc29ySXRlbS5vZmZzZXRXaWR0aCArIDEwfXB4YDtcblxuICAgICAgY29uc3QgcmlnaHRWYWx1ZSA9IGAke2JvdW5kUmVjdC54fXB4YDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcblxuICAgICAgY29uc3QgbGVmdEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcblxuICAgICAgY29uc3QgcmlnaHRBbGlnbmVkV2lkdGggPSBuZXdFbC5vZmZzZXRXaWR0aDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9ICd1bnNldCc7XG4gICAgICBuZXdFbC5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG5cbiAgICAgIGlmIChsZWZ0QWxpZ25lZFdpZHRoID49IHJpZ2h0QWxpZ25lZFdpZHRoKSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdFbC5zdHlsZS5yaWdodCA9IHJpZ2h0VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn07XG5cbmNvbnN0IGZpbmRQYXJlbnROb2RlSW5mbyA9ICh2YWx1ZSwgdGV4dE5vZGUpID0+IHtcbiAgY29uc3QgY2xvc2VzdElubGluZSA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RJbmxpbmUodmFsdWUuc2VsZWN0aW9uLmVuZEtleSk7XG4gIGNvbnN0IGNsb3Nlc3RCbG9jayA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayh2YWx1ZS5zZWxlY3Rpb24uZW5kS2V5KTtcbiAgbGV0IG5vZGVUb1VzZSA9IG51bGw7XG5cbiAgaWYgKGNsb3Nlc3RJbmxpbmU/Lm5vZGVzPy5maW5kKChuKSA9PiBuLmtleSA9PT0gdGV4dE5vZGUua2V5KSkge1xuICAgIG5vZGVUb1VzZSA9IGNsb3Nlc3RJbmxpbmU7XG4gIH1cblxuICBpZiAoY2xvc2VzdEJsb2NrPy5ub2Rlcz8uZmluZCgobikgPT4gbi5rZXkgPT09IHRleHROb2RlLmtleSkpIHtcbiAgICBub2RlVG9Vc2UgPSBjbG9zZXN0QmxvY2s7XG4gIH1cblxuICByZXR1cm4gbm9kZVRvVXNlO1xufTtcblxuLyoqXG4gKiBGaW5kIHRoZSBub2RlIHRoYXQgaGFzIGEgY2xhc3MgYXR0cmlidXRlIGFuZCByZXR1cm4gaXQuXG4gKiBLZWVwaW5nIHRoaXMgaW4gY2FzZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgY2xhc3NlcyBuZWVkcyB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBvcHRzXG4gKiBAcmV0dXJucyB7Kn1cbiAqL1xuY29uc3QgZ2V0Tm9kZVdpdGhDbGFzcyA9ICh2YWx1ZSwgb3B0cykgPT4ge1xuICBjb25zdCBibG9ja3NBdFJhbmdlID0gdmFsdWUuZG9jdW1lbnQuZ2V0QmxvY2tzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKTtcbiAgY29uc3QgaW5saW5lc0F0UmFuZ2UgPSB2YWx1ZS5kb2N1bWVudC5nZXRJbmxpbmVzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKTtcbiAgY29uc3QgYmxvY2tEYXRhID0gYmxvY2tzQXRSYW5nZVswXT8uZGF0YS50b0pTT04oKSB8fCB7fTtcbiAgY29uc3QgaW5saW5lRGF0YSA9IGlubGluZXNBdFJhbmdlWzBdPy5kYXRhLnRvSlNPTigpIHx8IHt9O1xuXG4gIGlmICghYmxvY2tEYXRhLmF0dHJpYnV0ZXM/LmNsYXNzICYmICFpbmxpbmVEYXRhLmF0dHJpYnV0ZXM/LmNsYXNzKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCB7IGNsYXNzOiBibG9ja0NsYXNzIH0gPSBibG9ja0RhdGEuYXR0cmlidXRlcyB8fCB7fTtcbiAgY29uc3QgeyBjbGFzczogaW5saW5lQ2xhc3MgfSA9IGlubGluZURhdGEuYXR0cmlidXRlcyB8fCB7fTtcbiAgY29uc3QgaW5saW5lSGFzQ2xhc3MgPSBvcHRzLm5hbWVzLmZpbmQoKG5hbWUpID0+IGlubGluZUNsYXNzLmluY2x1ZGVzKG5hbWUpKTtcblxuICBpZiAoaW5saW5lSGFzQ2xhc3MpIHtcbiAgICByZXR1cm4gaW5saW5lc0F0UmFuZ2VbMF07XG4gIH1cblxuICBjb25zdCBibG9ja0hhc0NsYXNzID0gb3B0cy5uYW1lcy5maW5kKChuYW1lKSA9PiBibG9ja0NsYXNzLmluY2x1ZGVzKG5hbWUpKTtcblxuICBpZiAoYmxvY2tIYXNDbGFzcykge1xuICAgIHJldHVybiBibG9ja3NBdFJhbmdlWzBdO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG4vKipcbiAqIFBsdWdpbiBpbiBvcmRlciB0byBiZSBhYmxlIHRvIGFkZCBhIGNzcyBjbGFzIHRoYXQgaXMgcHJvdmlkZWQgdGhyb3VnaCB0aGUgbW9kZWxcbiAqIG9uIGEgdGV4dCBlbGVtZW50LiBXb3JrcyBsaWtlIGEgbWFyayAoYm9sZCwgaXRhbGljIGV0Yy4pLlxuICogQHBhcmFtIG9wdHNcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDU1NQbHVnaW4ob3B0cykge1xuICBjb25zdCBwbHVnaW4gPSB7XG4gICAgbmFtZTogJ2V4dHJhQ1NTUnVsZXMnLFxuICAgIHRvb2xiYXI6IHtcbiAgICAgIGlzTWFyazogdHJ1ZSxcbiAgICAgIGljb246IDxDc3NJY29uIC8+LFxuICAgICAgYXJpYUxhYmVsOiAnQ1NTIGVkaXRvcicsXG4gICAgICB0eXBlOiAnY3NzJyxcbiAgICAgIG9uVG9nZ2xlOiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSAnY3NzJztcbiAgICAgICAgY29uc3QgaGFzTWFyayA9IGNoYW5nZS52YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRyeS50eXBlID09PSB0eXBlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaGFzTWFyaykge1xuICAgICAgICAgIGNoYW5nZS5yZW1vdmVNYXJrKGhhc01hcmspO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh0eXBlKTtcblxuICAgICAgICAgIGNoYW5nZS5hZGRNYXJrKG5ld01hcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNoYW5nZTtcbiAgICAgIH0sXG4gICAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlLCBnZXRGb2N1c2VkVmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9ICdjc3MnO1xuICAgICAgICBjb25zdCBoYXNNYXJrID0gdmFsdWUuYWN0aXZlTWFya3MuZmluZCgoZW50cnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gZW50cnkudHlwZSA9PT0gdHlwZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuXG4gICAgICAgIGlmIChoYXNNYXJrKSB7XG4gICAgICAgICAgY2hhbmdlLnJlbW92ZU1hcmsoaGFzTWFyayk7XG4gICAgICAgICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBrZWVwaW5nIHRoaXMgaWYgaW1wbGVtZW50YXRpb24gbmVlZHMgdG8gYmUgY2hhbmdlZCB0byByZWd1bGFyIGJsb2NrcyBpbnN0ZWFkIG9mIG1hcmtzXG4gICAgICAgIC8vIGxldCBub2RlV2l0aENsYXNzID0gZ2V0Tm9kZVdpdGhDbGFzcyh2YWx1ZSwgb3B0cyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vIGlmIChub2RlV2l0aENsYXNzKSB7XG4gICAgICAgIC8vICAgY29uc3Qgbm9kZUF0dHJpYnV0ZXMgPSBub2RlV2l0aENsYXNzLmRhdGEuZ2V0KCdhdHRyaWJ1dGVzJyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgb3B0cy5uYW1lcy5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAobm9kZUF0dHJpYnV0ZXMuY2xhc3MuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgLy8gICAgICAgbm9kZUF0dHJpYnV0ZXMuY2xhc3MgPSBub2RlQXR0cmlidXRlcy5jbGFzcy5yZXBsYWNlKG5hbWUsICcnKTtcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gICB9KTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICAvLyBrZWVwaW5nIG9ubHkgb25lIHNwYWNlIGJldHdlZW4gY2xhc3Nlc1xuICAgICAgICAvLyAgIG5vZGVBdHRyaWJ1dGVzLmNsYXNzID0gbm9kZUF0dHJpYnV0ZXMuY2xhc3MucmVwbGFjZSgvICsvZywgJyAnKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICBub2RlV2l0aENsYXNzLmRhdGEuc2V0KCdhdHRyaWJ1dGVzJywgbm9kZUF0dHJpYnV0ZXMpO1xuICAgICAgICAvL1xuICAgICAgICAvLyAgIGxldCBjaGFuZ2UgPSB2YWx1ZS5jaGFuZ2UoKTtcbiAgICAgICAgLy8gICBjaGFuZ2UucmVwbGFjZU5vZGVCeUtleShub2RlV2l0aENsYXNzLmtleSwgbm9kZVdpdGhDbGFzcyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgLy8gICByZXR1cm47XG4gICAgICAgIC8vIH1cblxuICAgICAgICBjb25zdCBlZGl0b3JET00gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcbiAgICAgICAgbGV0IHZhbHVlVG9Vc2UgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCBjYWxsYmFjayA9IChjbGFzc05hbWUsIGZvY3VzKSA9PiB7XG4gICAgICAgICAgaWYgKGdldEZvY3VzZWRWYWx1ZSkge1xuICAgICAgICAgICAgdmFsdWVUb1VzZSA9IGdldEZvY3VzZWRWYWx1ZSgpIHx8IHZhbHVlVG9Vc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGNsYXNzTmFtZSkge1xuICAgICAgICAgICAgbGV0IGNoYW5nZSA9IHZhbHVlVG9Vc2UuY2hhbmdlKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG5ld01hcmsgPSBNYXJrLmNyZWF0ZSh7XG4gICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICB0eXBlOiAnY3NzJyxcbiAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzOiBjbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjaGFuZ2UuYWRkTWFyayhuZXdNYXJrKTtcbiAgICAgICAgICAgIC8vIGtlZXBpbmcgdGhpcyBpZiBpbXBsZW1lbnRhdGlvbiBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIHJlZ3VsYXIgYmxvY2tzIGluc3RlYWQgb2YgbWFya3NcbiAgICAgICAgICAgIC8vIGNoYW5nZSA9IGNoYW5nZS53cmFwSW5saW5lKHsgdHlwZTogJ3NwYW4nLCBkYXRhOiB7IGF0dHJpYnV0ZXM6IHsgY2xhc3M6IGNsYXNzTmFtZSB9IH0gfSk7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gLy8gY2hhbmdlID0gY2hhbmdlLnNwbGl0QmxvY2tBdFJhbmdlKGFkYXB0ZWRSYW5nZSk7XG4gICAgICAgICAgICAvLyAvL1xuICAgICAgICAgICAgLy8gLy8gY29uc3QgbmV3QmxvY2sgPSBjaGFuZ2UudmFsdWUuZG9jdW1lbnQuZ2V0RnVydGhlc3RCbG9jayhjaGFuZ2UudmFsdWUuc2VsZWN0aW9uLmVuZEtleSk7XG4gICAgICAgICAgICAvLyAvL1xuICAgICAgICAgICAgLy8gLy8gY2hhbmdlID0gY2hhbmdlLnNldE5vZGVCeUtleShuZXdCbG9jay5rZXksIHsgZGF0YTogeyBhdHRyaWJ1dGVzOiB7IGNsYXNzOiBjbGFzc05hbWUgfSB9IH0pO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIHZhbHVlVG9Vc2UgPSBjaGFuZ2UudmFsdWU7XG4gICAgICAgICAgICAvLyBsb2coJ1tjaGFyYWN0ZXJzOmluc2VydF06ICcsIHZhbHVlKTtcbiAgICAgICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9nKCdbY2hhcmFjdGVyczpjbGlja10nKTtcblxuICAgICAgICAgIGlmIChmb2N1cykge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlZGl0b3JET00pIHtcbiAgICAgICAgICAgICAgICBlZGl0b3JET00uZm9jdXMoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCB0ZXh0Tm9kZSA9IHZhbHVlLmRvY3VtZW50LmdldFRleHRzQXRSYW5nZUFzQXJyYXkodmFsdWUuc2VsZWN0aW9uKVswXTtcblxuICAgICAgICBpZiAodGV4dE5vZGUpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0gZmluZFBhcmVudE5vZGVJbmZvKHZhbHVlLCB0ZXh0Tm9kZSwgb3B0cyk7XG5cbiAgICAgICAgICBpbnNlcnREaWFsb2coeyBlZGl0b3JET00sIHZhbHVlOiB2YWx1ZVRvVXNlLCBjYWxsYmFjaywgb3B0cywgdGV4dE5vZGUsIHBhcmVudE5vZGUgfSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICByZW5kZXJNYXJrKHByb3BzKSB7XG4gICAgICBpZiAocHJvcHMubWFyay50eXBlID09PSAnY3NzJykge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHByb3BzLm1hcmsgfHwge307XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YT8udG9KU09OKCkgfHwge307XG5cbiAgICAgICAgcmV0dXJuIDxzcGFuIHsuLi5qc29uRGF0YS5hdHRyaWJ1dGVzfT57cHJvcHMuY2hpbGRyZW59PC9zcGFuPjtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBwbHVnaW47XG59XG4iXX0=
|
|
@@ -1,114 +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.ICON_TYPE = exports.CONTENT_TYPE = void 0;
|
|
9
|
-
exports["default"] = CustomPlugin;
|
|
10
|
-
|
|
11
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
|
|
13
|
-
var _react = _interopRequireDefault(require("react"));
|
|
14
|
-
|
|
15
|
-
var _serialization = require("../../serialization");
|
|
16
|
-
|
|
17
|
-
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; }
|
|
18
|
-
|
|
19
|
-
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; }
|
|
20
|
-
|
|
21
|
-
// We're possibly going to have to support content types, so starting it as an enum
|
|
22
|
-
var CONTENT_TYPE = {
|
|
23
|
-
FRAGMENT: 'FRAGMENT'
|
|
24
|
-
}; // We're possibly going to have to support multiple icon types, so starting it as an enum
|
|
25
|
-
|
|
26
|
-
exports.CONTENT_TYPE = CONTENT_TYPE;
|
|
27
|
-
var ICON_TYPE = {
|
|
28
|
-
SVG: 'SVG'
|
|
29
|
-
};
|
|
30
|
-
exports.ICON_TYPE = ICON_TYPE;
|
|
31
|
-
|
|
32
|
-
var getIcon = function getIcon(customPluginProps) {
|
|
33
|
-
var svg = customPluginProps.icon;
|
|
34
|
-
|
|
35
|
-
switch (customPluginProps.iconType) {
|
|
36
|
-
case ICON_TYPE.SVG:
|
|
37
|
-
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
38
|
-
style: {
|
|
39
|
-
width: 28,
|
|
40
|
-
height: 28
|
|
41
|
-
},
|
|
42
|
-
dangerouslySetInnerHTML: {
|
|
43
|
-
__html: svg
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
default:
|
|
48
|
-
return /*#__PURE__*/_react["default"].createElement("span", null, customPluginProps.iconAlt);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
function CustomPlugin(type, customPluginProps) {
|
|
53
|
-
var toolbar = {
|
|
54
|
-
icon: getIcon(customPluginProps),
|
|
55
|
-
onClick: function onClick(value, onChange, getFocusedValue) {
|
|
56
|
-
var editorDOM = document.querySelector("[data-key=\"".concat(value.document.key, "\"]"));
|
|
57
|
-
var valueToUse = value;
|
|
58
|
-
|
|
59
|
-
var callback = function callback(_ref, focus) {
|
|
60
|
-
var customContent = _ref.customContent,
|
|
61
|
-
contentType = _ref.contentType;
|
|
62
|
-
valueToUse = getFocusedValue();
|
|
63
|
-
|
|
64
|
-
switch (contentType) {
|
|
65
|
-
case CONTENT_TYPE.FRAGMENT:
|
|
66
|
-
default:
|
|
67
|
-
{
|
|
68
|
-
var contentValue = (0, _serialization.htmlToValue)(customContent);
|
|
69
|
-
var change = valueToUse.change().insertFragment(contentValue.document);
|
|
70
|
-
valueToUse = change.value;
|
|
71
|
-
onChange(change);
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (focus) {
|
|
77
|
-
if (editorDOM) {
|
|
78
|
-
editorDOM.focus();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}; // NOTE: the emitted event (custom event named by client) will be suffixed with "PIE-"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
window.dispatchEvent(new CustomEvent("PIE-".concat(customPluginProps.event), {
|
|
85
|
-
detail: _objectSpread(_objectSpread({}, customPluginProps), {}, {
|
|
86
|
-
callback: callback
|
|
87
|
-
})
|
|
88
|
-
}));
|
|
89
|
-
},
|
|
90
|
-
supports: function supports(node) {
|
|
91
|
-
return node.object === 'inline' && node.type === type;
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
return {
|
|
95
|
-
name: type,
|
|
96
|
-
toolbar: toolbar,
|
|
97
|
-
renderNode: function renderNode(props) {
|
|
98
|
-
if (props.node.type === type) {
|
|
99
|
-
var node = props.node;
|
|
100
|
-
var data = node.data;
|
|
101
|
-
var jsonData = data.toJSON();
|
|
102
|
-
var customContent = jsonData.customContent,
|
|
103
|
-
contentType = jsonData.contentType;
|
|
104
|
-
|
|
105
|
-
switch (contentType) {
|
|
106
|
-
case CONTENT_TYPE.FRAGMENT:
|
|
107
|
-
default:
|
|
108
|
-
return customContent;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2N1c3RvbVBsdWdpbi9pbmRleC5qc3giXSwibmFtZXMiOlsiQ09OVEVOVF9UWVBFIiwiRlJBR01FTlQiLCJJQ09OX1RZUEUiLCJTVkciLCJnZXRJY29uIiwiY3VzdG9tUGx1Z2luUHJvcHMiLCJzdmciLCJpY29uIiwiaWNvblR5cGUiLCJ3aWR0aCIsImhlaWdodCIsIl9faHRtbCIsImljb25BbHQiLCJDdXN0b21QbHVnaW4iLCJ0eXBlIiwidG9vbGJhciIsIm9uQ2xpY2siLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZ2V0Rm9jdXNlZFZhbHVlIiwiZWRpdG9yRE9NIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwia2V5IiwidmFsdWVUb1VzZSIsImNhbGxiYWNrIiwiZm9jdXMiLCJjdXN0b21Db250ZW50IiwiY29udGVudFR5cGUiLCJjb250ZW50VmFsdWUiLCJjaGFuZ2UiLCJpbnNlcnRGcmFnbWVudCIsIndpbmRvdyIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImV2ZW50IiwiZGV0YWlsIiwic3VwcG9ydHMiLCJub2RlIiwib2JqZWN0IiwibmFtZSIsInJlbmRlck5vZGUiLCJwcm9wcyIsImRhdGEiLCJqc29uRGF0YSIsInRvSlNPTiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBO0FBQ08sSUFBTUEsWUFBWSxHQUFHO0FBQzFCQyxFQUFBQSxRQUFRLEVBQUU7QUFEZ0IsQ0FBckIsQyxDQUlQOzs7QUFDTyxJQUFNQyxTQUFTLEdBQUc7QUFDdkJDLEVBQUFBLEdBQUcsRUFBRTtBQURrQixDQUFsQjs7O0FBSVAsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsaUJBQUQsRUFBdUI7QUFDckMsTUFBTUMsR0FBRyxHQUFHRCxpQkFBaUIsQ0FBQ0UsSUFBOUI7O0FBRUEsVUFBUUYsaUJBQWlCLENBQUNHLFFBQTFCO0FBQ0UsU0FBS04sU0FBUyxDQUFDQyxHQUFmO0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGh0bWxUb1ZhbHVlIH0gZnJvbSAnLi4vLi4vc2VyaWFsaXphdGlvbic7XG5cbi8vIFdlJ3JlIHBvc3NpYmx5IGdvaW5nIHRvIGhhdmUgdG8gc3VwcG9ydCBjb250ZW50IHR5cGVzLCBzbyBzdGFydGluZyBpdCBhcyBhbiBlbnVtXG5leHBvcnQgY29uc3QgQ09OVEVOVF9UWVBFID0ge1xuICBGUkFHTUVOVDogJ0ZSQUdNRU5UJyxcbn07XG5cbi8vIFdlJ3JlIHBvc3NpYmx5IGdvaW5nIHRvIGhhdmUgdG8gc3VwcG9ydCBtdWx0aXBsZSBpY29uIHR5cGVzLCBzbyBzdGFydGluZyBpdCBhcyBhbiBlbnVtXG5leHBvcnQgY29uc3QgSUNPTl9UWVBFID0ge1xuICBTVkc6ICdTVkcnLFxufTtcblxuY29uc3QgZ2V0SWNvbiA9IChjdXN0b21QbHVnaW5Qcm9wcykgPT4ge1xuICBjb25zdCBzdmcgPSBjdXN0b21QbHVnaW5Qcm9wcy5pY29uO1xuXG4gIHN3aXRjaCAoY3VzdG9tUGx1Z2luUHJvcHMuaWNvblR5cGUpIHtcbiAgICBjYXNlIElDT05fVFlQRS5TVkc6XG4gICAgICByZXR1cm4gPHNwYW4gc3R5bGU9e3sgd2lkdGg6IDI4LCBoZWlnaHQ6IDI4IH19IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogc3ZnIH19IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPHNwYW4+e2N1c3RvbVBsdWdpblByb3BzLmljb25BbHR9PC9zcGFuPjtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ3VzdG9tUGx1Z2luKHR5cGUsIGN1c3RvbVBsdWdpblByb3BzKSB7XG4gIGNvbnN0IHRvb2xiYXIgPSB7XG4gICAgaWNvbjogZ2V0SWNvbihjdXN0b21QbHVnaW5Qcm9wcyksXG4gICAgb25DbGljazogKHZhbHVlLCBvbkNoYW5nZSwgZ2V0Rm9jdXNlZFZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBlZGl0b3JET00gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcbiAgICAgIGxldCB2YWx1ZVRvVXNlID0gdmFsdWU7XG4gICAgICBjb25zdCBjYWxsYmFjayA9ICh7IGN1c3RvbUNvbnRlbnQsIGNvbnRlbnRUeXBlIH0sIGZvY3VzKSA9PiB7XG4gICAgICAgIHZhbHVlVG9Vc2UgPSBnZXRGb2N1c2VkVmFsdWUoKTtcblxuICAgICAgICBzd2l0Y2ggKGNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgY2FzZSBDT05URU5UX1RZUEUuRlJBR01FTlQ6XG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgY29uc3QgY29udGVudFZhbHVlID0gaHRtbFRvVmFsdWUoY3VzdG9tQ29udGVudCk7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2UgPSB2YWx1ZVRvVXNlLmNoYW5nZSgpLmluc2VydEZyYWdtZW50KGNvbnRlbnRWYWx1ZS5kb2N1bWVudCk7XG5cbiAgICAgICAgICAgIHZhbHVlVG9Vc2UgPSBjaGFuZ2UudmFsdWU7XG4gICAgICAgICAgICBvbkNoYW5nZShjaGFuZ2UpO1xuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICBpZiAoZWRpdG9yRE9NKSB7XG4gICAgICAgICAgICBlZGl0b3JET00uZm9jdXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIC8vIE5PVEU6IHRoZSBlbWl0dGVkIGV2ZW50IChjdXN0b20gZXZlbnQgbmFtZWQgYnkgY2xpZW50KSB3aWxsIGJlIHN1ZmZpeGVkIHdpdGggXCJQSUUtXCJcbiAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoYFBJRS0ke2N1c3RvbVBsdWdpblByb3BzLmV2ZW50fWAsIHtcbiAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBsdWdpblByb3BzLFxuICAgICAgICAgICAgY2FsbGJhY2ssXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0sXG4gICAgc3VwcG9ydHM6IChub2RlKSA9PiBub2RlLm9iamVjdCA9PT0gJ2lubGluZScgJiYgbm9kZS50eXBlID09PSB0eXBlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogdHlwZSxcbiAgICB0b29sYmFyLFxuICAgIHJlbmRlck5vZGUocHJvcHMpIHtcbiAgICAgIGlmIChwcm9wcy5ub2RlLnR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgY29uc3QgeyBub2RlIH0gPSBwcm9wcztcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSBub2RlO1xuICAgICAgICBjb25zdCBqc29uRGF0YSA9IGRhdGEudG9KU09OKCk7XG4gICAgICAgIGNvbnN0IHsgY3VzdG9tQ29udGVudCwgY29udGVudFR5cGUgfSA9IGpzb25EYXRhO1xuXG4gICAgICAgIHN3aXRjaCAoY29udGVudFR5cGUpIHtcbiAgICAgICAgICBjYXNlIENPTlRFTlRfVFlQRS5GUkFHTUVOVDpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -1,38 +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"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _styles = require("@material-ui/core/styles");
|
|
13
|
-
|
|
14
|
-
var styles = function styles(theme) {
|
|
15
|
-
return {
|
|
16
|
-
icon: {
|
|
17
|
-
fontFamily: 'Cerebri Sans, Arial, sans-serif',
|
|
18
|
-
fontSize: theme.typography.fontSize,
|
|
19
|
-
fontWeight: 'bold',
|
|
20
|
-
lineHeight: '14px',
|
|
21
|
-
position: 'relative',
|
|
22
|
-
whiteSpace: 'nowrap'
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var HtmlModeIcon = function HtmlModeIcon(_ref) {
|
|
28
|
-
var classes = _ref.classes,
|
|
29
|
-
isHtmlMode = _ref.isHtmlMode;
|
|
30
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
31
|
-
className: classes.icon
|
|
32
|
-
}, isHtmlMode ? 'Exit <HTML> mode' : '<HTML>');
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
var _default = (0, _styles.withStyles)(styles)(HtmlModeIcon);
|
|
36
|
-
|
|
37
|
-
exports["default"] = _default;
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW5zL2h0bWwvaWNvbnMvaW5kZXguanN4Il0sIm5hbWVzIjpbInN0eWxlcyIsInRoZW1lIiwiaWNvbiIsImZvbnRGYW1pbHkiLCJmb250U2l6ZSIsInR5cG9ncmFwaHkiLCJmb250V2VpZ2h0IiwibGluZUhlaWdodCIsInBvc2l0aW9uIiwid2hpdGVTcGFjZSIsIkh0bWxNb2RlSWNvbiIsImNsYXNzZXMiLCJpc0h0bWxNb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxLQUFEO0FBQUEsU0FBWTtBQUN6QkMsSUFBQUEsSUFBSSxFQUFFO0FBQ0pDLE1BQUFBLFVBQVUsRUFBRSxpQ0FEUjtBQUVKQyxNQUFBQSxRQUFRLEVBQUVILEtBQUssQ0FBQ0ksVUFBTixDQUFpQkQsUUFGdkI7QUFHSkUsTUFBQUEsVUFBVSxFQUFFLE1BSFI7QUFJSkMsTUFBQUEsVUFBVSxFQUFFLE1BSlI7QUFLSkMsTUFBQUEsUUFBUSxFQUFFLFVBTE47QUFNSkMsTUFBQUEsVUFBVSxFQUFFO0FBTlI7QUFEbUIsR0FBWjtBQUFBLENBQWY7O0FBV0EsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWU7QUFBQSxNQUFHQyxPQUFILFFBQUdBLE9BQUg7QUFBQSxNQUFZQyxVQUFaLFFBQVlBLFVBQVo7QUFBQSxzQkFDbkI7QUFBSyxJQUFBLFNBQVMsRUFBRUQsT0FBTyxDQUFDVDtBQUF4QixLQUErQlUsVUFBVSxHQUFHLGtCQUFILEdBQXdCLFFBQWpFLENBRG1CO0FBQUEsQ0FBckI7O2VBSWUsd0JBQVdaLE1BQVgsRUFBbUJVLFlBQW5CLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgaWNvbjoge1xuICAgIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSxcbiAgICBmb250V2VpZ2h0OiAnYm9sZCcsXG4gICAgbGluZUhlaWdodDogJzE0cHgnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICB9LFxufSk7XG5cbmNvbnN0IEh0bWxNb2RlSWNvbiA9ICh7IGNsYXNzZXMsIGlzSHRtbE1vZGUgfSkgPT4gKFxuICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3Nlcy5pY29ufT57aXNIdG1sTW9kZSA/ICdFeGl0IDxIVE1MPiBtb2RlJyA6ICc8SFRNTD4nfTwvZGl2PlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlcyhzdHlsZXMpKEh0bWxNb2RlSWNvbik7XG4iXX0=
|