@pie-lib/editable-html-tip-tap 1.0.20 → 1.0.21-next.6053

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.
Files changed (101) hide show
  1. package/CHANGELOG.md +7 -73
  2. package/LICENSE.md +5 -0
  3. package/NEXT.CHANGELOG.json +1 -0
  4. package/lib/components/CharacterPicker.js +20 -60
  5. package/lib/components/CharacterPicker.js.map +1 -1
  6. package/lib/components/EditableHtml.js +50 -121
  7. package/lib/components/EditableHtml.js.map +1 -1
  8. package/lib/components/MenuBar.js +96 -128
  9. package/lib/components/MenuBar.js.map +1 -1
  10. package/lib/components/TiptapContainer.js +162 -45
  11. package/lib/components/TiptapContainer.js.map +1 -1
  12. package/lib/components/characters/characterUtils.js +4 -7
  13. package/lib/components/characters/characterUtils.js.map +1 -1
  14. package/lib/components/characters/custom-popper.js +22 -51
  15. package/lib/components/characters/custom-popper.js.map +1 -1
  16. package/lib/components/common/done-button.js +17 -36
  17. package/lib/components/common/done-button.js.map +1 -1
  18. package/lib/components/common/toolbar-buttons.js +57 -107
  19. package/lib/components/common/toolbar-buttons.js.map +1 -1
  20. package/lib/components/icons/CssIcon.js +14 -26
  21. package/lib/components/icons/CssIcon.js.map +1 -1
  22. package/lib/components/icons/RespArea.js +23 -46
  23. package/lib/components/icons/RespArea.js.map +1 -1
  24. package/lib/components/icons/TableIcons.js +20 -36
  25. package/lib/components/icons/TableIcons.js.map +1 -1
  26. package/lib/components/icons/TextAlign.js +16 -53
  27. package/lib/components/icons/TextAlign.js.map +1 -1
  28. package/lib/components/image/AltDialog.js +18 -49
  29. package/lib/components/image/AltDialog.js.map +1 -1
  30. package/lib/components/image/ImageToolbar.js +50 -90
  31. package/lib/components/image/ImageToolbar.js.map +1 -1
  32. package/lib/components/image/InsertImageHandler.js +17 -35
  33. package/lib/components/image/InsertImageHandler.js.map +1 -1
  34. package/lib/components/media/MediaDialog.js +195 -309
  35. package/lib/components/media/MediaDialog.js.map +1 -1
  36. package/lib/components/media/MediaToolbar.js +39 -66
  37. package/lib/components/media/MediaToolbar.js.map +1 -1
  38. package/lib/components/media/MediaWrapper.js +30 -56
  39. package/lib/components/media/MediaWrapper.js.map +1 -1
  40. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +21 -36
  41. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -1
  42. package/lib/components/respArea/DragInTheBlank/choice.js +215 -262
  43. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -1
  44. package/lib/components/respArea/ExplicitConstructedResponse.js +11 -33
  45. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -1
  46. package/lib/components/respArea/InlineDropdown.js +19 -41
  47. package/lib/components/respArea/InlineDropdown.js.map +1 -1
  48. package/lib/components/respArea/ToolbarIcon.js +21 -45
  49. package/lib/components/respArea/ToolbarIcon.js.map +1 -1
  50. package/lib/constants.js +3 -5
  51. package/lib/constants.js.map +1 -1
  52. package/lib/extensions/component.js +94 -148
  53. package/lib/extensions/component.js.map +1 -1
  54. package/lib/extensions/css.js +9 -44
  55. package/lib/extensions/css.js.map +1 -1
  56. package/lib/extensions/custom-toolbar-wrapper.js +66 -94
  57. package/lib/extensions/custom-toolbar-wrapper.js.map +1 -1
  58. package/lib/extensions/extended-table.js +2 -6
  59. package/lib/extensions/extended-table.js.map +1 -1
  60. package/lib/extensions/image.js +4 -17
  61. package/lib/extensions/image.js.map +1 -1
  62. package/lib/extensions/index.js +11 -21
  63. package/lib/extensions/index.js.map +1 -1
  64. package/lib/extensions/math.js +45 -96
  65. package/lib/extensions/math.js.map +1 -1
  66. package/lib/extensions/media.js +21 -59
  67. package/lib/extensions/media.js.map +1 -1
  68. package/lib/extensions/responseArea.js +43 -89
  69. package/lib/extensions/responseArea.js.map +1 -1
  70. package/lib/index.js +3 -11
  71. package/lib/index.js.map +1 -1
  72. package/lib/styles/editorContainerStyles.js +2 -7
  73. package/lib/styles/editorContainerStyles.js.map +1 -1
  74. package/lib/theme.js +2 -3
  75. package/lib/theme.js.map +1 -1
  76. package/lib/utils/size.js +2 -10
  77. package/lib/utils/size.js.map +1 -1
  78. package/package.json +15 -13
  79. package/src/components/EditableHtml.jsx +21 -33
  80. package/src/components/MenuBar.jsx +66 -37
  81. package/src/components/TiptapContainer.jsx +133 -34
  82. package/src/components/characters/custom-popper.js +18 -28
  83. package/src/components/common/done-button.jsx +15 -26
  84. package/src/components/common/toolbar-buttons.jsx +28 -44
  85. package/src/components/icons/CssIcon.jsx +11 -13
  86. package/src/components/icons/RespArea.jsx +16 -16
  87. package/src/components/icons/TableIcons.jsx +15 -16
  88. package/src/components/icons/TextAlign.jsx +3 -3
  89. package/src/components/image/AltDialog.jsx +6 -6
  90. package/src/components/image/ImageToolbar.jsx +28 -29
  91. package/src/components/media/MediaDialog.js +61 -78
  92. package/src/components/media/MediaToolbar.jsx +30 -37
  93. package/src/components/media/MediaWrapper.jsx +12 -16
  94. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +5 -4
  95. package/src/components/respArea/DragInTheBlank/choice.jsx +191 -185
  96. package/src/components/respArea/ToolbarIcon.jsx +13 -15
  97. package/src/extensions/component.jsx +61 -89
  98. package/src/extensions/css.js +6 -5
  99. package/src/extensions/custom-toolbar-wrapper.jsx +61 -81
  100. package/lib/__tests__/utils.js +0 -106
  101. package/src/__tests__/utils.js +0 -36
@@ -1,80 +1,42 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = exports.EditableHtml = void 0;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
-
22
14
  var _react = _interopRequireWildcard(require("react"));
23
-
24
- var _classnames = _interopRequireDefault(require("classnames"));
25
-
26
15
  var _react2 = require("@tiptap/react");
27
-
28
16
  var _starterKit = _interopRequireDefault(require("@tiptap/starter-kit"));
29
-
30
17
  var _extensionTextStyle = require("@tiptap/extension-text-style");
31
-
32
18
  var _extensionCharacterCount = require("@tiptap/extension-character-count");
33
-
34
19
  var _extensionSuperscript = _interopRequireDefault(require("@tiptap/extension-superscript"));
35
-
36
20
  var _extensionSubscript = _interopRequireDefault(require("@tiptap/extension-subscript"));
37
-
38
21
  var _extensionTextAlign = _interopRequireDefault(require("@tiptap/extension-text-align"));
39
-
40
22
  var _extensionImage = _interopRequireDefault(require("@tiptap/extension-image"));
41
-
42
- var _styles = require("@material-ui/core/styles");
43
-
23
+ var _styles = require("@mui/material/styles");
44
24
  var _extendedTable = _interopRequireDefault(require("../extensions/extended-table"));
45
-
46
25
  var _extensionTableRow = require("@tiptap/extension-table-row");
47
-
48
26
  var _extensionTableCell = require("@tiptap/extension-table-cell");
49
-
50
27
  var _extensionTableHeader = require("@tiptap/extension-table-header");
51
-
52
28
  var _responseArea = require("../extensions/responseArea");
53
-
54
29
  var _math = require("../extensions/math");
55
-
56
30
  var _image = require("../extensions/image");
57
-
58
31
  var _media = require("../extensions/media");
59
-
60
32
  var _css = require("../extensions/css");
61
-
62
33
  var _TiptapContainer = _interopRequireDefault(require("./TiptapContainer"));
63
-
64
34
  var _size = require("../utils/size");
65
-
66
35
  var _extensions = require("../extensions");
67
-
68
36
  var _excluded = ["customPlugins"];
