@twreporter/react-components 8.17.0-rc.1 → 8.17.0-rc.11

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 (92) hide show
  1. package/CHANGELOG.md +304 -784
  2. package/lib/bookmark-list/bookmarks.js +18 -2
  3. package/lib/button/components/iconButton.js +7 -5
  4. package/lib/button/components/iconWithTextButton.js +7 -6
  5. package/lib/button/components/link.js +84 -0
  6. package/lib/button/components/pillButton.js +35 -17
  7. package/lib/button/components/textButton.js +17 -14
  8. package/lib/button/constants/index.js +2 -15
  9. package/lib/button/enums/index.js +22 -0
  10. package/lib/button/index.js +10 -1
  11. package/lib/button/stories/iconButton.stories.js +10 -8
  12. package/lib/button/stories/iconWithTextButton.stories.js +4 -4
  13. package/lib/button/stories/link.stories.js +81 -0
  14. package/lib/button/stories/pillButton.stories.js +51 -20
  15. package/lib/button/stories/textButton.stories.js +52 -23
  16. package/lib/button/utils/size.js +2 -2
  17. package/lib/button/utils/theme.js +85 -43
  18. package/lib/card/components/article-card.js +192 -0
  19. package/lib/card/components/dialog.js +6 -3
  20. package/lib/card/index.js +10 -1
  21. package/lib/card/stories/articleCard.stories.js +55 -0
  22. package/lib/card/stories/dialog.stories.js +7 -2
  23. package/lib/checkbox/checkbox.stories.js +39 -0
  24. package/lib/checkbox/index.js +99 -0
  25. package/lib/divider.js +8 -2
  26. package/lib/divider.stories.js +3 -3
  27. package/lib/empty-state/enums/index.js +12 -0
  28. package/lib/empty-state/index.js +114 -0
  29. package/lib/empty-state/stories/empty-guide.stories.js +42 -0
  30. package/lib/icon/enum/index.js +34 -0
  31. package/lib/icon/index.js +99 -222
  32. package/lib/icon/stories/arrow.stories.js +7 -7
  33. package/lib/icon/stories/article.stories.js +2 -2
  34. package/lib/icon/stories/bookmark.stories.js +6 -6
  35. package/lib/icon/stories/clock.stories.js +2 -2
  36. package/lib/icon/stories/copy.stories.js +2 -2
  37. package/lib/icon/stories/cross.stories.js +2 -2
  38. package/lib/icon/stories/hamburger.stories.js +2 -2
  39. package/lib/icon/stories/home.stories.js +2 -2
  40. package/lib/icon/stories/letter.stories.js +29 -0
  41. package/lib/icon/stories/loading.stories.js +2 -2
  42. package/lib/icon/stories/member.stories.js +2 -2
  43. package/lib/icon/stories/printer.stories.js +2 -2
  44. package/lib/icon/stories/search.stories.js +2 -2
  45. package/lib/icon/stories/share.stories.js +2 -2
  46. package/lib/icon/stories/socialMedia.stories.js +7 -25
  47. package/lib/icon/stories/text.stories.js +2 -2
  48. package/lib/icon/stories/topic.stories.js +2 -2
  49. package/lib/image-with-fallback.js +141 -0
  50. package/lib/input/components/search-bar.js +6 -4
  51. package/lib/input/enums/index.js +11 -0
  52. package/lib/input/stories/search-bar.stories.js +8 -7
  53. package/lib/input/utils/theme.js +5 -3
  54. package/lib/listing-page/components/card-list.js +165 -0
  55. package/lib/listing-page/components/image.js +3 -0
  56. package/lib/listing-page/components/list.js +13 -8
  57. package/lib/listing-page/constants/prop-types.js +25 -0
  58. package/lib/listing-page/index.js +10 -1
  59. package/lib/listing-page/stories/cardList.stories.js +83 -0
  60. package/lib/logo/components/logo-header.js +8 -2
  61. package/lib/logo/components/logo-loading-fallback.js +43 -0
  62. package/lib/logo/components/logo-symbol.js +9 -2
  63. package/lib/logo/index.js +10 -1
  64. package/lib/logo/stories/logoFooter.stories.js +2 -2
  65. package/lib/logo/stories/logoHeader.stories.js +3 -3
  66. package/lib/logo/stories/logoLoadingFallback.stories.js +29 -0
  67. package/lib/logo/stories/logoSymbol.stories.js +3 -3
  68. package/lib/logo/utils/path.js +5 -0
  69. package/lib/material-icon.js +53 -0
  70. package/lib/pagination/index.js +8 -5
  71. package/lib/shared-enum.js +11 -0
  72. package/lib/snack-bar/components/snack-bar.js +2 -1
  73. package/lib/snack-bar/stories/snackBar.stories.js +4 -4
  74. package/lib/storybook/constants/index.js +27 -0
  75. package/lib/storybook/utils/get-enum-arg.js +18 -0
  76. package/lib/text/constants/headline-type.js +5 -24
  77. package/lib/text/enums/index.js +17 -0
  78. package/lib/text/headline.js +5 -2
  79. package/lib/text/paragraph.js +9 -6
  80. package/lib/text/stories/headline.stories.js +5 -3
  81. package/lib/text/stories/paragraph.stories.js +5 -3
  82. package/lib/title-bar/components/bar.js +2 -2
  83. package/lib/title-bar/components/tab.js +2 -2
  84. package/package.json +5 -4
  85. package/lib/bookmark-list/empty-guide.js +0 -81
  86. package/lib/bookmark-list/stories/empty-guide.stories.js +0 -39
  87. package/lib/button/constants/size.js +0 -28
  88. package/lib/button/constants/type.js +0 -28
  89. package/lib/input/constants/type.js +0 -20
  90. package/lib/text/constants/font-weight.js +0 -29
  91. package/lib/text/link.js +0 -87
  92. package/lib/text/stories/link.stories.js +0 -42
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Hamburger',
18
18
  component: _index.Hamburger,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Home',
