@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 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
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getRandomBoolean = getRandomBoolean;
7
+
8
+ function getRandomBoolean() {
9
+ return Math.random() >= 0.5;
10
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isBrowser = void 0;
7
+ var isBrowser = typeof window !== 'undefined';
8
+ exports.isBrowser = isBrowser;
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");
@@ -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
+ }
@@ -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
+ }
@@ -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
+ }