@mirrormedia/lilith-draft-editor 1.1.0-alpha.1 → 1.1.0-alpha.3

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 (72) hide show
  1. package/lib/draft-js/buttons/annotation.js +0 -22
  2. package/lib/draft-js/buttons/audio.js +52 -0
  3. package/lib/draft-js/buttons/background-color.js +0 -26
  4. package/lib/draft-js/buttons/background-image.js +13 -32
  5. package/lib/draft-js/buttons/background-video.js +13 -32
  6. package/lib/draft-js/buttons/color-box.js +5 -21
  7. package/lib/draft-js/buttons/divider.js +3 -12
  8. package/lib/draft-js/buttons/embedded-code.js +5 -16
  9. package/lib/draft-js/buttons/enlarge.js +0 -3
  10. package/lib/draft-js/buttons/font-color.js +0 -26
  11. package/lib/draft-js/buttons/image.js +5 -16
  12. package/lib/draft-js/buttons/info-box.js +5 -21
  13. package/lib/draft-js/buttons/link.js +0 -19
  14. package/lib/draft-js/buttons/media.js +3 -16
  15. package/lib/draft-js/buttons/related-post.js +3 -14
  16. package/lib/draft-js/buttons/selector/align-selector.js +2 -11
  17. package/lib/draft-js/buttons/selector/audio-selector.js +252 -0
  18. package/lib/draft-js/buttons/selector/image-selector.js +6 -50
  19. package/lib/draft-js/buttons/selector/pagination.js +2 -6
  20. package/lib/draft-js/buttons/selector/post-selector.js +6 -39
  21. package/lib/draft-js/buttons/selector/search-box.js +0 -9
  22. package/lib/draft-js/buttons/selector/video-selector.js +4 -33
  23. package/lib/draft-js/buttons/side-index.js +15 -31
  24. package/lib/draft-js/buttons/slideshow.js +7 -16
  25. package/lib/draft-js/buttons/table.js +5 -11
  26. package/lib/draft-js/buttons/text-align.js +0 -14
  27. package/lib/draft-js/buttons/video.js +52 -0
  28. package/lib/draft-js/const.js +0 -2
  29. package/lib/draft-js/draft-converter/api-data-instance.js +0 -14
  30. package/lib/draft-js/draft-converter/atomic-block-processor.js +12 -41
  31. package/lib/draft-js/draft-converter/entities.js +1 -0
  32. package/lib/draft-js/draft-converter/index.js +10 -29
  33. package/lib/draft-js/draft-converter/inline-styles-processor.js +22 -55
  34. package/lib/draft-js/modifier.js +5 -13
  35. package/lib/index.js +0 -4
  36. package/lib/website/mirrormedia/block-renderer/background-image-block.js +2 -14
  37. package/lib/website/mirrormedia/block-renderer/background-video-block.js +2 -14
  38. package/lib/website/mirrormedia/block-renderer/color-box-block.js +2 -14
  39. package/lib/website/mirrormedia/block-renderer/embedded-code-block.js +3 -12
  40. package/lib/website/mirrormedia/block-renderer/info-box-block.js +2 -14
  41. package/lib/website/mirrormedia/block-renderer/side-index-block.js +2 -13
  42. package/lib/website/mirrormedia/block-renderer/slideshow-block.js +4 -11
  43. package/lib/website/mirrormedia/block-renderer/table-block.js +28 -62
  44. package/lib/website/mirrormedia/block-renderer-fn.js +11 -29
  45. package/lib/website/mirrormedia/draft-editor.js +31 -105
  46. package/lib/website/mirrormedia/entity-decorator.js +0 -4
  47. package/lib/website/mirrormedia/index.js +0 -3
  48. package/lib/website/mirrormedia/selector/align-selector.js +2 -11
  49. package/lib/website/mirrormedia/selector/audio-selector.js +252 -0
  50. package/lib/website/mirrormedia/selector/image-selector.js +10 -50
  51. package/lib/website/mirrormedia/selector/pagination.js +2 -6
  52. package/lib/website/mirrormedia/selector/post-selector.js +6 -39
  53. package/lib/website/mirrormedia/selector/search-box.js +0 -9
  54. package/lib/website/mirrormedia/selector/video-selector.js +8 -33
  55. package/lib/website/readr/block-renderer/background-image-block.js +2 -14
  56. package/lib/website/readr/block-renderer/background-video-block.js +2 -14
  57. package/lib/website/readr/block-renderer/color-box-block.js +2 -14
  58. package/lib/website/readr/block-renderer/info-box-block.js +2 -14
  59. package/lib/website/readr/block-renderer/side-index-block.js +2 -13
  60. package/lib/website/readr/block-renderer/table-block.js +28 -62
  61. package/lib/website/readr/block-renderer-fn.js +11 -27
  62. package/lib/website/readr/draft-editor.js +31 -105
  63. package/lib/website/readr/entity-decorator.js +0 -4
  64. package/lib/website/readr/index.js +0 -3
  65. package/lib/website/readr/selector/align-selector.js +2 -11
  66. package/lib/website/readr/selector/audio-selector.js +252 -0
  67. package/lib/website/readr/selector/image-selector.js +10 -50
  68. package/lib/website/readr/selector/pagination.js +2 -6
  69. package/lib/website/readr/selector/post-selector.js +6 -39
  70. package/lib/website/readr/selector/search-box.js +0 -9
  71. package/lib/website/readr/selector/video-selector.js +8 -33
  72. package/package.json +2 -2
