@twreporter/react-article-components 1.6.4-rc.1 → 1.6.4-rc.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.6.4-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.6.4-rc.1...@twreporter/react-article-components@1.6.4-rc.2) (2022-08-22)
7
+
8
+ **Note:** Version bump only for package @twreporter/react-article-components
9
+
10
+
11
+
12
+
13
+
6
14
  ## [1.6.4-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-article-components@1.6.4-rc.0...@twreporter/react-article-components@1.6.4-rc.1) (2022-08-22)
7
15
 
8
16
  **Note:** Version bump only for package @twreporter/react-article-components
@@ -332,7 +332,9 @@ var Article = /*#__PURE__*/function (_PureComponent) {
332
332
  var backToTopic = leadingProps && leadingProps.isTopicPublished ? leadingProps.topicHref : ''; // only for tablet and below
333
333
 
334
334
  var metadataAndToolsJSX = /*#__PURE__*/_react["default"].createElement(MetadataAndToolsBlock, null, /*#__PURE__*/_react["default"].createElement(_metadata["default"], {
335
- categories: post.categories,
335
+ categories: post.categories // TODO: remove when categorySet integration is done
336
+ ,
337
+ categorySet: post.categorySet,
336
338
  date: post.published_date,
337
339
  designers: post.designers,
338
340
  photographers: post.photographers,
@@ -365,7 +367,9 @@ var Article = /*#__PURE__*/function (_PureComponent) {
365
367
  onFontLevelChange: this.changeFontLevel
366
368
  }), /*#__PURE__*/_react["default"].createElement(DesktopAsideBlock, null, /*#__PURE__*/_react["default"].createElement(_desktopAside["default"], {
367
369
  backToTopic: backToTopic,
368
- categories: post.categories,
370
+ categories: post.categories // TODO: remove when categorySet integration is done
371
+ ,
372
+ categorySet: post.categorySet,
369
373
  date: post.published_date,
370
374
  designers: post.designers,
371
375
  photographers: post.photographers,
@@ -154,6 +154,7 @@ var Aside = /*#__PURE__*/function (_React$PureComponent) {
154
154
  articleMetaForBookmark = _this$props.articleMetaForBookmark,
155
155
  backToTopic = _this$props.backToTopic,
156
156
  categories = _this$props.categories,
157
+ categorySet = _this$props.categorySet,
157
158
  date = _this$props.date,
158
159
  designers = _this$props.designers,
159
160
  engineers = _this$props.engineers,
@@ -166,6 +167,7 @@ var Aside = /*#__PURE__*/function (_React$PureComponent) {
166
167
 
167
168
  var metadataJSX = /*#__PURE__*/_react["default"].createElement(_metadata["default"], {
168
169
  categories: categories,
170
+ categorySet: categorySet,
169
171
  date: date,
170
172
  designers: designers,
171
173
  photographers: photographers,
@@ -7,21 +7,19 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
- var _dynamicComponentsContext = _interopRequireDefault(require("../../contexts/dynamic-components-context"));
11
-
12
10
  var _react = _interopRequireWildcard(require("react"));
13
11
 
12
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
13
+
14
14
  var _get = _interopRequireDefault(require("lodash/get"));
15
15
 
16
16
  var _map = _interopRequireDefault(require("lodash/map"));
17
17
 
18
- var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
19
-
20
- var _aside = _interopRequireDefault(require("../../constants/prop-types/aside"));
21
-
22
18
  var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
23
19
 
24
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
20
+ var _dynamicComponentsContext = _interopRequireDefault(require("../../contexts/dynamic-components-context"));
21
+
22
+ var _aside = _interopRequireDefault(require("../../constants/prop-types/aside"));
25
23
 
26
24
  var _theme = _interopRequireDefault(require("../../constants/theme"));
27
25
 
@@ -31,14 +29,18 @@ var _typography = _interopRequireDefault(require("../../constants/typography"));
31
29
 
32
30
  var _category = require("../../constants/category");
33
31
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
32
+ var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
35
33
 
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
+ var _featureFlag = require("@twreporter/core/lib/constants/feature-flag");
37
35
 
38
- 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; }
36
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
39
37
 
40
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
39
 
40
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
+
42
+ 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; }
43
+
42
44
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
45
 
44
46
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -93,71 +95,92 @@ var CategoryFlex = /*#__PURE__*/_styledComponents["default"].div.withConfig({
93
95
  return props.flexGrow;
94
96
  }, _mediaQuery["default"].tabletAndBelow(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-right: 15px;\n padding-left: 15px;\n "]))), _mediaQuery["default"].desktopAndAbove(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-right: 5px;\n padding-left: 5px;\n "]))));
95
97
 
98
+ var CategorySetFlexBox = /*#__PURE__*/_styledComponents["default"].div.withConfig({
99
+ displayName: "metadata__CategorySetFlexBox",
100
+ componentId: "sc-1c3910m-2"
101
+ })(["display:flex;flex-direction:column;"]);
102
+
103
+ var LinkContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
104
+ displayName: "metadata__LinkContainer",
105
+ componentId: "sc-1c3910m-3"
106
+ })(["display:flex;"]);
107
+
108
+ var CategorySetFlex = /*#__PURE__*/_styledComponents["default"].div.withConfig({
109
+ displayName: "metadata__CategorySetFlex",
110
+ componentId: "sc-1c3910m-4"
111
+ })(["", " ", " flex-basis:", ";", " ", ""], function (props) {
112
+ return props.isTop && createLine('top', props.theme.name);
113
+ }, function (props) {
114
+ return props.isCategory && 'min-width: 100px;';
115
+ }, function (props) {
116
+ return props.isCategory ? '100px' : 'calc(100% - 100px)';
117
+ }, _mediaQuery["default"].tabletAndBelow(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding-right: 10px;\n padding-left: 10px;\n "]))), _mediaQuery["default"].desktopAndAbove(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding-right: 5px;\n padding-left: 5px;\n "]))));
118
+
96
119
  var CategoryText = /*#__PURE__*/_styledComponents["default"].div.withConfig({
97
120
  displayName: "metadata__CategoryText",
98
- componentId: "sc-1c3910m-2"
121
+ componentId: "sc-1c3910m-5"
99
122
  })(["display:inline-block;font-size:16px;line-height:1;padding-left:5px;&:hover{padding-bottom:2px;border-width:0 0 1px 0;border-style:solid;}"]);
