@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,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Pagination = Pagination;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
9
 
12
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -46,12 +44,12 @@ function Pagination({
46
44
  const prevPage = currentPage - 1; // Don't render the pagiantion component if the pageSize is greater than the total number of items in the list.
47
45
 
48
46
  if (total <= pageSize) return null;
49
- 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, {
47
+ return /*#__PURE__*/React.createElement(PaginationWrapper, null, /*#__PURE__*/React.createElement("div", null, currentPage, " of ", limit, " pages"), /*#__PURE__*/React.createElement(Arrows, null, /*#__PURE__*/React.createElement(ArrowButtonWrapper, {
50
48
  onClick: () => {
51
49
  onChange(prevPage);
52
50
  },
53
51
  disable: prevPage < minPage
54
- }, /*#__PURE__*/_react.default.createElement("svg", {
52
+ }, /*#__PURE__*/React.createElement("svg", {
55
53
  "aria-hidden": "true",
56
54
  focusable: "false",
57
55
  height: "24px",
@@ -60,14 +58,14 @@ function Pagination({
60
58
  viewBox: "0 0 24 24",
61
59
  xmlns: "http://www.w3.org/2000/svg",
62
60
  className: "css-bztyua"
63
- }, /*#__PURE__*/_react.default.createElement("polyline", {
61
+ }, /*#__PURE__*/React.createElement("polyline", {
64
62
  points: "15 18 9 12 15 6"
65
- }), ' ')), /*#__PURE__*/_react.default.createElement(ArrowButtonWrapper, {
63
+ }), ' ')), /*#__PURE__*/React.createElement(ArrowButtonWrapper, {
66
64
  onClick: () => {
67
65
  onChange(nextPage);
68
66
  },
69
67
  disable: nextPage > limit
70
- }, /*#__PURE__*/_react.default.createElement("svg", {
68
+ }, /*#__PURE__*/React.createElement("svg", {
71
69
  "aria-hidden": "true",
72
70
  focusable: "false",
73
71
  height: "24px",
@@ -76,7 +74,7 @@ function Pagination({
76
74
  viewBox: "0 0 24 24",
77
75
  xmlns: "http://www.w3.org/2000/svg",
78
76
  className: "css-bztyua"
79
- }, /*#__PURE__*/_react.default.createElement("polyline", {
77
+ }, /*#__PURE__*/React.createElement("polyline", {
80
78
  points: "9 18 15 12 9 6"
81
79
  })))));
82
80
  }
@@ -184,7 +184,7 @@ function PostMetaGrid(props) {
184
184
 
185
185
  return e.currentTarget.src = post === null || post === void 0 ? void 0 : (_post$heroImage4 = post.heroImage) === null || _post$heroImage4 === void 0 ? void 0 : (_post$heroImage4$imag = _post$heroImage4.imageFile) === null || _post$heroImage4$imag === void 0 ? void 0 : _post$heroImage4$imag.url;
186
186
  }
187
- }), /*#__PURE__*/_react.default.createElement(PostTitle, null, post === null || post === void 0 ? void 0 : post.name)));
187
+ }), /*#__PURE__*/_react.default.createElement(PostTitle, null, post === null || post === void 0 ? void 0 : post.title)));
188
188
  }
189
189
 
190
190
  function PostSelector(props) {
@@ -276,7 +276,7 @@ function PostSelector(props) {
276
276
  }
277
277
  }, [currentPage, searchText]);
278
278
 