@@ -4,72 +4,56 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.convertToHtml = convertToHtml;
7
-
8
7
  var _lodash = _interopRequireDefault(require("lodash"));
9
-
10
8
  var _const = require("../const");
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // Modified from https://github.com/dburrows/draft-js-basic-html-editor/blob/master/src/utils/processInlineStylesAndEntities.js
11
+
15
12
  function tagForCustomInlineStyle(style) {
16
13
  const customInlineStylePrefixs = [_const.CUSTOM_STYLE_PREFIX_FONT_COLOR, _const.CUSTOM_STYLE_PREFIX_BACKGROUND_COLOR];
17
14
  const stylePrefix = customInlineStylePrefixs.find(prefix => style.startsWith(prefix));
18
15
  let tag, value;
19
-
20
16
  switch (stylePrefix) {
21
17
  case _const.CUSTOM_STYLE_PREFIX_FONT_COLOR:
22
18
  value = style.split(_const.CUSTOM_STYLE_PREFIX_FONT_COLOR)[1];
23
19
  tag = [`<span style="color: ${value}">`, '</span>'];
24
20
  break;
25
-
26
21
  case _const.CUSTOM_STYLE_PREFIX_BACKGROUND_COLOR:
27
22
  value = style.split(_const.CUSTOM_STYLE_PREFIX_BACKGROUND_COLOR)[1];
28
23
  tag = [`<span style="background-color: ${value}">`, '</span>'];
29
24
  break;
30
-
31
25
  default:
32
26
  break;
33
27
  }
34
-
35
28
  return tag;
36
29
  }
