@mirrormedia/lilith-draft-editor 1.3.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/@types/draft-js/buttons/annotation.d.ts +2 -0
  2. package/@types/draft-js/buttons/audio.d.ts +9 -0
  3. package/@types/draft-js/buttons/background-color.d.ts +2 -0
  4. package/@types/draft-js/buttons/background-image.d.ts +35 -0
  5. package/@types/draft-js/buttons/background-video.d.ts +35 -0
  6. package/@types/draft-js/buttons/color-box.d.ts +29 -0
  7. package/@types/draft-js/buttons/divider.d.ts +2 -0
  8. package/@types/draft-js/buttons/embedded-code.d.ts +2 -0
  9. package/@types/draft-js/buttons/enlarge.d.ts +2 -0
  10. package/@types/draft-js/buttons/font-color.d.ts +2 -0
  11. package/@types/draft-js/buttons/image.d.ts +9 -0
  12. package/@types/draft-js/buttons/info-box.d.ts +27 -0
  13. package/@types/draft-js/buttons/link.d.ts +2 -0
  14. package/@types/draft-js/buttons/media.d.ts +2 -0
  15. package/@types/draft-js/buttons/related-post.d.ts +13 -0
  16. package/@types/draft-js/buttons/selector/align-selector.d.ts +15 -0
  17. package/@types/draft-js/buttons/selector/audio-selector.d.ts +21 -0
  18. package/@types/draft-js/buttons/selector/image-selector.d.ts +34 -0
  19. package/@types/draft-js/buttons/selector/pagination.d.ts +7 -0
  20. package/@types/draft-js/buttons/selector/post-selector.d.ts +22 -0
  21. package/@types/draft-js/buttons/selector/search-box.d.ts +6 -0
  22. package/@types/draft-js/buttons/selector/video-selector.d.ts +24 -0
  23. package/@types/draft-js/buttons/side-index.d.ts +25 -0
  24. package/@types/draft-js/buttons/slideshow.d.ts +9 -0
  25. package/@types/draft-js/buttons/table.d.ts +2 -0
  26. package/@types/draft-js/buttons/text-align.d.ts +4 -0
  27. package/@types/draft-js/buttons/video.d.ts +9 -0
  28. package/@types/draft-js/buttons/youtube.d.ts +23 -0
  29. package/@types/draft-js/const.d.ts +1 -0
  30. package/@types/draft-js/draft-converter/api-data-instance.d.ts +11 -0
  31. package/@types/draft-js/draft-converter/atomic-block-processor.d.ts +17 -0
  32. package/@types/draft-js/draft-converter/entities.d.ts +74 -0
  33. package/@types/draft-js/draft-converter/index.d.ts +8 -0
  34. package/@types/draft-js/draft-converter/inline-styles-processor.d.ts +1 -0
  35. package/@types/draft-js/modifier.d.ts +6 -0
  36. package/@types/draft-js/util.d.ts +1 -0
  37. package/@types/index.d.ts +4 -0
  38. package/@types/website/mirrormedia/block-renderer/background-image-block.d.ts +17 -0
  39. package/@types/website/mirrormedia/block-renderer/background-video-block.d.ts +17 -0
  40. package/@types/website/mirrormedia/block-renderer/color-box-block.d.ts +17 -0
  41. package/@types/website/mirrormedia/block-renderer/embedded-code-block.d.ts +5 -0
  42. package/@types/website/mirrormedia/block-renderer/image-block.d.ts +15 -0
  43. package/@types/website/mirrormedia/block-renderer/info-box-block.d.ts +17 -0
  44. package/@types/website/mirrormedia/block-renderer/side-index-block.d.ts +15 -0
  45. package/@types/website/mirrormedia/block-renderer/slideshow-block.d.ts +16 -0
  46. package/@types/website/mirrormedia/block-renderer/table-block.d.ts +16 -0
  47. package/@types/website/mirrormedia/block-renderer-fn.d.ts +4 -0
  48. package/@types/website/mirrormedia/draft-editor.d.ts +75 -0
  49. package/@types/website/mirrormedia/entity-decorator.d.ts +3 -0
  50. package/@types/website/mirrormedia/index.d.ts +5 -0
  51. package/@types/website/mirrormedia/selector/align-selector.d.ts +15 -0
  52. package/@types/website/mirrormedia/selector/audio-selector.d.ts +20 -0
  53. package/@types/website/mirrormedia/selector/image-selector.d.ts +44 -0
  54. package/@types/website/mirrormedia/selector/pagination.d.ts +7 -0
  55. package/@types/website/mirrormedia/selector/post-selector.d.ts +21 -0
  56. package/@types/website/mirrormedia/selector/search-box.d.ts +6 -0
  57. package/@types/website/mirrormedia/selector/video-selector.d.ts +23 -0
  58. package/@types/website/mirrormedia/shared-style/index.d.ts +3 -0
  59. package/@types/website/mirrormedia/theme/index.d.ts +19 -0
  60. package/@types/website/readr/block-renderer/background-image-block.d.ts +29 -0
  61. package/@types/website/readr/block-renderer/background-video-block.d.ts +29 -0
  62. package/@types/website/readr/block-renderer/color-box-block.d.ts +17 -0
  63. package/@types/website/readr/block-renderer/image-block.d.ts +15 -0
  64. package/@types/website/readr/block-renderer/info-box-block.d.ts +17 -0
  65. package/@types/website/readr/block-renderer/side-index-block.d.ts +15 -0
  66. package/@types/website/readr/block-renderer/table-block.d.ts +16 -0
  67. package/@types/website/readr/block-renderer-fn.d.ts +4 -0
  68. package/@types/website/readr/draft-editor.d.ts +74 -0
  69. package/@types/website/readr/entity-decorator.d.ts +3 -0
  70. package/@types/website/readr/index.d.ts +5 -0
  71. package/@types/website/readr/selector/align-selector.d.ts +15 -0
  72. package/@types/website/readr/selector/audio-selector.d.ts +18 -0
  73. package/@types/website/readr/selector/image-selector.d.ts +36 -0
  74. package/@types/website/readr/selector/pagination.d.ts +7 -0
  75. package/@types/website/readr/selector/post-selector.d.ts +20 -0
  76. package/@types/website/readr/selector/search-box.d.ts +6 -0
  77. package/@types/website/readr/selector/video-selector.d.ts +23 -0
  78. package/@types/website/readr/theme/index.d.ts +30 -0
  79. package/README.md +8 -8
  80. package/lib/draft-js/buttons/annotation.js +4 -3
  81. package/lib/draft-js/buttons/audio.js +5 -9
  82. package/lib/draft-js/buttons/background-color.js +4 -3
  83. package/lib/draft-js/buttons/background-image.js +5 -3
  84. package/lib/draft-js/buttons/background-video.js +5 -3
  85. package/lib/draft-js/buttons/color-box.js +11 -15
  86. package/lib/draft-js/buttons/divider.js +6 -6
  87. package/lib/draft-js/buttons/embedded-code.js +8 -13
  88. package/lib/draft-js/buttons/enlarge.js +2 -6
  89. package/lib/draft-js/buttons/font-color.js +4 -3
  90. package/lib/draft-js/buttons/image.js +5 -9
  91. package/lib/draft-js/buttons/info-box.js +1 -1
  92. package/lib/draft-js/buttons/link.js +3 -2
  93. package/lib/draft-js/buttons/related-post.js +6 -10
  94. package/lib/draft-js/buttons/selector/align-selector.js +5 -9
  95. package/lib/draft-js/buttons/selector/audio-selector.js +17 -13
  96. package/lib/draft-js/buttons/selector/image-selector.js +29 -21
  97. package/lib/draft-js/buttons/selector/pagination.js +6 -8
  98. package/lib/draft-js/buttons/selector/post-selector.js +17 -13
  99. package/lib/draft-js/buttons/selector/video-selector.js +15 -10
  100. package/lib/draft-js/buttons/side-index.js +18 -22
  101. package/lib/draft-js/buttons/slideshow.js +5 -9
  102. package/lib/draft-js/buttons/table.js +3 -7
  103. package/lib/draft-js/buttons/text-align.js +17 -15
  104. package/lib/draft-js/buttons/type.js +5 -0
  105. package/lib/draft-js/buttons/video.js +5 -9
  106. package/lib/draft-js/buttons/youtube.js +12 -16
  107. package/lib/draft-js/draft-converter/api-data-instance.js +16 -2
  108. package/lib/draft-js/draft-converter/atomic-block-processor.js +24 -14
  109. package/lib/draft-js/draft-converter/index.js +68 -17
  110. package/lib/draft-js/draft-converter/inline-styles-processor.js +74 -26
  111. package/lib/draft-js/draft-converter/jsdoc.js +24 -0
  112. package/lib/draft-js/modifier.js +7 -7
  113. package/lib/draft-js/util.js +3 -1
  114. package/lib/website/mirrormedia/draft-editor.js +129 -93
  115. package/lib/website/mirrormedia/selector/align-selector.js +5 -9
  116. package/lib/website/mirrormedia/selector/audio-selector.js +4 -2
  117. package/lib/website/mirrormedia/selector/image-selector.js +16 -9
  118. package/lib/website/mirrormedia/selector/pagination.js +6 -8
  119. package/lib/website/mirrormedia/selector/post-selector.js +5 -3
  120. package/lib/website/mirrormedia/selector/video-selector.js +1 -1
  121. package/package.json +13 -11
  122. package/lib/draft-js/buttons/media.js +0 -121
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.buttonNames = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
11
 
