@pie-lib/editable-html 7.17.4-next.50 → 7.17.4-next.501
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 +165 -0
- package/CHANGELOG.md +421 -0
- package/lib/editor.js +395 -174
- package/lib/editor.js.map +1 -1
- package/lib/index.js +66 -53
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +73 -0
- package/lib/plugins/characters/custom-popper.js.map +1 -0
- package/lib/plugins/characters/index.js +285 -0
- package/lib/plugins/characters/index.js.map +1 -0
- package/lib/plugins/characters/utils.js +381 -0
- package/lib/plugins/characters/utils.js.map +1 -0
- package/lib/plugins/image/alt-dialog.js +119 -0
- package/lib/plugins/image/alt-dialog.js.map +1 -0
- package/lib/plugins/image/component.js +253 -77
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +95 -61
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +62 -20
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +9 -15
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +20 -12
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +82 -14
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +50 -55
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +26 -25
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +45 -56
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +24 -30
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +28 -35
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +68 -46
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +12 -12
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +10 -9
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +11 -11
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +58 -42
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +8 -8
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +5 -5
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/icons/index.js +12 -12
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +83 -27
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +41 -50
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +19 -13
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +5 -5
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +55 -45
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +5 -5
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +49 -52
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +69 -63
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +32 -9
- package/lib/serialization.js.map +1 -1
- package/lib/theme.js.map +1 -1
- package/package.json +7 -6
- package/src/editor.jsx +225 -26
- package/src/index.jsx +22 -5
- package/src/plugins/characters/custom-popper.js +48 -0
- package/src/plugins/characters/index.jsx +268 -0
- package/src/plugins/characters/utils.js +447 -0
- package/src/plugins/image/alt-dialog.jsx +69 -0
- package/src/plugins/image/component.jsx +204 -21
- package/src/plugins/image/image-toolbar.jsx +68 -22
- package/src/plugins/image/index.jsx +47 -9
- package/src/plugins/index.jsx +4 -1
- package/src/plugins/list/index.jsx +67 -5
- package/src/plugins/math/index.jsx +31 -37
- package/src/plugins/media/index.jsx +3 -0
- package/src/plugins/media/media-dialog.js +1 -1
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +28 -1
- package/src/plugins/respArea/explicit-constructed-response/index.jsx +3 -3
- package/src/plugins/respArea/index.jsx +50 -31
- package/src/plugins/table/index.jsx +63 -14
- package/src/plugins/toolbar/default-toolbar.jsx +20 -2
- package/src/plugins/toolbar/editor-and-toolbar.jsx +39 -5
- package/src/plugins/toolbar/toolbar-buttons.jsx +13 -2
- package/src/plugins/toolbar/toolbar.jsx +22 -4
- package/src/serialization.jsx +19 -3
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = exports.Toolbar = void 0;
|
|
7
9
|
|
|
8
|
-
var
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _react = _interopRequireDefault(require("react"));
|
|
25
|
+
|
|
26
|
+
var _slate = require("slate");
|
|
9
27
|
|
|
10
28
|
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
11
29
|
|
|
@@ -13,8 +31,6 @@ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton")
|
|
|
13
31
|
|
|
14
32
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
33
|
|
|
16
|
-
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
|
|
18
34
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
35
|
|
|
20
36
|
var _debug = _interopRequireDefault(require("debug"));
|
|
@@ -23,37 +39,23 @@ var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
|
|
|
23
39
|
|
|
24
40
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
25
41
|
|
|
42
|
+
var _doneButton = require("./done-button");
|
|
43
|
+
|
|
26
44
|
var _utils = require("../utils");
|
|
27
45
|
|
|
28
46
|
var _styles = require("@material-ui/core/styles");
|
|
29
47
|
|
|
30
48
|
var _defaultToolbar = _interopRequireDefault(require("./default-toolbar"));
|
|
31
49
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
35
|
-
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
37
|
-
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
39
|
-
|
|
40
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
41
|
-
|
|
42
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
43
|
-
|
|
44
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
50
|
+
var _characters = require("../characters");
|
|
45
51
|
|
|
46
|
-
function
|
|
52
|
+
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; }
|
|
47
53
|
|
|
48
|
-
function
|
|
54
|
+
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; }
|
|
49
55
|
|
|
50
|
-
function
|
|
56
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
51
57
|
|
|
52
|
-
function
|
|
53
|
-
|
|
54
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
55
|
-
|
|
56
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
58
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
57
59
|
|
|
58
60
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
|
|
59
61
|
|
|
@@ -80,33 +82,29 @@ var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone
|
|
|
80
82
|
}
|
|
81
83
|
};
|
|
82
84
|
|
|
83
|
-
var Toolbar =
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
86
|
+
(0, _inherits2["default"])(Toolbar, _React$Component);
|
|
87
|
+
|
|
88
|
+
var _super = _createSuper(Toolbar);
|
|
87
89
|
|
|
88
90
|
function Toolbar(props) {
|
|
89
91
|
var _this;
|
|
90
92
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
_defineProperty(_assertThisInitialized(_this), "hasMark", function (type) {
|
|
93
|
+
(0, _classCallCheck2["default"])(this, Toolbar);
|
|
94
|
+
_this = _super.call(this, props);
|
|
95
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasMark", function (type) {
|
|
96
96
|
var value = _this.props.value;
|
|
97
97
|
return value.marks.some(function (mark) {
|
|
98
98
|
return mark.type == type;
|
|
99
99
|
});
|
|
100
100
|
});
|
|
101
|
-
|
|
102
|
-
_defineProperty(_assertThisInitialized(_this), "hasBlock", function (type) {
|
|
101
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "hasBlock", function (type) {
|
|
103
102
|
var value = _this.props.value;
|
|
104
103
|
return value.blocks.some(function (node) {
|
|
105
104
|
return node.type == type;
|
|
106
105
|
});
|
|
107
106
|
});
|
|
108
|
-
|
|
109
|
-
_defineProperty(_assertThisInitialized(_this), "onToggle", function (plugin) {
|
|
107
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToggle", function (plugin) {
|
|
110
108
|
var _this$props = _this.props,
|
|
111
109
|
value = _this$props.value,
|
|
112
110
|
onChange = _this$props.onChange;
|
|
@@ -114,20 +112,17 @@ function (_React$Component) {
|
|
|
114
112
|
var change = plugin.onToggle(value.change());
|
|
115
113
|
onChange(change);
|
|
116
114
|
});
|
|
117
|
-
|
|
118
|
-
_defineProperty(_assertThisInitialized(_this), "onClick", function (e) {
|
|
115
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onClick", function (e) {
|
|
119
116
|
log('[onClick]');
|
|
120
117
|
e.preventDefault();
|
|
121
118
|
});
|
|
122
|
-
|
|
123
|
-
_defineProperty(_assertThisInitialized(_this), "onButtonClick", function (fn) {
|
|
119
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onButtonClick", function (fn) {
|
|
124
120
|
return function (e) {
|
|
125
121
|
e.preventDefault();
|
|
126
122
|
fn();
|
|
127
123
|
};
|
|
128
124
|
});
|
|
129
|
-
|
|
130
|
-
_defineProperty(_assertThisInitialized(_this), "onToolbarDone", function (change, finishEditing) {
|
|
125
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onToolbarDone", function (change, finishEditing) {
|
|
131
126
|
log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);
|
|
132
127
|
var _this$props2 = _this.props,
|
|
133
128
|
onChange = _this$props2.onChange,
|
|
@@ -146,24 +141,26 @@ function (_React$Component) {
|
|
|
146
141
|
}
|
|
147
142
|
}
|
|
148
143
|
});
|
|
149
|
-
|
|
150
|
-
_defineProperty(_assertThisInitialized(_this), "onDeleteClick", (0, _debounce["default"])(function (e, plugin, node, value, onChange) {
|
|
144
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteClick", (0, _debounce["default"])(function (e, plugin, node, value, onChange) {
|
|
151
145
|
return plugin.deleteNode(e, node, value, onChange);
|
|
152
146
|
}, 500));
|
|
153
|
-
|
|
154
|
-
_defineProperty(_assertThisInitialized(_this), "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
|
|
147
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
|
|
155
148
|
e.persist();
|
|
156
149
|
|
|
157
150
|
_this.onDeleteClick(e, plugin, node, value, onChange);
|
|
158
151
|
});
|
|
159
|
-
|
|
160
152
|
_this.state = {
|
|
161
153
|
change: null
|
|
162
154
|
};
|
|
163
155
|
return _this;
|
|
164
156
|
}
|
|
165
157
|
|
|
166
|
-
|
|
158
|
+
(0, _createClass2["default"])(Toolbar, [{
|
|
159
|
+
key: "componentWillUnmount",
|
|
160
|
+
value: function componentWillUnmount() {
|
|
161
|
+
(0, _characters.removeDialogs)();
|
|
162
|
+
}
|
|
163
|
+
}, {
|
|
167
164
|
key: "render",
|
|
168
165
|
value: function render() {
|
|
169
166
|
var _this2 = this,
|
|
@@ -177,8 +174,10 @@ function (_React$Component) {
|
|
|
177
174
|
value = _this$props3.value,
|
|
178
175
|
autoWidth = _this$props3.autoWidth,
|
|
179
176
|
onChange = _this$props3.onChange,
|
|
177
|
+
getFocusedValue = _this$props3.getFocusedValue,
|
|
180
178
|
isFocused = _this$props3.isFocused,
|
|
181
|
-
onDone = _this$props3.onDone
|
|
179
|
+
onDone = _this$props3.onDone,
|
|
180
|
+
toolbarRef = _this$props3.toolbarRef;
|
|
182
181
|
var node = (0, _utils.findSingleNode)(value);
|
|
183
182
|
var parentNode = (0, _utils.findParentNode)(value, node);
|
|
184
183
|
log(' --------------> [render] node: ', node);
|
|
@@ -204,6 +203,11 @@ function (_React$Component) {
|
|
|
204
203
|
log('[render] plugin: ', plugin);
|
|
205
204
|
|
|
206
205
|
var handleDone = function handleDone(change, done) {
|
|
206
|
+
// use handler only if this is an actual Slate Change
|
|
207
|
+
if (!(change instanceof _slate.Change)) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
207
211
|
var handler = onDone;
|
|
208
212
|
|
|
209
213
|
if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {
|
|
@@ -227,35 +231,37 @@ function (_React$Component) {
|
|
|
227
231
|
var parentExtraStyles = parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};
|
|
228
232
|
var pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};
|
|
229
233
|
|
|
230
|
-
var extraStyles = _objectSpread({}, pluginExtraStyles,
|
|
234
|
+
var extraStyles = _objectSpread(_objectSpread({}, pluginExtraStyles), parentExtraStyles);
|
|
231
235
|
|
|
232
236
|
var deletable = node && plugin && plugin.deleteNode;
|
|
233
237
|
var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible; // If there is a toolbarOpts we check if the showDone is not equal to false
|
|
234
238
|
|
|
235
239
|
var defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;
|
|
236
240
|
var hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;
|
|
237
|
-
var names = (0, _classnames["default"])(classes.toolbar, (_classNames = {},
|
|
238
|
-
return _react["default"].createElement("div", {
|
|
241
|
+
var names = (0, _classnames["default"])(classes.toolbar, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.toolbarWithNoDone, !hasDoneButton), (0, _defineProperty2["default"])(_classNames, classes.toolbarTop, toolbarOpts.position === 'top'), (0, _defineProperty2["default"])(_classNames, classes.toolbarRight, toolbarOpts.alignment === 'right'), (0, _defineProperty2["default"])(_classNames, classes.focused, toolbarOpts.alwaysVisible || isFocused), (0, _defineProperty2["default"])(_classNames, classes.autoWidth, autoWidth), (0, _defineProperty2["default"])(_classNames, classes.fullWidth, !autoWidth), _classNames));
|
|
242
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
239
243
|
className: names,
|
|
240
244
|
style: extraStyles,
|
|
241
|
-
onClick: this.onClick
|
|
242
|
-
|
|
245
|
+
onClick: this.onClick,
|
|
246
|
+
ref: toolbarRef
|
|
247
|
+
}, CustomToolbar ? /*#__PURE__*/_react["default"].createElement(CustomToolbar, {
|
|
243
248
|
node: node,
|
|
244
249
|
value: value,
|
|
245
250
|
onToolbarDone: this.onToolbarDone,
|
|
246
251
|
onDataChange: handleDataChange,
|
|
247
252
|
pluginProps: pluginProps
|
|
248
|
-
}) : _react["default"].createElement(_defaultToolbar["default"], {
|
|
253
|
+
}) : /*#__PURE__*/_react["default"].createElement(_defaultToolbar["default"], {
|
|
249
254
|
plugins: filteredPlugins,
|
|
250
255
|
pluginProps: pluginProps,
|
|
251
256
|
value: value,
|
|
252
257
|
onChange: onChange,
|
|
258
|
+
getFocusedValue: getFocusedValue,
|
|
253
259
|
showDone: defaultToolbarShowDone,
|
|
254
260
|
onDone: handleDone,
|
|
255
261
|
deletable: deletable
|
|
256
|
-
}), _react["default"].createElement("div", {
|
|
262
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
257
263
|
className: classes.shared
|
|
258
|
-
}, deletable && _react["default"].createElement(_IconButton["default"], {
|
|
264
|
+
}, deletable && /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
259
265
|
"aria-label": "Delete",
|
|
260
266
|
className: classes.iconRoot,
|
|
261
267
|
onMouseDown: function onMouseDown(e) {
|
|
@@ -264,38 +270,38 @@ function (_React$Component) {
|
|
|
264
270
|
classes: {
|
|
265
271
|
root: classes.iconRoot
|
|
266
272
|
}
|
|
267
|
-
}, _react["default"].createElement(_Delete["default"], null)), customToolbarShowDone && _react["default"].createElement(_doneButton.DoneButton, {
|
|
273
|
+
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)), customToolbarShowDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
268
274
|
onClick: handleDone
|
|
269
275
|
})));
|
|
270
276
|
}
|
|
271
277
|
}]);
|
|
272
|
-
|
|
273
278
|
return Toolbar;
|
|
274
279
|
}(_react["default"].Component);
|
|
275
280
|
|
|
276
281
|
exports.Toolbar = Toolbar;
|
|
277
|
-
|
|
278
|
-
_defineProperty(Toolbar, "propTypes", {
|
|
282
|
+
(0, _defineProperty2["default"])(Toolbar, "propTypes", {
|
|
279
283
|
zIndex: _propTypes["default"].number,
|
|
280
284
|
value: _slatePropTypes["default"].value.isRequired,
|
|
281
285
|
plugins: _propTypes["default"].array,
|
|
282
286
|
plugin: _propTypes["default"].object,
|
|
283
287
|
onImageClick: _propTypes["default"].func,
|
|
284
288
|
onDone: _propTypes["default"].func.isRequired,
|
|
289
|
+
toolbarRef: _propTypes["default"].func.isRequired,
|
|
285
290
|
classes: _propTypes["default"].object.isRequired,
|
|
286
291
|
isFocused: _propTypes["default"].bool,
|
|
287
292
|
autoWidth: _propTypes["default"].bool,
|
|
288
293
|
onChange: _propTypes["default"].func.isRequired,
|
|
294
|
+
getFocusedValue: _propTypes["default"].func.isRequired,
|
|
289
295
|
pluginProps: _propTypes["default"].object,
|
|
290
296
|
toolbarOpts: _propTypes["default"].shape({
|
|
291
297
|
position: _propTypes["default"].oneOf(['bottom', 'top']),
|
|
292
298
|
alignment: _propTypes["default"].oneOf(['left', 'right']),
|
|
293
299
|
alwaysVisible: _propTypes["default"].bool,
|
|
300
|
+
ref: _propTypes["default"].func,
|
|
294
301
|
showDone: _propTypes["default"].bool
|
|
295
302
|
}),
|
|
296
303
|
onDataChange: _propTypes["default"].func
|
|
297
304
|
});
|
|
298
|
-
|
|
299
305
|
var style = {
|
|
300
306
|
toolbar: {
|
|
301
307
|
position: 'absolute',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"names":["log","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","deleteNode","persist","onDeleteClick","state","classes","plugins","pluginProps","toolbarOpts","autoWidth","isFocused","parentNode","find","p","supports","parentPlugin","done","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","index"],"mappings":"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","sourcesContent":["import { DoneButton } from './done-button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n showDone: PropTypes.bool\n }),\n onDataChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null\n };\n }\n\n hasMark = type => {\n const { value } = this.props;\n return value.marks.some(mark => mark.type == type);\n };\n\n hasBlock = type => {\n const { value } = this.props;\n return value.blocks.some(node => node.type == type);\n };\n\n onToggle = plugin => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = fn => {\n return e => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n if (change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce(\n (e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange),\n 500\n );\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n isFocused,\n onDone\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find(p => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find(p => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(\n plugin,\n node,\n value,\n handleDone,\n this.props.onDataChange\n );\n\n const filteredPlugins =\n plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles\n ? parentPlugin.pluginStyles(node, parentNode, plugin)\n : {};\n const pluginExtraStyles =\n plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={e => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none'\n },\n toolbarWithNoDone: {\n minWidth: '265px'\n },\n toolbarTop: {\n top: '-45px'\n },\n toolbarRight: {\n right: 0\n },\n fullWidth: {\n width: '100%'\n },\n autoWidth: {\n width: 'auto'\n },\n focused: {\n display: 'flex'\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top'\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)'\n },\n shared: {\n display: 'flex'\n }\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"file":"toolbar.js"}
|
|
1
|
+
{"version":3,"file":"toolbar.js","names":["log","debug","getCustomToolbar","plugin","node","value","handleDone","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","debounce","deleteNode","persist","onDeleteClick","state","removeCharacterDialogs","classes","plugins","pluginProps","toolbarOpts","autoWidth","getFocusedValue","isFocused","toolbarRef","findSingleNode","parentNode","findParentNode","find","p","supports","parentPlugin","done","Change","handler","onToolbarDone","handleDataChange","key","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","hasDoneButton","names","classNames","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","onClick","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","style","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","top","right","width","height","verticalAlign","label","color","withStyles","index"],"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { Change } from 'slate';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport SlatePropTypes from 'slate-prop-types';\nimport debounce from 'lodash/debounce';\n\nimport { DoneButton } from './done-button';\n\nimport { findSingleNode, findParentNode } from '../utils';\nimport { withStyles } from '@material-ui/core/styles';\nimport DefaultToolbar from './default-toolbar';\nimport { removeDialogs as removeCharacterDialogs } from '../characters';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, onDataChange) => {\n if (!plugin) {\n return;\n }\n if (!plugin.toolbar) {\n return;\n }\n if (plugin.toolbar.CustomToolbarComp) {\n /**\n * Using a pre-defined Component should be preferred\n * as the rendering of it (and it's children) can be optimized by React.\n * If you keep re-defining the comp with an inline function\n * then react will have to re-render.\n */\n return plugin.toolbar.CustomToolbarComp;\n } else if (typeof plugin.toolbar.customToolbar === 'function') {\n log('deprecated - use CustomToolbarComp');\n return plugin.toolbar.customToolbar(node, value, handleDone, onDataChange);\n }\n};\n\nexport class Toolbar extends React.Component {\n static propTypes = {\n zIndex: PropTypes.number,\n value: SlatePropTypes.value.isRequired,\n plugins: PropTypes.array,\n plugin: PropTypes.object,\n onImageClick: PropTypes.func,\n onDone: PropTypes.func.isRequired,\n toolbarRef: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n isFocused: PropTypes.bool,\n autoWidth: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n getFocusedValue: PropTypes.func.isRequired,\n pluginProps: PropTypes.object,\n toolbarOpts: PropTypes.shape({\n position: PropTypes.oneOf(['bottom', 'top']),\n alignment: PropTypes.oneOf(['left', 'right']),\n alwaysVisible: PropTypes.bool,\n ref: PropTypes.func,\n showDone: PropTypes.bool\n }),\n onDataChange: PropTypes.func\n };\n\n constructor(props) {\n super(props);\n this.state = {\n change: null\n };\n }\n\n componentWillUnmount() {\n removeCharacterDialogs();\n }\n\n hasMark = type => {\n const { value } = this.props;\n return value.marks.some(mark => mark.type == type);\n };\n\n hasBlock = type => {\n const { value } = this.props;\n return value.blocks.some(node => node.type == type);\n };\n\n onToggle = plugin => {\n const { value, onChange } = this.props;\n\n if (!plugin.onToggle) return;\n\n const change = plugin.onToggle(value.change());\n onChange(change);\n };\n\n onClick = e => {\n log('[onClick]');\n e.preventDefault();\n };\n\n onButtonClick = fn => {\n return e => {\n e.preventDefault();\n fn();\n };\n };\n\n onToolbarDone = (change, finishEditing) => {\n log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);\n const { onChange, onDone } = this.props;\n\n if (change) {\n onChange(change, () => {\n if (finishEditing) {\n onDone();\n }\n });\n } else {\n if (finishEditing) {\n log('[onToolbarChange] call onDone');\n onDone();\n }\n }\n };\n\n onDeleteClick = debounce(\n (e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange),\n 500\n );\n\n onDeleteMouseDown = (e, plugin, node, value, onChange) => {\n e.persist();\n this.onDeleteClick(e, plugin, node, value, onChange);\n };\n\n render() {\n const {\n classes,\n plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n getFocusedValue,\n isFocused,\n onDone,\n toolbarRef\n } = this.props;\n\n const node = findSingleNode(value);\n const parentNode = findParentNode(value, node);\n\n log(' --------------> [render] node: ', node);\n log('[render] node: ', node);\n\n const plugin = plugins.find(p => {\n if (!node) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(node, value);\n }\n });\n const parentPlugin = plugins.find(p => {\n if (!parentNode) {\n return;\n }\n\n if (p.toolbar) {\n return p.toolbar.supports && p.toolbar.supports(parentNode, value);\n }\n });\n\n log('[render] plugin: ', plugin);\n\n const handleDone = (change, done) => {\n // use handler only if this is an actual Slate Change\n if (!(change instanceof Change)) {\n return;\n }\n\n let handler = onDone;\n\n if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {\n handler = this.onToolbarDone;\n }\n\n handler(change, done);\n\n if (parentPlugin && parentPlugin.handleDone) {\n parentPlugin.handleDone(value, node, plugin, onChange);\n }\n };\n\n const handleDataChange = (key, data) => {\n this.props.onDataChange(key, data);\n };\n\n const CustomToolbar = getCustomToolbar(\n plugin,\n node,\n value,\n handleDone,\n this.props.onDataChange\n );\n\n const filteredPlugins =\n plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles\n ? parentPlugin.pluginStyles(node, parentNode, plugin)\n : {};\n const pluginExtraStyles =\n plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};\n const extraStyles = {\n ...pluginExtraStyles,\n ...parentExtraStyles\n };\n\n const deletable = node && plugin && plugin.deleteNode;\n const customToolbarShowDone =\n node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;\n\n // If there is a toolbarOpts we check if the showDone is not equal to false\n const defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;\n\n const hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;\n\n const names = classNames(classes.toolbar, {\n [classes.toolbarWithNoDone]: !hasDoneButton,\n [classes.toolbarTop]: toolbarOpts.position === 'top',\n [classes.toolbarRight]: toolbarOpts.alignment === 'right',\n [classes.focused]: toolbarOpts.alwaysVisible || isFocused,\n [classes.autoWidth]: autoWidth,\n [classes.fullWidth]: !autoWidth\n });\n\n return (\n <div className={names} style={extraStyles} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n onToolbarDone={this.onToolbarDone}\n onDataChange={handleDataChange}\n pluginProps={pluginProps}\n />\n ) : (\n <DefaultToolbar\n plugins={filteredPlugins}\n pluginProps={pluginProps}\n value={value}\n onChange={onChange}\n getFocusedValue={getFocusedValue}\n showDone={defaultToolbarShowDone}\n onDone={handleDone}\n deletable={deletable}\n />\n )}\n\n <div className={classes.shared}>\n {deletable && (\n <IconButton\n aria-label=\"Delete\"\n className={classes.iconRoot}\n onMouseDown={e => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n classes={{\n root: classes.iconRoot\n }}\n >\n <Delete />\n </IconButton>\n )}\n {customToolbarShowDone && <DoneButton onClick={handleDone} />}\n </div>\n </div>\n );\n }\n}\n\nconst style = {\n toolbar: {\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: '280px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'none'\n },\n toolbarWithNoDone: {\n minWidth: '265px'\n },\n toolbarTop: {\n top: '-45px'\n },\n toolbarRight: {\n right: 0\n },\n fullWidth: {\n width: '100%'\n },\n autoWidth: {\n width: 'auto'\n },\n focused: {\n display: 'flex'\n },\n iconRoot: {\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top'\n },\n label: {\n color: 'var(--editable-html-toolbar-check, #00bb00)'\n },\n shared: {\n display: 'flex'\n }\n};\nexport default withStyles(style, { index: 1000 })(Toolbar);\n"],"mappings":"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"}
|
package/lib/plugins/utils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.hasNode = exports.
|
|
6
|
+
exports.hasNode = exports.hasMark = exports.hasBlock = exports.findSingleNode = exports.findParentNode = void 0;
|
|
7
7
|
|
|
8
8
|
var findSingleNode = function findSingleNode(value) {
|
|
9
9
|
if (!value || !value.isCollapsed || !value.startKey) {
|
package/lib/plugins/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["findSingleNode","value","isCollapsed","startKey","inline","document","getClosestInline","block","getClosestBlock","findParentNode","node","getParent","key","hasMark","type","marks","some","mark","hasBlock","blocks","hasNode","nodes"],"sources":["../../src/plugins/utils.js"],"sourcesContent":["export const findSingleNode = value => {\n if (!value || !value.isCollapsed || !value.startKey) {\n return;\n }\n\n const inline = value.document.getClosestInline(value.startKey);\n\n if (inline) {\n return inline;\n }\n\n const block = value.document.getClosestBlock(value.startKey);\n\n if (block) {\n return block;\n }\n};\n\nexport const findParentNode = (value, node) => {\n if (!value || !node) {\n return;\n }\n\n return value.document.getParent(node.key);\n};\n\nexport const hasMark = (value, type) => value && value.marks.some(mark => mark.type == type);\n\nexport const hasBlock = (value, type) => value && value.blocks.some(node => node.type == type);\n\nexport const hasNode = ({ document }, type) =>\n document && document.nodes.some(node => node.type == type);\n"],"mappings":";;;;;;;AAAO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,KAAK,EAAI;EACrC,IAAI,CAACA,KAAD,IAAU,CAACA,KAAK,CAACC,WAAjB,IAAgC,CAACD,KAAK,CAACE,QAA3C,EAAqD;IACnD;EACD;;EAED,IAAMC,MAAM,GAAGH,KAAK,CAACI,QAAN,CAAeC,gBAAf,CAAgCL,KAAK,CAACE,QAAtC,CAAf;;EAEA,IAAIC,MAAJ,EAAY;IACV,OAAOA,MAAP;EACD;;EAED,IAAMG,KAAK,GAAGN,KAAK,CAACI,QAAN,CAAeG,eAAf,CAA+BP,KAAK,CAACE,QAArC,CAAd;;EAEA,IAAII,KAAJ,EAAW;IACT,OAAOA,KAAP;EACD;AACF,CAhBM;;;;AAkBA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,CAACR,KAAD,EAAQS,IAAR,EAAiB;EAC7C,IAAI,CAACT,KAAD,IAAU,CAACS,IAAf,EAAqB;IACnB;EACD;;EAED,OAAOT,KAAK,CAACI,QAAN,CAAeM,SAAf,CAAyBD,IAAI,CAACE,GAA9B,CAAP;AACD,CANM;;;;AAQA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACZ,KAAD,EAAQa,IAAR;EAAA,OAAiBb,KAAK,IAAIA,KAAK,CAACc,KAAN,CAAYC,IAAZ,CAAiB,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACH,IAAL,IAAaA,IAAjB;EAAA,CAArB,CAA1B;AAAA,CAAhB;;;;AAEA,IAAMI,QAAQ,GAAG,SAAXA,QAAW,CAACjB,KAAD,EAAQa,IAAR;EAAA,OAAiBb,KAAK,IAAIA,KAAK,CAACkB,MAAN,CAAaH,IAAb,CAAkB,UAAAN,IAAI;IAAA,OAAIA,IAAI,CAACI,IAAL,IAAaA,IAAjB;EAAA,CAAtB,CAA1B;AAAA,CAAjB;;;;AAEA,IAAMM,OAAO,GAAG,SAAVA,OAAU,OAAeN,IAAf;EAAA,IAAGT,QAAH,QAAGA,QAAH;EAAA,OACrBA,QAAQ,IAAIA,QAAQ,CAACgB,KAAT,CAAeL,IAAf,CAAoB,UAAAN,IAAI;IAAA,OAAIA,IAAI,CAACI,IAAL,IAAaA,IAAjB;EAAA,CAAxB,CADS;AAAA,CAAhB"}
|
package/lib/serialization.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.valueToHtml = exports.
|
|
8
|
+
exports.valueToHtml = exports.reactAttributes = exports.parseStyleString = exports.htmlToValue = exports.getBase64 = exports.TEXT_RULE = exports.BLOCK_TAGS = void 0;
|
|
7
9
|
|
|
8
10
|
var _slateHtmlSerializer = _interopRequireDefault(require("slate-html-serializer"));
|
|
9
11
|
|
|
@@ -27,8 +29,6 @@ var _respArea = require("./plugins/respArea");
|
|
|
27
29
|
|
|
28
30
|
var _slate = require("slate");
|
|
29
31
|
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
|
-
|
|
32
32
|
var log = (0, _debug["default"])('@pie-lib:editable-html:serialization');
|
|
33
33
|
/**
|
|
34
34
|
* Tags to blocks.
|
|
@@ -79,9 +79,27 @@ var parseStyleString = function parseStyleString(s) {
|
|
|
79
79
|
|
|
80
80
|
exports.parseStyleString = parseStyleString;
|
|
81
81
|
|
|
82
|
+
var getBase64 = function getBase64(file) {
|
|
83
|
+
return new Promise(function (resolve, reject) {
|
|
84
|
+
var reader = new FileReader();
|
|
85
|
+
reader.readAsDataURL(file);
|
|
86
|
+
|
|
87
|
+
reader.onload = function () {
|
|
88
|
+
return resolve(reader.result);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
reader.onerror = function (error) {
|
|
92
|
+
return reject(error);
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
exports.getBase64 = getBase64;
|
|
98
|
+
|
|
82
99
|
var reactAttributes = function reactAttributes(o) {
|
|
83
100
|
return (0, _toStyle.object)(o, {
|
|
84
|
-
camelize: true
|
|
101
|
+
camelize: true,
|
|
102
|
+
addUnits: false
|
|
85
103
|
});
|
|
86
104
|
};
|
|
87
105
|
|
|
@@ -150,7 +168,7 @@ var blocks = {
|
|
|
150
168
|
for (key in BLOCK_TAGS) {
|
|
151
169
|
if (BLOCK_TAGS[key] === object.type) {
|
|
152
170
|
var Tag = key;
|
|
153
|
-
return _react["default"].createElement(Tag, jsonData.attributes, children);
|
|
171
|
+
return /*#__PURE__*/_react["default"].createElement(Tag, jsonData.attributes, children);
|
|
154
172
|
}
|
|
155
173
|
}
|
|
156
174
|
}
|
|
@@ -171,7 +189,7 @@ var marks = {
|
|
|
171
189
|
for (var key in MARK_TAGS) {
|
|
172
190
|
if (MARK_TAGS[key] === object.type) {
|
|
173
191
|
var Tag = key;
|
|
174
|
-
return _react["default"].createElement(Tag, null, children);
|
|
192
|
+
return /*#__PURE__*/_react["default"].createElement(Tag, null, children);
|
|
175
193
|
}
|
|
176
194
|
}
|
|
177
195
|
}
|
|
@@ -222,7 +240,7 @@ var TEXT_RULE = {
|
|
|
222
240
|
serialize: function serialize(obj, children) {
|
|
223
241
|
if (obj.object === 'string') {
|
|
224
242
|
return children.split('\n').reduce(function (array, text, i) {
|
|
225
|
-
if (i !== 0) array.push(_react["default"].createElement("br", null));
|
|
243
|
+
if (i !== 0) array.push( /*#__PURE__*/_react["default"].createElement("br", null));
|
|
226
244
|
array.push(text);
|
|
227
245
|
return array;
|
|
228
246
|
}, []);
|
|
@@ -361,7 +379,7 @@ serializer.deserialize = function deserialize(html) {
|
|
|
361
379
|
};
|
|
362
380
|
var i;
|
|
363
381
|
|
|
364
|
-
for (i = 0; i <
|
|
382
|
+
for (i = 0; i < 3000; i++) {
|
|
365
383
|
json.schema.rules.push({
|
|
366
384
|
match: {
|
|
367
385
|
object: 'document'
|
|
@@ -384,7 +402,12 @@ serializer.deserialize = function deserialize(html) {
|
|
|
384
402
|
};
|
|
385
403
|
|
|
386
404
|
var htmlToValue = function htmlToValue(html) {
|
|
387
|
-
|
|
405
|
+
try {
|
|
406
|
+
return serializer.deserialize(html);
|
|
407
|
+
} catch (e) {
|
|
408
|
+
console.log("Couldn't parse html: ", e);
|
|
409
|
+
return {};
|
|
410
|
+
}
|
|
388
411
|
};
|
|
389
412
|
|
|
390
413
|
exports.htmlToValue = htmlToValue;
|