279
- let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(PostGrids, {
279
+ let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(PostGrids, {
280
280
  posts: posts,
281
281
  selected: selectedPosts,
282
282
  onSelect: onPostsGridSelect
@@ -294,7 +294,9 @@ function PostSelector(props) {
294
294
  }
295
295
 
296
296
  if (error) {
297
- searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `posts` 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, postsQuery.loc.source.body)));
297
+ var _postsQuery$loc;
298
+
299
+ searchResult = /*#__PURE__*/_react.default.createElement(ErrorWrapper, null, /*#__PURE__*/_react.default.createElement("h3", null, "Errors occurs in the `posts` 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, postsQuery === null || postsQuery === void 0 ? void 0 : (_postsQuery$loc = postsQuery.loc) === null || _postsQuery$loc === void 0 ? void 0 : _postsQuery$loc.source.body)));
298
300
  }
299
301
 
300
302
  return /*#__PURE__*/_react.default.createElement(_modals.DrawerController, {
@@ -280,7 +280,7 @@ function VideoSelector(props) {
280
280
  }
281
281
  }, [currentPage, searchText]);
282
282
 
283
- let searchResult = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(VideosGrids, {
283
+ let searchResult = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(VideosGrids, {
284
284
  videos: videos,
285
285
  selected: selectedVideos,
286
286
  onSelect: onVideosGridSelect
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@mirrormedia/lilith-draft-editor",
3
- "version": "1.3.3",
3
+ "version": "2.1.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
+ "types": "@types/index.d.ts",
6
7
  "scripts": {
7
8
  "test": "echo \"Error: no test specified\" && exit 1",
8
9
  "dev": "make dev",
@@ -22,19 +23,20 @@
22
23
  ],
23
24
  "license": "MIT",
24
25
  "dependencies": {
25
- "draft-js": "^0.11.7",
26
- "@mirrormedia/lilith-draft-renderer": "1.3.2-beta.1"
26
+ "@mirrormedia/lilith-draft-renderer": "1.3.2",
27
+ "draft-js": "^0.11.7"
27
28
  },
28
29
  "peerDependencies": {
29
- "react": "18.2.0",
30
- "react-dom": "18.2.0",
31
- "styled-components": "5.3.5",
32
- "@keystone-6/core": "5.2.0",
33
- "@keystone-ui/button": "^7.0.2",
34
- "@keystone-ui/fields": "^7.2.0",
35
- "@keystone-ui/modals": "^6.0.3"
30
+ "@keystone-6/core": "5",
31
+ "@keystone-ui/button": "5",
32
+ "@keystone-ui/fields": "5",
33
+ "@keystone-ui/modals": "6",
34
+ "react": "18",
35
+ "react-dom": "18",
36
+ "styled-components": "5"
36
37
  },
37
38
  "files": [
38
- "lib"
39
+ "lib",
40
+ "@types"
39
41
  ]
40
42
  }
@@ -1,121 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.MediaButton = MediaButton;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _modals = require("@keystone-ui/modals");
11
-
12
- var _draftJs = require("draft-js");
13
-
14
- var _fields = require("@keystone-ui/fields");
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
- const styles = {
21
- buttons: {
22
- marginBottom: 10,
23
- display: 'flex'
24
- },
25
- urlInputContainer: {
26
- marginBottom: 10
27
- },
28
- urlInput: {
29
- fontFamily: "'Georgia', serif",
30
- marginRight: 10,
31
- padding: 3
32
- },
33
- button: {
34
- marginTop: '10px',
35
- marginRight: '10px',
36
- cursor: 'pointer'
37
- }
38
- };
39
-
40
- function MediaButton(props) {
41
- const {
42
- editorState,
43
- onChange,
44
- customStyles
45
- } = props;
46
- const [toShowUrlInput, setToShowUrlInput] = (0, _react.useState)(false);
47
- const [urlValue, setUrlValue] = (0, _react.useState)('');
48
- const [urlType, setUrlType] = (0, _react.useState)('');
49
-
50
- const promptForMedia = mediaType => {
51
- setToShowUrlInput(true);
52
- setUrlValue('');
53
- setUrlType(mediaType);
54
- };
55
-
56
- const confirmMedia = () => {
57
- const contentState = editorState.getCurrentContent();
58
- const contentStateWithEntity = contentState.createEntity(urlType, 'IMMUTABLE', {
59
- src: urlValue
60
- });
61
- const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
62
-
63
- const newEditorState = _draftJs.EditorState.set(editorState, {
64
- currentContent: contentStateWithEntity
65
- }); // The third parameter here is a space string, not an empty string
66
- // If you set an empty string, you will get an error: Unknown DraftEntity key: null
67
-
68
-
69
- onChange(_draftJs.AtomicBlockUtils.insertAtomicBlock(newEditorState, entityKey, ' '));
70
- setToShowUrlInput(false);
71
- setUrlType('');
72
- };
73
-
74
- const urlInput = /*#__PURE__*/_react.default.createElement(_modals.AlertDialog, {
75
- title: `Insert ${urlType.toUpperCase()} LINK`,
76
- isOpen: toShowUrlInput,
77
- actions: {
78
- confirm: {
79
- label: 'Confirm',
80
- action: confirmMedia
81
- },
82
- cancel: {
83
- label: 'Cancel',
84
- action: () => {
85
- setToShowUrlInput(false);
86
- setUrlValue('');
87
- }
88
- }
89
- }
90
- }, /*#__PURE__*/_react.default.createElement(_fields.TextInput, {
91
- onChange: e => setUrlValue(e.target.value),
92
- style: styles.urlInput,
93
- type: "text",
94
- value: urlValue
95
- }));
96
-
97
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, urlInput, /*#__PURE__*/_react.default.createElement("div", {
98
- style: styles.buttons
99
- }, /*#__PURE__*/_react.default.createElement("div", {
100
- onClick: () => {
101
- promptForMedia('imageLink');
102
- },
103
- style: customStyles || styles.button
104
- }, /*#__PURE__*/_react.default.createElement("i", {
105
- className: "fas fa-arrow-up-right-from-square"
106
- }), /*#__PURE__*/_react.default.createElement("span", null, " Image Link")), /*#__PURE__*/_react.default.createElement("div", {
107
- onClick: () => {
108
- promptForMedia('audioLink');
109
- },
110
- style: customStyles || styles.button
111
- }, /*#__PURE__*/_react.default.createElement("i", {
112
- className: "far fa-file-audio"
113
- }), /*#__PURE__*/_react.default.createElement("span", null, " Audio Link")), /*#__PURE__*/_react.default.createElement("div", {
114
- onClick: () => {
115
- promptForMedia('videoLink');
116
- },
117
- style: customStyles || styles.button
118
- }, /*#__PURE__*/_react.default.createElement("i", {
119
- className: "far fa-file-video"
120
- }), /*#__PURE__*/_react.default.createElement("span", null, " Video Link"))));
121
- }