18
18
  component: _index.Home,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.letter = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _index = require("../index");
11
+
12
+ var _constants = require("../../storybook/constants");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var _default = {
17
+ title: 'Icon/Letter',
18
+ component: _index.Letter,
19
+ argTypes: {
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
+ }
22
+ };
23
+ exports["default"] = _default;
24
+
25
+ var letter = function letter(args) {
26
+ return /*#__PURE__*/_react["default"].createElement(_index.Letter, args);
27
+ };
28
+
29
+ exports.letter = letter;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Loading',
18
18
  component: _index.Loading,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Member',
18
18
  component: _index.Member,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Printer',
18
18
  component: _index.Printer,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Search',
18
18
  component: _index.Search,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Share',
18
18
  component: _index.Share,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -7,45 +7,27 @@ exports.socialMedia = exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _getEnumArg = require("../../storybook/utils/get-enum-arg");
11
11
 
12
12
  var _index = require("../index");
13
13
 
14
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
14
+ var _constants = require("../../storybook/constants");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
17
 
18
- var SocialMedia = function SocialMedia(_ref) {
19
- var mediaType = _ref.mediaType,
20
- releaseBranch = _ref.releaseBranch;
21
- return /*#__PURE__*/_react["default"].createElement(_index.Icon, {
22
- filename: mediaType,
23
- releaseBranch: releaseBranch
24
- });
25
- };
26
-
27
- SocialMedia.propTypes = {
28
- mediaType: _propTypes["default"].oneOf(['facebook', 'instagram', 'medium', 'twitter', 'youtube', 'line']),
29
- releaseBranch: _releaseBranch.BRANCH_PROP_TYPES
30
- };
31
18
  var _default = {
32
19
  title: 'Icon/Social Media',
33
- component: SocialMedia,
20
+ component: _index.SocialMedia,
34
21
  argTypes: {
35
- mediaType: {
36
- defaultValue: 'facebook',
37
- options: ['facebook', 'instagram', 'medium', 'twitter', 'youtube', 'line'],
38
- control: {
39
- type: 'radio'
40
- }
41
- },
42
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
22
+ type: (0, _getEnumArg.getRadioArg)(_index.SocialMedia.Type, _index.SocialMedia.Type.MASK),
23
+ mediaType: (0, _getEnumArg.getRadioArg)(_index.SocialMedia.MediaType, _index.SocialMedia.MediaType.GOOGLE),
24
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
43
25
  }
44
26
  };