100
123
 
101
124
  var DateSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
102
125
  displayName: "metadata__DateSection",
103
- componentId: "sc-1c3910m-3"
126
+ componentId: "sc-1c3910m-6"
104
127
  })(["", " font-size:14px;color:", ";margin-left:5px;margin-top:15px;&::before{content:'\u520A\u51FA\u65E5\u671F';margin-right:10px;}"], function (props) {
105
128
  return createLine('top', props.theme.name);
106
129
  }, _color["default"].gray70);
107
130
 
108
131
  var AuthorSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
109
132
  displayName: "metadata__AuthorSection",
110
- componentId: "sc-1c3910m-4"
133
+ componentId: "sc-1c3910m-7"
111
134
  })(["margin-top:15px;margin-bottom:45px;"]);
112
135
 
113
136
  var AuthorRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
114
137
  displayName: "metadata__AuthorRow",
115
- componentId: "sc-1c3910m-5"
138
+ componentId: "sc-1c3910m-8"
116
139
  })(["display:flex;align-items:flex-start;margin-bottom:10px;"]);
117
140
 
118
141
  var AuthorJobTitle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
119
142
  displayName: "metadata__AuthorJobTitle",
120
- componentId: "sc-1c3910m-6"
143
+ componentId: "sc-1c3910m-9"
121
144
  })(["font-size:14px;color:", ";margin-left:5px;padding-top:2px;line-height:1;flex-shrink:0;"], _color["default"].gray80);
122
145
 
123
146
  var AuthorNames = /*#__PURE__*/_styledComponents["default"].div.withConfig({
124
147
  displayName: "metadata__AuthorNames",
125
- componentId: "sc-1c3910m-7"
148
+ componentId: "sc-1c3910m-10"
126
149
  })(["display:flex;flex-wrap:wrap;"]);
127
150
 
