@twreporter/react-components 8.21.0-rc.1 → 8.21.0-rc.3

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,33 @@
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.21.0-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.21.0-rc.2...@twreporter/react-components@8.21.0-rc.3) (2023-11-13)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * use Object.freeze and use en-US ([e4ff2a0](https://github.com/twreporter/twreporter-npm-packages/commit/e4ff2a0dda08003eb762d3009b6670b6c84cbcf1))
12
+
13
+
14
+ ### Features
15
+
16
+ * new moblie member role card ([2e01669](https://github.com/twreporter/twreporter-npm-packages/commit/2e01669144c072d5bd89d88fe68b97d69e8b6e6f))
17
+
18
+
19
+
20
+
21
+
22
+ # [8.21.0-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.21.0-rc.1...@twreporter/react-components@8.21.0-rc.2) (2023-11-13)
23
+
24
+
25
+ ### Features
26
+
27
+ * add `InheritLinkButton` component & story ([81788c5](https://github.com/twreporter/twreporter-npm-packages/commit/81788c5cbe4ac208656a83ae9dd565f1e06bb587))
28
+
29
+
30
+
31
+
32
+
6
33
  # [8.21.0-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.21.0-rc.0...@twreporter/react-components@8.21.0-rc.1) (2023-11-13)
7
34
 
8
35
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports["default"] = exports.InheritLinkButton = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -19,7 +19,8 @@ var _enums = require("../enums");
19
19
 
20
20
  var _color2 = require("@twreporter/core/lib/constants/color");
21
21
 
22
- var _excluded = ["type", "link", "text", "weight", "TextComponent", "disabled"];
22
+ var _excluded = ["type", "link", "text", "weight", "TextComponent", "disabled"],
23
+ _excluded2 = ["type", "link", "text"];
23
24
 
24
25
  var _decoration, _color;
25
26
 
@@ -37,16 +38,24 @@ var style = {
37
38
  decoration: (_decoration = {}, _defineProperty(_decoration, _enums.LinkType.DEFAULT, 'none'), _defineProperty(_decoration, _enums.LinkType.UNDERLINE, 'underline'), _decoration),
38
39
  color: (_color = {}, _defineProperty(_color, _enums.LinkType.DEFAULT, _color2.COLOR_SEMANTIC.info), _defineProperty(_color, _enums.LinkType.UNDERLINE, _color2.colorGrayscale.gray600), _color)
39
40
  };
40
- var LinkContainer = /*#__PURE__*/(0, _styledComponents["default"])(_customizedLink["default"]).withConfig({
41
- displayName: "link__LinkContainer",
41
+ var BaseContainer = /*#__PURE__*/(0, _styledComponents["default"])(_customizedLink["default"]).withConfig({
42
+ displayName: "link__BaseContainer",
42
43
  componentId: "g5z7t5-0"
43
- })(["display:flex;align-items:center;text-underline-offset:4px;text-decoration-line:", ";color:", ";", ""], function (props) {
44
+ })(["text-underline-offset:4px;text-decoration-line:", ";color:", ";&:hover{text-decoration-line:underline;}"], function (props) {
44
45
  return style.decoration[props.type];
45
46
  }, function (props) {
46
47
  return style.color[props.type];
47
- }, function (props) {
48
- return props.disabled ? "\n opacity: 0.5;\n cursor: auto;\n -webkit-tap-highlight-color: transparent;\n " : "\n &:hover {\n text-decoration-line: underline;\n }\n ";
49
48
  });
49
+ var LinkContainer = /*#__PURE__*/(0, _styledComponents["default"])(BaseContainer).withConfig({
50
+ displayName: "link__LinkContainer",
51
+ componentId: "g5z7t5-1"
52
+ })(["display:flex;align-items:center;", ""], function (props) {
53
+ return props.disabled ? "\n opacity: 0.5;\n cursor: auto;\n -webkit-tap-highlight-color: transparent;\n " : "\n ";
54
+ });
55
+ var InheritLinkContainer = /*#__PURE__*/(0, _styledComponents["default"])(BaseContainer).withConfig({
56
+ displayName: "link__InheritLinkContainer",
57
+ componentId: "g5z7t5-2"
58
+ })([""]);
50
59
 
51
60
  var LinkButton = function LinkButton(_ref) {
52
61
  var _ref$type = _ref.type,
@@ -86,5 +95,27 @@ LinkButton.propTypes = {
86
95
  };
87
96
  LinkButton.Type = _enums.LinkType;
88
97
  LinkButton.Weight = _paragraph.P1.Weight;
98
+
99
+ var InheritLinkButton = function InheritLinkButton(_ref2) {
100
+ var _ref2$type = _ref2.type,
101
+ type = _ref2$type === void 0 ? _enums.LinkType.DEFAULT : _ref2$type,
102
+ _ref2$link = _ref2.link,
103
+ link = _ref2$link === void 0 ? {} : _ref2$link,
104
+ _ref2$text = _ref2.text,
105
+ text = _ref2$text === void 0 ? '' : _ref2$text,
106
+ props = _objectWithoutProperties(_ref2, _excluded2);
107
+
108
+ return /*#__PURE__*/_react["default"].createElement(InheritLinkContainer, _extends({
109
+ type: type
110
+ }, props), text);
111
+ };
112
+
113
+ exports.InheritLinkButton = InheritLinkButton;
114
+ InheritLinkButton.propTypes = {
115
+ type: _propTypes["default"].oneOf(Object.values(_enums.LinkType)),
116
+ link: _propTypes["default"].object,
117
+ text: _propTypes["default"].string.isRequired
118
+ };
119
+ InheritLinkButton.Type = _enums.LinkType;
89
120
  var _default = LinkButton;
90
121
  exports["default"] = _default;
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -15,6 +17,12 @@ Object.defineProperty(exports, "IconWithTextButton", {
15
17
  return _iconWithTextButton["default"];
16
18
  }
17
19
  });
20
+ Object.defineProperty(exports, "InheritLinkButton", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _link.InheritLinkButton;
24
+ }
25
+ });
18
26
  Object.defineProperty(exports, "LinkButton", {
19
27
  enumerable: true,
20
28
  get: function get() {
@@ -57,10 +65,14 @@ var _textButton = _interopRequireDefault(require("./components/textButton"));
57
65
 
58
66
  var _toggleButton = _interopRequireDefault(require("./components/toggleButton"));
59
67
 
60
- var _link = _interopRequireDefault(require("./components/link"));
68
+ var _link = _interopRequireWildcard(require("./components/link"));
61
69
 
62
70
  var _menuButton = _interopRequireDefault(require("./components/menuButton"));
63
71
 
72
+ 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); }
73
+
74
+ 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; }
75
+
64
76
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
65
77
 
66
78
  var _default = {
@@ -70,6 +82,7 @@ var _default = {
70
82
  TextButton: _textButton["default"],
71
83
  ToggleButton: _toggleButton["default"],
72
84
  LinkButton: _link["default"],
85
+ InheritLinkButton: _link.InheritLinkButton,
73
86
  MenuButton: _menuButton["default"]
74
87
  };
75
88
  exports["default"] = _default;
@@ -1,20 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.link = exports.disabledLink = exports["default"] = exports.changeTextComponent = void 0;
8
+ exports.linkInParagraph = exports.link = exports.disabledLink = exports["default"] = exports.changeTextComponent = void 0;
7
9
 
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
10
14
  var _getEnumArg = require("../../storybook/utils/get-enum-arg");
11
15
 
12
- var _link = _interopRequireDefault(require("../components/link"));
16
+ var _link = _interopRequireWildcard(require("../components/link"));
13
17
 
14
18
  var _paragraph = require("../../text/paragraph");
15
19
 
16
20
  var _headline = require("../../text/headline");
17
21
 
22
+ 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); }
23
+
24
+ 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; }
25
+
18
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
27
 
20
28
  var _default = {
@@ -22,6 +30,7 @@ var _default = {
22
30
  component: _link["default"],
23
31
  argTypes: {
24
32
  type: (0, _getEnumArg.getRadioArg)(_link["default"].Type, _link["default"].Type.DEFAULT),
33
+ weight: (0, _getEnumArg.getRadioArg)(_link["default"].Weight, _link["default"].Weight.NORMAL),
25
34
  // textComponent is only for storybook showcase, not real props
26
35
  textComponent: {
27
36
  defaultValue: 'P2',
@@ -29,6 +38,19 @@ var _default = {
29
38
  control: {
30
39
  type: 'radio'
31
40
  }
41
+ },
42
+ // leftWord & rightWord is only for storybook showcase, not real props
43
+ leftWord: {
44
+ defaultValue: '連結左邊的文字',
45
+ control: {
46
+ type: 'text'
47
+ }
48
+ },
49
+ rightWord: {
50
+ defaultValue: '連結左邊的文字',
51
+ control: {
52
+ type: 'text'
53
+ }
32
54
  }
33
55
  }
34
56
  };
@@ -49,7 +71,7 @@ link.args = {
49
71
  };
50
72
  link.parameters = {
51
73
  controls: {
52
- exclude: ['textComponent']
74
+ exclude: ['textComponent', 'leftWord', 'rightWord']
53
75
  }
54
76
  };
55
77
 
@@ -76,7 +98,7 @@ changeTextComponent.args = {
76
98
  };
77
99
  changeTextComponent.parameters = {
78
100
  controls: {
79
- exclude: ['TextComponent']
101
+ exclude: ['TextComponent', 'leftWord', 'rightWord']
80
102
  }
81
103
  };
82
104
  var disabledLink = Template.bind({});
@@ -91,6 +113,28 @@ disabledLink.args = {
91
113
  };
92
114
  disabledLink.parameters = {
93
115
  controls: {
94
- exclude: ['textComponent', 'disabled']
116
+ exclude: ['textComponent', 'disabled', 'leftWord', 'rightWord']
117
+ }
118
+ };
119
+ var StyledP1 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P1).withConfig({
120
+ displayName: "linkstories__StyledP1",
121
+ componentId: "sc-1i9kyc3-0"
122
+ })(["display:unset;"]);
123
+
124
+ var linkInParagraph = function linkInParagraph(args) {
125
+ return /*#__PURE__*/_react["default"].createElement(StyledP1, null, args.leftWord, /*#__PURE__*/_react["default"].createElement(_link.InheritLinkButton, args), args.rightWord);
126
+ };
127
+
128
+ exports.linkInParagraph = linkInParagraph;
129
+ linkInParagraph.args = {
130
+ text: '文字',
131
+ type: _link["default"].Type.DEFAULT,
132
+ link: {
133
+ to: 'https://www.twreporter.org'
134
+ }
135
+ };
136
+ linkInParagraph.parameters = {
137
+ controls: {
138
+ exclude: ['textComponent', 'disabled', 'weight', 'TextComponent']
95
139
  }
96
140
  };
@@ -17,48 +17,51 @@ var _color = require("@twreporter/core/lib/constants/color");
17
17
 
18
18
  var _memberRole = require("@twreporter/core/lib/constants/member-role");
19
19
 
20
+ var _readingTimeUnit = require("@twreporter/core/lib/constants/reading-time-unit");
21
+
20
22
  var _paragraph = require("../text/paragraph");
21
23
 
22
- var _CardBgColor, _CardTextColor, _CardMarkStyle;
24
+ var _CardBgColor, _CardP2TextColor, _CardP1TextColor, _CardMarkStyle;
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
27
 
26
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
29
 
28
30
  var CardBgColor = (_CardBgColor = {}, _defineProperty(_CardBgColor, _memberRole.MEMBER_ROLE.explorer, _color.colorGrayscale.white), _defineProperty(_CardBgColor, _memberRole.MEMBER_ROLE.action_taker, _color.colorGrayscale.gray200), _defineProperty(_CardBgColor, _memberRole.MEMBER_ROLE.trailblazer, _color.colorGrayscale.gray900), _CardBgColor);
29
- var CardTextColor = (_CardTextColor = {}, _defineProperty(_CardTextColor, _memberRole.MEMBER_ROLE.explorer, _color.colorGrayscale.gray800), _defineProperty(_CardTextColor, _memberRole.MEMBER_ROLE.action_taker, _color.colorGrayscale.gray800), _defineProperty(_CardTextColor, _memberRole.MEMBER_ROLE.trailblazer, _color.colorGrayscale.white), _CardTextColor);
31
+ var CardP2TextColor = (_CardP2TextColor = {}, _defineProperty(_CardP2TextColor, _memberRole.MEMBER_ROLE.explorer, _color.colorGrayscale.gray700), _defineProperty(_CardP2TextColor, _memberRole.MEMBER_ROLE.action_taker, _color.colorGrayscale.gray700), _defineProperty(_CardP2TextColor, _memberRole.MEMBER_ROLE.trailblazer, _color.colorGrayscale.gray200), _CardP2TextColor);
32
+ var CardP1TextColor = (_CardP1TextColor = {}, _defineProperty(_CardP1TextColor, _memberRole.MEMBER_ROLE.explorer, _color.colorGrayscale.gray800), _defineProperty(_CardP1TextColor, _memberRole.MEMBER_ROLE.action_taker, _color.colorGrayscale.gray800), _defineProperty(_CardP1TextColor, _memberRole.MEMBER_ROLE.trailblazer, _color.colorGrayscale.white), _CardP1TextColor);
30
33
  var CardMarkStyle = (_CardMarkStyle = {}, _defineProperty(_CardMarkStyle, _memberRole.MEMBER_ROLE.explorer, {
31
- width: '193px',
32
- height: '120px'
34
+ width: '214px',
35
+ height: '343px'
33
36
  }), _defineProperty(_CardMarkStyle, _memberRole.MEMBER_ROLE.action_taker, {
34
- width: '193px',
35
- height: '157px'
37
+ width: '208px',
38
+ height: '307px'
36
39
  }), _defineProperty(_CardMarkStyle, _memberRole.MEMBER_ROLE.trailblazer, {
37
- width: '166px',
38
- height: '196px'
40
+ width: '219px',
41
+ height: '328px'
39
42
  }), _CardMarkStyle);
40
43
 
41
44
  var CardContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
42
45
  displayName: "mobile-member-role-card__CardContainer",
43
46
  componentId: "sc-1n1fg2v-0"
44
- })(["max-width:320px;width:100%;min-width:296px;border-radius:16px;box-shadow:0px 4px 4px rgba(0,0,0,0.05),inset 2px 2px 4px rgba(255,255,255,0.5),inset -2px -2px 2px rgba(0,0,0,0.15);aspect-ratio:1/1.6;background-color:", ";padding:24px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;"], function (props) {
47
+ })(["max-width:320px;min-width:296px;border-radius:16px;box-shadow:0px 4px 4px rgba(0,0,0,0.05),inset 2px 2px 4px rgba(255,255,255,0.5),inset -2px -2px 2px rgba(0,0,0,0.15);aspect-ratio:1/1.6;background-color:", ";padding:24px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:flex;flex-direction:row;position:relative;"], function (props) {
45
48
  return props.bgColor;
46
49
  });
47
50
 
48
- var RelativeDiv = /*#__PURE__*/_styledComponents["default"].div.withConfig({
49
- displayName: "mobile-member-role-card__RelativeDiv",
51
+ var LeftColumn = /*#__PURE__*/_styledComponents["default"].div.withConfig({
52
+ displayName: "mobile-member-role-card__LeftColumn",
50
53
  componentId: "sc-1n1fg2v-1"
51
- })(["position:relative;width:100%;height:100%;display:flex;justify-content:space-between;"]);
54
+ })(["width:100%;height:100%;margin-right:16px;display:flex;flex-direction:column;justify-content:space-between;"]);
52
55
 
53
- var FlexContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
54
- displayName: "mobile-member-role-card__FlexContainer",
56
+ var RightColumn = /*#__PURE__*/_styledComponents["default"].div.withConfig({
57
+ displayName: "mobile-member-role-card__RightColumn",
55
58
  componentId: "sc-1n1fg2v-2"
56
- })(["display:flex;flex-direction:column;height:100%;"]);
59
+ })(["width:42px;"]);
57
60
 
58
61
  var LogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
59
62
  displayName: "mobile-member-role-card__LogoContainer",
60
63
  componentId: "sc-1n1fg2v-3"
61
- })([""]);
64
+ })(["width:100%;display:flex;justify-content:center;align-items:end;"]);
62
65
 
