@kids-reporter/draft-renderer 0.4.3 → 0.4.5
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.
- package/lib/block-render-map.js +37 -5
- package/lib/block-renderers/blockquote.js +7 -7
- package/lib/block-renderers/image-block.js +55 -10
- package/lib/block-renderers/info-box-block.js +9 -9
- package/lib/draft-renderer.js +23 -0
- package/lib/entity-decorators/annotation-decorator.js +2 -2
- package/lib/index.js +14 -0
- package/package.json +2 -2
package/lib/block-render-map.js
CHANGED
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.blockRenderMapForInfoBoxWithHeaderBorder = exports.blockRenderMapForInfoBox = exports.blockRenderMapForAnnotation = exports.blockRenderMap = void 0;
|
|
6
|
+
exports.blockRenderMapForIntroduction = exports.blockRenderMapForInfoBoxWithHeaderBorder = exports.blockRenderMapForInfoBox = exports.blockRenderMapForAnnotation = exports.blockRenderMap = void 0;
|
|
7
7
|
var _immutable = _interopRequireDefault(require("immutable"));
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
10
10
|
var _draftJs = require("draft-js");
|
|
11
|
+
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
11
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); }
|
|
12
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; }
|
|
13
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
// @ts-ignore pkg does not contain ts header file
|
|
16
|
+
|
|
14
17
|
const ParagraphBlock = _styledComponents.default.div`
|
|
15
18
|
width: 100%;
|
|
16
19
|
max-width: 700px;
|
|
@@ -21,8 +24,10 @@ const ParagraphBlock = _styledComponents.default.div`
|
|
|
21
24
|
letter-spacing: 0.9px;
|
|
22
25
|
line-height: 2;
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
${_mediaQuery.default.mobileOnly`
|
|
28
|
+
padding-left: 15px;
|
|
29
|
+
padding-right: 15px;
|
|
30
|
+
`}
|
|
26
31
|
`;
|
|
27
32
|
function Paragraph({
|
|
28
33
|
className,
|
|
@@ -39,8 +44,6 @@ const HeadingBlock = _styledComponents.default.div`
|
|
|
39
44
|
width: 100%;
|
|
40
45
|
max-width: 700px;
|
|
41
46
|
margin: 45px auto 20px auto;
|
|
42
|
-
padding-left: 15px;
|
|
43
|
-
padding-right: 15px;
|
|
44
47
|
|
|
45
48
|
h2,
|
|
46
49
|
h3,
|
|
@@ -64,6 +67,11 @@ const HeadingBlock = _styledComponents.default.div`
|
|
|
64
67
|
h5 {
|
|
65
68
|
font-size: 20px;
|
|
66
69
|
}
|
|
70
|
+
|
|
71
|
+
${_mediaQuery.default.mobileOnly`
|
|
72
|
+
padding-left: 15px;
|
|
73
|
+
padding-right: 15px;
|
|
74
|
+
`}
|
|
67
75
|
`;
|
|
68
76
|
function Heading({
|
|
69
77
|
className,
|
|
@@ -138,6 +146,30 @@ const _blockRenderMap = _immutable.default.Map({
|
|
|
138
146
|
});
|
|
139
147
|
const blockRenderMap = _draftJs.DefaultDraftBlockRenderMap.merge(_blockRenderMap);
|
|
140
148
|
exports.blockRenderMap = blockRenderMap;
|
|
149
|
+
const ParagraphForIntroduction = (0, _styledComponents.default)(Paragraph)`
|
|
150
|
+
color: #575757;
|
|
151
|
+
`;
|
|
152
|
+
const OrderdedListForIntroduction = (0, _styledComponents.default)(OrderdedList)`
|
|
153
|
+
color: #575757;
|
|
154
|
+
`;
|
|
155
|
+
const UnorderdedListForIntroduction = (0, _styledComponents.default)(UnorderdedList)`
|
|
156
|
+
color: #575757;
|
|
157
|
+
`;
|
|
158
|
+
const blockRenderMapForIntroduction = _draftJs.DefaultDraftBlockRenderMap.merge(_immutable.default.Map({
|
|
159
|
+
'ordered-list-item': {
|
|
160
|
+
element: 'li',
|
|
161
|
+
wrapper: /*#__PURE__*/_react.default.createElement(OrderdedListForIntroduction, null)
|
|
162
|
+
},
|
|
163
|
+
'unordered-list-item': {
|
|
164
|
+
element: 'li',
|
|
165
|
+
wrapper: /*#__PURE__*/_react.default.createElement(UnorderdedListForIntroduction, null)
|
|
166
|
+
},
|
|
167
|
+
unstyled: {
|
|
168
|
+
element: 'div',
|
|
169
|
+
wrapper: /*#__PURE__*/_react.default.createElement(ParagraphForIntroduction, null)
|
|
170
|
+
}
|
|
171
|
+
}));
|
|
172
|
+
exports.blockRenderMapForIntroduction = blockRenderMapForIntroduction;
|
|
141
173
|
const HeadingForAnnotation = (0, _styledComponents.default)(Heading)`
|
|
142
174
|
margin: 0 auto 27px auto;
|
|
143
175
|
`;
|
|
@@ -75,15 +75,15 @@ const ArticleBodyContainer = _styledComponents.default.div`
|
|
|
75
75
|
margin-right: auto;
|
|
76
76
|
`}
|
|
77
77
|
`;
|
|
78
|
-
var
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return
|
|
82
|
-
}(
|
|
78
|
+
var BlockquoteTypeEnum = /*#__PURE__*/function (BlockquoteTypeEnum) {
|
|
79
|
+
BlockquoteTypeEnum["borderLeft"] = "border_left";
|
|
80
|
+
BlockquoteTypeEnum["quoteLeft"] = "quote_left";
|
|
81
|
+
return BlockquoteTypeEnum;
|
|
82
|
+
}(BlockquoteTypeEnum || {});
|
|
83
83
|
function BlockquoteInArticleBody({
|
|
84
84
|
className = '',
|
|
85
85
|
data = {
|
|
86
|
-
type:
|
|
86
|
+
type: BlockquoteTypeEnum.borderLeft,
|
|
87
87
|
text: ''
|
|
88
88
|
}
|
|
89
89
|
}) {
|
|
@@ -91,7 +91,7 @@ function BlockquoteInArticleBody({
|
|
|
91
91
|
type,
|
|
92
92
|
text
|
|
93
93
|
} = data;
|
|
94
|
-
const BlockQuote = type ===
|
|
94
|
+
const BlockQuote = type === BlockquoteTypeEnum.quoteLeft ? QuoteLeftBlockquote : BorderLeftBlockquote;
|
|
95
95
|
return /*#__PURE__*/_react.default.createElement(ArticleBodyContainer, {
|
|
96
96
|
className: className
|
|
97
97
|
}, /*#__PURE__*/_react.default.createElement(BlockQuote, {
|
|
@@ -50,7 +50,7 @@ function ImageBlock({
|
|
|
50
50
|
src: imageFile === null || imageFile === void 0 ? void 0 : imageFile.url,
|
|
51
51
|
srcSet: imgSrcSetArr.join(','),
|
|
52
52
|
sizes: "(min-width: 1200px) 1000px, 100vw"
|
|
53
|
-
}), /*#__PURE__*/_react.default.createElement(FigureCaption, null, desc));
|
|
53
|
+
}), desc && /*#__PURE__*/_react.default.createElement(FigureCaption, null, desc));
|
|
54
54
|
return imgBlock;
|
|
55
55
|
}
|
|
56
56
|
const ArticleBodyContainer = _styledComponents.default.div`
|
|
@@ -59,6 +59,12 @@ const ArticleBodyContainer = _styledComponents.default.div`
|
|
|
59
59
|
margin: 0;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
&::after {
|
|
63
|
+
content: '';
|
|
64
|
+
display: table;
|
|
65
|
+
clear: both;
|
|
66
|
+
}
|
|
67
|
+
|
|
62
68
|
max-width: 100%;
|
|
63
69
|
margin: 0 auto 27px auto;
|
|
64
70
|
|
|
@@ -72,20 +78,34 @@ const ArticleBodyContainer = _styledComponents.default.div`
|
|
|
72
78
|
|
|
73
79
|
${props => {
|
|
74
80
|
switch (props.$alignment) {
|
|
81
|
+
case 'paragraph-width':
|
|
82
|
+
return `
|
|
83
|
+
${_index.theme.breakpoint.xl} {
|
|
84
|
+
figure {
|
|
85
|
+
width: 700px;
|
|
86
|
+
margin-left: auto;
|
|
87
|
+
margin-right: auto;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
`;
|
|
75
91
|
case 'right':
|
|
76
92
|
return `
|
|
77
93
|
${_index.theme.breakpoint.xl} {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
94
|
+
figure {
|
|
95
|
+
width: 361px;
|
|
96
|
+
float: right;
|
|
97
|
+
margin: 5px 0px 5px 27px;
|
|
98
|
+
}
|
|
81
99
|
}
|
|
82
100
|
`;
|
|
83
101
|
case 'left':
|
|
84
102
|
return `
|
|
85
103
|
${_index.theme.breakpoint.xl} {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
104
|
+
figure {
|
|
105
|
+
width: 361px;
|
|
106
|
+
float: left;
|
|
107
|
+
margin: 5px 27px 5px 0px;
|
|
108
|
+
}
|
|
89
109
|
}
|
|
90
110
|
`;
|
|
91
111
|
}
|
|
@@ -110,15 +130,40 @@ const InfoBoxContainer = _styledComponents.default.div`
|
|
|
110
130
|
margin-bottom: 30px;
|
|
111
131
|
width: fit-content;
|
|
112
132
|
|
|
133
|
+
&::after {
|
|
134
|
+
content: '';
|
|
135
|
+
display: table;
|
|
136
|
+
clear: both;
|
|
137
|
+
}
|
|
138
|
+
|
|
113
139
|
${props => {
|
|
114
140
|
switch (props.$alignment) {
|
|
115
|
-
case '
|
|
141
|
+
case 'paragraph-width':
|
|
116
142
|
{
|
|
117
|
-
return `
|
|
143
|
+
return `
|
|
144
|
+
figure {
|
|
145
|
+
margin-left: auto;
|
|
146
|
+
margin-right: auto;
|
|
147
|
+
}
|
|
148
|
+
`;
|
|
149
|
+
}
|
|
150
|
+
case 'left':
|
|
151
|
+
{
|
|
152
|
+
return `
|
|
153
|
+
figure {
|
|
154
|
+
max-width: 50%;
|
|
155
|
+
margin-right: auto;
|
|
156
|
+
}
|
|
157
|
+
`;
|
|
118
158
|
}
|
|
119
159
|
case 'right':
|
|
120
160
|
{
|
|
121
|
-
return `
|
|
161
|
+
return `
|
|
162
|
+
figure {
|
|
163
|
+
max-width: 50%;
|
|
164
|
+
margin-left: auto;
|
|
165
|
+
}
|
|
166
|
+
`;
|
|
122
167
|
}
|
|
123
168
|
}
|
|
124
169
|
}}
|
|
@@ -16,12 +16,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
16
16
|
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; }
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
// @ts-ignore pkg does not contain ts header file
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return
|
|
24
|
-
}(
|
|
19
|
+
var InfoBoxTypeEnum = /*#__PURE__*/function (InfoBoxTypeEnum) {
|
|
20
|
+
InfoBoxTypeEnum["newsChargeStation"] = "news-charge-station";
|
|
21
|
+
InfoBoxTypeEnum["headerBorder"] = "header-border";
|
|
22
|
+
InfoBoxTypeEnum["boxBorder"] = "box-border";
|
|
23
|
+
return InfoBoxTypeEnum;
|
|
24
|
+
}(InfoBoxTypeEnum || {});
|
|
25
25
|
const containerStyles = (0, _styledComponents.css)`
|
|
26
26
|
padding: 40px;
|
|
27
27
|
border-radius: 30px;
|
|
@@ -158,18 +158,18 @@ function InfoBoxInArticleBody({
|
|
|
158
158
|
let Component;
|
|
159
159
|
let blockRenderMap = _blockRenderMap.blockRenderMapForInfoBox;
|
|
160
160
|
switch (type) {
|
|
161
|
-
case
|
|
161
|
+
case InfoBoxTypeEnum.headerBorder:
|
|
162
162
|
{
|
|
163
163
|
Component = HeaderBorder;
|
|
164
164
|
blockRenderMap = _blockRenderMap.blockRenderMapForInfoBoxWithHeaderBorder;
|
|
165
165
|
break;
|
|
166
166
|
}
|
|
167
|
-
case
|
|
167
|
+
case InfoBoxTypeEnum.boxBorder:
|
|
168
168
|
{
|
|
169
169
|
Component = BoxBorder;
|
|
170
170
|
break;
|
|
171
171
|
}
|
|
172
|
-
case
|
|
172
|
+
case InfoBoxTypeEnum.newsChargeStation:
|
|
173
173
|
default:
|
|
174
174
|
{
|
|
175
175
|
Component = NewsChargeStation;
|
package/lib/draft-renderer.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.ArticleBodyDraftRenderer = void 0;
|
|
7
|
+
exports.ArticleIntroductionDraftRenderer = ArticleIntroductionDraftRenderer;
|
|
6
8
|
exports.DraftRenderer = DraftRenderer;
|
|
7
9
|
var _react = _interopRequireDefault(require("react"));
|
|
8
10
|
var _draftJs = require("draft-js");
|
|
@@ -35,4 +37,25 @@ function DraftRenderer({
|
|
|
35
37
|
,
|
|
36
38
|
onChange: () => {}
|
|
37
39
|
}));
|
|
40
|
+
}
|
|
41
|
+
const ArticleBodyDraftRenderer = DraftRenderer;
|
|
42
|
+
exports.ArticleBodyDraftRenderer = ArticleBodyDraftRenderer;
|
|
43
|
+
function ArticleIntroductionDraftRenderer({
|
|
44
|
+
rawContentState,
|
|
45
|
+
themeColor = _index2.ThemeColorEnum.RED
|
|
46
|
+
}) {
|
|
47
|
+
const contentState = (0, _draftJs.convertFromRaw)(rawContentState);
|
|
48
|
+
const editorState = _draftJs.EditorState.createWithContent(contentState, _index.decorator);
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_styledComponents.ThemeProvider, {
|
|
50
|
+
theme: {
|
|
51
|
+
themeColor
|
|
52
|
+
}
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_draftJs.Editor, {
|
|
54
|
+
editorState: editorState,
|
|
55
|
+
blockRenderMap: _blockRenderMap.blockRenderMapForIntroduction,
|
|
56
|
+
readOnly: true
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
58
|
+
,
|
|
59
|
+
onChange: () => {}
|
|
60
|
+
}));
|
|
38
61
|
}
|
|
@@ -49,7 +49,7 @@ const ArrowIcon = _styledComponents.default.span`
|
|
|
49
49
|
height: 6.5px;
|
|
50
50
|
top: 5px;
|
|
51
51
|
right: 5px;
|
|
52
|
-
transform: ${props => props.$showContent ? 'rotate(45deg)' : 'rotate(
|
|
52
|
+
transform: ${props => props.$showContent ? 'rotate(-45deg)' : 'rotate(45deg)'};
|
|
53
53
|
display: block;
|
|
54
54
|
position: absolute;
|
|
55
55
|
transition: transform 200ms ease 0s;
|
|
@@ -64,7 +64,7 @@ const ArrowIcon = _styledComponents.default.span`
|
|
|
64
64
|
height: 6.5px;
|
|
65
65
|
top: 5px;
|
|
66
66
|
left: 5px;
|
|
67
|
-
transform: ${props => props.$showContent ? 'rotate(
|
|
67
|
+
transform: ${props => props.$showContent ? 'rotate(45deg)' : 'rotate(-45deg)'};
|
|
68
68
|
display: block;
|
|
69
69
|
position: absolute;
|
|
70
70
|
transition: transform 200ms ease 0s;
|
package/lib/index.js
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "ArticleBodyDraftRenderer", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _draftRenderer.ArticleBodyDraftRenderer;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "ArticleIntroductionDraftRenderer", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _draftRenderer.ArticleIntroductionDraftRenderer;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
6
18
|
Object.defineProperty(exports, "DraftRenderer", {
|
|
7
19
|
enumerable: true,
|
|
8
20
|
get: function () {
|
|
@@ -40,6 +52,8 @@ var _blockRenderMap = require("./block-render-map");
|
|
|
40
52
|
var _blockRenderers = require("./block-renderers");
|
|
41
53
|
var _index = require("./entity-decorators/index");
|
|
42
54
|
var _default = {
|
|
55
|
+
ArticleBodyDraftRenderer: _draftRenderer.ArticleBodyDraftRenderer,
|
|
56
|
+
ArticleIntroductionDraftRenderer: _draftRenderer.ArticleIntroductionDraftRenderer,
|
|
43
57
|
DraftRenderer: _draftRenderer.DraftRenderer,
|
|
44
58
|
atomicBlockRenderer: _blockRendererFn.atomicBlockRenderer,
|
|
45
59
|
blockRenderMap: _blockRenderMap.blockRenderMap,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kids-reporter/draft-renderer",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"@twreporter/core": "^1.10.0",
|
|
27
27
|
"babel-loader": "^8.2.5",
|
|
28
28
|
"body-scroll-lock": "3.1.5",
|
|
29
|
-
"draft-js": "^0.11.7",
|
|
30
29
|
"html-webpack-plugin": "^5.5.0",
|
|
31
30
|
"node-html-parser": "^6.1.5",
|
|
32
31
|
"webpack": "^5.72.1",
|
|
33
32
|
"webpack-cli": "^4.9.2"
|
|
34
33
|
},
|
|
35
34
|
"peerDependencies": {
|
|
35
|
+
"draft-js": "^0.11.7",
|
|
36
36
|
"react": "18.2.0",
|
|
37
37
|
"react-dom": "18.2.0",
|
|
38
38
|
"styled-components": "5.3.5"
|