37
-
38
30
  function _fullfilIntersection(block) {
39
31
  // SORT BEFORE PROCESSING
40
32
  let sortedISRanges = _lodash.default.sortBy(block.inlineStyleRanges, 'offset');
41
-
42
33
  let sortedEntityRanges = _lodash.default.sortBy(block.entityRanges, 'offset');
43
-
44
34
  let splitedISInline = [];
45
-
46
35
  for (let i = 0; i < sortedEntityRanges.length; i++) {
47
36
  let entityRange = sortedEntityRanges[i];
48
-
49
37
  for (let j = 0; j < sortedISRanges.length; j++) {
50
38
  let entityOffset = _lodash.default.get(entityRange, 'offset', 0);
51
-
52
39
  let entityLength = _lodash.default.get(entityRange, 'length', 0);
53
-
54
40
  let inlineLength = _lodash.default.get(sortedISRanges, [j, 'length'], 0);
55
-
56
41
  let inlineOffset = _lodash.default.get(sortedISRanges, [j, 'offset'], 0);
57
-
58
42
  let inlineStyle = _lodash.default.get(sortedISRanges, [j, 'style'], '');
59
-
60
43
  let nextEntityOffset = _lodash.default.get(sortedEntityRanges, [i + 1, 'offset'], 0);
44
+ let nextEntityLength = _lodash.default.get(sortedEntityRanges, [i + 1, 'length'], 0);
61
45
 
62
- let nextEntityLength = _lodash.default.get(sortedEntityRanges, [i + 1, 'length'], 0); // handle intersections of inline style and entity
46
+ // handle intersections of inline style and entity
63
47
  // <a></a> is entity
64
48
  // <abbr></abbr> is next entity
65
49
  // <strong></strong> is inline style
66
-
67
-
68
- if (nextEntityOffset >= inlineOffset && nextEntityOffset < inlineOffset + inlineLength && nextEntityOffset + nextEntityLength > inlineOffset + inlineLength && // <a><strong></a></strong>
50
+ if (nextEntityOffset >= inlineOffset && nextEntityOffset < inlineOffset + inlineLength && nextEntityOffset + nextEntityLength > inlineOffset + inlineLength &&
51
+ // <a><strong></a></strong>
69
52
  entityOffset < inlineOffset && entityOffset + entityLength > inlineOffset && entityOffset + entityLength <= inlineOffset + inlineLength) {
70
53
  // <strong><abbr></strong></abbr>
71
54
  // situation: <a><strong></a><abbr></strong></abbr>
72
55
  // should be: <a><strong></strong></a><strong></strong><abbr><strong></strong></abbr>
56
+
73
57
  // skip next entity checking
74
58
  i = i + 1;
75
59
  splitedISInline.push({
@@ -121,109 +105,92 @@ function _fullfilIntersection(block) {
121
105
  }
122
106
  }
123
107
  }
124
-
125
108
  _lodash.default.forEachRight(splitedISInline, ele => {
126
109
  sortedISRanges.splice(ele.index, 1, ...ele.replace);
127
110
  });
128
-
129
111
  return sortedISRanges;
130
112
  }
131
-
132
113
  function _inlineTag(inlineTagMap, inlineStyleRanges, tagInsertMap = {}) {
133
114
  // SORT BEFORE PROCESSING
134
- let sortedRanges = _lodash.default.sortBy(inlineStyleRanges, 'offset'); // map all the tag insertions we're going to do
135
-
115
+ let sortedRanges = _lodash.default.sortBy(inlineStyleRanges, 'offset');
136
116
 
117
+ // map all the tag insertions we're going to do
137
118
  sortedRanges.forEach(function (range) {
138
- let tag = inlineTagMap[range.style]; // handle dynamic inline style
119
+ let tag = inlineTagMap[range.style];
139
120
 
121
+ // handle dynamic inline style
140
122
  if (!tag) {
141
123
  tag = tagForCustomInlineStyle(range.style);
142
124
  }
143
-
144
125
  if (!tagInsertMap[range.offset]) {
145
126
  tagInsertMap[range.offset] = [];
146
- } // add starting tag to the end of the array to form the tag nesting
147
-
127
+ }
148
128
 
129
+ // add starting tag to the end of the array to form the tag nesting
149
130
  tagInsertMap[range.offset].push(tag[0]);
150
-
151
131
  if (tag[1]) {
152
132
  if (!tagInsertMap[range.offset + range.length]) {
153
133
  tagInsertMap[range.offset + range.length] = [];
154
- } // add closing tags to start of array, otherwise tag nesting will be invalid
155
-
156
-
134
+ }
135
+ // add closing tags to start of array, otherwise tag nesting will be invalid
157
136
  tagInsertMap[range.offset + range.length].unshift(tag[1]);
158
137
  }
159
138
  });
160
139
  return tagInsertMap;
161
140
  }
162
-
163
141
  function _entityTag(entityTagMap, entityMap, entityRanges, tagInsertMap = {}) {
164
142
  _lodash.default.forEach(entityRanges, range => {
165
143
  let entity = entityMap[range.key];
166
144
  let type = entity.type && entity.type.toUpperCase();
167
145
  let tag = entityTagMap[type];
168
146
  let data = entity.data;
169
-
170
147
  let compiledTag0 = _lodash.default.template(tag[0], {
171
148
  variable: 'data'
172
149
  })(data);
173
-
174
150
  let compiledTag1 = _lodash.default.template(tag[1], {
175
151
  variable: 'data'
176
152
  })(data);
177
-
178
153
  if (!tagInsertMap[range.offset]) {
179
154
  tagInsertMap[range.offset] = [];
180
- } // add starting tag
181
-
155
+ }
182
156
 
157
+ // add starting tag
183
158
  tagInsertMap[range.offset].push(compiledTag0);
184
-
185
159
  if (tag[1]) {
186
160
  if (!tagInsertMap[range.offset + range.length]) {
187
161
  tagInsertMap[range.offset + range.length] = [];
188
- } // add closing tags to start of array, otherwise tag nesting will be invalid
189
-
190
-
162
+ }
163
+ // add closing tags to start of array, otherwise tag nesting will be invalid
191
164
  tagInsertMap[range.offset + range.length].unshift(compiledTag1);
192
165
  }
193
166
  });
194
-
195
167
  return tagInsertMap;
196
168
  }
