@kids-reporter/draft-editor 0.4.1 → 0.4.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.
@@ -4,31 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ImageSelector = ImageSelector;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
-
12
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
10
  var _fields = require("@keystone-ui/fields");
15
-
16
11
  var _modals = require("@keystone-ui/modals");
17
-
18
12
  var _apollo = require("@keystone-6/core/admin-ui/apollo");
19
-
20
13
  var _alignSelector = require("./align-selector");
21
-
22
14
  var _searchBox = require("./search-box");
23
-
24
15
  var _pagination = require("./pagination");
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
17
  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); }
29
-
30
18
  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; }
31
-
32
19
  const _ = {
33
20
  debounce: _debounce.default
34
21
  };
@@ -85,7 +72,6 @@ const ErrorWrapper = _styledComponents.default.div`
85
72
  margin: 0;
86
73
  }
87
74
  `;
88
-
89
75
  function ImageGrids(props) {
90
76
  const {
91
77
  images,
@@ -101,10 +87,8 @@ function ImageGrids(props) {
101
87
  });
102
88
  }));
103
89
  }
104
-
105
90
  function ImageGrid(props) {
106
91
  var _image$imageFile;
107
-
108
92
  const {
109
93
  image,
110
94
  onSelect,
@@ -116,10 +100,9 @@ function ImageGrid(props) {
116
100
  }, /*#__PURE__*/_react.default.createElement(ImageSelected, null, isSelected ? /*#__PURE__*/_react.default.createElement("i", {
117
101
  className: "fas fa-check-circle"
118
102
  }) : null), /*#__PURE__*/_react.default.createElement(Image, {
119
- src: image === null || image === void 0 ? void 0 : (_image$imageFile = image.imageFile) === null || _image$imageFile === void 0 ? void 0 : _image$imageFile.url
103
+ src: image === null || image === void 0 || (_image$imageFile = image.imageFile) === null || _image$imageFile === void 0 ? void 0 : _image$imageFile.url
120
104
  }));
121
105
  }
122
-
123
106
  function ImageMetaGrids(props) {
124
107
  const {
125
108
  imageMetas,
@@ -129,9 +112,8 @@ function ImageMetaGrids(props) {
129
112
  } = props;
130
113
  return /*#__PURE__*/_react.default.createElement(ImageMetaGridsWrapper, null, imageMetas.map(imageMeta => {
131
114
  var _imageMeta$image;
132
-
133
115
  return /*#__PURE__*/_react.default.createElement(ImageMetaGrid, {
134
- key: imageMeta === null || imageMeta === void 0 ? void 0 : (_imageMeta$image = imageMeta.image) === null || _imageMeta$image === void 0 ? void 0 : _imageMeta$image.id,
116
+ key: imageMeta === null || imageMeta === void 0 || (_imageMeta$image = imageMeta.image) === null || _imageMeta$image === void 0 ? void 0 : _imageMeta$image.id,
135
117
  imageMeta: imageMeta,
136
118
  enableCaption: enableCaption,
137
119
  enableUrl: enableUrl,
@@ -139,10 +121,8 @@ function ImageMetaGrids(props) {
139
121
  });
140
122
  }));
141
123
  }
142
-
143
124
  function ImageMetaGrid(props) {
144
125
  var _image$imageFile2;
145
-
146
126
  const {
147
127
  imageMeta,
148
128
  enableCaption,
@@ -155,7 +135,7 @@ function ImageMetaGrid(props) {
155
135
  url
156
136
  } = imageMeta;
157
137
  return /*#__PURE__*/_react.default.createElement(ImageMetaGridWrapper, null, /*#__PURE__*/_react.default.createElement(Image, {
158
- src: image === null || image === void 0 ? void 0 : (_image$imageFile2 = image.imageFile) === null || _image$imageFile2 === void 0 ? void 0 : _image$imageFile2.url
138
+ src: image === null || image === void 0 || (_image$imageFile2 = image.imageFile) === null || _image$imageFile2 === void 0 ? void 0 : _image$imageFile2.url
159
139
  }), enableCaption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
160
140
  htmlFor: "caption"
161
141
  }, "Image Caption:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
@@ -186,7 +166,6 @@ function ImageMetaGrid(props) {
186
166
  })
187
167
  })));
188
168
  }
