@kids-reporter/draft-renderer 1.0.14 → 1.0.15
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-maps/annotation.js +1 -1
- package/lib/block-render-maps/article-brief.js +1 -1
- package/lib/block-render-maps/article-content.js +1 -1
- package/lib/block-render-maps/image-link.js +1 -1
- package/lib/block-render-maps/info-box.js +60 -7
- package/lib/block-render-maps/project-content.js +1 -1
- package/lib/block-renderers/blockquote.js +2 -2
- package/lib/block-renderers/divider.js +1 -1
- package/lib/block-renderers/dropdown.js +1 -1
- package/lib/block-renderers/embedded-code-block.js +1 -1
- package/lib/block-renderers/image-block.js +9 -4
- package/lib/block-renderers/image-link.js +2 -3
- package/lib/block-renderers/info-box-block.js +87 -80
- package/lib/block-renderers/multimedia.js +2 -2
- package/lib/block-renderers/news-reading.js +1 -1
- package/lib/block-renderers/slideshow-block.js +4 -4
- package/lib/draft-renderer.js +1 -1
- package/lib/entity-decorators/anchor.js +1 -1
- package/lib/entity-decorators/annotation-decorator.js +1 -1
- package/lib/entity-decorators/link-decorator.js +2 -3
- package/lib/entity-decorators/toc-anchor.js +1 -1
- package/lib/index.js +1 -1
- package/lib/utils/media-query.js +5 -3
- package/package.json +16 -8
- package/public/images/info-box-blocksy-child-1-yellow.png +0 -0
- package/public/images/info-box-blocksy-child-2-blue.png +0 -0
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _articleContent = require("./article-content");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const HeadingForAnnotation = (0, _styledComponents.default)(_articleContent.Heading)`
|
|
15
15
|
margin: 0 auto 27px auto;
|
|
16
16
|
`;
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _articleContent = require("./article-content");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const ParagraphForIntroduction = (0, _styledComponents.default)(_articleContent.Paragraph)`
|
|
15
15
|
font-size: ${({
|
|
16
16
|
theme
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _mediaQuery = require("../utils/media-query");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const Paragraph = exports.Paragraph = _styledComponents.default.div`
|
|
15
15
|
width: 100%;
|
|
16
16
|
max-width: 700px;
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _articleContent = require("./article-content");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const ParagraphForImageLink = (0, _styledComponents.default)(_articleContent.Paragraph)`
|
|
15
15
|
/* overwrite css */
|
|
16
16
|
font-size: ${({
|
|
@@ -8,17 +8,39 @@ var _draftJs = require("draft-js");
|
|
|
8
8
|
var _immutable = _interopRequireDefault(require("immutable"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
11
|
+
var _mediaQuery = require("../utils/media-query");
|
|
11
12
|
var _articleContent = require("./article-content");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function
|
|
14
|
-
function
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
16
|
const HeadingForInfoBox = (0, _styledComponents.default)(_articleContent.Heading)`
|
|
17
17
|
margin-top: 0px;
|
|
18
|
-
margin-bottom:
|
|
18
|
+
margin-bottom: 16px;
|
|
19
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
20
|
+
padding-left: 0px;
|
|
21
|
+
padding-right: 0px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
25
|
+
margin-bottom: 24px;
|
|
26
|
+
|
|
27
|
+
&:has(h5) {
|
|
28
|
+
margin-bottom: 16px;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
19
31
|
`;
|
|
20
32
|
const ListForInfoBox = (0, _styledComponents.default)(_articleContent.List)`
|
|
21
|
-
margin-bottom:
|
|
33
|
+
margin-bottom: 16px;
|
|
34
|
+
&:last-child {
|
|
35
|
+
margin-bottom: 0px;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
39
|
+
margin-bottom: 24px;
|
|
40
|
+
&:last-child {
|
|
41
|
+
margin-bottom: 0px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
22
44
|
|
|
23
45
|
color: #232323;
|
|
24
46
|
li {
|
|
@@ -34,9 +56,41 @@ const ParagraphForInfoBox = (0, _styledComponents.default)(_articleContent.Parag
|
|
|
34
56
|
theme
|
|
35
57
|
}) => (theme === null || theme === void 0 ? void 0 : theme.fontSizeLevel) === 'large' ? '20px' : '16px'};
|
|
36
58
|
font-weight: 400;
|
|
37
|
-
margin-bottom:
|
|
59
|
+
margin-bottom: 16px;
|
|
38
60
|
line-height: 1.5;
|
|
39
61
|
color: #232323;
|
|
62
|
+
|
|
63
|
+
&:last-child {
|
|
64
|
+
margin-bottom: 0px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
68
|
+
padding-left: 0px;
|
|
69
|
+
padding-right: 0px;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
73
|
+
margin-bottom: 24px;
|
|
74
|
+
&:last-child {
|
|
75
|
+
margin-bottom: 0px;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
> div[data-block='true'] {
|
|
80
|
+
margin-bottom: 16px;
|
|
81
|
+
&:last-child {
|
|
82
|
+
margin-bottom: 0px;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
87
|
+
> div[data-block='true'] {
|
|
88
|
+
margin-bottom: 24px;
|
|
89
|
+
&:last-child {
|
|
90
|
+
margin-bottom: 0px;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
40
94
|
`;
|
|
41
95
|
const _blockRenderMapForAnnotation = _immutable.default.Map({
|
|
42
96
|
atomic: {
|
|
@@ -73,7 +127,6 @@ const dividerStyles = (0, _styledComponents.css)`
|
|
|
73
127
|
height: 12px;
|
|
74
128
|
display: block;
|
|
75
129
|
background-image: url(https://www.unpkg.com/@kids-reporter/draft-renderer/public/images/info-box-border.svg);
|
|
76
|
-
background-size: contain;
|
|
77
130
|
background-repeat: no-repeat;
|
|
78
131
|
background-position: center;
|
|
79
132
|
`;
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _articleContent = require("./article-content");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
function _interopRequireDefault(
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const Paragraph = exports.Paragraph = (0, _styledComponents.default)(_articleContent.Paragraph)`
|
|
15
15
|
text-align: center;
|
|
16
16
|
max-width: 750px;
|
|
@@ -11,7 +11,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
11
11
|
var _index = require("../utils/index");
|
|
12
12
|
var _mediaQuery = require("../utils/media-query");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const BorderLeftContainer = _styledComponents.default.blockquote`
|
|
16
16
|
margin: 0;
|
|
17
17
|
padding-left: 30px;
|
|
@@ -64,7 +64,7 @@ const SvgBlock = _styledComponents.default.div`
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
${_mediaQuery.mediaQuery.
|
|
67
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
68
68
|
svg {
|
|
69
69
|
width: 25px;
|
|
70
70
|
margin-right: 15px;
|
|
@@ -9,7 +9,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
9
9
|
var _index = require("../utils/index");
|
|
10
10
|
var _mediaQuery = require("../utils/media-query");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const Hr = _styledComponents.default.hr`
|
|
14
14
|
border-top: 3px solid ${({
|
|
15
15
|
theme
|
|
@@ -7,7 +7,7 @@ exports.Dropdown = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const DropdownOptionList = _styledComponents.default.ul`
|
|
12
12
|
margin: 0;
|
|
13
13
|
position: relative;
|
|
@@ -9,7 +9,7 @@ var _react = require("react");
|
|
|
9
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
10
10
|
var _mediaQuery = require("../utils/media-query");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const Block = exports.Block = _styledComponents.default.div`
|
|
14
14
|
position: relative;
|
|
15
15
|
white-space: normal;
|
|
@@ -13,9 +13,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
13
13
|
var _constants = require("../utils/constants");
|
|
14
14
|
var _mediaQuery = require("../utils/media-query");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function
|
|
17
|
-
function
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
18
|
const Figure = _styledComponents.default.figure`
|
|
20
19
|
width: 100%;
|
|
21
20
|
`;
|
|
@@ -164,7 +163,13 @@ function ImageInArticleBody({
|
|
|
164
163
|
const InfoBoxContainer = exports.InfoBoxContainer = _styledComponents.default.div`
|
|
165
164
|
/* reset browser default styles */
|
|
166
165
|
figure {
|
|
167
|
-
margin:
|
|
166
|
+
margin: 20px 0;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
170
|
+
figure {
|
|
171
|
+
margin: 32px 0;
|
|
172
|
+
}
|
|
168
173
|
}
|
|
169
174
|
|
|
170
175
|
${props => {
|
|
@@ -14,9 +14,8 @@ var _constants = require("../utils/constants");
|
|
|
14
14
|
var _mediaQuery = require("../utils/media-query");
|
|
15
15
|
var _imageBlock = require("./image-block");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
function
|
|
18
|
-
function
|
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
19
|
const fallbackImg = '/assets/images/image_placeholder.png';
|
|
21
20
|
const Figure = _styledComponents.default.figure`
|
|
22
21
|
width: 100%;
|
|
@@ -11,12 +11,10 @@ var _index = _interopRequireDefault(require("../block-render-maps/index"));
|
|
|
11
11
|
var _imageBlock = require("../block-renderers/image-block");
|
|
12
12
|
var _imageLink = require("../block-renderers/image-link");
|
|
13
13
|
var _index2 = require("../entity-decorators/index");
|
|
14
|
-
var _index3 = require("../utils/index");
|
|
15
14
|
var _mediaQuery = require("../utils/media-query");
|
|
16
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
|
-
function
|
|
18
|
-
function
|
|
19
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
18
|
var InfoBoxTypeEnum = /*#__PURE__*/function (InfoBoxTypeEnum) {
|
|
21
19
|
InfoBoxTypeEnum["newsChargeStation"] = "news-charge-station";
|
|
22
20
|
InfoBoxTypeEnum["headerBorder"] = "header-border";
|
|
@@ -24,23 +22,35 @@ var InfoBoxTypeEnum = /*#__PURE__*/function (InfoBoxTypeEnum) {
|
|
|
24
22
|
return InfoBoxTypeEnum;
|
|
25
23
|
}(InfoBoxTypeEnum || {});
|
|
26
24
|
const containerStyles = (0, _styledComponents.css)`
|
|
27
|
-
padding: 40px 40px 20px 40px;
|
|
28
25
|
border-radius: 30px;
|
|
29
26
|
position: relative;
|
|
30
27
|
|
|
31
28
|
${_mediaQuery.mediaQuery.smallOnly} {
|
|
32
|
-
padding:
|
|
29
|
+
padding: 24px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
${_mediaQuery.mediaQuery.mediumOnly} {
|
|
33
|
+
padding: 36px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
${_mediaQuery.mediaQuery.desktopAbove} {
|
|
37
|
+
padding: 48px;
|
|
33
38
|
}
|
|
34
39
|
`;
|
|
35
40
|
const NewsChargeStationContainer = _styledComponents.default.div`
|
|
36
41
|
${containerStyles}
|
|
42
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
43
|
+
padding-top: 56px;
|
|
44
|
+
}
|
|
37
45
|
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
${_mediaQuery.mediaQuery.mediumOnly} {
|
|
47
|
+
padding-top: 72px;
|
|
48
|
+
}
|
|
40
49
|
|
|
41
|
-
${_mediaQuery.mediaQuery.
|
|
42
|
-
padding-top:
|
|
50
|
+
${_mediaQuery.mediaQuery.desktopAbove} {
|
|
51
|
+
padding-top: 84px;
|
|
43
52
|
}
|
|
53
|
+
background-color: #fff9ec;
|
|
44
54
|
|
|
45
55
|
&::before {
|
|
46
56
|
content: '';
|
|
@@ -63,88 +73,61 @@ function NewsChargeStation({
|
|
|
63
73
|
children: children
|
|
64
74
|
});
|
|
65
75
|
}
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
let bgColor;
|
|
72
|
-
switch (theme === null || theme === void 0 ? void 0 : theme.themeColor) {
|
|
73
|
-
case _index3.ThemeColorEnum.YELLOW:
|
|
74
|
-
{
|
|
75
|
-
logoColor = 'red';
|
|
76
|
-
bgColor = '#fff0d2';
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
case _index3.ThemeColorEnum.RED:
|
|
80
|
-
{
|
|
81
|
-
logoColor = 'blue';
|
|
82
|
-
bgColor = '#ffd2d2';
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
case _index3.ThemeColorEnum.BLUE:
|
|
86
|
-
default:
|
|
87
|
-
{
|
|
88
|
-
logoColor = 'yellow';
|
|
89
|
-
bgColor = '#d2f5ff';
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
76
|
+
const HeaderBorderLogoContainer = _styledComponents.default.div`
|
|
77
|
+
display: flex;
|
|
78
|
+
justify-content: end;
|
|
79
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
80
|
+
padding-top: 20px;
|
|
92
81
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
&::before {
|
|
96
|
-
background-image: url(https://www.unpkg.com/@kids-reporter/draft-renderer/public/images/info-box-blocksy-child-1-${logoColor}.png);
|
|
97
|
-
}
|
|
98
|
-
`;
|
|
99
|
-
}}
|
|
100
|
-
|
|
101
|
-
${containerStyles}
|
|
102
|
-
|
|
103
|
-
&::before {
|
|
104
|
-
content: '';
|
|
105
|
-
width: 120px;
|
|
106
|
-
height: 120px;
|
|
107
|
-
background-size: contain;
|
|
108
|
-
position: absolute;
|
|
109
|
-
bottom: 10px;
|
|
110
|
-
right: 10px;
|
|
82
|
+
${_mediaQuery.mediaQuery.mediumAbove} {
|
|
83
|
+
padding-top: 32px;
|
|
111
84
|
}
|
|
112
85
|
`;
|
|
86
|
+
const HeaderBorderLogo = _styledComponents.default.img`
|
|
87
|
+
width: 120px;
|
|
88
|
+
height: 100px;
|
|
89
|
+
`;
|
|
90
|
+
const HeaderBorderContainer = _styledComponents.default.div`
|
|
91
|
+
background-color: #e9f8ff;
|
|
92
|
+
${containerStyles}
|
|
93
|
+
`;
|
|
113
94
|
function HeaderBorder({
|
|
114
|
-
children
|
|
95
|
+
children,
|
|
96
|
+
showBaodaozai
|
|
115
97
|
}) {
|
|
116
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
117
|
-
children: children
|
|
98
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderBorderContainer, {
|
|
99
|
+
children: [children, showBaodaozai && /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderBorderLogoContainer, {
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderBorderLogo, {
|
|
101
|
+
src: "https://www.unpkg.com/@kids-reporter/draft-renderer/public/images/info-box-blocksy-child-1-yellow.png",
|
|
102
|
+
alt: "\u9EC3\u8272\u5831\u5C0E\u4ED4"
|
|
103
|
+
})
|
|
104
|
+
})]
|
|
118
105
|
});
|
|
119
106
|
}
|
|
120
107
|
const BoxBorderContainer = _styledComponents.default.div`
|
|
121
108
|
${containerStyles}
|
|
122
|
-
background-color: #ebebeb;
|
|
123
|
-
border: 3px solid #232323;
|
|
124
109
|
overflow: hidden;
|
|
125
|
-
|
|
126
|
-
${
|
|
127
|
-
|
|
128
|
-
}) => `
|
|
129
|
-
&::before {
|
|
130
|
-
background-image: url(https://www.unpkg.com/@kids-reporter/draft-renderer/public/images/info-box-blocksy-child-2-${(theme === null || theme === void 0 ? void 0 : theme.themeColor) || _index3.ThemeColorEnum.BLUE}.png);
|
|
131
|
-
}`}
|
|
132
|
-
|
|
133
|
-
&::before {
|
|
134
|
-
content: '';
|
|
135
|
-
width: 100px;
|
|
136
|
-
height: 100px;
|
|
137
|
-
background-size: contain;
|
|
138
|
-
position: absolute;
|
|
139
|
-
bottom: 0;
|
|
140
|
-
right: 0;
|
|
110
|
+
background-color: #f8f8f8;
|
|
111
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
112
|
+
padding-bottom: 64px;
|
|
141
113
|
}
|
|
142
114
|
`;
|
|
115
|
+
const BoxBorderLogo = _styledComponents.default.img`
|
|
116
|
+
width: 88px;
|
|
117
|
+
height: 64px;
|
|
118
|
+
position: absolute;
|
|
119
|
+
bottom: 0;
|
|
120
|
+
right: 0;
|
|
121
|
+
`;
|
|
143
122
|
function BoxBorder({
|
|
144
|
-
children
|
|
123
|
+
children,
|
|
124
|
+
showBaodaozai
|
|
145
125
|
}) {
|
|
146
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
147
|
-
children: children
|
|
126
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(BoxBorderContainer, {
|
|
127
|
+
children: [children, showBaodaozai && /*#__PURE__*/(0, _jsxRuntime.jsx)(BoxBorderLogo, {
|
|
128
|
+
src: "https://www.unpkg.com/@kids-reporter/draft-renderer/public/images/info-box-blocksy-child-2-blue.png",
|
|
129
|
+
alt: "\u85CD\u8272\u5831\u5C0E\u4ED4"
|
|
130
|
+
})]
|
|
148
131
|
});
|
|
149
132
|
}
|
|
150
133
|
const ArticleBodyContainer = _styledComponents.default.div`
|
|
@@ -158,15 +141,38 @@ const ArticleBodyContainer = _styledComponents.default.div`
|
|
|
158
141
|
const EditorContainer = _styledComponents.default.div`
|
|
159
142
|
position: relative;
|
|
160
143
|
`;
|
|
144
|
+
function convertFromRawWithoutUnstyledTrailingBlocks(rawContentState) {
|
|
145
|
+
const contentState = (0, _draftJs.convertFromRaw)(rawContentState);
|
|
146
|
+
const originalBlocks = contentState.getBlocksAsArray();
|
|
147
|
+
if (originalBlocks.length === 0) {
|
|
148
|
+
return contentState;
|
|
149
|
+
}
|
|
150
|
+
let lastNonEmptyBlockIndex = originalBlocks.length - 1;
|
|
151
|
+
|
|
152
|
+
// Find the index of the last block that is not an empty 'unstyled' block.
|
|
153
|
+
while (lastNonEmptyBlockIndex >= 0 && originalBlocks[lastNonEmptyBlockIndex].getText().trim() === '' && originalBlocks[lastNonEmptyBlockIndex].getType() === 'unstyled') {
|
|
154
|
+
lastNonEmptyBlockIndex--;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// If no blocks were removed, return the original contentState.
|
|
158
|
+
if (lastNonEmptyBlockIndex === originalBlocks.length - 1) {
|
|
159
|
+
return contentState;
|
|
160
|
+
}
|
|
161
|
+
const newBlocks = originalBlocks.slice(0, lastNonEmptyBlockIndex + 1);
|
|
162
|
+
|
|
163
|
+
// Create a new ContentState from the trimmed blocks, preserving the entityMap.
|
|
164
|
+
return _draftJs.ContentState.createFromBlockArray(newBlocks, contentState.getEntityMap());
|
|
165
|
+
}
|
|
161
166
|
function InfoBoxInArticleBody({
|
|
162
167
|
className,
|
|
163
168
|
data
|
|
164
169
|
}) {
|
|
165
170
|
const {
|
|
166
171
|
type,
|
|
167
|
-
rawContentState
|
|
172
|
+
rawContentState,
|
|
173
|
+
showBaodaozai = true
|
|
168
174
|
} = data;
|
|
169
|
-
const contentState = (
|
|
175
|
+
const contentState = convertFromRawWithoutUnstyledTrailingBlocks(rawContentState);
|
|
170
176
|
const editorState = _draftJs.EditorState.createWithContent(contentState, _index2.decorator);
|
|
171
177
|
let Component;
|
|
172
178
|
let blockRenderMap = _index.default.infoBox.default;
|
|
@@ -192,6 +198,7 @@ function InfoBoxInArticleBody({
|
|
|
192
198
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ArticleBodyContainer, {
|
|
193
199
|
className: className,
|
|
194
200
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
|
|
201
|
+
showBaodaozai: showBaodaozai,
|
|
195
202
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(EditorContainer, {
|
|
196
203
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_draftJs.Editor, {
|
|
197
204
|
blockRenderMap: blockRenderMap,
|
|
@@ -7,7 +7,7 @@ exports.default = void 0;
|
|
|
7
7
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
8
|
var _index = require("../utils/index");
|
|
9
9
|
var _mediaQuery = require("../utils/media-query");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const mockup = {
|
|
12
12
|
mobile: {
|
|
13
13
|
figure: {
|
|
@@ -102,7 +102,7 @@ const Caption = _styledComponents.default.figcaption`
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
${_mediaQuery.mediaQuery.
|
|
105
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
106
106
|
width: ${mockup.desktop.caption.width}px;
|
|
107
107
|
padding: 15px 0 15px 0;
|
|
108
108
|
}
|
|
@@ -8,7 +8,7 @@ var _react = require("react");
|
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _dropdown = require("./dropdown");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
const ArticleBodyContainer = _styledComponents.default.div`
|
|
13
13
|
max-width: 600px;
|
|
14
14
|
width: calc(280 / 320 * 100%);
|
|
@@ -11,7 +11,7 @@ var _index = require("../utils/index");
|
|
|
11
11
|
var _mediaQuery = require("../utils/media-query");
|
|
12
12
|
var _multimedia = _interopRequireDefault(require("./multimedia"));
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const mockup = {
|
|
16
16
|
mobile: {
|
|
17
17
|
container: {
|
|
@@ -276,7 +276,7 @@ const SlidesFlexBox = _styledComponents.default.div`
|
|
|
276
276
|
${getTranslateX(mockup.mobile, translateXUint) / getContainerWidth(mockup.mobile)} * 100%
|
|
277
277
|
);
|
|
278
278
|
}
|
|
279
|
-
${_mediaQuery.mediaQuery.
|
|
279
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
280
280
|
transform: translateX(
|
|
281
281
|
${getTranslateX(mockup.desktop, translateXUint) / getContainerWidth(mockup.desktop)} * 100%
|
|
282
282
|
);
|
|
@@ -297,7 +297,7 @@ const SlideFlexItem = _styledComponents.default.div`
|
|
|
297
297
|
padding-right: ${() => `calc(${mockup.mobile.slide.paddingRight} / ${getContainerWidth(mockup.mobile)}*100%)`};
|
|
298
298
|
}
|
|
299
299
|
|
|
300
|
-
${_mediaQuery.mediaQuery.
|
|
300
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
301
301
|
flex-basis: ${getSlideWidth(mockup.desktop)}px;
|
|
302
302
|
padding-right: ${mockup.desktop.slide.paddingRight}px;
|
|
303
303
|
}
|
|
@@ -333,7 +333,7 @@ const SlideshowFlexBox = _styledComponents.default.div`
|
|
|
333
333
|
width: 100%;
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
${_mediaQuery.mediaQuery.
|
|
336
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
337
337
|
width: ${mockup.desktop.container.width}px;
|
|
338
338
|
}
|
|
339
339
|
|
package/lib/draft-renderer.js
CHANGED
|
@@ -13,7 +13,7 @@ var _customStyleFn = require("./custom-style-fn");
|
|
|
13
13
|
var _entityDecorators = require("./entity-decorators");
|
|
14
14
|
var _index2 = require("./utils/index");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireDefault(
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
const blockRendererFn = block => {
|
|
18
18
|
const atomicBlockObj = (0, _blockRendererFn.atomicBlockRenderer)(block);
|
|
19
19
|
return atomicBlockObj;
|
|
@@ -7,7 +7,7 @@ exports.anchorDecorator = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _entity = require("../utils/entity");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const Anchor = props => {
|
|
12
12
|
var _contentState$getEnti;
|
|
13
13
|
const {
|
|
@@ -13,7 +13,7 @@ var _anchor = require("./anchor");
|
|
|
13
13
|
var _linkDecorator = require("./link-decorator");
|
|
14
14
|
var _tocAnchor = require("./toc-anchor");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
function _interopRequireDefault(
|
|
16
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
17
|
const AnnotationWrapper = _styledComponents.default.span`
|
|
18
18
|
display: inline-block;
|
|
19
19
|
cursor: pointer;
|
|
@@ -8,9 +8,8 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
9
|
var _entity = require("../utils/entity");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
13
|
const LinkWrapper = _styledComponents.default.a`
|
|
15
14
|
text-decoration: underline;
|
|
16
15
|
color: #27b5f7;
|
|
@@ -7,7 +7,7 @@ exports.tocAnchorDecorator = void 0;
|
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _entity = require("../utils/entity");
|
|
9
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
-
function _interopRequireDefault(
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
const TOCAnchor = props => {
|
|
12
12
|
var _contentState$getEnti;
|
|
13
13
|
const {
|
package/lib/index.js
CHANGED
|
@@ -78,7 +78,7 @@ var _customStyleFn = require("./custom-style-fn");
|
|
|
78
78
|
var _draftRenderer = require("./draft-renderer");
|
|
79
79
|
var _entityDecorators = require("./entity-decorators");
|
|
80
80
|
var _entity = require("./utils/entity");
|
|
81
|
-
function _interopRequireDefault(
|
|
81
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
82
82
|
const blockRenderMap = exports.blockRenderMap = _index.default.content;
|
|
83
83
|
var _default = exports.default = {
|
|
84
84
|
ArticleBodyDraftRenderer: _draftRenderer.ArticleBodyDraftRenderer,
|
package/lib/utils/media-query.js
CHANGED
|
@@ -5,15 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mediaQuery = exports.breakpoints = void 0;
|
|
7
7
|
const breakpoints = exports.breakpoints = {
|
|
8
|
-
small:
|
|
9
|
-
medium:
|
|
8
|
+
small: 375,
|
|
9
|
+
medium: 768,
|
|
10
10
|
desktop: 1024,
|
|
11
11
|
// TODO: unify breakpoints in twreporter/kids reporter
|
|
12
12
|
large: 1440
|
|
13
13
|
};
|
|
14
14
|
const mediaQuery = exports.mediaQuery = {
|
|
15
15
|
smallOnly: `@media (max-width: ${breakpoints.medium - 1}px)`,
|
|
16
|
-
|
|
16
|
+
mediumAndDesktopOnly: `@media (min-width: ${breakpoints.medium}px) and (max-width: ${breakpoints.large - 1}px)`,
|
|
17
|
+
mediumOnly: `@media (min-width: ${breakpoints.medium}px) and (max-width: ${breakpoints.desktop - 1}px)`,
|
|
18
|
+
desktopAbove: `@media (min-width: ${breakpoints.desktop}px)`,
|
|
17
19
|
mediumAbove: `@media (min-width: ${breakpoints.medium}px)`,
|
|
18
20
|
largeBelow: `@media (max-width: ${breakpoints.large - 1}px)`,
|
|
19
21
|
largeOnly: `@media (min-width: ${breakpoints.large}px)`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kids-reporter/draft-renderer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,15 +24,11 @@
|
|
|
24
24
|
],
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"babel-loader": "^8.2.5",
|
|
28
27
|
"body-scroll-lock": "3.1.5",
|
|
29
|
-
"
|
|
30
|
-
"lodash": "^4.17.21"
|
|
31
|
-
"webpack": "^5.72.1",
|
|
32
|
-
"webpack-cli": "^4.9.2"
|
|
28
|
+
"draft-js": "^0.11.7",
|
|
29
|
+
"lodash": "^4.17.21"
|
|
33
30
|
},
|
|
34
31
|
"peerDependencies": {
|
|
35
|
-
"draft-js": "^0.11.7",
|
|
36
32
|
"react": "18.3.1",
|
|
37
33
|
"react-dom": "18.3.1",
|
|
38
34
|
"styled-components": "6.1.19"
|
|
@@ -42,8 +38,20 @@
|
|
|
42
38
|
"public"
|
|
43
39
|
],
|
|
44
40
|
"devDependencies": {
|
|
41
|
+
"@babel/cli": "^7.23.9",
|
|
42
|
+
"@babel/core": "^7.23.9",
|
|
43
|
+
"@babel/preset-env": "^7.25.0",
|
|
44
|
+
"@babel/preset-react": "^7.24.7",
|
|
45
|
+
"@babel/preset-typescript": "^7.24.7",
|
|
46
|
+
"babel-loader": "^8.3.0",
|
|
47
|
+
"babel-plugin-file-loader": "^2.0.0",
|
|
48
|
+
"babel-plugin-inline-react-svg": "^2.0.1",
|
|
49
|
+
"html-webpack-plugin": "^5.5.0",
|
|
45
50
|
"react": "18.3.1",
|
|
46
51
|
"react-dom": "18.3.1",
|
|
47
|
-
"styled-components": "6.1.19"
|
|
52
|
+
"styled-components": "6.1.19",
|
|
53
|
+
"webpack": "^5.90.0",
|
|
54
|
+
"webpack-cli": "^4.10.0",
|
|
55
|
+
"webpack-dev-server": "^4.15.1"
|
|
48
56
|
}
|
|
49
57
|
}
|
|
Binary file
|
|
Binary file
|