@twreporter/react-components 8.17.0-rc.0 → 8.17.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
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.17.0-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.1...@twreporter/react-components@8.17.0-rc.2) (2023-04-12)
7
+
8
+ **Note:** Version bump only for package @twreporter/react-components
9
+
10
+
11
+
12
+
13
+
14
+ # [8.17.0-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.0...@twreporter/react-components@8.17.0-rc.1) (2023-03-09)
15
+
16
+ **Note:** Version bump only for package @twreporter/react-components
17
+
18
+
19
+
20
+
21
+
6
22
  # [8.17.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.16.1-rc.1...@twreporter/react-components@8.17.0-rc.0) (2023-03-08)
7
23
 
8
24
 
@@ -26,10 +26,17 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
26
26
  var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
27
27
  displayName: "badge__Container",
28
28
  componentId: "sc-1mnvxli-0"
29
- })(["background:", ";padding:2px 4px;width:fit-content;"], function (props) {
29
+ })(["background:", ";padding:2px 4px;width:fit-content;border-radius:2px;"], function (props) {
30
30
  return props.backgroundColor;
31
31
  });
32
32
 
33
+ var ColorP2 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P2).withConfig({
34
+ displayName: "badge__ColorP2",
35
+ componentId: "sc-1mnvxli-1"
36
+ })(["color:", ";"], function (props) {
37
+ return props.color;
38
+ });
39
+
33
40
  var Badge = function Badge(_ref) {
34
41
  var _ref$text = _ref.text,
35
42
  text = _ref$text === void 0 ? '' : _ref$text,
@@ -41,11 +48,9 @@ var Badge = function Badge(_ref) {
41
48
 
42
49
  return /*#__PURE__*/_react["default"].createElement(Container, _extends({
43
50
  backgroundColor: backgroundColor
44
- }, props), /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
51
+ }, props), /*#__PURE__*/_react["default"].createElement(ColorP2, {
45
52
  text: text,
46
- style: {
47
- color: textColor
48
- }
53
+ color: textColor
49
54
  }));
50
55
  };
51
56
 
@@ -17,14 +17,14 @@ var _size = require("../utils/size");
17
17
 
18
18
  var _paragraph = require("../../text/paragraph");
19
19
 
20
+ var _constants = require("../constants/");
21
+
20
22
  var _size2 = require("../constants/size");
21
23
 
22
24
  var _type = require("../constants/type");
23
25
 
24
26
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
25
27
 
26
- var _theme2 = require("@twreporter/core/lib/constants/theme");
27
-
28
28
  var _excluded = ["text", "leftIconComponent", "rightIconComponent", "size", "theme", "type", "active", "disabled"];
29
29
 
30
30
  var _templateObject;
@@ -56,6 +56,13 @@ var ButtonContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
56
56
  return props.hoverColor;
57
57
  }));
58
58
 
59
+ var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
60
+ displayName: "textButton__IconContainer",
61
+ componentId: "sc-1lwyrq5-1"
62
+ })(["display:flex;align-items:center;margin:", ";"], function (props) {
63
+ return props.isLeft ? '0 4px 0 0' : '0 0 0 4px';
64
+ });
65
+
59
66
  var TextButton = function TextButton(_ref) {
60
67
  var _ref$text = _ref.text,
61
68
  text = _ref$text === void 0 ? '' : _ref$text,
@@ -66,7 +73,7 @@ var TextButton = function TextButton(_ref) {
66
73
  _ref$size = _ref.size,
67
74
  size = _ref$size === void 0 ? _size2.SIZE.S : _ref$size,
68
75
  _ref$theme = _ref.theme,
69
- theme = _ref$theme === void 0 ? _theme2.THEME.normal : _ref$theme,
76
+ theme = _ref$theme === void 0 ? _constants.TEXT_BUTTON_THEME.normal : _ref$theme,
70
77
  _ref$type = _ref.type,
71
78
  type = _ref$type === void 0 ? _type.TYPE.primary : _ref$type,
72
79
  _ref$active = _ref.active,
@@ -103,7 +110,9 @@ var TextButton = function TextButton(_ref) {
103
110
  color: color,
104
111
  hoverColor: hoverColor,
105
112
  iconSize: iconSize
106
- }, props), leftIconComponent, textJSX, rightIconComponent);
113
+ }, props), size === _size2.SIZE.L ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
114
+ isLeft: true
115
+ }, leftIconComponent) : leftIconComponent, textJSX, size === _size2.SIZE.L ? /*#__PURE__*/_react["default"].createElement(IconContainer, null, rightIconComponent) : rightIconComponent);
107
116
  };