189
-
190
169
  function DelayInput(props) {
191
170
  const {
192
171
  delay,
@@ -203,7 +182,6 @@ function DelayInput(props) {
203
182
  }
204
183
  }));
205
184
  }
206
-
207
185
  const imagesQuery = (0, _apollo.gql)`
208
186
  query Photos($searchText: String!, $take: Int, $skip: Int) {
209
187
  photosCount(where: { name: { contains: $searchText } })
@@ -229,7 +207,6 @@ const imagesQuery = (0, _apollo.gql)`
229
207
  }
230
208
  }
231
209
  `;
232
-
233
210
  function ImageSelector(props) {
234
211
  const [queryImages, {
235
212
  loading,
@@ -242,7 +219,6 @@ function ImageSelector(props) {
242
219
  fetchPolicy: 'no-cache'
243
220
  });
244
221
  const [currentPage, setCurrentPage] = (0, _react.useState)(0); // page starts with 1, 0 is used to detect initialization
245
-
246
222
  const [searchText, setSearchText] = (0, _react.useState)('');
247
223
  const [selected, setSelected] = (0, _react.useState)([]);
248
224
  const [delay, setDelay] = (0, _react.useState)('5');
@@ -270,84 +246,70 @@ function ImageSelector(props) {
270
246
  enableDelay = false,
271
247
  onChange
272
248
  } = props;
273
-
274
249
  const onSave = () => {
275
250
  let adjustedDelay = +delay;
276
251
  adjustedDelay = adjustedDelay < 1 ? 1 : adjustedDelay;
277
252
  onChange(selected, align, adjustedDelay);
278
253
  };
279
-
280
254
  const onCancel = () => {
281
255
  onChange([]);
282
256
  };
283
-
284
257
  const onSearchBoxChange = async searchInput => {
285
258
  setSearchText(searchInput);
286
259
  setCurrentPage(1);
287
260
  };
288
-
289
261
  const onDealyChange = delay => {
290
262
  setDelay(delay);
291
263
  };
292
-
293
264
  const onAlignSelectChange = align => {
294
265
  setAlign(align);
295
266
  };
296
-
297
267
  const onAlignSelectOpen = () => {
298
268
  var _contentWrapperRef$cu;
299
-
300
269
  const scrollWrapper = (_contentWrapperRef$cu = contentWrapperRef.current) === null || _contentWrapperRef$cu === void 0 ? void 0 : _contentWrapperRef$cu.parentElement;
301
270
  scrollWrapper.scrollTop = scrollWrapper.scrollHeight;
302
271
  };
303
-
304
272
  const onImageMetaChange = imageEntityWithMeta => {
305
273
  if (enableMultiSelect) {
306
274
  const foundIndex = selected.findIndex(ele => {
307
275
  var _ele$image, _imageEntityWithMeta$;
308
-
309
- return (ele === null || ele === void 0 ? void 0 : (_ele$image = ele.image) === null || _ele$image === void 0 ? void 0 : _ele$image.id) === (imageEntityWithMeta === null || imageEntityWithMeta === void 0 ? void 0 : (_imageEntityWithMeta$ = imageEntityWithMeta.image) === null || _imageEntityWithMeta$ === void 0 ? void 0 : _imageEntityWithMeta$.id);
276
+ return (ele === null || ele === void 0 || (_ele$image = ele.image) === null || _ele$image === void 0 ? void 0 : _ele$image.id) === (imageEntityWithMeta === null || imageEntityWithMeta === void 0 || (_imageEntityWithMeta$ = imageEntityWithMeta.image) === null || _imageEntityWithMeta$ === void 0 ? void 0 : _imageEntityWithMeta$.id);
310
277
  });
311
-
312
278
  if (foundIndex !== -1) {
313
279
  selected[foundIndex] = imageEntityWithMeta;
314
280
  setSelected(selected);
315
281
  }
316
-
317
282
  return;
318
283
  }
319
-
320
284
  setSelected([imageEntityWithMeta]);
321
285
  };
322
-
323
286
  const onImagesGridSelect = imageEntity => {
324
287
  setSelected(selected => {
325
288
  const filterdSelected = selected.filter(ele => {
326
289
  var _ele$image2;
327
-
328
290
  return ((_ele$image2 = ele.image) === null || _ele$image2 === void 0 ? void 0 : _ele$image2.id) !== imageEntity.id;
329
- }); // deselect the image
291
+ });
330
292
 
293
+ // deselect the image
331
294
  if (filterdSelected.length !== selected.length) {
332
295
  return filterdSelected;
333
- } // add new selected one
334
-
296
+ }
335
297
 
298
+ // add new selected one
336
299
  if (enableMultiSelect) {
337
300
  return selected.concat([{
338
301
  image: imageEntity,
339
302
  desc: ''
340
303
  }]);
341
- } // single select
342
-
304
+ }
343
305
 
306
+ // single select
344
307
  return [{
345
308
  image: imageEntity,
346
309
  desc: ''
347
310
  }];
348
311
  });
349
312
  };
350
-
351
313
  const selectedImages = selected.map(ele => {
352
314
  return ele.image;
353
315
  });
@@ -362,7 +324,6 @@ function ImageSelector(props) {
362
324
  });
363
325
  }
364
326
  }, [currentPage, searchText]);
365
-
366
327
  let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ImageGrids, {
367
328
  images: images,
368
329
  selected: selectedImages,
@@ -375,15 +336,12 @@ function ImageSelector(props) {
375
336
  setCurrentPage(pageIndex);
376
337
  }
377
338
  }));
378
-
379
339
  if (loading) {
380
340
  searchResult = /*#__PURE__*/_react.default.createElement("p", null, "searching...");
381
341
  }
382
-
383
342
  if (error) {
384
343
  searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `images` query"), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Message:"), /*#__PURE__*/_react.default.createElement("div", null, error.message), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Stack:"), /*#__PURE__*/_react.default.createElement("div", null, error.stack), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("b", null, "Query:"), /*#__PURE__*/_react.default.createElement("pre", null, imagesQuery.loc.source.body)));
385
344
  }
386
-
387
345
  return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
388
346
  isOpen: true
389
347
  }, /*#__PURE__*/_react.default.createElement(_modals.Drawer, {
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Pagination = Pagination;
7
-
8
7
  var _react = _interopRequireDefault(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
  const PaginationWrapper = _styledComponents.default.div`
