@kids-reporter/draft-renderer 1.0.14 → 1.0.16
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 +20 -21
- 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: {
|
|
@@ -270,23 +270,22 @@ const SlidesFlexBox = _styledComponents.default.div`
|
|
|
270
270
|
|
|
271
271
|
${({
|
|
272
272
|
translateXUint
|
|
273
|
-
}) =>
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
);
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
`}
|
|
273
|
+
}) => {
|
|
274
|
+
const mobileTranslateX = getTranslateX(mockup.mobile, translateXUint) / getContainerWidth(mockup.mobile) * 100;
|
|
275
|
+
const desktopTranslateX = getTranslateX(mockup.desktop, translateXUint) / getContainerWidth(mockup.desktop) * 100;
|
|
276
|
+
const hdTranslateX = getTranslateX(mockup.hd, translateXUint) / getContainerWidth(mockup.hd) * 100;
|
|
277
|
+
return `
|
|
278
|
+
${_mediaQuery.mediaQuery.smallOnly} {
|
|
279
|
+
transform: translateX(${mobileTranslateX}%);
|
|
280
|
+
}
|
|
281
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
282
|
+
transform: translateX(${desktopTranslateX}%);
|
|
283
|
+
}
|
|
284
|
+
${_mediaQuery.mediaQuery.largeOnly} {
|
|
285
|
+
transform: translateX(${hdTranslateX}%);
|
|
286
|
+
}
|
|
287
|
+
`;
|
|
288
|
+
}}
|
|
290
289
|
`;
|
|
291
290
|
const SlideFlexItem = _styledComponents.default.div`
|
|
292
291
|
height: 100%;
|
|
@@ -297,7 +296,7 @@ const SlideFlexItem = _styledComponents.default.div`
|
|
|
297
296
|
padding-right: ${() => `calc(${mockup.mobile.slide.paddingRight} / ${getContainerWidth(mockup.mobile)}*100%)`};
|
|
298
297
|
}
|
|
299
298
|
|
|
300
|
-
${_mediaQuery.mediaQuery.
|
|
299
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
301
300
|
flex-basis: ${getSlideWidth(mockup.desktop)}px;
|
|
302
301
|
padding-right: ${mockup.desktop.slide.paddingRight}px;
|
|
303
302
|
}
|
|
@@ -333,7 +332,7 @@ const SlideshowFlexBox = _styledComponents.default.div`
|
|
|
333
332
|
width: 100%;
|
|
334
333
|
}
|
|
335
334
|
|
|
336
|
-
${_mediaQuery.mediaQuery.
|
|
335
|
+
${_mediaQuery.mediaQuery.mediumAndDesktopOnly} {
|
|
337
336
|
width: ${mockup.desktop.container.width}px;
|
|
338
337
|
}
|
|
339
338
|
|
|
@@ -461,7 +460,7 @@ function SlideshowBlock({
|
|
|
461
460
|
setCurSlideIndex(_curSlideIndex);
|
|
462
461
|
setTranslateXUnit(defaultTranslateXUnit - _curSlideIndex);
|
|
463
462
|
}, duration * 2);
|
|
464
|
-
}, [
|
|
463
|
+
}, [curSlideIndex, defaultTranslateXUnit, slideTo, total]);
|
|
465
464
|
const isSliding = slideTo !== '';
|
|
466
465
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(SlideshowFlexBox, {
|
|
467
466
|
className: appendedClassName,
|
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.16",
|
|
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
|