@twreporter/react-components 8.17.0-rc.8 → 8.17.0

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,7 +3,7 @@
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
- # [8.17.0-rc.8](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.7...@twreporter/react-components@8.17.0-rc.8) (2023-04-27)
6
+ # [8.17.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.15...@twreporter/react-components@8.17.0) (2023-05-09)
7
7
 
8
8
  **Note:** Version bump only for package @twreporter/react-components
9
9
 
@@ -11,40 +11,123 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [8.17.0-rc.7](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.6...@twreporter/react-components@8.17.0-rc.7) (2023-04-24)
14
+ # [8.17.0-rc.15](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.14...@twreporter/react-components@8.17.0-rc.15) (2023-05-09)
15
15
 
16
16
 
17
17
  ### Bug Fixes
18
18
 
19
- * card list rwd ([f28ef4f](https://github.com/twreporter/twreporter-npm-packages/commit/f28ef4f77401bbbdd741d37349b94d00df5d3ba6))
19
+ * change image width ([8fabb25](https://github.com/twreporter/twreporter-npm-packages/commit/8fabb254101f39019e39db1c0dc9a3d2bf5403da))
20
20
 
21
21
 
22
22
 
23
23
 
24
24
 
25
- # [8.17.0-rc.6](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.5...@twreporter/react-components@8.17.0-rc.6) (2023-04-18)
25
+ # [8.17.0-rc.14](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.13...@twreporter/react-components@8.17.0-rc.14) (2023-05-09)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * listing-page style ([47493e8](https://github.com/twreporter/twreporter-npm-packages/commit/47493e8dca634122e85371cc208155ec37407e61))
31
+
32
+
33
+
34
+
35
+
36
+ # [8.17.0-rc.13](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.12...@twreporter/react-components@8.17.0-rc.13) (2023-05-08)
26
37
 
27
38
 
28
39
  ### Bug Fixes
29
40
 
30
- * add type prop for Icon component & refactor ([06a1f9c](https://github.com/twreporter/twreporter-npm-packages/commit/06a1f9c1b00c6741a2b0cbd878cd24dd11d26a30))
31
- * address review comments ([022d112](https://github.com/twreporter/twreporter-npm-packages/commit/022d112baa7001db775b55ef604e909aa7f76462))
32
- * adjust PillButton style ([f17124a](https://github.com/twreporter/twreporter-npm-packages/commit/f17124a0a884ec26d2838d869264e711644f2d90))
33
- * make paragraph & link button support inline style ([822a864](https://github.com/twreporter/twreporter-npm-packages/commit/822a8645bf1ea1f65dc86c7f636c7db840b56c68))
34
- * merge text/link into buttom/link component & migrate ([0b526b2](https://github.com/twreporter/twreporter-npm-packages/commit/0b526b2c9171169377d188add257c062811f7758))
35
- * refactor use of enums in react-components ([fadd2a5](https://github.com/twreporter/twreporter-npm-packages/commit/fadd2a5e963a3fa6f55dbcba82f1dc3b5c03b6d2))
36
- * remove storybook related const from @twreporter/core packages ([4d22736](https://github.com/twreporter/twreporter-npm-packages/commit/4d22736f409a002537d1912300ff911197582729))
37
- * use component defined enums to assign props ([2e0ff41](https://github.com/twreporter/twreporter-npm-packages/commit/2e0ff41dec714b4a9c97a02027dc4fdb91c958b9))
41
+ * [@font-face](https://github.com/font-face) should use in root file ([4029c23](https://github.com/twreporter/twreporter-npm-packages/commit/4029c2312ed223588fde7308e15d50ed9a34e140))
42
+
43
+
44
+
45
+
46
+
47
+ # [8.17.0-rc.12](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.11...@twreporter/react-components@8.17.0-rc.12) (2023-05-05)
48
+
49
+ **Note:** Version bump only for package @twreporter/react-components
50
+
51
+
52
+
53
+
54
+
55
+ # [8.17.0-rc.11](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.10...@twreporter/react-components@8.17.0-rc.11) (2023-05-05)
38
56
 
39
57
 
40
58
  ### Features
41
59
 
42
- * add Letter & Google icon components ([fbf1dfc](https://github.com/twreporter/twreporter-npm-packages/commit/fbf1dfc111a021d5d9fd9254cef8e402e0f2384e))
43
- * add LinkButton component with storybook ([25a9976](https://github.com/twreporter/twreporter-npm-packages/commit/25a9976bfe0998dc9985fb6aa3ab921dae00f6a8))
60
+ * add empty state component ([ca74cbb](https://github.com/twreporter/twreporter-npm-packages/commit/ca74cbbc08dd5c7ea0ee651df5a932d0fe61d57e))
61
+ * add empty state enums ([0fb55fd](https://github.com/twreporter/twreporter-npm-packages/commit/0fb55fd59cfbd2fdde6e13eefaf1781c5f726221))
62
+ * fix comment ([f97b2bb](https://github.com/twreporter/twreporter-npm-packages/commit/f97b2bb22f1542b31ba474517f25122bacb67708))
63
+ * fix comment ([028e8b9](https://github.com/twreporter/twreporter-npm-packages/commit/028e8b9798e2164930e584d050964f98ceb70aee))
64
+ * fix comment ([9e20be1](https://github.com/twreporter/twreporter-npm-packages/commit/9e20be174f3b939437d3ddfb400520be9bb6449e))
65
+ * set props and storybook ([9aabed0](https://github.com/twreporter/twreporter-npm-packages/commit/9aabed0640f1d509859aaf659705b1f93c766f04))
66
+ * set style to bookmark ([91c76fb](https://github.com/twreporter/twreporter-npm-packages/commit/91c76fb73f9656dee57bb8ba823d7e92709e4a14))
67
+
68
+
69
+
70
+
71
+
72
+ # [8.17.0-rc.10](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.9...@twreporter/react-components@8.17.0-rc.10) (2023-05-03)
73
+
74
+
75
+ ### Bug Fixes
76
+
77
+ * add MaterialIcon component to support google material symbols ([af520b1](https://github.com/twreporter/twreporter-npm-packages/commit/af520b1c300c9b092d6c79d983b777c5ce6646e2))
78
+ * use `material-symbols` package instead of `react-material-symbols` ([1937a3f](https://github.com/twreporter/twreporter-npm-packages/commit/1937a3fbf7841aad7176d644cc3c9bb77575fb64))
79
+
44
80
 
45
81
 
46
82
 
47
83
 
84
+ # [8.17.0-rc.9](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.8...@twreporter/react-components@8.17.0-rc.9) (2023-04-28)
85
+
86
+
87
+ ### Bug Fixes
88
+
89
+ * add `showCategory` prop for List component ([20da390](https://github.com/twreporter/twreporter-npm-packages/commit/20da3909f564a660490e81391d989df452a0ac9c))
90
+
91
+
92
+
93
+
94
+
95
+ # [8.17.0-rc.8](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.7...@twreporter/react-components@8.17.0-rc.8) (2023-04-27)
96
+
97
+ **Note:** Version bump only for package @twreporter/react-components
98
+
99
+
100
+
101
+
102
+
103
+ # [8.17.0-rc.7](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.6...@twreporter/react-components@8.17.0-rc.7) (2023-04-24)
104
+
105
+
106
+ ### Bug Fixes
107
+
108
+ * card list rwd ([f28ef4f](https://github.com/twreporter/twreporter-npm-packages/commit/f28ef4f77401bbbdd741d37349b94d00df5d3ba6))
109
+
110
+
111
+
112
+
113
+
114
+ # [8.17.0-rc.6](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.5...@twreporter/react-components@8.17.0-rc.6) (2023-04-18)
115
+
116
+ ### Bug Fixes
117
+
118
+ - add type prop for Icon component & refactor ([06a1f9c](https://github.com/twreporter/twreporter-npm-packages/commit/06a1f9c1b00c6741a2b0cbd878cd24dd11d26a30))
119
+ - address review comments ([022d112](https://github.com/twreporter/twreporter-npm-packages/commit/022d112baa7001db775b55ef604e909aa7f76462))
120
+ - adjust PillButton style ([f17124a](https://github.com/twreporter/twreporter-npm-packages/commit/f17124a0a884ec26d2838d869264e711644f2d90))
121
+ - make paragraph & link button support inline style ([822a864](https://github.com/twreporter/twreporter-npm-packages/commit/822a8645bf1ea1f65dc86c7f636c7db840b56c68))
122
+ - merge text/link into buttom/link component & migrate ([0b526b2](https://github.com/twreporter/twreporter-npm-packages/commit/0b526b2c9171169377d188add257c062811f7758))
123
+ - refactor use of enums in react-components ([fadd2a5](https://github.com/twreporter/twreporter-npm-packages/commit/fadd2a5e963a3fa6f55dbcba82f1dc3b5c03b6d2))
124
+ - remove storybook related const from @twreporter/core packages ([4d22736](https://github.com/twreporter/twreporter-npm-packages/commit/4d22736f409a002537d1912300ff911197582729))
125
+ - use component defined enums to assign props ([2e0ff41](https://github.com/twreporter/twreporter-npm-packages/commit/2e0ff41dec714b4a9c97a02027dc4fdb91c958b9))
126
+
127
+ ### Features
128
+
129
+ - add Letter & Google icon components ([fbf1dfc](https://github.com/twreporter/twreporter-npm-packages/commit/fbf1dfc111a021d5d9fd9254cef8e402e0f2384e))
130
+ - add LinkButton component with storybook ([25a9976](https://github.com/twreporter/twreporter-npm-packages/commit/25a9976bfe0998dc9985fb6aa3ab921dae00f6a8))
48
131
 
49
132
  # [8.17.0-rc.5](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.4...@twreporter/react-components@8.17.0-rc.5) (2023-04-17)
50
133
 
@@ -13,7 +13,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
13
 
14
14
  var _bookmark = _interopRequireDefault(require("./bookmark"));
15
15
 
16
- var _emptyGuide = _interopRequireDefault(require("./empty-guide"));
16
+ var _emptyState = _interopRequireDefault(require("../empty-state"));
17
17
 
18
18
  var _headline = require("../text/headline");
19
19
 
@@ -21,6 +21,8 @@ var _paragraph = require("../text/paragraph");
21
21
 
22
22
  var _divider = _interopRequireDefault(require("../divider"));
23
23
 
24
+ var _icon = require("../icon");
25
+
24
26
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
25
27
 
26
28
  var _propTypes2 = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
@@ -29,11 +31,13 @@ var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/consta
29
31
 
30
32
  var _color = require("@twreporter/core/lib/constants/color");
31
33
 
34
+ var _requestOrigins = _interopRequireDefault(require("@twreporter/core/lib/constants/request-origins"));
35
+
32
36
  var _get = _interopRequireDefault(require("lodash/get"));
33
37
 
34
38
  var _map = _interopRequireDefault(require("lodash/map"));
35
39
 
36
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
40
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
37
41
 
38
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
43
 
@@ -52,12 +56,12 @@ var PageContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
52
56
  var Column = /*#__PURE__*/_styledComponents["default"].div.withConfig({
53
57
  displayName: "bookmarks__Column",
54
58
  componentId: "sc-1m95x6z-1"
55
- })(["margin:0 auto;width:97%;max-width:834px;", " ", ""], _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n max-width: 707px;\n "]))), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n "]))));
59
+ })(["margin:0 auto;width:97%;max-width:922px;", " ", ""], _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n max-width: 698px;\n "]))), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n "]))));
56
60
 
57
61
  var StatusBar = /*#__PURE__*/_styledComponents["default"].div.withConfig({
58
62
  displayName: "bookmarks__StatusBar",
59
63
  componentId: "sc-1m95x6z-2"
60
- })(["", " padding-bottom:64px;width:stretch;"], _mediaQuery["default"].mobileOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding-left: 1em;\n padding-right: 1em;\n "]))));
64
+ })(["", " ", " padding-bottom:64px;width:stretch;"], _mediaQuery["default"].mobileOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding-left: 24px;\n padding-right: 24px;\n padding-bottom: 24px;\n "]))), _mediaQuery["default"].tabletOnly(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding-bottom: 32px;\n "]))));
61
65
 
62
66
  var TitleContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
63
67
  displayName: "bookmarks__TitleContainer",
@@ -100,7 +104,19 @@ function Bookmarks(_ref) {
100
104
  text: total,
101
105
  weight: "bold"
102
106
  }));
103
- var contentJSX = total === 0 ? /*#__PURE__*/_react["default"].createElement(_emptyGuide["default"], {
107
+ var contentJSX = total === 0 ? /*#__PURE__*/_react["default"].createElement(_emptyState["default"], {
108
+ style: _emptyState["default"].Style.DEFAULT,
109
+ title: "\u4F60\u9084\u6C92\u6709\u5132\u5B58\u4EFB\u4F55\u6587\u7AE0\uFF01",
110
+ guide: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
111
+ text: "\u9EDE\u64CA"
112
+ }), /*#__PURE__*/_react["default"].createElement(_icon.Bookmark, {
113
+ type: _icon.Bookmark.Type.ADD,
114
+ releaseBranch: releaseBranch
115
+ }), /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
116
+ text: "\u5C07\u559C\u611B\u7684\u6587\u7AE0\u52A0\u5165\u6211\u7684\u66F8\u7C64"
117
+ })),
118
+ buttonText: "\u958B\u59CB\u63A2\u7D22",
119
+ buttonUrl: _requestOrigins["default"].forClientSideRendering[releaseBranch].main,
104
120
  releaseBranch: releaseBranch
105
121
  }) : /*#__PURE__*/_react["default"].createElement(BookmarksContainer, null, _.map(bookmarks, buildBookmark));
106
122
  return /*#__PURE__*/_react["default"].createElement(PageContainer, null, /*#__PURE__*/_react["default"].createElement(Column, null, /*#__PURE__*/_react["default"].createElement(StatusBar, null, /*#__PURE__*/_react["default"].createElement(TitleContainer, null, /*#__PURE__*/_react["default"].createElement(_headline.H1, {
@@ -38,10 +38,10 @@ var ButtonContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
38
38
  return props.hoverColor;
39
39
  }));
40
40
 
41
- var StyledP4 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P4).withConfig({
42
- displayName: "iconWithTextButton__StyledP4",
41
+ var StyledP3 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P3).withConfig({
42
+ displayName: "iconWithTextButton__StyledP3",
43
43
  componentId: "sc-1f9d1q4-1"
44
- })(["max-height:", ";opacity:", ";transition:opacity 100ms;"], function (props) {
44
+ })(["margin-top:2px;max-height:", ";opacity:", ";transition:opacity 100ms;"], function (props) {
45
45
  return props.hideText ? '0px' : 'none';
46
46
  }, function (props) {
47
47
  return props.hideText ? '0' : '1';
@@ -67,9 +67,9 @@ var IconWithTextButton = function IconWithTextButton(_ref) {
67
67
  return /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
68
68
  color: color,
69
69
  hoverColor: hoverColor
70
- }, iconComponent, /*#__PURE__*/_react["default"].createElement(StyledP4, {
70
+ }, iconComponent, /*#__PURE__*/_react["default"].createElement(StyledP3, {
71
71
  text: text,
72
- weight: "bold",
72
+ weight: _paragraph.P3.Weight.NORMAL,
73
73
  hideText: hideText
74
74
  }));
75
75
  };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Style = void 0;
7
+ var Style = Object.freeze({
8
+ DEFAULT: 'default',
9
+ PENCIL: 'pencil',
10
+ UNDER_CONSTRUCTION: 'under_construction'
11
+ });
12
+ exports.Style = Style;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _color = require("@twreporter/core/lib/constants/color");
15
+
16
+ var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
17
+
18
+ var _paragraph = require("../text/paragraph");
19
+
20
+ var _button = require("../button");
21
+
22
+ var _enums = require("./enums");
23
+
24
+ var _sharedEnum = require("../shared-enum");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
+
28
+ // @twreporter
29
+ // components
30
+ var OuterContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
31
+ displayName: "empty-state__OuterContainer",
32
+ componentId: "sc-4ba2ko-0"
33
+ })(["width:100%;margin-top:8px;display:flex;flex-direction:column;align-items:center;"]);
34
+
35
+ var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
36
+ displayName: "empty-state__Container",
37
+ componentId: "sc-4ba2ko-1"
38
+ })(["display:flex;flex-direction:column;align-items:center;max-width:280px;"]);
39
+
40
+ var TextContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
41
+ displayName: "empty-state__TextContainer",
42
+ componentId: "sc-4ba2ko-2"
43
+ })(["margin:48px 0 24px 0;display:flex;flex-direction:column;align-items:center;color:", ";"], _color.colorGrayscale.gray800);
44
+
45
+ var ButtonContainer = /*#__PURE__*/_styledComponents["default"].a.withConfig({
46
+ displayName: "empty-state__ButtonContainer",
47
+ componentId: "sc-4ba2ko-3"
48
+ })(["text-decoration:none;"]);
49
+
50
+ var GuideContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
51
+ displayName: "empty-state__GuideContainer",
52
+ componentId: "sc-4ba2ko-4"
53
+ })(["display:flex;align-items:baseline;color:", ";svg{background-color:", ";width:18px;height:18px;margin:0 4px;transform:translateY(3px);}"], _color.colorGrayscale.gray600, _color.colorGrayscale.gray600);
54
+
55
+ var EmptyState = function EmptyState(_ref) {
56
+ var _ref$releaseBranch = _ref.releaseBranch,
57
+ releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch.BRANCH.master : _ref$releaseBranch,
58
+ _ref$style = _ref.style,
59
+ style = _ref$style === void 0 ? _enums.Style.DEFAULT : _ref$style,
60
+ _ref$title = _ref.title,
61
+ title = _ref$title === void 0 ? '' : _ref$title,
62
+ _ref$showGuide = _ref.showGuide,
63
+ showGuide = _ref$showGuide === void 0 ? true : _ref$showGuide,
64
+ _ref$guide = _ref.guide,
65
+ guide = _ref$guide === void 0 ? null : _ref$guide,
66
+ _ref$showButton = _ref.showButton,
67
+ showButton = _ref$showButton === void 0 ? true : _ref$showButton,
68
+ _ref$buttonText = _ref.buttonText,
69
+ buttonText = _ref$buttonText === void 0 ? '' : _ref$buttonText,
70
+ _ref$buttonUrl = _ref.buttonUrl,
71
+ buttonUrl = _ref$buttonUrl === void 0 ? '/' : _ref$buttonUrl;
72
+ var imageUrl = '';
73
+ var imageWidth = '';
74
+
75
+ switch (style) {
76
+ case _enums.Style.DEFAULT:
77
+ default:
78
+ imageUrl = "https://www.twreporter.org/assets/empty-state/".concat(releaseBranch, "/seek.png");
79
+ imageWidth = '170';
80
+ break;
81
+
82
+ case _enums.Style.PENCIL:
83
+ imageUrl = "https://www.twreporter.org/assets/empty-state/".concat(releaseBranch, "/pencil.png");
84
+ imageWidth = '232';
85
+ break;
86
+
87
+ case _enums.Style.UNDER_CONSTRUCTION:
88
+ imageUrl = "https://www.twreporter.org/assets/empty-state/".concat(releaseBranch, "/under_construction.png");
89
+ imageWidth = '177';
90
+ break;
91
+ }
92
+
93
+ return /*#__PURE__*/_react["default"].createElement(OuterContainer, null, /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement("img", {
94
+ src: imageUrl,
95
+ width: imageWidth
96
+ }), /*#__PURE__*/_react["default"].createElement(TextContainer, null, /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
97
+ text: title,
98
+ weight: _paragraph.P1.Weight.BOLD
99
+ }), showGuide && /*#__PURE__*/_react["default"].createElement(GuideContainer, null, typeof guide === 'string' ? /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
100
+ text: guide
101
+ }) : guide)), showButton && /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
102
+ href: buttonUrl
103
+ }, /*#__PURE__*/_react["default"].createElement(_button.PillButton, {
104
+ text: buttonText,
105
+ size: _sharedEnum.Size.L
106
+ }))));
107
+ };
108
+
109
+ EmptyState.propTypes = {
110
+ releaseBranch: _releaseBranch.BRANCH_PROP_TYPES,
111
+ style: _propTypes["default"].oneOf(Object.values(_enums.Style)),
112
+ title: _propTypes["default"].string,
113
+ showGuide: _propTypes["default"].bool,
114
+ guide: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].string]),
115
+ showButton: _propTypes["default"].bool,
116
+ buttonText: _propTypes["default"].string,
117
+ buttonUrl: _propTypes["default"].string
118
+ };
119
+ EmptyState.Style = _enums.Style;
120
+ var _default = EmptyState;
121
+ exports["default"] = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.emptyState = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _index = _interopRequireDefault(require("../index"));
11
+
12
+ var _enums = require("../enums");
13
+
14
+ var _getEnumArg = require("../../storybook/utils/get-enum-arg");
15
+
16
+ var _constants = require("../../storybook/constants");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var _default = {
21
+ title: 'Empty State',
22
+ component: _index["default"],
23
+ argTypes: {
24
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE,
25
+ style: (0, _getEnumArg.getRadioArg)(_enums.Style, _enums.Style.DEFAULT)
26
+ }
27
+ };
28
+ exports["default"] = _default;
29
+
30
+ var emptyState = function emptyState(args) {
31
+ return /*#__PURE__*/_react["default"].createElement(_index["default"], args);
32
+ };
33
+
34
+ exports.emptyState = emptyState;
35
+ emptyState.args = {
36
+ title: '文字',
37
+ showGuide: true,
38
+ guide: '文字文字',
39
+ showButton: true,
40
+ buttonText: '按鈕',
41
+ buttonUrl: '/'
42
+ };
@@ -39,7 +39,7 @@ var _get = _interopRequireDefault(require("lodash/get"));
39
39
 
40
40
  var _map = _interopRequireDefault(require("lodash/map"));
41
41
 
42
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
42
+ var _templateObject, _templateObject2, _templateObject3;
43
43
 
44
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
45
45
 
@@ -65,7 +65,7 @@ var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
65
65
  var Item = /*#__PURE__*/_styledComponents["default"].div.withConfig({
66
66
  displayName: "card-list__Item",
67
67
  componentId: "yvf001-2"
68
- })(["margin-bottom:24px;&:hover{opacity:0.7;}&:last-child{margin-bottom:0;}width:100%;", ""], _mediaQuery["default"].mobileOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "%;\n "])), _mockupSpec["default"].mobile.cardWidth / _mockupSpec["default"].mobile.maxWidth * 100));
68
+ })(["margin-bottom:24px;&:hover{opacity:0.7;}&:last-child{margin-bottom:0;}width:100%;"]);
69
69
 
70
70
  var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["default"]).withConfig({
71
71
  displayName: "card-list__StyledDivider",
@@ -75,7 +75,7 @@ var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["def
75
75
  var FlexItem = /*#__PURE__*/_styledComponents["default"].div.withConfig({
76
76
  displayName: "card-list__FlexItem",
77
77
  componentId: "yvf001-4"
78
- })(["width:", "px;margin:0 auto;display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;", " ", " ", ""], _mockupSpec["default"].hd.maxWidth, _mediaQuery["default"].desktopOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.maxWidth), _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].tablet.maxWidth), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n justify-content: center;\n "]))));
78
+ })(["width:", "px;margin:0 auto;display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;", " ", " ", ""], _mockupSpec["default"].hd.maxWidth, _mediaQuery["default"].desktopOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.maxWidth), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].tablet.maxWidth), _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n justify-content: center;\n "]))));
79
79
 
80
80
  var Content = (0, _isFetchingWrapper["default"])(FlexItem);
81
81
 
@@ -69,7 +69,7 @@ var _ = {
69
69
  var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
70
70
  displayName: "list-item__Container",
71
71
  componentId: "sc-1dx5lew-0"
72
- })(["width:", "px;", " ", " ", " a{color:", ";}"], _mockupSpec["default"].hd.cardWidth, _mediaQuery["default"].desktopOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.cardWidth), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].tablet.cardWidth), _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: ", "%;\n "])), _mockupSpec["default"].mobile.cardWidth / _mockupSpec["default"].mobile.maxWidth * 100), _color["default"].darkGray);
72
+ })(["width:", "px;", " ", " ", " a{color:", ";}"], _mockupSpec["default"].hd.cardWidth, _mediaQuery["default"].desktopOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.cardWidth), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].tablet.cardWidth), _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n "]))), _color["default"].darkGray);
73
73
 
74
74
  var HoverEffect = /*#__PURE__*/_styledComponents["default"].div.withConfig({
75
75
  displayName: "list-item__HoverEffect",
@@ -19,16 +19,16 @@ var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/med
19
19
 
20
20
  var _date = require("@twreporter/core/lib/utils/date");
21
21
 
22
- var _font = require("@twreporter/core/lib/constants/font");
23
-
24
22
  var _theme = require("@twreporter/core/lib/constants/theme");
25
23
 
26
24
  var _mockupSpec = _interopRequireDefault(require("../constants/mockup-spec"));
27
25
 
28
- var _color = _interopRequireDefault(require("../constants/color"));
29
-
30
26
  var _listItem = _interopRequireDefault(require("./list-item"));
31
27
 
28
+ var _pageContent = _interopRequireDefault(require("./page-content"));
29
+
30
+ var _titleBar = require("../../title-bar");
31
+
32
32
  var _isFetchingWrapper = _interopRequireDefault(require("../../is-fetching-wrapper"));
33
33
 
34
34
  var _forEach = _interopRequireDefault(require("lodash/forEach"));
@@ -37,7 +37,7 @@ var _get = _interopRequireDefault(require("lodash/get"));
37
37
 
38
38
  var _map = _interopRequireDefault(require("lodash/map"));
39
39
 
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
40
+ var _templateObject, _templateObject2, _templateObject3;
41
41
 
42
42
  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); }
43
43
 
@@ -73,20 +73,10 @@ var _ = {
73
73
  map: _map["default"]
74
74
  };
75
75
 
76
- var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
77
- displayName: "list__Container",
78
- componentId: "sc-1olquk4-0"
79
- })(["margin:0 auto;"]);
80
-
81
- var Header = /*#__PURE__*/_styledComponents["default"].div.withConfig({
82
- displayName: "list__Header",
83
- componentId: "sc-1olquk4-1"
84
- })(["font-size:36px;font-weight:", ";color:", ";margin:0 auto 45px auto;text-align:center;", ""], _font.fontWeight.bold, _color["default"].darkDarkGray, _mediaQuery["default"].mobileOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "%;\n text-align: left;\n "])), _mockupSpec["default"].mobile.cardWidth / _mockupSpec["default"].mobile.maxWidth * 100));
85
-
86
76
  var FlexItems = /*#__PURE__*/_styledComponents["default"].div.withConfig({
87
77
  displayName: "list__FlexItems",
88
- componentId: "sc-1olquk4-2"
89
- })(["width:", "px;margin:0 auto;display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;> div:nth-child(odd){margin-right:", "px;}", " ", " ", ""], _mockupSpec["default"].hd.maxWidth, _mockupSpec["default"].marginBetweenItems, _mediaQuery["default"].desktopOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.maxWidth), _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].tablet.maxWidth), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n > div:nth-child(odd) {\n margin-right: 0;\n }\n justify-content: center;\n "]))));
78
+ componentId: "sc-1olquk4-0"
79
+ })(["width:", "px;margin:64px auto 0;display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap;> div:nth-child(odd){margin-right:", "px;}", " ", " ", ""], _mockupSpec["default"].hd.maxWidth, _mockupSpec["default"].marginBetweenItems, _mediaQuery["default"].desktopOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), _mockupSpec["default"].desktop.maxWidth), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n margin-top: 32px;\n "])), _mockupSpec["default"].tablet.maxWidth), _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: 100%;\n margin-top: 24px;\n > div:nth-child(odd) {\n margin-right: 0;\n }\n justify-content: center;\n "]))));
90
80
 