15
11
  display: flex;
16
12
  justify-content: end;
@@ -33,7 +29,6 @@ const ArrowButtonWrapper = _styledComponents.default.a`
33
29
  }
34
30
  }}
35
31
  `;
36
-
37
32
  function Pagination({
38
33
  currentPage,
39
34
  total,
@@ -43,8 +38,9 @@ function Pagination({
43
38
  const minPage = 1;
44
39
  const limit = Math.ceil(total / pageSize);
45
40
  const nextPage = currentPage + 1;
46
- const prevPage = currentPage - 1; // Don't render the pagiantion component if the pageSize is greater than the total number of items in the list.
41
+ const prevPage = currentPage - 1;
47
42
 
43
+ // Don't render the pagiantion component if the pageSize is greater than the total number of items in the list.
48
44
  if (total <= pageSize) return null;
49
45
  return /*#__PURE__*/_react.default.createElement(PaginationWrapper, null, /*#__PURE__*/_react.default.createElement("div", null, currentPage, " of ", limit, " pages"), /*#__PURE__*/_react.default.createElement(Arrows, null, /*#__PURE__*/_react.default.createElement(ArrowButtonWrapper, {
50
46
  onClick: () => {
@@ -4,25 +4,16 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SearchBox = SearchBox;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
9
  var _button = require("@keystone-ui/button");
13
-
14
10
  var _fields = require("@keystone-ui/fields");
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 SearchBoxWrapper = _styledComponents.default.div`
23
15
  display: flex;
24
16
  `;
25
-
26
17
  function SearchBox(props) {
27
18
  const {
28
19
  onChange,
@@ -4,17 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SlideshowButton = SlideshowButton;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _imageSelector = require("./selector/image-selector");
11
-
12
9
  var _draftJs = require("draft-js");
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
  function SlideshowButton(props) {
19
13
  const {
20
14
  editorState,
@@ -23,39 +17,35 @@ function SlideshowButton(props) {
23
17
  ImageSelector = _imageSelector.ImageSelector
24
18
  } = props;
25
19
  const [toShowImageSelector, setToShowImageSelector] = (0, _react.useState)(false);
26
-
27
20
  const promptForImageSelector = () => {
28
21
  setToShowImageSelector(true);
29
22
  };
30
-
31
23
  const onImageSelectorChange = (selected, align, delay) => {
32
24
  if (selected.length === 0) {
33
25
  setToShowImageSelector(false);
34
26
  return;
35
27
  }
36
-
37
28
  const contentState = editorState.getCurrentContent();
38
29
  const contentStateWithEntity = contentState.createEntity('SLIDESHOW', 'IMMUTABLE', {
39
30
  alignment: align,
40
31
  delay,
41
32
  images: selected.map(ele => {
42
- return { ...(ele === null || ele === void 0 ? void 0 : ele.image),
33
+ return {
34
+ ...(ele === null || ele === void 0 ? void 0 : ele.image),
43
35
  desc: ele === null || ele === void 0 ? void 0 : ele.desc
44
36
  };
45
37
  })
46
38
  });
47
39
  const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
48
-
49
40
  const newEditorState = _draftJs.EditorState.set(editorState, {
50
41
  currentContent: contentStateWithEntity
51
- }); // The third parameter here is a space string, not an empty string
52
- // If you set an empty string, you will get an error: Unknown DraftEntity key: null
53
-
42
+ });
54
43
 
44
+ // The third parameter here is a space string, not an empty string
45
+ // If you set an empty string, you will get an error: Unknown DraftEntity key: null
55
46
  onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
56
47
  setToShowImageSelector(false);
57
48
  };
58
-
59
49
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toShowImageSelector && /*#__PURE__*/_react.default.createElement(ImageSelector, {
60
50
  onChange: onImageSelectorChange,
61
51
  enableCaption: true,
@@ -11,43 +11,24 @@ Object.defineProperty(exports, "decorator", {
11
11
  }
12
12
  });
13
13
  exports.default = void 0;
14
-
15
14
  var _react = _interopRequireDefault(require("react"));
16
-
17
15
  var _btNames = _interopRequireDefault(require("./buttons/bt-names"));
18
-
19
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
20
-
21
17
  var _draftJs = require("draft-js");
22
-
23
18
  var _blockquote = require("./buttons/blockquote");
24
-
25
19
  var _embeddedCode = require("./buttons/embedded-code");
26
-
27
20
  var _enlarge = require("./buttons/enlarge");
28
-
29
21
  var _image = require("./buttons/image");
30
-
31
22
  var _link = require("./buttons/link");
32
-
33
23
  var _slideshow = require("./buttons/slideshow");
34
-
35
24
  var _imageSelector = require("./buttons/selector/image-selector");
36
-
37
25
  var _blockRendererFn = require("./block-renderer-fn");
38
-
39
26
  var _draftRenderer = require("@kids-reporter/draft-renderer");
40
-
41
27
  var _annotation = require("./buttons/annotation");
42
-
43
28
  var _infoBox = require("./buttons/info-box");
44
-
45
29
  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); }
46
-
47
30
  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; }
48
-
49
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
50
-
51
32
  const buttonStyle = (0, _styledComponents.css)`
52
33
  cursor: pointer;
53
34
  border-radius: 6px;
@@ -65,11 +46,9 @@ const buttonStyle = (0, _styledComponents.css)`
65
46
  if (props.readOnly) {
66
47
  return '#c1c7d0';
67
48
  }
68
-
69
49
  if (props.isActive) {
70
50
  return '#3b82f6';
71
51
  }
72
-
73
52
  return '#6b7280';
74
53
  }};
75
54
  border: solid 1px
@@ -77,22 +56,18 @@ const buttonStyle = (0, _styledComponents.css)`
77
56
  if (props.readOnly) {
78
57
  return '#c1c7d0';
79
58
  }
80
-
81
59
  if (props.isActive) {
82
60
  return '#3b82f6';
83
61
  }
84
-
85
62
  return '#6b7280';
86
63
  }};
87
64
  box-shadow: ${props => {
88
65
  if (props.readOnly) {
89
66
  return 'unset';
90
67
  }
91
-
92
68
  if (props.isActive) {
93
69
  return 'rgba(38, 132, 255, 20%) 0px 1px 4px ';
94
70
  }
95
-
96
71
  return 'unset';
97
72
  }};
98
73
  transition: box-shadow 100ms linear;
@@ -101,7 +76,6 @@ const buttonStyle = (0, _styledComponents.css)`
101
76
  if (props.isDisabled) {
102
77
  return 'none';
103
78
  }
104
-
105
79
  return 'inline-flex';
106
80
  }};
107
81
  `;
@@ -215,10 +189,8 @@ const EnlargeButtonWrapper = _styledComponents.default.div`
215
189
  right: 0;
216
190
  margin: 0;
217
191
  `;
218
-
219
192
  class RichTextEditor extends _react.default.Component {
220
193
  editorRef = null;
221
-
222
194
  constructor(props) {
223
195
  super(props);
224
196
  this.state = {
@@ -226,18 +198,15 @@ class RichTextEditor extends _react.default.Component {
226
198
  readOnly: false
227
199
  };
228
200
  }
229
-
230
201
  onChange = editorState => {
231
202
  this.props.onChange(editorState);
232
203
  };
233
204
  handleKeyCommand = (command, editorState) => {
234
205
  const newState = _draftJs.RichUtils.handleKeyCommand(editorState, command);
235
-
236
206
  if (newState) {
237
207
  this.onChange(newState);
238
208
  return 'handled';
239
209
  }
240
-
241
210
  return 'not-handled';
242
211
  };
243
212
  handleReturn = event => {
@@ -249,24 +218,17 @@ class RichTextEditor extends _react.default.Component {
249
218
  onChange(_draftJs.RichUtils.insertSoftNewline(editorState));
250
219
  return 'handled';
251
220
  }
252
-
253
221
  return 'not-handled';
254
222
  };
255
223
  mapKeyToEditorCommand = e => {
256
- if (e.keyCode === 9
257
- /* TAB */
258
- ) {
259
- const newEditorState = _draftJs.RichUtils.onTab(e, this.props.editorState, 4
260
- /* maxDepth */
261
- );
224
+ if (e.keyCode === 9 /* TAB */) {
225
+ const newEditorState = _draftJs.RichUtils.onTab(e, this.props.editorState, 4 /* maxDepth */);
262
226
 
263
227
  if (newEditorState !== this.props.editorState) {
264
228
  this.onChange(newEditorState);
265
229
  }
266
-
267
230
  return null;
268
231
  }
269
-
270
232
  return (0, _draftJs.getDefaultKeyBinding)(e);
271
233
  };
272
234
  toggleBlockType = blockType => {
@@ -283,23 +245,18 @@ class RichTextEditor extends _react.default.Component {
283
245
  const endOffset = selection.getEndOffset();
284
246
  let entityInstance;
285
247
  let entityKey;
286
-
287
248
  if (!selection.isCollapsed()) {
288
249
  entityKey = startBlock.getEntityAt(startOffset);
289
250
  } else {
290
251
  entityKey = startBlock.getEntityAt(endOffset);
291
252
  }
292
-
293
253
  if (entityKey !== null) {
294
254
  entityInstance = contentState.getEntity(entityKey);
295
255
  }
296
-
297
256
  let entityType = '';
298
-
299
257
  if (entityInstance) {
300
258
  entityType = entityInstance.getType();
301
259
  }
302
-
303
260
  return entityType;
304
261
  };
305
262
  toggleEnlarge = () => {
@@ -309,7 +266,6 @@ class RichTextEditor extends _react.default.Component {
309
266
  };
310
267
  blockRendererFn = block => {
311
268
  const atomicBlockObj = (0, _blockRendererFn.atomicBlockRenderer)(block);
312
-
313
269
  if (atomicBlockObj) {
314
270
  const onEditStart = () => {
315
271
  this.setState({
@@ -325,7 +281,6 @@ class RichTextEditor extends _react.default.Component {
325
281
  readOnly: true
326
282
  });
327
283
  };
328
-
329
284
  const onEditFinish = ({
330
285
  entityKey,
331
286
  entityData
@@ -336,30 +291,28 @@ class RichTextEditor extends _react.default.Component {
336
291
  this.onChange(_draftJs.EditorState.set(this.props.editorState, {
337
292
  currentContent: newContentState
338
293
  }));
339
- } // Custom block interaction is finished.
294
+ }
295
+
296
+ // Custom block interaction is finished.
340
297
  // Therefore, we set readOnly={false} to
341
298
  // make editor editable.
342
-
343
-
344
299
  this.setState({
345
300
  readOnly: false
346
301
  });
347
- }; // `onEditStart` and `onEditFinish` will be passed
302
+ };
303
+
304
+ // `onEditStart` and `onEditFinish` will be passed
348
305
  // into custom block component.
349
306
  // We can get them via `props.blockProps.onEditStart`
350
307
  // and `props.blockProps.onEditFinish` in the custom block components.
351
-
352
-
353
308
  atomicBlockObj['props'] = {
354
309
  onEditStart,
355
310
  onEditFinish,
356
311
  getMainEditorReadOnly: () => this.state.readOnly
357
312
  };
358
313
  }
359
-
360
314
  return atomicBlockObj;
361
315
  };
362
-
363
316
  render() {
364
317
  const {
365
318
  disabledButtons = []
@@ -367,11 +320,9 @@ class RichTextEditor extends _react.default.Component {
367
320
  let {
368
321
  editorState
369
322
  } = this.props;
370
-
371
323
  if (!(editorState instanceof _draftJs.EditorState)) {
372
324
  editorState = _draftJs.EditorState.createEmpty(_draftRenderer.decorator);
373
325
  }
374
-
375
326
  const {
376
327
  isEnlarged,
377
328
  readOnly
@@ -447,7 +398,6 @@ class RichTextEditor extends _react.default.Component {
447
398
  onClick: () => {
448
399
  if (this.editorRef) {
449
400
  var _this$editorRef;
450
-
451
401
  // eslint-disable-next-line prettier/prettier
452
402
  (_this$editorRef = this.editorRef) === null || _this$editorRef === void 0 ? void 0 : _this$editorRef.focus();
453
403
  }
@@ -466,17 +416,13 @@ class RichTextEditor extends _react.default.Component {
466
416
  readOnly: readOnly
467
417
  }))));
468
418
  }
469
-
470
419
  }
471
-
472
420
  exports.RichTextEditor = RichTextEditor;
473
-
474
421
  class StyleButton extends _react.default.Component {
475
422
  onToggle = e => {
476
423
  e.preventDefault();
477
424
  this.props.onToggle(this.props.style);
478
425
  };
479
-
480
426
  render() {
481
427
  return /*#__PURE__*/_react.default.createElement(CustomButton, {
482
428
  isDisabled: this.props.isDisabled,
@@ -487,9 +433,7 @@ class StyleButton extends _react.default.Component {
487
433
  className: this.props.icon
488
434
  }), /*#__PURE__*/_react.default.createElement("span", null, !this.props.icon ? this.props.label : ''));
489
435
  }
490
-
491
436
  }
492
-
493
437
  const blockStyles = [{
494
438
  label: 'H2',
495
439
  style: 'header-two',
@@ -502,6 +446,10 @@ const blockStyles = [{
502
446
  label: 'H4',
503
447
  style: 'header-four',
504
448
  icon: ''
449
+ }, {
450
+ label: 'H5',
451
+ style: 'header-five',
452
+ icon: ''
505
453
  }, {
506
454
  label: 'UL',
507
455
  style: 'unordered-list-item',
@@ -515,7 +463,6 @@ const blockStyles = [{
515
463
  style: 'code-block',
516
464
  icon: 'fas fa-code'
517
465
  }];
518
-
519
466
  const BlockStyleControls = props => {
520
467
  const {
521
468
  editorState,
@@ -534,7 +481,6 @@ const BlockStyleControls = props => {
534
481
  readOnly: props.readOnly
535
482
  })));
536
483
  };
537
-
538
484
  const inlineStyles = [{
539
485
  label: 'Bold',
540
486
  style: 'BOLD',
@@ -552,7 +498,6 @@ const inlineStyles = [{
552
498
  style: 'CODE',
553
499
  icon: 'fas fa-terminal'
554
500
  }];
555
-
556
501
  const InlineStyleControls = props => {
557
502
  const currentStyle = props.editorState.getCurrentInlineStyle();
558
503
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, inlineStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
@@ -566,7 +511,6 @@ const InlineStyleControls = props => {
566
511
  readOnly: props.readOnly
567
512
  })));
568
513
  };
569
-
570
514
  const AnnotationButton = (0, _annotation.createAnnotationButton)({
571
515
  InnerEditor: RichTextEditor,
572
516
  decorator: _draftRenderer.decorator