@pie-lib/editable-html 9.5.13 → 10.0.0-beta.1
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 +0 -302
- package/lib/components.js +116 -0
- package/lib/components.js.map +1 -0
- package/lib/editor.js +418 -103
- package/lib/editor.js.map +1 -1
- package/lib/index.js +101 -155
- package/lib/index.js.map +1 -1
- package/lib/new-serialization.js +320 -0
- package/lib/new-serialization.js.map +1 -0
- package/lib/old-serialization.js +330 -0
- package/lib/parse-html.js +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +21 -19
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/hotKeys/index.js +67 -0
- package/lib/plugins/hotKeys/index.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +1 -6
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +70 -53
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +7 -9
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +83 -27
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +72 -33
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +23 -41
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +64 -100
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +86 -60
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +202 -132
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +17 -16
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +3 -3
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +21 -58
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +3 -3
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +3 -2
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -2
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +13 -15
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +87 -53
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +4 -3
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +17 -20
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +381 -212
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +5 -6
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +55 -11
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +1 -1
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +186 -232
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +1 -2
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +253 -239
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +27 -2
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +1 -1
- package/lib/serialization.js.map +1 -1
- package/lib/slate-editor.js +302 -0
- package/lib/test-serializer.js +189 -0
- package/lib/test-serializer.js.map +1 -0
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +18 -14
- package/playground/image/data.js +20 -20
- package/playground/image/index.html +22 -20
- package/playground/image/index.jsx +12 -10
- package/playground/index.html +25 -23
- package/playground/mathquill/index.html +23 -20
- package/playground/mathquill/index.jsx +18 -22
- package/playground/prod-test/index.html +24 -20
- package/playground/prod-test/index.jsx +5 -3
- package/playground/schema-override/data.js +10 -10
- package/playground/schema-override/image-plugin.jsx +3 -4
- package/playground/schema-override/index.html +21 -19
- package/playground/schema-override/index.jsx +13 -14
- package/playground/serialization/data.js +10 -10
- package/playground/serialization/image-plugin.jsx +3 -4
- package/playground/serialization/index.html +22 -20
- package/playground/table-examples.html +5 -8
- package/playground/webpack.config.js +10 -10
- package/src/components.js +135 -0
- package/src/editor.jsx +478 -141
- package/src/index.jsx +71 -95
- package/src/new-serialization.jsx +291 -0
- package/src/parse-html.js +1 -1
- package/src/plugins/characters/custom-popper.js +7 -7
- package/src/plugins/characters/index.jsx +33 -34
- package/src/plugins/characters/utils.js +81 -81
- package/src/plugins/hotKeys/index.js +54 -0
- package/src/plugins/image/alt-dialog.jsx +4 -5
- package/src/plugins/image/component.jsx +106 -89
- package/src/plugins/image/image-toolbar.jsx +27 -19
- package/src/plugins/image/index.jsx +75 -43
- package/src/plugins/image/insert-image-handler.js +62 -27
- package/src/plugins/index.jsx +23 -41
- package/src/plugins/list/index.jsx +70 -95
- package/src/plugins/math/index.jsx +102 -82
- package/src/plugins/media/index.jsx +159 -124
- package/src/plugins/media/media-dialog.js +98 -71
- package/src/plugins/media/media-toolbar.jsx +8 -8
- package/src/plugins/media/media-wrapper.jsx +29 -30
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +21 -19
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +14 -11
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +7 -6
- package/src/plugins/respArea/icons/index.jsx +11 -14
- package/src/plugins/respArea/index.jsx +92 -52
- package/src/plugins/respArea/inline-dropdown/index.jsx +9 -8
- package/src/plugins/respArea/utils.jsx +26 -35
- package/src/plugins/table/icons/index.jsx +17 -11
- package/src/plugins/table/index.jsx +288 -231
- package/src/plugins/table/table-toolbar.jsx +15 -11
- package/src/plugins/toolbar/default-toolbar.jsx +65 -19
- package/src/plugins/toolbar/done-button.jsx +4 -4
- package/src/plugins/toolbar/editor-and-toolbar.jsx +150 -145
- package/src/plugins/toolbar/index.jsx +2 -3
- package/src/plugins/toolbar/toolbar-buttons.jsx +11 -11
- package/src/plugins/toolbar/toolbar.jsx +244 -221
- package/src/plugins/utils.js +21 -4
- package/src/serialization.jsx +32 -32
- package/src/test-serializer.js +139 -0
- package/src/test-serializer.js.rej +20 -0
|
@@ -7,30 +7,36 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
12
14
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
15
|
|
|
14
|
-
var
|
|
16
|
+
var _omit = _interopRequireDefault(require("lodash/omit"));
|
|
15
17
|
|
|
16
18
|
var _debug = _interopRequireDefault(require("debug"));
|
|
17
19
|
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
18
24
|
var log = (0, _debug["default"])('@pie-lib:editable-html:image:insert-image-handler');
|
|
19
25
|
/**
|
|
20
26
|
* Handles user selection, insertion (or cancellation) of an image into the editor.
|
|
21
|
-
* @param {Block}
|
|
27
|
+
* @param {Block} placeHolderPath - a block that has been added to the editor as a place holder for the image
|
|
22
28
|
* @param {Function} getValue - a function to return the value of the editor
|
|
23
29
|
* @param {Function} onChange - callback to notify changes applied by the handler
|
|
24
30
|
* @param {Boolean} isPasted - a boolean that keeps track if the file is pasted
|
|
25
31
|
*/
|
|
26
32
|
|
|
27
33
|
var InsertImageHandler = /*#__PURE__*/function () {
|
|
28
|
-
function InsertImageHandler(
|
|
34
|
+
function InsertImageHandler(node, placeHolderPath, editor) {
|
|
29
35
|
var isPasted = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
30
36
|
(0, _classCallCheck2["default"])(this, InsertImageHandler);
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
37
|
+
this.node = node;
|
|
38
|
+
this.placeHolderPath = placeHolderPath;
|
|
39
|
+
this.editor = editor;
|
|
34
40
|
this.isPasted = isPasted;
|
|
35
41
|
}
|
|
36
42
|
|
|
@@ -38,13 +44,13 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
38
44
|
key: "getPlaceholderInDocument",
|
|
39
45
|
value: function getPlaceholderInDocument(value) {
|
|
40
46
|
var document = value.document;
|
|
41
|
-
var directChild = document.getChild(this.
|
|
47
|
+
var directChild = document.getChild(this.placeHolderPath);
|
|
42
48
|
|
|
43
49
|
if (directChild) {
|
|
44
50
|
return directChild;
|
|
45
51
|
}
|
|
46
52
|
|
|
47
|
-
var child = document.getDescendant(this.
|
|
53
|
+
var child = document.getDescendant(this.placeHolderPath);
|
|
48
54
|
|
|
49
55
|
if (child) {
|
|
50
56
|
return child;
|
|
@@ -57,8 +63,10 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
57
63
|
key: "cancel",
|
|
58
64
|
value: function cancel() {
|
|
59
65
|
log('insert cancelled');
|
|
60
|
-
|
|
61
|
-
|
|
66
|
+
this.editor.apply({
|
|
67
|
+
type: 'remove_node',
|
|
68
|
+
path: this.placeHolderPath
|
|
69
|
+
});
|
|
62
70
|
}
|
|
63
71
|
}, {
|
|
64
72
|
key: "done",
|
|
@@ -69,17 +77,30 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
69
77
|
//eslint-disable-next-line
|
|
70
78
|
console.log(err);
|
|
71
79
|
} else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
this.editor.apply({
|
|
81
|
+
type: 'set_node',
|
|
82
|
+
path: this.placeHolderPath,
|
|
83
|
+
properties: {
|
|
84
|
+
data: this.node.data
|
|
85
|
+
},
|
|
86
|
+
newProperties: {
|
|
87
|
+
data: {
|
|
88
|
+
src: src,
|
|
89
|
+
loaded: true,
|
|
90
|
+
percent: 100
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
var newData = _objectSpread(_objectSpread({}, this.node.data), {}, {
|
|
76
96
|
src: src,
|
|
97
|
+
loaded: true,
|
|
77
98
|
percent: 100
|
|
78
|
-
}));
|
|
79
|
-
var change = value.change().setNodeByKey(this.placeholderBlock.key, {
|
|
80
|
-
data: data
|
|
81
99
|
});
|
|
82
|
-
|
|
100
|
+
|
|
101
|
+
this.node = Object.assign({}, this.node, {
|
|
102
|
+
data: (0, _omit["default"])(newData, 'newImage')
|
|
103
|
+
});
|
|
83
104
|
}
|
|
84
105
|
}
|
|
85
106
|
/**
|
|
@@ -101,18 +122,26 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
101
122
|
var reader = new FileReader();
|
|
102
123
|
|
|
103
124
|
reader.onload = function () {
|
|
104
|
-
var value = _this.getValue();
|
|
105
|
-
|
|
106
125
|
var dataURL = reader.result;
|
|
107
126
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
127
|
+
_this.editor.apply({
|
|
128
|
+
type: 'set_node',
|
|
129
|
+
path: _this.placeHolderPath,
|
|
130
|
+
properties: {
|
|
131
|
+
data: _this.node.data
|
|
132
|
+
},
|
|
133
|
+
newProperties: {
|
|
134
|
+
data: _objectSpread(_objectSpread({}, _this.node.data), {}, {
|
|
135
|
+
src: dataURL
|
|
136
|
+
})
|
|
137
|
+
}
|
|
113
138
|
});
|
|
114
139
|
|
|
115
|
-
_this.
|
|
140
|
+
_this.node = Object.assign({}, _this.node, {
|
|
141
|
+
data: {
|
|
142
|
+
src: dataURL
|
|
143
|
+
}
|
|
144
|
+
});
|
|
116
145
|
};
|
|
117
146
|
|
|
118
147
|
reader.readAsDataURL(file);
|
|
@@ -121,13 +150,23 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
121
150
|
key: "progress",
|
|
122
151
|
value: function progress(percent, bytes, total) {
|
|
123
152
|
log('progress: ', percent, bytes, total);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
153
|
+
this.editor.apply({
|
|
154
|
+
type: 'set_node',
|
|
155
|
+
path: this.placeHolderPath,
|
|
156
|
+
properties: {
|
|
157
|
+
data: this.node.data
|
|
158
|
+
},
|
|
159
|
+
newProperties: {
|
|
160
|
+
data: _objectSpread(_objectSpread({}, this.node.data), {}, {
|
|
161
|
+
percent: percent
|
|
162
|
+
})
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
this.node = Object.assign({}, this.node, {
|
|
166
|
+
data: {
|
|
167
|
+
percent: percent
|
|
168
|
+
}
|
|
129
169
|
});
|
|
130
|
-
this.onChange(change);
|
|
131
170
|
}
|
|
132
171
|
}]);
|
|
133
172
|
return InsertImageHandler;
|
|
@@ -135,4 +174,4 @@ var InsertImageHandler = /*#__PURE__*/function () {
|
|
|
135
174
|
|
|
136
175
|
var _default = InsertImageHandler;
|
|
137
176
|
exports["default"] = _default;
|
|
138
|
-
//# sourceMappingURL=
|
|
177
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIkluc2VydEltYWdlSGFuZGxlciIsIm5vZGUiLCJwbGFjZUhvbGRlclBhdGgiLCJlZGl0b3IiLCJpc1Bhc3RlZCIsInZhbHVlIiwiZG9jdW1lbnQiLCJkaXJlY3RDaGlsZCIsImdldENoaWxkIiwiY2hpbGQiLCJnZXREZXNjZW5kYW50IiwiRXJyb3IiLCJhcHBseSIsInR5cGUiLCJwYXRoIiwiZXJyIiwic3JjIiwiY29uc29sZSIsInByb3BlcnRpZXMiLCJkYXRhIiwibmV3UHJvcGVydGllcyIsImxvYWRlZCIsInBlcmNlbnQiLCJuZXdEYXRhIiwiT2JqZWN0IiwiYXNzaWduIiwib21pdCIsImZpbGUiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiZGF0YVVSTCIsInJlc3VsdCIsInJlYWRBc0RhdGFVUkwiLCJieXRlcyIsInRvdGFsIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvaW1hZ2UvaW5zZXJ0LWltYWdlLWhhbmRsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9taXQgZnJvbSAnbG9kYXNoL29taXQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6aW1hZ2U6aW5zZXJ0LWltYWdlLWhhbmRsZXInKTtcblxuLyoqXG4gKiBIYW5kbGVzIHVzZXIgc2VsZWN0aW9uLCBpbnNlcnRpb24gKG9yIGNhbmNlbGxhdGlvbikgb2YgYW4gaW1hZ2UgaW50byB0aGUgZWRpdG9yLlxuICogQHBhcmFtIHtCbG9ja30gcGxhY2VIb2xkZXJQYXRoIC0gYSBibG9jayB0aGF0IGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBlZGl0b3IgYXMgYSBwbGFjZSBob2xkZXIgZm9yIHRoZSBpbWFnZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZ2V0VmFsdWUgLSBhIGZ1bmN0aW9uIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGVkaXRvclxuICogQHBhcmFtIHtGdW5jdGlvbn0gb25DaGFuZ2UgLSBjYWxsYmFjayB0byBub3RpZnkgY2hhbmdlcyBhcHBsaWVkIGJ5IHRoZSBoYW5kbGVyXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGlzUGFzdGVkIC0gYSBib29sZWFuIHRoYXQga2VlcHMgdHJhY2sgaWYgdGhlIGZpbGUgaXMgcGFzdGVkXG4gKi9cbmNsYXNzIEluc2VydEltYWdlSGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHBsYWNlSG9sZGVyUGF0aCwgZWRpdG9yLCBpc1Bhc3RlZCA9IGZhbHNlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnBsYWNlSG9sZGVyUGF0aCA9IHBsYWNlSG9sZGVyUGF0aDtcbiAgICB0aGlzLmVkaXRvciA9IGVkaXRvcjtcbiAgICB0aGlzLmlzUGFzdGVkID0gaXNQYXN0ZWQ7XG4gIH1cblxuICBnZXRQbGFjZWhvbGRlckluRG9jdW1lbnQodmFsdWUpIHtcbiAgICBjb25zdCB7IGRvY3VtZW50IH0gPSB2YWx1ZTtcbiAgICBjb25zdCBkaXJlY3RDaGlsZCA9IGRvY3VtZW50LmdldENoaWxkKHRoaXMucGxhY2VIb2xkZXJQYXRoKTtcblxuICAgIGlmIChkaXJlY3RDaGlsZCkge1xuICAgICAgcmV0dXJuIGRpcmVjdENoaWxkO1xuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkID0gZG9jdW1lbnQuZ2V0RGVzY2VuZGFudCh0aGlzLnBsYWNlSG9sZGVyUGF0aCk7XG5cbiAgICBpZiAoY2hpbGQpIHtcbiAgICAgIHJldHVybiBjaGlsZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImluc2VydC1pbWFnZTogQ2FuJ3QgZmluZCBwbGFjZWhvbGRlciFcIik7XG4gICAgfVxuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIGxvZygnaW5zZXJ0IGNhbmNlbGxlZCcpO1xuICAgIHRoaXMuZWRpdG9yLmFwcGx5KHtcbiAgICAgIHR5cGU6ICdyZW1vdmVfbm9kZScsXG4gICAgICBwYXRoOiB0aGlzLnBsYWNlSG9sZGVyUGF0aFxuICAgIH0pO1xuICB9XG5cbiAgZG9uZShlcnIsIHNyYykge1xuICAgIGxvZygnZG9uZTogZXJyOicsIGVycik7XG4gICAgaWYgKGVycikge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZWRpdG9yLmFwcGx5KHtcbiAgICAgICAgdHlwZTogJ3NldF9ub2RlJyxcbiAgICAgICAgcGF0aDogdGhpcy5wbGFjZUhvbGRlclBhdGgsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBkYXRhOiB0aGlzLm5vZGUuZGF0YVxuICAgICAgICB9LFxuICAgICAgICBuZXdQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgcGVyY2VudDogMTAwXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSB7XG4gICAgICAgIC4uLnRoaXMubm9kZS5kYXRhLFxuICAgICAgICBzcmMsXG4gICAgICAgIGxvYWRlZDogdHJ1ZSxcbiAgICAgICAgcGVyY2VudDogMTAwXG4gICAgICB9O1xuXG4gICAgICB0aGlzLm5vZGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm5vZGUsIHtcbiAgICAgICAgZGF0YTogb21pdChuZXdEYXRhLCAnbmV3SW1hZ2UnKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmeSBoYW5kbGVyIHRoYXQgdGhlIHVzZXIgY2hvc2UgYSBmaWxlIC0gd2lsbCBjcmVhdGUgYSBjaGFuZ2Ugd2l0aCBhIHByZXZpZXcgaW4gdGhlIGVkaXRvci5cbiAgICpcbiAgICogQHBhcmFtIHtGaWxlfSBmaWxlIC0gdGhlIGZpbGUgdGhhdCB0aGUgdXNlciBjaG9zZSB1c2luZyBhIGZpbGUgaW5wdXQuXG4gICAqL1xuICBmaWxlQ2hvc2VuKGZpbGUpIHtcbiAgICBpZiAoIWZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2coJ1tmaWxlQ2hvc2VuXSBmaWxlOiAnLCBmaWxlKTtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCBkYXRhVVJMID0gcmVhZGVyLnJlc3VsdDtcblxuICAgICAgdGhpcy5lZGl0b3IuYXBwbHkoe1xuICAgICAgICB0eXBlOiAnc2V0X25vZGUnLFxuICAgICAgICBwYXRoOiB0aGlzLnBsYWNlSG9sZGVyUGF0aCxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGRhdGE6IHRoaXMubm9kZS5kYXRhXG4gICAgICAgIH0sXG4gICAgICAgIG5ld1Byb3BlcnRpZXM6IHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAuLi50aGlzLm5vZGUuZGF0YSxcbiAgICAgICAgICAgIHNyYzogZGF0YVVSTFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLm5vZGUgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm5vZGUsIHsgZGF0YTogeyBzcmM6IGRhdGFVUkwgfSB9KTtcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICB9XG5cbiAgcHJvZ3Jlc3MocGVyY2VudCwgYnl0ZXMsIHRvdGFsKSB7XG4gICAgbG9nKCdwcm9ncmVzczogJywgcGVyY2VudCwgYnl0ZXMsIHRvdGFsKTtcblxuICAgIHRoaXMuZWRpdG9yLmFwcGx5KHtcbiAgICAgIHR5cGU6ICdzZXRfbm9kZScsXG4gICAgICBwYXRoOiB0aGlzLnBsYWNlSG9sZGVyUGF0aCxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGF0YTogdGhpcy5ub2RlLmRhdGFcbiAgICAgIH0sXG4gICAgICBuZXdQcm9wZXJ0aWVzOiB7XG4gICAgICAgIGRhdGE6IHsgLi4udGhpcy5ub2RlLmRhdGEsIHBlcmNlbnQgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubm9kZSA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMubm9kZSwgeyBkYXRhOiB7IHBlcmNlbnQgfSB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBJbnNlcnRJbWFnZUhhbmRsZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsSUFBQUMsaUJBQUEsRUFBTSxtREFBTixDQUFaO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0lBQ01DLGtCO0VBQ0osNEJBQVlDLElBQVosRUFBa0JDLGVBQWxCLEVBQW1DQyxNQUFuQyxFQUE2RDtJQUFBLElBQWxCQyxRQUFrQix1RUFBUCxLQUFPO0lBQUE7SUFDM0QsS0FBS0gsSUFBTCxHQUFZQSxJQUFaO0lBQ0EsS0FBS0MsZUFBTCxHQUF1QkEsZUFBdkI7SUFDQSxLQUFLQyxNQUFMLEdBQWNBLE1BQWQ7SUFDQSxLQUFLQyxRQUFMLEdBQWdCQSxRQUFoQjtFQUNEOzs7O1dBRUQsa0NBQXlCQyxLQUF6QixFQUFnQztNQUM5QixJQUFRQyxRQUFSLEdBQXFCRCxLQUFyQixDQUFRQyxRQUFSO01BQ0EsSUFBTUMsV0FBVyxHQUFHRCxRQUFRLENBQUNFLFFBQVQsQ0FBa0IsS0FBS04sZUFBdkIsQ0FBcEI7O01BRUEsSUFBSUssV0FBSixFQUFpQjtRQUNmLE9BQU9BLFdBQVA7TUFDRDs7TUFFRCxJQUFNRSxLQUFLLEdBQUdILFFBQVEsQ0FBQ0ksYUFBVCxDQUF1QixLQUFLUixlQUE1QixDQUFkOztNQUVBLElBQUlPLEtBQUosRUFBVztRQUNULE9BQU9BLEtBQVA7TUFDRCxDQUZELE1BRU87UUFDTDtRQUNBLE1BQU0sSUFBSUUsS0FBSixDQUFVLHVDQUFWLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"insert-image-handler.js","names":["log","debug","InsertImageHandler","node","placeHolderPath","editor","isPasted","value","document","directChild","getChild","child","getDescendant","Error","apply","type","path","err","src","console","properties","data","newProperties","loaded","percent","newData","Object","assign","omit","file","reader","FileReader","onload","dataURL","result","readAsDataURL","bytes","total"],"sources":["../../../src/plugins/image/insert-image-handler.js"],"sourcesContent":["import omit from 'lodash/omit';\nimport debug from 'debug';\n\nconst log = debug('@pie-lib:editable-html:image:insert-image-handler');\n\n/**\n * Handles user selection, insertion (or cancellation) of an image into the editor.\n * @param {Block} placeHolderPath - a block that has been added to the editor as a place holder for the image\n * @param {Function} getValue - a function to return the value of the editor\n * @param {Function} onChange - callback to notify changes applied by the handler\n * @param {Boolean} isPasted - a boolean that keeps track if the file is pasted\n */\nclass InsertImageHandler {\n constructor(node, placeHolderPath, editor, isPasted = false) {\n this.node = node;\n this.placeHolderPath = placeHolderPath;\n this.editor = editor;\n this.isPasted = isPasted;\n }\n\n getPlaceholderInDocument(value) {\n const { document } = value;\n const directChild = document.getChild(this.placeHolderPath);\n\n if (directChild) {\n return directChild;\n }\n\n const child = document.getDescendant(this.placeHolderPath);\n\n if (child) {\n return child;\n } else {\n //eslint-disable-next-line\n throw new Error(\"insert-image: Can't find placeholder!\");\n }\n }\n\n cancel() {\n log('insert cancelled');\n this.editor.apply({\n type: 'remove_node',\n path: this.placeHolderPath\n });\n }\n\n done(err, src) {\n log('done: err:', err);\n if (err) {\n //eslint-disable-next-line\n console.log(err);\n } else {\n this.editor.apply({\n type: 'set_node',\n path: this.placeHolderPath,\n properties: {\n data: this.node.data\n },\n newProperties: {\n data: {\n src,\n loaded: true,\n percent: 100\n }\n }\n });\n const newData = {\n ...this.node.data,\n src,\n loaded: true,\n percent: 100\n };\n\n this.node = Object.assign({}, this.node, {\n data: omit(newData, 'newImage')\n });\n }\n }\n\n /**\n * Notify handler that the user chose a file - will create a change with a preview in the editor.\n *\n * @param {File} file - the file that the user chose using a file input.\n */\n fileChosen(file) {\n if (!file) {\n return;\n }\n\n log('[fileChosen] file: ', file);\n const reader = new FileReader();\n reader.onload = () => {\n const dataURL = reader.result;\n\n this.editor.apply({\n type: 'set_node',\n path: this.placeHolderPath,\n properties: {\n data: this.node.data\n },\n newProperties: {\n data: {\n ...this.node.data,\n src: dataURL\n }\n }\n });\n this.node = Object.assign({}, this.node, { data: { src: dataURL } });\n };\n reader.readAsDataURL(file);\n }\n\n progress(percent, bytes, total) {\n log('progress: ', percent, bytes, total);\n\n this.editor.apply({\n type: 'set_node',\n path: this.placeHolderPath,\n properties: {\n data: this.node.data\n },\n newProperties: {\n data: { ...this.node.data, percent }\n }\n });\n this.node = Object.assign({}, this.node, { data: { percent } });\n }\n}\n\nexport default InsertImageHandler;\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,mDAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC,kB;EACJ,4BAAYC,IAAZ,EAAkBC,eAAlB,EAAmCC,MAAnC,EAA6D;IAAA,IAAlBC,QAAkB,uEAAP,KAAO;IAAA;IAC3D,KAAKH,IAAL,GAAYA,IAAZ;IACA,KAAKC,eAAL,GAAuBA,eAAvB;IACA,KAAKC,MAAL,GAAcA,MAAd;IACA,KAAKC,QAAL,GAAgBA,QAAhB;EACD;;;;WAED,kCAAyBC,KAAzB,EAAgC;MAC9B,IAAQC,QAAR,GAAqBD,KAArB,CAAQC,QAAR;MACA,IAAMC,WAAW,GAAGD,QAAQ,CAACE,QAAT,CAAkB,KAAKN,eAAvB,CAApB;;MAEA,IAAIK,WAAJ,EAAiB;QACf,OAAOA,WAAP;MACD;;MAED,IAAME,KAAK,GAAGH,QAAQ,CAACI,aAAT,CAAuB,KAAKR,eAA5B,CAAd;;MAEA,IAAIO,KAAJ,EAAW;QACT,OAAOA,KAAP;MACD,CAFD,MAEO;QACL;QACA,MAAM,IAAIE,KAAJ,CAAU,uCAAV,CAAN;MACD;IACF;;;WAED,kBAAS;MACPb,GAAG,CAAC,kBAAD,CAAH;MACA,KAAKK,MAAL,CAAYS,KAAZ,CAAkB;QAChBC,IAAI,EAAE,aADU;QAEhBC,IAAI,EAAE,KAAKZ;MAFK,CAAlB;IAID;;;WAED,cAAKa,GAAL,EAAUC,GAAV,EAAe;MACblB,GAAG,CAAC,YAAD,EAAeiB,GAAf,CAAH;;MACA,IAAIA,GAAJ,EAAS;QACP;QACAE,OAAO,CAACnB,GAAR,CAAYiB,GAAZ;MACD,CAHD,MAGO;QACL,KAAKZ,MAAL,CAAYS,KAAZ,CAAkB;UAChBC,IAAI,EAAE,UADU;UAEhBC,IAAI,EAAE,KAAKZ,eAFK;UAGhBgB,UAAU,EAAE;YACVC,IAAI,EAAE,KAAKlB,IAAL,CAAUkB;UADN,CAHI;UAMhBC,aAAa,EAAE;YACbD,IAAI,EAAE;cACJH,GAAG,EAAHA,GADI;cAEJK,MAAM,EAAE,IAFJ;cAGJC,OAAO,EAAE;YAHL;UADO;QANC,CAAlB;;QAcA,IAAMC,OAAO,mCACR,KAAKtB,IAAL,CAAUkB,IADF;UAEXH,GAAG,EAAHA,GAFW;UAGXK,MAAM,EAAE,IAHG;UAIXC,OAAO,EAAE;QAJE,EAAb;;QAOA,KAAKrB,IAAL,GAAYuB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKxB,IAAvB,EAA6B;UACvCkB,IAAI,EAAE,IAAAO,gBAAA,EAAKH,OAAL,EAAc,UAAd;QADiC,CAA7B,CAAZ;MAGD;IACF;IAED;AACF;AACA;AACA;AACA;;;;WACE,oBAAWI,IAAX,EAAiB;MAAA;;MACf,IAAI,CAACA,IAAL,EAAW;QACT;MACD;;MAED7B,GAAG,CAAC,qBAAD,EAAwB6B,IAAxB,CAAH;MACA,IAAMC,MAAM,GAAG,IAAIC,UAAJ,EAAf;;MACAD,MAAM,CAACE,MAAP,GAAgB,YAAM;QACpB,IAAMC,OAAO,GAAGH,MAAM,CAACI,MAAvB;;QAEA,KAAI,CAAC7B,MAAL,CAAYS,KAAZ,CAAkB;UAChBC,IAAI,EAAE,UADU;UAEhBC,IAAI,EAAE,KAAI,CAACZ,eAFK;UAGhBgB,UAAU,EAAE;YACVC,IAAI,EAAE,KAAI,CAAClB,IAAL,CAAUkB;UADN,CAHI;UAMhBC,aAAa,EAAE;YACbD,IAAI,kCACC,KAAI,CAAClB,IAAL,CAAUkB,IADX;cAEFH,GAAG,EAAEe;YAFH;UADS;QANC,CAAlB;;QAaA,KAAI,CAAC9B,IAAL,GAAYuB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAI,CAACxB,IAAvB,EAA6B;UAAEkB,IAAI,EAAE;YAAEH,GAAG,EAAEe;UAAP;QAAR,CAA7B,CAAZ;MACD,CAjBD;;MAkBAH,MAAM,CAACK,aAAP,CAAqBN,IAArB;IACD;;;WAED,kBAASL,OAAT,EAAkBY,KAAlB,EAAyBC,KAAzB,EAAgC;MAC9BrC,GAAG,CAAC,YAAD,EAAewB,OAAf,EAAwBY,KAAxB,EAA+BC,KAA/B,CAAH;MAEA,KAAKhC,MAAL,CAAYS,KAAZ,CAAkB;QAChBC,IAAI,EAAE,UADU;QAEhBC,IAAI,EAAE,KAAKZ,eAFK;QAGhBgB,UAAU,EAAE;UACVC,IAAI,EAAE,KAAKlB,IAAL,CAAUkB;QADN,CAHI;QAMhBC,aAAa,EAAE;UACbD,IAAI,kCAAO,KAAKlB,IAAL,CAAUkB,IAAjB;YAAuBG,OAAO,EAAPA;UAAvB;QADS;MANC,CAAlB;MAUA,KAAKrB,IAAL,GAAYuB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKxB,IAAvB,EAA6B;QAAEkB,IAAI,EAAE;UAAEG,OAAO,EAAPA;QAAF;MAAR,CAA7B,CAAZ;IACD;;;;;eAGYtB,kB"}
|
package/lib/plugins/index.js
CHANGED
|
@@ -5,10 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.buildPlugins = exports.DEFAULT_PLUGINS = exports.ALL_PLUGINS = void 0;
|
|
8
|
+
exports.withPlugins = exports.buildPlugins = exports.DEFAULT_PLUGINS = exports.ALL_PLUGINS = void 0;
|
|
9
9
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
|
|
12
|
+
var _slateHistory = require("slate-history");
|
|
13
|
+
|
|
14
|
+
var _slateReact = require("slate-react");
|
|
15
|
+
|
|
12
16
|
var _FormatBold = _interopRequireDefault(require("@material-ui/icons/FormatBold"));
|
|
13
17
|
|
|
14
18
|
var _FormatListBulleted = _interopRequireDefault(require("@material-ui/icons/FormatListBulleted"));
|
|
@@ -45,43 +49,10 @@ var _table = _interopRequireDefault(require("./table"));
|
|
|
45
49
|
|
|
46
50
|
var _respArea = _interopRequireDefault(require("./respArea"));
|
|
47
51
|
|
|
52
|
+
var _hotKeys = _interopRequireDefault(require("./hotKeys"));
|
|
53
|
+
|
|
48
54
|
// import Code from '@material-ui/icons/Code';
|
|
49
55
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins');
|
|
50
|
-
|
|
51
|
-
function MarkHotkey(options) {
|
|
52
|
-
var type = options.type,
|
|
53
|
-
key = options.key,
|
|
54
|
-
icon = options.icon,
|
|
55
|
-
tag = options.tag; // Return our "plugin" object, containing the `onKeyDown` handler.
|
|
56
|
-
|
|
57
|
-
return {
|
|
58
|
-
toolbar: {
|
|
59
|
-
isMark: true,
|
|
60
|
-
type: type,
|
|
61
|
-
icon: icon,
|
|
62
|
-
onToggle: function onToggle(change) {
|
|
63
|
-
log('[onToggleMark] type: ', type);
|
|
64
|
-
return change.toggleMark(type);
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
renderMark: function renderMark(props) {
|
|
68
|
-
if (props.mark.type === type) {
|
|
69
|
-
var K = tag || type;
|
|
70
|
-
return /*#__PURE__*/_react["default"].createElement(K, null, props.children);
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
onKeyDown: function onKeyDown(event, change) {
|
|
74
|
-
// Check that the key pressed matches our `key` option.
|
|
75
|
-
if (!event.metaKey || event.key != key) return; // Prevent the default characters from being inserted.
|
|
76
|
-
|
|
77
|
-
event.preventDefault(); // Toggle the mark `type`.
|
|
78
|
-
|
|
79
|
-
change.toggleMark(type);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
|
|
85
56
|
var ALL_PLUGINS = ['bold', // 'code',
|
|
86
57
|
'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'table', 'video', 'audio', 'responseArea'];
|
|
87
58
|
exports.ALL_PLUGINS = ALL_PLUGINS;
|
|
@@ -101,23 +72,23 @@ var buildPlugins = function buildPlugins(activePlugins, opts) {
|
|
|
101
72
|
var imagePlugin = opts.image && opts.image.onDelete && (0, _image["default"])(opts.image);
|
|
102
73
|
var mathPlugin = (0, _math["default"])(opts.math);
|
|
103
74
|
var respAreaPlugin = opts.responseArea && opts.responseArea.type && (0, _respArea["default"])(opts.responseArea, (0, _compact["default"])([mathPlugin]));
|
|
104
|
-
return (0, _compact["default"])([addIf('table', (0, _table["default"])(opts.table, (0, _compact["default"])([imagePlugin, mathPlugin, respAreaPlugin]))), addIf('bold',
|
|
75
|
+
return (0, _compact["default"])([addIf('table', (0, _table["default"])(opts.table, (0, _compact["default"])([imagePlugin, mathPlugin, respAreaPlugin]))), addIf('bold', (0, _hotKeys["default"])({
|
|
105
76
|
key: 'b',
|
|
106
77
|
type: 'bold',
|
|
107
78
|
icon: /*#__PURE__*/_react["default"].createElement(_FormatBold["default"], null),
|
|
108
79
|
tag: 'strong'
|
|
109
80
|
})), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
|
|
110
|
-
addIf('italic',
|
|
81
|
+
addIf('italic', (0, _hotKeys["default"])({
|
|
111
82
|
key: 'i',
|
|
112
83
|
type: 'italic',
|
|
113
84
|
icon: /*#__PURE__*/_react["default"].createElement(_FormatItalic["default"], null),
|
|
114
85
|
tag: 'em'
|
|
115
|
-
})), addIf('strikethrough',
|
|
86
|
+
})), addIf('strikethrough', (0, _hotKeys["default"])({
|
|
116
87
|
key: '~',
|
|
117
88
|
type: 'strikethrough',
|
|
118
89
|
icon: /*#__PURE__*/_react["default"].createElement(_FormatStrikethrough["default"], null),
|
|
119
90
|
tag: 'del'
|
|
120
|
-
})), addIf('underline',
|
|
91
|
+
})), addIf('underline', (0, _hotKeys["default"])({
|
|
121
92
|
key: 'u',
|
|
122
93
|
type: 'underline',
|
|
123
94
|
icon: /*#__PURE__*/_react["default"].createElement(_FormatUnderlined["default"], null),
|
|
@@ -138,4 +109,15 @@ var buildPlugins = function buildPlugins(activePlugins, opts) {
|
|
|
138
109
|
};
|
|
139
110
|
|
|
140
111
|
exports.buildPlugins = buildPlugins;
|
|
141
|
-
|
|
112
|
+
|
|
113
|
+
var withPlugins = function withPlugins(editor, activePlugins) {
|
|
114
|
+
activePlugins.forEach(function (plugin) {
|
|
115
|
+
if (typeof plugin.rules === 'function') {
|
|
116
|
+
plugin.rules(editor);
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
return (0, _slateHistory.withHistory)((0, _slateReact.withReact)(editor));
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
exports.withPlugins = withPlugins;
|
|
123
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsb2ciLCJkZWJ1ZyIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9QTFVHSU5TIiwiZmlsdGVyIiwicGx1ZyIsImJ1aWxkUGx1Z2lucyIsImFjdGl2ZVBsdWdpbnMiLCJvcHRzIiwiYWRkSWYiLCJrZXkiLCJwIiwiaW5jbHVkZXMiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJJbWFnZVBsdWdpbiIsIm1hdGhQbHVnaW4iLCJNYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsIlJlc3BBcmVhUGx1Z2luIiwiY29tcGFjdCIsIlRhYmxlUGx1Z2luIiwidGFibGUiLCJNYXJrSG90a2V5IiwiaWNvbiIsInRhZyIsIk1lZGlhUGx1Z2luIiwibWVkaWEiLCJsYW5ndWFnZUNoYXJhY3RlcnMiLCJtYXAiLCJjb25maWciLCJDaGFyYWN0ZXJzUGx1Z2luIiwiTGlzdCIsIlRvb2xiYXJQbHVnaW4iLCJ0b29sYmFyIiwiU29mdEJyZWFrUGx1Z2luIiwic2hpZnQiLCJ3aXRoUGx1Z2lucyIsImVkaXRvciIsImZvckVhY2giLCJwbHVnaW4iLCJydWxlcyIsIndpdGhIaXN0b3J5Iiwid2l0aFJlYWN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BsdWdpbnMvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyB3aXRoUmVhY3QgfSBmcm9tICdzbGF0ZS1yZWFjdCc7XG5cbmltcG9ydCBCb2xkIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRCb2xkJztcbi8vIGltcG9ydCBDb2RlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Db2RlJztcbmltcG9ydCBCdWxsZXRlZExpc3RJY29uIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9Gb3JtYXRMaXN0QnVsbGV0ZWQnO1xuaW1wb3J0IE51bWJlcmVkTGlzdEljb24gZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdExpc3ROdW1iZXJlZCc7XG5pbXBvcnQgSW1hZ2VQbHVnaW4gZnJvbSAnLi9pbWFnZSc7XG5pbXBvcnQgTWVkaWFQbHVnaW4gZnJvbSAnLi9tZWRpYSc7XG5pbXBvcnQgQ2hhcmFjdGVyc1BsdWdpbiBmcm9tICcuL2NoYXJhY3RlcnMnO1xuaW1wb3J0IEl0YWxpYyBmcm9tICdAbWF0ZXJpYWwtdWkvaWNvbnMvRm9ybWF0SXRhbGljJztcbmltcG9ydCBNYXRoUGx1Z2luIGZyb20gJy4vbWF0aCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFN0cmlrZXRocm91Z2ggZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFN0cmlrZXRocm91Z2gnO1xuaW1wb3J0IFRvb2xiYXJQbHVnaW4gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCBVbmRlcmxpbmUgZnJvbSAnQG1hdGVyaWFsLXVpL2ljb25zL0Zvcm1hdFVuZGVybGluZWQnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IFNvZnRCcmVha1BsdWdpbiBmcm9tICdzbGF0ZS1zb2Z0LWJyZWFrJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgTGlzdCBmcm9tICcuL2xpc3QnO1xuaW1wb3J0IFRhYmxlUGx1Z2luIGZyb20gJy4vdGFibGUnO1xuaW1wb3J0IFJlc3BBcmVhUGx1Z2luIGZyb20gJy4vcmVzcEFyZWEnO1xuaW1wb3J0IE1hcmtIb3RrZXkgZnJvbSAnLi9ob3RLZXlzJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuXG5leHBvcnQgY29uc3QgQUxMX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgLy8gJ2NvZGUnLFxuICAnaXRhbGljJyxcbiAgJ3VuZGVybGluZScsXG4gICdzdHJpa2V0aHJvdWdoJyxcbiAgJ2J1bGxldGVkLWxpc3QnLFxuICAnbnVtYmVyZWQtbGlzdCcsXG4gICdpbWFnZScsXG4gICdtYXRoJyxcbiAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTFVHSU5TID0gQUxMX1BMVUdJTlMuZmlsdGVyKHBsdWcgPT4gcGx1ZyAhPT0gJ3Jlc3BvbnNlQXJlYScpO1xuXG5leHBvcnQgY29uc3QgYnVpbGRQbHVnaW5zID0gKGFjdGl2ZVBsdWdpbnMsIG9wdHMpID0+IHtcbiAgbG9nKCdbYnVpbGRQbHVnaW5zXSBvcHRzOiAnLCBvcHRzKTtcblxuICBhY3RpdmVQbHVnaW5zID0gYWN0aXZlUGx1Z2lucyB8fCBERUZBVUxUX1BMVUdJTlM7XG5cbiAgY29uc3QgYWRkSWYgPSAoa2V5LCBwKSA9PiBhY3RpdmVQbHVnaW5zLmluY2x1ZGVzKGtleSkgJiYgcDtcbiAgY29uc3QgaW1hZ2VQbHVnaW4gPSBvcHRzLmltYWdlICYmIG9wdHMuaW1hZ2Uub25EZWxldGUgJiYgSW1hZ2VQbHVnaW4ob3B0cy5pbWFnZSk7XG4gIGNvbnN0IG1hdGhQbHVnaW4gPSBNYXRoUGx1Z2luKG9wdHMubWF0aCk7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID1cbiAgICBvcHRzLnJlc3BvbnNlQXJlYSAmJlxuICAgIG9wdHMucmVzcG9uc2VBcmVhLnR5cGUgJiZcbiAgICBSZXNwQXJlYVBsdWdpbihvcHRzLnJlc3BvbnNlQXJlYSwgY29tcGFjdChbbWF0aFBsdWdpbl0pKTtcblxuICByZXR1cm4gY29tcGFjdChbXG4gICAgYWRkSWYoJ3RhYmxlJywgVGFibGVQbHVnaW4ob3B0cy50YWJsZSwgY29tcGFjdChbaW1hZ2VQbHVnaW4sIG1hdGhQbHVnaW4sIHJlc3BBcmVhUGx1Z2luXSkpKSxcbiAgICBhZGRJZignYm9sZCcsIE1hcmtIb3RrZXkoeyBrZXk6ICdiJywgdHlwZTogJ2JvbGQnLCBpY29uOiA8Qm9sZCAvPiwgdGFnOiAnc3Ryb25nJyB9KSksXG4gICAgLy8gYWRkSWYoJ2NvZGUnLCBNYXJrSG90a2V5KHsga2V5OiAnYCcsIHR5cGU6ICdjb2RlJywgaWNvbjogPENvZGUgLz4gfSkpLFxuICAgIGFkZElmKCdpdGFsaWMnLCBNYXJrSG90a2V5KHsga2V5OiAnaScsIHR5cGU6ICdpdGFsaWMnLCBpY29uOiA8SXRhbGljIC8+LCB0YWc6ICdlbScgfSkpLFxuICAgIGFkZElmKFxuICAgICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICAgTWFya0hvdGtleSh7XG4gICAgICAgIGtleTogJ34nLFxuICAgICAgICB0eXBlOiAnc3RyaWtldGhyb3VnaCcsXG4gICAgICAgIGljb246IDxTdHJpa2V0aHJvdWdoIC8+LFxuICAgICAgICB0YWc6ICdkZWwnXG4gICAgICB9KVxuICAgICksXG4gICAgYWRkSWYoJ3VuZGVybGluZScsIE1hcmtIb3RrZXkoeyBrZXk6ICd1JywgdHlwZTogJ3VuZGVybGluZScsIGljb246IDxVbmRlcmxpbmUgLz4sIHRhZzogJ3UnIH0pKSxcbiAgICBhZGRJZignaW1hZ2UnLCBpbWFnZVBsdWdpbiksXG4gICAgYWRkSWYoJ3ZpZGVvJywgTWVkaWFQbHVnaW4oJ3ZpZGVvJywgb3B0cy5tZWRpYSkpLFxuICAgIGFkZElmKCdhdWRpbycsIE1lZGlhUGx1Z2luKCdhdWRpbycsIG9wdHMubWVkaWEpKSxcbiAgICBhZGRJZignbWF0aCcsIG1hdGhQbHVnaW4pLFxuICAgIC4uLm9wdHMubGFuZ3VhZ2VDaGFyYWN0ZXJzLm1hcChjb25maWcgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIENoYXJhY3RlcnNQbHVnaW4oY29uZmlnKSkpLFxuICAgIGFkZElmKCdidWxsZXRlZC1saXN0JywgTGlzdCh7IGtleTogJ2wnLCB0eXBlOiAndWxfbGlzdCcsIGljb246IDxCdWxsZXRlZExpc3RJY29uIC8+IH0pKSxcbiAgICBhZGRJZignbnVtYmVyZWQtbGlzdCcsIExpc3QoeyBrZXk6ICduJywgdHlwZTogJ29sX2xpc3QnLCBpY29uOiA8TnVtYmVyZWRMaXN0SWNvbiAvPiB9KSksXG4gICAgVG9vbGJhclBsdWdpbihvcHRzLnRvb2xiYXIpLFxuICAgIFNvZnRCcmVha1BsdWdpbih7IHNoaWZ0OiB0cnVlIH0pLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnLCByZXNwQXJlYVBsdWdpbilcbiAgXSk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aFBsdWdpbnMgPSAoZWRpdG9yLCBhY3RpdmVQbHVnaW5zKSA9PiB7XG4gIGFjdGl2ZVBsdWdpbnMuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgIGlmICh0eXBlb2YgcGx1Z2luLnJ1bGVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwbHVnaW4ucnVsZXMoZWRpdG9yKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB3aXRoSGlzdG9yeSh3aXRoUmVhY3QoZWRpdG9yKSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQWxCQTtBQW9CQSxJQUFNQSxHQUFHLEdBQUcsSUFBQUMsaUJBQUEsRUFBTSxnQ0FBTixDQUFaO0FBRU8sSUFBTUMsV0FBVyxHQUFHLENBQ3pCLE1BRHlCLEVBRXpCO0FBQ0EsUUFIeUIsRUFJekIsV0FKeUIsRUFLekIsZUFMeUIsRUFNekIsZUFOeUIsRUFPekIsZUFQeUIsRUFRekIsT0FSeUIsRUFTekIsTUFUeUIsRUFVekIsb0JBVnlCLEVBV3pCLE9BWHlCLEVBWXpCLE9BWnlCLEVBYXpCLE9BYnlCLEVBY3pCLGNBZHlCLENBQXBCOztBQWlCQSxJQUFNQyxlQUFlLEdBQUdELFdBQVcsQ0FBQ0UsTUFBWixDQUFtQixVQUFBQyxJQUFJO0VBQUEsT0FBSUEsSUFBSSxLQUFLLGNBQWI7QUFBQSxDQUF2QixDQUF4Qjs7O0FBRUEsSUFB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
|
package/lib/plugins/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["log","debug","ALL_PLUGINS","DEFAULT_PLUGINS","filter","plug","buildPlugins","activePlugins","opts","addIf","key","p","includes","imagePlugin","image","onDelete","ImagePlugin","mathPlugin","MathPlugin","math","respAreaPlugin","responseArea","type","RespAreaPlugin","compact","TablePlugin","table","MarkHotkey","icon","tag","MediaPlugin","media","languageCharacters","map","config","CharactersPlugin","List","ToolbarPlugin","toolbar","SoftBreakPlugin","shift","withPlugins","editor","forEach","plugin","rules","withHistory","withReact"],"sources":["../../src/plugins/index.jsx"],"sourcesContent":["import { withHistory } from 'slate-history';\nimport { withReact } from 'slate-react';\n\nimport Bold from '@material-ui/icons/FormatBold';\n// import Code from '@material-ui/icons/Code';\nimport BulletedListIcon from '@material-ui/icons/FormatListBulleted';\nimport NumberedListIcon from '@material-ui/icons/FormatListNumbered';\nimport ImagePlugin from './image';\nimport MediaPlugin from './media';\nimport CharactersPlugin from './characters';\nimport Italic from '@material-ui/icons/FormatItalic';\nimport MathPlugin from './math';\nimport React from 'react';\nimport Strikethrough from '@material-ui/icons/FormatStrikethrough';\nimport ToolbarPlugin from './toolbar';\nimport Underline from '@material-ui/icons/FormatUnderlined';\nimport compact from 'lodash/compact';\nimport SoftBreakPlugin from 'slate-soft-break';\nimport debug from 'debug';\nimport List from './list';\nimport TablePlugin from './table';\nimport RespAreaPlugin from './respArea';\nimport MarkHotkey from './hotKeys';\n\nconst log = debug('@pie-lib:editable-html:plugins');\n\nexport const ALL_PLUGINS = [\n 'bold',\n // 'code',\n 'italic',\n 'underline',\n 'strikethrough',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'table',\n 'video',\n 'audio',\n 'responseArea'\n];\n\nexport const DEFAULT_PLUGINS = ALL_PLUGINS.filter(plug => plug !== 'responseArea');\n\nexport const buildPlugins = (activePlugins, opts) => {\n log('[buildPlugins] opts: ', opts);\n\n activePlugins = activePlugins || DEFAULT_PLUGINS;\n\n const addIf = (key, p) => activePlugins.includes(key) && p;\n const imagePlugin = opts.image && opts.image.onDelete && ImagePlugin(opts.image);\n const mathPlugin = MathPlugin(opts.math);\n const respAreaPlugin =\n opts.responseArea &&\n opts.responseArea.type &&\n RespAreaPlugin(opts.responseArea, compact([mathPlugin]));\n\n return compact([\n addIf('table', TablePlugin(opts.table, compact([imagePlugin, mathPlugin, respAreaPlugin]))),\n addIf('bold', MarkHotkey({ key: 'b', type: 'bold', icon: <Bold />, tag: 'strong' })),\n // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),\n addIf('italic', MarkHotkey({ key: 'i', type: 'italic', icon: <Italic />, tag: 'em' })),\n addIf(\n 'strikethrough',\n MarkHotkey({\n key: '~',\n type: 'strikethrough',\n icon: <Strikethrough />,\n tag: 'del'\n })\n ),\n addIf('underline', MarkHotkey({ key: 'u', type: 'underline', icon: <Underline />, tag: 'u' })),\n addIf('image', imagePlugin),\n addIf('video', MediaPlugin('video', opts.media)),\n addIf('audio', MediaPlugin('audio', opts.media)),\n addIf('math', mathPlugin),\n ...opts.languageCharacters.map(config => addIf('languageCharacters', CharactersPlugin(config))),\n addIf('bulleted-list', List({ key: 'l', type: 'ul_list', icon: <BulletedListIcon /> })),\n addIf('numbered-list', List({ key: 'n', type: 'ol_list', icon: <NumberedListIcon /> })),\n ToolbarPlugin(opts.toolbar),\n SoftBreakPlugin({ shift: true }),\n addIf('responseArea', respAreaPlugin)\n ]);\n};\n\nexport const withPlugins = (editor, activePlugins) => {\n activePlugins.forEach(plugin => {\n if (typeof plugin.rules === 'function') {\n plugin.rules(editor);\n }\n });\n\n return withHistory(withReact(editor));\n};\n"],"mappings":"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"}
|