@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.
Files changed (152) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/badge/badge.stories.js +3 -9
  3. package/lib/badge/index.js +8 -24
  4. package/lib/bookmark-list/bookmark.js +20 -69
  5. package/lib/bookmark-list/bookmarks.js +10 -40
  6. package/lib/bookmark-list/customized-link.js +4 -14
  7. package/lib/bookmark-list/image-wrapper.js +9 -36
  8. package/lib/bookmark-list/index.js +36 -91
  9. package/lib/bookmark-list/redirect-to-sign-in.js +1 -10
  10. package/lib/bookmark-list/stories/bookmark.stories.js +3 -9
  11. package/lib/bookmark-widget/index.js +91 -220
  12. package/lib/button/components/iconButton.js +15 -34
  13. package/lib/button/components/iconWithTextButton.js +16 -31
  14. package/lib/button/components/link.js +27 -45
  15. package/lib/button/components/menuButton.js +18 -38
  16. package/lib/button/components/pillButton.js +31 -60
  17. package/lib/button/components/textButton.js +29 -61
  18. package/lib/button/components/toggleButton.js +11 -31
  19. package/lib/button/enums/index.js +4 -7
  20. package/lib/button/index.js +5 -18
  21. package/lib/button/stories/iconButton.stories.js +4 -15
  22. package/lib/button/stories/iconWithTextButton.stories.js +4 -13
  23. package/lib/button/stories/link.stories.js +9 -27
  24. package/lib/button/stories/menuButton.stories.js +3 -10
  25. package/lib/button/stories/pillButton.stories.js +4 -15
  26. package/lib/button/stories/textButton.stories.js +4 -15
  27. package/lib/button/stories/toggleButton.stories.js +3 -8
  28. package/lib/button/utils/size.js +3 -8
  29. package/lib/button/utils/theme.js +11 -102
  30. package/lib/card/components/article-card.js +31 -59
  31. package/lib/card/components/dialog.js +7 -22
  32. package/lib/card/components/short-story.js +24 -44
  33. package/lib/card/index.js +2 -8
  34. package/lib/card/stories/articleCard.stories.js +3 -14
  35. package/lib/card/stories/dialog.stories.js +3 -11
  36. package/lib/card/stories/shortStory.stories.js +3 -16
  37. package/lib/checkbox/checkbox.stories.js +3 -8
  38. package/lib/checkbox/index.js +10 -31
  39. package/lib/color.stories.js +9 -34
  40. package/lib/confirmation/index.js +7 -29
  41. package/lib/customized-link.js +5 -18
  42. package/lib/divider.js +3 -19
  43. package/lib/divider.stories.js +5 -18
  44. package/lib/donation-link.js +2 -14
  45. package/lib/empty-state/enums/index.js +2 -3
  46. package/lib/empty-state/index.js +20 -41
  47. package/lib/empty-state/stories/empty-guide.stories.js +3 -11
  48. package/lib/error/index.js +3 -8
  49. package/lib/error/message.js +3 -44
  50. package/lib/footer/constants/links.js +10 -16
  51. package/lib/footer/footer.stories.js +3 -10
  52. package/lib/footer/index.js +5 -40
  53. package/lib/footer/link.js +15 -46
  54. package/lib/footer/logo.js +12 -32
  55. package/lib/hook/index.js +3 -18
  56. package/lib/hook/use-bookmark.js +21 -47
  57. package/lib/hook/use-font-face-observer.js +9 -24
  58. package/lib/hook/use-outside-click.js +4 -9
  59. package/lib/icon/enum/index.js +5 -9
  60. package/lib/icon/index.js +49 -105
  61. package/lib/icon/stories/arrow.stories.js +7 -16
  62. package/lib/icon/stories/article.stories.js +2 -7
  63. package/lib/icon/stories/bookmark.stories.js +6 -14
  64. package/lib/icon/stories/changeIconColor.stories.js +2 -12
  65. package/lib/icon/stories/clock.stories.js +2 -7
  66. package/lib/icon/stories/copy.stories.js +2 -7
  67. package/lib/icon/stories/cross.stories.js +2 -7
  68. package/lib/icon/stories/hamburger.stories.js +2 -7
  69. package/lib/icon/stories/home.stories.js +2 -7
  70. package/lib/icon/stories/letter.stories.js +2 -7
  71. package/lib/icon/stories/loading.stories.js +2 -7
  72. package/lib/icon/stories/member.stories.js +2 -7
  73. package/lib/icon/stories/printer.stories.js +2 -7
  74. package/lib/icon/stories/search.stories.js +2 -7
  75. package/lib/icon/stories/share.stories.js +2 -7
  76. package/lib/icon/stories/socialMedia.stories.js +2 -8
  77. package/lib/icon/stories/text.stories.js +2 -7
  78. package/lib/icon/stories/topic.stories.js +2 -7
  79. package/lib/image-with-fallback.js +22 -52
  80. package/lib/input/components/search-bar.js +40 -85
  81. package/lib/input/components/text-field.js +20 -40
  82. package/lib/input/enums/index.js +6 -8
  83. package/lib/input/index.js +2 -7
  84. package/lib/input/stories/search-bar.stories.js +3 -16
  85. package/lib/input/stories/text-field.stories.js +3 -14
  86. package/lib/input/utils/theme.js +2 -9
  87. package/lib/is-fetching-wrapper.js +16 -48
  88. package/lib/junior-link.js +6 -29
  89. package/lib/link-with-tracker.js +14 -47
  90. package/lib/listing-page/components/card-list.js +20 -51
  91. package/lib/listing-page/components/image.js +15 -46
  92. package/lib/listing-page/components/list-item.js +18 -65
  93. package/lib/listing-page/components/list.js +17 -61
  94. package/lib/listing-page/components/page-content.js +2 -12
  95. package/lib/listing-page/components/topics/index.js +26 -74
  96. package/lib/listing-page/components/topics/post-item.js +14 -47
  97. package/lib/listing-page/components/topics/posts.js +1 -10
  98. package/lib/listing-page/components/topics/section.js +3 -25
  99. package/lib/listing-page/components/topics/topic-item.js +17 -56
  100. package/lib/listing-page/constants/mockup-spec.js +2 -3
  101. package/lib/listing-page/constants/predefined-css.js +2 -10
  102. package/lib/listing-page/constants/prop-types.js +2 -7
  103. package/lib/listing-page/constants/topics.js +2 -3
  104. package/lib/listing-page/index.js +2 -8
  105. package/lib/listing-page/stories/cardList.stories.js +3 -10
  106. package/lib/logo/components/logo-footer.js +6 -21
  107. package/lib/logo/components/logo-header.js +7 -23
  108. package/lib/logo/components/logo-loading-fallback.js +4 -13
  109. package/lib/logo/components/logo-symbol.js +7 -23
  110. package/lib/logo/index.js +2 -9
  111. package/lib/logo/stories/logoFooter.stories.js +2 -8
  112. package/lib/logo/stories/logoHeader.stories.js +3 -9
  113. package/lib/logo/stories/logoLoadingFallback.stories.js +2 -8
  114. package/lib/logo/stories/logoSymbol.stories.js +3 -9
  115. package/lib/logo/utils/path.js +2 -9
  116. package/lib/material-icon.js +9 -17
  117. package/lib/mobile-member-role-card/index.js +22 -49
  118. package/lib/mobile-member-role-card/stories/member-role-card.stories.js +3 -12
  119. package/lib/mobile-pop-up-modal.js +10 -44
  120. package/lib/more.js +10 -37
  121. package/lib/pagination/index.js +17 -83
  122. package/lib/podcast-link.js +6 -29
  123. package/lib/rwd.js +6 -26
  124. package/lib/shared-enum.js +2 -3
  125. package/lib/side-bar/index.js +16 -59
  126. package/lib/simple-header/index.js +2 -12
  127. package/lib/simple-header/simpleHeader.stories.js +3 -8
  128. package/lib/snack-bar/components/snack-bar.js +9 -20
  129. package/lib/snack-bar/hooks/use-snack-bar.js +12 -25
  130. package/lib/snack-bar/index.js +2 -7
  131. package/lib/snack-bar/stories/snackBar.stories.js +12 -29
  132. package/lib/snack-bar/utils/theme.js +3 -9
  133. package/lib/storybook/constants/index.js +3 -11
  134. package/lib/storybook/utils/get-enum-arg.js +2 -5
  135. package/lib/table-of-contents/index.js +62 -128
  136. package/lib/text/constants/headline-type.js +5 -8
  137. package/lib/text/enums/index.js +3 -5
  138. package/lib/text/headline.js +14 -41
  139. package/lib/text/paragraph.js +13 -34
  140. package/lib/text/stories/headline.stories.js +8 -21
  141. package/lib/text/stories/paragraph.stories.js +6 -17
  142. package/lib/text/utils/webfonts.js +9 -22
  143. package/lib/title-bar/components/tab.js +27 -69
  144. package/lib/title-bar/components/title1.js +6 -17
  145. package/lib/title-bar/components/title2.js +7 -23
  146. package/lib/title-bar/index.js +2 -8
  147. package/lib/title-bar/stories/tab.stories.js +5 -12
  148. package/lib/title-bar/stories/title1.stories.js +5 -12
  149. package/lib/title-bar/stories/title2.stories.js +3 -11
  150. package/lib/utils/link-with-params.js +0 -5
  151. package/package.json +4 -4
  152. package/lib/hook/use-store.js +0 -46
