@twreporter/react-components 8.10.0-rc.0 → 8.10.0-rc.3
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 +34 -0
- package/lib/bookmark-list/index.js +129 -170
- package/lib/hook/index.js +21 -0
- package/lib/hook/use-outside-click.js +32 -0
- package/lib/icon/index.js +11 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,40 @@
|
|
|
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.10.0-rc.3](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.10.0-rc.2...@twreporter/react-components@8.10.0-rc.3) (2022-07-01)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* fix tool bar defect ([e66c4d7](https://github.com/twreporter/twreporter-npm-packages/commit/e66c4d7eeb87ca61f16f1dede8a191aaf2c8ed80))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [8.10.0-rc.2](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.10.0-rc.1...@twreporter/react-components@8.10.0-rc.2) (2022-06-30)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* new bookmark should be fetched when mount ([9bb438f](https://github.com/twreporter/twreporter-npm-packages/commit/9bb438f81bd321fee47f55c872589091d8db8be6))
|
|
23
|
+
* remove redundant code ([7468cfa](https://github.com/twreporter/twreporter-npm-packages/commit/7468cfab10a51d092548191d14ab7eeb7839c871))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# [8.10.0-rc.1](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.10.0-rc.0...@twreporter/react-components@8.10.0-rc.1) (2022-06-14)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Bug Fixes
|
|
33
|
+
|
|
34
|
+
* bookmark should fetch upstream when page mount ([defb7b8](https://github.com/twreporter/twreporter-npm-packages/commit/defb7b8ae26cb4179dfb59c4392472e6bebe7906))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
6
40
|
# [8.10.0-rc.0](https://github.com/twreporter/twreporter-npm-packages/compare/@twreporter/react-components@8.9.0...@twreporter/react-components@8.10.0-rc.0) (2022-06-08)
|
|
7
41
|
|
|
8
42
|
|
|
@@ -13,7 +13,7 @@ var _CSSTransition = _interopRequireDefault(require("react-transition-group/CSST
|
|
|
13
13
|
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
|
|
16
|
-
var _react =
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
@@ -39,31 +39,25 @@ var _get = _interopRequireDefault(require("lodash/get"));
|
|
|
39
39
|
|
|
40
40
|
var _map = _interopRequireDefault(require("lodash/map"));
|
|
41
41
|
|
|
42
|
+
var _slice = _interopRequireDefault(require("lodash/slice"));
|
|
43
|
+
|
|
42
44
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
43
45
|
|
|
44
46
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
45
47
|
|
|
46
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
47
49
|
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
51
|
-
|
|
52
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
53
|
-
|
|
54
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
50
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
55
51
|
|
|
56
|
-
function
|
|
52
|
+
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."); }
|
|
57
53
|
|
|
58
|
-
function
|
|
54
|
+
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); }
|
|
59
55
|
|
|
60
|
-
function
|
|
56
|
+
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; }
|
|
61
57
|
|
|
62
|
-
function
|
|
58
|
+
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; }
|
|
63
59
|
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
60
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
67
61
|
|
|
68
62
|
var _twreporterRedux$acti = _redux["default"].actions,
|
|
69
63
|
deleteSingleBookmark = _twreporterRedux$acti.deleteSingleBookmark,
|
|
@@ -72,7 +66,8 @@ var reduxStatePropKeys = _redux["default"].reduxStateFields;
|
|
|
72
66
|
var _ = {
|
|
73
67
|
findIndex: _findIndex["default"],
|
|
74
68
|
get: _get["default"],
|
|
75
|
-
map: _map["default"]
|
|
69
|
+
map: _map["default"],
|
|
70
|
+
slice: _slice["default"]
|
|
76
71
|
};
|
|
77
72
|
var defaultLimit = 5;
|
|
78
73
|
var defaultSort = 'created_at';
|
|
@@ -109,167 +104,131 @@ var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
|
109
104
|
componentId: "w84xlj-1"
|
|
110
105
|
})(["", ""], reactTransitionCSS);
|
|
111
106
|
|
|
112
|
-
var BookmarkList =
|
|
113
|
-
|
|
107
|
+
var BookmarkList = function BookmarkList(_ref) {
|
|
108
|
+
var _ref$releaseBranch = _ref.releaseBranch,
|
|
109
|
+
releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch["default"].master : _ref$releaseBranch,
|
|
110
|
+
bookmarks = _ref.bookmarks,
|
|
111
|
+
total = _ref.total,
|
|
112
|
+
getMultipleBookmarks = _ref.getMultipleBookmarks,
|
|
113
|
+
deleteSingleBookmark = _ref.deleteSingleBookmark,
|
|
114
|
+
isAuthed = _ref.isAuthed,
|
|
115
|
+
jwt = _ref.jwt,
|
|
116
|
+
userID = _ref.userID;
|
|
117
|
+
|
|
118
|
+
var _useState = (0, _react.useState)(false),
|
|
119
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
120
|
+
showConfirmation = _useState2[0],
|
|
121
|
+
setShowConfirmation = _useState2[1];
|
|
122
|
+
|
|
123
|
+
var _useState3 = (0, _react.useState)(),
|
|
124
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
125
|
+
idToBeDeleted = _useState4[0],
|
|
126
|
+
setIdToBeDeleted = _useState4[1];
|
|
127
|
+
|
|
128
|
+
var _useState5 = (0, _react.useState)(total <= defaultLimit ? total : defaultLimit),
|
|
129
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
130
|
+
numberToShow = _useState6[0],
|
|
131
|
+
setNumberToShow = _useState6[1];
|
|
132
|
+
|
|
133
|
+
var _useState7 = (0, _react.useState)(bookmarks),
|
|
134
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
135
|
+
bookmarkToShow = _useState8[0],
|
|
136
|
+
setBookmarkToShow = _useState8[1];
|
|
137
|
+
|
|
138
|
+
var _defaultBodyOverflow = 'scroll';
|
|
139
|
+
(0, _react.useEffect)(function () {
|
|
140
|
+
// check authorization
|
|
141
|
+
// redirect to singin page if user has not been authorized
|
|
142
|
+
if (!isAuthed || !jwt) {
|
|
143
|
+
var currentHref = typeof window === 'undefined' ? '' : window.location.href;
|
|
144
|
+
window.location.href = (0, _signInHref.getSignInHref)(currentHref);
|
|
145
|
+
} // set overflow value
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
_defaultBodyOverflow = _.get(document, 'body.style.overflow', _defaultBodyOverflow); // check bookmark update
|
|
149
|
+
|
|
150
|
+
var offset = 0;
|
|
151
|
+
getMultipleBookmarks(jwt, userID, offset, defaultLimit, defaultSort);
|
|
152
|
+
}, []);
|
|
153
|
+
(0, _react.useEffect)(function () {
|
|
154
|
+
document.body.style.overflow = showConfirmation ? 'hidden' : _defaultBodyOverflow;
|
|
155
|
+
}, [showConfirmation]);
|
|
156
|
+
(0, _react.useEffect)(function () {
|
|
157
|
+
setBookmarkToShow(_.slice(bookmarks, 0, numberToShow));
|
|
158
|
+
}, [numberToShow, bookmarks]);
|
|
159
|
+
(0, _react.useEffect)(function () {
|
|
160
|
+
if (total - numberToShow < defaultLimit) {
|
|
161
|
+
setNumberToShow(total);
|
|
162
|
+
}
|
|
163
|
+
}, [total]);
|
|
114
164
|
|
|
115
|
-
var
|
|
165
|
+
var loadMoreBookmarks = function loadMoreBookmarks() {
|
|
166
|
+
var nextNumberToShow = numberToShow + defaultLimit < total ? numberToShow + defaultLimit : total;
|
|
116
167
|
|
|
117
|
-
|
|
118
|
-
|
|
168
|
+
if (total === bookmarks.length) {
|
|
169
|
+
setNumberToShow(nextNumberToShow);
|
|
170
|
+
} else if (numberToShow < total) {
|
|
171
|
+
var offset = numberToShow;
|
|
172
|
+
getMultipleBookmarks(jwt, userID, offset, defaultLimit, defaultSort);
|
|
173
|
+
setNumberToShow(nextNumberToShow);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
119
176
|
|
|
120
|
-
|
|
177
|
+
var hideComfirmation = function hideComfirmation() {
|
|
178
|
+
setShowConfirmation(false);
|
|
179
|
+
};
|
|
121
180
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
idToBeDeleted: null
|
|
126
|
-
};
|
|
127
|
-
_this.loadMoreBookmarks = _this.loadMoreBookmarks.bind(_assertThisInitialized(_this));
|
|
128
|
-
_this.handleDeleteButtonClicked = _this.handleDeleteButtonClicked.bind(_assertThisInitialized(_this));
|
|
129
|
-
_this.hideComfirmation = _this.hideComfirmation.bind(_assertThisInitialized(_this));
|
|
130
|
-
_this.handleDeletingConfirmed = _this.handleDeletingConfirmed.bind(_assertThisInitialized(_this));
|
|
131
|
-
_this._defaultBodyOverflow = 'scroll';
|
|
132
|
-
return _this;
|
|
133
|
-
}
|
|
181
|
+
var showComfirmation = function showComfirmation() {
|
|
182
|
+
setShowConfirmation(true);
|
|
183
|
+
};
|
|
134
184
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
var offset = 0;
|
|
148
|
-
|
|
149
|
-
_getMultipleBookmarks(jwt, userID, offset, defaultLimit, defaultSort);
|
|
150
|
-
}
|
|
151
|
-
} // Redirect to singin page if user has not been authorized
|
|
152
|
-
|
|
153
|
-
}, {
|
|
154
|
-
key: "checkAuthorization",
|
|
155
|
-
value: function checkAuthorization() {
|
|
156
|
-
var _this$props2 = this.props,
|
|
157
|
-
isAuthed = _this$props2.isAuthed,
|
|
158
|
-
jwt = _this$props2.jwt;
|
|
159
|
-
|
|
160
|
-
if (!isAuthed || !jwt) {
|
|
161
|
-
var currentHref = typeof window === 'undefined' ? '' : window.location.href;
|
|
162
|
-
window.location.href = (0, _signInHref.getSignInHref)(currentHref);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
}, {
|
|
166
|
-
key: "loadMoreBookmarks",
|
|
167
|
-
value: function loadMoreBookmarks() {
|
|
168
|
-
var _this$props3 = this.props,
|
|
169
|
-
total = _this$props3.total,
|
|
170
|
-
bookmarks = _this$props3.bookmarks,
|
|
171
|
-
jwt = _this$props3.jwt,
|
|
172
|
-
userID = _this$props3.userID,
|
|
173
|
-
getMultipleBookmarks = _this$props3.getMultipleBookmarks;
|
|
174
|
-
var offset = bookmarks.length;
|
|
175
|
-
|
|
176
|
-
if (offset < total) {
|
|
177
|
-
getMultipleBookmarks(jwt, userID, offset, defaultLimit, defaultSort);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}, {
|
|
181
|
-
key: "handleDeleteButtonClicked",
|
|
182
|
-
value: function handleDeleteButtonClicked(bookmarkID) {
|
|
183
|
-
this.setRecordToBeDeleted(bookmarkID);
|
|
184
|
-
this.showConfirmation();
|
|
185
|
-
}
|
|
186
|
-
}, {
|
|
187
|
-
key: "setRecordToBeDeleted",
|
|
188
|
-
value: function setRecordToBeDeleted(bookmarkID) {
|
|
189
|
-
this.setState({
|
|
190
|
-
idToBeDeleted: bookmarkID
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
}, {
|
|
194
|
-
key: "handleDeletingConfirmed",
|
|
195
|
-
value: function handleDeletingConfirmed() {
|
|
196
|
-
this.hideComfirmation();
|
|
197
|
-
var idToBeDeleted = this.state.idToBeDeleted;
|
|
198
|
-
|
|
199
|
-
if (typeof idToBeDeleted === 'number') {
|
|
200
|
-
var _this$props4 = this.props,
|
|
201
|
-
jwt = _this$props4.jwt,
|
|
202
|
-
userID = _this$props4.userID,
|
|
203
|
-
_deleteSingleBookmark = _this$props4.deleteSingleBookmark;
|
|
204
|
-
|
|
205
|
-
_deleteSingleBookmark(jwt, userID, idToBeDeleted);
|
|
206
|
-
} else {
|
|
207
|
-
console.error("Deleting bookmark failed. Bookmark id should be a number, but is ".concat(idToBeDeleted)); // eslint-disable-line no-console
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
this.setRecordToBeDeleted(null);
|
|
211
|
-
}
|
|
212
|
-
}, {
|
|
213
|
-
key: "hideComfirmation",
|
|
214
|
-
value: function hideComfirmation() {
|
|
215
|
-
var _this2 = this;
|
|
216
|
-
|
|
217
|
-
this.setState({
|
|
218
|
-
showConfirmation: false
|
|
219
|
-
}, function () {
|
|
220
|
-
document.body.style.overflow = _this2._defaultBodyOverflow;
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
}, {
|
|
224
|
-
key: "showConfirmation",
|
|
225
|
-
value: function showConfirmation() {
|
|
226
|
-
this.setState({
|
|
227
|
-
showConfirmation: true
|
|
228
|
-
}, function () {
|
|
229
|
-
document.body.style.overflow = 'hidden';
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
}, {
|
|
233
|
-
key: "render",
|
|
234
|
-
value: function render() {
|
|
235
|
-
var _this$props5 = this.props,
|
|
236
|
-
isAuthed = _this$props5.isAuthed,
|
|
237
|
-
jwt = _this$props5.jwt;
|
|
238
|
-
if (!isAuthed || !jwt) return /*#__PURE__*/_react["default"].createElement(_redirectToSignIn["default"], null, "\u60A8\u5C1A\u672A\u767B\u5165\uFF0C\u5C07\u8DF3\u8F49\u81F3\u767B\u5165\u9801");
|
|
239
|
-
var _this$props6 = this.props,
|
|
240
|
-
bookmarks = _this$props6.bookmarks,
|
|
241
|
-
total = _this$props6.total,
|
|
242
|
-
releaseBranch = _this$props6.releaseBranch;
|
|
243
|
-
return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_bookmarks["default"], {
|
|
244
|
-
bookmarks: bookmarks,
|
|
245
|
-
handleDelete: this.handleDeleteButtonClicked,
|
|
246
|
-
total: total,
|
|
247
|
-
releaseBranch: releaseBranch
|
|
248
|
-
}), /*#__PURE__*/_react["default"].createElement(MoreContainer, {
|
|
249
|
-
hasMore: bookmarks.length < total
|
|
250
|
-
}, /*#__PURE__*/_react["default"].createElement(_more["default"], {
|
|
251
|
-
loadMore: this.loadMoreBookmarks
|
|
252
|
-
}, /*#__PURE__*/_react["default"].createElement("span", null, text.loadMore))), /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
253
|
-
classNames: transitionName,
|
|
254
|
-
"in": this.state.showConfirmation,
|
|
255
|
-
timeout: {
|
|
256
|
-
enter: transitionDuration.enter,
|
|
257
|
-
exit: transitionDuration.leave
|
|
258
|
-
},
|
|
259
|
-
mountOnEnter: true,
|
|
260
|
-
unmountOnExit: true
|
|
261
|
-
}, /*#__PURE__*/_react["default"].createElement(_confirmation["default"], {
|
|
262
|
-
onCancel: this.hideComfirmation,
|
|
263
|
-
onConfirm: this.handleDeletingConfirmed,
|
|
264
|
-
content: text.dialog.content,
|
|
265
|
-
confirm: text.dialog.confirm,
|
|
266
|
-
cancel: text.dialog.cancel
|
|
267
|
-
})));
|
|
185
|
+
var handleDeleteButtonClicked = function handleDeleteButtonClicked(bookmarkID) {
|
|
186
|
+
setIdToBeDeleted(bookmarkID);
|
|
187
|
+
showComfirmation();
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
var handleDeletingConfirmed = function handleDeletingConfirmed() {
|
|
191
|
+
hideComfirmation();
|
|
192
|
+
|
|
193
|
+
if (typeof idToBeDeleted === 'number') {
|
|
194
|
+
deleteSingleBookmark(jwt, userID, idToBeDeleted);
|
|
195
|
+
} else {
|
|
196
|
+
console.error("Deleting bookmark failed. Bookmark id should be a number, but is ".concat(idToBeDeleted)); // eslint-disable-line no-console
|
|
268
197
|
}
|
|
269
|
-
}]);
|
|
270
198
|
|
|
271
|
-
|
|
272
|
-
}
|
|
199
|
+
setIdToBeDeleted(null);
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
if (!isAuthed || !jwt) {
|
|
203
|
+
return /*#__PURE__*/_react["default"].createElement(_redirectToSignIn["default"], null, "\u60A8\u5C1A\u672A\u767B\u5165\uFF0C\u5C07\u8DF3\u8F49\u81F3\u767B\u5165\u9801");
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_bookmarks["default"], {
|
|
207
|
+
bookmarks: bookmarkToShow,
|
|
208
|
+
handleDelete: handleDeleteButtonClicked,
|
|
209
|
+
total: total,
|
|
210
|
+
releaseBranch: releaseBranch
|
|
211
|
+
}), /*#__PURE__*/_react["default"].createElement(MoreContainer, {
|
|
212
|
+
hasMore: numberToShow < total
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement(_more["default"], {
|
|
214
|
+
loadMore: loadMoreBookmarks
|
|
215
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, text.loadMore))), /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
216
|
+
classNames: transitionName,
|
|
217
|
+
"in": showConfirmation,
|
|
218
|
+
timeout: {
|
|
219
|
+
enter: transitionDuration.enter,
|
|
220
|
+
exit: transitionDuration.leave
|
|
221
|
+
},
|
|
222
|
+
mountOnEnter: true,
|
|
223
|
+
unmountOnExit: true
|
|
224
|
+
}, /*#__PURE__*/_react["default"].createElement(_confirmation["default"], {
|
|
225
|
+
onCancel: hideComfirmation,
|
|
226
|
+
onConfirm: handleDeletingConfirmed,
|
|
227
|
+
content: text.dialog.content,
|
|
228
|
+
confirm: text.dialog.confirm,
|
|
229
|
+
cancel: text.dialog.cancel
|
|
230
|
+
})));
|
|
231
|
+
};
|
|
273
232
|
|
|
274
233
|
BookmarkList.propTypes = {
|
|
275
234
|
releaseBranch: _propTypes2["default"].releaseBranch,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useOutsideClick", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useOutsideClick["default"];
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
exports["default"] = void 0;
|
|
13
|
+
|
|
14
|
+
var _useOutsideClick = _interopRequireDefault(require("./use-outside-click"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
18
|
+
var _default = {
|
|
19
|
+
useOutsideClick: _useOutsideClick["default"]
|
|
20
|
+
};
|
|
21
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
var useOutsideClick = function useOutsideClick(callback) {
|
|
11
|
+
var ref = (0, _react.useRef)();
|
|
12
|
+
(0, _react.useEffect)(function () {
|
|
13
|
+
var handleClick = function handleClick(event) {
|
|
14
|
+
if (typeof callback !== 'function') {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
|
19
|
+
callback(event);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
document.addEventListener('click', handleClick);
|
|
24
|
+
return function () {
|
|
25
|
+
document.removeEventListener('click', handleClick);
|
|
26
|
+
};
|
|
27
|
+
}, [ref, callback]);
|
|
28
|
+
return ref;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var _default = useOutsideClick;
|
|
32
|
+
exports["default"] = _default;
|
package/lib/icon/index.js
CHANGED
|
@@ -15,10 +15,16 @@ var _propTypes2 = _interopRequireDefault(require("@twreporter/core/lib/constants
|
|
|
15
15
|
|
|
16
16
|
var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
|
|
17
17
|
|
|
18
|
+
var _excluded = ["filename", "releaseBranch"];
|
|
19
|
+
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
21
|
|
|
20
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); }
|
|
21
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 baseGCSDir = 'https://www.twreporter.org/assets/icon/';
|
|
23
29
|
|
|
24
30
|
var IconContainer = /*#__PURE__*/_styledComponents["default"].svg.withConfig({
|
|
@@ -32,12 +38,14 @@ var Icon = function Icon(_ref) {
|
|
|
32
38
|
var _ref$filename = _ref.filename,
|
|
33
39
|
filename = _ref$filename === void 0 ? '' : _ref$filename,
|
|
34
40
|
_ref$releaseBranch = _ref.releaseBranch,
|
|
35
|
-
releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch["default"].master : _ref$releaseBranch
|
|
41
|
+
releaseBranch = _ref$releaseBranch === void 0 ? _releaseBranch["default"].master : _ref$releaseBranch,
|
|
42
|
+
restProps = _objectWithoutProperties(_ref, _excluded);
|
|
43
|
+
|
|
36
44
|
var src = "".concat(baseGCSDir).concat(releaseBranch, "/").concat(filename, ".svg");
|
|
37
|
-
return /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
45
|
+
return /*#__PURE__*/_react["default"].createElement(IconContainer, _extends({
|
|
38
46
|
alt: filename,
|
|
39
47
|
src: src
|
|
40
|
-
});
|
|
48
|
+
}, restProps));
|
|
41
49
|
};
|
|
42
50
|
|
|
43
51
|
exports.Icon = Icon;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twreporter/react-components",
|
|
3
|
-
"version": "8.10.0-rc.
|
|
3
|
+
"version": "8.10.0-rc.3",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"repository": "https://github.com/twreporter/twreporter-npm-packages.git",
|
|
6
6
|
"author": "twreporter <developer@twreporter.org>",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@twreporter/core": "^1.4.1",
|
|
19
|
-
"@twreporter/redux": "^7.2.
|
|
19
|
+
"@twreporter/redux": "^7.2.2-rc.0",
|
|
20
20
|
"hoist-non-react-statics": "^2.3.1",
|
|
21
21
|
"lodash": "^4.0.0",
|
|
22
22
|
"memoize-one": "^5.0.5",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"babel-loader": "^8.2.4",
|
|
45
45
|
"chromatic": "^6.5.4"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "aa5fa9054d067e7282c8487a431320910863db28"
|
|
48
48
|
}
|