63
66
  var LogoImg = /*#__PURE__*/_styledComponents["default"].img.withConfig({
64
67
  displayName: "mobile-member-role-card__LogoImg",
@@ -68,7 +71,7 @@ var LogoImg = /*#__PURE__*/_styledComponents["default"].img.withConfig({
68
71
  var MarkContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
69
72
  displayName: "mobile-member-role-card__MarkContainer",
70
73
  componentId: "sc-1n1fg2v-5"
71
- })(["flex:1;display:flex;justify-content:start;align-items:center;"]);
74
+ })(["position:absolute;left:0;top:0;"]);
72
75
 
73
76
  var MarkImgs = /*#__PURE__*/_styledComponents["default"].img.withConfig({
74
77
  displayName: "mobile-member-role-card__MarkImgs",
@@ -79,24 +82,49 @@ var MarkImgs = /*#__PURE__*/_styledComponents["default"].img.withConfig({
79
82
  return CardMarkStyle[props.role].height;
80
83
  });
81
84
 
82
- var DataContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
83
- displayName: "mobile-member-role-card__DataContainer",
85
+ var InfoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
86
+ displayName: "mobile-member-role-card__InfoContainer",
84
87
  componentId: "sc-1n1fg2v-7"
85
- })([""]);
88
+ })(["display:flex;flex-direction:column;gap:10px;"]);
86
89
 
