@papillonbits/library 0.4.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/LICENSE +21 -0
- package/README.md +1 -0
- package/a11y/index.js +16 -0
- package/array/index.js +165 -0
- package/auth/index.js +79 -0
- package/boolean/index.js +10 -0
- package/browser/index.js +8 -0
- package/date/index.js +17 -0
- package/event/index.js +24 -0
- package/hooks/index.js +37 -0
- package/number/index.js +26 -0
- package/object/index.js +18 -0
- package/package.json +40 -0
- package/pagination/index.js +102 -0
- package/sort/index.js +120 -0
- package/store/index.js +13 -0
- package/store/mock/index.js +16 -0
- package/string/index.js +35 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 MTS.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<h1 align="center">Papillon Bits Library</h1>
|
package/a11y/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.checkAccessibilityIssues = checkAccessibilityIssues;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("@axe-core/react"));
|
|
11
|
+
|
|
12
|
+
function checkAccessibilityIssues(react, reactDOM, delay) {
|
|
13
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
14
|
+
(0, _react["default"])(react, reactDOM, delay);
|
|
15
|
+
}
|
|
16
|
+
}
|
package/array/index.js
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getCurrentIndex = getCurrentIndex;
|
|
9
|
+
exports.getIndexItems = getIndexItems;
|
|
10
|
+
exports.getIndexItemsWithSelected = getIndexItemsWithSelected;
|
|
11
|
+
exports.getItemsDefaultSelected = getItemsDefaultSelected;
|
|
12
|
+
exports.getItemsRandomSelected = getItemsRandomSelected;
|
|
13
|
+
exports.getRandomItemFromArray = getRandomItemFromArray;
|
|
14
|
+
exports.getRange = getRange;
|
|
15
|
+
exports.getSelectedItem = getSelectedItem;
|
|
16
|
+
exports.getSelectedItemText = getSelectedItemText;
|
|
17
|
+
|
|
18
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
+
|
|
20
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _excluded = ["id", "name"],
|
|
25
|
+
_excluded2 = ["id", "name"],
|
|
26
|
+
_excluded3 = ["id", "name"],
|
|
27
|
+
_excluded4 = ["id", "name"];
|
|
28
|
+
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
30
|
+
|
|
31
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
32
|
+
|
|
33
|
+
function getCurrentIndex(indexItems) {
|
|
34
|
+
var _indexItems$filter$0$, _indexItems$filter$;
|
|
35
|
+
|
|
36
|
+
return (_indexItems$filter$0$ = indexItems === null || indexItems === void 0 ? void 0 : (_indexItems$filter$ = indexItems.filter(function (indexItem) {
|
|
37
|
+
return indexItem.isCurrent;
|
|
38
|
+
})[0]) === null || _indexItems$filter$ === void 0 ? void 0 : _indexItems$filter$.index) !== null && _indexItems$filter$0$ !== void 0 ? _indexItems$filter$0$ : -1;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function getIndexItems(items) {
|
|
42
|
+
var _items$map;
|
|
43
|
+
|
|
44
|
+
return (_items$map = items === null || items === void 0 ? void 0 : items.map(function (item, index) {
|
|
45
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
46
|
+
index: index
|
|
47
|
+
});
|
|
48
|
+
})) !== null && _items$map !== void 0 ? _items$map : [];
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
function getIndexItemsWithSelected(indexItems, selectedItem) {
|
|
52
|
+
var _indexItems$map;
|
|
53
|
+
|
|
54
|
+
return (_indexItems$map = indexItems === null || indexItems === void 0 ? void 0 : indexItems.map(function (indexItem) {
|
|
55
|
+
return _objectSpread(_objectSpread({}, indexItem), {}, {
|
|
56
|
+
isSelected: indexItem.index === selectedItem.index
|
|
57
|
+
});
|
|
58
|
+
})) !== null && _indexItems$map !== void 0 ? _indexItems$map : [];
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function getRandomItemFromArray(array) {
|
|
62
|
+
return array === null || array === void 0 ? void 0 : array[Math.floor(Math.random() * (array === null || array === void 0 ? void 0 : array.length))]; // eslint-disable-line no-unsafe-optional-chaining
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function getRange(_ref) {
|
|
66
|
+
var range = _ref.range,
|
|
67
|
+
_ref$indexSeed = _ref.indexSeed,
|
|
68
|
+
indexSeed = _ref$indexSeed === void 0 ? 0 : _ref$indexSeed,
|
|
69
|
+
_ref$valueSeed = _ref.valueSeed,
|
|
70
|
+
valueSeed = _ref$valueSeed === void 0 ? 0 : _ref$valueSeed;
|
|
71
|
+
return Array(range).fill().map(function (_, index) {
|
|
72
|
+
return valueSeed + index + indexSeed;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function getSelectedItem(_ref2) {
|
|
77
|
+
var items = _ref2.items;
|
|
78
|
+
return items === null || items === void 0 ? void 0 : items.find(function (_ref3) {
|
|
79
|
+
var isSelected = _ref3.isSelected;
|
|
80
|
+
return isSelected === true;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function getSelectedItemText(_ref4) {
|
|
85
|
+
var _items$find;
|
|
86
|
+
|
|
87
|
+
var items = _ref4.items;
|
|
88
|
+
return items === null || items === void 0 ? void 0 : (_items$find = items.find(function (_ref5) {
|
|
89
|
+
var isSelected = _ref5.isSelected;
|
|
90
|
+
return isSelected === true;
|
|
91
|
+
})) === null || _items$find === void 0 ? void 0 : _items$find.text;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function getItemsDefaultSelected(_ref6) {
|
|
95
|
+
var defaultItems = _ref6.defaultItems,
|
|
96
|
+
items = _ref6.items;
|
|
97
|
+
var result;
|
|
98
|
+
|
|
99
|
+
if (defaultItems && items) {
|
|
100
|
+
result = [].concat((0, _toConsumableArray2["default"])(defaultItems === null || defaultItems === void 0 ? void 0 : defaultItems.map(function (_ref7) {
|
|
101
|
+
var id = _ref7.id,
|
|
102
|
+
name = _ref7.name,
|
|
103
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref7, _excluded);
|
|
104
|
+
return _objectSpread({
|
|
105
|
+
id: id,
|
|
106
|
+
href: '#url',
|
|
107
|
+
text: name,
|
|
108
|
+
isSelected: name === defaultItems[0].name
|
|
109
|
+
}, rest);
|
|
110
|
+
})), (0, _toConsumableArray2["default"])(items === null || items === void 0 ? void 0 : items.map(function (_ref8) {
|
|
111
|
+
var id = _ref8.id,
|
|
112
|
+
name = _ref8.name,
|
|
113
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref8, _excluded2);
|
|
114
|
+
return _objectSpread({
|
|
115
|
+
id: id,
|
|
116
|
+
href: '#url',
|
|
117
|
+
text: name,
|
|
118
|
+
isSelected: name === items[0].name
|
|
119
|
+
}, rest);
|
|
120
|
+
})));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (defaultItems && !items) {
|
|
124
|
+
result = null;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
if (!defaultItems && items) {
|
|
128
|
+
result = items === null || items === void 0 ? void 0 : items.map(function (_ref9) {
|
|
129
|
+
var id = _ref9.id,
|
|
130
|
+
name = _ref9.name,
|
|
131
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref9, _excluded3);
|
|
132
|
+
return _objectSpread({
|
|
133
|
+
id: id,
|
|
134
|
+
href: '#url',
|
|
135
|
+
text: name,
|
|
136
|
+
isSelected: name === items[0].name
|
|
137
|
+
}, rest);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
if (!defaultItems && !items) {
|
|
142
|
+
result = null;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return result;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
function getItemsRandomSelected(_ref10) {
|
|
149
|
+
var items = _ref10.items;
|
|
150
|
+
var randomItem = getRandomItemFromArray(items === null || items === void 0 ? void 0 : items.map(function (_ref11) {
|
|
151
|
+
var name = _ref11.name;
|
|
152
|
+
return name;
|
|
153
|
+
}));
|
|
154
|
+
return items.map(function (_ref12) {
|
|
155
|
+
var id = _ref12.id,
|
|
156
|
+
name = _ref12.name,
|
|
157
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref12, _excluded4);
|
|
158
|
+
return _objectSpread({
|
|
159
|
+
id: id,
|
|
160
|
+
href: '#url',
|
|
161
|
+
text: name,
|
|
162
|
+
isSelected: name === randomItem
|
|
163
|
+
}, rest);
|
|
164
|
+
});
|
|
165
|
+
}
|
package/auth/index.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.NotAuthorized = NotAuthorized;
|
|
9
|
+
exports.isUserAuthenticatedPapillonBitsOrganizationMember = isUserAuthenticatedPapillonBitsOrganizationMember;
|
|
10
|
+
|
|
11
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
12
|
+
|
|
13
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
14
|
+
|
|
15
|
+
var _rest = require("@octokit/rest");
|
|
16
|
+
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
|
|
19
|
+
function NotAuthorized() {
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("h1", {
|
|
21
|
+
children: "You are not authorized to proceed!"
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function isUserAuthenticatedPapillonBitsOrganizationMember(_x) {
|
|
26
|
+
return _isUserAuthenticatedPapillonBitsOrganizationMember.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function _isUserAuthenticatedPapillonBitsOrganizationMember() {
|
|
30
|
+
_isUserAuthenticatedPapillonBitsOrganizationMember = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(personalAccessToken) {
|
|
31
|
+
var collectedAccessToken, octokit, _yield$octokit$reques, data, isActivePapillonBitsMember;
|
|
32
|
+
|
|
33
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
34
|
+
while (1) {
|
|
35
|
+
switch (_context.prev = _context.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
collectedAccessToken = personalAccessToken;
|
|
38
|
+
|
|
39
|
+
if (!collectedAccessToken) {
|
|
40
|
+
collectedAccessToken = window.prompt('Please authenticate with your personal token'); // eslint-disable-line
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (collectedAccessToken) {
|
|
44
|
+
_context.next = 4;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return _context.abrupt("return", null);
|
|
49
|
+
|
|
50
|
+
case 4:
|
|
51
|
+
octokit = new _rest.Octokit({
|
|
52
|
+
auth: collectedAccessToken
|
|
53
|
+
});
|
|
54
|
+
_context.prev = 5;
|
|
55
|
+
_context.next = 8;
|
|
56
|
+
return octokit.request('GET /user/memberships/orgs');
|
|
57
|
+
|
|
58
|
+
case 8:
|
|
59
|
+
_yield$octokit$reques = _context.sent;
|
|
60
|
+
data = _yield$octokit$reques.data;
|
|
61
|
+
isActivePapillonBitsMember = data.filter(function (membership) {
|
|
62
|
+
return membership.organization.login === 'papillonbits' && membership.organization_url === 'https://api.github.com/orgs/papillonbits' && membership.role === 'admin' && membership.state === 'active';
|
|
63
|
+
}).length > 0;
|
|
64
|
+
return _context.abrupt("return", isActivePapillonBitsMember);
|
|
65
|
+
|
|
66
|
+
case 14:
|
|
67
|
+
_context.prev = 14;
|
|
68
|
+
_context.t0 = _context["catch"](5);
|
|
69
|
+
return _context.abrupt("return", false);
|
|
70
|
+
|
|
71
|
+
case 17:
|
|
72
|
+
case "end":
|
|
73
|
+
return _context.stop();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}, _callee, null, [[5, 14]]);
|
|
77
|
+
}));
|
|
78
|
+
return _isUserAuthenticatedPapillonBitsOrganizationMember.apply(this, arguments);
|
|
79
|
+
}
|
package/boolean/index.js
ADDED
package/browser/index.js
ADDED
package/date/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getLocaleDateTimeString = getLocaleDateTimeString;
|
|
7
|
+
exports.getRandomDate = getRandomDate;
|
|
8
|
+
|
|
9
|
+
function getLocaleDateTimeString(date) {
|
|
10
|
+
return date ? "".concat(date.toLocaleDateString(), " ").concat(date.toLocaleTimeString()) : null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function getRandomDate() {
|
|
14
|
+
var start = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(2013, 1, 1);
|
|
15
|
+
var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date();
|
|
16
|
+
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
|
|
17
|
+
}
|
package/event/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.throttle = throttle;
|
|
7
|
+
|
|
8
|
+
function throttle(fn) {
|
|
9
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200;
|
|
10
|
+
var lastCall = 0;
|
|
11
|
+
|
|
12
|
+
var throttleExec = function throttleExec() {
|
|
13
|
+
var now = new Date().getTime();
|
|
14
|
+
|
|
15
|
+
if (now - lastCall < delay) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
lastCall = now;
|
|
20
|
+
return fn.apply(void 0, arguments); // eslint-disable-line
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return throttleExec;
|
|
24
|
+
}
|
package/hooks/index.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useEffect", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _react.useEffect;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useMemo", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _react.useMemo;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "useReducer", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _react.useReducer;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "useRef", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _react.useRef;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "useState", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _react.useState;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
var _react = require("react");
|
package/number/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRandomDecimal = getRandomDecimal;
|
|
7
|
+
exports.getRandomInteger = getRandomInteger;
|
|
8
|
+
|
|
9
|
+
function getRandomDecimal(_ref) {
|
|
10
|
+
var _ref$min = _ref.min,
|
|
11
|
+
min = _ref$min === void 0 ? 0 : _ref$min,
|
|
12
|
+
max = _ref.max,
|
|
13
|
+
_ref$decimal = _ref.decimal,
|
|
14
|
+
decimal = _ref$decimal === void 0 ? 2 : _ref$decimal;
|
|
15
|
+
var factor = Math.pow(10, decimal);
|
|
16
|
+
var maxFactor = max * factor;
|
|
17
|
+
var minFactor = min * factor;
|
|
18
|
+
return parseFloat((Math.floor(Math.random() * (maxFactor - minFactor) + minFactor) / factor).toFixed(decimal));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getRandomInteger(_ref2) {
|
|
22
|
+
var _ref2$min = _ref2.min,
|
|
23
|
+
min = _ref2$min === void 0 ? 0 : _ref2$min,
|
|
24
|
+
max = _ref2.max;
|
|
25
|
+
return Math.floor(Math.random() * (max - min) + min);
|
|
26
|
+
}
|
package/object/index.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.deepCloneObject = deepCloneObject;
|
|
9
|
+
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
|
|
12
|
+
function deepCloneObject(obj) {
|
|
13
|
+
if ((0, _typeof2["default"])(obj) !== 'object') {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return JSON.parse(JSON.stringify(obj));
|
|
18
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@papillonbits/library",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Papillon Bits Library",
|
|
5
|
+
"homepage": "https://github.com/papillonbits/papillonbits/tree/master/packages/library",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/papillonbits/papillonbits.git",
|
|
9
|
+
"directory": "packages/library"
|
|
10
|
+
},
|
|
11
|
+
"main": "build/index.js",
|
|
12
|
+
"module": "src/index.js",
|
|
13
|
+
"files": [
|
|
14
|
+
"a11y/",
|
|
15
|
+
"array/",
|
|
16
|
+
"auth/",
|
|
17
|
+
"boolean/",
|
|
18
|
+
"browser/",
|
|
19
|
+
"date/",
|
|
20
|
+
"event/",
|
|
21
|
+
"hooks/",
|
|
22
|
+
"number/",
|
|
23
|
+
"object/",
|
|
24
|
+
"pagination/",
|
|
25
|
+
"sort/",
|
|
26
|
+
"store/",
|
|
27
|
+
"string/",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"clean-up": "rm -rf build node_modules package-lock.json",
|
|
32
|
+
"install-packages": "npm install",
|
|
33
|
+
"install-papillonbits-latest": "echo \"library skipping install-papillonbits-latest\" && exit 0",
|
|
34
|
+
"build": "rm -rf build && babel --copy-files --no-copy-ignored --out-dir build src --ignore **/__tests__",
|
|
35
|
+
"build-test": "npm run build",
|
|
36
|
+
"build-acceptance": "npm run build",
|
|
37
|
+
"build-release": "npm run build"
|
|
38
|
+
},
|
|
39
|
+
"gitHead": "f169f2b2002fd1767495c4779e9a28ca5dd53f8c"
|
|
40
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getPagination = getPagination;
|
|
9
|
+
exports.paginate = paginate;
|
|
10
|
+
exports.paginationActionTypes = void 0;
|
|
11
|
+
exports.setNewIndexItemsOnMove = setNewIndexItemsOnMove;
|
|
12
|
+
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
|
|
15
|
+
var _array = require("../array");
|
|
16
|
+
|
|
17
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
18
|
+
|
|
19
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
20
|
+
|
|
21
|
+
var paginationActionTypes = {
|
|
22
|
+
onChange: 'onChange',
|
|
23
|
+
onBackwards: 'onBackwards',
|
|
24
|
+
onForward: 'onForward'
|
|
25
|
+
};
|
|
26
|
+
exports.paginationActionTypes = paginationActionTypes;
|
|
27
|
+
|
|
28
|
+
function getPagination(_ref) {
|
|
29
|
+
var searchObjects = _ref.searchObjects,
|
|
30
|
+
regularObjects = _ref.regularObjects,
|
|
31
|
+
pagination = _ref.pagination,
|
|
32
|
+
resetPageNumber = _ref.resetPageNumber;
|
|
33
|
+
var newPageCount;
|
|
34
|
+
var newPageNumber;
|
|
35
|
+
|
|
36
|
+
if (searchObjects) {
|
|
37
|
+
newPageCount = Math.ceil(searchObjects.length / pagination.pageSize);
|
|
38
|
+
newPageNumber = 1;
|
|
39
|
+
} else {
|
|
40
|
+
newPageCount = Math.ceil(regularObjects.length / pagination.pageSize);
|
|
41
|
+
|
|
42
|
+
if (resetPageNumber) {
|
|
43
|
+
newPageNumber = 1;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
newPageNumber = pagination.pageNumber > newPageCount && newPageCount > 0 ? newPageCount : pagination.pageNumber;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
var items = (0, _array.getRange)({
|
|
50
|
+
range: newPageCount
|
|
51
|
+
}).map(function (_, index) {
|
|
52
|
+
return {
|
|
53
|
+
isCurrent: index === newPageNumber - 1
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
return _objectSpread(_objectSpread({}, pagination), {}, {
|
|
57
|
+
pageNumber: newPageNumber,
|
|
58
|
+
currentPage: {
|
|
59
|
+
indexItems: (0, _array.getIndexItems)(items),
|
|
60
|
+
currentIndex: (0, _array.getCurrentIndex)((0, _array.getIndexItems)(items)),
|
|
61
|
+
canMoveBackwards: (0, _array.getCurrentIndex)((0, _array.getIndexItems)(items)) > 0,
|
|
62
|
+
canMoveForward: (0, _array.getCurrentIndex)((0, _array.getIndexItems)(items)) < (0, _array.getIndexItems)(items).length - 1
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function paginate(_ref2) {
|
|
68
|
+
var array = _ref2.array,
|
|
69
|
+
pageSize = _ref2.pageSize,
|
|
70
|
+
pageNumber = _ref2.pageNumber;
|
|
71
|
+
return array.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function setNewIndexItemsOnMove(_ref3) {
|
|
75
|
+
var onBackwards = _ref3.onBackwards,
|
|
76
|
+
onForward = _ref3.onForward,
|
|
77
|
+
currentPage = _ref3.currentPage;
|
|
78
|
+
var indexItems = currentPage.indexItems,
|
|
79
|
+
currentIndex = currentPage.currentIndex,
|
|
80
|
+
canMoveBackwards = currentPage.canMoveBackwards,
|
|
81
|
+
canMoveForward = currentPage.canMoveForward;
|
|
82
|
+
return indexItems.map(function (_ref4) {
|
|
83
|
+
var isCurrent = _ref4.isCurrent,
|
|
84
|
+
index = _ref4.index;
|
|
85
|
+
var newIsCurrent;
|
|
86
|
+
|
|
87
|
+
if ((onBackwards && canMoveBackwards || onForward && canMoveForward) && index === currentIndex) {
|
|
88
|
+
newIsCurrent = false;
|
|
89
|
+
} else if (onBackwards && canMoveBackwards && index === currentIndex - 1) {
|
|
90
|
+
newIsCurrent = true;
|
|
91
|
+
} else if (onForward && canMoveForward && index === currentIndex + 1) {
|
|
92
|
+
newIsCurrent = true;
|
|
93
|
+
} else {
|
|
94
|
+
newIsCurrent = isCurrent;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return {
|
|
98
|
+
isCurrent: newIsCurrent,
|
|
99
|
+
index: index
|
|
100
|
+
};
|
|
101
|
+
});
|
|
102
|
+
}
|
package/sort/index.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getSort = getSort;
|
|
9
|
+
exports.sortDefault = void 0;
|
|
10
|
+
exports.sortObjects = sortObjects;
|
|
11
|
+
exports.sortOrder = void 0;
|
|
12
|
+
|
|
13
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
14
|
+
|
|
15
|
+
var sortOrder = {
|
|
16
|
+
ascending: 'ascending',
|
|
17
|
+
descending: 'descending'
|
|
18
|
+
};
|
|
19
|
+
exports.sortOrder = sortOrder;
|
|
20
|
+
var sortDefault = {
|
|
21
|
+
index: 0,
|
|
22
|
+
value: 'id',
|
|
23
|
+
order: sortOrder.ascending
|
|
24
|
+
};
|
|
25
|
+
exports.sortDefault = sortDefault;
|
|
26
|
+
|
|
27
|
+
function getSort(_ref) {
|
|
28
|
+
var currentSort = _ref.currentSort,
|
|
29
|
+
newSort = _ref.newSort;
|
|
30
|
+
return {
|
|
31
|
+
index: newSort.index,
|
|
32
|
+
value: newSort.value,
|
|
33
|
+
order: function () {
|
|
34
|
+
if (currentSort === sortDefault) {
|
|
35
|
+
return sortDefault.order;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (currentSort.index === newSort.index) {
|
|
39
|
+
return currentSort.order === sortOrder.ascending ? sortOrder.descending : sortOrder.ascending;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return sortDefault.order;
|
|
43
|
+
}()
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function sortObjects(_ref2) {
|
|
48
|
+
var sort = _ref2.sort,
|
|
49
|
+
objects = _ref2.objects;
|
|
50
|
+
|
|
51
|
+
if (!objects) {
|
|
52
|
+
return objects;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (sort.order === sortOrder.ascending) {
|
|
56
|
+
return objects.sort(function (a, b) {
|
|
57
|
+
var _a$sort$value2, _a$sort$value2$value, _b$sort$value2, _b$sort$value2$value, _a$sort$value3, _b$sort$value3;
|
|
58
|
+
|
|
59
|
+
switch ((0, _typeof2["default"])(a === null || a === void 0 ? void 0 : a[sort.value])) {
|
|
60
|
+
case 'object':
|
|
61
|
+
if ((a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Object && (a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Date) {
|
|
62
|
+
return (a === null || a === void 0 ? void 0 : a[sort.value]) > (b === null || b === void 0 ? void 0 : b[sort.value]) ? 1 : -1;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if ((a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Object && (a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Array) {
|
|
66
|
+
var _a$sort$value, _a$sort$value$find, _a$sort$value$find$te, _b$sort$value, _b$sort$value$find, _b$sort$value$find$te;
|
|
67
|
+
|
|
68
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value = a[sort.value]) === null || _a$sort$value === void 0 ? void 0 : (_a$sort$value$find = _a$sort$value.find(function (item) {
|
|
69
|
+
return item.isSelected === true;
|
|
70
|
+
})) === null || _a$sort$value$find === void 0 ? void 0 : (_a$sort$value$find$te = _a$sort$value$find.text) === null || _a$sort$value$find$te === void 0 ? void 0 : _a$sort$value$find$te.toLowerCase()) > (b === null || b === void 0 ? void 0 : (_b$sort$value = b[sort.value]) === null || _b$sort$value === void 0 ? void 0 : (_b$sort$value$find = _b$sort$value.find(function (item) {
|
|
71
|
+
return item.isSelected === true;
|
|
72
|
+
})) === null || _b$sort$value$find === void 0 ? void 0 : (_b$sort$value$find$te = _b$sort$value$find.text) === null || _b$sort$value$find$te === void 0 ? void 0 : _b$sort$value$find$te.toLowerCase()) ? 1 : -1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value2 = a[sort.value]) === null || _a$sort$value2 === void 0 ? void 0 : (_a$sort$value2$value = _a$sort$value2.value) === null || _a$sort$value2$value === void 0 ? void 0 : _a$sort$value2$value.toLowerCase()) > (b === null || b === void 0 ? void 0 : (_b$sort$value2 = b[sort.value]) === null || _b$sort$value2 === void 0 ? void 0 : (_b$sort$value2$value = _b$sort$value2.value) === null || _b$sort$value2$value === void 0 ? void 0 : _b$sort$value2$value.toLowerCase()) ? 1 : -1;
|
|
76
|
+
|
|
77
|
+
case 'string':
|
|
78
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value3 = a[sort.value]) === null || _a$sort$value3 === void 0 ? void 0 : _a$sort$value3.toLowerCase()) > (b === null || b === void 0 ? void 0 : (_b$sort$value3 = b[sort.value]) === null || _b$sort$value3 === void 0 ? void 0 : _b$sort$value3.toLowerCase()) ? 1 : -1;
|
|
79
|
+
|
|
80
|
+
case 'number':
|
|
81
|
+
return (a === null || a === void 0 ? void 0 : a[sort.value]) > (b === null || b === void 0 ? void 0 : b[sort.value]) ? 1 : -1;
|
|
82
|
+
|
|
83
|
+
default:
|
|
84
|
+
return -1;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return objects.sort(function (a, b) {
|
|
90
|
+
var _a$sort$value5, _a$sort$value5$value, _b$sort$value5, _b$sort$value5$value, _a$sort$value6, _b$sort$value6;
|
|
91
|
+
|
|
92
|
+
switch ((0, _typeof2["default"])(a === null || a === void 0 ? void 0 : a[sort.value])) {
|
|
93
|
+
case 'object':
|
|
94
|
+
if ((a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Object && (a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Date) {
|
|
95
|
+
return (a === null || a === void 0 ? void 0 : a[sort.value]) < (b === null || b === void 0 ? void 0 : b[sort.value]) ? 1 : -1;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if ((a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Object && (a === null || a === void 0 ? void 0 : a[sort.value]) instanceof Array) {
|
|
99
|
+
var _a$sort$value4, _a$sort$value4$find, _a$sort$value4$find$t, _b$sort$value4, _b$sort$value4$find, _b$sort$value4$find$t;
|
|
100
|
+
|
|
101
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value4 = a[sort.value]) === null || _a$sort$value4 === void 0 ? void 0 : (_a$sort$value4$find = _a$sort$value4.find(function (item) {
|
|
102
|
+
return item.isSelected === true;
|
|
103
|
+
})) === null || _a$sort$value4$find === void 0 ? void 0 : (_a$sort$value4$find$t = _a$sort$value4$find.text) === null || _a$sort$value4$find$t === void 0 ? void 0 : _a$sort$value4$find$t.toLowerCase()) < (b === null || b === void 0 ? void 0 : (_b$sort$value4 = b[sort.value]) === null || _b$sort$value4 === void 0 ? void 0 : (_b$sort$value4$find = _b$sort$value4.find(function (item) {
|
|
104
|
+
return item.isSelected === true;
|
|
105
|
+
})) === null || _b$sort$value4$find === void 0 ? void 0 : (_b$sort$value4$find$t = _b$sort$value4$find.text) === null || _b$sort$value4$find$t === void 0 ? void 0 : _b$sort$value4$find$t.toLowerCase()) ? 1 : -1;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value5 = a[sort.value]) === null || _a$sort$value5 === void 0 ? void 0 : (_a$sort$value5$value = _a$sort$value5.value) === null || _a$sort$value5$value === void 0 ? void 0 : _a$sort$value5$value.toLowerCase()) < (b === null || b === void 0 ? void 0 : (_b$sort$value5 = b[sort.value]) === null || _b$sort$value5 === void 0 ? void 0 : (_b$sort$value5$value = _b$sort$value5.value) === null || _b$sort$value5$value === void 0 ? void 0 : _b$sort$value5$value.toLowerCase()) ? 1 : -1;
|
|
109
|
+
|
|
110
|
+
case 'string':
|
|
111
|
+
return (a === null || a === void 0 ? void 0 : (_a$sort$value6 = a[sort.value]) === null || _a$sort$value6 === void 0 ? void 0 : _a$sort$value6.toLowerCase()) < (b === null || b === void 0 ? void 0 : (_b$sort$value6 = b[sort.value]) === null || _b$sort$value6 === void 0 ? void 0 : _b$sort$value6.toLowerCase()) ? 1 : -1;
|
|
112
|
+
|
|
113
|
+
case 'number':
|
|
114
|
+
return (a === null || a === void 0 ? void 0 : a[sort.value]) < (b === null || b === void 0 ? void 0 : b[sort.value]) ? 1 : -1;
|
|
115
|
+
|
|
116
|
+
default:
|
|
117
|
+
return -1;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
package/store/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "getAppMockStore", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _mock.getAppMockStore;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _mock = require("./mock");
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getAppMockStore = getAppMockStore;
|
|
9
|
+
|
|
10
|
+
var _reduxMockStore = _interopRequireDefault(require("redux-mock-store"));
|
|
11
|
+
|
|
12
|
+
var _reduxThunk = _interopRequireDefault(require("redux-thunk"));
|
|
13
|
+
|
|
14
|
+
function getAppMockStore(customAppState) {
|
|
15
|
+
return (0, _reduxMockStore["default"])([_reduxThunk["default"]])(customAppState);
|
|
16
|
+
}
|
package/string/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getCapizalizedString = getCapizalizedString;
|
|
7
|
+
exports.getRandomAlphaNumericString = getRandomAlphaNumericString;
|
|
8
|
+
exports.getRandomAlphaNumericStringByLength = getRandomAlphaNumericStringByLength;
|
|
9
|
+
|
|
10
|
+
function getCapizalizedString(_ref) {
|
|
11
|
+
var string = _ref.string,
|
|
12
|
+
_ref$separator = _ref.separator,
|
|
13
|
+
separator = _ref$separator === void 0 ? '-' : _ref$separator;
|
|
14
|
+
var splitted = string.split(separator);
|
|
15
|
+
var capitalized = splitted.map(function (splittedItem) {
|
|
16
|
+
return "".concat(splittedItem.charAt(0).toUpperCase()).concat(splittedItem.slice(1));
|
|
17
|
+
});
|
|
18
|
+
return capitalized.join(' ');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function getRandomAlphaNumericString() {
|
|
22
|
+
return Math.random().toString(36).slice(2);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function getRandomAlphaNumericStringByLength(_ref2) {
|
|
26
|
+
var length = _ref2.length;
|
|
27
|
+
var randomAlphaNumericString = '';
|
|
28
|
+
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
29
|
+
|
|
30
|
+
for (var i = 0; i < length; i += 1) {
|
|
31
|
+
randomAlphaNumericString += characters.charAt(Math.floor(Math.random() * characters.length));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return randomAlphaNumericString !== '' ? randomAlphaNumericString : getRandomAlphaNumericString();
|
|
35
|
+
}
|