@kids-reporter/draft-editor 0.4.12 → 0.4.13

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.
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.atomicBlockRenderer = atomicBlockRenderer;
7
7
  var _blockquote = require("./block-renderers/blockquote");
8
8
  var _infoBox = require("./block-renderers/info-box");
9
+ var _image = require("./block-renderers/image");
10
+ var _slideshow = require("./block-renderers/slideshow");
9
11
  var _draftRenderer = require("@kids-reporter/draft-renderer");
10
12
  const {
11
13
  EmbeddedCodeInArticleBody,
12
- ImageInArticleBody,
13
- SlideshowInArticleBody,
14
14
  NewsReading
15
15
  } = _draftRenderer.blockRenderers;
16
16
  const AtomicBlock = props => {
@@ -24,15 +24,11 @@ const AtomicBlock = props => {
24
24
  }
25
25
  case 'IMAGE':
26
26
  {
27
- return ImageInArticleBody({
28
- data: entityData
29
- });
27
+ return (0, _image.EditableImage)(props);
30
28
  }
31
29
  case 'SLIDESHOW':
32
30
  {
33
- return SlideshowInArticleBody({
34
- data: entityData
35
- });
31
+ return (0, _slideshow.EditableSlideshow)(props);
36
32
  }
37
33
  case 'EMBEDDEDCODE':
38
34
  {
@@ -7,6 +7,7 @@ exports.EditableBlockquote = EditableBlockquote;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
  var _blockquote = require("../buttons/blockquote");
10
+ var _styled = require("./styled");
10
11
  var _draftRenderer = require("@kids-reporter/draft-renderer");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -15,28 +16,12 @@ const {
15
16
  BlockquoteInArticleBody
16
17
  } = _draftRenderer.blockRenderers;
17
18
  const StyledBlockquote = (0, _styledComponents.default)(BlockquoteInArticleBody)``;
18
- const EditButton = _styledComponents.default.div`
19
- cursor: pointer;
20
- display: none;
21
- position: absolute;
22
- top: 50%;
23
- left: 50%;
24
- transform: translate(-50%, -50%);
25
- `;
26
- const EditableBlock = _styledComponents.default.div`
27
- position: relative;
28
-
19
+ const EditableBlock = (0, _styledComponents.default)(_styled.EditableBlock)`
29
20
  &:hover {
30
21
  ${StyledBlockquote} {
31
22
  background-color: #f0f0f0;
32
23
  opacity: 0.3;
33
24
  }
34
-
35
- ${EditButton} {
36
- opacity: 1;
37
- display: block;
38
- }
39
- }
40
25
  `;
41
26
  function EditableBlockquote(props) {
42
27
  const [isInputOpen, setIsInputOpen] = (0, _react.useState)(false);
@@ -70,7 +55,7 @@ function EditableBlockquote(props) {
70
55
  inputValue: data
71
56
  }), /*#__PURE__*/_react.default.createElement(EditableBlock, null, /*#__PURE__*/_react.default.createElement(StyledBlockquote, {
72
57
  data: data
73
- }), /*#__PURE__*/_react.default.createElement(EditButton, {
58
+ }), /*#__PURE__*/_react.default.createElement(_styled.EditButton, {
74
59
  onClick: () => {
75
60
  // call `onEditStart` prop as we are trying to update the blockquote entity
76
61
  onEditStart();
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EditableImage = EditableImage;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _imageSelector = require("../buttons/selector/image-selector");
10
+ var _styled = require("./styled");
11
+ var _draftRenderer = require("@kids-reporter/draft-renderer");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ const {
16
+ ImageInArticleBody
17
+ } = _draftRenderer.blockRenderers;
18
+ const StyledImage = (0, _styledComponents.default)(ImageInArticleBody)``;
19
+ const EditableBlock = (0, _styledComponents.default)(_styled.EditableBlock)`
20
+ &:hover {
21
+ ${StyledImage} {
22
+ background-color: #f0f0f0;
23
+ opacity: 0.3;
24
+ }
25
+ `;
26
+ function EditableImage(props) {
27
+ const [isSelectorOpen, setIsSelectorOpen] = (0, _react.useState)(false);
28
+ const {
29
+ block,
30
+ blockProps,
31
+ contentState
32
+ } = props;
33
+ const {
34
+ onEditStart,
35
+ onEditFinish
36
+ } = blockProps;
37
+ const entityKey = block.getEntityAt(0);
38
+ const entity = contentState.getEntity(entityKey);
39
+ const data = entity.getData() || {};
40
+ const {
41
+ alignment: _alignment,
42
+ ...imageWithMeta
43
+ } = data; // eslint-disable-line
44
+
45
+ const onChange = (selectedImages, alignment) => {
46
+ // close `ImageSelector`
47
+ setIsSelectorOpen(false);
48
+ if ((selectedImages === null || selectedImages === void 0 ? void 0 : selectedImages.length) === 0) {
49
+ onEditFinish();
50
+ return;
51
+ }
52
+ const selectedImage = selectedImages === null || selectedImages === void 0 ? void 0 : selectedImages[0];
53
+ onEditFinish({
54
+ entityKey,
55
+ entityData: Object.assign({
56
+ alignment: alignment
57
+ }, selectedImage)
58
+ });
59
+ };
60
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSelectorOpen && /*#__PURE__*/_react.default.createElement(_imageSelector.ImageSelector, {
61
+ onChange: onChange,
62
+ enableCaption: true,
63
+ enableUrl: false,
64
+ enableAlignment: true,
65
+ alignment: data.alignment,
66
+ selected: [imageWithMeta]
67
+ }), /*#__PURE__*/_react.default.createElement(EditableBlock, null, /*#__PURE__*/_react.default.createElement(StyledImage, {
68
+ data: data
69
+ }), /*#__PURE__*/_react.default.createElement(_styled.EditButton, {
70
+ onClick: () => {
71
+ // call `onEditStart` prop as we are trying to update the blockquote entity
72
+ onEditStart();
73
+ // open `BlockquoteInput`
74
+ setIsSelectorOpen(true);
75
+ }
76
+ }, /*#__PURE__*/_react.default.createElement("i", {
77
+ className: "fa-solid fa-pen"
78
+ }), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
79
+ }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.EditableInfoBox = EditableInfoBox;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _styled = require("./styled");
9
10
  var _infoBox = require("../buttons/info-box");
10
11
  var _draftRenderer = require("@kids-reporter/draft-renderer");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -15,28 +16,12 @@ const {
15
16
  InfoBoxInArticleBody
16
17
  } = _draftRenderer.blockRenderers;
17
18
  const StyledInfoBox = (0, _styledComponents.default)(InfoBoxInArticleBody)``;
18
- const EditButton = _styledComponents.default.div`
19
- cursor: pointer;
20
- display: none;
21
- position: absolute;
22
- top: 50%;
23
- left: 50%;
24
- transform: translate(-50%, -50%);
25
- `;
26
- const EditableBlock = _styledComponents.default.div`
27
- position: relative;
28
-
19
+ const EditableBlock = (0, _styledComponents.default)(_styled.EditableBlock)`
29
20
  &:hover {
30
21
  ${StyledInfoBox} {
31
22
  background-color: #f0f0f0;
32
23
  opacity: 0.3;
33
24
  }
34
-
35
- ${EditButton} {
36
- opacity: 1;
37
- display: block;
38
- }
39
- }
40
25
  `;
41
26
  function EditableInfoBox(props) {
42
27
  const [isInputOpen, setIsInputOpen] = (0, _react.useState)(false);
@@ -74,7 +59,7 @@ function EditableInfoBox(props) {
74
59
  decorator: decorator
75
60
  }), /*#__PURE__*/_react.default.createElement(EditableBlock, null, /*#__PURE__*/_react.default.createElement(StyledInfoBox, {
76
61
  data: data
77
- }), /*#__PURE__*/_react.default.createElement(EditButton, {
62
+ }), /*#__PURE__*/_react.default.createElement(_styled.EditButton, {
78
63
  onClick: () => {
79
64
  // call `onEditStart` prop as we are trying to update the blockquote entity
80
65
  onEditStart();
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EditableSlideshow = EditableSlideshow;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _imageSelector = require("../buttons/selector/image-selector");
10
+ var _styled = require("./styled");
11
+ var _draftRenderer = require("@kids-reporter/draft-renderer");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ const {
16
+ SlideshowInArticleBody
17
+ } = _draftRenderer.blockRenderers;
18
+ const StyledSlideshow = (0, _styledComponents.default)(SlideshowInArticleBody)``;
19
+ const EditableBlock = (0, _styledComponents.default)(_styled.EditableBlock)`
20
+ &:hover {
21
+ ${StyledSlideshow} {
22
+ background-color: #f0f0f0;
23
+ opacity: 0.3;
24
+ }
25
+ `;
26
+ function EditableSlideshow(props) {
27
+ const [isSelectorOpen, setIsSelectorOpen] = (0, _react.useState)(false);
28
+ const {
29
+ block,
30
+ blockProps,
31
+ contentState
32
+ } = props;
33
+ const {
34
+ onEditStart,
35
+ onEditFinish
36
+ } = blockProps;
37
+ const entityKey = block.getEntityAt(0);
38
+ const entity = contentState.getEntity(entityKey);
39
+ const data = entity.getData() || {};
40
+ const onChange = (selectedImages, alignment) => {
41
+ // close `ImageSelector`
42
+ setIsSelectorOpen(false);
43
+ if ((selectedImages === null || selectedImages === void 0 ? void 0 : selectedImages.length) === 0) {
44
+ onEditFinish();
45
+ return;
46
+ }
47
+ onEditFinish({
48
+ entityKey,
49
+ entityData: {
50
+ alignment: alignment,
51
+ images: selectedImages
52
+ }
53
+ });
54
+ };
55
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isSelectorOpen && /*#__PURE__*/_react.default.createElement(_imageSelector.ImageSelector, {
56
+ onChange: onChange,
57
+ enableCaption: true,
58
+ enableUrl: false,
59
+ enableAlignment: false,
60
+ enableMultiSelect: true,
61
+ alignment: data.alignment,
62
+ selected: data.images
63
+ }), /*#__PURE__*/_react.default.createElement(EditableBlock, null, /*#__PURE__*/_react.default.createElement(StyledSlideshow, {
64
+ data: data
65
+ }), /*#__PURE__*/_react.default.createElement(_styled.EditButton, {
66
+ onClick: () => {
67
+ // call `onEditStart` prop as we are trying to update the blockquote entity
68
+ onEditStart();
69
+ // open `BlockquoteInput`
70
+ setIsSelectorOpen(true);
71
+ }
72
+ }, /*#__PURE__*/_react.default.createElement("i", {
73
+ className: "fa-solid fa-pen"
74
+ }), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
75
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EditableBlock = exports.EditButton = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const EditButton = _styledComponents.default.div`
10
+ cursor: pointer;
11
+ display: none;
12
+ position: absolute;
13
+ top: 50%;
14
+ left: 50%;
15
+ transform: translate(-50%, -50%);
16
+ `;
17
+ exports.EditButton = EditButton;
18
+ const EditableBlock = _styledComponents.default.div`
19
+ position: relative;
20
+
21
+ &:hover {
22
+ ${EditButton} {
23
+ opacity: 1;
24
+ display: block;
25
+ }
26
+ }
27
+ `;
28
+ exports.EditableBlock = EditableBlock;
@@ -11,7 +11,7 @@ var _modals = require("@keystone-ui/modals");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
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); }
13
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; }
14
- const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.image, _btNames.default.infoBox, _btNames.default.slideshow];
14
+ const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.image, _btNames.default.infoBox, _btNames.default.slideshow, _btNames.default.newsReading];
15
15
  function createAnnotationButton({
16
16
  InnerEditor,
17
17
  decorator
@@ -20,18 +20,16 @@ function ImageButton(props) {
20
20
  const promptForImageSelector = () => {
21
21
  setToShowImageSelector(true);
22
22
  };
23
- const onImageSelectorChange = (selectedImagesWithMeta, align) => {
24
- const selected = selectedImagesWithMeta === null || selectedImagesWithMeta === void 0 ? void 0 : selectedImagesWithMeta[0];
23
+ const onImageSelectorChange = (selectedImages, alignment) => {
24
+ const selected = selectedImages === null || selectedImages === void 0 ? void 0 : selectedImages[0];
25
25
  if (!selected) {
26
26
  setToShowImageSelector(false);
27
27
  return;
28
28
  }
29
29
  const contentState = editorState.getCurrentContent();
30
- const contentStateWithEntity = contentState.createEntity('IMAGE', 'IMMUTABLE', {
31
- ...(selected === null || selected === void 0 ? void 0 : selected.image),
32
- desc: selected === null || selected === void 0 ? void 0 : selected.desc,
33
- alignment: align
34
- });
30
+ const contentStateWithEntity = contentState.createEntity('IMAGE', 'IMMUTABLE', Object.assign({
31
+ alignment
32
+ }, selected));
35
33
  const entityKey = contentStateWithEntity.getLastCreatedEntityKey();
36
34
  const newEditorState = _draftJs.EditorState.set(editorState, {
37
35
  currentContent: contentStateWithEntity
@@ -13,7 +13,7 @@ var _select = require("./form/select");
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  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
15
  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; }
16
- const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.infoBox, _btNames.default.slideshow];
16
+ const disabledButtons = [_btNames.default.h2, _btNames.default.h3, _btNames.default.code, _btNames.default.codeBlock, _btNames.default.blockquote, _btNames.default.annotation, _btNames.default.embed, _btNames.default.infoBox, _btNames.default.slideshow, _btNames.default.newsReading];
17
17
  var InfoBoxTypeEnum = /*#__PURE__*/function (InfoBoxTypeEnum) {
18
18
  InfoBoxTypeEnum["newsChargeStation"] = "news-charge-station";
19
19
  InfoBoxTypeEnum["headerBorder"] = "header-border";