@@ -69,12 +69,12 @@ var _audioSelector = require("./selector/audio-selector");
69
69
 
70
70
  var _sharedStyle = require("./shared-style");
71
71
 
72
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
73
+
72
74
  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); }
73
75
 
74
76
  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; }
75
77
 
76
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
77
-
78
78
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
79
79
 
80
80
  const buttonNames = {
@@ -125,42 +125,53 @@ const buttonStyle = (0, _styledComponents.css)`
125
125
  align-items: center;
126
126
  height: 40px;
127
127
 
128
- cursor: ${props => {
129
- if (props.readOnly) {
128
+ cursor: ${({
129
+ readOnly
130
+ }) => {
131
+ if (readOnly) {
130
132
  return 'not-allowed';
131
133
  }
132
134
 
133
135
  return 'pointer';
134
136
  }};
135
- color: ${props => {
136
- if (props.readOnly) {
137
+ color: ${({
138
+ readOnly,
139
+ isActive
140
+ }) => {
141
+ if (readOnly) {
137
142
  return '#c1c7d0';
138
143
  }
139
144
 
140
- if (props.isActive) {
145
+ if (isActive) {
141
146
  return '#3b82f6';
142
147
  }
143
148
 
144
149
  return '#6b7280';
145
150
  }};
146
151
  border: solid 1px
147
- ${props => {
148
- if (props.readOnly) {
152
+ ${({
153
+ readOnly,
154
+ isActive
155
+ }) => {
156
+ if (readOnly) {
149
157
  return '#c1c7d0';
150
158
  }
151
159
 
152
- if (props.isActive) {
160
+ if (isActive) {
153
161
  return '#3b82f6';
154
162
  }
155
163
 
156
164
  return '#6b7280';
157
165
  }};
158
- box-shadow: ${props => {
159
- if (props.readOnly) {
166
+ box-shadow: ${({
167
+ readOnly,
168
+ isActive
169
+ }) => {
170
+ if (readOnly) {
160
171
  return 'unset';
161
172
  }
162
173
 
163
- if (props.isActive) {
174
+ if (isActive) {
164
175
  return 'rgba(38, 132, 255, 20%) 0px 1px 4px ';
165
176
  }
166
177
 
@@ -168,8 +179,10 @@ const buttonStyle = (0, _styledComponents.css)`
168
179
  }};
