@twreporter/react-components 9.0.2 → 9.1.0-rc.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 +22 -0
- package/lib/badge/badge.stories.js +3 -9
- package/lib/badge/index.js +8 -24
- package/lib/bookmark-list/bookmark.js +20 -69
- package/lib/bookmark-list/bookmarks.js +10 -40
- package/lib/bookmark-list/customized-link.js +4 -14
- package/lib/bookmark-list/image-wrapper.js +9 -36
- package/lib/bookmark-list/index.js +36 -91
- package/lib/bookmark-list/redirect-to-sign-in.js +1 -10
- package/lib/bookmark-list/stories/bookmark.stories.js +3 -9
- package/lib/bookmark-widget/index.js +91 -220
- package/lib/button/components/iconButton.js +15 -34
- package/lib/button/components/iconWithTextButton.js +16 -31
- package/lib/button/components/link.js +27 -45
- package/lib/button/components/menuButton.js +18 -38
- package/lib/button/components/pillButton.js +31 -60
- package/lib/button/components/textButton.js +29 -61
- package/lib/button/components/toggleButton.js +11 -31
- package/lib/button/enums/index.js +4 -7
- package/lib/button/index.js +5 -18
- package/lib/button/stories/iconButton.stories.js +4 -15
- package/lib/button/stories/iconWithTextButton.stories.js +4 -13
- package/lib/button/stories/link.stories.js +9 -27
- package/lib/button/stories/menuButton.stories.js +3 -10
- package/lib/button/stories/pillButton.stories.js +4 -15
- package/lib/button/stories/textButton.stories.js +4 -15
- package/lib/button/stories/toggleButton.stories.js +3 -8
- package/lib/button/utils/size.js +3 -8
- package/lib/button/utils/theme.js +11 -102
- package/lib/card/components/article-card.js +31 -59
- package/lib/card/components/dialog.js +7 -22
- package/lib/card/components/short-story.js +24 -44
- package/lib/card/index.js +2 -8
- package/lib/card/stories/articleCard.stories.js +3 -14
- package/lib/card/stories/dialog.stories.js +3 -11
- package/lib/card/stories/shortStory.stories.js +3 -16
- package/lib/checkbox/checkbox.stories.js +3 -8
- package/lib/checkbox/index.js +10 -31
- package/lib/color.stories.js +9 -34
- package/lib/confirmation/index.js +7 -29
- package/lib/customized-link.js +5 -18
- package/lib/divider.js +3 -19
- package/lib/divider.stories.js +5 -18
- package/lib/donation-link.js +2 -14
- package/lib/empty-state/enums/index.js +2 -3
- package/lib/empty-state/index.js +20 -41
- package/lib/empty-state/stories/empty-guide.stories.js +3 -11
- package/lib/error/index.js +3 -8
- package/lib/error/message.js +3 -44
- package/lib/footer/constants/links.js +10 -16
- package/lib/footer/footer.stories.js +3 -10
- package/lib/footer/index.js +5 -40
- package/lib/footer/link.js +15 -46
- package/lib/footer/logo.js +12 -32
- package/lib/hook/index.js +3 -18
- package/lib/hook/use-bookmark.js +21 -47
- package/lib/hook/use-font-face-observer.js +9 -24
- package/lib/hook/use-outside-click.js +4 -9
- package/lib/icon/enum/index.js +5 -9
- package/lib/icon/index.js +49 -105
- package/lib/icon/stories/arrow.stories.js +7 -16
- package/lib/icon/stories/article.stories.js +2 -7
- package/lib/icon/stories/bookmark.stories.js +6 -14
- package/lib/icon/stories/changeIconColor.stories.js +2 -12
- package/lib/icon/stories/clock.stories.js +2 -7
- package/lib/icon/stories/copy.stories.js +2 -7
- package/lib/icon/stories/cross.stories.js +2 -7
- package/lib/icon/stories/hamburger.stories.js +2 -7
- package/lib/icon/stories/home.stories.js +2 -7
- package/lib/icon/stories/letter.stories.js +2 -7
- package/lib/icon/stories/loading.stories.js +2 -7
- package/lib/icon/stories/member.stories.js +2 -7
- package/lib/icon/stories/printer.stories.js +2 -7
- package/lib/icon/stories/search.stories.js +2 -7
- package/lib/icon/stories/share.stories.js +2 -7
- package/lib/icon/stories/socialMedia.stories.js +2 -8
- package/lib/icon/stories/text.stories.js +2 -7
- package/lib/icon/stories/topic.stories.js +2 -7
- package/lib/image-with-fallback.js +22 -52
- package/lib/input/components/search-bar.js +40 -85
- package/lib/input/components/text-field.js +20 -40
- package/lib/input/enums/index.js +6 -8
- package/lib/input/index.js +2 -7
- package/lib/input/stories/search-bar.stories.js +3 -16
- package/lib/input/stories/text-field.stories.js +3 -14
- package/lib/input/utils/theme.js +2 -9
- package/lib/is-fetching-wrapper.js +16 -48
- package/lib/junior-link.js +6 -29
- package/lib/link-with-tracker.js +14 -47
- package/lib/listing-page/components/card-list.js +20 -51
- package/lib/listing-page/components/image.js +15 -46
- package/lib/listing-page/components/list-item.js +18 -65
- package/lib/listing-page/components/list.js +17 -61
- package/lib/listing-page/components/page-content.js +2 -12
- package/lib/listing-page/components/topics/index.js +26 -74
- package/lib/listing-page/components/topics/post-item.js +14 -47
- package/lib/listing-page/components/topics/posts.js +1 -10
- package/lib/listing-page/components/topics/section.js +3 -25
- package/lib/listing-page/components/topics/topic-item.js +17 -56
- package/lib/listing-page/constants/mockup-spec.js +2 -3
- package/lib/listing-page/constants/predefined-css.js +2 -10
- package/lib/listing-page/constants/prop-types.js +2 -7
- package/lib/listing-page/constants/topics.js +2 -3
- package/lib/listing-page/index.js +2 -8
- package/lib/listing-page/stories/cardList.stories.js +3 -10
- package/lib/logo/components/logo-footer.js +6 -21
- package/lib/logo/components/logo-header.js +7 -23
- package/lib/logo/components/logo-loading-fallback.js +4 -13
- package/lib/logo/components/logo-symbol.js +7 -23
- package/lib/logo/index.js +2 -9
- package/lib/logo/stories/logoFooter.stories.js +2 -8
- package/lib/logo/stories/logoHeader.stories.js +3 -9
- package/lib/logo/stories/logoLoadingFallback.stories.js +2 -8
- package/lib/logo/stories/logoSymbol.stories.js +3 -9
- package/lib/logo/utils/path.js +2 -9
- package/lib/material-icon.js +9 -17
- package/lib/mobile-member-role-card/index.js +22 -49
- package/lib/mobile-member-role-card/stories/member-role-card.stories.js +3 -12
- package/lib/mobile-pop-up-modal.js +10 -44
- package/lib/more.js +10 -37
- package/lib/pagination/index.js +17 -83
- package/lib/podcast-link.js +6 -29
- package/lib/rwd.js +6 -26
- package/lib/shared-enum.js +2 -3
- package/lib/side-bar/index.js +16 -59
- package/lib/simple-header/index.js +2 -12
- package/lib/simple-header/simpleHeader.stories.js +3 -8
- package/lib/snack-bar/components/snack-bar.js +9 -20
- package/lib/snack-bar/hooks/use-snack-bar.js +12 -25
- package/lib/snack-bar/index.js +2 -7
- package/lib/snack-bar/stories/snackBar.stories.js +12 -29
- package/lib/snack-bar/utils/theme.js +3 -9
- package/lib/storybook/constants/index.js +3 -11
- package/lib/storybook/utils/get-enum-arg.js +2 -5
- package/lib/table-of-contents/index.js +62 -128
- package/lib/text/constants/headline-type.js +5 -8
- package/lib/text/enums/index.js +3 -5
- package/lib/text/headline.js +14 -41
- package/lib/text/paragraph.js +13 -34
- package/lib/text/stories/headline.stories.js +8 -21
- package/lib/text/stories/paragraph.stories.js +6 -17
- package/lib/text/utils/webfonts.js +9 -22
- package/lib/title-bar/components/tab.js +27 -69
- package/lib/title-bar/components/title1.js +6 -17
- package/lib/title-bar/components/title2.js +7 -23
- package/lib/title-bar/index.js +2 -8
- package/lib/title-bar/stories/tab.stories.js +5 -12
- package/lib/title-bar/stories/title1.stories.js +5 -12
- package/lib/title-bar/stories/title2.stories.js +3 -11
- package/lib/utils/link-with-params.js +0 -5
- package/package.json +4 -4
- package/lib/hook/use-store.js +0 -46
package/lib/text/paragraph.js
CHANGED
|
@@ -4,34 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.P4 = exports.P3 = exports.P2 = exports.P1 = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
10
|
var _enums = require("./enums");
|
|
15
|
-
|
|
16
11
|
var _font = require("@twreporter/core/lib/constants/font");
|
|
17
|
-
|
|
18
12
|
var _excluded = ["text", "weight", "className", "children"];
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
-
|
|
22
14
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
-
|
|
24
15
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
25
|
-
|
|
26
16
|
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
|
-
|
|
28
17
|
var defaultContainer = /*#__PURE__*/_styledComponents["default"].p.withConfig({
|
|
29
18
|
displayName: "paragraph__defaultContainer",
|
|
30
19
|
componentId: "sc-1aejhao-0"
|
|
31
20
|
})(["font-weight:", ";font-family:", ";line-height:150%;display:flex;align-items:center;margin-block-start:0px;margin-block-end:0px;"], function (props) {
|
|
32
21
|
return _font.fontWeight[props.$weight];
|
|
33
22
|
}, _font.fontFamily["default"]);
|
|
34
|
-
|
|
35
23
|
var P1Container = /*#__PURE__*/(0, _styledComponents["default"])(defaultContainer).withConfig({
|
|
36
24
|
displayName: "paragraph__P1Container",
|
|
37
25
|
componentId: "sc-1aejhao-1"
|
|
@@ -48,24 +36,21 @@ var P4Container = /*#__PURE__*/(0, _styledComponents["default"])(defaultContaine
|
|
|
48
36
|
displayName: "paragraph__P4Container",
|
|
49
37
|
componentId: "sc-1aejhao-4"
|
|
50
38
|
})(["font-size:10px;"]);
|
|
51
|
-
|
|
52
39
|
var withContainer = function withContainer(ParagraphContainer) {
|
|
53
40
|
var paragraph = function paragraph(_ref) {
|
|
54
41
|
var _ref$text = _ref.text,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
42
|
+
text = _ref$text === void 0 ? '' : _ref$text,
|
|
43
|
+
_ref$weight = _ref.weight,
|
|
44
|
+
weight = _ref$weight === void 0 ? _enums.Weight.NORMAL : _ref$weight,
|
|
45
|
+
_ref$className = _ref.className,
|
|
46
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
47
|
+
children = _ref.children,
|
|
48
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
63
49
|
return /*#__PURE__*/_react["default"].createElement(ParagraphContainer, _extends({
|
|
64
50
|
$weight: weight,
|
|
65
51
|
className: className
|
|
66
52
|
}, props), text, children);
|
|
67
53
|
};
|
|
68
|
-
|
|
69
54
|
paragraph.displayName = 'paragraph';
|
|
70
55
|
paragraph.propTypes = {
|
|
71
56
|
text: _propTypes["default"].string,
|
|
@@ -76,19 +61,13 @@ var withContainer = function withContainer(ParagraphContainer) {
|
|
|
76
61
|
paragraph.Weight = _enums.Weight;
|
|
77
62
|
return paragraph;
|
|
78
63
|
};
|
|
79
|
-
|
|
80
|
-
var
|
|
81
|
-
exports.
|
|
82
|
-
var
|
|
83
|
-
exports
|
|
84
|
-
var P3 = withContainer(P3Container);
|
|
85
|
-
exports.P3 = P3;
|
|
86
|
-
var P4 = withContainer(P4Container);
|
|
87
|
-
exports.P4 = P4;
|
|
88
|
-
var _default = {
|
|
64
|
+
var P1 = exports.P1 = withContainer(P1Container);
|
|
65
|
+
var P2 = exports.P2 = withContainer(P2Container);
|
|
66
|
+
var P3 = exports.P3 = withContainer(P3Container);
|
|
67
|
+
var P4 = exports.P4 = withContainer(P4Container);
|
|
68
|
+
var _default = exports["default"] = {
|
|
89
69
|
P1: P1,
|
|
90
70
|
P2: P2,
|
|
91
71
|
P3: P3,
|
|
92
72
|
P4: P4
|
|
93
|
-
};
|
|
94
|
-
exports["default"] = _default;
|
|
73
|
+
};
|
|
@@ -4,29 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.h6 = exports.h5 = exports.h4 = exports.h3 = exports.h2 = exports.h1 = exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _getEnumArg = require("../../storybook/utils/get-enum-arg");
|
|
11
|
-
|
|
12
9
|
var _headline = require("../headline");
|
|
13
|
-
|
|
14
10
|
var _enums = require("../enums");
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
12
|
/* eslint react/display-name:0 */
|
|
19
|
-
var _default = {
|
|
13
|
+
var _default = exports["default"] = {
|
|
20
14
|
title: 'Text/Headline',
|
|
21
15
|
component: _headline.H1,
|
|
22
16
|
argTypes: {
|
|
23
17
|
type: (0, _getEnumArg.getRadioArg)(_enums.Type, _enums.Type.DEFAULT)
|
|
24
18
|
}
|
|
25
19
|
};
|
|
26
|
-
exports["default"] = _default;
|
|
27
20
|
var defaultText = '標題「標題」:標題,《標題》標題English標題123標題?';
|
|
28
21
|
var defaultType = _headline.H1.Type.DEFAULT;
|
|
29
|
-
var h1 = {
|
|
22
|
+
var h1 = exports.h1 = {
|
|
30
23
|
args: {
|
|
31
24
|
text: defaultText,
|
|
32
25
|
type: defaultType
|
|
@@ -37,8 +30,7 @@ var h1 = {
|
|
|
37
30
|
}
|
|
38
31
|
}
|
|
39
32
|
};
|
|
40
|
-
exports.
|
|
41
|
-
var h2 = {
|
|
33
|
+
var h2 = exports.h2 = {
|
|
42
34
|
render: function render(args) {
|
|
43
35
|
return /*#__PURE__*/_react["default"].createElement(_headline.H2, args);
|
|
44
36
|
},
|
|
@@ -52,8 +44,7 @@ var h2 = {
|
|
|
52
44
|
}
|
|
53
45
|
}
|
|
54
46
|
};
|
|
55
|
-
exports.
|
|
56
|
-
var h3 = {
|
|
47
|
+
var h3 = exports.h3 = {
|
|
57
48
|
render: function render(args) {
|
|
58
49
|
return /*#__PURE__*/_react["default"].createElement(_headline.H3, args);
|
|
59
50
|
},
|
|
@@ -67,8 +58,7 @@ var h3 = {
|
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
60
|
};
|
|
70
|
-
exports.
|
|
71
|
-
var h4 = {
|
|
61
|
+
var h4 = exports.h4 = {
|
|
72
62
|
render: function render(args) {
|
|
73
63
|
return /*#__PURE__*/_react["default"].createElement(_headline.H4, args);
|
|
74
64
|
},
|
|
@@ -82,8 +72,7 @@ var h4 = {
|
|
|
82
72
|
}
|
|
83
73
|
}
|
|
84
74
|
};
|
|
85
|
-
exports.
|
|
86
|
-
var h5 = {
|
|
75
|
+
var h5 = exports.h5 = {
|
|
87
76
|
render: function render(args) {
|
|
88
77
|
return /*#__PURE__*/_react["default"].createElement(_headline.H5, args);
|
|
89
78
|
},
|
|
@@ -97,8 +86,7 @@ var h5 = {
|
|
|
97
86
|
}
|
|
98
87
|
}
|
|
99
88
|
};
|
|
100
|
-
exports.
|
|
101
|
-
var h6 = {
|
|
89
|
+
var h6 = exports.h6 = {
|
|
102
90
|
render: function render(args) {
|
|
103
91
|
return /*#__PURE__*/_react["default"].createElement(_headline.H6, args);
|
|
104
92
|
},
|
|
@@ -111,5 +99,4 @@ var h6 = {
|
|
|
111
99
|
exclude: ['className']
|
|
112
100
|
}
|
|
113
101
|
}
|
|
114
|
-
};
|
|
115
|
-
exports.h6 = h6;
|
|
102
|
+
};
|
|
@@ -4,29 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.p4 = exports.p3 = exports.p2 = exports.p1 = exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _getEnumArg = require("../../storybook/utils/get-enum-arg");
|
|
11
|
-
|
|
12
9
|
var _paragraph = require("../paragraph");
|
|
13
|
-
|
|
14
10
|
var _enums = require("../enums");
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
12
|
/* eslint react/display-name:0 */
|
|
19
|
-
var _default = {
|
|
13
|
+
var _default = exports["default"] = {
|
|
20
14
|
title: 'Text/Paragraph',
|
|
21
15
|
component: _paragraph.P1,
|
|
22
16
|
argTypes: {
|
|
23
17
|
weight: (0, _getEnumArg.getRadioArg)(_enums.Weight, _enums.Weight.NORMAL)
|
|
24
18
|
}
|
|
25
19
|
};
|
|
26
|
-
exports["default"] = _default;
|
|
27
20
|
var defaultText = '內文「內文」:內文,《內文》內文English內文123內文?';
|
|
28
21
|
var defaultWeight = _paragraph.P1.Weight.NORMAL;
|
|
29
|
-
var p1 = {
|
|
22
|
+
var p1 = exports.p1 = {
|
|
30
23
|
args: {
|
|
31
24
|
text: defaultText,
|
|
32
25
|
weight: defaultWeight
|
|
@@ -37,8 +30,7 @@ var p1 = {
|
|
|
37
30
|
}
|
|
38
31
|
}
|
|
39
32
|
};
|
|
40
|
-
exports.
|
|
41
|
-
var p2 = {
|
|
33
|
+
var p2 = exports.p2 = {
|
|
42
34
|
render: function render(args) {
|
|
43
35
|
return /*#__PURE__*/_react["default"].createElement(_paragraph.P2, args);
|
|
44
36
|
},
|
|
@@ -52,8 +44,7 @@ var p2 = {
|
|
|
52
44
|
}
|
|
53
45
|
}
|
|
54
46
|
};
|
|
55
|
-
exports.
|
|
56
|
-
var p3 = {
|
|
47
|
+
var p3 = exports.p3 = {
|
|
57
48
|
render: function render(args) {
|
|
58
49
|
return /*#__PURE__*/_react["default"].createElement(_paragraph.P3, args);
|
|
59
50
|
},
|
|
@@ -67,8 +58,7 @@ var p3 = {
|
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
60
|
};
|
|
70
|
-
exports.
|
|
71
|
-
var p4 = {
|
|
61
|
+
var p4 = exports.p4 = {
|
|
72
62
|
render: function render(args) {
|
|
73
63
|
return /*#__PURE__*/_react["default"].createElement(_paragraph.P4, args);
|
|
74
64
|
},
|
|
@@ -81,5 +71,4 @@ var p4 = {
|
|
|
81
71
|
exclude: ['className']
|
|
82
72
|
}
|
|
83
73
|
}
|
|
84
|
-
};
|
|
85
|
-
exports.p4 = p4;
|
|
74
|
+
};
|
|
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _font = require("@twreporter/core/lib/constants/font");
|
|
9
|
-
|
|
10
8
|
var _forEach = _interopRequireDefault(require("lodash/forEach"));
|
|
11
|
-
|
|
12
9
|
var _keys = _interopRequireDefault(require("lodash/keys"));
|
|
13
|
-
|
|
14
10
|
var _reduce = _interopRequireDefault(require("lodash/reduce"));
|
|
15
|
-
|
|
16
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
-
|
|
18
|
-
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; }
|
|
19
|
-
|
|
12
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // lodash
|
|
20
16
|
var _ = {
|
|
21
17
|
forEach: _forEach["default"],
|
|
22
18
|
keys: _keys["default"],
|
|
@@ -24,44 +20,35 @@ var _ = {
|
|
|
24
20
|
};
|
|
25
21
|
var baseGCSDir = 'https://www.twreporter.org/assets/font/';
|
|
26
22
|
var fileExt = '.woff2';
|
|
27
|
-
|
|
28
23
|
var gcsFontFolder = _defineProperty({}, _font.fonts.notoSansTC, 'NotoSansTC');
|
|
24
|
+
var fontWeightKeys = _.keys(_font.fontWeight);
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
// add @font-face to global style to use self-hosted font for performance reasons, to be more precise please check the issue below:
|
|
31
27
|
// https://twreporter-org.atlassian.net/browse/TWREPORTER-318?atlOrigin=eyJpIjoiNjg4OTQ2MWU2MGIxNGEzMGE0NDY2ZDNmZGRhOWExZDEiLCJwIjoiaiJ9
|
|
32
|
-
|
|
33
|
-
|
|
34
28
|
var getFontFaces = function getFontFaces(_ref) {
|
|
35
29
|
var font = _ref.font,
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
folder = _ref.folder;
|
|
38
31
|
var fontFaceCSSTemplate = function fontFaceCSSTemplate(_ref2) {
|
|
39
32
|
var fontWeightKey = _ref2.fontWeightKey;
|
|
40
33
|
return "\n @font-face {\n font-family: \"".concat(font, "\";\n font-weight: ").concat(_font.fontWeight[fontWeightKey], ";\n font-display: swap;\n src: url(\"").concat(baseGCSDir).concat(folder, "/").concat(fontWeightKey).concat(fileExt, "\");\n }\n ");
|
|
41
34
|
};
|
|
42
|
-
|
|
43
35
|
return _.reduce(fontWeightKeys, function (fontFaces, fontWeightKey) {
|
|
44
36
|
return fontFaces + fontFaceCSSTemplate({
|
|
45
37
|
fontWeightKey: fontWeightKey
|
|
46
38
|
});
|
|
47
39
|
}, '');
|
|
48
40
|
};
|
|
49
|
-
|
|
50
41
|
var fontFaces = _defineProperty({}, _font.fonts.notoSansTC, getFontFaces({
|
|
51
42
|
font: _font.fonts.notoSansTC,
|
|
52
43
|
folder: gcsFontFolder[_font.fonts.notoSansTC]
|
|
53
44
|
}));
|
|
54
|
-
|
|
55
45
|
var fontGCSFiles = [];
|
|
56
|
-
|
|
57
46
|
_.forEach(fontFaces, function (fontFace, font) {
|
|
58
47
|
_.forEach(fontWeightKeys, function (fontWeightKey) {
|
|
59
48
|
fontGCSFiles.push("".concat(baseGCSDir).concat(gcsFontFolder[font], "/").concat(fontWeightKey).concat(fileExt));
|
|
60
49
|
});
|
|
61
50
|
});
|
|
62
|
-
|
|
63
|
-
var _default = {
|
|
51
|
+
var _default = exports["default"] = {
|
|
64
52
|
fontFaces: fontFaces,
|
|
65
53
|
fontGCSFiles: fontGCSFiles
|
|
66
|
-
};
|
|
67
|
-
exports["default"] = _default;
|
|
54
|
+
};
|
|
@@ -1,93 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
4
|
-
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
|
|
16
11
|
var _headline = require("../../text/headline");
|
|
17
|
-
|
|
18
12
|
var _button = require("../../button");
|
|
19
|
-
|
|
20
13
|
var _divider = _interopRequireDefault(require("../../divider"));
|
|
21
|
-
|
|
22
14
|
var _customizedLink = _interopRequireDefault(require("../../customized-link"));
|
|
23
|
-
|
|
24
15
|
var _color = require("@twreporter/core/lib/constants/color");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
16
|
+
var _excluded = ["tab"]; // component
|
|
17
|
+
// @twreporter
|
|
28
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
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; }
|
|
33
|
-
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
34
21
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
35
|
-
|
|
36
22
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
37
|
-
|
|
38
23
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
39
|
-
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
43
|
-
|
|
24
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
25
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
44
26
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
45
|
-
|
|
46
27
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
47
|
-
|
|
48
28
|
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; }
|
|
49
|
-
|
|
50
29
|
// const
|
|
51
30
|
var gradientMask = 'linear-gradient(to left, rgba(241, 241, 241, 0), #F1F1F1 48px)';
|
|
52
|
-
|
|
53
31
|
var tabPropType = _propTypes["default"].shape({
|
|
54
32
|
text: _propTypes["default"].string,
|
|
55
33
|
link: _propTypes["default"].string,
|
|
56
34
|
isExternal: _propTypes["default"]["boolean"],
|
|
57
35
|
isActive: _propTypes["default"]["boolean"]
|
|
58
36
|
});
|
|
59
|
-
|
|
60
37
|
var BarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
61
38
|
displayName: "tab__BarContainer",
|
|
62
39
|
componentId: "ywb8e-0"
|
|
63
40
|
})(["display:flex;width:100%;flex-direction:column;color:", ";"], _color.colorGrayscale.gray800);
|
|
64
|
-
|
|
65
41
|
var TabItemContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
66
42
|
displayName: "tab__TabItemContainer",
|
|
67
43
|
componentId: "ywb8e-1"
|
|
68
44
|
})(["display:flex;flex-shrink:0;margin-right:24px;&:last-child{margin-right:0;}a{text-decoration:none;}"]);
|
|
69
|
-
|
|
70
45
|
var StyledTextButton = /*#__PURE__*/(0, _styledComponents["default"])(_button.TextButton).withConfig({
|
|
71
46
|
displayName: "tab__StyledTextButton",
|
|
72
47
|
componentId: "ywb8e-2"
|
|
73
48
|
})(["padding:16px 0;"]);
|
|
74
|
-
|
|
75
49
|
var MobileTabContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
76
50
|
displayName: "tab__MobileTabContainer",
|
|
77
51
|
componentId: "ywb8e-3"
|
|
78
52
|
})(["display:flex;overflow:scroll;scrollbar-width:none;&::-webkit-scrollbar{display:none;}-webkit-mask-image:", ";"], function (props) {
|
|
79
53
|
return props.$showGradientMask ? gradientMask : 'none';
|
|
80
54
|
});
|
|
81
|
-
|
|
82
55
|
var TabItem = function TabItem(_ref) {
|
|
83
56
|
var _ref$tab = _ref.tab,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
57
|
+
tab = _ref$tab === void 0 ? {} : _ref$tab,
|
|
58
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
87
59
|
var text = tab.text,
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
60
|
+
link = tab.link,
|
|
61
|
+
isExternal = tab.isExternal,
|
|
62
|
+
isActive = tab.isActive;
|
|
91
63
|
return /*#__PURE__*/_react["default"].createElement(TabItemContainer, restProps, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], {
|
|
92
64
|
to: link,
|
|
93
65
|
isExternal: isExternal
|
|
@@ -97,11 +69,9 @@ var TabItem = function TabItem(_ref) {
|
|
|
97
69
|
size: _button.TextButton.Size.L
|
|
98
70
|
})));
|
|
99
71
|
};
|
|
100
|
-
|
|
101
72
|
TabItem.propTypes = {
|
|
102
73
|
tab: tabPropType
|
|
103
74
|
};
|
|
104
|
-
|
|
105
75
|
var useScrollStatus = function useScrollStatus(setShowNext) {
|
|
106
76
|
var ref = (0, _react.useRef)();
|
|
107
77
|
(0, _react.useEffect)(function () {
|
|
@@ -112,7 +82,6 @@ var useScrollStatus = function useScrollStatus(setShowNext) {
|
|
|
112
82
|
}, [ref, setShowNext]);
|
|
113
83
|
(0, _react.useEffect)(function () {
|
|
114
84
|
var refEle = ref.current;
|
|
115
|
-
|
|
116
85
|
var handleScroll = function handleScroll(event) {
|
|
117
86
|
if (refEle.offsetWidth + refEle.scrollLeft >= refEle.scrollWidth) {
|
|
118
87
|
// scroll to end
|
|
@@ -121,7 +90,6 @@ var useScrollStatus = function useScrollStatus(setShowNext) {
|
|
|
121
90
|
setShowNext(true);
|
|
122
91
|
}
|
|
123
92
|
};
|
|
124
|
-
|
|
125
93
|
refEle.addEventListener('scroll', handleScroll);
|
|
126
94
|
return function () {
|
|
127
95
|
refEle.removeEventListener('scroll', handleScroll);
|
|
@@ -129,31 +97,25 @@ var useScrollStatus = function useScrollStatus(setShowNext) {
|
|
|
129
97
|
}, [ref, setShowNext]);
|
|
130
98
|
return ref;
|
|
131
99
|
};
|
|
132
|
-
|
|
133
100
|
var MobileTab = function MobileTab(_ref2) {
|
|
134
101
|
var _ref2$tabs = _ref2.tabs,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
102
|
+
tabs = _ref2$tabs === void 0 ? [] : _ref2$tabs,
|
|
103
|
+
_ref2$activeTabIndex = _ref2.activeTabIndex,
|
|
104
|
+
activeTabIndex = _ref2$activeTabIndex === void 0 ? 0 : _ref2$activeTabIndex;
|
|
139
105
|
var _useState = (0, _react.useState)(activeTabIndex),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
106
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
107
|
+
activeIndex = _useState2[0],
|
|
108
|
+
setActiveIndex = _useState2[1];
|
|
144
109
|
var _useState3 = (0, _react.useState)(false),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
110
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
111
|
+
showGradientMask = _useState4[0],
|
|
112
|
+
setShowGradientMask = _useState4[1];
|
|
149
113
|
var ref = useScrollStatus(setShowGradientMask);
|
|
150
114
|
var tabJSX = tabs.map(function (tab, index) {
|
|
151
115
|
tab.isActive = index === activeIndex;
|
|
152
|
-
|
|
153
116
|
var handleClick = function handleClick() {
|
|
154
117
|
setActiveIndex(index);
|
|
155
118
|
};
|
|
156
|
-
|
|
157
119
|
return /*#__PURE__*/_react["default"].createElement(TabItem, {
|
|
158
120
|
key: index,
|
|
159
121
|
tab: tab,
|
|
@@ -168,19 +130,17 @@ var MobileTab = function MobileTab(_ref2) {
|
|
|
168
130
|
$showGradientMask: showGradientMask
|
|
169
131
|
}, tabJSX);
|
|
170
132
|
};
|
|
171
|
-
|
|
172
133
|
MobileTab.propTypes = {
|
|
173
134
|
tabs: _propTypes["default"].arrayOf(tabPropType),
|
|
174
135
|
activeTabIndex: _propTypes["default"].number
|
|
175
136
|
};
|
|
176
|
-
|
|
177
137
|
var TitleTab = function TitleTab(_ref3) {
|
|
178
138
|
var _ref3$title = _ref3.title,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
139
|
+
title = _ref3$title === void 0 ? '' : _ref3$title,
|
|
140
|
+
_ref3$tabs = _ref3.tabs,
|
|
141
|
+
tabs = _ref3$tabs === void 0 ? [] : _ref3$tabs,
|
|
142
|
+
_ref3$activeTabIndex = _ref3.activeTabIndex,
|
|
143
|
+
activeTabIndex = _ref3$activeTabIndex === void 0 ? 0 : _ref3$activeTabIndex;
|
|
184
144
|
return /*#__PURE__*/_react["default"].createElement(BarContainer, null, /*#__PURE__*/_react["default"].createElement(_headline.H1, {
|
|
185
145
|
text: title
|
|
186
146
|
}), /*#__PURE__*/_react["default"].createElement(MobileTab, {
|
|
@@ -190,11 +150,9 @@ var TitleTab = function TitleTab(_ref3) {
|
|
|
190
150
|
direction: _divider["default"].Direction.HORIZONTAL
|
|
191
151
|
}));
|
|
192
152
|
};
|
|
193
|
-
|
|
194
153
|
TitleTab.propTypes = {
|
|
195
154
|
title: _propTypes["default"].string,
|
|
196
155
|
tabs: _propTypes["default"].arrayOf(tabPropType),
|
|
197
156
|
activeTabIndex: _propTypes["default"].number
|
|
198
157
|
};
|
|
199
|
-
var _default = TitleTab;
|
|
200
|
-
exports["default"] = _default;
|
|
158
|
+
var _default = exports["default"] = TitleTab;
|
|
@@ -4,30 +4,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
|
|
12
9
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
-
|
|
14
10
|
var _headline = require("../../text/headline");
|
|
15
|
-
|
|
16
11
|
var _paragraph = require("../../text/paragraph");
|
|
17
|
-
|
|
18
12
|
var _divider = _interopRequireDefault(require("../../divider"));
|
|
19
|
-
|
|
20
13
|
var _color = require("@twreporter/core/lib/constants/color");
|
|
21
|
-
|
|
22
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
|
-
|
|
24
15
|
// component
|
|
16
|
+
|
|
25
17
|
// @twreporter
|
|
18
|
+
|
|
26
19
|
var BarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
27
20
|
displayName: "title1__BarContainer",
|
|
28
21
|
componentId: "l5ydji-0"
|
|
29
22
|
})(["width:100%;display:flex;align-items:baseline;gap:16px;align-self:stretch;margin-bottom:16px;"]);
|
|
30
|
-
|
|
31
23
|
var H2Gray800 = /*#__PURE__*/(0, _styledComponents["default"])(_headline.H2).withConfig({
|
|
32
24
|
displayName: "title1__H2Gray800",
|
|
33
25
|
componentId: "l5ydji-1"
|
|
@@ -36,12 +28,11 @@ var P1Gray600 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P1).wi
|
|
|
36
28
|
displayName: "title1__P1Gray600",
|
|
37
29
|
componentId: "l5ydji-2"
|
|
38
30
|
})(["color:", ";"], _color.colorGrayscale.gray600);
|
|
39
|
-
|
|
40
31
|
var Title1 = function Title1(_ref) {
|
|
41
32
|
var _ref$title = _ref.title,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
title = _ref$title === void 0 ? '' : _ref$title,
|
|
34
|
+
_ref$subtitle = _ref.subtitle,
|
|
35
|
+
subtitle = _ref$subtitle === void 0 ? '' : _ref$subtitle;
|
|
45
36
|
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(BarContainer, null, /*#__PURE__*/_react["default"].createElement(H2Gray800, {
|
|
46
37
|
text: title
|
|
47
38
|
}), subtitle ? /*#__PURE__*/_react["default"].createElement(P1Gray600, {
|
|
@@ -50,10 +41,8 @@ var Title1 = function Title1(_ref) {
|
|
|
50
41
|
direction: _divider["default"].Direction.HORIZONTAL
|
|
51
42
|
}));
|
|
52
43
|
};
|
|
53
|
-
|
|
54
44
|
Title1.propTypes = {
|
|
55
45
|
title: _propTypes["default"].string.isRequired,
|
|
56
46
|
subtitle: _propTypes["default"].string
|
|
57
47
|
};
|
|
58
|
-
var _default = Title1;
|
|
59
|
-
exports["default"] = _default;
|
|
48
|
+
var _default = exports["default"] = Title1;
|