69
-
70
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
71
-
72
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
73
-
74
- 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; }
75
-
76
- 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; }
77
-
37
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
38
+ 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; }
39
+ 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; }
78
40
  var defaultToolbarOpts = {
79
41
  position: 'bottom',
80
42
  alignment: 'left',
@@ -108,36 +70,25 @@ var cssVariables = {
108
70
  '--red-light': '#ffebe5',
109
71
  '--shadow': "0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)"
110
72
  };
111
-
112
- var EditableHtml = function EditableHtml(props) {
113
- var _classNames;
114
-
73
+ var EditableHtml = exports.EditableHtml = function EditableHtml(props) {
115
74
  var _ref = props.pluginProps || {},
116
- showParagraphs = _ref.showParagraphs,
117
- separateParagraphs = _ref.separateParagraphs;
118
-
75
+ showParagraphs = _ref.showParagraphs,
76
+ separateParagraphs = _ref.separateParagraphs;
119
77
  var _useState = (0, _react.useState)([]),
120
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
121
- pendingImages = _useState2[0],
122
- setPendingImages = _useState2[1];
123
-
78
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
79
+ pendingImages = _useState2[0],
80
+ setPendingImages = _useState2[1];
124
81
  var _useState3 = (0, _react.useState)(false),
125
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
126
- scheduled = _useState4[0],
127
- setScheduled = _useState4[1];
128
-
129
- var classes = props.classes,
130
- toolbarOpts = props.toolbarOpts;
131
-
82
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
83
+ scheduled = _useState4[0],
84
+ setScheduled = _useState4[1];
85
+ var toolbarOpts = props.toolbarOpts;
132
86
  var toolbarOptsToUse = _objectSpread(_objectSpread({}, defaultToolbarOpts), toolbarOpts);
133
-
134
87
  var activePluginsToUse = (0, _react.useMemo)(function () {
135
88
  var _ref3, _props$responseAreaPr;
136
-
137
89
  var _ref2 = props.pluginProps || {},
138
- customPlugins = _ref2.customPlugins,
139
- otherPluginProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
140
-
90
+ customPlugins = _ref2.customPlugins,
91
+ otherPluginProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
141
92
  customPlugins = customPlugins || [];
142
93
  var filteredActivePlugins = (_ref3 = props.activePlugins || DEFAULT_ACTIVE_PLUGINS) === null || _ref3 === void 0 ? void 0 : _ref3.filter(function (pluginName) {
143
94
  var pluginInfo = otherPluginProps[pluginName] || {};
@@ -173,7 +124,6 @@ var EditableHtml = function EditableHtml(props) {
173
124
  disableImageAlignmentButtons: props.disableImageAlignmentButtons,
174
125
  onDone: function onDone() {
175
126
  var _props$onDone;
176
-
177
127
  return (_props$onDone = props.onDone) === null || _props$onDone === void 0 ? void 0 : _props$onDone.call(props, editor.getHTML());
178
128
  },
179
129
  onDelete: props.imageSupport && props.imageSupport["delete"] && function (node, done) {
@@ -194,30 +144,24 @@ var EditableHtml = function EditableHtml(props) {
194
144
  insertImageRequested: props.imageSupport && function (addedImage, getHandler) {
195
145
  var onFinish = function onFinish(result) {
196
146
  var _cb;
197
-
198
147
  var cb;
199
-
200
148
  if (scheduled && result) {
201
149
  // finish editing only on success
202
150
  cb = props.onChange;
203
151
  }
204
-
205
152
  var newPendingImages = pendingImages.filter(function (img) {
206
153
  return img.key !== addedImage.key;
207
154
  });
208
155
  var newState = {
209
156
  pendingImages: newPendingImages
210
157
  };
211
-
212
158
  if (newPendingImages.length === 0) {
213
159
  newState.scheduled = false;
214
160
  }
215
-
216
161
  setPendingImages(newState.pendingImages);
217
162
  setScheduled(newState.scheduled);
218
- (_cb = cb) === null || _cb === void 0 ? void 0 : _cb(editor.getHTML());
163
+ (_cb = cb) === null || _cb === void 0 || _cb(editor.getHTML());
219
164
  };
220
-
221
165
  var callback = function callback() {
222
166
  /**
223
167
  * The handler is the object through which the outer context
@@ -226,7 +170,6 @@ var EditableHtml = function EditableHtml(props) {
226
170
  var handler = getHandler(onFinish);
227
171
  props.imageSupport.add(handler);
228
172
  };
229
-
230
173
  setPendingImages([].concat((0, _toConsumableArray2["default"])(pendingImages), [addedImage]));
231
174
  callback();
232
175
  },
@@ -246,9 +189,9 @@ var EditableHtml = function EditableHtml(props) {
246
189
  handleKeyDown: function handleKeyDown(view, event) {
247
190
  if (props.onKeyDown) {
248
191
  return props.onKeyDown(event);
249
- } // Return false to let default behavior continue
250
-
192
+ }
251
193
 
194
+ // Return false to let default behavior continue
252
195
  return false;
253
196
  }
254
197
  },
@@ -256,43 +199,35 @@ var EditableHtml = function EditableHtml(props) {
256
199
  content: props.markup,
257
200
  onUpdate: function onUpdate(_ref4) {
258
201
  var editor = _ref4.editor,
259
- transaction = _ref4.transaction;
260
-
202
+ transaction = _ref4.transaction;
261
203
  if (transaction.isDone) {
262
204
  var _props$onChange;
263
-
264
- (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, editor.getHTML());
205
+ (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, editor.getHTML());
265
206
  }
266
207
  },
267
208
  onBlur: function onBlur(_ref5) {
268
209
  var editor = _ref5.editor;
269
210
  var respAreaToolbarActive = editor.isActive('inline_dropdown') || editor.isActive('explicit_constructed_response');
270
-
271
211
  if (respAreaToolbarActive) {
272
212
  return;
273
213
  }
274
-
275
214
  if (props.markup !== editor.getHTML()) {
276
215
  var _props$onChange2;
277
-
278
- (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 ? void 0 : _props$onChange2.call(props, editor.getHTML());
216
+ (_props$onChange2 = props.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props, editor.getHTML());
279
217
  }
280
-
281
218
  if (toolbarOptsToUse.doneOn === 'blur') {
282
219
  var _props$onDone2;
283
-
284
- (_props$onDone2 = props.onDone) === null || _props$onDone2 === void 0 ? void 0 : _props$onDone2.call(props, editor.getHTML());
220
+ (_props$onDone2 = props.onDone) === null || _props$onDone2 === void 0 || _props$onDone2.call(props, editor.getHTML());
285
221
  }
286
222
  }
287
223
  }, [props.charactersLimit]);
288
224
  (0, _react.useEffect)(function () {
289
- editor === null || editor === void 0 ? void 0 : editor.setEditable(!props.disabled);
225
+ editor === null || editor === void 0 || editor.setEditable(!props.disabled);
290
226
  }, [props.disabled, editor]);
291
227
  (0, _react.useEffect)(function () {
292
228
  if (!editor) {
293
229
  return;
294
230
  }
295
-
296
231
  if (props.markup !== editor.getHTML()) {
297
232
  editor.commands.setContent(props.markup, false); // false = don’t emit update
298
233
  }
@@ -300,9 +235,8 @@ var EditableHtml = function EditableHtml(props) {
300
235
  (0, _react.useEffect)(function () {
301
236
  Object.entries(cssVariables).forEach(function (_ref6) {
302
237
  var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
303
- key = _ref7[0],
304
- value = _ref7[1];
305
-
238
+ key = _ref7[0],
239
+ value = _ref7[1];
306
240
  document.documentElement.style.setProperty(key, value);
307
241
  });
308
242
  }, []);
@@ -310,7 +244,6 @@ var EditableHtml = function EditableHtml(props) {
310
244
  editor: editor,
311
245
  selector: function selector(ctx) {
312
246
  var _ctx$editor;
313
-
314
247
  return {
315
248
  isFocused: (_ctx$editor = ctx.editor) === null || _ctx$editor === void 0 ? void 0 : _ctx$editor.isFocused
316
249
  };
@@ -318,11 +251,11 @@ var EditableHtml = function EditableHtml(props) {
318
251
  });
319
252
  var sizeStyle = (0, _react.useMemo)(function () {
320
253
  var minWidth = props.minWidth,
321
- width = props.width,
322
- maxWidth = props.maxWidth,
323
- minHeight = props.minHeight,
324
- height = props.height,
325
- maxHeight = props.maxHeight;
254
+ width = props.width,
255
+ maxWidth = props.maxWidth,
256
+ minHeight = props.minHeight,
257
+ height = props.height,
258
+ maxHeight = props.maxHeight;
326
259
  return {
327
260
  width: (0, _size.valueToSize)(width),
328
261
  minWidth: (0, _size.valueToSize)(minWidth),
@@ -338,22 +271,27 @@ var EditableHtml = function EditableHtml(props) {
338
271
  }), {
339
272
  editorState: editorState,
340
273
  editor: editor
341
- }), editor && /*#__PURE__*/_react["default"].createElement(_react2.EditorContent, {
274
+ }), editor && /*#__PURE__*/_react["default"].createElement(StyledEditorContent, {
342
275
  style: {
343
276
  minHeight: sizeStyle.minHeight,
344
277
  height: sizeStyle.height,
345
278
  maxHeight: sizeStyle.maxHeight
346
279
  },
347
- className: (0, _classnames["default"])((_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.showParagraph, showParagraphs && !showParagraphs.disabled), (0, _defineProperty2["default"])(_classNames, classes.separateParagraph, separateParagraphs && !separateParagraphs.disabled), _classNames), classes.root),
280
+ showParagraph: showParagraphs && !showParagraphs.disabled,
281
+ separateParagraph: separateParagraphs && !separateParagraphs.disabled,
348
282
  editor: editor
349
283
  }));
350
284
  };
351
-
352
- exports.EditableHtml = EditableHtml;
353
- var StyledEditor = (0, _styles.withStyles)({
354
- root: {
285
+ var StyledEditorContent = (0, _styles.styled)(_react2.EditorContent, {
286
+ shouldForwardProp: function shouldForwardProp(prop) {
287
+ return !['showParagraph', 'separateParagraph'].includes(prop);
288
+ }
289
+ })(function (_ref8) {
290
+ var showParagraph = _ref8.showParagraph,
291
+ separateParagraph = _ref8.separateParagraph;
292
+ return {
355
293
  outline: 'none !important',
356
- '& .ProseMirror': {
294
+ '& .ProseMirror': _objectSpread(_objectSpread({
357
295
  padding: '5px',
358
296
  maxHeight: '500px',
359
297
  outline: 'none !important',
@@ -361,28 +299,19 @@ var StyledEditor = (0, _styles.withStyles)({
361
299
  '& > p': {
362
300
  margin: '0'
363
301
  }
364
- }
365
- },
366
- showParagraph: {
367
- '& .ProseMirror': {
368
- // a p that has a p after it
302
+ }, showParagraph && {
369
303
  '& > p:has(+ p)::after': {
370
304
  display: 'block',
371
305
  content: '"¶"',
372
306
  fontSize: '1em',
373
307
  color: '#146EB3'
374
308
  }
375
- }
376
- },
377
- separateParagraph: {
378
- '& .ProseMirror': {
379
- // a p that has a p after it
309
+ }), separateParagraph && {
380
310
  '& > div:has(+ div)': {
381
311
  marginBottom: '1em'
382
312
  }
383
- }
384
- }
385
- })(EditableHtml);
386
- var _default = StyledEditor;
387
- exports["default"] = _default;
388
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRhYmxlSHRtbC5qc3giXSwibmFtZXMiOlsiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiREVGQVVMVF9BQ1RJVkVfUExVR0lOUyIsImNzc1ZhcmlhYmxlcyIsIkVkaXRhYmxlSHRtbCIsInByb3BzIiwicGx1Z2luUHJvcHMiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsInBlbmRpbmdJbWFnZXMiLCJzZXRQZW5kaW5nSW1hZ2VzIiwic2NoZWR1bGVkIiwic2V0U2NoZWR1bGVkIiwiY2xhc3NlcyIsInRvb2xiYXJPcHRzIiwidG9vbGJhck9wdHNUb1VzZSIsImFjdGl2ZVBsdWdpbnNUb1VzZSIsImN1c3RvbVBsdWdpbnMiLCJvdGhlclBsdWdpblByb3BzIiwiZmlsdGVyZWRBY3RpdmVQbHVnaW5zIiwiYWN0aXZlUGx1Z2lucyIsImZpbHRlciIsInBsdWdpbk5hbWUiLCJwbHVnaW5JbmZvIiwiZGlzYWJsZWQiLCJtYXRoIiwidGV4dEFsaWduIiwiaHRtbCIsImV4dHJhQ1NTUnVsZXMiLCJpbWFnZSIsInRvb2xiYXIiLCJ0YWJsZSIsInJlc3BvbnNlQXJlYSIsInR5cGUiLCJyZXNwb25zZUFyZWFQcm9wcyIsImxhbmd1YWdlQ2hhcmFjdGVycyIsImxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwia2V5UGFkQ2hhcmFjdGVyUmVmIiwic2V0S2V5cGFkSW50ZXJhY3Rpb24iLCJtZWRpYSIsImV4dGVuc2lvbnMiLCJUZXh0U3R5bGVLaXQiLCJDaGFyYWN0ZXJDb3VudCIsImNvbmZpZ3VyZSIsImxpbWl0IiwiY2hhcmFjdGVyc0xpbWl0IiwiU3RhcnRlcktpdCIsIkV4dGVuZGVkVGFibGUiLCJUYWJsZVJvdyIsIlRhYmxlSGVhZGVyIiwiVGFibGVDZWxsIiwiUmVzcG9uc2VBcmVhRXh0ZW5zaW9uIiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIkRyYWdJblRoZUJsYW5rTm9kZSIsIklubGluZURyb3Bkb3duTm9kZSIsIk1hdGhOb2RlIiwiU3ViU2NyaXB0IiwiU3VwZXJTY3JpcHQiLCJUZXh0QWxpZ24iLCJ0eXBlcyIsImFsaWdubWVudHMiLCJJbWFnZSIsIkltYWdlVXBsb2FkTm9kZSIsImltYWdlSGFuZGxpbmciLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25Eb25lIiwiZWRpdG9yIiwiZ2V0SFRNTCIsIm9uRGVsZXRlIiwiaW1hZ2VTdXBwb3J0Iiwibm9kZSIsImRvbmUiLCJzcmMiLCJhdHRycyIsImUiLCJuZXdQZW5kaW5nSW1hZ2VzIiwiaW1nIiwia2V5IiwibmV3U3RhdGUiLCJsZW5ndGgiLCJpbnNlcnRJbWFnZVJlcXVlc3RlZCIsImFkZGVkSW1hZ2UiLCJnZXRIYW5kbGVyIiwib25GaW5pc2giLCJyZXN1bHQiLCJjYiIsIm9uQ2hhbmdlIiwiY2FsbGJhY2siLCJoYW5kbGVyIiwiYWRkIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwiTWVkaWEiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJDU1NNYXJrIiwiaW1tZWRpYXRlbHlSZW5kZXIiLCJlZGl0b3JQcm9wcyIsImhhbmRsZUtleURvd24iLCJ2aWV3IiwiZXZlbnQiLCJvbktleURvd24iLCJlZGl0YWJsZSIsImNvbnRlbnQiLCJtYXJrdXAiLCJvblVwZGF0ZSIsInRyYW5zYWN0aW9uIiwiaXNEb25lIiwib25CbHVyIiwicmVzcEFyZWFUb29sYmFyQWN0aXZlIiwiaXNBY3RpdmUiLCJzZXRFZGl0YWJsZSIsImNvbW1hbmRzIiwic2V0Q29udGVudCIsIk9iamVjdCIsImVudHJpZXMiLCJmb3JFYWNoIiwidmFsdWUiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInN0eWxlIiwic2V0UHJvcGVydHkiLCJlZGl0b3JTdGF0ZSIsInNlbGVjdG9yIiwiY3R4IiwiaXNGb2N1c2VkIiwic2l6ZVN0eWxlIiwibWluV2lkdGgiLCJ3aWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwibWF4SGVpZ2h0Iiwic2hvd1BhcmFncmFwaCIsInNlcGFyYXRlUGFyYWdyYXBoIiwicm9vdCIsIlN0eWxlZEVkaXRvciIsIm91dGxpbmUiLCJwYWRkaW5nIiwibWFyZ2luIiwiZGlzcGxheSIsImZvbnRTaXplIiwiY29sb3IiLCJtYXJnaW5Cb3R0b20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU1BOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxrQkFBa0IsR0FBRztBQUN6QkMsRUFBQUEsUUFBUSxFQUFFLFFBRGU7QUFFekJDLEVBQUFBLFNBQVMsRUFBRSxNQUZjO0FBR3pCQyxFQUFBQSxhQUFhLEVBQUUsS0FIVTtBQUl6QkMsRUFBQUEsUUFBUSxFQUFFLElBSmU7QUFLekJDLEVBQUFBLE1BQU0sRUFBRTtBQUxpQixDQUEzQjtBQVFBLElBQU1DLHdCQUF3QixHQUFHO0FBQy9CQyxFQUFBQSxPQUFPLEVBQUUsRUFEc0I7QUFFL0JDLEVBQUFBLGVBQWUsRUFBRSwyQkFBTSxDQUFFLENBRk07QUFHL0JDLEVBQUFBLGtCQUFrQixFQUFFLDhCQUFNLENBQUU7QUFIRyxDQUFqQztBQU1BLElBQU1DLHNCQUFzQixHQUFHLENBQzdCLE1BRDZCLEVBRTdCLFFBRjZCLEVBRzdCLFdBSDZCLEVBSTdCLGVBSjZCLEVBSzdCLE1BTDZCLEVBTTdCLGVBTjZCLEVBTzdCLGVBUDZCLEVBUTdCLE9BUjZCLEVBUzdCLE1BVDZCLEVBVTdC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RTtBQUREO0FBTE87QUFGZCxHQUR3QjtBQWE5Qk4sRUFBQUEsYUFBYSxFQUFFO0FBQ2Isc0JBQWtCO0FBQ2hCO0FBQ0EsK0JBQXlCO0FBQ3ZCTyxRQUFBQSxPQUFPLEVBQUUsT0FEYztBQUV2QnJDLFFBQUFBLE9BQU8sRUFBRSxLQUZjO0FBR3ZCc0MsUUFBQUEsUUFBUSxFQUFFLEtBSGE7QUFJdkJDLFFBQUFBLEtBQUssRUFBRTtBQUpnQjtBQUZUO0FBREwsR0FiZTtBQXdCOUJSLEVBQUFBLGlCQUFpQixFQUFFO0FBQ2pCLHNCQUFrQjtBQUNoQjtBQUNBLDRCQUFzQjtBQUNwQlMsUUFBQUEsWUFBWSxFQUFFO0FBRE07QUFGTjtBQUREO0FBeEJXLENBQVgsRUFnQ2xCMUksWUFoQ2tCLENBQXJCO2VBa0NlbUksWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyBFZGl0b3JDb250ZW50LCB1c2VFZGl0b3IsIHVzZUVkaXRvclN0YXRlIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgU3RhcnRlcktpdCBmcm9tICdAdGlwdGFwL3N0YXJ0ZXIta2l0JztcbmltcG9ydCB7IFRleHRTdHlsZUtpdCB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRleHQtc3R5bGUnO1xuaW1wb3J0IHsgQ2hhcmFjdGVyQ291bnQgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi1jaGFyYWN0ZXItY291bnQnO1xuaW1wb3J0IFN1cGVyU2NyaXB0IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1cGVyc2NyaXB0JztcbmltcG9ydCBTdWJTY3JpcHQgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tc3Vic2NyaXB0JztcbmltcG9ydCBUZXh0QWxpZ24gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbic7XG5pbXBvcnQgSW1hZ2UgZnJvbSAnQHRpcHRhcC9leHRlbnNpb24taW1hZ2UnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5cbmltcG9ydCBFeHRlbmRlZFRhYmxlIGZyb20gJy4uL2V4dGVuc2lvbnMvZXh0ZW5kZWQtdGFibGUnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZS1yb3cnO1xuaW1wb3J0IHsgVGFibGVDZWxsIH0gZnJvbSAnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtY2VsbCc7XG5pbXBvcnQgeyBUYWJsZUhlYWRlciB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLXRhYmxlLWhlYWRlcic7XG5pbXBvcnQge1xuICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlLFxuICBEcmFnSW5UaGVCbGFua05vZGUsXG4gIElubGluZURyb3Bkb3duTm9kZSxcbiAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uLFxufSBmcm9tICcuLi9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYSc7XG5pbXBvcnQgeyBNYXRoTm9kZSB9IGZyb20gJy4uL2V4dGVuc2lvbnMvbWF0aCc7XG5pbXBvcnQgeyBJbWFnZVVwbG9hZE5vZGUgfSBmcm9tICcuLi9leHRlbnNpb25zL2ltYWdlJztcbmltcG9ydCB7IE1lZGlhIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9tZWRpYSc7XG5pbXBvcnQgeyBDU1NNYXJrIH0gZnJvbSAnLi4vZXh0ZW5zaW9ucy9jc3MnO1xuXG5pbXBvcnQgRWRpdG9yQ29udGFpbmVyIGZyb20gJy4vVGlwdGFwQ29udGFpbmVyJztcbmltcG9ydCB7IHZhbHVlVG9TaXplIH0gZnJvbSAnLi4vdXRpbHMvc2l6ZSc7XG5pbXBvcnQgeyBidWlsZEV4dGVuc2lvbnMgfSBmcm9tICcuLi9leHRlbnNpb25zJztcblxuY29uc3QgZGVmYXVsdFRvb2xiYXJPcHRzID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbScsXG4gIGFsaWdubWVudDogJ2xlZnQnLFxuICBhbHdheXNWaXNpYmxlOiBmYWxzZSxcbiAgc2hvd0RvbmU6IHRydWUsXG4gIGRvbmVPbjogJ2JsdXInLFxufTtcblxuY29uc3QgZGVmYXVsdFJlc3BvbnNlQXJlYVByb3BzID0ge1xuICBvcHRpb25zOiB7fSxcbiAgcmVzcEFyZWFUb29sYmFyOiAoKSA9PiB7fSxcbiAgb25IYW5kbGVBcmVhQ2hhbmdlOiAoKSA9PiB7fSxcbn07XG5cbmNvbnN0IERFRkFVTFRfQUNUSVZFX1BMVUdJTlMgPSBbXG4gICdib2xkJyxcbiAgJ2l0YWxpYycsXG4gICd1bmRlcmxpbmUnLFxuICAnc3RyaWtldGhyb3VnaCcsXG4gICdjb2RlJyxcbiAgJ2J1bGxldGVkLWxpc3QnLFxuICAnbnVtYmVyZWQtbGlzdCcsXG4gICdpbWFnZScsXG4gICdtYXRoJyxcbiAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICd0ZXh0LWFsaWduJyxcbiAgJ3RhYmxlJyxcbiAgJ3ZpZGVvJyxcbiAgJ2F1ZGlvJyxcbiAgJ3Jlc3BvbnNlQXJlYScsXG4gICdzdXBlcnNjcmlwdCcsXG4gICdzdWJzY3JpcHQnLFxuICAnY3NzJyxcbiAgJ2gzJyxcbiAgJ3VuZG8nLFxuICAncmVkbycsXG5dO1xuXG5jb25zdCBjc3NWYXJpYWJsZXMgPSB7XG4gICctLXdoaXRlJzogJyNmZmYnLFxuICAnLS1ibGFjayc6ICcjMmUyYjI5JyxcbiAgJy0tYmxhY2stY29udHJhc3QnOiAnIzExMGYwZScsXG4gICctLWdyYXktMSc6ICdyZ2JhKDYxLCAzNywgMjAsIC4wNSknLFxuICAnLS1ncmF5LTInOiAncmdiYSg2MSwgMzcsIDIwLCAuMDgpJyxcbiAgJy0tZ3JheS0zJzogJ3JnYmEoNjEsIDM3LCAyMCwgLjEyKScsXG4gICctLWdyYXktNCc6ICdyZ2JhKDUzLCAzOCwgMjgsIC4zKScsXG4gICctLWdyYXktNSc6ICdyZ2JhKDI4LCAyNSwgMjMsIC42KScsXG4gICctLWdyZWVuJzogJyMyMmM1NWUnLFxuICAnLS1wdXJwbGUnOiAnIzZhMDBmNScsXG4gICctLXB1cnBsZS1jb250cmFzdCc6ICcjNTgwMGNjJyxcbiAgJy0tcHVycGxlLWxpZ2h0JzogJ3JnYmEoODgsIDUsIDI1NSwgLjA1KScsXG4gICctLXllbGxvdy1jb250cmFzdCc6ICcjZmFjYzE1JyxcbiAgJy0teWVsbG93JzogJ3JnYmEoMjUwLCAyMDQsIDIxLCAuNCknLFxuICAnLS15ZWxsb3ctbGlnaHQnOiAnI2ZmZmFlNScsXG4gICctLXJlZCc6ICcjZmY1YzMzJyxcbiAgJy0tcmVkLWxpZ2h0JzogJyNmZmViZTUnLFxuICAnLS1zaGFkb3cnOiBgMHB4IDEycHggMzNweCAwcHggcmdiYSgwLCAwLCAwLCAuMDYpLFxuICAgICAgICAgICAgICAgMHB4IDMuNjE4cHggOS45NDlweCAwcHggcmdiYSgwLCAwLCAwLCAuMDQpYCxcbn07XG5cbmV4cG9ydCBjb25zdCBFZGl0YWJsZUh0bWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBzaG93UGFyYWdyYXBocywgc2VwYXJhdGVQYXJhZ3JhcGhzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcbiAgY29uc3QgW3BlbmRpbmdJbWFnZXMsIHNldFBlbmRpbmdJbWFnZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbc2NoZWR1bGVkLCBzZXRTY2hlZHVsZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB7IGNsYXNzZXMsIHRvb2xiYXJPcHRzIH0gPSBwcm9wcztcblxuICBjb25zdCB0b29sYmFyT3B0c1RvVXNlID0ge1xuICAgIC4uLmRlZmF1bHRUb29sYmFyT3B0cyxcbiAgICAuLi50b29sYmFyT3B0cyxcbiAgfTtcblxuICBjb25zdCBhY3RpdmVQbHVnaW5zVG9Vc2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBsZXQgeyBjdXN0b21QbHVnaW5zLCAuLi5vdGhlclBsdWdpblByb3BzIH0gPSBwcm9wcy5wbHVnaW5Qcm9wcyB8fCB7fTtcblxuICAgIGN1c3RvbVBsdWdpbnMgPSBjdXN0b21QbHVnaW5zIHx8IFtdO1xuXG4gICAgY29uc3QgZmlsdGVyZWRBY3RpdmVQbHVnaW5zID0gKHByb3BzLmFjdGl2ZVBsdWdpbnMgfHwgREVGQVVMVF9BQ1RJVkVfUExVR0lOUyk/LmZpbHRlcigocGx1Z2luTmFtZSkgPT4ge1xuICAgICAgY29uc3QgcGx1Z2luSW5mbyA9IG90aGVyUGx1Z2luUHJvcHNbcGx1Z2luTmFtZV0gfHwge307XG5cbiAgICAgIHJldHVybiAhcGx1Z2luSW5mbyB8fCAhcGx1Z2luSW5mby5kaXNhYmxlZDtcbiAgICB9KTtcblxuICAgIHJldHVybiBidWlsZEV4dGVuc2lvbnMoZmlsdGVyZWRBY3RpdmVQbHVnaW5zLCBjdXN0b21QbHVnaW5zLCB7XG4gICAgICBtYXRoOiB7fSxcbiAgICAgIHRleHRBbGlnbjoge30sXG4gICAgICBodG1sOiB7fSxcbiAgICAgIGV4dHJhQ1NTUnVsZXM6IHByb3BzLmV4dHJhQ1NTUnVsZXMgfHwge30sXG4gICAgICBpbWFnZToge30sXG4gICAgICB0b29sYmFyOiB7fSxcbiAgICAgIHRhYmxlOiB7fSxcbiAgICAgIHJlc3BvbnNlQXJlYToge1xuICAgICAgICB0eXBlOiBwcm9wcy5yZXNwb25zZUFyZWFQcm9wcz8udHlwZSxcbiAgICAgIH0sXG4gICAgICBsYW5ndWFnZUNoYXJhY3RlcnM6IHByb3BzLmxhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzLFxuICAgICAga2V5UGFkQ2hhcmFjdGVyUmVmOiB7fSxcbiAgICAgIHNldEtleXBhZEludGVyYWN0aW9uOiB7fSxcbiAgICAgIG1lZGlhOiB7fSxcbiAgICB9KTtcbiAgfSwgW3Byb3BzXSk7XG5cbiAgY29uc3QgZXh0ZW5zaW9ucyA9IFtcbiAgICBUZXh0U3R5bGVLaXQsXG4gICAgQ2hhcmFjdGVyQ291bnQuY29uZmlndXJlKHtcbiAgICAgIGxpbWl0OiBwcm9wcy5jaGFyYWN0ZXJzTGltaXQgfHwgMTAwMDAwMCxcbiAgICB9KSxcbiAgICBTdGFydGVyS2l0LFxuICAgIEV4dGVuZGVkVGFibGUsXG4gICAgVGFibGVSb3csXG4gICAgVGFibGVIZWFkZXIsXG4gICAgVGFibGVDZWxsLFxuICAgIFJlc3BvbnNlQXJlYUV4dGVuc2lvbi5jb25maWd1cmUocHJvcHMucmVzcG9uc2VBcmVhUHJvcHMpLFxuICAgIEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBEcmFnSW5UaGVCbGFua05vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBJbmxpbmVEcm9wZG93bk5vZGUuY29uZmlndXJlKHByb3BzLnJlc3BvbnNlQXJlYVByb3BzKSxcbiAgICBNYXRoTm9kZS5jb25maWd1cmUoe1xuICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgfSksXG4gICAgU3ViU2NyaXB0LFxuICAgIFN1cGVyU2NyaXB0LFxuICAgIFRleHRBbGlnbi5jb25maWd1cmUoe1xuICAgICAgdHlwZXM6IFsnaGVhZGluZycsICdwYXJhZ3JhcGgnXSxcbiAgICAgIGFsaWdubWVudHM6IFsnbGVmdCcsICdyaWdodCcsICdjZW50ZXInXSxcbiAgICB9KSxcbiAgICBJbWFnZSxcbiAgICBJbWFnZVVwbG9hZE5vZGUuY29uZmlndXJlKHtcbiAgICAgIHRvb2xiYXJPcHRzOiB0b29sYmFyT3B0c1RvVXNlLFxuICAgICAgaW1hZ2VIYW5kbGluZzoge1xuICAgICAgICBkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zOiBwcm9wcy5kaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zLFxuICAgICAgICBvbkRvbmU6ICgpID0+IHByb3BzLm9uRG9uZT8uKGVkaXRvci5nZXRIVE1MKCkpLFxuICAgICAgICBvbkRlbGV0ZTpcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQgJiZcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQuZGVsZXRlICYmXG4gICAgICAgICAgKChub2RlLCBkb25lKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHNyYyB9ID0gbm9kZS5hdHRycztcblxuICAgICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmRlbGV0ZShzcmMsIChlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1BlbmRpbmdJbWFnZXMgPSBwZW5kaW5nSW1hZ2VzLmZpbHRlcigoaW1nKSA9PiBpbWcua2V5ICE9PSBub2RlLmtleSk7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJbWFnZXM6IG5ld1BlbmRpbmdJbWFnZXMsXG4gICAgICAgICAgICAgICAgc2NoZWR1bGVkOiBzY2hlZHVsZWQgJiYgbmV3UGVuZGluZ0ltYWdlcy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IHNjaGVkdWxlZCxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBzZXRQZW5kaW5nSW1hZ2VzKG5ld1N0YXRlLnBlbmRpbmdJbWFnZXMpO1xuICAgICAgICAgICAgICBzZXRTY2hlZHVsZWQobmV3U3RhdGUuc2NoZWR1bGVkKTtcbiAgICAgICAgICAgICAgZG9uZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICAgIGluc2VydEltYWdlUmVxdWVzdGVkOlxuICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydCAmJlxuICAgICAgICAgICgoYWRkZWRJbWFnZSwgZ2V0SGFuZGxlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb25GaW5pc2ggPSAocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgIGxldCBjYjtcblxuICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVkICYmIHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIC8vIGZpbmlzaCBlZGl0aW5nIG9ubHkgb24gc3VjY2Vzc1xuICAgICAgICAgICAgICAgIGNiID0gcHJvcHMub25DaGFuZ2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gcGVuZGluZ0ltYWdlcy5maWx0ZXIoKGltZykgPT4gaW1nLmtleSAhPT0gYWRkZWRJbWFnZS5rZXkpO1xuICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSW1hZ2VzOiBuZXdQZW5kaW5nSW1hZ2VzLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIGlmIChuZXdQZW5kaW5nSW1hZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG5ld1N0YXRlLnNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgc2V0UGVuZGluZ0ltYWdlcyhuZXdTdGF0ZS5wZW5kaW5nSW1hZ2VzKTtcbiAgICAgICAgICAgICAgc2V0U2NoZWR1bGVkKG5ld1N0YXRlLnNjaGVkdWxlZCk7XG4gICAgICAgICAgICAgIGNiPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBUaGUgaGFuZGxlciBpcyB0aGUgb2JqZWN0IHRocm91Z2ggd2hpY2ggdGhlIG91dGVyIGNvbnRleHRcbiAgICAgICAgICAgICAgICogY29tbXVuaWNhdGVzIGZpbGUgdXBsb2FkIGV2ZW50cyBsaWtlOiBmaWxlQ2hvc2VuLCBjYW5jZWwsIHByb2dyZXNzXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcihvbkZpbmlzaCk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5hZGQoaGFuZGxlcik7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICBzZXRQZW5kaW5nSW1hZ2VzKFsuLi5wZW5kaW5nSW1hZ2VzLCBhZGRlZEltYWdlXSk7XG4gICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgIH0pLFxuICAgICAgICBtYXhJbWFnZVdpZHRoOiBwcm9wcy5tYXhJbWFnZVdpZHRoLFxuICAgICAgICBtYXhJbWFnZUhlaWdodDogcHJvcHMubWF4SW1hZ2VIZWlnaHQsXG4gICAgICB9LFxuICAgICAgbGltaXQ6IDMsXG4gICAgfSksXG4gICAgTWVkaWEuY29uZmlndXJlKHtcbiAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydDogcHJvcHMudXBsb2FkU291bmRTdXBwb3J0LFxuICAgIH0pLFxuICAgIENTU01hcmsuY29uZmlndXJlKHtcbiAgICAgIGV4dHJhQ1NTUnVsZXM6IHByb3BzLmV4dHJhQ1NTUnVsZXMsXG4gICAgfSksXG4gIF07XG5cbiAgY29uc3QgZWRpdG9yID0gdXNlRWRpdG9yKFxuICAgIHtcbiAgICAgIGV4dGVuc2lvbnMsXG4gICAgICBpbW1lZGlhdGVseVJlbmRlcjogZmFsc2UsXG4gICAgICBlZGl0b3JQcm9wczoge1xuICAgICAgICBoYW5kbGVLZXlEb3duKHZpZXcsIGV2ZW50KSB7XG4gICAgICAgICAgaWYgKHByb3BzLm9uS2V5RG93bikge1xuICAgICAgICAgICAgcmV0dXJuIHByb3BzLm9uS2V5RG93bihldmVudCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gUmV0dXJuIGZhbHNlIHRvIGxldCBkZWZhdWx0IGJlaGF2aW9yIGNvbnRpbnVlXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGVkaXRhYmxlOiAhcHJvcHMuZGlzYWJsZWQsXG4gICAgICBjb250ZW50OiBwcm9wcy5tYXJrdXAsXG4gICAgICBvblVwZGF0ZTogKHsgZWRpdG9yLCB0cmFuc2FjdGlvbiB9KSA9PiB7XG4gICAgICAgIGlmICh0cmFuc2FjdGlvbi5pc0RvbmUpIHtcbiAgICAgICAgICBwcm9wcy5vbkNoYW5nZT8uKGVkaXRvci5nZXRIVE1MKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25CbHVyOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICBjb25zdCByZXNwQXJlYVRvb2xiYXJBY3RpdmUgPVxuICAgICAgICAgIGVkaXRvci5pc0FjdGl2ZSgnaW5saW5lX2Ryb3Bkb3duJykgfHwgZWRpdG9yLmlzQWN0aXZlKCdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScpO1xuXG4gICAgICAgIGlmIChyZXNwQXJlYVRvb2xiYXJBY3RpdmUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMubWFya3VwICE9PSBlZGl0b3IuZ2V0SFRNTCgpKSB7XG4gICAgICAgICAgcHJvcHMub25DaGFuZ2U/LihlZGl0b3IuZ2V0SFRNTCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b29sYmFyT3B0c1RvVXNlLmRvbmVPbiA9PT0gJ2JsdXInKSB7XG4gICAgICAgICAgcHJvcHMub25Eb25lPy4oZWRpdG9yLmdldEhUTUwoKSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgICBbcHJvcHMuY2hhcmFjdGVyc0xpbWl0XSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVkaXRvcj8uc2V0RWRpdGFibGUoIXByb3BzLmRpc2FibGVkKTtcbiAgfSwgW3Byb3BzLmRpc2FibGVkLCBlZGl0b3JdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm1hcmt1cCAhPT0gZWRpdG9yLmdldEhUTUwoKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnNldENvbnRlbnQocHJvcHMubWFya3VwLCBmYWxzZSk7IC8vIGZhbHNlID0gZG9u4oCZdCBlbWl0IHVwZGF0ZVxuICAgIH1cbiAgfSwgW3Byb3BzLm1hcmt1cCwgZWRpdG9yXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyhjc3NWYXJpYWJsZXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUpO1xuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgZWRpdG9yU3RhdGUgPSB1c2VFZGl0b3JTdGF0ZSh7XG4gICAgZWRpdG9yLFxuICAgIHNlbGVjdG9yOiAoY3R4KSA9PiAoe1xuICAgICAgaXNGb2N1c2VkOiBjdHguZWRpdG9yPy5pc0ZvY3VzZWQsXG4gICAgfSksXG4gIH0pO1xuXG4gIGNvbnN0IHNpemVTdHlsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgbWluV2lkdGgsIHdpZHRoLCBtYXhXaWR0aCwgbWluSGVpZ2h0LCBoZWlnaHQsIG1heEhlaWdodCB9ID0gcHJvcHM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IHZhbHVlVG9TaXplKHdpZHRoKSxcbiAgICAgIG1pbldpZHRoOiB2YWx1ZVRvU2l6ZShtaW5XaWR0aCksXG4gICAgICBtYXhXaWR0aDogdmFsdWVUb1NpemUobWF4V2lkdGgpLFxuICAgICAgaGVpZ2h0OiB2YWx1ZVRvU2l6ZShoZWlnaHQpLFxuICAgICAgbWluSGVpZ2h0OiB2YWx1ZVRvU2l6ZShtaW5IZWlnaHQpLFxuICAgICAgbWF4SGVpZ2h0OiB2YWx1ZVRvU2l6ZShtYXhIZWlnaHQpLFxuICAgIH07XG4gIH0sIFtwcm9wc10pO1xuXG4gIHJldHVybiAoXG4gICAgPEVkaXRvckNvbnRhaW5lclxuICAgICAgey4uLntcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGFjdGl2ZVBsdWdpbnM6IGFjdGl2ZVBsdWdpbnNUb1VzZSxcbiAgICAgICAgdG9vbGJhck9wdHM6IHRvb2xiYXJPcHRzVG9Vc2UsXG4gICAgICB9fVxuICAgICAgZWRpdG9yU3RhdGU9e2VkaXRvclN0YXRlfVxuICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgPlxuICAgICAge2VkaXRvciAmJiAoXG4gICAgICAgIDxFZGl0b3JDb250ZW50XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIG1pbkhlaWdodDogc2l6ZVN0eWxlLm1pbkhlaWdodCxcbiAgICAgICAgICAgIGhlaWdodDogc2l6ZVN0eWxlLmhlaWdodCxcbiAgICAgICAgICAgIG1heEhlaWdodDogc2l6ZVN0eWxlLm1heEhlaWdodCxcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2hvd1BhcmFncmFwaF06IHNob3dQYXJhZ3JhcGhzICYmICFzaG93UGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgW2NsYXNzZXMuc2VwYXJhdGVQYXJhZ3JhcGhdOiBzZXBhcmF0ZVBhcmFncmFwaHMgJiYgIXNlcGFyYXRlUGFyYWdyYXBocy5kaXNhYmxlZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGFzc2VzLnJvb3QsXG4gICAgICAgICAgKX1cbiAgICAgICAgICBlZGl0b3I9e2VkaXRvcn1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9FZGl0b3JDb250YWluZXI+XG4gICk7XG59O1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSB3aXRoU3R5bGVzKHtcbiAgcm9vdDoge1xuICAgIG91dGxpbmU6ICdub25lICFpbXBvcnRhbnQnLFxuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIHBhZGRpbmc6ICc1cHgnLFxuICAgICAgbWF4SGVpZ2h0OiAnNTAwcHgnLFxuICAgICAgb3V0bGluZTogJ25vbmUgIWltcG9ydGFudCcsXG4gICAgICBwb3NpdGlvbjogJ2luaXRpYWwnLFxuICAgICAgJyYgPiBwJzoge1xuICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgc2hvd1BhcmFncmFwaDoge1xuICAgICcmIC5Qcm9zZU1pcnJvcic6IHtcbiAgICAgIC8vIGEgcCB0aGF0IGhhcyBhIHAgYWZ0ZXIgaXRcbiAgICAgICcmID4gcDpoYXMoKyBwKTo6YWZ0ZXInOiB7XG4gICAgICAgIGRpc3BsYXk6ICdibG9jaycsXG4gICAgICAgIGNvbnRlbnQ6ICdcIsK2XCInLFxuICAgICAgICBmb250U2l6ZTogJzFlbScsXG4gICAgICAgIGNvbG9yOiAnIzE0NkVCMycsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHNlcGFyYXRlUGFyYWdyYXBoOiB7XG4gICAgJyYgLlByb3NlTWlycm9yJzoge1xuICAgICAgLy8gYSBwIHRoYXQgaGFzIGEgcCBhZnRlciBpdFxuICAgICAgJyYgPiBkaXY6aGFzKCsgZGl2KSc6IHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiAnMWVtJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pKEVkaXRhYmxlSHRtbCk7XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlZEVkaXRvcjtcbiJdfQ==
313
+ })
314
+ };
315
+ });
316
+ var _default = exports["default"] = EditableHtml;
317
+ //# sourceMappingURL=EditableHtml.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/EditableHtml.jsx"],"names":["defaultToolbarOpts","position","alignment","alwaysVisible","showDone","doneOn","defaultResponseAreaProps","options","respAreaToolbar","onHandleAreaChange","DEFAULT_ACTIVE_PLUGINS","cssVariables","EditableHtml","props","pluginProps","showParagraphs","separateParagraphs","pendingImages","setPendingImages","scheduled","setScheduled","classes","toolbarOpts","toolbarOptsToUse","activePluginsToUse","customPlugins","otherPluginProps","filteredActivePlugins","activePlugins","filter","pluginName","pluginInfo","disabled","math","textAlign","html","extraCSSRules","image","toolbar","table","responseArea","type","responseAreaProps","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextStyleKit","CharacterCount","configure","limit","charactersLimit","StarterKit","ExtendedTable","TableRow","TableHeader","TableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathNode","SubScript","SuperScript","TextAlign","types","alignments","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","onDone","editor","getHTML","onDelete","imageSupport","node","done","src","attrs","e","newPendingImages","img","key","newState","length","insertImageRequested","addedImage","getHandler","onFinish","result","cb","onChange","callback","handler","add","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","immediatelyRender","editorProps","handleKeyDown","view","event","onKeyDown","editable","content","markup","onUpdate","transaction","isDone","onBlur","respAreaToolbarActive","isActive","setEditable","commands","setContent","Object","entries","forEach","value","document","documentElement","style","setProperty","editorState","selector","ctx","isFocused","sizeStyle","minWidth","width","maxWidth","minHeight","height","maxHeight","showParagraph","separateParagraph","root","StyledEditor","outline","padding","margin","display","fontSize","color","marginBottom"],"mappings":"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","sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\nimport { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport { CharacterCount } from '@tiptap/extension-character-count';\nimport SuperScript from '@tiptap/extension-superscript';\nimport SubScript from '@tiptap/extension-subscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Image from '@tiptap/extension-image';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport ExtendedTable from '../extensions/extended-table';\nimport { TableRow } from '@tiptap/extension-table-row';\nimport { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\nimport {\n ExplicitConstructedResponseNode,\n DragInTheBlankNode,\n InlineDropdownNode,\n ResponseAreaExtension,\n} from '../extensions/responseArea';\nimport { MathNode } from '../extensions/math';\nimport { ImageUploadNode } from '../extensions/image';\nimport { Media } from '../extensions/media';\nimport { CSSMark } from '../extensions/css';\n\nimport EditorContainer from './TiptapContainer';\nimport { valueToSize } from '../utils/size';\nimport { buildExtensions } from '../extensions';\n\nconst defaultToolbarOpts = {\n position: 'bottom',\n alignment: 'left',\n alwaysVisible: false,\n showDone: true,\n doneOn: 'blur',\n};\n\nconst defaultResponseAreaProps = {\n options: {},\n respAreaToolbar: () => {},\n onHandleAreaChange: () => {},\n};\n\nconst DEFAULT_ACTIVE_PLUGINS = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'code',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'superscript',\n 'subscript',\n 'css',\n 'h3',\n 'undo',\n 'redo',\n];\n\nconst cssVariables = {\n '--white': '#fff',\n '--black': '#2e2b29',\n '--black-contrast': '#110f0e',\n '--gray-1': 'rgba(61, 37, 20, .05)',\n '--gray-2': 'rgba(61, 37, 20, .08)',\n '--gray-3': 'rgba(61, 37, 20, .12)',\n '--gray-4': 'rgba(53, 38, 28, .3)',\n '--gray-5': 'rgba(28, 25, 23, .6)',\n '--green': '#22c55e',\n '--purple': '#6a00f5',\n '--purple-contrast': '#5800cc',\n '--purple-light': 'rgba(88, 5, 255, .05)',\n '--yellow-contrast': '#facc15',\n '--yellow': 'rgba(250, 204, 21, .4)',\n '--yellow-light': '#fffae5',\n '--red': '#ff5c33',\n '--red-light': '#ffebe5',\n '--shadow': `0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,\n};\n\nexport const EditableHtml = (props) => {\n const { showParagraphs, separateParagraphs } = props.pluginProps || {};\n const [pendingImages, setPendingImages] = useState([]);\n const [scheduled, setScheduled] = useState(false);\n const { classes, toolbarOpts } = props;\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const activePluginsToUse = useMemo(() => {\n let { customPlugins, ...otherPluginProps } = props.pluginProps || {};\n\n customPlugins = customPlugins || [];\n\n const filteredActivePlugins = (props.activePlugins || DEFAULT_ACTIVE_PLUGINS)?.filter((pluginName) => {\n const pluginInfo = otherPluginProps[pluginName] || {};\n\n return !pluginInfo || !pluginInfo.disabled;\n });\n\n return buildExtensions(filteredActivePlugins, customPlugins, {\n math: {},\n textAlign: {},\n html: {},\n extraCSSRules: props.extraCSSRules || {},\n image: {},\n toolbar: {},\n table: {},\n responseArea: {\n type: props.responseAreaProps?.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props]);\n\n const extensions = [\n TextStyleKit,\n CharacterCount.configure({\n limit: props.charactersLimit || 1000000,\n }),\n StarterKit,\n ExtendedTable,\n TableRow,\n TableHeader,\n TableCell,\n ResponseAreaExtension.configure(props.responseAreaProps),\n ExplicitConstructedResponseNode.configure(props.responseAreaProps),\n DragInTheBlankNode.configure(props.responseAreaProps),\n InlineDropdownNode.configure(props.responseAreaProps),\n MathNode.configure({\n toolbarOpts: toolbarOptsToUse,\n }),\n SubScript,\n SuperScript,\n TextAlign.configure({\n types: ['heading', 'paragraph'],\n alignments: ['left', 'right', 'center'],\n }),\n Image,\n ImageUploadNode.configure({\n toolbarOpts: toolbarOptsToUse,\n imageHandling: {\n disableImageAlignmentButtons: props.disableImageAlignmentButtons,\n onDone: () => props.onDone?.(editor.getHTML()),\n onDelete:\n props.imageSupport &&\n props.imageSupport.delete &&\n ((node, done) => {\n const { src } = node.attrs;\n\n props.imageSupport.delete(src, (e) => {\n const newPendingImages = pendingImages.filter((img) => img.key !== node.key);\n const newState = {\n pendingImages: newPendingImages,\n scheduled: scheduled && newPendingImages.length === 0 ? false : scheduled,\n };\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n done();\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((addedImage, getHandler) => {\n const onFinish = (result) => {\n let cb;\n\n if (scheduled && result) {\n // finish editing only on success\n cb = props.onChange;\n }\n\n const newPendingImages = pendingImages.filter((img) => img.key !== addedImage.key);\n const newState = {\n pendingImages: newPendingImages,\n };\n\n if (newPendingImages.length === 0) {\n newState.scheduled = false;\n }\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n cb?.(editor.getHTML());\n };\n const callback = () => {\n /**\n * The handler is the object through which the outer context\n * communicates file upload events like: fileChosen, cancel, progress\n */\n const handler = getHandler(onFinish);\n props.imageSupport.add(handler);\n };\n\n setPendingImages([...pendingImages, addedImage]);\n callback();\n }),\n maxImageWidth: props.maxImageWidth,\n maxImageHeight: props.maxImageHeight,\n },\n limit: 3,\n }),\n Media.configure({\n uploadSoundSupport: props.uploadSoundSupport,\n }),\n CSSMark.configure({\n extraCSSRules: props.extraCSSRules,\n }),\n ];\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n handleKeyDown(view, event) {\n if (props.onKeyDown) {\n return props.onKeyDown(event);\n }\n\n // Return false to let default behavior continue\n return false;\n },\n },\n editable: !props.disabled,\n content: props.markup,\n onUpdate: ({ editor, transaction }) => {\n if (transaction.isDone) {\n props.onChange?.(editor.getHTML());\n }\n },\n onBlur: ({ editor }) => {\n const respAreaToolbarActive =\n editor.isActive('inline_dropdown') || editor.isActive('explicit_constructed_response');\n\n if (respAreaToolbarActive) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n props.onChange?.(editor.getHTML());\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(editor.getHTML());\n }\n },\n },\n [props.charactersLimit],\n );\n\n useEffect(() => {\n editor?.setEditable(!props.disabled);\n }, [props.disabled, editor]);\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n editor.commands.setContent(props.markup, false); // false = don’t emit update\n }\n }, [props.markup, editor]);\n\n useEffect(() => {\n Object.entries(cssVariables).forEach(([key, value]) => {\n document.documentElement.style.setProperty(key, value);\n });\n }, []);\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => ({\n isFocused: ctx.editor?.isFocused,\n }),\n });\n\n const sizeStyle = useMemo(() => {\n const { minWidth, width, maxWidth, minHeight, height, maxHeight } = props;\n\n return {\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n };\n }, [props]);\n\n return (\n <EditorContainer\n {...{\n ...props,\n activePlugins: activePluginsToUse,\n toolbarOpts: toolbarOptsToUse,\n }}\n editorState={editorState}\n editor={editor}\n >\n {editor && (\n <EditorContent\n style={{\n minHeight: sizeStyle.minHeight,\n height: sizeStyle.height,\n maxHeight: sizeStyle.maxHeight,\n }}\n className={classNames(\n {\n [classes.showParagraph]: showParagraphs && !showParagraphs.disabled,\n [classes.separateParagraph]: separateParagraphs && !separateParagraphs.disabled,\n },\n classes.root,\n )}\n editor={editor}\n />\n )}\n </EditorContainer>\n );\n};\n\nconst StyledEditor = withStyles({\n root: {\n outline: 'none !important',\n '& .ProseMirror': {\n padding: '5px',\n maxHeight: '500px',\n outline: 'none !important',\n position: 'initial',\n '& > p': {\n margin: '0',\n },\n },\n },\n showParagraph: {\n '& .ProseMirror': {\n // a p that has a p after it\n '& > p:has(+ p)::after': {\n display: 'block',\n content: '\"¶\"',\n fontSize: '1em',\n color: '#146EB3',\n },\n },\n },\n separateParagraph: {\n '& .ProseMirror': {\n // a p that has a p after it\n '& > div:has(+ div)': {\n marginBottom: '1em',\n },\n },\n },\n})(EditableHtml);\n\nexport default StyledEditor;\n"],"file":"EditableHtml.js"}
1
+ {"version":3,"file":"EditableHtml.js","names":["_react","_interopRequireWildcard","require","_react2","_starterKit","_interopRequireDefault","_extensionTextStyle","_extensionCharacterCount","_extensionSuperscript","_extensionSubscript","_extensionTextAlign","_extensionImage","_styles","_extendedTable","_extensionTableRow","_extensionTableCell","_extensionTableHeader","_responseArea","_math","_image","_media","_css","_TiptapContainer","_size","_extensions","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defaultToolbarOpts","position","alignment","alwaysVisible","showDone","doneOn","defaultResponseAreaProps","options","respAreaToolbar","onHandleAreaChange","DEFAULT_ACTIVE_PLUGINS","cssVariables","EditableHtml","exports","props","_ref","pluginProps","showParagraphs","separateParagraphs","_useState","useState","_useState2","_slicedToArray2","pendingImages","setPendingImages","_useState3","_useState4","scheduled","setScheduled","toolbarOpts","toolbarOptsToUse","activePluginsToUse","useMemo","_ref3","_props$responseAreaPr","_ref2","customPlugins","otherPluginProps","_objectWithoutProperties2","filteredActivePlugins","activePlugins","pluginName","pluginInfo","disabled","buildExtensions","math","textAlign","html","extraCSSRules","image","toolbar","table","responseArea","type","responseAreaProps","languageCharacters","languageCharactersProps","keyPadCharacterRef","setKeypadInteraction","media","extensions","TextStyleKit","CharacterCount","configure","limit","charactersLimit","StarterKit","ExtendedTable","TableRow","TableHeader","TableCell","ResponseAreaExtension","ExplicitConstructedResponseNode","DragInTheBlankNode","InlineDropdownNode","MathNode","SubScript","SuperScript","TextAlign","types","alignments","Image","ImageUploadNode","imageHandling","disableImageAlignmentButtons","onDone","_props$onDone","editor","getHTML","onDelete","imageSupport","node","done","src","attrs","newPendingImages","img","key","newState","insertImageRequested","addedImage","getHandler","onFinish","result","_cb","cb","onChange","callback","handler","add","concat","_toConsumableArray2","maxImageWidth","maxImageHeight","Media","uploadSoundSupport","CSSMark","useEditor","immediatelyRender","editorProps","handleKeyDown","view","event","onKeyDown","editable","content","markup","onUpdate","_ref4","transaction","isDone","_props$onChange","onBlur","_ref5","respAreaToolbarActive","isActive","_props$onChange2","_props$onDone2","useEffect","setEditable","commands","setContent","entries","_ref6","_ref7","value","document","documentElement","style","setProperty","editorState","useEditorState","selector","ctx","_ctx$editor","isFocused","sizeStyle","minWidth","width","maxWidth","minHeight","height","maxHeight","valueToSize","createElement","_extends2","StyledEditorContent","showParagraph","separateParagraph","styled","EditorContent","shouldForwardProp","prop","includes","_ref8","outline","padding","margin","display","fontSize","color","marginBottom","_default"],"sources":["../../src/components/EditableHtml.jsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { EditorContent, useEditor, useEditorState } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\nimport { TextStyleKit } from '@tiptap/extension-text-style';\nimport { CharacterCount } from '@tiptap/extension-character-count';\nimport SuperScript from '@tiptap/extension-superscript';\nimport SubScript from '@tiptap/extension-subscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Image from '@tiptap/extension-image';\nimport { styled } from '@mui/material/styles';\n\nimport ExtendedTable from '../extensions/extended-table';\nimport { TableRow } from '@tiptap/extension-table-row';\nimport { TableCell } from '@tiptap/extension-table-cell';\nimport { TableHeader } from '@tiptap/extension-table-header';\nimport {\n ExplicitConstructedResponseNode,\n DragInTheBlankNode,\n InlineDropdownNode,\n ResponseAreaExtension,\n} from '../extensions/responseArea';\nimport { MathNode } from '../extensions/math';\nimport { ImageUploadNode } from '../extensions/image';\nimport { Media } from '../extensions/media';\nimport { CSSMark } from '../extensions/css';\n\nimport EditorContainer from './TiptapContainer';\nimport { valueToSize } from '../utils/size';\nimport { buildExtensions } from '../extensions';\n\nconst defaultToolbarOpts = {\n position: 'bottom',\n alignment: 'left',\n alwaysVisible: false,\n showDone: true,\n doneOn: 'blur',\n};\n\nconst defaultResponseAreaProps = {\n options: {},\n respAreaToolbar: () => {},\n onHandleAreaChange: () => {},\n};\n\nconst DEFAULT_ACTIVE_PLUGINS = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'code',\n 'bulleted-list',\n 'numbered-list',\n 'image',\n 'math',\n 'languageCharacters',\n 'text-align',\n 'table',\n 'video',\n 'audio',\n 'responseArea',\n 'superscript',\n 'subscript',\n 'css',\n 'h3',\n 'undo',\n 'redo',\n];\n\nconst cssVariables = {\n '--white': '#fff',\n '--black': '#2e2b29',\n '--black-contrast': '#110f0e',\n '--gray-1': 'rgba(61, 37, 20, .05)',\n '--gray-2': 'rgba(61, 37, 20, .08)',\n '--gray-3': 'rgba(61, 37, 20, .12)',\n '--gray-4': 'rgba(53, 38, 28, .3)',\n '--gray-5': 'rgba(28, 25, 23, .6)',\n '--green': '#22c55e',\n '--purple': '#6a00f5',\n '--purple-contrast': '#5800cc',\n '--purple-light': 'rgba(88, 5, 255, .05)',\n '--yellow-contrast': '#facc15',\n '--yellow': 'rgba(250, 204, 21, .4)',\n '--yellow-light': '#fffae5',\n '--red': '#ff5c33',\n '--red-light': '#ffebe5',\n '--shadow': `0px 12px 33px 0px rgba(0, 0, 0, .06),\n 0px 3.618px 9.949px 0px rgba(0, 0, 0, .04)`,\n};\n\nexport const EditableHtml = (props) => {\n const { showParagraphs, separateParagraphs } = props.pluginProps || {};\n const [pendingImages, setPendingImages] = useState([]);\n const [scheduled, setScheduled] = useState(false);\n const { toolbarOpts } = props;\n\n const toolbarOptsToUse = {\n ...defaultToolbarOpts,\n ...toolbarOpts,\n };\n\n const activePluginsToUse = useMemo(() => {\n let { customPlugins, ...otherPluginProps } = props.pluginProps || {};\n\n customPlugins = customPlugins || [];\n\n const filteredActivePlugins = (props.activePlugins || DEFAULT_ACTIVE_PLUGINS)?.filter((pluginName) => {\n const pluginInfo = otherPluginProps[pluginName] || {};\n\n return !pluginInfo || !pluginInfo.disabled;\n });\n\n return buildExtensions(filteredActivePlugins, customPlugins, {\n math: {},\n textAlign: {},\n html: {},\n extraCSSRules: props.extraCSSRules || {},\n image: {},\n toolbar: {},\n table: {},\n responseArea: {\n type: props.responseAreaProps?.type,\n },\n languageCharacters: props.languageCharactersProps,\n keyPadCharacterRef: {},\n setKeypadInteraction: {},\n media: {},\n });\n }, [props]);\n\n const extensions = [\n TextStyleKit,\n CharacterCount.configure({\n limit: props.charactersLimit || 1000000,\n }),\n StarterKit,\n ExtendedTable,\n TableRow,\n TableHeader,\n TableCell,\n ResponseAreaExtension.configure(props.responseAreaProps),\n ExplicitConstructedResponseNode.configure(props.responseAreaProps),\n DragInTheBlankNode.configure(props.responseAreaProps),\n InlineDropdownNode.configure(props.responseAreaProps),\n MathNode.configure({\n toolbarOpts: toolbarOptsToUse,\n }),\n SubScript,\n SuperScript,\n TextAlign.configure({\n types: ['heading', 'paragraph'],\n alignments: ['left', 'right', 'center'],\n }),\n Image,\n ImageUploadNode.configure({\n toolbarOpts: toolbarOptsToUse,\n imageHandling: {\n disableImageAlignmentButtons: props.disableImageAlignmentButtons,\n onDone: () => props.onDone?.(editor.getHTML()),\n onDelete:\n props.imageSupport &&\n props.imageSupport.delete &&\n ((node, done) => {\n const { src } = node.attrs;\n\n props.imageSupport.delete(src, (e) => {\n const newPendingImages = pendingImages.filter((img) => img.key !== node.key);\n const newState = {\n pendingImages: newPendingImages,\n scheduled: scheduled && newPendingImages.length === 0 ? false : scheduled,\n };\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n done();\n });\n }),\n insertImageRequested:\n props.imageSupport &&\n ((addedImage, getHandler) => {\n const onFinish = (result) => {\n let cb;\n\n if (scheduled && result) {\n // finish editing only on success\n cb = props.onChange;\n }\n\n const newPendingImages = pendingImages.filter((img) => img.key !== addedImage.key);\n const newState = {\n pendingImages: newPendingImages,\n };\n\n if (newPendingImages.length === 0) {\n newState.scheduled = false;\n }\n\n setPendingImages(newState.pendingImages);\n setScheduled(newState.scheduled);\n cb?.(editor.getHTML());\n };\n const callback = () => {\n /**\n * The handler is the object through which the outer context\n * communicates file upload events like: fileChosen, cancel, progress\n */\n const handler = getHandler(onFinish);\n props.imageSupport.add(handler);\n };\n\n setPendingImages([...pendingImages, addedImage]);\n callback();\n }),\n maxImageWidth: props.maxImageWidth,\n maxImageHeight: props.maxImageHeight,\n },\n limit: 3,\n }),\n Media.configure({\n uploadSoundSupport: props.uploadSoundSupport,\n }),\n CSSMark.configure({\n extraCSSRules: props.extraCSSRules,\n }),\n ];\n\n const editor = useEditor(\n {\n extensions,\n immediatelyRender: false,\n editorProps: {\n handleKeyDown(view, event) {\n if (props.onKeyDown) {\n return props.onKeyDown(event);\n }\n\n // Return false to let default behavior continue\n return false;\n },\n },\n editable: !props.disabled,\n content: props.markup,\n onUpdate: ({ editor, transaction }) => {\n if (transaction.isDone) {\n props.onChange?.(editor.getHTML());\n }\n },\n onBlur: ({ editor }) => {\n const respAreaToolbarActive =\n editor.isActive('inline_dropdown') || editor.isActive('explicit_constructed_response');\n\n if (respAreaToolbarActive) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n props.onChange?.(editor.getHTML());\n }\n\n if (toolbarOptsToUse.doneOn === 'blur') {\n props.onDone?.(editor.getHTML());\n }\n },\n },\n [props.charactersLimit],\n );\n\n useEffect(() => {\n editor?.setEditable(!props.disabled);\n }, [props.disabled, editor]);\n\n useEffect(() => {\n if (!editor) {\n return;\n }\n\n if (props.markup !== editor.getHTML()) {\n editor.commands.setContent(props.markup, false); // false = don’t emit update\n }\n }, [props.markup, editor]);\n\n useEffect(() => {\n Object.entries(cssVariables).forEach(([key, value]) => {\n document.documentElement.style.setProperty(key, value);\n });\n }, []);\n\n const editorState = useEditorState({\n editor,\n selector: (ctx) => ({\n isFocused: ctx.editor?.isFocused,\n }),\n });\n\n const sizeStyle = useMemo(() => {\n const { minWidth, width, maxWidth, minHeight, height, maxHeight } = props;\n\n return {\n width: valueToSize(width),\n minWidth: valueToSize(minWidth),\n maxWidth: valueToSize(maxWidth),\n height: valueToSize(height),\n minHeight: valueToSize(minHeight),\n maxHeight: valueToSize(maxHeight),\n };\n }, [props]);\n\n return (\n <EditorContainer\n {...{\n ...props,\n activePlugins: activePluginsToUse,\n toolbarOpts: toolbarOptsToUse,\n }}\n editorState={editorState}\n editor={editor}\n >\n {editor && (\n <StyledEditorContent\n style={{\n minHeight: sizeStyle.minHeight,\n height: sizeStyle.height,\n maxHeight: sizeStyle.maxHeight,\n }}\n showParagraph={showParagraphs && !showParagraphs.disabled}\n separateParagraph={separateParagraphs && !separateParagraphs.disabled}\n editor={editor}\n />\n )}\n </EditorContainer>\n );\n};\n\nconst StyledEditorContent = styled(EditorContent, {\n shouldForwardProp: (prop) => !['showParagraph', 'separateParagraph'].includes(prop),\n})(({ showParagraph, separateParagraph }) => ({\n outline: 'none !important',\n '& .ProseMirror': {\n padding: '5px',\n maxHeight: '500px',\n outline: 'none !important',\n position: 'initial',\n '& > p': {\n margin: '0',\n },\n ...(showParagraph && {\n '& > p:has(+ p)::after': {\n display: 'block',\n content: '\"¶\"',\n fontSize: '1em',\n color: '#146EB3',\n },\n }),\n ...(separateParagraph && {\n '& > div:has(+ div)': {\n marginBottom: '1em',\n },\n }),\n },\n}));\n\nexport default EditableHtml;\n"],"mappings":"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","ignoreList":[]}