@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 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
- // utils
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
- return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(Header, null, catName || (tagName ? "#".concat(tagName) : '')), /*#__PURE__*/_react["default"].createElement(Items, {
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;
@@ -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.12.0",
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.5.0",
19
- "@twreporter/redux": "^7.2.2",
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": "9cca19bcfce6ed53c6eeb5582b917b2c74ad9908"
47
+ "gitHead": "a94c5e961dbe609191117cd9e67b0b5a6d883e31"
48
48
  }