87
90
  var TextContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
88
91
  displayName: "mobile-member-role-card__TextContainer",
89
92
  componentId: "sc-1n1fg2v-8"
90
- })(["color:", ";padding-bottom:", "px;overflow-wrap:anywhere;"], function (props) {
91
- return props.color;
92
- }, function (props) {
93
- return props.paddingBottom || 0;
94
- });
93
+ })(["display:flex;flex-direction:row;justify-content:space-between;"]);
94
+
95
+ var TitleContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
96
+ displayName: "mobile-member-role-card__TitleContainer",
97
+ componentId: "sc-1n1fg2v-9"
98
+ })(["height:100%;display:flex;flex-direction:column;justify-content:space-between;"]);
95
99
 
96
100
  var TitleImg = /*#__PURE__*/_styledComponents["default"].img.withConfig({
97
101
  displayName: "mobile-member-role-card__TitleImg",
98
- componentId: "sc-1n1fg2v-9"
99
- })(["position:relative;top:0;right:0;height:100%;"]);
102
+ componentId: "sc-1n1fg2v-10"
103
+ })(["width:100%;"]);
104
+
105
+ var P3Gray500 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P3).withConfig({
106
+ displayName: "mobile-member-role-card__P3Gray500",
107
+ componentId: "sc-1n1fg2v-11"
108
+ })(["color:", ";"], _color.colorGrayscale.gray500);
109
+
110
+ var Gray500BottomLine = /*#__PURE__*/_styledComponents["default"].div.withConfig({
111
+ displayName: "mobile-member-role-card__Gray500BottomLine",
112
+ componentId: "sc-1n1fg2v-12"
113
+ })(["border-bottom:0.5px solid;border-color:", ";flex:1;margin-left:8px;margin-right:8px;margin-bottom:4.5px;"], _color.colorGrayscale.gray500);
114
+
115
+ var P2TextContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
116
+ displayName: "mobile-member-role-card__P2TextContainer",
117
+ componentId: "sc-1n1fg2v-13"
118
+ })(["color:", ";overflow-wrap:anywhere;"], function (props) {
119
+ return props.color;
120
+ });
121
+
122
+ var StyledP1 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P1).withConfig({
123
+ displayName: "mobile-member-role-card__StyledP1",
124
+ componentId: "sc-1n1fg2v-14"
125
+ })(["color:", ";line-height:125%;letter-spacing:10%;"], function (props) {
126
+ return props.color;
127
+ });
100
128
 