128
151
  var AuthorName = /*#__PURE__*/_styledComponents["default"].div.withConfig({
129
152
  displayName: "metadata__AuthorName",
130
- componentId: "sc-1c3910m-8"
131
- })(["font-size:16px;margin-left:5px;line-height:1;padding-bottom:3px;word-break:keep-all;vertical-align:top;&:hover{padding-bottom:2px;border-width:0 0 1px 0;border-style:solid;}", ""], _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-block;\n "]))));
153
+ componentId: "sc-1c3910m-11"
154
+ })(["font-size:16px;margin-left:5px;line-height:1;padding-bottom:3px;word-break:keep-all;vertical-align:top;&:hover{padding-bottom:2px;border-width:0 0 1px 0;border-style:solid;}", ""], _mediaQuery["default"].mobileOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: inline-block;\n "]))));
132
155
 
133
156
  var RawAuthorText = /*#__PURE__*/_styledComponents["default"].div.withConfig({
134
157
  displayName: "metadata__RawAuthorText",
135
- componentId: "sc-1c3910m-9"
158
+ componentId: "sc-1c3910m-12"
136
159
  })(["font-size:14px;color:", ";padding-left:5px;"], _color["default"].gray80);
137
160
 
138
161
  var AngledSeparationLine = /*#__PURE__*/_styledComponents["default"].div.withConfig({
139
162
  displayName: "metadata__AngledSeparationLine",
140
- componentId: "sc-1c3910m-10"
163
+ componentId: "sc-1c3910m-13"
141
164
  })(["border-width:0.5px;border-style:solid;width:15px;transform:translateY(9px) rotate(-45deg);flex-shrink:0;"]);
142
165
 
143
166
  var TagButton = /*#__PURE__*/_styledComponents["default"].div.withConfig({
144
167
  displayName: "metadata__TagButton",
145
- componentId: "sc-1c3910m-11"
168
+ componentId: "sc-1c3910m-14"
146
169
  })(["border-style:solid;border-width:1px;border-radius:50px;padding:5px 10px 5px 10px;font-size:14px;font-weight:", ";margin-bottom:10px;margin-right:10px;&:before{content:'#';}"], _typography["default"].font.weight.normal);
147
170
 
148
171
  var TagsSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
149
172
  displayName: "metadata__TagsSection",
150
- componentId: "sc-1c3910m-12"
173
+ componentId: "sc-1c3910m-15"
151
174
  })(["display:flex;flex-wrap:wrap;align-content:center;", ""], function (props) {
152
175
  return createLine('bottom', props.theme.name);
153
176
  });
154
177
 
155
178
  var MetadataContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
156
179
  displayName: "metadata__MetadataContainer",
157
- componentId: "sc-1c3910m-13"
180
+ componentId: "sc-1c3910m-16"
158
181
  })(["", " letter-spacing:0.4px;", " ", ""], function (props) {
159
182
  return getMetadataContainerStyles(props.theme.name);
160
- }, _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: calc(300/355*100%);\n margin: 0 auto;\n "]))), _mediaQuery["default"].tabletOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 513px;\n margin: 0 auto;\n "]))));
183
+ }, _mediaQuery["default"].mobileOnly(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: calc(300/355*100%);\n margin: 0 auto;\n "]))), _mediaQuery["default"].tabletOnly(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 513px;\n margin: 0 auto;\n "]))));
161
184
 
162
185
  function getMetadataContainerStyles(themeName) {
163
186
  switch (themeName) {
@@ -214,6 +237,36 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
214
237
  return categoriesJSX;
215
238
  }));
216
239
  }