108
117
 
109
118
  TextButton.propTypes = {
@@ -111,7 +120,7 @@ TextButton.propTypes = {
111
120
  rightIconComponent: _propTypes["default"].element,
112
121
  text: _propTypes["default"].string,
113
122
  size: _size2.SIZE_PROP_TYPES,
114
- theme: _theme2.THEME_PROP_TYPES,
123
+ theme: _constants.TEXT_BUTTON_THEME_PROP_TYPES,
115
124
  type: _type.TYPE_PROP_TYPES,
116
125
  active: _propTypes["default"].bool,
117
126
  disabled: _propTypes["default"].bool
@@ -23,26 +23,31 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
23
23
 
24
24
  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; }
25
25
 
26
+ var ColorP2 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P2).withConfig({
27
+ displayName: "toggleButton__ColorP2",
28
+ componentId: "sc-183g3tk-0"
29
+ })(["color:", ";white-space:nowrap;"], _color.colorGrayscale.gray600);
30
+
26
31
  var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
27
32
  displayName: "toggleButton__Container",
28
- componentId: "sc-183g3tk-0"
33
+ componentId: "sc-183g3tk-1"
29
34
  })(["display:flex;flex-direction:column;justify-content:center;align-items:center;width:42px;"]);
30
35
 
31
36
  var Label = /*#__PURE__*/_styledComponents["default"].label.withConfig({
32
37
  displayName: "toggleButton__Label",
33
- componentId: "sc-183g3tk-1"
38
+ componentId: "sc-183g3tk-2"
34
39
  })(["display:flex;align-items:center;gap:10px;cursor:pointer;"]);
35
40
 
36
41
  var Switch = /*#__PURE__*/_styledComponents["default"].div.withConfig({
37
42
  displayName: "toggleButton__Switch",
38
- componentId: "sc-183g3tk-2"
43
+ componentId: "sc-183g3tk-3"
39
44
  })(["position:relative;width:40px;height:20px;background:", ";border-radius:20px;padding:0px;transition:100ms ease-in-out;&:before{transition:100ms ease-in-out;content:'';position:absolute;width:16px;height:16px;border-radius:20px;top:50%;left:2px;background:white;transform:translate(0,-50%);}"], function (props) {
40
45
  return props.disabled ? _color.colorGrayscale.gray400 : _color.colorGrayscale.gray600;
41
46
  });
42
47
 
43
48
  var Input = /*#__PURE__*/_styledComponents["default"].input.withConfig({
44
49
  displayName: "toggleButton__Input",
45
- componentId: "sc-183g3tk-3"
50
+ componentId: "sc-183g3tk-4"
46
51
  })(["opacity:0;position:absolute;&:checked + ", "{background:", ";&:before{transform:translate(20px,-50%);}}"], Switch, function (props) {
47
52
  return props.disabled ? _color.colorGrayscale.gray400 : _color.colorBrand.heavy;
48
53
  });
@@ -64,12 +69,8 @@ var ToggleButton = function ToggleButton(_ref) {
64
69
  onChange && onChange();
65
70
  };
66
71
 
