@twreporter/react-components 8.7.0 → 8.8.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 (33) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/lib/button/components/pillButton.js +107 -0
  3. package/lib/button/stories/pillButton.stories.js +33 -0
  4. package/lib/button/utils/size.js +29 -0
  5. package/lib/button/utils/theme.js +96 -0
  6. package/lib/divider.js +56 -0
  7. package/lib/divider.stories.js +76 -0
  8. package/lib/icon/index.js +302 -0
  9. package/lib/icon/stories/arrow.stories.js +83 -0
  10. package/lib/icon/stories/article.stories.js +39 -0
  11. package/lib/icon/stories/bookmark.stories.js +73 -0
  12. package/lib/icon/stories/changeIconColor.stories.js +53 -0
  13. package/lib/icon/stories/clock.stories.js +39 -0
  14. package/lib/icon/stories/copy.stories.js +39 -0
  15. package/lib/icon/stories/cross.stories.js +39 -0
  16. package/lib/icon/stories/hamburger.stories.js +39 -0
  17. package/lib/icon/stories/home.stories.js +39 -0
  18. package/lib/icon/stories/loading.stories.js +39 -0
  19. package/lib/icon/stories/member.stories.js +39 -0
  20. package/lib/icon/stories/search.stories.js +39 -0
  21. package/lib/icon/stories/share.stories.js +39 -0
  22. package/lib/icon/stories/socialMedia.stories.js +64 -0
  23. package/lib/icon/stories/text.stories.js +39 -0
  24. package/lib/icon/stories/topic.stories.js +39 -0
  25. package/lib/logo/components/logo-footer.js +1 -1
  26. package/lib/logo/components/logo-header.js +2 -2
  27. package/lib/logo/stories/logoFooter.stories.js +35 -0
  28. package/lib/logo/stories/logoHeader.stories.js +38 -0
  29. package/lib/text/headline.js +177 -0
  30. package/lib/text/paragraph.js +111 -0
  31. package/lib/text/stories/headline.stories.js +79 -0
  32. package/lib/text/stories/paragraph.stories.js +60 -0
  33. package/package.json +19 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,42 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [8.8.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.7.1...@twreporter/react-components@8.8.0-rc.0) (2022-05-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * add line height setting to paragraph component ([1390dcf](https://github.com/twreporter/twreporter-npm-packages/commit/1390dcf811b5475337381ce99f2b9b5a1bfe05bc))
12
+ * add transparent theme ([cc149fe](https://github.com/twreporter/twreporter-npm-packages/commit/cc149feafaab69924f4152cf34b869b58710ec6d))
13
+ * fix code review ([462795c](https://github.com/twreporter/twreporter-npm-packages/commit/462795c4bf9259e8896db41117e2d7354e435848))
14
+ * fix headline line height ([0dc0834](https://github.com/twreporter/twreporter-npm-packages/commit/0dc0834d771e9795ec77d55585a4957712d6efa4))
15
+ * fix text syle to use P1, P2 component ([026b47e](https://github.com/twreporter/twreporter-npm-packages/commit/026b47e8e355967f6d1a281670ee3f5aaf57640c))
16
+
17
+
18
+ ### Features
19
+
20
+ * add storybook & designed component ([a6fa216](https://github.com/twreporter/twreporter-npm-packages/commit/a6fa2168f10298f40de425316df79e16bb68d325))
21
+
22
+
23
+
24
+
25
+
26
+ ## [8.7.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.7.1-rc.0...@twreporter/react-components@8.7.1) (2022-04-29)
27
+
28
+ **Note:** Version bump only for package @twreporter/react-components
29
+
30
+
31
+
32
+
33
+
34
+ ## [8.7.1-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.7.0...@twreporter/react-components@8.7.1-rc.0) (2022-04-27)
35
+
36
+ **Note:** Version bump only for package @twreporter/react-components
37
+
38
+
39
+
40
+
41
+
6
42
  # [8.7.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.7.0-rc.0...@twreporter/react-components@8.7.0) (2021-12-27)
7
43
 
8
44
  **Note:** Version bump only for package @twreporter/react-components
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _icon = require("../../icon");
15
+
16
+ var _paragraph = require("../../text/paragraph");
17
+
18
+ var _theme = require("../utils/theme");
19
+
20
+ var _size = require("../utils/size");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ // utils
25
+ var ButtonContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
26
+ displayName: "pillButton__ButtonContainer",
27
+ componentId: "xa7tsy-0"
28
+ })(["width:fit-content;display:flex;align-items:center;border-radius:40px;background-color:", ";border-color:", ";border-style:solid;border-width:1px;color:", ";padding:", ";cursor:pointer;svg{margin-left:4px;height:", ";width:", ";background-color:", ";}&:hover{color:", ";background-color:", ";border-color:", ";svg{background-color:", ";}}"], function (props) {
29
+ return props.type === 'primary' ? props.bgColor : 'transparent';
30
+ }, function (props) {
31
+ return props.bgColor;
32
+ }, function (props) {
33
+ return props.color;
34
+ }, function (props) {
35
+ return props.padding;
36
+ }, function (props) {
37
+ return props.iconSize;
38
+ }, function (props) {
39
+ return props.iconSize;
40
+ }, function (props) {
41
+ return props.color;
42
+ }, function (props) {
43
+ return props.hoverColor;
44
+ }, function (props) {
45
+ return props.type === 'primary' ? props.hoverBgColor : 'transparent';
46
+ }, function (props) {
47
+ return props.hoverBgColor;
48
+ }, function (props) {
49
+ return props.hoverColor;
50
+ });
51
+
52
+ var PillButton = function PillButton(_ref) {
53
+ var _ref$text = _ref.text,
54
+ text = _ref$text === void 0 ? '' : _ref$text,
55
+ _ref$size = _ref.size,
56
+ size = _ref$size === void 0 ? 'S' : _ref$size,
57
+ _ref$theme = _ref.theme,
58
+ theme = _ref$theme === void 0 ? 'normal' : _ref$theme,
59
+ _ref$type = _ref.type,
60
+ type = _ref$type === void 0 ? 'primary' : _ref$type,
61
+ _ref$withIcon = _ref.withIcon,
62
+ withIcon = _ref$withIcon === void 0 ? false : _ref$withIcon,
63
+ _ref$disabled = _ref.disabled,
64
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled;
65
+ var themeFunc = type === 'primary' ? _theme.getFilledPillButtonTheme : _theme.getOutlinePillButtonTheme;
66
+
67
+ var _themeFunc = themeFunc(theme, disabled),
68
+ color = _themeFunc.color,
69
+ bgColor = _themeFunc.bgColor,
70
+ hoverColor = _themeFunc.hoverColor,
71
+ hoverBgColor = _themeFunc.hoverBgColor;
72
+
73
+ var _getSizeStyle = (0, _size.getSizeStyle)(size),
74
+ padding = _getSizeStyle.padding,
75
+ iconSize = _getSizeStyle.iconSize;
76
+
77
+ var iconJSX = withIcon ? /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
78
+ direction: "right"
79
+ }) : '';
80
+ var textJSX = size === 'S' ? /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
81
+ text: text,
82
+ weight: "bold"
83
+ }) : /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
84
+ text: text,
85
+ weight: "bold"
86
+ });
87
+ return /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
88
+ type: type,
89
+ padding: padding,
90
+ color: color,
91
+ bgColor: bgColor,
92
+ iconSize: iconSize,
93
+ hoverColor: hoverColor,
94
+ hoverBgColor: hoverBgColor
95
+ }, textJSX, iconJSX);
96
+ };
97
+
98
+ PillButton.propTypes = {
99
+ text: _propTypes["default"].string,
100
+ size: _propTypes["default"].oneOf(['S', 'L']),
101
+ theme: _propTypes["default"].oneOf(['transparent', 'normal', 'photography', 'index']),
102
+ type: _propTypes["default"].oneOf(['primary', 'secondary']),
103
+ withIcon: _propTypes["default"].bool,
104
+ disabled: _propTypes["default"].bool
105
+ };
106
+ var _default = PillButton;
107
+ exports["default"] = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.pillButton = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _pillButton = _interopRequireDefault(require("../components/pillButton"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var _default = {
15
+ title: 'Button/Pill Button',
16
+ component: _pillButton["default"]
17
+ };
18
+ exports["default"] = _default;
19
+
20
+ var Template = function Template(args) {
21
+ return /*#__PURE__*/_react["default"].createElement(_pillButton["default"], args);
22
+ };
23
+
24
+ var pillButton = Template.bind({});
25
+ exports.pillButton = pillButton;
26
+ pillButton.args = {
27
+ text: '文字',
28
+ size: 'S',
29
+ theme: 'normal',
30
+ type: 'primary',
31
+ withIcon: true,
32
+ disabled: false
33
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.getSizeStyle = void 0;
7
+
8
+ var getSizeStyle = function getSizeStyle(size) {
9
+ switch (size) {
10
+ case 'L':
11
+ return {
12
+ iconSize: '24px',
13
+ padding: '8px 24px'
14
+ };
15
+
16
+ case 'S':
17
+ default:
18
+ return {
19
+ iconSize: '18px',
20
+ padding: '4px 16px'
21
+ };
22
+ }
23
+ };
24
+
25
+ exports.getSizeStyle = getSizeStyle;
26
+ var _default = {
27
+ getSizeStyle: getSizeStyle
28
+ };
29
+ exports["default"] = _default;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.getOutlinePillButtonTheme = exports.getFilledPillButtonTheme = void 0;
7
+
8
+ var _color = require("@twreporter/core/lib/constants/color");
9
+
10
+ // @twreporter
11
+ var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled) {
12
+ if (disabled) {
13
+ return {
14
+ color: _color.colorGrayscale.white,
15
+ bgColor: _color.colorGrayscale.gray400,
16
+ hoverColor: _color.colorGrayscale.white,
17
+ hoverBgColor: _color.colorGrayscale.gray400
18
+ };
19
+ }
20
+
21
+ switch (theme) {
22
+ case 'photography':
23
+ return {
24
+ color: _color.colorPhoto.dark,
25
+ bgColor: _color.colorSupportive.main,
26
+ hoverColor: _color.colorGrayscale.white,
27
+ hoverBgColor: _color.colorSupportive.heavy
28
+ };
29
+
30
+ case 'transparent':
31
+ return {
32
+ color: _color.colorGrayscale.gray600,
33
+ bgColor: _color.colorGrayscale.white,
34
+ hoverColor: _color.colorGrayscale.white,
35
+ hoverBgColor: _color.colorGrayscale.gray200
36
+ };
37
+
38
+ case 'normal':
39
+ case 'index':
40
+ default:
41
+ return {
42
+ color: _color.colorGrayscale.white,
43
+ bgColor: _color.colorBrand.heavy,
44
+ hoverColor: _color.colorGrayscale.white,
45
+ hoverBgColor: _color.colorBrand.dark
46
+ };
47
+ }
48
+ };
49
+
50
+ exports.getFilledPillButtonTheme = getFilledPillButtonTheme;
51
+
52
+ var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabled) {
53
+ if (disabled) {
54
+ return {
55
+ color: _color.colorGrayscale.gray400,
56
+ bgColor: _color.colorGrayscale.gray400,
57
+ hoverColor: _color.colorGrayscale.gray400,
58
+ hoverBgColor: _color.colorGrayscale.gray400
59
+ };
60
+ }
61
+
62
+ switch (theme) {
63
+ case 'photography':
64
+ return {
65
+ color: _color.colorSupportive.main,
66
+ bgColor: _color.colorSupportive.main,
67
+ hoverColor: _color.colorSupportive.heavy,
68
+ hoverBgColor: _color.colorSupportive.heavy
69
+ };
70
+
71
+ case 'transparent':
72
+ return {
73
+ color: _color.colorGrayscale.white,
74
+ bgColor: _color.colorGrayscale.white,
75
+ hoverColor: _color.colorGrayscale.white,
76
+ hoverBgColor: _color.colorGrayscale.white
77
+ };
78
+
79
+ case 'normal':
80
+ case 'index':
81
+ default:
82
+ return {
83
+ color: _color.colorBrand.heavy,
84
+ bgColor: _color.colorBrand.heavy,
85
+ hoverColor: _color.colorBrand.dark,
86
+ hoverBgColor: _color.colorBrand.dark
87
+ };
88
+ }
89
+ };
90
+
91
+ exports.getOutlinePillButtonTheme = getOutlinePillButtonTheme;
92
+ var _default = {
93
+ getFilledPillButtonTheme: getFilledPillButtonTheme,
94
+ getOutlinePillButtonTheme: getOutlinePillButtonTheme
95
+ };
96
+ exports["default"] = _default;
package/lib/divider.js ADDED
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ var _color = require("@twreporter/core/lib/constants/color");
15
+
16
+ var _css = require("@twreporter/core/lib/utils/css");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ var borderWidth = {
21
+ vertical: [0, '1px', 0, 0],
22
+ horizontal: ['1px', 0, 0, 0]
23
+ };
24
+ var height = {
25
+ vertical: '100%',
26
+ horizontal: 0
27
+ };
28
+ var width = {
29
+ vertical: 0,
30
+ horizontal: '100%'
31
+ };
32
+
33
+ var DividerBox = /*#__PURE__*/_styledComponents["default"].div.withConfig({
34
+ displayName: "divider__DividerBox",
35
+ componentId: "nohqp6-0"
36
+ })(["border-width:", ";border-style:solid;border-color:", ";height:", ";width:", ";"], function (props) {
37
+ return (0, _css.arrayToCssShorthand)(borderWidth[props.direction]);
38
+ }, _color.colorGrayscale.gray300, function (props) {
39
+ return height[props.direction];
40
+ }, function (props) {
41
+ return width[props.direction];
42
+ });
43
+
44
+ var Divider = function Divider(_ref) {
45
+ var _ref$direction = _ref.direction,
46
+ direction = _ref$direction === void 0 ? 'horizontal' : _ref$direction;
47
+ return /*#__PURE__*/_react["default"].createElement(DividerBox, {
48
+ direction: direction
49
+ });
50
+ };
51
+
52
+ Divider.propTypes = {
53
+ direction: _propTypes["default"].oneOf(['vertical', 'horizontal'])
54
+ };
55
+ var _default = Divider;
56
+ exports["default"] = _default;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.vertical = exports.horizontal = exports.divider = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _divider = _interopRequireDefault(require("./divider"));
11
+
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var _default = {
17
+ title: 'Divider/Line',
18
+ component: _divider["default"]
19
+ };
20
+ exports["default"] = _default;
21
+ var flexDirection = {
22
+ vertical: 'row',
23
+ horizontal: 'column'
24
+ };
25
+
26
+ var FlexContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
27
+ displayName: "dividerstories__FlexContainer",
28
+ componentId: "sc-166xqvx-0"
29
+ })(["display:flex;flex-direction:", ";align-items:center;justify-content:space-between;height:250px;width:250px;"], function (props) {
30
+ return flexDirection[props.direction];
31
+ });
32
+
33
+ var Cube = /*#__PURE__*/_styledComponents["default"].div.withConfig({
34
+ displayName: "dividerstories__Cube",
35
+ componentId: "sc-166xqvx-1"
36
+ })(["height:100px;width:100px;background-color:#aaa;"]);
37
+
38
+ var VerticalContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
39
+ displayName: "dividerstories__VerticalContainer",
40
+ componentId: "sc-166xqvx-2"
41
+ })(["height:200px;"]);
42
+
43
+ var divider = function divider(args) {
44
+ return /*#__PURE__*/_react["default"].createElement(FlexContainer, args, /*#__PURE__*/_react["default"].createElement(Cube, null), /*#__PURE__*/_react["default"].createElement(_divider["default"], args), /*#__PURE__*/_react["default"].createElement(Cube, null));
45
+ };
46
+
47
+ exports.divider = divider;
48
+ divider.args = {
49
+ direction: 'horizontal'
50
+ };
51
+
52
+ var horizontal = function horizontal() {
53
+ return /*#__PURE__*/_react["default"].createElement(_divider["default"], {
54
+ direction: "horizontal"
55
+ });
56
+ };
57
+
58
+ exports.horizontal = horizontal;
59
+ horizontal.parameters = {
60
+ controls: {
61
+ exclude: ['direction']
62
+ }
63
+ };
64
+
65
+ var vertical = function vertical() {
66
+ return /*#__PURE__*/_react["default"].createElement(VerticalContainer, null, /*#__PURE__*/_react["default"].createElement(_divider["default"], {
67
+ direction: "vertical"
68
+ }));
69
+ };
70
+
71
+ exports.vertical = vertical;
72
+ vertical.parameters = {
73
+ controls: {
74
+ exclude: ['direction']
75
+ }
76
+ };