169
180
  transition: box-shadow 100ms linear;
170
181
 
171
- display: ${props => {
172
- if (props.isDisabled) {
182
+ display: ${({
183
+ isDisabled
184
+ }) => {
185
+ if (isDisabled) {
173
186
  return 'none';
174
187
  }
175
188
 
@@ -178,35 +191,44 @@ const buttonStyle = (0, _styledComponents.css)`
178
191
  `;
179
192
  const longFormButtonStyle = (0, _styledComponents.css)`
180
193
  ${buttonStyle}
181
- color: ${props => {
182
- if (props.readOnly) {
194
+ color: ${({
195
+ readOnly,
196
+ isActive
197
+ }) => {
198
+ if (readOnly) {
183
199
  return '#c1c7d0';
184
200
  }
185
201
 
186
- if (props.isActive) {
202
+ if (isActive) {
187
203
  return '#ED8B00';
188
204
  }
189
205
 
190
206
  return '#6b7280';
191
207
  }};
192
208
  border: solid 1px
193
- ${props => {
194
- if (props.readOnly) {
209
+ ${({
210
+ readOnly,
211
+ isActive
212
+ }) => {
213
+ if (readOnly) {
195
214
  return '#c1c7d0';
196
215
  }
197
216
 
198
- if (props.isActive) {
217
+ if (isActive) {
199
218
  return '#ED8B00';
200
219
  }
201
220
 
202
221
  return '#FECC85';
203
222
  }};
204
- box-shadow: ${props => {
205
- if (props.readOnly) {
223
+ box-shadow: ${({
224
+ readOnly,
225
+ isActive
226
+ }) => {
227
+ if (readOnly) {
206
228
  return 'unset';
207
229
  }
208
230
 
209
- if (props.isActive) {
231
+ if (isActive) {
210
232
  return 'rgba(237, 139, 0, 0.5) 0px 1px 4px';
211
233
  }
212
234
 
@@ -230,13 +252,14 @@ const CustomLinkButton = (0, _styledComponents.default)(_link.LinkButton)`
230
252
  `;
231
253
 
232
254
  function createButtonWithoutProps(referenceComponent, isLongForm = false, additionalCSS = ``) {
233
- return isLongForm ? (0, _styledComponents.default)(referenceComponent)`
234
- ${longFormButtonStyle}
235
- ${additionalCSS}
236
- ` : (0, _styledComponents.default)(referenceComponent)`
237
- ${buttonStyle}
238
- ${additionalCSS}
239
- `;
255
+ const component = referenceComponent;
256
+ return isLongForm ? (0, _styledComponents.default)(component)`
257
+ ${longFormButtonStyle}
258
+ ${additionalCSS}
259
+ ` : (0, _styledComponents.default)(component)`
260
+ ${buttonStyle}
261
+ ${additionalCSS}
262
+ `;
240
263
  }
241
264
 
242
265
  const CustomEnlargeButton = createButtonWithoutProps(_enlarge.EnlargeButton, false, `color: #999`);
@@ -361,7 +384,9 @@ const TextEditorWrapper = _styledComponents.default.div`
361
384
  const DraftEditorContainer = _styledComponents.default.div`
362
385
  position: relative;
363
386
  margin-top: 4px;
364
- ${props => props.isEnlarged ? (0, _styledComponents.css)`
387
+ ${({
388
+ isEnlarged
389
+ }) => isEnlarged ? (0, _styledComponents.css)`
365
390
  position: fixed;
366
391
  width: 100%;
367
392
  height: 100%;
@@ -373,7 +398,9 @@ const DraftEditorContainer = _styledComponents.default.div`
373
398
  background: rgba(0, 0, 0, 0.5);
374
399
  ` : ''}
375
400
  ${DraftEditorWrapper} {
376
- ${props => props.isEnlarged ? (0, _styledComponents.css)`
401
+ ${({
402
+ isEnlarged
403
+ }) => isEnlarged ? (0, _styledComponents.css)`
377
404
  width: 100%;
378
405
  height: 100%;
379
406
  padding: 0 1rem 0;
@@ -381,20 +408,26 @@ const DraftEditorContainer = _styledComponents.default.div`
381
408
  ` : ''}
382
409
  }
383
410
  ${DraftEditorControls} {
384
- ${props => props.isEnlarged ? (0, _styledComponents.css)`
411
+ ${({
412
+ isEnlarged
413
+ }) => isEnlarged ? (0, _styledComponents.css)`
385
414
  position: sticky;
386
415
  top: 0;
387
416
  z-index: 12;
388
417
  ` : ''}
389
418
  }
390
419
  ${DraftEditorControlsWrapper} {
391
- ${props => props.isEnlarged ? (0, _styledComponents.css)`
420
+ ${({
421
+ isEnlarged
422
+ }) => isEnlarged ? (0, _styledComponents.css)`
392
423
  overflow: auto;
393
424
  padding-bottom: 0;
394
425
  ` : ''}
395
426
  }
396
427
  ${TextEditorWrapper} {
397
- ${props => props.isEnlarged ? (0, _styledComponents.css)`
428
+ ${({
429
+ isEnlarged
430
+ }) => isEnlarged ? (0, _styledComponents.css)`
398
431
  max-width: 100%;
399
432
  min-height: 100vh;
400
433
  padding-bottom: 0;
@@ -437,10 +470,10 @@ class RichTextEditor extends _react.default.Component {
437
470
 
438
471
  if (newState) {
439
472
  this.onChange(newState);
440
- return true;
473
+ return 'handled';
441
474
  }
442
475
 
443
- return false;
476
+ return 'not-handled';
444
477
  };
445
478
  handleReturn = event => {
446
479
  if (_draftJs.KeyBindingUtil.isSoftNewlineEvent(event)) {
@@ -466,7 +499,7 @@ class RichTextEditor extends _react.default.Component {
466
499
  this.onChange(newEditorState);
467
500
  }
468
501
 
469
- return;
502
+ return null;
470
503
  }
471
504
 
472
505
  return (0, _draftJs.getDefaultKeyBinding)(e);
@@ -514,7 +547,7 @@ class RichTextEditor extends _react.default.Component {
514
547
  styles['backgroundColor'] = styleName.split(_const.CUSTOM_STYLE_PREFIX_BACKGROUND_COLOR)[1];
515
548
  }
516
549
 
517
- return styles;
550
+ return styles ?? {};
518
551
  }, {});
519
552
  };
520
553
  toggleEnlarge = () => {
@@ -556,7 +589,7 @@ class RichTextEditor extends _react.default.Component {
556
589
  break;
557
590
 
558
591
  case 'atomic':
559
- if ((_entity$getData = entity.getData()) !== null && _entity$getData !== void 0 && _entity$getData.alignment) {
592
+ if (entity !== null && entity !== void 0 && (_entity$getData = entity.getData()) !== null && _entity$getData !== void 0 && _entity$getData.alignment) {
560
593
  // support all atomic block to set alignment
561
594
  result += ' ' + entity.getData().alignment;
562
595
  }
@@ -593,7 +626,7 @@ class RichTextEditor extends _react.default.Component {
593
626
  entityKey,
594
627
  entityData
595
628
  }) => {
596
- if (entityKey) {
629
+ if (entityKey && entityData) {
597
630
  const oldContentState = this.props.editorState.getCurrentContent();
598
631
  const newContentState = oldContentState.replaceEntityData(entityKey, entityData);
599
632
  this.onChange(_draftJs.EditorState.set(this.props.editorState, {
@@ -613,19 +646,22 @@ class RichTextEditor extends _react.default.Component {
613
646
  // and `props.blockProps.onEditFinish` in the custom block components.
614
647
 
615
648
 
616
- atomicBlockObj['props'] = {
617
- onEditStart,
618
- onEditFinish,
619
- getMainEditorReadOnly: () => this.state.readOnly,
620
- renderBasicEditor: propsOfBasicEditor => {
621
- return /*#__PURE__*/_react.default.createElement(RichTextEditor, _extends({}, propsOfBasicEditor, {
622
- disabledButtons: disabledButtonsOnBasicEditor
623
- }));
649
+ const extendedAtomicBlockObj = Object.assign({}, atomicBlockObj, {
650
+ props: {
651
+ onEditStart,
652
+ onEditFinish,
653
+ getMainEditorReadOnly: () => this.state.readOnly,
654
+ renderBasicEditor: propsOfBasicEditor => {
655
+ return /*#__PURE__*/_react.default.createElement(RichTextEditor, _extends({}, propsOfBasicEditor, {
656
+ disabledButtons: disabledButtonsOnBasicEditor
657
+ }));
658
+ }
624
659
  }
625
- };
660
+ });
661
+ return extendedAtomicBlockObj;
662
+ } else {
663
+ return atomicBlockObj;
626
664
  }
627
-
628
- return atomicBlockObj;
629
665
  };
630
666
 
631
667
  render() {
@@ -656,7 +692,7 @@ class RichTextEditor extends _react.default.Component {
656
692
  return /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
657
693
  theme: _theme.default
658
694
  }, /*#__PURE__*/_react.default.createElement(DraftEditorContainer, {
659
- isEnlarged: isEnlarged
695
+ isEnlarged: Boolean(isEnlarged)
660
696
  }, /*#__PURE__*/_react.default.createElement(DraftEditorWrapper, null, /*#__PURE__*/_react.default.createElement("link", {
661
697
  href: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css",
662
698
  rel: "stylesheet",
@@ -674,30 +710,30 @@ class RichTextEditor extends _react.default.Component {
674
710
  rel: "stylesheet",
675
711
  type: "text/css"
676
712
  }), /*#__PURE__*/_react.default.createElement(DraftEditorControls, null, /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(BlockStyleControls, {
713
+ readOnly: readOnly,
677
714
  disabledButtons: disabledButtons,
678
715
  editorState: editorState,
679
- onToggle: this.toggleBlockType,
680
- readOnly: this.state.readOnly
716
+ onToggle: this.toggleBlockType
681
717
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(InlineStyleControls, {
718
+ readOnly: readOnly,
682
719
  disabledButtons: disabledButtons,
683
720
  editorState: editorState,
684
- onToggle: this.toggleInlineStyle,
685
- readOnly: this.state.readOnly
721
+ onToggle: this.toggleInlineStyle
686
722
  })), /*#__PURE__*/_react.default.createElement(EnlargeButtonWrapper, null, /*#__PURE__*/_react.default.createElement(CustomEnlargeButton, {
687
723
  onToggle: this.toggleEnlarge,
688
724
  isEnlarged: isEnlarged
689
725
  }))), /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomLinkButton, {
690
726
  isDisabled: disabledButtons.includes(buttonNames.link),
691
727
  isActive: entityType === 'LINK',
728
+ readOnly: readOnly,
692
729
  editorState: editorState,
693
- onChange: this.onChange,
694
- readOnly: this.state.readOnly
730
+ onChange: this.onChange
695
731
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomFontColorButton, {
696
732
  isDisabled: disabledButtons.includes(buttonNames.fontColor),
697
733
  isActive: Object.prototype.hasOwnProperty.call(customStyle, 'color'),
734
+ readOnly: readOnly,
698
735
  editorState: editorState,
699
- onChange: this.onChange,
700
- readOnly: this.state.readOnly
736
+ onChange: this.onChange
701
737
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomDividerButton, {
702
738
  isDisabled: disabledButtons.includes(buttonNames.divider),
703
739
  editorState: editorState,
@@ -705,109 +741,109 @@ class RichTextEditor extends _react.default.Component {
705
741
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAnnotationButton, {
706
742
  isDisabled: disabledButtons.includes(buttonNames.annotation),
707
743
  isActive: entityType === 'ANNOTATION',
744
+ readOnly: readOnly,
708
745
  editorState: editorState,
709
746
  onChange: this.onChange,
710
- readOnly: this.state.readOnly,
711
747
  renderBasicEditor: renderBasicEditor,
712
748
  decorators: _entityDecorator.default
713
749
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomImageButton, {
714
750
  isDisabled: disabledButtons.includes(buttonNames.image),
751
+ readOnly: readOnly,
715
752
  editorState: editorState,
716
753
  onChange: this.onChange,
717
- readOnly: this.state.readOnly,
718
754
  ImageSelector: _imageSelector.ImageSelector
719
755
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomVideoButton, {
720
756
  isDisabled: disabledButtons.includes(buttonNames.video),
757
+ readOnly: readOnly,
721
758
  editorState: editorState,
722
759
  onChange: this.onChange,
723
- readOnly: this.state.readOnly,
724
760
  VideoSelector: _videoSelector.VideoSelector
725
761
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomYoutubeButton, {
726
762
  isDisabled: disabledButtons.includes(buttonNames.youtube),
763
+ readOnly: readOnly,
727
764
  editorState: editorState,
728
- onChange: this.onChange,
729
- readOnly: this.state.readOnly
765
+ onChange: this.onChange
730
766
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAudioButton, {
731
767
  isDisabled: disabledButtons.includes(buttonNames.audio),
768
+ readOnly: readOnly,
732
769
  editorState: editorState,
733
770
  onChange: this.onChange,
734
- readOnly: this.state.readOnly,
735
771
  AudioSelector: _audioSelector.AudioSelector
736
772
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomSlideshowButton, {
737
773
  isDisabled: disabledButtons.includes(buttonNames.slideshow),
774
+ readOnly: readOnly,
738
775
  editorState: editorState,
739
776
  onChange: this.onChange,
740
- readOnly: this.state.readOnly,
741
777
  ImageSelector: _imageSelector.ImageSelector
742
778
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomInfoBoxButton, {
743
779
  isDisabled: disabledButtons.includes(buttonNames.infoBox),
780
+ readOnly: readOnly,
744
781
  editorState: editorState,
745
782
  onChange: this.onChange,
746
- readOnly: this.state.readOnly,
747
- renderBasicEditor: renderBasicEditor,
748
- decorators: _entityDecorator.default
783
+ renderBasicEditor: renderBasicEditor // decorators={decorators}
784
+
749
785
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomEmbeddedCodeButton, {
750
786
  isDisabled: disabledButtons.includes(buttonNames.embed),
787
+ readOnly: readOnly,
751
788
  editorState: editorState,
752
- onChange: this.onChange,
753
- readOnly: this.state.readOnly
789
+ onChange: this.onChange
754
790
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomTableButton, {
755
791
  isDisabled: disabledButtons.includes(buttonNames.table),
792
+ readOnly: readOnly,
756
793
  editorState: editorState,
757
- onChange: this.onChange,
758
- readOnly: this.state.readOnly
794
+ onChange: this.onChange
759
795
  }))), /*#__PURE__*/_react.default.createElement(DraftEditorControlsWrapper, null, /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAlignLeftButton, {
760
796
  isDisabled: disabledButtons.includes(buttonNames.textAlign),
761
797
  isActive: (0, _textAlign.getSelectionBlockData)(editorState, 'textAlign') === 'left',
798
+ readOnly: readOnly,
762
799
  editorState: editorState,
763
- onChange: this.onChange,
764
- readOnly: this.state.readOnly
800
+ onChange: this.onChange
765
801
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomAlignCenterButton, {
766
802
  isDisabled: disabledButtons.includes(buttonNames.textAlign),
767
803
  isActive: (0, _textAlign.getSelectionBlockData)(editorState, 'textAlign') === 'center',
804
+ readOnly: readOnly,
768
805
  editorState: editorState,
769
- onChange: this.onChange,
770
- readOnly: this.state.readOnly
806
+ onChange: this.onChange
771
807
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomColorBoxButton, {
772
808
  isDisabled: disabledButtons.includes(buttonNames.colorBox),
809
+ readOnly: readOnly,
773
810
  editorState: editorState,
774
811
  onChange: this.onChange,
775
- readOnly: this.state.readOnly,
776
- renderBasicEditor: renderBasicEditor,
777
- decorators: _entityDecorator.default
812
+ renderBasicEditor: renderBasicEditor // decorators={decorators}
813
+
778
814
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBackgroundColorButton, {
779
815
  isDisabled: disabledButtons.includes(buttonNames.backgroundColor),
780
816
  isActive: Object.prototype.hasOwnProperty.call(customStyle, 'backgroundColor'),
817
+ readOnly: readOnly,
781
818
  editorState: editorState,
782
- onChange: this.onChange,
783
- readOnly: this.state.readOnly
819
+ onChange: this.onChange
784
820
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBGImageButton, {
785
821
  isDisabled: disabledButtons.includes(buttonNames.backgroundImage),
822
+ readOnly: readOnly,
786
823
  editorState: editorState,
787
824
  onChange: this.onChange,
788
- readOnly: this.state.readOnly,
789
825
  ImageSelector: _imageSelector.ImageSelector,
790
826
  renderBasicEditor: renderBasicEditor,
791
827
  decorators: _entityDecorator.default
792
828
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomBGVideoButton, {
793
829
  isDisabled: disabledButtons.includes(buttonNames.backgroundVideo),
830
+ readOnly: readOnly,
794
831
  editorState: editorState,
795
832
  onChange: this.onChange,
796
- readOnly: this.state.readOnly,
797
833
  VideoSelector: _videoSelector.VideoSelector,
798
834
  renderBasicEditor: renderBasicEditor,
799
835
  decorators: _entityDecorator.default
800
836
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomRelatedPostButton, {
801
837
  isDisabled: disabledButtons.includes(buttonNames.relatedPost),
838
+ readOnly: readOnly,
802
839
  editorState: editorState,
803
840
  onChange: this.onChange,
804
- readOnly: this.state.readOnly,
805
841
  PostSelector: _postSelector.PostSelector
806
842
  })), /*#__PURE__*/_react.default.createElement(ButtonGroup, null, /*#__PURE__*/_react.default.createElement(CustomSideIndexButton, {
807
843
  isDisabled: disabledButtons.includes(buttonNames.sideIndex),
844
+ readOnly: readOnly,
808
845
  editorState: editorState,
809
- onChange: this.onChange,
810
- readOnly: this.state.readOnly
846
+ onChange: this.onChange
811
847
  })))), /*#__PURE__*/_react.default.createElement(TextEditorWrapper, {
812
848
  onClick: () => {
813
849
  var _this$refs$editor;
@@ -890,7 +926,7 @@ const BlockStyleControls = props => {
890
926
  } = props;
891
927
  const selection = editorState.getSelection();
892
928
  const blockType = editorState.getCurrentContent().getBlockForKey(selection.getStartKey()).getType();
893
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, blockStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
929
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, blockStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
894
930
  isDisabled: disabledButtons.includes(type.style),
895
931
  key: type.label,
896
932
  active: type.style === blockType,
@@ -922,7 +958,7 @@ const inlineStyles = [{
922
958
 
923
959
  const InlineStyleControls = props => {
924
960
  const currentStyle = props.editorState.getCurrentInlineStyle();
925
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, inlineStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
961
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, inlineStyles.map(type => /*#__PURE__*/_react.default.createElement(StyleButton, {
926
962
  isDisabled: props.disabledButtons.includes(type.style.toLowerCase()),
927
963
  key: type.label,
928
964
  active: currentStyle.has(type.style),
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.AlignSelector = AlignSelector;
7
7
 
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = require("react");
9
9
 
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
@@ -13,10 +13,6 @@ var _fields = require("@keystone-ui/fields");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- 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); }
17
-
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; }
19
-
20
16
  const Label = _styledComponents.default.label`
21
17
  display: block;
22
18
  margin: 10px 0;
@@ -54,15 +50,15 @@ function AlignSelector(props) {
54
50
  onOpen();
55
51
  }
56
52
  }, [isOpen]);
57
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
53
+ return /*#__PURE__*/React.createElement(_react.Fragment, null, /*#__PURE__*/React.createElement(Label, {
58
54
  htmlFor: "alignment"
59
- }, "\u5C0D\u9F4A"), /*#__PURE__*/_react.default.createElement(AlignSelect, {
55
+ }, "\u5C0D\u9F4A"), /*#__PURE__*/React.createElement(AlignSelect, {
60
56
  id: "alignment" // default align === undefined
61
57
  ,
62
- value: options.find(option => option.value === align),
58
+ value: options.find(option => option.value === align) ?? null,
63
59
  options: options,
64
60
  onChange: option => {
65
- onChange(option.value);
61
+ onChange((option === null || option === void 0 ? void 0 : option.value) ?? '');
66
62
  },
67
63
  onMenuOpen: () => setIsOpen(true),
68
64
  onMenuClose: () => setIsOpen(false),
@@ -238,7 +238,7 @@ function AudioSelector(props) {
238
238
  }
239
239
  }, [currentPage, searchText]);
240
240
 
241
- let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(AudiosGrids, {
241
+ let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(AudiosGrids, {
242
242
  audios: audioFiles,
243
243
  selected: selectedAudios,
244
244
  onSelect: onAudiosGridSelect
@@ -256,7 +256,9 @@ function AudioSelector(props) {
256
256
  }
257
257
 
258
258
  if (error) {
259
- searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `audios` 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, AudiosQuery.loc.source.body)));
259
+ var _AudiosQuery$loc;
260
+
261
+ searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `audios` 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, AudiosQuery === null || AudiosQuery === void 0 ? void 0 : (_AudiosQuery$loc = AudiosQuery.loc) === null || _AudiosQuery$loc === void 0 ? void 0 : _AudiosQuery$loc.source.body)));
260
262
  }
261
263
 
262
264
  return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
@@ -204,7 +204,7 @@ function ImageMetaGrid(props) {
204
204
 
205
205
  return e.currentTarget.src = image === null || image === void 0 ? void 0 : (_image$imageFile2 = image.imageFile) === null || _image$imageFile2 === void 0 ? void 0 : _image$imageFile2.url;
206
206
  }
207
- }), /*#__PURE__*/_react.default.createElement(ImageName, null, image === null || image === void 0 ? void 0 : image.name), enableCaption && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
207
+ }), /*#__PURE__*/_react.default.createElement(ImageName, null, image === null || image === void 0 ? void 0 : image.name), enableCaption && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
208
208
  htmlFor: "caption"
209
209
  }, "Image Caption:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
210
210
  id: "caption",
@@ -218,7 +218,7 @@ function ImageMetaGrid(props) {
218
218
  url
219
219
  });
220
220
  })
221
- })), enableUrl && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
221
+ })), enableUrl && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, {
222
222
  htmlFor: "url"
223
223
  }, "Url:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
224
224
  id: "url",
@@ -240,7 +240,7 @@ function DelayInput(props) {
240
240
  delay,
241
241
  onChange
242
242
  } = props;
243
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, null, "Slideshow delay:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
243
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Label, null, "Slideshow delay:"), /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
244
244
  type: "number",
245
245
  placeholder: "\u8ACB\u8F38\u5165\u81EA\u52D5\u5207\u63DB\u79D2\u6578",
246
246
  step: "0.5",
@@ -280,7 +280,7 @@ function ImageSelector(props) {
280
280
  const [selected, setSelected] = (0, _react.useState)(initialSelected);
281
281
  const [delay, setDelay] = (0, _react.useState)(initialDelay ?? '5');
282
282
  const [align, setAlign] = (0, _react.useState)(initialAlign);
283
- const contentWrapperRef = (0, _react.useRef)();
283
+ const contentWrapperRef = (0, _react.useRef)(null);
284
284
  const pageSize = 18;
285
285
  const options = [{
286
286
  value: undefined,
@@ -323,7 +323,10 @@ function ImageSelector(props) {
323
323
  var _contentWrapperRef$cu;
324
324
 
325
325
  const scrollWrapper = (_contentWrapperRef$cu = contentWrapperRef.current) === null || _contentWrapperRef$cu === void 0 ? void 0 : _contentWrapperRef$cu.parentElement;
326
- scrollWrapper.scrollTop = scrollWrapper.scrollHeight;
326
+
327
+ if (scrollWrapper) {
328
+ scrollWrapper.scrollTop = scrollWrapper.scrollHeight;
329
+ }
327
330
  };
328
331
 
329
332
  const onImageMetaChange = imageEntityWithMeta => {
@@ -388,7 +391,7 @@ function ImageSelector(props) {
388
391
  }
389
392
  }, [currentPage, searchText]);
390
393
 
391
- let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ImageGrids, {
394
+ let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(ImageGrids, {
392
395
  images: images,
393
396
  selected: selectedImages,
394
397
  onSelect: onImagesGridSelect
@@ -406,7 +409,9 @@ function ImageSelector(props) {
406
409
  }
407
410
 
408
411
  if (error) {
409
- 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)));
412
+ var _imagesQuery$loc, _imagesQuery$loc$sour;
413
+
414
+ 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 === null || imagesQuery === void 0 ? void 0 : (_imagesQuery$loc = imagesQuery.loc) === null || _imagesQuery$loc === void 0 ? void 0 : (_imagesQuery$loc$sour = _imagesQuery$loc.source) === null || _imagesQuery$loc$sour === void 0 ? void 0 : _imagesQuery$loc$sour.body)));
410
415
  }
411
416
 
412
417
  return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
@@ -435,8 +440,10 @@ function ImageSelector(props) {
435
440
  })), /*#__PURE__*/_react.default.createElement(ImageBlockMetaWrapper, null, (enableDelay || enableAlignment) && /*#__PURE__*/_react.default.createElement(SeparationLine, null), enableDelay && /*#__PURE__*/_react.default.createElement(DelayInput, {
436
441
  delay: delay,
437
442
  onChange: onDealyChange
438
- }), enableAlignment && /*#__PURE__*/_react.default.createElement(_alignSelector.AlignSelector, {
439
- align: align,
443
+ }), enableAlignment && /*#__PURE__*/_react.default.createElement(_alignSelector.AlignSelector // @ts-ignore: align could be undefined
444
+ , {
445
+ align: align // @ts-ignore: option with undefined value
446
+ ,
440
447
  options: options,
441
448
  onChange: onAlignSelectChange,
442
449
  onOpen: onAlignSelectOpen