67
- return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
68
- text: value ? labelOn : labelOff,
69
- style: {
70
- color: _color.colorGrayscale.gray600,
71
- whiteSpace: 'nowrap'
72
- }
72
+ return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ColorP2, {
73
+ text: value ? labelOn : labelOff
73
74
  }), /*#__PURE__*/_react["default"].createElement(Label, props, /*#__PURE__*/_react["default"].createElement(Input, {
74
75
  type: "checkbox",
75
76
  disabled: disabled,
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TEXT_BUTTON_THEME_PROP_TYPES = exports.TEXT_BUTTON_THEME = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _theme = require("@twreporter/core/lib/constants/theme");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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
+
20
+ var TEXT_BUTTON_THEME = Object.freeze(_objectSpread(_objectSpread({}, _theme.THEME), {}, {
21
+ brand: 'brand',
22
+ dark: 'dark',
23
+ light: 'light'
24
+ }));
25
+ exports.TEXT_BUTTON_THEME = TEXT_BUTTON_THEME;
26
+
27
+ var TEXT_BUTTON_THEME_PROP_TYPES = _propTypes["default"].oneOf(Object.values(TEXT_BUTTON_THEME));
28
+
29
+ exports.TEXT_BUTTON_THEME_PROP_TYPES = TEXT_BUTTON_THEME_PROP_TYPES;
@@ -15,7 +15,7 @@ var _size = require("../constants/size");
15
15
 
16
16
  var _type = require("../constants/type");
17
17
 
18
- var _theme = require("@twreporter/core/lib/constants/theme");
18
+ var _constants = require("../constants");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
21
 
@@ -23,7 +23,13 @@ var _default = {
23
23
  title: 'Button/Text Button',
24
24
  component: _textButton["default"],
25
25
  argTypes: {
26
- theme: _theme.THEME_STORYBOOK_ARG_TYPE,
26
+ theme: {
27
+ defaultValue: _constants.TEXT_BUTTON_THEME.normal,
28
+ options: Object.values(_constants.TEXT_BUTTON_THEME),
29
+ control: {
30
+ type: 'radio'
31
+ }
32
+ },
27
33
  type: _type.TYPE_STORYBOOK_ARG_TYPE,
28
34
  size: _size.SIZE_STORYBOOK_ARG_TYPE
29
35
  }
@@ -39,7 +45,7 @@ exports.textButton = textButton;
39
45
  textButton.args = {
40
46
  text: '文字',
41
47
  size: _size.SIZE.S,
42
- theme: _theme.THEME.normal,
48
+ theme: _constants.TEXT_BUTTON_THEME.normal,
43
49
  type: _type.TYPE.primary,
44
50
  active: false,
45
51
  disabled: false
@@ -55,7 +61,7 @@ withArrowIcon.args = {
55
61
  }),
56
62
  text: '文字',
57
63
  size: _size.SIZE.S,
58
- theme: _theme.THEME.normal,
64
+ theme: _constants.TEXT_BUTTON_THEME.normal,
59
65
  type: _type.TYPE.primary,
60
66
  active: false,
61
67
  disabled: false
@@ -7,11 +7,15 @@ exports["default"] = exports.getActiveTextButtonTheme = exports.getDisabledTextB
7
7
 
8
8
  var _color = require("@twreporter/core/lib/constants/color");
9
9
 
10
+ var _theme = require("@twreporter/core/lib/constants/theme");
11
+
12
+ var _constants = require("../constants");
13
+
10
14
  // @twreporter
11
15
  var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled) {
12
16
  if (disabled) {
13
17
  switch (theme) {
14
- case 'transparent':
18
+ case _theme.THEME.transparent:
15
19
  return {
16
20
  color: _color.colorGrayscale.white,
17
21
  bgColor: _color.colorGrayscale.gray200,
@@ -30,7 +34,7 @@ var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled
30
34
  }
31
35
 
32
36
  switch (theme) {
33
- case 'photography':
37
+ case _theme.THEME.photography:
34
38
  return {
35
39
  color: _color.colorPhoto.dark,
36
40
  bgColor: _color.colorSupportive.main,
@@ -38,7 +42,7 @@ var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled
38
42
  hoverBgColor: _color.colorSupportive.heavy
39
43
  };
40
44
 
41
- case 'transparent':
45
+ case _theme.THEME.transparent:
42
46
  return {
43
47
  color: _color.colorGrayscale.gray600,
44
48
  bgColor: _color.colorGrayscale.white,
@@ -46,8 +50,8 @@ var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled
46
50
  hoverBgColor: _color.colorGrayscale.gray400
47
51
  };
48
52
 
49
- case 'normal':
50
- case 'index':
53
+ case _theme.THEME.normal:
54
+ case _theme.THEME.index:
51
55
  default:
52
56
  return {
53
57
  color: _color.colorGrayscale.white,
@@ -63,7 +67,7 @@ exports.getFilledPillButtonTheme = getFilledPillButtonTheme;
63
67
  var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabled) {
64
68
  if (disabled) {
65
69
  switch (theme) {
66
- case 'transparent':
70
+ case _theme.THEME.transparent:
67
71
  return {
68
72
  color: _color.colorGrayscale.gray200,
69
73
  bgColor: _color.colorGrayscale.gray200,
@@ -71,7 +75,7 @@ var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabl
71
75
  hoverBgColor: _color.colorGrayscale.gray200
72
76
  };
73
77
 
74
- case 'photography':
78
+ case _theme.THEME.photography:
75
79
  return {
76
80
  color: _color.colorGrayscale.gray600,
77
81
  bgColor: _color.colorGrayscale.gray200,
@@ -90,7 +94,7 @@ var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabl
90
94
  }
91
95
 
92
96
  switch (theme) {
93
- case 'photography':
97
+ case _theme.THEME.photography:
94
98
  return {
95
99
  color: _color.colorSupportive.main,
96
100
  bgColor: _color.colorSupportive.main,
@@ -98,7 +102,7 @@ var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabl
98
102
  hoverBgColor: _color.colorSupportive.heavy
99
103
  };
100
104
 
101
- case 'transparent':
105
+ case _theme.THEME.transparent:
102
106
  return {
103
107
  color: _color.colorGrayscale.white,
104
108
  bgColor: _color.colorGrayscale.white,
@@ -106,8 +110,8 @@ var getOutlinePillButtonTheme = function getOutlinePillButtonTheme(theme, disabl
106
110
  hoverBgColor: _color.colorGrayscale.gray600
107
111
  };
108
112
 
109
- case 'normal':
110
- case 'index':
113
+ case _theme.THEME.normal:
114
+ case _theme.THEME.index:
111
115
  default:
112
116
  return {
113
117
  color: _color.colorBrand.heavy,
@@ -131,37 +135,37 @@ var getPrimaryIconButtonTheme = function getPrimaryIconButtonTheme(theme, isActi
131
135
  var switchKey = isActive ? "".concat(theme, "-active") : theme;
132
136
 
133
137
  switch (switchKey) {
134
- case 'photography':
138
+ case _theme.THEME.photography:
135
139
  return {
136
140
  color: _color.colorGrayscale.white,
137
141
  hoverColor: _color.colorSupportive.main
138
142
  };
139
143
 
140
- case 'photography-active':
144
+ case "".concat(_theme.THEME.photography, "-active"):
141
145
  return {
142
146
  color: _color.colorSupportive.main,
143
147
  hoverColor: _color.colorSupportive.main
144
148
  };
145
149
 
146
- case 'transparent':
150
+ case _theme.THEME.transparent:
147
151
  return {
148
152
  color: _color.colorGrayscale.white,
149
153
  hoverColor: _color.colorGrayscale.gray200
150
154
  };
151
155
 
152
- case 'transparent-active':
156
+ case "".concat(_theme.THEME.transparent, "-active"):
153
157
  return {
154
158
  color: _color.colorGrayscale.white,
155
159
  hoverColor: _color.colorGrayscale.white
156
160
  };
157
161
 
158
- case 'normal-active':
162
+ case "".concat(_theme.THEME.normal, "-active"):
159
163
  return {
160
164
  color: _color.colorBrand.heavy,
161
165
  hoverColor: _color.colorBrand.heavy
162
166
  };
163
167
 
164
- case 'normal':
168
+ case _theme.THEME.normal:
165
169
  default:
166
170
  return {
167
171
  color: _color.colorGrayscale.gray600,
@@ -183,37 +187,37 @@ var getSecondaryIconButtonTheme = function getSecondaryIconButtonTheme(theme, is
183
187
  var switchKey = isActive ? "".concat(theme, "-active") : theme;
184
188
 
185
189
  switch (switchKey) {
186
- case 'photography':
190
+ case _theme.THEME.photography:
187
191
  return {
188
192
  color: _color.colorGrayscale.gray400,
189
193
  hoverColor: _color.colorSupportive.main
190
194
  };
191
195
 
192
- case 'photography-active':
196
+ case "".concat(_theme.THEME.photography, "-active"):
193
197
  return {
194
198
  color: _color.colorSupportive.main,
195
199
  hoverColor: _color.colorSupportive.main
196
200
  };
197
201
 
198
- case 'transparent':
202
+ case _theme.THEME.transparent:
199
203
  return {
200
204
  color: _color.colorGrayscale.gray600,
201
205
  hoverColor: _color.colorGrayscale.white
202
206
  };
203
207
 
204
- case 'transparent-active':
208
+ case "".concat(_theme.THEME.transparent, "-active"):
205
209
  return {
206
210
  color: _color.colorGrayscale.gray600,
207
211
  hoverColor: _color.colorGrayscale.gray600
208
212
  };
209
213
 
210
- case 'normal-active':
214
+ case "".concat(_theme.THEME.normal, "-active"):
211
215
  return {
212
216
  color: _color.colorBrand.heavy,
213
217
  hoverColor: _color.colorBrand.heavy
214
218
  };
215
219
 
216
- case 'normal':
220
+ case _theme.THEME.normal:
217
221
  default:
218
222
  return {
219
223
  color: _color.colorGrayscale.gray400,
@@ -235,37 +239,37 @@ var getIconWithTextButtonTheme = function getIconWithTextButtonTheme(theme, isAc
235
239
  var switchKey = isActive ? "".concat(theme, "-active") : theme;
236
240
 
237
241
  switch (switchKey) {
238
- case 'photography':
242
+ case _theme.THEME.photography:
239
243
  return {
240
244
  color: _color.colorGrayscale.gray200,
241
245
  hoverColor: _color.colorSupportive.main
242
246
  };
243
247
 
244
- case 'photography-active':
248
+ case "".concat(_theme.THEME.photography, "-active"):
245
249
  return {
246
250
  color: _color.colorSupportive.main,
247
251
  hoverColor: _color.colorSupportive.main
248
252
  };
249
253
 
250
- case 'transparent':
254
+ case _theme.THEME.transparent:
251
255
  return {
252
256
  color: _color.colorGrayscale.gray100,
253
257
  hoverColor: _color.colorGrayscale.gray200
254
258
  };
255
259
 
256
- case 'transparent-active':
260
+ case "".concat(_theme.THEME.transparent, "-active"):
257
261
  return {
258
262
  color: _color.colorGrayscale.white,
259
263
  hoverColor: _color.colorGrayscale.white
260
264
  };
261
265
 
262
- case 'normal-active':
266
+ case "".concat(_theme.THEME.normal, "-active"):
263
267
  return {
264
268
  color: _color.colorBrand.heavy,
265
269
  hoverColor: _color.colorBrand.heavy
266
270
  };
267
271
 
268
- case 'normal':
272
+ case _theme.THEME.normal:
269
273
  default:
270
274
  return {
271
275
  color: _color.colorGrayscale.gray600,
@@ -278,19 +282,37 @@ exports.getIconWithTextButtonTheme = getIconWithTextButtonTheme;
278
282
 
279
283
  var getPrimaryTextButtonTheme = function getPrimaryTextButtonTheme(theme) {
280
284
  switch (theme) {
281
- case 'photography':
285
+ case _constants.TEXT_BUTTON_THEME.photography:
282
286
  return {
283
287
  color: _color.colorGrayscale.white,
284
288
  hoverColor: _color.colorSupportive.main
285
289
  };
286
290
 
287
- case 'transparent':
291
+ case _constants.TEXT_BUTTON_THEME.transparent:
288
292
  return {
289
293
  color: _color.colorGrayscale.white,
290
294
  hoverColor: _color.colorGrayscale.gray800
291
295
  };
292
296
 
293
- case 'normal':
297
+ case _constants.TEXT_BUTTON_THEME.brand:
298
+ return {
299
+ color: _color.colorBrand.heavy,
300
+ hoverColor: _color.colorBrand.dark
301
+ };
302
+
303
+ case _constants.TEXT_BUTTON_THEME.dark:
304
+ return {
305
+ color: _color.colorGrayscale.gray800,
306
+ hoverColor: _color.colorBrand.heavy
307
+ };
308
+
309
+ case _constants.TEXT_BUTTON_THEME.light:
310
+ return {
311
+ color: _color.colorGrayscale.gray600,
312
+ hoverColor: _color.colorGrayscale.gray800
313
+ };
314
+
315
+ case _constants.TEXT_BUTTON_THEME.normal:
294
316
  default:
295
317
  return {
296
318
  color: _color.colorGrayscale.gray800,
@@ -303,19 +325,37 @@ exports.getPrimaryTextButtonTheme = getPrimaryTextButtonTheme;
303
325
 
304
326
  var getSecondaryTextButtonTheme = function getSecondaryTextButtonTheme(theme) {
305
327
  switch (theme) {
306
- case 'photography':
328
+ case _constants.TEXT_BUTTON_THEME.photography:
307
329
  return {
308
330
  color: _color.colorGrayscale.gray400,
309
331
  hoverColor: _color.colorSupportive.main
310
332
  };
311
333
 
312
- case 'transparent':
334
+ case _constants.TEXT_BUTTON_THEME.transparent:
313
335
  return {
314
336
  color: _color.colorGrayscale.gray600,
315
337
  hoverColor: _color.colorGrayscale.gray800
316
338
  };
317
339
 
318
- case 'normal':
340
+ case _constants.TEXT_BUTTON_THEME.brand:
341
+ return {
342
+ color: _color.colorBrand.heavy,
343
+ hoverColor: _color.colorBrand.dark
344
+ };
345
+
346
+ case _constants.TEXT_BUTTON_THEME.dark:
347
+ return {
348
+ color: _color.colorGrayscale.gray800,
349
+ hoverColor: _color.colorBrand.heavy
350
+ };
351
+
352
+ case _constants.TEXT_BUTTON_THEME.light:
353
+ return {
354
+ color: _color.colorGrayscale.gray600,
355
+ hoverColor: _color.colorGrayscale.gray800
356
+ };
357
+
358
+ case _constants.TEXT_BUTTON_THEME.normal:
319
359
  default:
320
360
  return {
321
361
  color: _color.colorGrayscale.gray600,
@@ -328,19 +368,22 @@ exports.getSecondaryTextButtonTheme = getSecondaryTextButtonTheme;
328
368
 
329
369
  var getDisabledTextButtonTheme = function getDisabledTextButtonTheme(theme) {
330
370
  switch (theme) {
331
- case 'photography':
371
+ case _constants.TEXT_BUTTON_THEME.photography:
332
372
  return {
333
373
  color: _color.colorGrayscale.gray600,
334
374
  hoverColor: _color.colorGrayscale.gray600
335
375
  };
336
376
 
337
- case 'transparent':
377
+ case _constants.TEXT_BUTTON_THEME.transparent:
338
378
  return {
339
379
  color: _color.colorGrayscale.gray200,
340
380
  hoverColor: _color.colorGrayscale.gray200
341
381
  };
342
382
 
343
- case 'normal':
383
+ case _constants.TEXT_BUTTON_THEME.brand:
384
+ case _constants.TEXT_BUTTON_THEME.dark:
385
+ case _constants.TEXT_BUTTON_THEME.light:
386
+ case _constants.TEXT_BUTTON_THEME.normal:
344
387
  default:
345
388
  return {
346
389
  color: _color.colorGrayscale.gray400,
@@ -353,19 +396,37 @@ exports.getDisabledTextButtonTheme = getDisabledTextButtonTheme;
353
396
 
354
397
  var getActiveTextButtonTheme = function getActiveTextButtonTheme(theme) {
355
398
  switch (theme) {
356
- case 'photography':
399
+ case _constants.TEXT_BUTTON_THEME.photography:
357
400
  return {
358
401
  color: _color.colorSupportive.main,
359
402
  hoverColor: _color.colorSupportive.main
360
403
  };
361
404
 
362
- case 'transparent':
405
+ case _constants.TEXT_BUTTON_THEME.transparent:
363
406
  return {
364
407
  color: _color.colorGrayscale.white,
365
408
  hoverColor: _color.colorGrayscale.white
366
409
  };
367
410
 
368
- case 'normal':
411
+ case _constants.TEXT_BUTTON_THEME.brand:
412
+ return {
413
+ color: _color.colorBrand.dark,
414
+ hoverColor: _color.colorBrand.dark
415
+ };
416
+
417
+ case _constants.TEXT_BUTTON_THEME.dark:
418
+ return {
419
+ color: _color.colorBrand.heavy,
420
+ hoverColor: _color.colorBrand.heavy
421
+ };
422
+
423
+ case _constants.TEXT_BUTTON_THEME.light:
424
+ return {
425
+ color: _color.colorGrayscale.gray800,
426
+ hoverColor: _color.colorGrayscale.gray800
427
+ };
428
+
429
+ case _constants.TEXT_BUTTON_THEME.normal:
369
430
  default:
370
431
  return {
371
432
  color: _color.colorBrand.heavy,
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.checkbox = exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _ = _interopRequireDefault(require("."));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var _default = {
15
+ title: 'Checkbox',
16
+ component: _["default"],
17
+ argTypes: {
18
+ value: {
19
+ defaultValue: false,
20
+ options: [true, false]
21
+ }
22
+ }
23
+ };
24
+ exports["default"] = _default;
25
+
26
+ var Template = function Template(args) {
27
+ return /*#__PURE__*/_react["default"].createElement(_["default"], args);
28
+ };
29
+
30
+ var checkbox = Template.bind({});
31
+ exports.checkbox = checkbox;
32
+ checkbox.args = {
33
+ label: '藝術',
34
+ value: false,
35
+ disabled: false,
36
+ onChange: function onChange(e) {
37
+ console.log('callback', e.target.checked);
38
+ }
39
+ };
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Checkbox = 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 _paragraph = require("../text/paragraph");
15
+
16
+ var _color = require("@twreporter/core/lib/constants/color");
17
+
18
+ var _excluded = ["value", "label", "disabled", "onChange"];
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ 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; }
23
+
24
+ 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; }
25
+
26
+ var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
27
+ displayName: "checkbox__Container",
28
+ componentId: "vzoxib-0"
29
+ })(["display:flex;flex-direction:'row';"]);
30
+
31
+ var Input = /*#__PURE__*/_styledComponents["default"].input.withConfig({
32
+ displayName: "checkbox__Input",
33
+ componentId: "vzoxib-1"
34
+ })(["width:16px;height:16px;border:solid 1px;border-radius:2px;accent-color:", ";margin-left:0px;margin-right:8px;&:enabled:not(:checked){border-color:", ";background:rgba(0,0,0,0);-webkit-appearance:none;-moz-appearance:none;appearance:none;}"], _color.colorGrayscale.gray800, _color.colorGrayscale.gray800);
35
+
36
+ var ColorP1 = /*#__PURE__*/(0, _styledComponents["default"])(_paragraph.P1).withConfig({
37
+ displayName: "checkbox__ColorP1",
38
+ componentId: "vzoxib-2"
39
+ })(["color:", ";"], function (props) {
40
+ return props.disabled ? _color.colorGrayscale.gray400 : _color.colorGrayscale.gray800;
41
+ });
42
+
43
+ var Checkbox = function Checkbox(_ref) {
44
+ var _ref$value = _ref.value,
45
+ value = _ref$value === void 0 ? false : _ref$value,
46
+ _ref$label = _ref.label,
47
+ label = _ref$label === void 0 ? '' : _ref$label,
48
+ _ref$disabled = _ref.disabled,
49
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
50
+ _ref$onChange = _ref.onChange,
51
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
52
+ props = _objectWithoutProperties(_ref, _excluded);
53
+
54
+ var handleChange = function handleChange(e) {
55
+ onChange && onChange(e);
56
+ };
57
+
58
+ return /*#__PURE__*/_react["default"].createElement(Container, props, /*#__PURE__*/_react["default"].createElement(Input, {
59
+ type: "checkbox",
60
+ checked: value,
61
+ disabled: disabled,
62
+ onChange: handleChange
63
+ }), label && /*#__PURE__*/_react["default"].createElement(ColorP1, {
64
+ text: label,
65
+ disabled: disabled
66
+ }));
67
+ };
68
+
69
+ exports.Checkbox = Checkbox;
70
+ Checkbox.propTypes = {
71
+ value: _propTypes["default"].bool.isRequired,
72
+ label: _propTypes["default"].string,
73
+ disabled: _propTypes["default"].bool,
74
+ onChange: _propTypes["default"].func.isRequired
75
+ };
76
+ var _default = Checkbox;
77
+ exports["default"] = _default;
@@ -15,10 +15,16 @@ var _path = _interopRequireDefault(require("../utils/path"));
15
15
 
16
16
  var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
17
17
 
18
+ var _excluded = ["type", "releaseBranch"];
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
 
20
- // utils
21
- // @twreporter
22
+ function _extends() { _extends = Object.assign || 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
+ 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
+ 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
+
22
28
  var LogoContainer = /*#__PURE__*/_styledComponents["default"].img.withConfig({
23
29
  displayName: "logo-header__LogoContainer",
24
30
  componentId: "rlga04-0"
@@ -26,14 +32,15 @@ var LogoContainer = /*#__PURE__*/_styledComponents["default"].img.withConfig({
26
32
 
27
33
  var LogoHeader = function LogoHeader(_ref) {
28
34
  var type = _ref.type,
29
- releaseBranch = _ref.releaseBranch;
35
+ releaseBranch = _ref.releaseBranch,
36
+ props = _objectWithoutProperties(_ref, _excluded);
30
37
 
31
38
  var logoSrc = _path["default"].selectLogoPath('header', releaseBranch, type);
32
39
 
33
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, {
40
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, _extends({
34
41
  alt: "The Reporter Logo",
35
42
  src: logoSrc
36
- }));
43
+ }, props)));
37
44
  };
38
45
 
39
46
  LogoHeader.propTypes = {
@@ -18,8 +18,13 @@ var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
18
18
  componentId: "sc-4xugf-0"
19
19
  })(["display:flex;flex-direction:row;justify-content:center;padding:16px 24px;"]);
20
20
 
21
+ var Logo = /*#__PURE__*/(0, _styledComponents["default"])(_logo.LogoHeader).withConfig({
22
+ displayName: "simple-header__Logo",
23
+ componentId: "sc-4xugf-1"
24
+ })(["width:144px;height:21px;"]);
25
+
21
26
  var SimpleHeader = function SimpleHeader(props) {
22
- return /*#__PURE__*/_react["default"].createElement(HeaderContainer, props, /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, null));
27
+ return /*#__PURE__*/_react["default"].createElement(HeaderContainer, props, /*#__PURE__*/_react["default"].createElement(Logo, null));
23
28
  };
24
29
 
25
30
  exports.SimpleHeader = SimpleHeader;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twreporter/react-components",
3
- "version": "8.17.0-rc.0",
3
+ "version": "8.17.0-rc.2",
4
4
  "main": "lib/index.js",
5
5
  "repository": "https://github.com/twreporter/twreporter-npm-packages.git",
6
6
  "author": "twreporter <developer@twreporter.org>",
@@ -44,5 +44,5 @@
44
44
  "babel-loader": "^8.2.4",
45
45
  "chromatic": "^6.5.4"
46
46
  },
47
- "gitHead": "3047acc88fedab0ebaf202df0901d2871b0644c2"
47
+ "gitHead": "498b86cff656356a619bc03ba371fde8399a2f99"
48
48
  }