@@ -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
- text = _ref$text === void 0 ? '' : _ref$text,
56
- _ref$weight = _ref.weight,
57
- weight = _ref$weight === void 0 ? _enums.Weight.NORMAL : _ref$weight,
58
- _ref$className = _ref.className,
59
- className = _ref$className === void 0 ? '' : _ref$className,
60
- children = _ref.children,
61
- props = _objectWithoutProperties(_ref, _excluded);
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 P1 = withContainer(P1Container);
81
- exports.P1 = P1;
82
- var P2 = withContainer(P2Container);
83
- exports.P2 = P2;
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.h1 = h1;
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.h2 = h2;
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.h3 = h3;
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.h4 = h4;
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.h5 = h5;
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.p1 = p1;
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.p2 = p2;
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.p3 = p3;
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
- var fontWeightKeys = _.keys(_font.fontWeight); // add @font-face to global style to use self-hosted font for performance reasons, to be more precise please check the issue below:
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
- folder = _ref.folder;
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(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
+ 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
- var _excluded = ["tab"];
27
-
16
+ var _excluded = ["tab"]; // component
17
+ // @twreporter
28
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
-
30
- 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); }
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 _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; }
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
- tab = _ref$tab === void 0 ? {} : _ref$tab,
85
- restProps = _objectWithoutProperties(_ref, _excluded);
86
-
57
+ tab = _ref$tab === void 0 ? {} : _ref$tab,
58
+ restProps = _objectWithoutProperties(_ref, _excluded);
87
59
  var text = tab.text,
