@kids-reporter/draft-editor 0.1.1 → 0.2.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 (38) hide show
  1. package/lib/buttons/annotation.js +1 -14
  2. package/lib/buttons/image.js +0 -3
  3. package/lib/buttons/info-box.js +1 -4
  4. package/lib/draft-editor.js +61 -363
  5. package/package.json +7 -2
  6. package/lib/block-renderer/background-image-block.js +0 -141
  7. package/lib/block-renderer/background-video-block.js +0 -151
  8. package/lib/block-renderer/color-box-block.js +0 -86
  9. package/lib/block-renderer/info-box-block.js +0 -86
  10. package/lib/block-renderer/side-index-block.js +0 -90
  11. package/lib/block-renderer/table-block.js +0 -408
  12. package/lib/block-renderer-fn.js +0 -125
  13. package/lib/buttons/audio.js +0 -65
  14. package/lib/buttons/background-color.js +0 -122
  15. package/lib/buttons/background-image.js +0 -223
  16. package/lib/buttons/background-video.js +0 -223
  17. package/lib/buttons/color-box.js +0 -173
  18. package/lib/buttons/divider.js +0 -63
  19. package/lib/buttons/font-color.js +0 -115
  20. package/lib/buttons/media.js +0 -121
  21. package/lib/buttons/related-post.js +0 -71
  22. package/lib/buttons/selector/audio-selector.js +0 -279
  23. package/lib/buttons/selector/post-selector.js +0 -317
  24. package/lib/buttons/selector/video-selector.js +0 -281
  25. package/lib/buttons/side-index.js +0 -200
  26. package/lib/buttons/table.js +0 -67
  27. package/lib/buttons/text-align.js +0 -88
  28. package/lib/buttons/video.js +0 -65
  29. package/lib/buttons/youtube.js +0 -147
  30. package/lib/const.js +0 -18
  31. package/lib/draft-converter/api-data-instance.js +0 -58
  32. package/lib/draft-converter/atomic-block-processor.js +0 -233
  33. package/lib/draft-converter/entities.js +0 -76
  34. package/lib/draft-converter/index.js +0 -201
  35. package/lib/draft-converter/inline-styles-processor.js +0 -236
  36. package/lib/entity-decorator.js +0 -20
  37. package/lib/modifier.js +0 -68
  38. package/lib/theme/index.js +0 -39