197
-
198
169
  function convertToHtml(inlineTagMap, entityTagMap, entityMap, block) {
199
170
  // exit if there is no inlineStyleRanges/entityRanges or length === 0 as well
200
171
  if (!block.inlineStyleRanges && !block.entityRanges || block.inlineStyleRanges.length === 0 && block.entityRanges.length === 0) {
201
172
  return block.text;
202
173
  }
203
-
204
174
  let html = block.text;
205
-
206
175
  let inlineStyleRanges = _fullfilIntersection(block);
207
-
208
176
  let tagInsertMap = {};
209
177
  tagInsertMap = _entityTag(entityTagMap, entityMap, block.entityRanges, tagInsertMap);
210
- tagInsertMap = _inlineTag(inlineTagMap, inlineStyleRanges, tagInsertMap); // sort on position, as we'll need to keep track of offset
178
+ tagInsertMap = _inlineTag(inlineTagMap, inlineStyleRanges, tagInsertMap);
211
179
 
180
+ // sort on position, as we'll need to keep track of offset
212
181
  let orderedKeys = Object.keys(tagInsertMap).sort(function (a, b) {
213
182
  a = Number(a);
214
183
  b = Number(b);
215
-
216
184
  if (a > b) {
217
185
  return 1;
218
186
  }
219
-
220
187
  if (a < b) {
221
188
  return -1;
222
189
  }
223
-
224
190
  return 0;
225
- }); // insert tags into string, keep track of offset caused by our text insertions
191
+ });
226
192
 
193
+ // insert tags into string, keep track of offset caused by our text insertions
227
194
  let offset = 0;
