@pie-lib/editable-html 11.18.6-esmbeta.0 → 11.19.0-mui-update.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/lib/block-tags.js +2 -3
- package/lib/block-tags.js.map +1 -1
- package/lib/constants.js +3 -6
- package/lib/constants.js.map +1 -1
- package/lib/editor.js +302 -450
- package/lib/editor.js.map +1 -1
- package/lib/index.js +19 -77
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js +7 -7
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +24 -44
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +9 -60
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +3 -6
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/css/icons/index.js +13 -25
- package/lib/plugins/css/icons/index.js.map +1 -1
- package/lib/plugins/css/index.js +22 -88
- package/lib/plugins/css/index.js.map +1 -1
- package/lib/plugins/customPlugin/index.js +10 -26
- package/lib/plugins/customPlugin/index.js.map +1 -1
- package/lib/plugins/html/icons/index.js +14 -26
- package/lib/plugins/html/icons/index.js.map +1 -1
- package/lib/plugins/html/index.js +4 -13
- package/lib/plugins/html/index.js.map +1 -1
- package/lib/plugins/image/alt-dialog.js +20 -49
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +119 -190
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +44 -86
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +6 -46
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +10 -31
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +44 -106
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/index.js +27 -73
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/index.js +64 -116
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/index.js +23 -81
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +192 -307
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +40 -65
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +20 -49
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/rendering/index.js +5 -15
- package/lib/plugins/rendering/index.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +175 -249
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +39 -29
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +3 -10
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +22 -45
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +5 -59
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +2 -10
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/math-templated/index.js +92 -109
- package/lib/plugins/respArea/math-templated/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +8 -40
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/CustomTablePlugin.js +24 -41
- package/lib/plugins/table/CustomTablePlugin.js.map +1 -1
- package/lib/plugins/table/icons/index.js +19 -35
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +41 -118
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +37 -87
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/textAlign/icons/index.js +18 -64
- package/lib/plugins/textAlign/icons/index.js.map +1 -1
- package/lib/plugins/textAlign/index.js +1 -6
- package/lib/plugins/textAlign/index.js.map +1 -1
- package/lib/plugins/toolbar/default-toolbar.js +30 -79
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +16 -34
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +174 -201
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +0 -5
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +57 -107
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +95 -161
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +5 -25
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +44 -150
- package/lib/serialization.js.map +1 -1
- package/lib/shared/alert-dialog.js +23 -42
- package/lib/theme.js +1 -2
- package/lib/theme.js.map +1 -1
- package/package.json +15 -21
- package/src/__tests__/utils.js +1 -1
- package/src/editor.jsx +110 -108
- package/src/plugins/characters/custom-popper.js +20 -25
- package/src/plugins/css/icons/index.jsx +11 -13
- package/src/plugins/css/index.jsx +3 -5
- package/src/plugins/html/icons/index.jsx +12 -14
- package/src/plugins/image/alt-dialog.jsx +9 -8
- package/src/plugins/image/component.jsx +67 -87
- package/src/plugins/image/image-toolbar.jsx +26 -26
- package/src/plugins/image/index.jsx +1 -1
- package/src/plugins/index.jsx +10 -10
- package/src/plugins/math/index.jsx +1 -1
- package/src/plugins/media/index.jsx +2 -2
- package/src/plugins/media/media-dialog.js +65 -76
- package/src/plugins/media/media-toolbar.jsx +32 -33
- package/src/plugins/media/media-wrapper.jsx +10 -13
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +193 -180
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +58 -22
- package/src/plugins/respArea/icons/index.jsx +16 -16
- package/src/plugins/respArea/math-templated/index.jsx +88 -89
- package/src/plugins/respArea/utils.jsx +1 -1
- package/src/plugins/table/icons/index.jsx +14 -16
- package/src/plugins/table/index.jsx +27 -19
- package/src/plugins/table/table-toolbar.jsx +17 -19
- package/src/plugins/textAlign/icons/index.jsx +3 -3
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +1 -1
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +1 -1
- package/src/plugins/toolbar/default-toolbar.jsx +18 -21
- package/src/plugins/toolbar/done-button.jsx +16 -22
- package/src/plugins/toolbar/editor-and-toolbar.jsx +134 -157
- package/src/plugins/toolbar/toolbar-buttons.jsx +29 -46
- package/src/plugins/toolbar/toolbar.jsx +60 -78
- package/esm/index.js +0 -111560
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -1
|
@@ -1,75 +1,86 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = exports.Toolbar = void 0;
|
|
9
|
-
|
|
10
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
9
|
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
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
22
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
14
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
15
|
var _slate = require("slate");
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
31
|
-
|
|
16
|
+
var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
|
|
17
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
32
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
33
|
-
|
|
34
19
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
-
|
|
36
20
|
var _debug = _interopRequireDefault(require("debug"));
|
|
37
|
-
|
|
38
21
|
var _slatePropTypes = _interopRequireDefault(require("slate-prop-types"));
|
|
39
|
-
|
|
40
22
|
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
41
|
-
|
|
42
23
|
var _doneButton = require("./done-button");
|
|
43
|
-
|
|
44
24
|
var _utils = require("../utils");
|
|
45
|
-
|
|
46
|
-
var _styles = require("@material-ui/core/styles");
|
|
47
|
-
|
|
25
|
+
var _styles = require("@mui/material/styles");
|
|
48
26
|
var _defaultToolbar = _interopRequireDefault(require("./default-toolbar"));
|
|
49
|
-
|
|
50
27
|
var _characters = require("../characters");
|
|
51
|
-
|
|
52
28
|
var _constants = require("../../constants");
|
|
53
|
-
|
|
54
|
-
function
|
|
55
|
-
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
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); }; }
|
|
59
|
-
|
|
60
|
-
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; } }
|
|
61
|
-
|
|
29
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
32
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
62
33
|
var log = (0, _debug["default"])('@pie-lib:editable-html:plugins:toolbar');
|
|
63
|
-
|
|
34
|
+
var StyledToolbar = (0, _styles.styled)('div', {
|
|
35
|
+
shouldForwardProp: function shouldForwardProp(prop) {
|
|
36
|
+
return !['hasDoneButton', 'position', 'alignment', 'focused', 'autoWidth', 'hidden'].includes(prop);
|
|
37
|
+
}
|
|
38
|
+
})(function (_ref) {
|
|
39
|
+
var hasDoneButton = _ref.hasDoneButton,
|
|
40
|
+
position = _ref.position,
|
|
41
|
+
alignment = _ref.alignment,
|
|
42
|
+
focused = _ref.focused,
|
|
43
|
+
autoWidth = _ref.autoWidth,
|
|
44
|
+
hidden = _ref.hidden;
|
|
45
|
+
return {
|
|
46
|
+
position: 'absolute',
|
|
47
|
+
zIndex: 10,
|
|
48
|
+
cursor: 'pointer',
|
|
49
|
+
justifyContent: 'space-between',
|
|
50
|
+
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
51
|
+
minWidth: hasDoneButton ? '280px' : '265px',
|
|
52
|
+
margin: '5px 0 0 0',
|
|
53
|
+
padding: '2px',
|
|
54
|
+
boxShadow: '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)',
|
|
55
|
+
boxSizing: 'border-box',
|
|
56
|
+
display: 'flex',
|
|
57
|
+
opacity: focused ? 1 : 0,
|
|
58
|
+
pointerEvents: focused ? 'auto' : 'none',
|
|
59
|
+
top: position === 'top' ? '-45px' : 'auto',
|
|
60
|
+
right: alignment === 'right' ? 0 : 'auto',
|
|
61
|
+
width: autoWidth ? 'auto' : '100%',
|
|
62
|
+
visibility: hidden ? 'hidden' : 'visible'
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
var SharedContainer = (0, _styles.styled)('div')({
|
|
66
|
+
display: 'flex'
|
|
67
|
+
});
|
|
68
|
+
var StyledIconButton = (0, _styles.styled)(_IconButton["default"])({
|
|
69
|
+
width: '28px',
|
|
70
|
+
height: '28px',
|
|
71
|
+
padding: '4px',
|
|
72
|
+
verticalAlign: 'top'
|
|
73
|
+
});
|
|
74
|
+
var StyledLabel = (0, _styles.styled)('div')({
|
|
75
|
+
color: 'var(--editable-html-toolbar-check, #00bb00)'
|
|
76
|
+
});
|
|
64
77
|
var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone, getFocusedValue, onDataChange) {
|
|
65
78
|
if (!plugin) {
|
|
66
79
|
return;
|
|
67
80
|
}
|
|
68
|
-
|
|
69
81
|
if (!plugin.toolbar) {
|
|
70
82
|
return;
|
|
71
83
|
}
|
|
72
|
-
|
|
73
84
|
if (plugin.toolbar.CustomToolbarComp) {
|
|
74
85
|
/**
|
|
75
86
|
* Using a pre-defined Component should be preferred
|
|
@@ -83,53 +94,48 @@ var getCustomToolbar = function getCustomToolbar(plugin, node, value, handleDone
|
|
|
83
94
|
return plugin.toolbar.customToolbar(node, value, handleDone, getFocusedValue, onDataChange);
|
|
84
95
|
}
|
|
85
96
|
};
|
|
86
|
-
|
|
87
|
-
var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
88
|
-
(0, _inherits2["default"])(Toolbar, _React$Component);
|
|
89
|
-
|
|
90
|
-
var _super = _createSuper(Toolbar);
|
|
91
|
-
|
|
97
|
+
var Toolbar = exports.Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
92
98
|
function Toolbar(props) {
|
|
93
99
|
var _this;
|
|
94
|
-
|
|
95
100
|
(0, _classCallCheck2["default"])(this, Toolbar);
|
|
96
|
-
_this =
|
|
97
|
-
(0, _defineProperty2["default"])(
|
|
101
|
+
_this = _callSuper(this, Toolbar, [props]);
|
|
102
|
+
(0, _defineProperty2["default"])(_this, "hasMark", function (type) {
|
|
98
103
|
var value = _this.props.value;
|
|
99
104
|
return value.marks.some(function (mark) {
|
|
100
105
|
return mark.type == type;
|
|
101
106
|
});
|
|
102
107
|
});
|
|
103
|
-
(0, _defineProperty2["default"])(
|
|
108
|
+
(0, _defineProperty2["default"])(_this, "hasBlock", function (type) {
|
|
104
109
|
var value = _this.props.value;
|
|
105
110
|
return value.blocks.some(function (node) {
|
|
106
111
|
return node.type == type;
|
|
107
112
|
});
|
|
108
113
|
});
|
|
109
|
-
(0, _defineProperty2["default"])(
|
|
114
|
+
(0, _defineProperty2["default"])(_this, "onToggle", function (plugin) {
|
|
110
115
|
var _this$props = _this.props,
|
|
111
|
-
|
|
112
|
-
|
|
116
|
+
value = _this$props.value,
|
|
117
|
+
onChange = _this$props.onChange;
|
|
113
118
|
if (!plugin.onToggle) return;
|
|
114
119
|
var change = plugin.onToggle(value.change());
|
|
115
120
|
onChange(change);
|
|
116
121
|
});
|
|
117
|
-
(0, _defineProperty2["default"])(
|
|
122
|
+
(0, _defineProperty2["default"])(_this, "onClick", function (e) {
|
|
118
123
|
log('[onClick]');
|
|
119
124
|
e.preventDefault();
|
|
120
125
|
});
|
|
121
|
-
(0, _defineProperty2["default"])(
|
|
126
|
+
(0, _defineProperty2["default"])(_this, "onButtonClick", function (fn) {
|
|
122
127
|
return function (e) {
|
|
123
128
|
e.preventDefault();
|
|
124
129
|
fn();
|
|
125
130
|
};
|
|
126
131
|
});
|
|
127
|
-
(0, _defineProperty2["default"])(
|
|
132
|
+
(0, _defineProperty2["default"])(_this, "onToolbarDone", function (change, finishEditing) {
|
|
128
133
|
log('[onToolbarDone] change: ', change, 'finishEditing: ', finishEditing);
|
|
129
134
|
var _this$props2 = _this.props,
|
|
130
|
-
|
|
131
|
-
|
|
135
|
+
onChange = _this$props2.onChange,
|
|
136
|
+
onDone = _this$props2.onDone;
|
|
132
137
|
|
|
138
|
+
// use handler only if this is an actual Slate Change
|
|
133
139
|
if (change instanceof _slate.Change) {
|
|
134
140
|
onChange(change, function () {
|
|
135
141
|
if (finishEditing) {
|
|
@@ -143,12 +149,11 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
143
149
|
}
|
|
144
150
|
}
|
|
145
151
|
});
|
|
146
|
-
(0, _defineProperty2["default"])(
|
|
152
|
+
(0, _defineProperty2["default"])(_this, "onDeleteClick", (0, _debounce["default"])(function (e, plugin, node, value, onChange) {
|
|
147
153
|
return plugin.deleteNode(e, node, value, onChange);
|
|
148
154
|
}, 500));
|
|
149
|
-
(0, _defineProperty2["default"])(
|
|
155
|
+
(0, _defineProperty2["default"])(_this, "onDeleteMouseDown", function (e, plugin, node, value, onChange) {
|
|
150
156
|
e.persist();
|
|
151
|
-
|
|
152
157
|
_this.onDeleteClick(e, plugin, node, value, onChange);
|
|
153
158
|
});
|
|
154
159
|
_this.state = {
|
|
@@ -156,8 +161,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
156
161
|
};
|
|
157
162
|
return _this;
|
|
158
163
|
}
|
|
159
|
-
|
|
160
|
-
(0, _createClass2["default"])(Toolbar, [{
|
|
164
|
+
(0, _inherits2["default"])(Toolbar, _React$Component);
|
|
165
|
+
return (0, _createClass2["default"])(Toolbar, [{
|
|
161
166
|
key: "componentWillUnmount",
|
|
162
167
|
value: function componentWillUnmount() {
|
|
163
168
|
(0, _characters.removeDialogs)();
|
|
@@ -165,24 +170,21 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
165
170
|
}, {
|
|
166
171
|
key: "render",
|
|
167
172
|
value: function render() {
|
|
168
|
-
var _this2 = this
|
|
169
|
-
_classNames;
|
|
170
|
-
|
|
173
|
+
var _this2 = this;
|
|
171
174
|
var _this$props3 = this.props,
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
onFocus = _this$props3.onFocus;
|
|
175
|
+
plugins = _this$props3.plugins,
|
|
176
|
+
pluginProps = _this$props3.pluginProps,
|
|
177
|
+
toolbarOpts = _this$props3.toolbarOpts,
|
|
178
|
+
value = _this$props3.value,
|
|
179
|
+
autoWidth = _this$props3.autoWidth,
|
|
180
|
+
onChange = _this$props3.onChange,
|
|
181
|
+
getFocusedValue = _this$props3.getFocusedValue,
|
|
182
|
+
isFocused = _this$props3.isFocused,
|
|
183
|
+
onDone = _this$props3.onDone,
|
|
184
|
+
toolbarRef = _this$props3.toolbarRef,
|
|
185
|
+
doneButtonRef = _this$props3.doneButtonRef,
|
|
186
|
+
onBlur = _this$props3.onBlur,
|
|
187
|
+
onFocus = _this$props3.onFocus;
|
|
186
188
|
var node = (0, _utils.findSingleNode)(value);
|
|
187
189
|
var parentNode = (0, _utils.findParentNode)(value, node);
|
|
188
190
|
log(' --------------> [render] node: ', node);
|
|
@@ -191,7 +193,6 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
191
193
|
if (!node) {
|
|
192
194
|
return;
|
|
193
195
|
}
|
|
194
|
-
|
|
195
196
|
if (p.toolbar) {
|
|
196
197
|
return p.toolbar.supports && p.toolbar.supports(node, value);
|
|
197
198
|
}
|
|
@@ -200,50 +201,47 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
200
201
|
if (!parentNode) {
|
|
201
202
|
return;
|
|
202
203
|
}
|
|
203
|
-
|
|
204
204
|
if (p.toolbar) {
|
|
205
205
|
return p.toolbar.supports && p.toolbar.supports(parentNode, value);
|
|
206
206
|
}
|
|
207
207
|
});
|
|
208
208
|
log('[render] plugin: ', plugin);
|
|
209
|
-
|
|
210
209
|
var handleDone = function handleDone(change, done) {
|
|
211
210
|
var handler = onDone;
|
|
212
|
-
|
|
213
211
|
if (plugin && plugin.toolbar && plugin.toolbar.customToolbar) {
|
|
214
212
|
handler = _this2.onToolbarDone;
|
|
215
213
|
}
|
|
216
|
-
|
|
217
214
|
handler(change, done);
|
|
218
|
-
|
|
219
215
|
if (parentPlugin && parentPlugin.handleDone) {
|
|
220
216
|
parentPlugin.handleDone(value, node, plugin, onChange);
|
|
221
217
|
}
|
|
222
218
|
};
|
|
223
|
-
|
|
224
219
|
var handleDataChange = function handleDataChange(key, data) {
|
|
225
220
|
_this2.props.onDataChange(key, data);
|
|
226
221
|
};
|
|
227
|
-
|
|
228
222
|
var CustomToolbar = getCustomToolbar(plugin, node, value, handleDone, getFocusedValue, this.props.onDataChange);
|
|
229
223
|
var filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;
|
|
230
224
|
log('[render] CustomToolbar: ', CustomToolbar);
|
|
231
225
|
var parentExtraStyles = parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};
|
|
232
226
|
var pluginExtraStyles = plugin && plugin.pluginStyles ? plugin.pluginStyles(node, parentNode, plugin) : {};
|
|
233
|
-
|
|
234
227
|
var extraStyles = _objectSpread(_objectSpread({}, pluginExtraStyles), parentExtraStyles);
|
|
235
|
-
|
|
236
228
|
var deletable = node && plugin && plugin.deleteNode;
|
|
237
|
-
var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;
|
|
229
|
+
var customToolbarShowDone = node && plugin && plugin.toolbar && plugin.toolbar.showDone && !toolbarOpts.alwaysVisible;
|
|
238
230
|
|
|
231
|
+
// If there is a toolbarOpts we check if the showDone is not equal to false
|
|
239
232
|
var defaultToolbarShowDone = !toolbarOpts || toolbarOpts.showDone !== false;
|
|
240
233
|
var hasDoneButton = defaultToolbarShowDone || customToolbarShowDone;
|
|
241
|
-
var names = (0, _classnames["default"])(classes.toolbar, _constants.PIE_TOOLBAR__CLASS, (_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), (0, _defineProperty2["default"])(_classNames, classes.hidden, toolbarOpts.isHidden === true), _classNames));
|
|
242
234
|
var customStyles = toolbarOpts.minWidth !== undefined ? {
|
|
243
235
|
minWidth: toolbarOpts.minWidth
|
|
244
236
|
} : {};
|
|
245
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
246
|
-
className:
|
|
237
|
+
return /*#__PURE__*/_react["default"].createElement(StyledToolbar, {
|
|
238
|
+
className: _constants.PIE_TOOLBAR__CLASS,
|
|
239
|
+
hasDoneButton: hasDoneButton,
|
|
240
|
+
position: toolbarOpts.position,
|
|
241
|
+
alignment: toolbarOpts.alignment,
|
|
242
|
+
focused: toolbarOpts.alwaysVisible || isFocused,
|
|
243
|
+
autoWidth: autoWidth,
|
|
244
|
+
hidden: toolbarOpts.isHidden === true,
|
|
247
245
|
style: _objectSpread(_objectSpread({}, extraStyles), customStyles),
|
|
248
246
|
onClick: this.onClick,
|
|
249
247
|
ref: toolbarRef
|
|
@@ -267,27 +265,19 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
|
|
|
267
265
|
onFocus: onFocus,
|
|
268
266
|
doneButtonRef: doneButtonRef,
|
|
269
267
|
onBlur: onBlur
|
|
270
|
-
}), /*#__PURE__*/_react["default"].createElement("
|
|
271
|
-
className: classes.shared
|
|
272
|
-
}, deletable && /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
268
|
+
}), /*#__PURE__*/_react["default"].createElement(SharedContainer, null, deletable && /*#__PURE__*/_react["default"].createElement(StyledIconButton, {
|
|
273
269
|
"aria-label": "Delete",
|
|
274
|
-
className: classes.iconRoot,
|
|
275
270
|
onMouseDown: function onMouseDown(e) {
|
|
276
271
|
return _this2.onDeleteMouseDown(e, plugin, node, value, onChange);
|
|
277
272
|
},
|
|
278
|
-
|
|
279
|
-
root: classes.iconRoot
|
|
280
|
-
}
|
|
273
|
+
size: "large"
|
|
281
274
|
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)), customToolbarShowDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
|
|
282
275
|
doneButtonRef: doneButtonRef,
|
|
283
276
|
onClick: handleDone
|
|
284
277
|
})));
|
|
285
278
|
}
|
|
286
279
|
}]);
|
|
287
|
-
return Toolbar;
|
|
288
280
|
}(_react["default"].Component);
|
|
289
|
-
|
|
290
|
-
exports.Toolbar = Toolbar;
|
|
291
281
|
(0, _defineProperty2["default"])(Toolbar, "propTypes", {
|
|
292
282
|
zIndex: _propTypes["default"].number,
|
|
293
283
|
value: _slatePropTypes["default"].value.isRequired,
|
|
@@ -316,61 +306,5 @@ exports.Toolbar = Toolbar;
|
|
|
316
306
|
onBlur: _propTypes["default"].func,
|
|
317
307
|
onFocus: _propTypes["default"].func
|
|
318
308
|
});
|
|
319
|
-
var
|
|
320
|
-
toolbar: {
|
|
321
|
-
position: 'absolute',
|
|
322
|
-
zIndex: 10,
|
|
323
|
-
cursor: 'pointer',
|
|
324
|
-
justifyContent: 'space-between',
|
|
325
|
-
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
326
|
-
minWidth: '280px',
|
|
327
|
-
margin: '5px 0 0 0',
|
|
328
|
-
padding: '2px',
|
|
329
|
-
boxShadow: '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)',
|
|
330
|
-
boxSizing: 'border-box',
|
|
331
|
-
display: 'flex',
|
|
332
|
-
opacity: 0,
|
|
333
|
-
pointerEvents: 'none'
|
|
334
|
-
},
|
|
335
|
-
toolbarWithNoDone: {
|
|
336
|
-
minWidth: '265px'
|
|
337
|
-
},
|
|
338
|
-
toolbarTop: {
|
|
339
|
-
top: '-45px'
|
|
340
|
-
},
|
|
341
|
-
toolbarRight: {
|
|
342
|
-
right: 0
|
|
343
|
-
},
|
|
344
|
-
fullWidth: {
|
|
345
|
-
width: '100%'
|
|
346
|
-
},
|
|
347
|
-
hidden: {
|
|
348
|
-
visibility: 'hidden'
|
|
349
|
-
},
|
|
350
|
-
autoWidth: {
|
|
351
|
-
width: 'auto'
|
|
352
|
-
},
|
|
353
|
-
focused: {
|
|
354
|
-
opacity: 1,
|
|
355
|
-
pointerEvents: 'auto'
|
|
356
|
-
},
|
|
357
|
-
iconRoot: {
|
|
358
|
-
width: '28px',
|
|
359
|
-
height: '28px',
|
|
360
|
-
padding: '4px',
|
|
361
|
-
verticalAlign: 'top'
|
|
362
|
-
},
|
|
363
|
-
label: {
|
|
364
|
-
color: 'var(--editable-html-toolbar-check, #00bb00)'
|
|
365
|
-
},
|
|
366
|
-
shared: {
|
|
367
|
-
display: 'flex'
|
|
368
|
-
}
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
var _default = (0, _styles.withStyles)(style, {
|
|
372
|
-
index: 1000
|
|
373
|
-
})(Toolbar);
|
|
374
|
-
|
|
375
|
-
exports["default"] = _default;
|
|
309
|
+
var _default = exports["default"] = Toolbar;
|
|
376
310
|
//# sourceMappingURL=toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"names":["log","getCustomToolbar","plugin","node","value","handleDone","getFocusedValue","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","props","type","marks","some","mark","blocks","onChange","onToggle","change","e","preventDefault","fn","finishEditing","onDone","Change","deleteNode","persist","onDeleteClick","state","classes","plugins","pluginProps","toolbarOpts","autoWidth","isFocused","toolbarRef","doneButtonRef","onBlur","onFocus","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","PIE_TOOLBAR__CLASS","toolbarWithNoDone","toolbarTop","position","toolbarRight","alignment","focused","fullWidth","hidden","isHidden","customStyles","minWidth","undefined","onClick","isHtmlMode","shared","iconRoot","onDeleteMouseDown","root","React","Component","zIndex","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","bool","shape","oneOf","ref","oneOfType","string","style","cursor","justifyContent","background","margin","padding","boxShadow","boxSizing","display","opacity","pointerEvents","top","right","width","visibility","height","verticalAlign","label","color","index"],"mappings":"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","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';\nimport { PIE_TOOLBAR__CLASS } from '../../constants';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst getCustomToolbar = (plugin, node, value, handleDone, getFocusedValue, onDataChange) => {\n if (!plugin) {\n return;\n }\n\n if (!plugin.toolbar) {\n return;\n }\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, getFocusedValue, 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 minWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isHidden: PropTypes.bool,\n }),\n onDataChange: PropTypes.func,\n doneButtonRef: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: 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 // use handler only if this is an actual Slate Change\n if (change instanceof 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((e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange), 500);\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 doneButtonRef,\n onBlur,\n onFocus,\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(plugin, node, value, handleDone, getFocusedValue, this.props.onDataChange);\n\n const filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};\n const pluginExtraStyles = 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, PIE_TOOLBAR__CLASS, {\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 [classes.hidden]: toolbarOpts.isHidden === true,\n });\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <div className={names} style={{ ...extraStyles, ...customStyles }} onClick={this.onClick} ref={toolbarRef}>\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n getFocusedValue={getFocusedValue}\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 isHtmlMode={toolbarOpts.isHtmlMode}\n onFocus={onFocus}\n doneButtonRef={doneButtonRef}\n onBlur={onBlur}\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 doneButtonRef={doneButtonRef} 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: 'flex',\n opacity: 0,\n pointerEvents: '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 hidden: {\n visibility: 'hidden',\n },\n autoWidth: {\n width: 'auto',\n },\n focused: {\n opacity: 1,\n pointerEvents: 'auto',\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":["_react","_interopRequireDefault","require","_slate","_Delete","_IconButton","_propTypes","_classnames","_debug","_slatePropTypes","_debounce","_doneButton","_utils","_styles","_defaultToolbar","_characters","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","call","log","debug","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","hasDoneButton","position","alignment","focused","autoWidth","hidden","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","pointerEvents","top","right","width","visibility","SharedContainer","StyledIconButton","IconButton","height","verticalAlign","StyledLabel","color","getCustomToolbar","plugin","node","value","handleDone","getFocusedValue","onDataChange","toolbar","CustomToolbarComp","customToolbar","Toolbar","exports","_React$Component","props","_this","_classCallCheck2","type","marks","some","mark","blocks","_this$props","onChange","onToggle","change","preventDefault","fn","finishEditing","_this$props2","onDone","Change","debounce","deleteNode","persist","onDeleteClick","state","_inherits2","_createClass2","key","componentWillUnmount","removeCharacterDialogs","render","_this2","_this$props3","plugins","pluginProps","toolbarOpts","isFocused","toolbarRef","doneButtonRef","onBlur","onFocus","findSingleNode","parentNode","findParentNode","find","p","supports","parentPlugin","done","handler","onToolbarDone","handleDataChange","data","CustomToolbar","filteredPlugins","filterPlugins","parentExtraStyles","pluginStyles","pluginExtraStyles","extraStyles","deletable","customToolbarShowDone","showDone","alwaysVisible","defaultToolbarShowDone","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","isHidden","style","onClick","ref","isHtmlMode","onMouseDown","onDeleteMouseDown","size","DoneButton","React","Component","PropTypes","number","SlatePropTypes","isRequired","array","object","onImageClick","func","classes","bool","shape","oneOf","oneOfType","string","_default"],"sources":["../../../src/plugins/toolbar/toolbar.jsx"],"sourcesContent":["import React from 'react';\nimport { Change } from 'slate';\nimport Delete from '@mui/icons-material/Delete';\nimport IconButton from '@mui/material/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 { styled } from '@mui/material/styles';\nimport DefaultToolbar from './default-toolbar';\nimport { removeDialogs as removeCharacterDialogs } from '../characters';\nimport { PIE_TOOLBAR__CLASS } from '../../constants';\n\nconst log = debug('@pie-lib:editable-html:plugins:toolbar');\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['hasDoneButton', 'position', 'alignment', 'focused', 'autoWidth', 'hidden'].includes(prop),\n})(({ hasDoneButton, position, alignment, focused, autoWidth, hidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: hasDoneButton ? '280px' : '265px',\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: 'flex',\n opacity: focused ? 1 : 0,\n pointerEvents: focused ? 'auto' : 'none',\n top: position === 'top' ? '-45px' : 'auto',\n right: alignment === 'right' ? 0 : 'auto',\n width: autoWidth ? 'auto' : '100%',\n visibility: hidden ? 'hidden' : 'visible',\n}));\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst StyledLabel = styled('div')({\n color: 'var(--editable-html-toolbar-check, #00bb00)',\n});\n\nconst getCustomToolbar = (plugin, node, value, handleDone, getFocusedValue, onDataChange) => {\n if (!plugin) {\n return;\n }\n\n if (!plugin.toolbar) {\n return;\n }\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, getFocusedValue, 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 minWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isHidden: PropTypes.bool,\n }),\n onDataChange: PropTypes.func,\n doneButtonRef: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: 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 // use handler only if this is an actual Slate Change\n if (change instanceof 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((e, plugin, node, value, onChange) => plugin.deleteNode(e, node, value, onChange), 500);\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 plugins,\n pluginProps,\n toolbarOpts,\n value,\n autoWidth,\n onChange,\n getFocusedValue,\n isFocused,\n onDone,\n toolbarRef,\n doneButtonRef,\n onBlur,\n onFocus,\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(plugin, node, value, handleDone, getFocusedValue, this.props.onDataChange);\n\n const filteredPlugins = plugin && plugin.filterPlugins ? plugin.filterPlugins(node, plugins) : plugins;\n\n log('[render] CustomToolbar: ', CustomToolbar);\n const parentExtraStyles =\n parentPlugin && parentPlugin.pluginStyles ? parentPlugin.pluginStyles(node, parentNode, plugin) : {};\n const pluginExtraStyles = 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 const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n hasDoneButton={hasDoneButton}\n position={toolbarOpts.position}\n alignment={toolbarOpts.alignment}\n focused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n hidden={toolbarOpts.isHidden === true}\n style={{ ...extraStyles, ...customStyles }}\n onClick={this.onClick}\n ref={toolbarRef}\n >\n {CustomToolbar ? (\n <CustomToolbar\n node={node}\n value={value}\n getFocusedValue={getFocusedValue}\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 isHtmlMode={toolbarOpts.isHtmlMode}\n onFocus={onFocus}\n doneButtonRef={doneButtonRef}\n onBlur={onBlur}\n />\n )}\n <SharedContainer>\n {deletable && (\n <StyledIconButton\n aria-label=\"Delete\"\n onMouseDown={(e) => this.onDeleteMouseDown(e, plugin, node, value, onChange)}\n size=\"large\"\n >\n <Delete />\n </StyledIconButton>\n )}\n {customToolbarShowDone && <DoneButton doneButtonRef={doneButtonRef} onClick={handleDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n }\n}\n\nexport default Toolbar;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/plugins/utils.js
CHANGED
|
@@ -4,59 +4,39 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.hasNode = exports.hasMark = exports.hasBlock = exports.findSingleNode = exports.findParentNode = void 0;
|
|
7
|
-
|
|
8
|
-
var findSingleNode = function findSingleNode(value) {
|
|
7
|
+
var findSingleNode = exports.findSingleNode = function findSingleNode(value) {
|
|
9
8
|
if (!value || !value.isCollapsed || !value.startKey) {
|
|
10
9
|
return;
|
|
11
10
|
}
|
|
12
|
-
|
|
13
11
|
var inline = value.document.getClosestInline(value.startKey);
|
|
14
|
-
|
|
15
12
|
if (inline) {
|
|
16
13
|
return inline;
|
|
17
14
|
}
|
|
18
|
-
|
|
19
15
|
var block = value.document.getClosestBlock(value.startKey);
|
|
20
|
-
|
|
21
16
|
if (block) {
|
|
22
17
|
return block;
|
|
23
18
|
}
|
|
24
19
|
};
|
|
25
|
-
|
|
26
|
-
exports.findSingleNode = findSingleNode;
|
|
27
|
-
|
|
28
|
-
var findParentNode = function findParentNode(value, node) {
|
|
20
|
+
var findParentNode = exports.findParentNode = function findParentNode(value, node) {
|
|
29
21
|
if (!value || !node) {
|
|
30
22
|
return;
|
|
31
23
|
}
|
|
32
|
-
|
|
33
24
|
return value.document.getParent(node.key);
|
|
34
25
|
};
|
|
35
|
-
|
|
36
|
-
exports.findParentNode = findParentNode;
|
|
37
|
-
|
|
38
|
-
var hasMark = function hasMark(value, type) {
|
|
26
|
+
var hasMark = exports.hasMark = function hasMark(value, type) {
|
|
39
27
|
return value && value.marks.some(function (mark) {
|
|
40
28
|
return mark.type == type;
|
|
41
29
|
});
|
|
42
30
|
};
|
|
43
|
-
|
|
44
|
-
exports.hasMark = hasMark;
|
|
45
|
-
|
|
46
|
-
var hasBlock = function hasBlock(value, type) {
|
|
31
|
+
var hasBlock = exports.hasBlock = function hasBlock(value, type) {
|
|
47
32
|
return value && value.blocks.some(function (node) {
|
|
48
33
|
return node.type == type;
|
|
49
34
|
});
|
|
50
35
|
};
|
|
51
|
-
|
|
52
|
-
exports.hasBlock = hasBlock;
|
|
53
|
-
|
|
54
|
-
var hasNode = function hasNode(_ref, type) {
|
|
36
|
+
var hasNode = exports.hasNode = function hasNode(_ref, type) {
|
|
55
37
|
var document = _ref.document;
|
|
56
38
|
return document && document.nodes.some(function (node) {
|
|
57
39
|
return node.type == type;
|
|
58
40
|
});
|
|
59
41
|
};
|
|
60
|
-
|
|
61
|
-
exports.hasNode = hasNode;
|
|
62
42
|
//# sourceMappingURL=utils.js.map
|
package/lib/plugins/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils.js","names":["findSingleNode","exports","value","isCollapsed","startKey","inline","document","getClosestInline","block","getClosestBlock","findParentNode","node","getParent","key","hasMark","type","marks","some","mark","hasBlock","blocks","hasNode","_ref","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) => document && document.nodes.some((node) => node.type == type);\n"],"mappings":";;;;;;AAAO,IAAMA,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG,SAAjBA,cAAcA,CAAIE,KAAK,EAAK;EACvC,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACC,WAAW,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAE;IACnD;EACF;EAEA,IAAMC,MAAM,GAAGH,KAAK,CAACI,QAAQ,CAACC,gBAAgB,CAACL,KAAK,CAACE,QAAQ,CAAC;EAE9D,IAAIC,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;EAEA,IAAMG,KAAK,GAAGN,KAAK,CAACI,QAAQ,CAACG,eAAe,CAACP,KAAK,CAACE,QAAQ,CAAC;EAE5D,IAAII,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;AACF,CAAC;AAEM,IAAME,cAAc,GAAAT,OAAA,CAAAS,cAAA,GAAG,SAAjBA,cAAcA,CAAIR,KAAK,EAAES,IAAI,EAAK;EAC7C,IAAI,CAACT,KAAK,IAAI,CAACS,IAAI,EAAE;IACnB;EACF;EAEA,OAAOT,KAAK,CAACI,QAAQ,CAACM,SAAS,CAACD,IAAI,CAACE,GAAG,CAAC;AAC3C,CAAC;AAEM,IAAMC,OAAO,GAAAb,OAAA,CAAAa,OAAA,GAAG,SAAVA,OAAOA,CAAIZ,KAAK,EAAEa,IAAI;EAAA,OAAKb,KAAK,IAAIA,KAAK,CAACc,KAAK,CAACC,IAAI,CAAC,UAACC,IAAI;IAAA,OAAKA,IAAI,CAACH,IAAI,IAAIA,IAAI;EAAA,EAAC;AAAA;AAEvF,IAAMI,QAAQ,GAAAlB,OAAA,CAAAkB,QAAA,GAAG,SAAXA,QAAQA,CAAIjB,KAAK,EAAEa,IAAI;EAAA,OAAKb,KAAK,IAAIA,KAAK,CAACkB,MAAM,CAACH,IAAI,CAAC,UAACN,IAAI;IAAA,OAAKA,IAAI,CAACI,IAAI,IAAIA,IAAI;EAAA,EAAC;AAAA;AAEzF,IAAMM,OAAO,GAAApB,OAAA,CAAAoB,OAAA,GAAG,SAAVA,OAAOA,CAAAC,IAAA,EAAkBP,IAAI;EAAA,IAAhBT,QAAQ,GAAAgB,IAAA,CAARhB,QAAQ;EAAA,OAAaA,QAAQ,IAAIA,QAAQ,CAACiB,KAAK,CAACN,IAAI,CAAC,UAACN,IAAI;IAAA,OAAKA,IAAI,CAACI,IAAI,IAAIA,IAAI;EAAA,EAAC;AAAA","ignoreList":[]}
|