88
- link = tab.link,
89
- isExternal = tab.isExternal,
90
- isActive = tab.isActive;
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
- tabs = _ref2$tabs === void 0 ? [] : _ref2$tabs,
136
- _ref2$activeTabIndex = _ref2.activeTabIndex,
137
- activeTabIndex = _ref2$activeTabIndex === void 0 ? 0 : _ref2$activeTabIndex;
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
- _useState2 = _slicedToArray(_useState, 2),
141
- activeIndex = _useState2[0],
142
- setActiveIndex = _useState2[1];
143
-
106
+ _useState2 = _slicedToArray(_useState, 2),
107
+ activeIndex = _useState2[0],
108
+ setActiveIndex = _useState2[1];
144
109
  var _useState3 = (0, _react.useState)(false),
145
- _useState4 = _slicedToArray(_useState3, 2),
146
- showGradientMask = _useState4[0],
147
- setShowGradientMask = _useState4[1];
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
- title = _ref3$title === void 0 ? '' : _ref3$title,
180
- _ref3$tabs = _ref3.tabs,
181
- tabs = _ref3$tabs === void 0 ? [] : _ref3$tabs,
182
- _ref3$activeTabIndex = _ref3.activeTabIndex,
183
- activeTabIndex = _ref3$activeTabIndex === void 0 ? 0 : _ref3$activeTabIndex;
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
- title = _ref$title === void 0 ? '' : _ref$title,
43
- _ref$subtitle = _ref.subtitle,
44
- subtitle = _ref$subtitle === void 0 ? '' : _ref$subtitle;
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;