240
+ }, {
241
+ key: "renderCategorySetSection",
242
+ value: function renderCategorySetSection() {
243
+ var categorySet = this.props.categorySet;
244
+ return /*#__PURE__*/_react["default"].createElement(CategorySetFlexBox, null, /*#__PURE__*/_react["default"].createElement(_dynamicComponentsContext["default"].Consumer, null, function (components) {
245
+ var categorySetJSX = _.map(categorySet, function (set, index) {
246
+ var _set$category, _set$category2, _set$subcategory, _set$subcategory2;
247
+
248
+ var genLink = function genLink(path, name) {
249
+ var isCategory = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
250
+ return /*#__PURE__*/_react["default"].createElement(CategorySetFlex, {
251
+ isCategory: isCategory,
252
+ isTop: index === 0
253
+ }, path && name && /*#__PURE__*/_react["default"].createElement(components.Link, {
254
+ to: path
255
+ }, /*#__PURE__*/_react["default"].createElement(CategoryText, {
256
+ style: {
257
+ fontWeight: isCategory ? 'bold' : 'normal'
258
+ }
259
+ }, name)));
260
+ };
261
+
262
+ return /*#__PURE__*/_react["default"].createElement(LinkContainer, {
263
+ key: "categorySet-".concat(index)
264
+ }, genLink("/categories/".concat(set === null || set === void 0 ? void 0 : (_set$category = set.category) === null || _set$category === void 0 ? void 0 : _set$category.id), set === null || set === void 0 ? void 0 : (_set$category2 = set.category) === null || _set$category2 === void 0 ? void 0 : _set$category2.name, true), genLink("/tags/".concat(set === null || set === void 0 ? void 0 : (_set$subcategory = set.subcategory) === null || _set$subcategory === void 0 ? void 0 : _set$subcategory.id), set === null || set === void 0 ? void 0 : (_set$subcategory2 = set.subcategory) === null || _set$subcategory2 === void 0 ? void 0 : _set$subcategory2.name));
265
+ });
266
+
267
+ return categorySetJSX;
268
+ }));
269
+ }
217
270
  }, {
218
271
  key: "renderTagsSection",
219
272
  value: function renderTagsSection() {
@@ -264,7 +317,7 @@ var Metadata = /*#__PURE__*/function (_PureComponent) {
264
317
  month: 'numeric',
265
318
  day: 'numeric'
266
319
  }) : '';
267
- return /*#__PURE__*/_react["default"].createElement(MetadataContainer, null, this.renderCategorySection(), /*#__PURE__*/_react["default"].createElement(DateSection, null, date), this.renderAuthorsSection(), this.renderTagsSection());
320
+ return /*#__PURE__*/_react["default"].createElement(MetadataContainer, null, _featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySetSection(), !_featureFlag.ENABLE_NEW_INFO_ARCH && this.renderCategorySection(), /*#__PURE__*/_react["default"].createElement(DateSection, null, date), this.renderAuthorsSection(), this.renderTagsSection());
268
321
  }
269
322
  }]);
270
323
 
@@ -275,6 +328,7 @@ _defineProperty(Metadata, "propTypes", _aside["default"].metadata);
275
328
 
276
329
  _defineProperty(Metadata, "defaultProps", {
277
330
  categories: [],
331
+ categorySet: [],
278
332
  tags: [],
279
333
  writers: [],
280
334
  photographers: [],
@@ -23,6 +23,10 @@ var _default = {
23
23
  name: _propTypes["default"].string.isRequired,
24
24
  sort_order: _propTypes["default"].number.isRequired
25
25
  })),
26
+ categorySet: _propTypes["default"].arrayOf(_propTypes["default"].shape({
27
+ category: _propTypes["default"].string.isRequired,
28
+ subcategory: _propTypes["default"].string.isRequired
29
+ })),
26
30
  tags: _propTypes["default"].arrayOf(_propTypes["default"].shape({
27
31
  id: _propTypes["default"].string.isRequired,
28
32
  name: _propTypes["default"].string.isRequired
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-article-components",
3
- "version": "1.6.4-rc.1",
3
+ "version": "1.6.4-rc.2",
4
4
  "description": "The Reporter react article components, which are used in article page",
5
5
  "main": "lib/components/article-page.js",
6
6
  "repository": "https://github.com/twreporter/twreporter-npm-packages.git",
@@ -40,5 +40,5 @@
40
40
  "files": [
41
41
  "lib"
42
42
  ],
43
- "gitHead": "c39b265ecd77107f0e1aeb6d3d147efb969c6226"
43
+ "gitHead": "bd76b2c13e84ed0675cd7af84b5647e6d629d29e"
44
44
  }