101
129
  var MobileMemberRoleCard = function MobileMemberRoleCard(_ref) {
102
130
  var _ref$role = _ref.role,
@@ -108,46 +136,52 @@ var MobileMemberRoleCard = function MobileMemberRoleCard(_ref) {
108
136
  _ref$joinDate = _ref.joinDate,
109
137
  joinDate = _ref$joinDate === void 0 ? '' : _ref$joinDate,
110
138
  _ref$name = _ref.name,
111
- name = _ref$name === void 0 ? '' : _ref$name;
139
+ name = _ref$name === void 0 ? '' : _ref$name,
140
+ _ref$articleReadCount = _ref.articleReadCount,
141
+ articleReadCount = _ref$articleReadCount === void 0 ? 0 : _ref$articleReadCount,
142
+ _ref$articleReadingTi = _ref.articleReadingTimeUnit,
143
+ articleReadingTimeUnit = _ref$articleReadingTi === void 0 ? _readingTimeUnit.READING_TIME_UNIT.minute : _ref$articleReadingTi,
144
+ _ref$articleReadingTi2 = _ref.articleReadingTime,
145
+ articleReadingTime = _ref$articleReadingTi2 === void 0 ? 0 : _ref$articleReadingTi2,
146
+ _ref$hideInfo = _ref.hideInfo,
147
+ hideInfo = _ref$hideInfo === void 0 ? false : _ref$hideInfo;
112
148
  var logoUrl = "https://www.twreporter.org/assets/user-role-card/".concat(releaseBranch, "/").concat(role, "_logo.png");
113
- var titleUrl = "https://www.twreporter.org/assets/user-role-card/".concat(releaseBranch, "/").concat(role, "_title.png");
149
+ var titleUrl = "https://www.twreporter.org/assets/user-role-card/".concat(releaseBranch, "/").concat(role, "_title.svg");
114
150
  var markUrl = "https://www.twreporter.org/assets/user-role-card/".concat(releaseBranch, "/").concat(role, "_mark.png");
115
151
  return /*#__PURE__*/_react["default"].createElement(CardContainer, {
116
152
  bgColor: CardBgColor[role]
117
- }, /*#__PURE__*/_react["default"].createElement(RelativeDiv, null, /*#__PURE__*/_react["default"].createElement(FlexContainer, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(LogoImg, {
118
- src: logoUrl
119
- })), /*#__PURE__*/_react["default"].createElement(MarkContainer, null, /*#__PURE__*/_react["default"].createElement(MarkImgs, {
153
+ }, /*#__PURE__*/_react["default"].createElement(MarkContainer, null, /*#__PURE__*/_react["default"].createElement(MarkImgs, {
120
154
  role: role,
121
155
  src: markUrl
122
- })), /*#__PURE__*/_react["default"].createElement(DataContainer, null, role !== _memberRole.MEMBER_ROLE.explorer && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(TextContainer, {
123
- color: _color.colorGrayscale.gray500
124
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P3, {
125
- text: '姓名'
126
- })), /*#__PURE__*/_react["default"].createElement(TextContainer, {
127
- color: CardTextColor[role],
128
- paddingBottom: 8
129
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
156
+ })), /*#__PURE__*/_react["default"].createElement(LeftColumn, null, /*#__PURE__*/_react["default"].createElement(P2TextContainer, {
157
+ color: CardP2TextColor[role]
158
+ }, role !== _memberRole.MEMBER_ROLE.explorer && /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
130
159
  text: name
131
- }))), /*#__PURE__*/_react["default"].createElement(TextContainer, {
132
- color: _color.colorGrayscale.gray500
133
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P3, {
134
- text: '電子信箱'
135
- })), /*#__PURE__*/_react["default"].createElement(TextContainer, {
136
- color: CardTextColor[role],
137
- paddingBottom: 8
138
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
160
+ }), /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
139
161
  text: email
140
- })), /*#__PURE__*/_react["default"].createElement(TextContainer, {
141
- color: _color.colorGrayscale.gray500
142
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P3, {
162
+ })), /*#__PURE__*/_react["default"].createElement(InfoContainer, null, !hideInfo && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(TextContainer, null, /*#__PURE__*/_react["default"].createElement(P3Gray500, {
163
+ text: '閱讀篇數'
164
+ }), /*#__PURE__*/_react["default"].createElement(Gray500BottomLine, null), /*#__PURE__*/_react["default"].createElement(StyledP1, {
165
+ color: CardP1TextColor[role],
166
+ weight: _paragraph.P1.Weight.BOLD,
167
+ text: articleReadCount.toLocaleString('en-US')
168
+ })), /*#__PURE__*/_react["default"].createElement(TextContainer, null, /*#__PURE__*/_react["default"].createElement(P3Gray500, {
169
+ text: "\u95B1\u8B80".concat(_readingTimeUnit.READING_TIME_UNIT_TEXT[articleReadingTimeUnit])
170
+ }), /*#__PURE__*/_react["default"].createElement(Gray500BottomLine, null), /*#__PURE__*/_react["default"].createElement(StyledP1, {
171
+ color: CardP1TextColor[role],
172
+ weight: _paragraph.P1.Weight.BOLD,
173
+ text: articleReadingTime > 99999 ? '99,999+' : articleReadingTime.toLocaleString('en-US')
174
+ }))), /*#__PURE__*/_react["default"].createElement(TextContainer, null, /*#__PURE__*/_react["default"].createElement(P3Gray500, {
143
175
  text: '加入日期'
144
- })), /*#__PURE__*/_react["default"].createElement(TextContainer, {
145
- color: CardTextColor[role]
146
- }, /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
176
+ }), /*#__PURE__*/_react["default"].createElement(Gray500BottomLine, null), /*#__PURE__*/_react["default"].createElement(StyledP1, {
177
+ color: CardP1TextColor[role],
178
+ weight: _paragraph.P1.Weight.BOLD,
147
179
  text: joinDate
148
- })))), /*#__PURE__*/_react["default"].createElement(TitleImg, {
180
+ })))), /*#__PURE__*/_react["default"].createElement(RightColumn, null, /*#__PURE__*/_react["default"].createElement(TitleContainer, null, /*#__PURE__*/_react["default"].createElement(TitleImg, {
149
181
  src: titleUrl
150
- })));
182
+ }), /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(LogoImg, {
183
+ src: logoUrl
184
+ })))));
151
185
  };