45
27
  exports["default"] = _default;
46
28
 
47
29
  var socialMedia = function socialMedia(args) {
48
- return /*#__PURE__*/_react["default"].createElement(SocialMedia, args);
30
+ return /*#__PURE__*/_react["default"].createElement(_index.SocialMedia, args);
49
31
  };
50
32
 
51
33
  exports.socialMedia = socialMedia;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Text',
18
18
  component: _index.Text,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _index = require("../index");
11
11
 
12
- var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
12
+ var _constants = require("../../storybook/constants");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: 'Icon/Topic',
18
18
  component: _index.Topic,
19
19
  argTypes: {
20
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
20
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
21
21
  }
22
22
  };
23
23
  exports["default"] = _default;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _logo = require("./logo");
17
+
18
+ var _storageUrlProcessor = require("@twreporter/core/lib/utils/storage-url-processor");
19
+
20
+ var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
21
+
22
+ var _get = _interopRequireDefault(require("lodash/get"));
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ 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."); }
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ 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; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ var _ = {
43
+ get: _get["default"]
44
+ };
45
+
46
+ var ImgContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
47
+ displayName: "image-with-fallback__ImgContainer",
48
+ componentId: "qk0kiz-0"
49
+ })(["width:100%;height:100%;position:relative;"]);
50
+
51
+ var ImgObjectFit = /*#__PURE__*/(0, _styledComponents["default"])(ImgContainer).withConfig({
52
+ displayName: "image-with-fallback__ImgObjectFit",
53
+ componentId: "qk0kiz-1"
54
+ })(["opacity:", ";transition:opacity 1s ease;> img{width:100%;height:100%;object-fit:cover;}"], function (props) {
55
+ return props.opacity;
56
+ });
57
+ var ImgFallback = /*#__PURE__*/(0, _styledComponents["default"])(ImgContainer).withConfig({
58
+ displayName: "image-with-fallback__ImgFallback",
59
+ componentId: "qk0kiz-2"
60
+ })(["background-size:cover;background-image:", ";background-position:center center;"], function (props) {
61
+ return "url(".concat((0, _storageUrlProcessor.replaceGCSUrlOrigin)(_.get(props, 'url')), ")");
62
+ });
63
+ var LogoCenteringBlock = /*#__PURE__*/(0, _styledComponents["default"])(ImgContainer).withConfig({
64
+ displayName: "image-with-fallback__LogoCenteringBlock",
65
+ componentId: "qk0kiz-3"
66
+ })(["position:absolute;justify-content:center;align-items:center;background-color:white;display:", ";> img{width:65%;height:65%;}"], function (props) {
67
+ return props.display;
68
+ });
69
+
70
+ var Image = function Image(_ref) {
71
+ var src = _ref.src,
72
+ _ref$alt = _ref.alt,
73
+ alt = _ref$alt === void 0 ? '' : _ref$alt,
74
+ _ref$srcSet = _ref.srcSet,
75
+ srcSet = _ref$srcSet === void 0 ? '' : _ref$srcSet,
76
+ _ref$releaseBranch = _ref.releaseBranch,
77
+ releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch.BRANCH.master : _ref$releaseBranch;
78
+
79
+ var _useState = (0, _react.useState)(false),
80
+ _useState2 = _slicedToArray(_useState, 2),
81
+ isObjectFit = _useState2[0],
82
+ setIsObjectFit = _useState2[1];
83
+
84
+ var _useState3 = (0, _react.useState)(false),
85
+ _useState4 = _slicedToArray(_useState3, 2),
86
+ isImgOnLoad = _useState4[0],
87
+ setIsImgOnLoad = _useState4[1];
88
+
89
+ var imgNode = (0, _react.useRef)(null);
90
+ (0, _react.useEffect)(function () {
91
+ setIsObjectFit('objectFit' in _.get(document, 'documentElement.style'));
92
+ }, []); // Check if img is already loaded, and cached on the browser.
93
+ // If cached, React.img won't trigger onLoad event.
94
+ // Hence, we need to trigger re-rendering.
95
+
96
+ (0, _react.useEffect)(function () {
97
+ if (!imgNode.current) {
98
+ return;
99
+ }
100
+
101
+ setIsImgOnLoad(imgNode.current.complete);
102
+ }, [imgNode]);
103
+
104
+ var handleImgOnLoad = function handleImgOnLoad() {
105
+ setIsImgOnLoad(true);
106
+ };
107
+
108
+ var logoDisplay = 'flex';
109
+
110
+ if (!isObjectFit) {
111
+ logoDisplay = 'none';
112
+ } else if (isImgOnLoad) {
113
+ logoDisplay = 'none';
114
+ }
115
+
116
+ var ImgJSX = isObjectFit ? /*#__PURE__*/_react["default"].createElement(ImgObjectFit, {
117
+ opacity: isImgOnLoad ? 1 : 0
118
+ }, /*#__PURE__*/_react["default"].createElement("img", {
119
+ ref: imgNode,
120
+ alt: alt,
121
+ src: (0, _storageUrlProcessor.replaceGCSUrlOrigin)(src),
122
+ srcSet: srcSet,
123
+ onLoad: handleImgOnLoad
124
+ })) : /*#__PURE__*/_react["default"].createElement(ImgFallback, {
125
+ url: (0, _storageUrlProcessor.replaceGCSUrlOrigin)(src)
126
+ });
127
+ return /*#__PURE__*/_react["default"].createElement(ImgContainer, null, /*#__PURE__*/_react["default"].createElement(LogoCenteringBlock, {
128
+ display: logoDisplay
129
+ }, /*#__PURE__*/_react["default"].createElement(_logo.LogoFallback, {
130
+ releaseBranch: releaseBranch
131
+ })), ImgJSX);
132
+ };
133
+
134
+ Image.propTypes = {
135
+ alt: _propTypes["default"].string,
136
+ src: _propTypes["default"].string.isRequired,
137
+ srcSet: _propTypes["default"].string,
138
+ releaseBranch: _releaseBranch.BRANCH_PROP_TYPES
139
+ };
140
+ var _default = Image;
141
+ exports["default"] = _default;
@@ -15,7 +15,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
16
  var _theme = require("../utils/theme");