@@ -1,141 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.BGImageBlock = BGImageBlock;
7
- exports.BGImageEditorBlock = BGImageEditorBlock;
8
-
9
- var _react = _interopRequireWildcard(require("react"));
10
-
11
- var _styledComponents = _interopRequireDefault(require("styled-components"));
12
-
13
- var _draftConverter = _interopRequireDefault(require("../draft-converter"));
14
-
15
- var _backgroundImage = require("../buttons/background-image");
16
-
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
- 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); }
20
-
21
- 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; }
22
-
23
- const BGImageRenderWrapper = _styledComponents.default.div`
24
- padding: 30px;
25
- position: relative;
26
- width: 100%;
27
- height: 100%;
28
- background-image: url(${({
29
- image
30
- }) => image});
31
- background-size: cover;
32
- background-position: center center;
33
- ${({
34
- textBlockAlign
35
- }) => {
36
- if (textBlockAlign === 'left') {
37
- return `padding-right: 50%;`;
38
- } else if (textBlockAlign === 'right') {
39
- return `padding-left: 50%;`;
40
- } else if (textBlockAlign === 'bottom') {
41
- return `padding-top: 50%;`;
42
- }
43
- }}
44
- `;
45
- const BGImageRenderBody = _styledComponents.default.div`
46
- background: rgba(0, 0, 0, 0.5);
47
- padding: 4px 20px;
48
- margin-bottom: 10px;
49
- `;
50
-
51
- function BGImageBlock(props) {
52
- var _image$imageFile, _image$resized, _image$resized2;
53
-
54
- const {
55
- block,
56
- contentState
57
- } = props;
58
- const entityKey = block.getEntityAt(0);
59
- const entity = contentState.getEntity(entityKey);
60
- const {
61
- textBlockAlign,
62
- image,
63
- body
64
- } = entity.getData();
65
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BGImageRenderWrapper, {
66
- image: (image === null || image === void 0 ? void 0 : (_image$imageFile = image.imageFile) === null || _image$imageFile === void 0 ? void 0 : _image$imageFile.url) || (image === null || image === void 0 ? void 0 : (_image$resized = image.resized) === null || _image$resized === void 0 ? void 0 : _image$resized.w800) || (image === null || image === void 0 ? void 0 : (_image$resized2 = image.resized) === null || _image$resized2 === void 0 ? void 0 : _image$resized2.original),
67
- textBlockAlign: textBlockAlign
68
- }, /*#__PURE__*/_react.default.createElement(BGImageRenderBody, {
69
- dangerouslySetInnerHTML: {
70
- __html: body
71
- }
72
- })));
73
- }
74
-
75
- const BGImageRenderButton = _styledComponents.default.span`
76
- cursor: pointer;
77
- background-color: white;
78
- padding: 6px;
79
- border-radius: 6px;
80
- `;
81
-
82
- function BGImageEditorBlock(props) {
83
- const [toShowInput, setToShowInput] = (0, _react.useState)(false);
84
- const {
85
- block,
86
- blockProps,
87
- contentState
88
- } = props;
89
- const {
90
- onEditStart,
91
- onEditFinish,
92
- renderBasicEditor
93
- } = blockProps;
94
- const entityKey = block.getEntityAt(0);
95
- const entity = contentState.getEntity(entityKey);
96
- const {
97
- textBlockAlign,
98
- image,
99
- rawContentState
100
- } = entity.getData();
101
-
102
- const onChange = ({
103
- textBlockAlign: newTextBlockAlign,
104
- image: newImage,
105
- rawContentState: newRawContentState
106
- }) => {
107
- // close `BGImageInput`
108
- setToShowInput(false);
109
- onEditFinish({
110
- entityKey,
111
- entityData: {
112
- textBlockAlign: newTextBlockAlign,
113
- image: newImage,
114
- body: _draftConverter.default.convertToHtml(newRawContentState),
115
- rawContentState: newRawContentState
116
- }
117
- });
118
- };
119
-
120
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_backgroundImage.BGImageInput, {
121
- renderBasicEditor: renderBasicEditor,
122
- textBlockAlign: textBlockAlign,
123
- image: image,
124
- rawContentStateForBGImageEditor: rawContentState,
125
- onChange: onChange,
126
- onCancel: () => {
127
- onEditFinish({});
128
- setToShowInput(false);
129
- },
130
- isOpen: toShowInput
131
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGImageBlock, props), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGImageRenderButton, {
132
- onClick: () => {
133
- // call `onEditStart` prop as we are trying to update the BGImage entity
134
- onEditStart(); // open `BGImageInput`
135
-
136
- setToShowInput(true);
137
- }
138
- }, /*#__PURE__*/_react.default.createElement("i", {
139
- className: "fa-solid fa-pen"
140
- }), /*#__PURE__*/_react.default.createElement("span", null, "Modify")))));
141
- }
@@ -1,151 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.BGVideoBlock = BGVideoBlock;
7
- exports.BGVideoEditorBlock = BGVideoEditorBlock;
8
-
9
- var _react = _interopRequireWildcard(require("react"));
10
-
11
- var _styledComponents = _interopRequireDefault(require("styled-components"));
12
-
13
- var _draftConverter = _interopRequireDefault(require("../draft-converter"));
14
-
15
- var _backgroundVideo = require("../buttons/background-video");
16
-
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
- 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); }
20
-
21
- 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; }
22
-
23
- const BGVideoRenderWrapper = _styledComponents.default.div`
24
- position: relative;
25
- padding: 30px;
26
- width: 100%;
27
- ${({
28
- textBlockAlign
29
- }) => {
30
- if (textBlockAlign === 'left') {
31
- return `padding-right: 50%;`;
32
- } else if (textBlockAlign === 'right') {
33
- return `padding-left: 50%;`;
34
- } else if (textBlockAlign === 'bottom') {
35
- return `padding-top: 50%;`;
36
- }
37
- }}
38
- `;
39
- const BGVideoRednerVideo = _styledComponents.default.video`
40
- position: absolute;
41
- width: 100%;
42
- height: 100%;
43
- top: 0;
44
- left: 0;
45
- z-index: -1;
46
- background-color: black;
47
- `;
48
- const BGVideoRenderBody = _styledComponents.default.div`
49
- background: rgba(0, 0, 0, 0.5);
50
- padding: 4px 20px;
51
- margin-bottom: 10px;
52
- `;
53
-
54
- function BGVideoBlock(props) {
55
- var _video$file;
56
-
57
- const {
58
- block,
59
- contentState
60
- } = props;
61
- const entityKey = block.getEntityAt(0);
62
- const entity = contentState.getEntity(entityKey);
63
- const {
64
- textBlockAlign,
65
- video,
66
- body
67
- } = entity.getData();
68
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BGVideoRenderWrapper, {
69
- textBlockAlign: textBlockAlign
70
- }, /*#__PURE__*/_react.default.createElement(BGVideoRednerVideo, {
71
- muted: true,
72
- autoPlay: true,
73
- loop: true
74
- }, /*#__PURE__*/_react.default.createElement("source", {
75
- src: video === null || video === void 0 ? void 0 : video.url
76
- }), /*#__PURE__*/_react.default.createElement("source", {
77
- src: video === null || video === void 0 ? void 0 : (_video$file = video.file) === null || _video$file === void 0 ? void 0 : _video$file.url
78
- })), /*#__PURE__*/_react.default.createElement(BGVideoRenderBody, {
79
- dangerouslySetInnerHTML: {
80
- __html: body
81
- }
82
- })));
83
- }
84
-
85
- const BGVideoRenderButton = _styledComponents.default.span`
86
- cursor: pointer;
87
- background-color: white;
88
- padding: 6px;
89
- border-radius: 6px;
90
- `;
91
-
92
- function BGVideoEditorBlock(props) {
93
- const [toShowInput, setToShowInput] = (0, _react.useState)(false);
94
- const {
95
- block,
96
- blockProps,
97
- contentState
98
- } = props;
99
- const {
100
- onEditStart,
101
- onEditFinish,
102
- renderBasicEditor
103
- } = blockProps;
104
- const entityKey = block.getEntityAt(0);
105
- const entity = contentState.getEntity(entityKey);
106
- const {
107
- textBlockAlign,
108
- video,
109
- rawContentState
110
- } = entity.getData();
111
-
112
- const onChange = ({
113
- textBlockAlign: newTextBlockAlign,
114
- video: newVideo,
115
- rawContentState: newRawContentState
116
- }) => {
117
- // close `BGVideoInput`
118
- setToShowInput(false);
119
- onEditFinish({
120
- entityKey,
121
- entityData: {
122
- textBlockAlign: newTextBlockAlign,
123
- video: newVideo,
124
- body: _draftConverter.default.convertToHtml(newRawContentState),
125
- rawContentState: newRawContentState
126
- }
127
- });
128
- };
129
-
130
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_backgroundVideo.BGVideoInput, {
131
- renderBasicEditor: renderBasicEditor,
132
- textBlockAlign: textBlockAlign,
133
- video: video,
134
- rawContentStateForBGVideoEditor: rawContentState,
135
- onChange: onChange,
136
- onCancel: () => {
137
- onEditFinish({});
138
- setToShowInput(false);
139
- },
140
- isOpen: toShowInput
141
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGVideoBlock, props), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(BGVideoRenderButton, {
142
- onClick: () => {
143
- // call `onEditStart` prop as we are trying to update the BGVideo entity
144
- onEditStart(); // open `BGVideoInput`
145
-
146
- setToShowInput(true);
147
- }
148
- }, /*#__PURE__*/_react.default.createElement("i", {
149
- className: "fa-solid fa-pen"
150
- }), /*#__PURE__*/_react.default.createElement("span", null, "Modify")))));
151
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ColorBoxEditorBlock = ColorBoxEditorBlock;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
- var _draftConverter = _interopRequireDefault(require("../draft-converter"));
13
-
14
- var _colorBox = require("../buttons/color-box");
15
-
16
- var _draftRenderer = _interopRequireDefault(require("@kids-reporter/draft-renderer"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- const {
25
- ColorBoxBlock
26
- } = _draftRenderer.default.blockRenderers;
27
- const ColorBoxRenderButton = _styledComponents.default.div`
28
- cursor: pointer;
29
- `;
30
-
31
- function ColorBoxEditorBlock(props) {
32
- const [toShowInput, setToShowInput] = (0, _react.useState)(false);
33
- const {
34
- block,
35
- blockProps,
36
- contentState
37
- } = props;
38
- const {
39
- onEditStart,
40
- onEditFinish,
41
- renderBasicEditor
42
- } = blockProps;
43
- const entityKey = block.getEntityAt(0);
44
- const entity = contentState.getEntity(entityKey);
45
- const {
46
- color,
47
- rawContentState
48
- } = entity.getData();
49
-
50
- const onChange = ({
51
- color: newColor,
52
- rawContentState: newRawContentState
53
- }) => {
54
- // close `ColorBoxInput`
55
- setToShowInput(false);
56
- onEditFinish({
57
- entityKey,
58
- entityData: {
59
- color: newColor,
60
- body: _draftConverter.default.convertToHtml(newRawContentState),
61
- rawContentState: newRawContentState
62
- }
63
- });
64
- };
65
-
66
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_colorBox.ColorBoxInput, {
67
- renderBasicEditor: renderBasicEditor,
68
- color: color,
69
- rawContentStateForColorBoxEditor: rawContentState,
70
- onChange: onChange,
71
- onCancel: () => {
72
- onEditFinish({});
73
- setToShowInput(false);
74
- },
75
- isOpen: toShowInput
76
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(ColorBoxBlock, props), /*#__PURE__*/_react.default.createElement(ColorBoxRenderButton, {
77
- onClick: () => {
78
- // call `onEditStart` prop as we are trying to update the ColorBox entity
79
- onEditStart(); // open `ColorBoxInput`
80
-
81
- setToShowInput(true);
82
- }
83
- }, /*#__PURE__*/_react.default.createElement("i", {
84
- className: "fa-solid fa-pen"
85
- }), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
86
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InfoBoxEditorBlock = InfoBoxEditorBlock;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
- var _draftConverter = _interopRequireDefault(require("../draft-converter"));
13
-
14
- var _infoBox = require("../buttons/info-box");
15
-
16
- var _draftRenderer = _interopRequireDefault(require("@kids-reporter/draft-renderer"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- const {
25
- InfoBoxBlock
26
- } = _draftRenderer.default.blockRenderers;
27
- const InfoBoxRenderButton = _styledComponents.default.div`
28
- cursor: pointer;
29
- `;
30
-
31
- function InfoBoxEditorBlock(props) {
32
- const [toShowInput, setToShowInput] = (0, _react.useState)(false);
33
- const {
34
- block,
35
- blockProps,
36
- contentState
37
- } = props;
38
- const {
39
- onEditStart,
40
- onEditFinish,
41
- renderBasicEditor
42
- } = blockProps;
43
- const entityKey = block.getEntityAt(0);
44
- const entity = contentState.getEntity(entityKey);
45
- const {
46
- title,
47
- rawContentState
48
- } = entity.getData();
49
-
50
- const onChange = ({
51
- title: newTitle,
52
- rawContentState: newRawContentState
53
- }) => {
54
- // close `InfoBoxInput`
55
- setToShowInput(false);
56
- onEditFinish({
57
- entityKey,
58
- entityData: {
59
- title: newTitle,
60
- body: _draftConverter.default.convertToHtml(newRawContentState),
61
- rawContentState: newRawContentState
62
- }
63
- });
64
- };
65
-
66
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_infoBox.InfoBoxInput, {
67
- renderBasicEditor: renderBasicEditor,
68
- title: title,
69
- rawContentStateForInfoBoxEditor: rawContentState,
70
- onChange: onChange,
71
- onCancel: () => {
72
- onEditFinish({});
73
- setToShowInput(false);
74
- },
75
- isOpen: toShowInput
76
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(InfoBoxBlock, props), /*#__PURE__*/_react.default.createElement(InfoBoxRenderButton, {
77
- onClick: () => {
78
- // call `onEditStart` prop as we are trying to update the InfoBox entity
79
- onEditStart(); // open `InfoBoxInput`
80
-
81
- setToShowInput(true);
82
- }
83
- }, /*#__PURE__*/_react.default.createElement("i", {
84
- className: "fa-solid fa-pen"
85
- }), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
86
- }
@@ -1,90 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SideIndexEditorBlock = SideIndexEditorBlock;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
- var _sideIndex = require("../buttons/side-index");
13
-
14
- var _draftRenderer = _interopRequireDefault(require("@kids-reporter/draft-renderer"));
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- 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
- 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
- const {
23
- SideIndexBlock
24
- } = _draftRenderer.default.blockRenderers;
25
- const SideIndexBlockButton = _styledComponents.default.div`
26
- cursor: pointer;
27
- margin-left: 20px;
28
- `;
29
-
30
- function SideIndexEditorBlock(props) {
31
- const [toShowInput, setToShowInput] = (0, _react.useState)(false);
32
- const {
33
- block,
34
- blockProps,
35
- contentState
36
- } = props;
37
- const {
38
- onEditStart,
39
- onEditFinish
40
- } = blockProps;
41
- const entityKey = block.getEntityAt(0);
42
- const entity = contentState.getEntity(entityKey);
43
- const {
44
- h2Text,
45
- sideIndexText,
46
- sideIndexUrl,
47
- sideIndexImage
48
- } = entity.getData();
49
-
50
- const onChange = ({
51
- h2Text,
52
- sideIndexText,
53
- sideIndexUrl,
54
- sideIndexImage
55
- }) => {
56
- // close `SideIndexInput`
57
- setToShowInput(false);
58
- onEditFinish({
59
- entityKey,
60
- entityData: {
61
- h2Text,
62
- sideIndexText,
63
- sideIndexUrl,
64
- sideIndexImage
65
- }
66
- });
67
- };
68
-
69
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_sideIndex.SideIndexInput, {
70
- h2Text: h2Text,
71
- sideIndexText: sideIndexText,
72
- sideIndexUrl: sideIndexUrl,
73
- sideIndexImage: sideIndexImage,
74
- onChange: onChange,
75
- onCancel: () => {
76
- onEditFinish({});
77
- setToShowInput(false);
78
- },
79
- isOpen: toShowInput
80
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(SideIndexBlock, props), /*#__PURE__*/_react.default.createElement(SideIndexBlockButton, {
81
- onClick: () => {
82
- // call `onEditStart` prop as we are trying to update the SideIndex entity
83
- onEditStart(); // open `SideIndexInput`
84
-
85
- setToShowInput(true);
86
- }
87
- }, /*#__PURE__*/_react.default.createElement("i", {
88
- className: "fa-solid fa-pen"
89
- }), /*#__PURE__*/_react.default.createElement("span", null, "Modify"))));
90
- }