152
186
 
153
187
  MobileMemberRoleCard.propTypes = {
@@ -155,7 +189,11 @@ MobileMemberRoleCard.propTypes = {
155
189
  releaseBranch: _releaseBranch.BRANCH_PROP_TYPES,
156
190
  email: _propTypes["default"].string,
157
191
  joinDate: _propTypes["default"].string,
158
- name: _propTypes["default"].string
192
+ name: _propTypes["default"].string,
193
+ articleReadCount: _propTypes["default"].number,
194
+ articleReadingTimeUnit: _propTypes["default"].oneOf(Object.values(_readingTimeUnit.READING_TIME_UNIT)),
195
+ articleReadingTime: _propTypes["default"].number,
196
+ hideInfo: _propTypes["default"].bool
159
197
  };
160
198
  var _default = MobileMemberRoleCard;
161
199
  exports["default"] = _default;
@@ -15,6 +15,8 @@ var _constants = require("../../storybook/constants");
15
15
 
16
16
  var _memberRole = require("@twreporter/core/lib/constants/member-role");
17
17
 
18
+ var _readingTimeUnit = require("@twreporter/core/src/constants/reading-time-unit");
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
 
20
22
  var _default = {
@@ -22,7 +24,8 @@ var _default = {
22
24
  component: _index["default"],
23
25
  argTypes: {
24
26
  releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE,
25
- role: (0, _getEnumArg.getRadioArg)(_memberRole.MEMBER_ROLE, _memberRole.MEMBER_ROLE.explorer)
27
+ role: (0, _getEnumArg.getRadioArg)(_memberRole.MEMBER_ROLE, _memberRole.MEMBER_ROLE.explorer),
28
+ articleReadingTimeUnit: (0, _getEnumArg.getRadioArg)(_readingTimeUnit.READING_TIME_UNIT, _readingTimeUnit.READING_TIME_UNIT.minute)
26
29
  }
27
30
  };
28
31
  exports["default"] = _default;
@@ -34,6 +37,9 @@ var moblieMemberRoleCard = function moblieMemberRoleCard(args) {
34
37
  exports.moblieMemberRoleCard = moblieMemberRoleCard;
35
38
  moblieMemberRoleCard.args = {
36
39
  email: 'abc@mail.com',
37
- joinDate: '2022/01/08',
38
- name: '報導者'
40
+ joinDate: '2022/1/8',
41
+ name: '報導者',
42
+ articleReadCount: 12,
43
+ articleReadingTime: 380,
44
+ hideInfo: false
39
45
  };
@@ -25,7 +25,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
25
25
 
26
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
27
 
28
- var defaultContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
28
+ var defaultContainer = /*#__PURE__*/_styledComponents["default"].p.withConfig({
29
29
  displayName: "paragraph__defaultContainer",
30
30
  componentId: "sc-1aejhao-0"
31
31
  })(["font-weight:", ";font-family:", ";line-height:150%;display:flex;align-items:center;"], function (props) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-components",
3
- "version": "8.21.0-rc.1",
3
+ "version": "8.21.0-rc.3",
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,8 +15,8 @@
15
15
  "chromatic": "npx chromatic --exit-zero-on-changes"
16
16
  },
17
17
  "dependencies": {
18
- "@twreporter/core": "^1.13.1-rc.0",
19
- "@twreporter/redux": "^7.8.1-rc.0",
18
+ "@twreporter/core": "^1.14.0-rc.0",
19
+ "@twreporter/redux": "^7.8.1-rc.1",
20
20
  "fontfaceobserver-es": "^3.3.3",
21
21
  "hoist-non-react-statics": "^2.3.1",
22
22
  "lodash": "^4.0.0",
@@ -44,5 +44,5 @@
44
44
  "babel-loader": "^8.2.4",
45
45
  "chromatic": "^6.5.4"
46
46
  },
47
- "gitHead": "aa00452ea5c3557c71865aa121dfa630f84e6a04"
47
+ "gitHead": "79564b04f0e64befed05a08b9f934d38f9b8b6bc"
48
48
  }