17
17
 
18
- var _type = require("../constants/type");
18
+ var _enums = require("../enums");
19
19
 
20
20
  var _icon = require("../../icon");
21
21
 
@@ -117,7 +117,7 @@ var SearchBar = function SearchBar(_ref) {
117
117
  _ref$autofocus = _ref.autofocus,
118
118
  autofocus = _ref$autofocus === void 0 ? true : _ref$autofocus,
119
119
  _ref$widthType = _ref.widthType,
120
- widthType = _ref$widthType === void 0 ? _type.WIDTH_TYPE.fit : _ref$widthType,
120
+ widthType = _ref$widthType === void 0 ? _enums.WidthType.FIT : _ref$widthType,
121
121
  props = _objectWithoutProperties(_ref, _excluded);
122
122
 
123
123
  var _useState = (0, _react.useState)(''),
@@ -209,13 +209,15 @@ var SearchBar = function SearchBar(_ref) {
209
209
 
210
210
  SearchBar.propTypes = {
211
211
  placeholder: _propTypes["default"].string,
212
- theme: _theme2.THEME_PROP_TYPES,
212
+ theme: _propTypes["default"].oneOf(Object.values(_theme2.THEME)),
213
213
  releaseBranch: _releaseBranch.BRANCH_PROP_TYPES,
214
214
  onSearch: _propTypes["default"].func,
215
215
  onClose: _propTypes["default"].func,
216
216
  handleBlur: _propTypes["default"].func,
217
217
  autofocus: _propTypes["default"].bool,
218
- widthType: _type.WIDTH_PROP_TYPE
218
+ widthType: _propTypes["default"].oneOf(Object.values(_enums.WidthType))
219
219
  };
220
+ SearchBar.THEME = _theme2.THEME;
221
+ SearchBar.WidthType = _enums.WidthType;
220
222
  var _default = SearchBar;
221
223
  exports["default"] = _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.WidthType = void 0;
7
+ var WidthType = Object.freeze({
8
+ FIT: 'fit',
9
+ STRETCH: 'stretch'
10
+ });
11
+ exports.WidthType = WidthType;
@@ -7,22 +7,23 @@ exports.searchBar = exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _getEnumArg = require("../../storybook/utils/get-enum-arg");
11
+
10
12
  var _searchBar = _interopRequireDefault(require("../components/search-bar"));
11
13
 
12
- var _type = require("../constants/type");
14
+ var _constants = require("../../storybook/constants");
13
15
 
14
16
  var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
15
17
 
16
- var _theme = require("@twreporter/core/lib/constants/theme");
17
-
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
 
20
20
  var _default = {
21
21
  title: 'Input/Search Bar',
22
22
  component: _searchBar["default"],
23
23
  argTypes: {
24
- releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE,
25
- theme: _theme.THEME_STORYBOOK_ARG_TYPE
24
+ widthType: (0, _getEnumArg.getRadioArg)(_searchBar["default"].WidthType, _searchBar["default"].WidthType.FIT),
25
+ releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE,
26
+ theme: _constants.THEME_STORYBOOK_ARG_TYPE
26
27
  }
27
28
  };
28
29
  exports["default"] = _default;
@@ -47,10 +48,10 @@ var onClose = function onClose() {
47
48
 
48
49
  searchBar.args = {
49
50
  placeholder: '關鍵字搜尋',
50
- theme: _theme.THEME.normal,
51
+ theme: _searchBar["default"].THEME.normal,
51
52
  releaseBranch: _releaseBranch.BRANCH.master,
52
53
  onSearch: onSearch,
53
54
  onClose: onClose,
54
55
  autofocus: false,
55
- widthType: _type.WIDTH_TYPE.fit
56
+ widthType: _searchBar["default"].WidthType.FIT
56
57
  };
@@ -7,9 +7,11 @@ exports.selectThemeStyle = void 0;
7
7
 
8
8
  var _color = require("@twreporter/core/lib/constants/color");
9
9
 
10
+ var _theme = require("@twreporter/core/lib/constants/theme");
11
+
10
12
  var selectThemeStyle = function selectThemeStyle(theme) {
11
13
  switch (theme) {
12
- case 'photography':
14
+ case _theme.THEME.photography:
13
15
  return {
14
16
  bgColor: _color.colorOpacity['white_0.8'],
15
17
  focusBgColor: _color.colorGrayscale.gray100,
@@ -20,7 +22,7 @@ var selectThemeStyle = function selectThemeStyle(theme) {
20
22
  placeholderColor: _color.colorGrayscale.gray800
21
23
  };
22
24
 
23
- case 'transpareant':
25
+ case _theme.THEME.transpareant:
24
26
  return {
25
27
  bgColor: _color.colorOpacity['gray100_0.8'],
26
28
  focusBgColor: _color.colorOpacity['gray100_0.8'],
@@ -31,7 +33,7 @@ var selectThemeStyle = function selectThemeStyle(theme) {
31
33
  placeholderColor: _color.colorGrayscale.gray500
32
34
  };
33
35
 
34
- case 'normal':
36
+ case _theme.THEME.normal:
35
37
  default:
36
38
  return {
37
39
  bgColor: _color.colorOpacity['gray100_0.8'],