@kids-reporter/draft-editor 0.1.0 → 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 (40) 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/buttons/selector/image-selector.js +3 -1
  5. package/lib/buttons/slideshow.js +2 -3
  6. package/lib/draft-editor.js +61 -363
  7. package/package.json +12 -7
  8. package/lib/block-renderer/background-image-block.js +0 -141
  9. package/lib/block-renderer/background-video-block.js +0 -151
  10. package/lib/block-renderer/color-box-block.js +0 -86
  11. package/lib/block-renderer/info-box-block.js +0 -86
  12. package/lib/block-renderer/side-index-block.js +0 -90
  13. package/lib/block-renderer/table-block.js +0 -408
  14. package/lib/block-renderer-fn.js +0 -131
  15. package/lib/buttons/audio.js +0 -65
  16. package/lib/buttons/background-color.js +0 -122
  17. package/lib/buttons/background-image.js +0 -223
  18. package/lib/buttons/background-video.js +0 -223
  19. package/lib/buttons/color-box.js +0 -173
  20. package/lib/buttons/divider.js +0 -63
  21. package/lib/buttons/font-color.js +0 -115
  22. package/lib/buttons/media.js +0 -121
  23. package/lib/buttons/related-post.js +0 -71
  24. package/lib/buttons/selector/audio-selector.js +0 -279
  25. package/lib/buttons/selector/post-selector.js +0 -317
  26. package/lib/buttons/selector/video-selector.js +0 -281
  27. package/lib/buttons/side-index.js +0 -200
  28. package/lib/buttons/table.js +0 -67
  29. package/lib/buttons/text-align.js +0 -88
  30. package/lib/buttons/video.js +0 -65
  31. package/lib/buttons/youtube.js +0 -147
  32. package/lib/const.js +0 -18
  33. package/lib/draft-converter/api-data-instance.js +0 -58
  34. package/lib/draft-converter/atomic-block-processor.js +0 -233
  35. package/lib/draft-converter/entities.js +0 -76
  36. package/lib/draft-converter/index.js +0 -201
  37. package/lib/draft-converter/inline-styles-processor.js +0 -236
  38. package/lib/entity-decorator.js +0 -20
  39. package/lib/modifier.js +0 -68
  40. 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
- }