@twreporter/react-components 8.12.0 → 8.13.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.
- package/CHANGELOG.md +35 -0
- package/lib/button/components/pillButton.js +13 -4
- package/lib/listing-page/components/list.js +3 -1
- package/lib/snack-bar/hooks/use-snack-bar.js +53 -0
- package/lib/snack-bar/index.js +10 -1
- package/lib/snack-bar/stories/snackBar.stories.js +76 -1
- package/lib/title-bar/components/bar.js +4 -1
- package/lib/title-bar/components/tab.js +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
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.13.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.12.1-rc.1...@twreporter/react-components@8.13.0-rc.0) (2022-09-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* make `useSnackBar` headless ([ddaf3dd](https://github.com/twreporter/twreporter-npm-packages/commit/ddaf3ddbd44abba3684f9209fc1b9e8b4c678c15))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add useSnackBar hook ([32696ab](https://github.com/twreporter/twreporter-npm-packages/commit/32696ab41d619d1f675931adaf4550e435be64f4))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [8.12.1-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.12.1-rc.0...@twreporter/react-components@8.12.1-rc.1) (2022-08-22)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* fix title bar text color ([de712ab](https://github.com/twreporter/twreporter-npm-packages/commit/de712ab54ccd886458d94b9c3ed0a98a40b39e51))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [8.12.1-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.12.0...@twreporter/react-components@8.12.1-rc.0) (2022-08-17)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @twreporter/react-components
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
# [8.12.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.12.0-rc.1...@twreporter/react-components@8.12.0) (2022-08-11)
|
|
7
42
|
|
|
8
43
|
**Note:** Version bump only for package @twreporter/react-components
|
|
@@ -17,9 +17,16 @@ var _theme = require("../utils/theme");
|
|
|
17
17
|
|
|
18
18
|
var _size = require("../utils/size");
|
|
19
19
|
|
|
20
|
+
var _excluded = ["text", "iconComponent", "size", "theme", "type", "disabled"];
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
29
|
+
|
|
23
30
|
var ButtonContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
24
31
|
displayName: "pillButton__ButtonContainer",
|
|
25
32
|
componentId: "xa7tsy-0"
|
|
@@ -58,7 +65,9 @@ var PillButton = function PillButton(_ref) {
|
|
|
58
65
|
_ref$type = _ref.type,
|
|
59
66
|
type = _ref$type === void 0 ? 'primary' : _ref$type,
|
|
60
67
|
_ref$disabled = _ref.disabled,
|
|
61
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled
|
|
68
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
69
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
70
|
+
|
|
62
71
|
var themeFunc = type === 'primary' ? _theme.getFilledPillButtonTheme : _theme.getOutlinePillButtonTheme;
|
|
63
72
|
|
|
64
73
|
var _themeFunc = themeFunc(theme, disabled),
|
|
@@ -78,7 +87,7 @@ var PillButton = function PillButton(_ref) {
|
|
|
78
87
|
text: text,
|
|
79
88
|
weight: "bold"
|
|
80
89
|
});
|
|
81
|
-
return /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
90
|
+
return /*#__PURE__*/_react["default"].createElement(ButtonContainer, _extends({
|
|
82
91
|
type: type,
|
|
83
92
|
padding: padding,
|
|
84
93
|
color: color,
|
|
@@ -86,7 +95,7 @@ var PillButton = function PillButton(_ref) {
|
|
|
86
95
|
iconSize: iconSize,
|
|
87
96
|
hoverColor: hoverColor,
|
|
88
97
|
hoverBgColor: hoverBgColor
|
|
89
|
-
}, textJSX, iconComponent);
|
|
98
|
+
}, props), textJSX, iconComponent);
|
|
90
99
|
};
|
|
91
100
|
|
|
92
101
|
PillButton.propTypes = {
|
|
@@ -153,7 +153,9 @@ var List = /*#__PURE__*/function (_PureComponent) {
|
|
|
153
153
|
}));
|
|
154
154
|
});
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
var headerTitle = catName || (tagName ? "#".concat(tagName) : '');
|
|
157
|
+
var headerJSX = headerTitle ? /*#__PURE__*/_react["default"].createElement(Header, null, headerTitle) : null;
|
|
158
|
+
return /*#__PURE__*/_react["default"].createElement(Container, null, headerJSX, /*#__PURE__*/_react["default"].createElement(Items, {
|
|
157
159
|
isFetching: isFetching,
|
|
158
160
|
showSpinner: showSpinner
|
|
159
161
|
}, listJSX));
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
|
|
12
|
+
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."); }
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
|
+
|
|
22
|
+
var useSnackBar = function useSnackBar() {
|
|
23
|
+
var _useState = (0, _react.useState)(false),
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
showSnackBar = _useState2[0],
|
|
26
|
+
setShowSnackBar = _useState2[1];
|
|
27
|
+
|
|
28
|
+
var _useState3 = (0, _react.useState)(''),
|
|
29
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
30
|
+
snackBarText = _useState4[0],
|
|
31
|
+
setSnackBarText = _useState4[1];
|
|
32
|
+
|
|
33
|
+
var toastr = function toastr(_ref) {
|
|
34
|
+
var _ref$text = _ref.text,
|
|
35
|
+
text = _ref$text === void 0 ? '' : _ref$text,
|
|
36
|
+
_ref$timeout = _ref.timeout,
|
|
37
|
+
timeout = _ref$timeout === void 0 ? 3000 : _ref$timeout;
|
|
38
|
+
setSnackBarText(text);
|
|
39
|
+
setShowSnackBar(true);
|
|
40
|
+
setTimeout(function () {
|
|
41
|
+
setShowSnackBar(false);
|
|
42
|
+
}, timeout);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
return {
|
|
46
|
+
toastr: toastr,
|
|
47
|
+
showSnackBar: showSnackBar,
|
|
48
|
+
snackBarText: snackBarText
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var _default = useSnackBar;
|
|
53
|
+
exports["default"] = _default;
|
package/lib/snack-bar/index.js
CHANGED
|
@@ -9,13 +9,22 @@ Object.defineProperty(exports, "SnackBar", {
|
|
|
9
9
|
return _snackBar["default"];
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "useSnackBar", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _useSnackBar["default"];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
exports["default"] = void 0;
|
|
13
19
|
|
|
14
20
|
var _snackBar = _interopRequireDefault(require("./components/snack-bar"));
|
|
15
21
|
|
|
22
|
+
var _useSnackBar = _interopRequireDefault(require("./hooks/use-snack-bar"));
|
|
23
|
+
|
|
16
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
25
|
|
|
18
26
|
var _default = {
|
|
19
|
-
SnackBar: _snackBar["default"]
|
|
27
|
+
SnackBar: _snackBar["default"],
|
|
28
|
+
useSnackBar: _useSnackBar["default"]
|
|
20
29
|
};
|
|
21
30
|
exports["default"] = _default;
|
|
@@ -3,14 +3,30 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.snackBar = exports["default"] = void 0;
|
|
6
|
+
exports.clickToShow = exports.snackBar = exports["default"] = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
|
|
14
|
+
var _useSnackBar2 = _interopRequireDefault(require("../hooks/use-snack-bar"));
|
|
15
|
+
|
|
10
16
|
var _snackBar = _interopRequireDefault(require("../components/snack-bar"));
|
|
11
17
|
|
|
18
|
+
var _button = require("../../button");
|
|
19
|
+
|
|
20
|
+
var _random = _interopRequireDefault(require("lodash/random"));
|
|
21
|
+
|
|
12
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
23
|
|
|
24
|
+
// hooks
|
|
25
|
+
// components
|
|
26
|
+
// lodash
|
|
27
|
+
var _ = {
|
|
28
|
+
random: _random["default"]
|
|
29
|
+
};
|
|
14
30
|
var _default = {
|
|
15
31
|
title: 'Snack Bar',
|
|
16
32
|
component: _snackBar["default"]
|
|
@@ -25,4 +41,63 @@ exports.snackBar = snackBar;
|
|
|
25
41
|
snackBar.args = {
|
|
26
42
|
text: '系統作業文字',
|
|
27
43
|
theme: 'normal'
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
47
|
+
displayName: "snackBarstories__Container",
|
|
48
|
+
componentId: "sc-1vgclkn-0"
|
|
49
|
+
})(["display:flex;flex-direction:column;align-items:center;width:fit-content;"]);
|
|
50
|
+
|
|
51
|
+
var SnackBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
52
|
+
displayName: "snackBarstories__SnackBarContainer",
|
|
53
|
+
componentId: "sc-1vgclkn-1"
|
|
54
|
+
})(["margin-bottom:4px;transition:opacity 1s;opacity:", ";"], function (props) {
|
|
55
|
+
return props.showSnackBar ? 1 : 0;
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
var ClickToShowSnackBar = function ClickToShowSnackBar(_ref) {
|
|
59
|
+
var timeout = _ref.timeout;
|
|
60
|
+
|
|
61
|
+
var _useSnackBar = (0, _useSnackBar2["default"])(),
|
|
62
|
+
toastr = _useSnackBar.toastr,
|
|
63
|
+
showSnackBar = _useSnackBar.showSnackBar,
|
|
64
|
+
snackBarText = _useSnackBar.snackBarText;
|
|
65
|
+
|
|
66
|
+
var handleClick = function handleClick() {
|
|
67
|
+
var textPool = ['click!', 'hahaha', 'hello', 'world', 'yoyo'];
|
|
68
|
+
|
|
69
|
+
var text = textPool[_.random(0, 4)];
|
|
70
|
+
|
|
71
|
+
toastr({
|
|
72
|
+
text: text,
|
|
73
|
+
timeout: timeout
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(SnackBarContainer, {
|
|
78
|
+
showSnackBar: showSnackBar
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement(_snackBar["default"], {
|
|
80
|
+
text: snackBarText
|
|
81
|
+
})), /*#__PURE__*/_react["default"].createElement(_button.PillButton, {
|
|
82
|
+
text: "click me",
|
|
83
|
+
onClick: handleClick
|
|
84
|
+
}));
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
ClickToShowSnackBar.propTypes = {
|
|
88
|
+
timeout: _propTypes["default"].number
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
var clickToShow = function clickToShow(props) {
|
|
92
|
+
return /*#__PURE__*/_react["default"].createElement(ClickToShowSnackBar, props);
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
exports.clickToShow = clickToShow;
|
|
96
|
+
clickToShow.parameters = {
|
|
97
|
+
controls: {
|
|
98
|
+
exclude: ['text', 'theme']
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
clickToShow.args = {
|
|
102
|
+
timeout: 800
|
|
28
103
|
};
|
|
@@ -17,13 +17,16 @@ var _paragraph = require("../../text/paragraph");
|
|
|
17
17
|
|
|
18
18
|
var _divider = _interopRequireDefault(require("../../divider"));
|
|
19
19
|
|
|
20
|
+
var _color = require("@twreporter/core/lib/constants/color");
|
|
21
|
+
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
23
|
|
|
22
24
|
// component
|
|
25
|
+
// @twreporter
|
|
23
26
|
var BarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
24
27
|
displayName: "bar__BarContainer",
|
|
25
28
|
componentId: "sc-18ncllq-0"
|
|
26
|
-
})(["display:flex;width:100%;flex-direction:column;& > div{margin-bottom:16px;&:last-child{margin-bottom:0;}}"]);
|
|
29
|
+
})(["display:flex;width:100%;flex-direction:column;color:", ";& > div{margin-bottom:16px;&:last-child{margin-bottom:0;}}"], _color.colorGrayscale.gray800);
|
|
27
30
|
|
|
28
31
|
var TitleBar = function TitleBar(_ref) {
|
|
29
32
|
var _ref$title = _ref.title,
|
|
@@ -62,7 +62,7 @@ var tabPropType = _propTypes["default"].shape({
|
|
|
62
62
|
var BarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
63
63
|
displayName: "tab__BarContainer",
|
|
64
64
|
componentId: "ywb8e-0"
|
|
65
|
-
})(["display:flex;width:100%;flex-direction:column;& > div{margin-bottom:16px;&:last-child{margin-bottom:0;}}"]);
|
|
65
|
+
})(["display:flex;width:100%;flex-direction:column;color:", ";& > div{margin-bottom:16px;&:last-child{margin-bottom:0;}}"], _color.colorGrayscale.gray800);
|
|
66
66
|
|
|
67
67
|
var TabItemContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
68
68
|
displayName: "tab__TabItemContainer",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/react-components",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.13.0-rc.0",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"repository": "https://github.com/twreporter/twreporter-npm-packages.git",
|
|
6
6
|
"author": "twreporter <developer@twreporter.org>",
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"chromatic": "npx chromatic --exit-zero-on-changes"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@twreporter/core": "^1.
|
|
19
|
-
"@twreporter/redux": "^7.
|
|
18
|
+
"@twreporter/core": "^1.6.0-rc.0",
|
|
19
|
+
"@twreporter/redux": "^7.3.0-rc.0",
|
|
20
20
|
"fontfaceobserver-es": "^3.3.3",
|
|
21
21
|
"hoist-non-react-statics": "^2.3.1",
|
|
22
22
|
"lodash": "^4.0.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"babel-loader": "^8.2.4",
|
|
45
45
|
"chromatic": "^6.5.4"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "a94c5e961dbe609191117cd9e67b0b5a6d883e31"
|
|
48
48
|
}
|