91
81
  var Items = (0, _isFetchingWrapper["default"])(FlexItems);
92
82
 
@@ -109,7 +99,8 @@ var List = /*#__PURE__*/function (_PureComponent) {
109
99
  catName = _this$props.catName,
110
100
  tagName = _this$props.tagName,
111
101
  isFetching = _this$props.isFetching,
112
- showSpinner = _this$props.showSpinner;
102
+ showSpinner = _this$props.showSpinner,
103
+ showCategory = _this$props.showCategory;
113
104
  var listJSX = [];
114
105
 
115
106
  _.forEach(data, function (item) {
@@ -145,7 +136,7 @@ var List = /*#__PURE__*/function (_PureComponent) {
145
136
  // In cases which do not have `hero_image`, display `og_image` as fallback.
146
137
  src: _.get(item, 'hero_image.resized_targets.mobile.url') || _.get(item, 'og_image.resized_targets.mobile.url')
147
138
  },
148
- category: _.get(item, 'categories.0.name', ''),
139
+ category: showCategory && _.get(item, 'category_set.0.category.name', ''),
149
140
  pubDate: (0, _date.date2yyyymmdd)(_.get(item, 'published_date', ''), '.'),
150
141
  tags: tags,
151
142
  link: {
@@ -156,8 +147,10 @@ var List = /*#__PURE__*/function (_PureComponent) {
156
147
  });
157
148
 
158
149
  var headerTitle = catName || (tagName ? "#".concat(tagName) : '');
159
- var headerJSX = headerTitle ? /*#__PURE__*/_react["default"].createElement(Header, null, headerTitle) : null;
160
- return /*#__PURE__*/_react["default"].createElement(Container, null, headerJSX, /*#__PURE__*/_react["default"].createElement(Items, {
150
+ var headerJSX = headerTitle ? /*#__PURE__*/_react["default"].createElement(_titleBar.TitleBar, {
151
+ title: headerTitle !== null && headerTitle !== void 0 ? headerTitle : ''
152
+ }) : null;
153
+ return /*#__PURE__*/_react["default"].createElement(_pageContent["default"], null, headerJSX, /*#__PURE__*/_react["default"].createElement(Items, {
161
154
  isFetching: isFetching,
162
155
  showSpinner: showSpinner
163
156
  }, listJSX));
@@ -172,7 +165,8 @@ List.defaultProps = {
172
165
  catName: '',
173
166
  tagName: '',
174
167
  isFetching: false,
175
- showSpinner: false
168
+ showSpinner: false,
169
+ showCategory: false
176
170
  };
177
171
  List.propTypes = {
178
172
  data: _propTypes["default"].arrayOf(_propTypes["default"].shape({
@@ -188,7 +182,8 @@ List.propTypes = {
188
182
  tagName: _propTypes["default"].string,
189
183
  catName: _propTypes["default"].string,
190
184
  isFetching: _propTypes["default"].bool,
191
- showSpinner: _propTypes["default"].bool
185
+ showSpinner: _propTypes["default"].bool,
186
+ showCategory: _propTypes["default"].bool
192
187
  };
193
188
  var _default = List;
194
189
  exports["default"] = _default;
@@ -7,11 +7,11 @@ exports["default"] = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
- var _predefinedCss = require("../../constants/predefined-css");
10
+ var _predefinedCss = require("../constants/predefined-css");
11
11
 
12
12
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
13
13
 
14
- var _templateObject, _templateObject2;
14
+ var _templateObject, _templateObject2, _templateObject3;
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
17
 
@@ -21,11 +21,13 @@ var styles = {
21
21
  contentWidth: {
22
22
  min: 300,
23
23
  // px
24
- mobile: 95,
24
+ mobile: 100,
25
25
  // %
26
- tablet: 700,
26
+ tablet: 698,
27
27
  // px
28
- desktop: 870 // px
28
+ desktop: 922,
29
+ // px
30
+ hd: 1130 // px
29
31
 
30
32
  },
31
33
  titlePadding: 0,
@@ -37,8 +39,8 @@ var styles = {
37
39
 
38
40
  var PageContent = /*#__PURE__*/_styledComponents["default"].div.withConfig({
39
41
  displayName: "page-content__PageContent",
40
- componentId: "sc-1x8tj4h-0"
41
- })(["min-width:", "px;width:", "%;", " ", " margin:0 auto;", ""], styles.contentWidth.min, styles.contentWidth.mobile, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), styles.contentWidth.tablet), _mediaQuery["default"].desktopAndAbove(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), styles.contentWidth.desktop), _predefinedCss.resetLinkStyle);
42
+ componentId: "sc-10tix5l-0"
43
+ })(["min-width:", "px;width:", "%;", " ", " ", " margin:0 auto;", ""], styles.contentWidth.min, styles.contentWidth.mobile, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n "])), styles.contentWidth.tablet), _mediaQuery["default"].desktopOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), styles.contentWidth.desktop), _mediaQuery["default"].hdOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n width: ", "px;\n "])), styles.contentWidth.hd), _predefinedCss.resetLinkStyle);
42
44
 
43
45
  var _default = PageContent;
44
46
  exports["default"] = _default;
@@ -19,7 +19,7 @@ var _postItem = _interopRequireDefault(require("./post-item"));
19
19
 
20
20
  var _topicItem = _interopRequireDefault(require("./topic-item"));
21
21
 
22
- var _pageContent = _interopRequireDefault(require("./page-content"));
22
+ var _pageContent = _interopRequireDefault(require("../page-content"));
23
23
 
24
24
  var _section = require("./section");
25
25
 
@@ -29,6 +29,8 @@ var _color = _interopRequireDefault(require("../../constants/color"));
29
29
 
30
30
  var _font = require("@twreporter/core/lib/constants/font");
31
31
 
32
+ var _titleBar = require("@twreporter/react-components/lib/title-bar");
33
+
32
34
  var _get = _interopRequireDefault(require("lodash/get"));
33
35
 
34
36
  var _map = _interopRequireDefault(require("lodash/map"));
@@ -164,9 +166,11 @@ var Topics = /*#__PURE__*/function (_Component) {
164
166
 
165
167
  topTopicName = _.get(topics, [0, 'topic_name'], '');
166
168
  topicUrl = _.get(topics, [0, 'linkTo'], '');
167
- topSectionJSX = [/*#__PURE__*/_react["default"].createElement(_section.SectionTitle, {
168
- key: "top-title"
169
- }, _topics.TEXT.SECTION_TITLE_FEATURED), /*#__PURE__*/_react["default"].createElement(_section.TopSectionContent, {
169
+ topSectionJSX = [/*#__PURE__*/_react["default"].createElement(_titleBar.TitleBar, {
170
+ key: "top-title",
171
+ title: "\u6DF1\u5EA6\u5C08\u984C",
172
+ subtitle: _topics.TEXT.SECTION_TITLE_FEATURED
173
+ }), /*#__PURE__*/_react["default"].createElement(_section.TopSectionContent, {
170
174
  key: "top-section",
171
175
  topicName: topTopicName,
172
176
  topicUrl: topicUrl
@@ -176,7 +180,9 @@ var Topics = /*#__PURE__*/function (_Component) {
176
180
  }
177
181
 
178
182
  var WrappedListSectionContent = (0, _isFetchingWrapper["default"])( /*#__PURE__*/_react["default"].createElement(_section.ListSectionContent, null, listedTopicsJSX));
179
- return /*#__PURE__*/_react["default"].createElement(_pageContent["default"], null, topSectionJSX, isFetching && isFirstPage ? null : /*#__PURE__*/_react["default"].createElement(_section.SectionTitle, null, _topics.TEXT.SECTION_TITLE_OTHERS), /*#__PURE__*/_react["default"].createElement(WrappedListSectionContent, {
183
+ return /*#__PURE__*/_react["default"].createElement(_pageContent["default"], null, topSectionJSX, isFetching && isFirstPage ? null : /*#__PURE__*/_react["default"].createElement(_titleBar.TitleBar, {
184
+ subtitle: _topics.TEXT.SECTION_TITLE_OTHERS
185
+ }), /*#__PURE__*/_react["default"].createElement(WrappedListSectionContent, {
180
186
  isFetching: isFetching,
181
187
  showSpinner: showSpinner
182
188
  }));
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SectionTitle = exports.ListSectionContent = exports.TopSectionContent = void 0;
6
+ exports.ListSectionContent = exports.TopSectionContent = void 0;
7
7
 
8
8
  var _reactRouterDom = require("react-router-dom");
9
9
 
@@ -50,13 +50,14 @@ var styles = {
50
50
  goToTopicMargin: [20, 'auto', 0, 'auto'],
51
51
  goToTopicPadding: [14, 0, 14, 0],
52
52
  sectionMargin: {
53
- mobile: [0, 0, 35, 0],
54
- tablet: [0, 0, 42, 0],
55
- desktop: [0, 0, 60, 0]
53
+ mobile: [24, 0, 36, 0],
54
+ tablet: [32, 0, 64, 0],
55
+ desktop: [64, 0, 64, 0]
56
56
  },
57
57
  titleMargin: {
58
58
  mobile: [0, 0, 24, 0],
59
- tablet: [0, 0, 42, 0]
59
+ tablet: [0, 0, 32, 0],
60
+ desktop: [0, 0, 64, 0]
60
61
  },
61
62
  titlePadding: [16, 0, 16, 0]
62
63
  };
@@ -65,21 +66,14 @@ var StyledLink = /*#__PURE__*/(0, _styledComponents["default"])(_reactRouterDom.
65
66
  componentId: "sc-125nvxn-0"
66
67
  })(["", " display:block;margin:", ";"], _predefinedCss.resetLinkStyle, (0, _css.arrayToCssShorthand)(styles.goToTopicMargin));
67
68
 
68
- var SectionTitle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
69
- displayName: "section__SectionTitle",
70
- componentId: "sc-125nvxn-1"
71
- })(["width:100%;border-bottom:2px solid ", ";padding:", ";color:", ";font-size:18px;font-weight:", ";line-height:1;margin:", ";", ""], _color["default"].gray, (0, _css.arrayToCssShorthand)(styles.titlePadding), _color["default"].darkGray, _font.fontWeight.bold, (0, _css.arrayToCssShorthand)(styles.titleMargin.mobile), _mediaQuery["default"].tabletAndAbove(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.titleMargin.tablet)));
72
-
73
- exports.SectionTitle = SectionTitle;
74
-
75
69
  var SectionContent = /*#__PURE__*/_styledComponents["default"].div.withConfig({
76
70
  displayName: "section__SectionContent",
77
- componentId: "sc-125nvxn-2"
78
- })(["width:100%;margin:", ";", " ", ""], (0, _css.arrayToCssShorthand)(styles.sectionMargin.mobile), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.sectionMargin.tablet)), _mediaQuery["default"].desktopAndAbove(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.sectionMargin.desktop)));
71
+ componentId: "sc-125nvxn-1"
72
+ })(["width:100%;", " ", " ", ""], _mediaQuery["default"].mobileOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.sectionMargin.mobile)), _mediaQuery["default"].tabletOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.sectionMargin.tablet)), _mediaQuery["default"].desktopAndAbove(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: ", ";\n "])), (0, _css.arrayToCssShorthand)(styles.sectionMargin.desktop)));
79
73
 
80
74
  var GoToTopic = /*#__PURE__*/_styledComponents["default"].div.withConfig({
81
75
  displayName: "section__GoToTopic",
82
- componentId: "sc-125nvxn-3"
76
+ componentId: "sc-125nvxn-2"
83
77
  })(["color:", ";text-align:center;line-height:1;padding:", ";span{display:inline-block;max-width:400px;", " white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0.1px;font-size:16px;font-weight:", ";}svg{height:16px;vertical-align:baseline;margin-left:0.5em;}"], _color["default"].blue, (0, _css.arrayToCssShorthand)(styles.goToTopicPadding), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n max-width: 290px;\n "]))), _font.fontWeight.normal);
84
78
 
85
79
  var TopSectionContent = function TopSectionContent(props) {
@@ -9,7 +9,7 @@ var marginBetweenItems = 20;
9
9
  var _default = {
10
10
  marginBetweenItems: marginBetweenItems,
11
11
  mobile: {
12
- maxWidth: 375,
12
+ maxWidth: 325 * 2 + marginBetweenItems,
13
13
  cardWidth: 325,
14
14
  tagsWidth: 240,
15
15
  imgHeight: 205
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var StyledSymbol = /*#__PURE__*/_styledComponents["default"].span.withConfig({
17
+ displayName: "material-icon__StyledSymbol",
18
+ componentId: "sc-1mjrid5-0"
19
+ })(["font-variation-settings:", ";"], function (props) {
20
+ return "\n 'FILL': ".concat(props.fill, ",\n 'wght': ").concat(props.weight, ",\n 'GRAD': ").concat(props.grade, ",\n 'opsz': ").concat(props.size, "\n ");
21
+ });
22
+
23
+ var MeterialSymbol = function MeterialSymbol(_ref) {
24
+ var icon = _ref.icon,
25
+ _ref$fill = _ref.fill,
26
+ fill = _ref$fill === void 0 ? false : _ref$fill,
27
+ _ref$weight = _ref.weight,
28
+ weight = _ref$weight === void 0 ? 400 : _ref$weight,
29
+ _ref$grade = _ref.grade,
30
+ grade = _ref$grade === void 0 ? 0 : _ref$grade,
31
+ _ref$size = _ref.size,
32
+ size = _ref$size === void 0 ? 24 : _ref$size;
33
+ var className = 'material-symbols-outlined';
34
+ return /*#__PURE__*/_react["default"].createElement(StyledSymbol, {
35
+ className: className,
36
+ fill: fill ? '0' : '1',
37
+ weight: weight,
38
+ grade: grade,
39
+ size: size
40
+ }, icon);
41
+ };
42
+
43
+ MeterialSymbol.propTypes = {
44
+ icon: _propTypes["default"].string.isRequired,
45
+ fill: _propTypes["default"].bool,
46
+ weight: _propTypes["default"].number,
47
+ grade: _propTypes["default"].number,
48
+ size: _propTypes["default"].number
49
+ };
50
+ var _default = MeterialSymbol;
51
+ exports["default"] = _default;
@@ -33,12 +33,12 @@ var TitleBar = function TitleBar(_ref) {
33
33
  title = _ref$title === void 0 ? '' : _ref$title,
34
34
  _ref$subtitle = _ref.subtitle,
35
35
  subtitle = _ref$subtitle === void 0 ? '' : _ref$subtitle;
36
- return /*#__PURE__*/_react["default"].createElement(BarContainer, null, /*#__PURE__*/_react["default"].createElement(_headline.H1, {
36
+ return /*#__PURE__*/_react["default"].createElement(BarContainer, null, title ? /*#__PURE__*/_react["default"].createElement(_headline.H1, {
37
37
  text: title
38
- }), /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
38
+ }) : null, subtitle ? /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
39
39
  text: subtitle,
40
40
  weight: _paragraph.P1.Weight.BOLD
41
- }), /*#__PURE__*/_react["default"].createElement(_divider["default"], {
41
+ }) : null, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
42
42
  direction: _divider["default"].Direction.HORIZONTAL
43
43
  }));
44
44
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-components",
3
- "version": "8.17.0-rc.8",
3
+ "version": "8.17.0",
4
4
  "main": "lib/index.js",
5
5
  "repository": "https://github.com/twreporter/twreporter-npm-packages.git",
6
6
  "author": "twreporter <developer@twreporter.org>",
@@ -15,11 +15,12 @@
15
15
  "chromatic": "npx chromatic --exit-zero-on-changes"
16
16
  },
17
17
  "dependencies": {
18
- "@twreporter/core": "^1.9.0-rc.1",
19
- "@twreporter/redux": "^7.5.1-rc.4",
18
+ "@twreporter/core": "^1.9.0",
19
+ "@twreporter/redux": "^7.5.1",
20
20
  "fontfaceobserver-es": "^3.3.3",
21
21
  "hoist-non-react-statics": "^2.3.1",
22
22
  "lodash": "^4.0.0",
23
+ "material-symbols": "^0.5.5",
23
24
  "memoize-one": "^5.0.5",
24
25
  "prop-types": "^15.0.0",
25
26
  "react": "^16.3.0",
@@ -44,5 +45,5 @@
44
45
  "babel-loader": "^8.2.4",
45
46
  "chromatic": "^6.5.4"
46
47
  },
47
- "gitHead": "c01dca1ff16ef8918bc360c10867494f27528ac4"
48
+ "gitHead": "9dfafcb33035b713b397e10d001ba09eafe6eefb"
48
49
  }
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
-
12
- var _color = require("@twreporter/core/lib/constants/color");
13
-
14
- var _propTypes = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
15
-
16
- var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
17
-
18
- var _requestOrigins = _interopRequireDefault(require("@twreporter/core/lib/constants/request-origins"));
19
-
20
- var _icon = require("../icon");
21
-
22
- var _paragraph = require("../text/paragraph");
23
-
24
- var _button = require("../button");
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
- // @twreporter
29
- // components
30
- var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
31
- displayName: "empty-guide__Container",
32
- componentId: "sc-1y7u9aq-0"
33
- })(["width:100%;display:flex;flex-direction:column;align-items:center;margin-top:8px;"]);
34
-
35
- var TextContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
36
- displayName: "empty-guide__TextContainer",
37
- componentId: "sc-1y7u9aq-1"
38
- })(["margin:48px 0 24px 0;display:flex;flex-direction:column;align-items:center;color:", ";"], _color.colorGrayscale.gray800);
39
-
40
- var ButtonContainer = /*#__PURE__*/_styledComponents["default"].a.withConfig({
41
- displayName: "empty-guide__ButtonContainer",
42
- componentId: "sc-1y7u9aq-2"
43
- })(["text-decoration:none;"]);
44
-
45
- var GuideContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
46
- displayName: "empty-guide__GuideContainer",
47
- componentId: "sc-1y7u9aq-3"
48
- })(["display:flex;align-items:baseline;color:", ";svg{background-color:", ";width:18px;height:18px;margin:0 4px;transform:translateY(3px);}"], _color.colorGrayscale.gray600, _color.colorGrayscale.gray600);
49
-
50
- var EmptyGuide = function EmptyGuide(_ref) {
51
- var _ref$releaseBranch = _ref.releaseBranch,
52
- releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch["default"].master : _ref$releaseBranch;
53
- var homepageUrl = _requestOrigins["default"].forClientSideRendering[releaseBranch].main;
54
- var seekImageUrl = "https://www.twreporter.org/assets/bookmark/".concat(releaseBranch, "/seek.png");
55
- return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement("img", {
56
- alt: "Seek Bookmark",
57
- src: seekImageUrl,
58
- width: "170"
59
- }), /*#__PURE__*/_react["default"].createElement(TextContainer, null, /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
60
- text: "\u4F60\u9084\u6C92\u6709\u5132\u5B58\u4EFB\u4F55\u6587\u7AE0\uFF01",
61
- weight: "bold"
62
- }), /*#__PURE__*/_react["default"].createElement(GuideContainer, null, /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
63
- text: "\u9EDE\u64CA"
64
- }), /*#__PURE__*/_react["default"].createElement(_icon.Bookmark, {
65
- type: "add",
66
- releaseBranch: releaseBranch
67
- }), /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
68
- text: "\u5C07\u559C\u611B\u7684\u6587\u7AE0\u52A0\u5165\u6211\u7684\u66F8\u7C64"
69
- }))), /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
70
- href: homepageUrl
71
- }, /*#__PURE__*/_react["default"].createElement(_button.PillButton, {
72
- text: "\u958B\u59CB\u63A2\u7D22",
73
- size: "L"
74
- })));
75
- };
76
-
77
- EmptyGuide.propTypes = {
78
- releaseBranch: _propTypes["default"].releaseBranch
79
- };
80
- var _default = EmptyGuide;
81
- exports["default"] = _default;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.emptyGuide = exports["default"] = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _emptyGuide = _interopRequireDefault(require("../empty-guide"));
11
-
12
- var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
- var master = _releaseBranch["default"].master,
17
- staging = _releaseBranch["default"].staging,
18
- preview = _releaseBranch["default"].preview,
19
- release = _releaseBranch["default"].release;
20
- var _default = {
21
- title: 'Bookmark/Empty Guide',
22
- component: _emptyGuide["default"],
23
- argTypes: {
24
- releaseBranch: {
25
- defaultValue: master,
26
- options: [master, staging, preview, release],
27
- control: {
28
- type: 'radio'
29
- }
30
- }
31
- }
32
- };
33
- exports["default"] = _default;
34
-
35
- var emptyGuide = function emptyGuide(args) {
36
- return /*#__PURE__*/_react["default"].createElement(_emptyGuide["default"], args);
37
- };
38
-
39
- exports.emptyGuide = emptyGuide;