@twreporter/react-components 8.17.0-rc.2 → 8.17.0-rc.4
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 +36 -0
- package/lib/button/components/pillButton.js +2 -2
- package/lib/button/components/textButton.js +5 -3
- package/lib/button/constants/index.js +2 -15
- package/lib/button/stories/pillButton.stories.js +2 -2
- package/lib/button/stories/textButton.stories.js +50 -15
- package/lib/button/utils/theme.js +24 -26
- package/lib/card/components/article-card.js +173 -0
- package/lib/card/components/dialog.js +5 -3
- package/lib/card/index.js +10 -1
- package/lib/card/stories/articleCard.stories.js +55 -0
- package/lib/card/stories/dialog.stories.js +7 -2
- package/lib/checkbox/index.js +29 -7
- package/lib/image-with-fallback.js +141 -0
- package/lib/listing-page/components/card-list.js +171 -0
- package/lib/listing-page/components/image.js +3 -0
- package/lib/listing-page/components/list.js +6 -4
- package/lib/listing-page/constants/prop-types.js +25 -0
- package/lib/listing-page/index.js +10 -1
- package/lib/listing-page/stories/cardList.stories.js +72 -0
- package/lib/logo/components/logo-loading-fallback.js +43 -0
- package/lib/logo/index.js +10 -1
- package/lib/logo/stories/logoLoadingFallback.stories.js +29 -0
- package/lib/logo/utils/path.js +5 -0
- package/lib/pagination/index.js +8 -5
- package/package.json +4 -4
- package/lib/button/constants/size.js +0 -28
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.17.0-rc.4](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.3...@twreporter/react-components@8.17.0-rc.4) (2023-04-14)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @twreporter/react-components
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [8.17.0-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.17.0-rc.2...@twreporter/react-components@8.17.0-rc.3) (2023-04-13)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* add comments ([c5db49d](https://github.com/twreporter/twreporter-npm-packages/commit/c5db49dc1fae29527e7dec334bcadba18068aea4))
|
|
20
|
+
* add icon toggle for TextButton story & refactor ([66b5c83](https://github.com/twreporter/twreporter-npm-packages/commit/66b5c834e6545ad1c278ac7934899ed845204c20))
|
|
21
|
+
* add missing releaseBranch props to image-with-fallback component ([a98c612](https://github.com/twreporter/twreporter-npm-packages/commit/a98c61215314f98de86345a41b5870b31971db08))
|
|
22
|
+
* address CardList defects ([5d183b0](https://github.com/twreporter/twreporter-npm-packages/commit/5d183b0f411540b66c07476b014be97703577284))
|
|
23
|
+
* address review comments ([539cac0](https://github.com/twreporter/twreporter-npm-packages/commit/539cac05e06e33621a9fbc4b9971e040c4560bf8))
|
|
24
|
+
* address review comments & fix typo ([20c1ebe](https://github.com/twreporter/twreporter-npm-packages/commit/20c1ebe273869a176bf2715bc2975fe5abcb50b6))
|
|
25
|
+
* define interactive style in [@twreporter](https://github.com/twreporter) core package ([0acbe56](https://github.com/twreporter/twreporter-npm-packages/commit/0acbe564eecd201e5c8d11314b8f1598892859f1))
|
|
26
|
+
* fix Link import path in CardList ([3667d82](https://github.com/twreporter/twreporter-npm-packages/commit/3667d82063b048f1e43e50dc8e73d19b9d08ce23))
|
|
27
|
+
* move size constant to @twreporter/core package ([c0e4d29](https://github.com/twreporter/twreporter-npm-packages/commit/c0e4d295a1846c6a8828970cb651854619206c5f))
|
|
28
|
+
* refactor ImagWithFallback into function component ([854edb7](https://github.com/twreporter/twreporter-npm-packages/commit/854edb7631b64087f7959105ca642fdb347a48fc))
|
|
29
|
+
* use size constant for Dialog component ([e7c1831](https://github.com/twreporter/twreporter-npm-packages/commit/e7c1831d9df727c0bdf686a8748109cfa1b5f79a))
|
|
30
|
+
* use size constant from core package ([be6aa4f](https://github.com/twreporter/twreporter-npm-packages/commit/be6aa4f806b95994c5acaa5d6cbe49fc2303c0c3))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* add CardList component ([f970192](https://github.com/twreporter/twreporter-npm-packages/commit/f97019239c19451d83c42034675021a09e0004de))
|
|
36
|
+
* add design guideline components ([efe249d](https://github.com/twreporter/twreporter-npm-packages/commit/efe249d44f0d45f5c50ee6e69b0d7f1482270bbe))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
6
42
|
# [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
43
|
|
|
8
44
|
**Note:** Version bump only for package @twreporter/react-components
|
|
@@ -17,12 +17,12 @@ var _theme = require("../utils/theme");
|
|
|
17
17
|
|
|
18
18
|
var _size = require("../utils/size");
|
|
19
19
|
|
|
20
|
-
var _size2 = require("../constants/size");
|
|
21
|
-
|
|
22
20
|
var _type = require("../constants/type");
|
|
23
21
|
|
|
24
22
|
var _theme2 = require("@twreporter/core/lib/constants/theme");
|
|
25
23
|
|
|
24
|
+
var _size2 = require("@twreporter/core/lib/constants/size");
|
|
25
|
+
|
|
26
26
|
var _excluded = ["text", "iconComponent", "size", "theme", "type", "disabled"];
|
|
27
27
|
|
|
28
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -19,12 +19,14 @@ var _paragraph = require("../../text/paragraph");
|
|
|
19
19
|
|
|
20
20
|
var _constants = require("../constants/");
|
|
21
21
|
|
|
22
|
-
var _size2 = require("../constants/size");
|
|
23
|
-
|
|
24
22
|
var _type = require("../constants/type");
|
|
25
23
|
|
|
26
24
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
27
25
|
|
|
26
|
+
var _size2 = require("@twreporter/core/lib/constants/size");
|
|
27
|
+
|
|
28
|
+
var _theme2 = require("@twreporter/core/lib/constants/theme");
|
|
29
|
+
|
|
28
30
|
var _excluded = ["text", "leftIconComponent", "rightIconComponent", "size", "theme", "type", "active", "disabled"];
|
|
29
31
|
|
|
30
32
|
var _templateObject;
|
|
@@ -73,7 +75,7 @@ var TextButton = function TextButton(_ref) {
|
|
|
73
75
|
_ref$size = _ref.size,
|
|
74
76
|
size = _ref$size === void 0 ? _size2.SIZE.S : _ref$size,
|
|
75
77
|
_ref$theme = _ref.theme,
|
|
76
|
-
theme = _ref$theme === void 0 ?
|
|
78
|
+
theme = _ref$theme === void 0 ? _theme2.TEXT_BUTTON_THEME.normal : _ref$theme,
|
|
77
79
|
_ref$type = _ref.type,
|
|
78
80
|
type = _ref$type === void 0 ? _type.TYPE.primary : _ref$type,
|
|
79
81
|
_ref$active = _ref.active,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TEXT_BUTTON_THEME_PROP_TYPES =
|
|
6
|
+
exports.TEXT_BUTTON_THEME_PROP_TYPES = void 0;
|
|
7
7
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
|
|
@@ -11,19 +11,6 @@ var _theme = require("@twreporter/core/lib/constants/theme");
|
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
13
|
|
|
14
|
-
|
|
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));
|
|
14
|
+
var TEXT_BUTTON_THEME_PROP_TYPES = _propTypes["default"].oneOf(Object.values(_theme.TEXT_BUTTON_THEME));
|
|
28
15
|
|
|
29
16
|
exports.TEXT_BUTTON_THEME_PROP_TYPES = TEXT_BUTTON_THEME_PROP_TYPES;
|
|
@@ -11,10 +11,10 @@ var _pillButton = _interopRequireDefault(require("../components/pillButton"));
|
|
|
11
11
|
|
|
12
12
|
var _icon = require("../../icon");
|
|
13
13
|
|
|
14
|
-
var _size = require("../constants/size");
|
|
15
|
-
|
|
16
14
|
var _type = require("../constants/type");
|
|
17
15
|
|
|
16
|
+
var _size = require("@twreporter/core/lib/constants/size");
|
|
17
|
+
|
|
18
18
|
var _theme = require("@twreporter/core/lib/constants/theme");
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.toggleIconDisplay = exports.textButton = exports["default"] = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -11,11 +11,11 @@ var _textButton = _interopRequireDefault(require("../components/textButton"));
|
|
|
11
11
|
|
|
12
12
|
var _icon = require("../../icon");
|
|
13
13
|
|
|
14
|
-
var _size = require("../constants/size");
|
|
15
|
-
|
|
16
14
|
var _type = require("../constants/type");
|
|
17
15
|
|
|
18
|
-
var
|
|
16
|
+
var _size = require("@twreporter/core/lib/constants/size");
|
|
17
|
+
|
|
18
|
+
var _theme = require("@twreporter/core/lib/constants/theme");
|
|
19
19
|
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
21
|
|
|
@@ -24,14 +24,27 @@ var _default = {
|
|
|
24
24
|
component: _textButton["default"],
|
|
25
25
|
argTypes: {
|
|
26
26
|
theme: {
|
|
27
|
-
defaultValue:
|
|
28
|
-
options: Object.values(
|
|
27
|
+
defaultValue: _theme.TEXT_BUTTON_THEME.normal,
|
|
28
|
+
options: Object.values(_theme.TEXT_BUTTON_THEME),
|
|
29
29
|
control: {
|
|
30
30
|
type: 'radio'
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
type: _type.TYPE_STORYBOOK_ARG_TYPE,
|
|
34
|
-
size: _size.SIZE_STORYBOOK_ARG_TYPE
|
|
34
|
+
size: _size.SIZE_STORYBOOK_ARG_TYPE,
|
|
35
|
+
// showLeft & showRight args are only for storybook check
|
|
36
|
+
showLeft: {
|
|
37
|
+
defaultValue: true,
|
|
38
|
+
control: {
|
|
39
|
+
type: 'boolean'
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
showRight: {
|
|
43
|
+
defaultValue: true,
|
|
44
|
+
control: {
|
|
45
|
+
type: 'boolean'
|
|
46
|
+
}
|
|
47
|
+
}
|
|
35
48
|
}
|
|
36
49
|
};
|
|
37
50
|
exports["default"] = _default;
|
|
@@ -45,24 +58,46 @@ exports.textButton = textButton;
|
|
|
45
58
|
textButton.args = {
|
|
46
59
|
text: '文字',
|
|
47
60
|
size: _size.SIZE.S,
|
|
48
|
-
theme:
|
|
61
|
+
theme: _theme.TEXT_BUTTON_THEME.normal,
|
|
49
62
|
type: _type.TYPE.primary,
|
|
50
63
|
active: false,
|
|
51
|
-
disabled: false
|
|
52
|
-
};
|
|
53
|
-
var withArrowIcon = Template.bind({});
|
|
54
|
-
exports.withArrowIcon = withArrowIcon;
|
|
55
|
-
withArrowIcon.args = {
|
|
64
|
+
disabled: false,
|
|
56
65
|
leftIconComponent: /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
|
|
57
66
|
direction: "left"
|
|
58
67
|
}),
|
|
59
68
|
rightIconComponent: /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
|
|
60
69
|
direction: "right"
|
|
61
|
-
})
|
|
70
|
+
})
|
|
71
|
+
};
|
|
72
|
+
textButton.parameters = {
|
|
73
|
+
controls: {
|
|
74
|
+
exclude: ['showLeft', 'showRight']
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
var toggleIconDisplay = function toggleIconDisplay(args) {
|
|
79
|
+
args.leftIconComponent = args.showLeft ? /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
|
|
80
|
+
direction: "left"
|
|
81
|
+
}) : null;
|
|
82
|
+
args.rightIconComponent = args.showRight ? /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
|
|
83
|
+
direction: "right"
|
|
84
|
+
}) : null;
|
|
85
|
+
return /*#__PURE__*/_react["default"].createElement(_textButton["default"], args);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
exports.toggleIconDisplay = toggleIconDisplay;
|
|
89
|
+
toggleIconDisplay.args = {
|
|
90
|
+
showLeft: true,
|
|
91
|
+
showRight: true,
|
|
62
92
|
text: '文字',
|
|
63
93
|
size: _size.SIZE.S,
|
|
64
|
-
theme:
|
|
94
|
+
theme: _theme.TEXT_BUTTON_THEME.normal,
|
|
65
95
|
type: _type.TYPE.primary,
|
|
66
96
|
active: false,
|
|
67
97
|
disabled: false
|
|
98
|
+
};
|
|
99
|
+
toggleIconDisplay.parameters = {
|
|
100
|
+
controls: {
|
|
101
|
+
exclude: ['leftIconComponent', 'rightIconComponent']
|
|
102
|
+
}
|
|
68
103
|
};
|
|
@@ -9,8 +9,6 @@ var _color = require("@twreporter/core/lib/constants/color");
|
|
|
9
9
|
|
|
10
10
|
var _theme = require("@twreporter/core/lib/constants/theme");
|
|
11
11
|
|
|
12
|
-
var _constants = require("../constants");
|
|
13
|
-
|
|
14
12
|
// @twreporter
|
|
15
13
|
var getFilledPillButtonTheme = function getFilledPillButtonTheme(theme, disabled) {
|
|
16
14
|
if (disabled) {
|
|
@@ -282,37 +280,37 @@ exports.getIconWithTextButtonTheme = getIconWithTextButtonTheme;
|
|
|
282
280
|
|
|
283
281
|
var getPrimaryTextButtonTheme = function getPrimaryTextButtonTheme(theme) {
|
|
284
282
|
switch (theme) {
|
|
285
|
-
case
|
|
283
|
+
case _theme.TEXT_BUTTON_THEME.photography:
|
|
286
284
|
return {
|
|
287
285
|
color: _color.colorGrayscale.white,
|
|
288
286
|
hoverColor: _color.colorSupportive.main
|
|
289
287
|
};
|
|
290
288
|
|
|
291
|
-
case
|
|
289
|
+
case _theme.TEXT_BUTTON_THEME.transparent:
|
|
292
290
|
return {
|
|
293
291
|
color: _color.colorGrayscale.white,
|
|
294
292
|
hoverColor: _color.colorGrayscale.gray800
|
|
295
293
|
};
|
|
296
294
|
|
|
297
|
-
case
|
|
295
|
+
case _theme.TEXT_BUTTON_THEME.brand:
|
|
298
296
|
return {
|
|
299
297
|
color: _color.colorBrand.heavy,
|
|
300
298
|
hoverColor: _color.colorBrand.dark
|
|
301
299
|
};
|
|
302
300
|
|
|
303
|
-
case
|
|
301
|
+
case _theme.TEXT_BUTTON_THEME.dark:
|
|
304
302
|
return {
|
|
305
303
|
color: _color.colorGrayscale.gray800,
|
|
306
304
|
hoverColor: _color.colorBrand.heavy
|
|
307
305
|
};
|
|
308
306
|
|
|
309
|
-
case
|
|
307
|
+
case _theme.TEXT_BUTTON_THEME.light:
|
|
310
308
|
return {
|
|
311
309
|
color: _color.colorGrayscale.gray600,
|
|
312
310
|
hoverColor: _color.colorGrayscale.gray800
|
|
313
311
|
};
|
|
314
312
|
|
|
315
|
-
case
|
|
313
|
+
case _theme.TEXT_BUTTON_THEME.normal:
|
|
316
314
|
default:
|
|
317
315
|
return {
|
|
318
316
|
color: _color.colorGrayscale.gray800,
|
|
@@ -325,37 +323,37 @@ exports.getPrimaryTextButtonTheme = getPrimaryTextButtonTheme;
|
|
|
325
323
|
|
|
326
324
|
var getSecondaryTextButtonTheme = function getSecondaryTextButtonTheme(theme) {
|
|
327
325
|
switch (theme) {
|
|
328
|
-
case
|
|
326
|
+
case _theme.TEXT_BUTTON_THEME.photography:
|
|
329
327
|
return {
|
|
330
328
|
color: _color.colorGrayscale.gray400,
|
|
331
329
|
hoverColor: _color.colorSupportive.main
|
|
332
330
|
};
|
|
333
331
|
|
|
334
|
-
case
|
|
332
|
+
case _theme.TEXT_BUTTON_THEME.transparent:
|
|
335
333
|
return {
|
|
336
334
|
color: _color.colorGrayscale.gray600,
|
|
337
335
|
hoverColor: _color.colorGrayscale.gray800
|
|
338
336
|
};
|
|
339
337
|
|
|
340
|
-
case
|
|
338
|
+
case _theme.TEXT_BUTTON_THEME.brand:
|
|
341
339
|
return {
|
|
342
340
|
color: _color.colorBrand.heavy,
|
|
343
341
|
hoverColor: _color.colorBrand.dark
|
|
344
342
|
};
|
|
345
343
|
|
|
346
|
-
case
|
|
344
|
+
case _theme.TEXT_BUTTON_THEME.dark:
|
|
347
345
|
return {
|
|
348
346
|
color: _color.colorGrayscale.gray800,
|
|
349
347
|
hoverColor: _color.colorBrand.heavy
|
|
350
348
|
};
|
|
351
349
|
|
|
352
|
-
case
|
|
350
|
+
case _theme.TEXT_BUTTON_THEME.light:
|
|
353
351
|
return {
|
|
354
352
|
color: _color.colorGrayscale.gray600,
|
|
355
353
|
hoverColor: _color.colorGrayscale.gray800
|
|
356
354
|
};
|
|
357
355
|
|
|
358
|
-
case
|
|
356
|
+
case _theme.TEXT_BUTTON_THEME.normal:
|
|
359
357
|
default:
|
|
360
358
|
return {
|
|
361
359
|
color: _color.colorGrayscale.gray600,
|
|
@@ -368,22 +366,22 @@ exports.getSecondaryTextButtonTheme = getSecondaryTextButtonTheme;
|
|
|
368
366
|
|
|
369
367
|
var getDisabledTextButtonTheme = function getDisabledTextButtonTheme(theme) {
|
|
370
368
|
switch (theme) {
|
|
371
|
-
case
|
|
369
|
+
case _theme.TEXT_BUTTON_THEME.photography:
|
|
372
370
|
return {
|
|
373
371
|
color: _color.colorGrayscale.gray600,
|
|
374
372
|
hoverColor: _color.colorGrayscale.gray600
|
|
375
373
|
};
|
|
376
374
|
|
|
377
|
-
case
|
|
375
|
+
case _theme.TEXT_BUTTON_THEME.transparent:
|
|
378
376
|
return {
|
|
379
377
|
color: _color.colorGrayscale.gray200,
|
|
380
378
|
hoverColor: _color.colorGrayscale.gray200
|
|
381
379
|
};
|
|
382
380
|
|
|
383
|
-
case
|
|
384
|
-
case
|
|
385
|
-
case
|
|
386
|
-
case
|
|
381
|
+
case _theme.TEXT_BUTTON_THEME.brand:
|
|
382
|
+
case _theme.TEXT_BUTTON_THEME.dark:
|
|
383
|
+
case _theme.TEXT_BUTTON_THEME.light:
|
|
384
|
+
case _theme.TEXT_BUTTON_THEME.normal:
|
|
387
385
|
default:
|
|
388
386
|
return {
|
|
389
387
|
color: _color.colorGrayscale.gray400,
|
|
@@ -396,37 +394,37 @@ exports.getDisabledTextButtonTheme = getDisabledTextButtonTheme;
|
|
|
396
394
|
|
|
397
395
|
var getActiveTextButtonTheme = function getActiveTextButtonTheme(theme) {
|
|
398
396
|
switch (theme) {
|
|
399
|
-
case
|
|
397
|
+
case _theme.TEXT_BUTTON_THEME.photography:
|
|
400
398
|
return {
|
|
401
399
|
color: _color.colorSupportive.main,
|
|
402
400
|
hoverColor: _color.colorSupportive.main
|
|
403
401
|
};
|
|
404
402
|
|
|
405
|
-
case
|
|
403
|
+
case _theme.TEXT_BUTTON_THEME.transparent:
|
|
406
404
|
return {
|
|
407
405
|
color: _color.colorGrayscale.white,
|
|
408
406
|
hoverColor: _color.colorGrayscale.white
|
|
409
407
|
};
|
|
410
408
|
|
|
411
|
-
case
|
|
409
|
+
case _theme.TEXT_BUTTON_THEME.brand:
|
|
412
410
|
return {
|
|
413
411
|
color: _color.colorBrand.dark,
|
|
414
412
|
hoverColor: _color.colorBrand.dark
|
|
415
413
|
};
|
|
416
414
|
|
|
417
|
-
case
|
|
415
|
+
case _theme.TEXT_BUTTON_THEME.dark:
|
|
418
416
|
return {
|
|
419
417
|
color: _color.colorBrand.heavy,
|
|
420
418
|
hoverColor: _color.colorBrand.heavy
|
|
421
419
|
};
|
|
422
420
|
|
|
423
|
-
case
|
|
421
|
+
case _theme.TEXT_BUTTON_THEME.light:
|
|
424
422
|
return {
|
|
425
423
|
color: _color.colorGrayscale.gray800,
|
|
426
424
|
hoverColor: _color.colorGrayscale.gray800
|
|
427
425
|
};
|
|
428
426
|
|
|
429
|
-
case
|
|
427
|
+
case _theme.TEXT_BUTTON_THEME.normal:
|
|
430
428
|
default:
|
|
431
429
|
return {
|
|
432
430
|
color: _color.colorBrand.heavy,
|
|
@@ -0,0 +1,173 @@
|
|
|
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 _imageWithFallback = _interopRequireDefault(require("../../image-with-fallback"));
|
|
15
|
+
|
|
16
|
+
var _paragraph = require("../../text/paragraph");
|
|
17
|
+
|
|
18
|
+
var _headline = require("../../text/headline");
|
|
19
|
+
|
|
20
|
+
var _icon = require("../../icon");
|
|
21
|
+
|
|
22
|
+
var _button = require("../../button");
|
|
23
|
+
|
|
24
|
+
var _color = require("@twreporter/core/lib/constants/color");
|
|
25
|
+
|
|
26
|
+
var _theme = require("@twreporter/core/lib/constants/theme");
|
|
27
|
+
|
|
28
|
+
var _size = require("@twreporter/core/lib/constants/size");
|
|
29
|
+
|
|
30
|
+
var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
|
|
31
|
+
|
|
32
|
+
var _width, _height, _marginLeft;
|
|
33
|
+
|
|
34
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
var imageStyle = {
|
|
39
|
+
width: (_width = {}, _defineProperty(_width, _size.SIZE.S, '72px'), _defineProperty(_width, _size.SIZE.L, '216px'), _width),
|
|
40
|
+
height: (_height = {}, _defineProperty(_height, _size.SIZE.S, '72px'), _defineProperty(_height, _size.SIZE.L, '144px'), _height),
|
|
41
|
+
marginLeft: (_marginLeft = {}, _defineProperty(_marginLeft, _size.SIZE.S, '8px'), _defineProperty(_marginLeft, _size.SIZE.L, '32px'), _marginLeft)
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var FlexGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
45
|
+
displayName: "article-card__FlexGroup",
|
|
46
|
+
componentId: "sc-9196c7-0"
|
|
47
|
+
})(["display:flex;"]);
|
|
48
|
+
|
|
49
|
+
var FlexGroupColumn = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
50
|
+
displayName: "article-card__FlexGroupColumn",
|
|
51
|
+
componentId: "sc-9196c7-1"
|
|
52
|
+
})(["display:flex;flex-direction:column;"]);
|
|
53
|
+
|
|
54
|
+
var FlexSpaceBetween = /*#__PURE__*/(0, _styledComponents["default"])(FlexGroup).withConfig({
|
|
55
|
+
displayName: "article-card__FlexSpaceBetween",
|
|
56
|
+
componentId: "sc-9196c7-2"
|
|
57
|
+
})(["justify-content:space-between;"]);
|
|
58
|
+
var Meta = /*#__PURE__*/(0, _styledComponents["default"])(FlexGroup).withConfig({
|
|
59
|
+
displayName: "article-card__Meta",
|
|
60
|
+
componentId: "sc-9196c7-3"
|
|
61
|
+
})(["color:", ";flex-direction:row;align-items:center;margin-bottom:8px;& > div{margin-right:8px;}&:last-child{margin-right:0;}", ""], _color.colorGrayscale.gray600, function (props) {
|
|
62
|
+
return props.hide ? "display: none;" : '';
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
var DescContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
66
|
+
displayName: "article-card__DescContainer",
|
|
67
|
+
componentId: "sc-9196c7-4"
|
|
68
|
+
})(["margin-top:8px;div{display:-webkit-box;text-overflow:ellipsis;overflow:hidden;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;}"]);
|
|
69
|
+
|
|
70
|
+
var BookmarkContainer = /*#__PURE__*/(0, _styledComponents["default"])(FlexGroup).withConfig({
|
|
71
|
+
displayName: "article-card__BookmarkContainer",
|
|
72
|
+
componentId: "sc-9196c7-5"
|
|
73
|
+
})(["margin-top:8px;align-self:flex-end;"]);
|
|
74
|
+
var ImageContainer = /*#__PURE__*/(0, _styledComponents["default"])(FlexGroup).withConfig({
|
|
75
|
+
displayName: "article-card__ImageContainer",
|
|
76
|
+
componentId: "sc-9196c7-6"
|
|
77
|
+
})(["flex:0 0 auto;align-self:center;width:", ";height:", ";margin-left:", ";"], function (props) {
|
|
78
|
+
return imageStyle.width[props.size];
|
|
79
|
+
}, function (props) {
|
|
80
|
+
return imageStyle.height[props.size];
|
|
81
|
+
}, function (props) {
|
|
82
|
+
return imageStyle.marginLeft[props.size];
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
var ArticleCard = function ArticleCard(_ref) {
|
|
86
|
+
var _ref$title = _ref.title,
|
|
87
|
+
title = _ref$title === void 0 ? '' : _ref$title,
|
|
88
|
+
_ref$description = _ref.description,
|
|
89
|
+
description = _ref$description === void 0 ? '' : _ref$description,
|
|
90
|
+
_ref$date = _ref.date,
|
|
91
|
+
date = _ref$date === void 0 ? '' : _ref$date,
|
|
92
|
+
_ref$image = _ref.image,
|
|
93
|
+
image = _ref$image === void 0 ? {} : _ref$image,
|
|
94
|
+
_ref$category = _ref.category,
|
|
95
|
+
category = _ref$category === void 0 ? '' : _ref$category,
|
|
96
|
+
_ref$size = _ref.size,
|
|
97
|
+
size = _ref$size === void 0 ? _size.SIZE.S : _ref$size,
|
|
98
|
+
_ref$isBookmarked = _ref.isBookmarked,
|
|
99
|
+
isBookmarked = _ref$isBookmarked === void 0 ? false : _ref$isBookmarked,
|
|
100
|
+
toggleBookmark = _ref.toggleBookmark,
|
|
101
|
+
_ref$releaseBranch = _ref.releaseBranch,
|
|
102
|
+
releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch.BRANCH.master : _ref$releaseBranch;
|
|
103
|
+
var hideMeta = !category && !date;
|
|
104
|
+
var titleJSX = title ? /*#__PURE__*/_react["default"].createElement(_headline.H4, {
|
|
105
|
+
text: title,
|
|
106
|
+
type: "article"
|
|
107
|
+
}) : null;
|
|
108
|
+
var dateJSX = date ? /*#__PURE__*/_react["default"].createElement(_paragraph.P3, {
|
|
109
|
+
text: date
|
|
110
|
+
}) : null;
|
|
111
|
+
var categoryJSX = category ? /*#__PURE__*/_react["default"].createElement(_paragraph.P3, {
|
|
112
|
+
text: category
|
|
113
|
+
}) : null;
|
|
114
|
+
var descriptionJSX = description ? size === _size.SIZE.S ? /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
|
|
115
|
+
text: description
|
|
116
|
+
}) : /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
|
|
117
|
+
text: description
|
|
118
|
+
}) : null;
|
|
119
|
+
|
|
120
|
+
var bookmarkIcon = /*#__PURE__*/_react["default"].createElement(_icon.Bookmark, {
|
|
121
|
+
type: "saved",
|
|
122
|
+
releaseBranch: releaseBranch
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
var bookmarkButton = size === _size.SIZE.S ? /*#__PURE__*/_react["default"].createElement(_button.TextButton, {
|
|
126
|
+
theme: _theme.TEXT_BUTTON_THEME.light,
|
|
127
|
+
leftIconComponent: bookmarkIcon,
|
|
128
|
+
text: "\u53D6\u6D88\u6536\u85CF"
|
|
129
|
+
}) : /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
|
|
130
|
+
theme: _theme.THEME.normal,
|
|
131
|
+
iconComponent: bookmarkIcon
|
|
132
|
+
});
|
|
133
|
+
var bookmarkJSX = isBookmarked ? /*#__PURE__*/_react["default"].createElement(BookmarkContainer, {
|
|
134
|
+
onClick: toggleBookmark
|
|
135
|
+
}, bookmarkButton) : null;
|
|
136
|
+
|
|
137
|
+
var metaJSX = /*#__PURE__*/_react["default"].createElement(Meta, {
|
|
138
|
+
hide: hideMeta
|
|
139
|
+
}, categoryJSX, dateJSX);
|
|
140
|
+
|
|
141
|
+
var imageJSX = /*#__PURE__*/_react["default"].createElement(ImageContainer, {
|
|
142
|
+
size: size
|
|
143
|
+
}, /*#__PURE__*/_react["default"].createElement(_imageWithFallback["default"], {
|
|
144
|
+
src: image.src,
|
|
145
|
+
alt: image.alt,
|
|
146
|
+
releaseBranch: releaseBranch
|
|
147
|
+
}));
|
|
148
|
+
|
|
149
|
+
if (size === _size.SIZE.S) {
|
|
150
|
+
return /*#__PURE__*/_react["default"].createElement(FlexGroupColumn, null, /*#__PURE__*/_react["default"].createElement(FlexSpaceBetween, null, /*#__PURE__*/_react["default"].createElement(FlexGroupColumn, null, metaJSX, titleJSX), /*#__PURE__*/_react["default"].createElement(FlexGroup, null, imageJSX)), /*#__PURE__*/_react["default"].createElement(FlexGroupColumn, null, /*#__PURE__*/_react["default"].createElement(DescContainer, null, descriptionJSX), bookmarkJSX));
|
|
151
|
+
} // L size
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
return /*#__PURE__*/_react["default"].createElement(FlexSpaceBetween, null, /*#__PURE__*/_react["default"].createElement(FlexGroupColumn, null, metaJSX, /*#__PURE__*/_react["default"].createElement(FlexGroupColumn, null, titleJSX, /*#__PURE__*/_react["default"].createElement(DescContainer, null, descriptionJSX), bookmarkJSX)), imageJSX);
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
ArticleCard.propTypes = {
|
|
158
|
+
title: _propTypes["default"].string.isRequired,
|
|
159
|
+
description: _propTypes["default"].string.isRequired,
|
|
160
|
+
date: _propTypes["default"].string,
|
|
161
|
+
image: _propTypes["default"].shape({
|
|
162
|
+
alt: _propTypes["default"].string,
|
|
163
|
+
src: _propTypes["default"].string.isRequired,
|
|
164
|
+
srcSet: _propTypes["default"].string
|
|
165
|
+
}),
|
|
166
|
+
category: _propTypes["default"].string,
|
|
167
|
+
size: _size.SIZE_PROP_TYPES,
|
|
168
|
+
isBookmarked: _propTypes["default"].bool,
|
|
169
|
+
toggleBookmark: _propTypes["default"].func,
|
|
170
|
+
releaseBranch: _releaseBranch.BRANCH_PROP_TYPES
|
|
171
|
+
};
|
|
172
|
+
var _default = ArticleCard;
|
|
173
|
+
exports["default"] = _default;
|
|
@@ -13,6 +13,8 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
13
13
|
|
|
14
14
|
var _paragraph = require("../../text/paragraph");
|
|
15
15
|
|
|
16
|
+
var _size = require("@twreporter/core/lib/constants/size");
|
|
17
|
+
|
|
16
18
|
var _excluded = ["text", "size"];
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -40,10 +42,10 @@ var Dialog = function Dialog(_ref) {
|
|
|
40
42
|
var _ref$text = _ref.text,
|
|
41
43
|
text = _ref$text === void 0 ? '' : _ref$text,
|
|
42
44
|
_ref$size = _ref.size,
|
|
43
|
-
size = _ref$size === void 0 ?
|
|
45
|
+
size = _ref$size === void 0 ? _size.SIZE.S : _ref$size,
|
|
44
46
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
45
47
|
|
|
46
|
-
var textIcon = size ===
|
|
48
|
+
var textIcon = size === _size.SIZE.S ? /*#__PURE__*/_react["default"].createElement(_paragraph.P2, {
|
|
47
49
|
text: text,
|
|
48
50
|
weight: "bold"
|
|
49
51
|
}) : /*#__PURE__*/_react["default"].createElement(_paragraph.P1, {
|
|
@@ -55,7 +57,7 @@ var Dialog = function Dialog(_ref) {
|
|
|
55
57
|
|
|
56
58
|
Dialog.propTypes = {
|
|
57
59
|
text: _propTypes["default"].string,
|
|
58
|
-
size:
|
|
60
|
+
size: _size.SIZE_PROP_TYPES
|
|
59
61
|
};
|
|
60
62
|
var _default = Dialog;
|
|
61
63
|
exports["default"] = _default;
|
package/lib/card/index.js
CHANGED
|
@@ -9,13 +9,22 @@ Object.defineProperty(exports, "Dialog", {
|
|
|
9
9
|
return _dialog["default"];
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "ArticleCard", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _articleCard["default"];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
exports["default"] = void 0;
|
|
13
19
|
|
|
14
20
|
var _dialog = _interopRequireDefault(require("./components/dialog"));
|
|
15
21
|
|
|
22
|
+
var _articleCard = _interopRequireDefault(require("./components/article-card"));
|
|
23
|
+
|
|
16
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
25
|
|
|
18
26
|
var _default = {
|
|
19
|
-
Dialog: _dialog["default"]
|
|
27
|
+
Dialog: _dialog["default"],
|
|
28
|
+
ArticleCard: _articleCard["default"]
|
|
20
29
|
};
|
|
21
30
|
exports["default"] = _default;
|