228
195
  orderedKeys.forEach(function (pos) {
229
196
  let index = Number(pos);
@@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Modifier = void 0;
7
-
8
7
  var _draftJs = require("draft-js");
9
-
10
8
  var _immutable = require("immutable");
11
-
12
- const Modifier = { ..._draftJs.Modifier
9
+ const Modifier = {
10
+ ..._draftJs.Modifier
13
11
  };
12
+
14
13
  /*
15
14
  This method is specified for custom inline style such as 'FONT_COLOR_#ffffff'.
16
15
  For this kind of inline style there may be more than one style name 'FONT_COLOR_#ffffff', 'FONT_COLOR_#000000'.
@@ -22,20 +21,18 @@ const Modifier = { ..._draftJs.Modifier
22
21
 
23
22
  Reference: https://github.com/facebook/draft-js/blob/main/src/model/transaction/ContentStateInlineStyle.js#L39-L88
24
23
  */
25
-
26
24
  exports.Modifier = Modifier;
27
-
28
25
  Modifier.removeInlineStyleByPrefix = (contentState, selectionState, inlineStylePrefix) => {
29
26
  const blockMap = contentState.getBlockMap();
30
27
  const startKey = selectionState.getStartKey();
31
28
  const startOffset = selectionState.getStartOffset();
32
29
  const endKey = selectionState.getEndKey();
33
- const endOffset = selectionState.getEndOffset(); // loop through all selected blocks and every block chars to remove specific inline style
30
+ const endOffset = selectionState.getEndOffset();
34
31
 
32
+ // loop through all selected blocks and every block chars to remove specific inline style
35
33
  const newBlocks = blockMap.skipUntil((_, k) => k === startKey).takeUntil((_, k) => k === endKey).concat((0, _immutable.Map)([[endKey, blockMap.get(endKey)]])).map((block, blockKey) => {
36
34
  let sliceStart;
37
35
  let sliceEnd;
38
-
39
36
  if (startKey === endKey) {
40
37
  sliceStart = startOffset;
41
38
  sliceEnd = endOffset;
@@ -43,21 +40,16 @@ Modifier.removeInlineStyleByPrefix = (contentState, selectionState, inlineStyleP
43
40
  sliceStart = blockKey === startKey ? startOffset : 0;
44
41
  sliceEnd = blockKey === endKey ? endOffset : block.getLength();
45
42
  }
46
-
47
43
  let chars = block.getCharacterList();
48
44
  let current;
49
-
50
45
  while (sliceStart < sliceEnd) {
51
46
  current = chars.get(sliceStart);
52
47
  const inlineStyle = current.getStyle().find(styleName => styleName.startsWith(inlineStylePrefix));
53
-
54
48
  if (inlineStyle) {
55
49
  chars = chars.set(sliceStart, _draftJs.CharacterMetadata.removeStyle(current, inlineStyle));
56
50
  }
57
-
58
51
  sliceStart++;
59
52
  }
60
-
61
53
  return block.set('characterList', chars);
62
54
  });
63
55
  return contentState.merge({
package/lib/index.js CHANGED
@@ -21,11 +21,7 @@ Object.defineProperty(exports, "draftConverter", {
21
21
  return _draftConverter.default;
22
22
  }
23
23
  });
24
-
25
24
  var _draftConverter = _interopRequireDefault(require("./draft-js/draft-converter"));
26
-
27
25
  var _mirrormedia = _interopRequireDefault(require("./website/mirrormedia"));
28
-
29
26
  var _readr = _interopRequireDefault(require("./website/readr"));
30
-
31
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BGImageEditorBlock = BGImageEditorBlock;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _draftConverter = _interopRequireDefault(require("../../../draft-js/draft-converter"));
13
-
14
10
  var _backgroundImage = require("../../../draft-js/buttons/background-image");
15
-
16
11
  var _mirrormedia = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrormedia"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  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; }
23
-
24
15
  const {
25
16
  BGImageBlock
26
17
  } = _mirrormedia.default.blockRenderers;
@@ -30,7 +21,6 @@ const BGImageRenderButton = _styledComponents.default.span`
30
21
  padding: 6px;
31
22
  border-radius: 6px;
32
23
  `;
33
-
34
24
  function BGImageEditorBlock(props) {
35
25
  const [toShowInput, setToShowInput] = (0, _react.useState)(false);
36
26
  const {
@@ -50,7 +40,6 @@ function BGImageEditorBlock(props) {
50
40
  image,
51
41
  rawContentState
52
42
  } = entity.getData();
53
-
54
43
  const onChange = ({
55
44
  textBlockAlign: newTextBlockAlign,
56
45
  image: newImage,
@@ -68,7 +57,6 @@ function BGImageEditorBlock(props) {
68
57
  }
69
58
  });
70
59
  };
71
-
72
60
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_backgroundImage.BGImageInput, {
73
61
  renderBasicEditor: renderBasicEditor,
74
62
  textBlockAlign: textBlockAlign,
@@ -83,8 +71,8 @@ function BGImageEditorBlock(props) {
83
71
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGImageBlock, props), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGImageRenderButton, {
84
72
  onClick: () => {
85
73
  // call `onEditStart` prop as we are trying to update the BGImage entity
86
- onEditStart(); // open `BGImageInput`
87
-
74
+ onEditStart();
75
+ // open `BGImageInput`
88
76
  setToShowInput(true);
89
77
  }
90
78
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BGVideoEditorBlock = BGVideoEditorBlock;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _draftConverter = _interopRequireDefault(require("../../../draft-js/draft-converter"));
13
-
14
10
  var _backgroundVideo = require("../../../draft-js/buttons/background-video");
15
-
16
11
  var _mirrormedia = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrormedia"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  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; }
23
-
24
15
  const {
25
16
  BGVideoBlock
26
17
  } = _mirrormedia.default.blockRenderers;
@@ -30,7 +21,6 @@ const BGVideoRenderButton = _styledComponents.default.span`
30
21
  padding: 6px;
31
22
  border-radius: 6px;
32
23
  `;
33
-
34
24
  function BGVideoEditorBlock(props) {
35
25
  const [toShowInput, setToShowInput] = (0, _react.useState)(false);
36
26
  const {
@@ -50,7 +40,6 @@ function BGVideoEditorBlock(props) {
50
40
  video,
51
41
  rawContentState
52
42
  } = entity.getData();
53
-
54
43
  const onChange = ({
55
44
  textBlockAlign: newTextBlockAlign,
56
45
  video: newVideo,
@@ -68,7 +57,6 @@ function BGVideoEditorBlock(props) {
68
57
  }
69
58
  });
70
59
  };
71
-
72
60
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_backgroundVideo.BGVideoInput, {
73
61
  renderBasicEditor: renderBasicEditor,
74
62
  textBlockAlign: textBlockAlign,
@@ -83,8 +71,8 @@ function BGVideoEditorBlock(props) {
83
71
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGVideoBlock, props), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGVideoRenderButton, {
84
72
  onClick: () => {
85
73
  // call `onEditStart` prop as we are trying to update the BGVideo entity
86
- onEditStart(); // open `BGVideoInput`
87
-
74
+ onEditStart();
75
+ // open `BGVideoInput`
88
76
  setToShowInput(true);
89
77
  }
90
78
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -4,30 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ColorBoxEditorBlock = ColorBoxEditorBlock;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _draftConverter = _interopRequireDefault(require("../../../draft-js/draft-converter"));
13
-
14
10
  var _colorBox = require("../../../draft-js/buttons/color-box");
15
-
16
11
  var _mirrormedia = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrormedia"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  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; }
23
-
24
15
  const {
25
16
  ColorBoxBlock
26
17
  } = _mirrormedia.default.blockRenderers;
27
18
  const ColorBoxRenderButton = _styledComponents.default.div`
28
19
  cursor: pointer;
29
20
  `;
30
-
31
21
  function ColorBoxEditorBlock(props) {
32
22
  const [toShowInput, setToShowInput] = (0, _react.useState)(false);
33
23
  const {
@@ -46,7 +36,6 @@ function ColorBoxEditorBlock(props) {
46
36
  color,
47
37
  rawContentState
48
38
  } = entity.getData();
49
-
50
39
  const onChange = ({
51
40
  color: newColor,
52
41
  rawContentState: newRawContentState
@@ -62,7 +51,6 @@ function ColorBoxEditorBlock(props) {
62
51
  }
63
52
  });
64
53
  };
65
-
66
54
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_colorBox.ColorBoxInput, {
67
55
  renderBasicEditor: renderBasicEditor,
68
56
  color: color,
@@ -76,8 +64,8 @@ function ColorBoxEditorBlock(props) {
76
64
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(ColorBoxBlock, props), /*#__PURE__*/_react.default.createElement(ColorBoxRenderButton, {
77
65
  onClick: () => {
78
66
  // call `onEditStart` prop as we are trying to update the ColorBox entity
79
- onEditStart(); // open `ColorBoxInput`
80
-
67
+ onEditStart();
68
+ // open `ColorBoxInput`
81
69
  setToShowInput(true);
82
70
  }
83
71
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.EmbeddedCodeEditorBlock = exports.Caption = exports.Block = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
-
16
11
  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; }
17
-
18
12
  const Block = _styledComponents.default.div`
19
13
  position: relative;
20
14
  /* styles for image link */
@@ -34,7 +28,6 @@ const Caption = _styledComponents.default.div`
34
28
  padding: 15px 15px 0 15px;
35
29
  `;
36
30
  exports.Caption = Caption;
37
-
38
31
  const EmbeddedCodeEditorBlock = entity => {
39
32
  const {
40
33
  caption,
@@ -44,7 +37,9 @@ const EmbeddedCodeEditorBlock = entity => {
44
37
  (0, _react.useEffect)(() => {
45
38
  if (!embedded.current) return;
46
39
  const node = embedded.current;
47
- const fragment = document.createDocumentFragment(); // `embeddedCode` is a string, which may includes
40
+ const fragment = document.createDocumentFragment();
41
+
42
+ // `embeddedCode` is a string, which may includes
48
43
  // multiple '<script>' tags and other html tags.
49
44
  // For executing '<script>' tags on the browser,
50
45
  // we need to extract '<script>' tags from `embeddedCode` string first.
@@ -53,7 +48,6 @@ const EmbeddedCodeEditorBlock = entity => {
53
48
  // and we could use DOM element built-in functions,
54
49
  // such as `querySelectorAll` method, to query '<script>' elements,
55
50
  // and other non '<script>' elements.
56
-
57
51
  const parser = new DOMParser();
58
52
  const ele = parser.parseFromString(`<div id="draft-embed">${embeddedCode}</div>`, 'text/html');
59
53
  const scripts = ele.querySelectorAll('script');
@@ -64,11 +58,9 @@ const EmbeddedCodeEditorBlock = entity => {
64
58
  scripts.forEach(s => {
65
59
  const scriptEle = document.createElement('script');
66
60
  const attrs = s.attributes;
67
-
68
61
  for (let i = 0; i < attrs.length; i++) {
69
62
  scriptEle.setAttribute(attrs[i].name, attrs[i].value);
70
63
  }
71
-
72
64
  scriptEle.text = s.text || '';
73
65
  fragment.appendChild(scriptEle);
74
66
  });
@@ -81,5 +73,4 @@ const EmbeddedCodeEditorBlock = entity => {
81
73
  ref: embedded
82
74
  }), caption ? /*#__PURE__*/_react.default.createElement(Caption, null, caption) : null);
83
75
  };
84
-
85
76
  exports.EmbeddedCodeEditorBlock = EmbeddedCodeEditorBlock;
@@ -4,30 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.InfoBoxEditorBlock = InfoBoxEditorBlock;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _draftConverter = _interopRequireDefault(require("../../../draft-js/draft-converter"));
13
-
14
10
  var _infoBox = require("../../../draft-js/buttons/info-box");
15
-
16
11
  var _mirrormedia = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrormedia"));
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  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; }
23
-
24
15
  const {
25
16
  InfoBoxBlock
26
17
  } = _mirrormedia.default.blockRenderers;
27
18
  const InfoBoxRenderButton = _styledComponents.default.div`
28
19
  cursor: pointer;
29
20
  `;
30
-
31
21
  function InfoBoxEditorBlock(props) {
32
22
  const [toShowInput, setToShowInput] = (0, _react.useState)(false);
33
23
  const {
@@ -46,7 +36,6 @@ function InfoBoxEditorBlock(props) {
46
36
  title,
47
37
  rawContentState
48
38
  } = entity.getData();
49
-
50
39
  const onChange = ({
51
40
  title: newTitle,
52
41
  rawContentState: newRawContentState
@@ -62,7 +51,6 @@ function InfoBoxEditorBlock(props) {
62
51
  }
63
52
  });
64
53
  };
65
-
66
54
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_infoBox.InfoBoxInput, {
67
55
  renderBasicEditor: renderBasicEditor,
68
56
  title: title,
@@ -76,8 +64,8 @@ function InfoBoxEditorBlock(props) {
76
64
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(InfoBoxBlock, props), /*#__PURE__*/_react.default.createElement(InfoBoxRenderButton, {
77
65
  onClick: () => {
78
66
  // call `onEditStart` prop as we are trying to update the InfoBox entity
79
- onEditStart(); // open `InfoBoxInput`
80
-
67
+ onEditStart();
68
+ // open `InfoBoxInput`
81
69
  setToShowInput(true);
82
70
  }
83
71
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SideIndexEditorBlock = SideIndexEditorBlock;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _sideIndex = require("../../../draft-js/buttons/side-index");
13
-
14
10
  var _mirrormedia = _interopRequireDefault(require("@mirrormedia/lilith-draft-renderer/lib/website/mirrormedia"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  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; }
21
-
22
14
  const {
23
15
  SideIndexBlock
24
16
  } = _mirrormedia.default.blockRenderers;
@@ -26,7 +18,6 @@ const SideIndexBlockButton = _styledComponents.default.div`
26
18
  cursor: pointer;
27
19
  margin-left: 20px;
28
20
  `;
29
-
30
21
  function SideIndexEditorBlock(props) {
31
22
  const [toShowInput, setToShowInput] = (0, _react.useState)(false);
32
23
  const {
@@ -46,7 +37,6 @@ function SideIndexEditorBlock(props) {
46
37
  sideIndexUrl,
47
38
  sideIndexImage
48
39
  } = entity.getData();
49
-
50
40
  const onChange = ({
51
41
  h2Text,
52
42
  sideIndexText,
@@ -65,7 +55,6 @@ function SideIndexEditorBlock(props) {
65
55
  }
66
56
  });
67
57
  };
68
-
69
58
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_sideIndex.SideIndexInput, {
70
59
  h2Text: h2Text,
71
60
  sideIndexText: sideIndexText,
@@ -80,8 +69,8 @@ function SideIndexEditorBlock(props) {
80
69
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(SideIndexBlock, props), /*#__PURE__*/_react.default.createElement(SideIndexBlockButton, {
81
70
  onClick: () => {
82
71
  // call `onEditStart` prop as we are trying to update the SideIndex entity
83
- onEditStart(); // open `SideIndexInput`
84
-
72
+ onEditStart();
73
+ // open `SideIndexInput`
85
74
  setToShowInput(true);
86
75
  }
87
76
  }, /*#__PURE__*/_react.default.createElement("i", {