@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.
@@ -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
- padding-left: 15px;
25
- padding-right: 15px;
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 BlockquoteType = /*#__PURE__*/function (BlockquoteType) {
79
- BlockquoteType["borderLeft"] = "border_left";
80
- BlockquoteType["quoteLeft"] = "quote_left";
81
- return BlockquoteType;
82
- }(BlockquoteType || {});
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: BlockquoteType.borderLeft,
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 === BlockquoteType.quoteLeft ? QuoteLeftBlockquote : BorderLeftBlockquote;
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
- width: 361px;
79
- float: right;
80
- margin: 5px 0px 5px 27px;
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
- width: 361px;
87
- float: left;
88
- margin: 5px 27px 5px 0px;
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 'center':
141
+ case 'paragraph-width':
116
142
  {
117
- return `margin-left: auto; margin-right: auto;`;
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 `margin-left: auto`;
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 InfoBoxType = /*#__PURE__*/function (InfoBoxType) {
20
- InfoBoxType["newsChargeStation"] = "news-charge-station";
21
- InfoBoxType["headerBorder"] = "header-border";
22
- InfoBoxType["boxBorder"] = "box-border";
23
- return InfoBoxType;
24
- }(InfoBoxType || {});
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 InfoBoxType.headerBorder:
161
+ case InfoBoxTypeEnum.headerBorder:
162
162
  {
163
163
  Component = HeaderBorder;
164
164
  blockRenderMap = _blockRenderMap.blockRenderMapForInfoBoxWithHeaderBorder;
165
165
  break;
166
166
  }
167
- case InfoBoxType.boxBorder:
167
+ case InfoBoxTypeEnum.boxBorder:
168
168
  {
169
169
  Component = BoxBorder;
170
170
  break;
171
171
  }
172
- case InfoBoxType.newsChargeStation:
172
+ case InfoBoxTypeEnum.newsChargeStation:
173
173
  default:
174
174
  {
175
175
  Component = NewsChargeStation;
@@ -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(-45deg)'};
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(-45deg)' : 'rotate(45deg)'};
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",
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"