@bigbinary/neeto-commons-frontend 1.0.10 → 2.0.2
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/README.md +41 -9
- package/initializers.cjs.js +441 -0
- package/initializers.d.ts +59 -0
- package/initializers.js +168 -604
- package/package.json +25 -6
- package/pure.cjs.js +392 -0
- package/pure.d.ts +182 -0
- package/pure.js +347 -0
- package/{react.js → react-utils.cjs.js} +5 -4
- package/react-utils.d.ts +87 -0
- package/react-utils.js +1221 -0
- package/utils.cjs.js +628 -0
- package/utils.d.ts +41 -0
- package/utils.js +51 -373
package/pure.js
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { concat, slice, curry, isNil, complement, findLast, findLastIndex, count, fromPairs, toPairs, path, isEmpty, equals } from 'ramda';
|
|
2
|
+
|
|
3
|
+
function _arrayWithHoles(arr) {
|
|
4
|
+
if (Array.isArray(arr)) return arr;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function _iterableToArrayLimit(arr, i) {
|
|
8
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
9
|
+
|
|
10
|
+
if (_i == null) return;
|
|
11
|
+
var _arr = [];
|
|
12
|
+
var _n = true;
|
|
13
|
+
var _d = false;
|
|
14
|
+
|
|
15
|
+
var _s, _e;
|
|
16
|
+
|
|
17
|
+
try {
|
|
18
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
19
|
+
_arr.push(_s.value);
|
|
20
|
+
|
|
21
|
+
if (i && _arr.length === i) break;
|
|
22
|
+
}
|
|
23
|
+
} catch (err) {
|
|
24
|
+
_d = true;
|
|
25
|
+
_e = err;
|
|
26
|
+
} finally {
|
|
27
|
+
try {
|
|
28
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
29
|
+
} finally {
|
|
30
|
+
if (_d) throw _e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return _arr;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function _arrayLikeToArray(arr, len) {
|
|
38
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
39
|
+
|
|
40
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
41
|
+
arr2[i] = arr[i];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return arr2;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
48
|
+
if (!o) return;
|
|
49
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
50
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
51
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
52
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
53
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _nonIterableRest() {
|
|
57
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _slicedToArray(arr, i) {
|
|
61
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function _typeof(obj) {
|
|
65
|
+
"@babel/helpers - typeof";
|
|
66
|
+
|
|
67
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
68
|
+
return typeof obj;
|
|
69
|
+
} : function (obj) {
|
|
70
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
71
|
+
}, _typeof(obj);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
var slugify = function slugify(string) {
|
|
75
|
+
return string.toString().toLowerCase().replace(/\s+/g, "-") // Replace spaces with -
|
|
76
|
+
.replace(/&/g, "-and-") // Replace & with 'and'
|
|
77
|
+
.replace(/[^\w-]+/g, "") // Remove all non-word characters
|
|
78
|
+
.replace(/--+/g, "-") // Replace multiple - with single -
|
|
79
|
+
.replace(/^-+/, "") // Trim - from start of text
|
|
80
|
+
.replace(/-+$/, "");
|
|
81
|
+
}; // Trim - from end of text
|
|
82
|
+
|
|
83
|
+
var humanize = function humanize(string) {
|
|
84
|
+
string = string.replace(/[_-]+/g, " ").replace(/\s{2,}/g, " ").replace(/([a-z\d])([A-Z])/g, "$1" + " " + "$2").replace(/([A-Z]+)([A-Z][a-z\d]+)/g, "$1" + " " + "$2").toLowerCase().trim();
|
|
85
|
+
string = string.charAt(0).toUpperCase() + string.slice(1);
|
|
86
|
+
return string;
|
|
87
|
+
};
|
|
88
|
+
var snakeToCamelCase = function snakeToCamelCase(string) {
|
|
89
|
+
return string.replace(/(_\w)/g, function (letter) {
|
|
90
|
+
return letter[1].toUpperCase();
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
var camelToSnakeCase = function camelToSnakeCase(string) {
|
|
94
|
+
return string.replace(/[A-Z]/g, function (letter) {
|
|
95
|
+
return "_".concat(letter.toLowerCase());
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
var capitalize = function capitalize(string) {
|
|
99
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
100
|
+
};
|
|
101
|
+
var truncate = function truncate(string, length) {
|
|
102
|
+
return string.length > length ? concat(slice(0, length, string), "...") : string;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var transformObjectDeep = function transformObjectDeep(object, keyValueTransformer) {
|
|
106
|
+
if (Array.isArray(object)) {
|
|
107
|
+
return object.map(function (obj) {
|
|
108
|
+
return transformObjectDeep(obj, keyValueTransformer);
|
|
109
|
+
});
|
|
110
|
+
} else if (object === null || _typeof(object) !== "object") {
|
|
111
|
+
return object;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return Object.fromEntries(Object.entries(object).map(function (_ref) {
|
|
115
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
116
|
+
key = _ref2[0],
|
|
117
|
+
value = _ref2[1];
|
|
118
|
+
|
|
119
|
+
return keyValueTransformer(key, transformObjectDeep(value, keyValueTransformer));
|
|
120
|
+
}));
|
|
121
|
+
};
|
|
122
|
+
var keysToCamelCase = function keysToCamelCase(object) {
|
|
123
|
+
return transformObjectDeep(object, function (key, value) {
|
|
124
|
+
return [snakeToCamelCase(key), value];
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
var keysToSnakeCase = function keysToSnakeCase(object) {
|
|
128
|
+
return transformObjectDeep(object, function (key, value) {
|
|
129
|
+
return [camelToSnakeCase(key), value];
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
var deepFreezeObject = function deepFreezeObject(object) {
|
|
133
|
+
if (object && _typeof(object) === "object" && !Object.isFrozen(object)) {
|
|
134
|
+
Object.keys(object).forEach(function (property) {
|
|
135
|
+
return deepFreezeObject(object[property]);
|
|
136
|
+
});
|
|
137
|
+
Object.freeze(object);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return object;
|
|
141
|
+
};
|
|
142
|
+
var matches = curry(function (pattern, object) {
|
|
143
|
+
var __parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
|
|
144
|
+
|
|
145
|
+
if (object === pattern) return true;
|
|
146
|
+
if (typeof pattern === "function" && pattern(object, __parent)) return true;
|
|
147
|
+
if (isNil(pattern) || isNil(object)) return false;
|
|
148
|
+
if (_typeof(pattern) !== "object") return false;
|
|
149
|
+
return Object.entries(pattern).every(function (_ref3) {
|
|
150
|
+
var _ref4 = _slicedToArray(_ref3, 2),
|
|
151
|
+
key = _ref4[0],
|
|
152
|
+
value = _ref4[1];
|
|
153
|
+
|
|
154
|
+
return matches(value, object[key], __parent);
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
var filterNonNull = function filterNonNull(object) {
|
|
158
|
+
return Object.fromEntries(Object.entries(object).filter(function (_ref5) {
|
|
159
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
|
160
|
+
v = _ref6[1];
|
|
161
|
+
|
|
162
|
+
return !isNil(v);
|
|
163
|
+
}).map(function (_ref7) {
|
|
164
|
+
var _ref8 = _slicedToArray(_ref7, 2),
|
|
165
|
+
k = _ref8[0],
|
|
166
|
+
v = _ref8[1];
|
|
167
|
+
|
|
168
|
+
return [k, _typeof(v) === "object" && !Array.isArray(v) ? filterNonNull(v) : v];
|
|
169
|
+
}));
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
function _defineProperty(obj, key, value) {
|
|
173
|
+
if (key in obj) {
|
|
174
|
+
Object.defineProperty(obj, key, {
|
|
175
|
+
value: value,
|
|
176
|
+
enumerable: true,
|
|
177
|
+
configurable: true,
|
|
178
|
+
writable: true
|
|
179
|
+
});
|
|
180
|
+
} else {
|
|
181
|
+
obj[key] = value;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return obj;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
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; }
|
|
188
|
+
|
|
189
|
+
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) { _defineProperty(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; }
|
|
190
|
+
var removeById = curry(function (id, array) {
|
|
191
|
+
return array.filter(function (item) {
|
|
192
|
+
return item.id !== id;
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
var findById = curry(function (id, array) {
|
|
196
|
+
return array.find(function (item) {
|
|
197
|
+
return item.id === id;
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
var replaceById = curry(function (id, newItem, array) {
|
|
201
|
+
return array.map(function (item) {
|
|
202
|
+
return item.id === id ? newItem : item;
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
var modifyById = curry(function (id, modifier, array) {
|
|
206
|
+
return array.map(function (item) {
|
|
207
|
+
return item.id === id ? modifier(item) : item;
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
var findBy = curry(function (pattern, array) {
|
|
211
|
+
return array.find(matches(pattern));
|
|
212
|
+
});
|
|
213
|
+
var removeBy = curry(function (pattern, array) {
|
|
214
|
+
return array.filter(complement(matches(pattern)));
|
|
215
|
+
});
|
|
216
|
+
var replaceBy = curry(function (pattern, newItem, array) {
|
|
217
|
+
return array.map(function (item) {
|
|
218
|
+
return matches(pattern, item) ? newItem : item;
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
var modifyBy = curry(function (pattern, modifier, array) {
|
|
222
|
+
return array.map(function (item) {
|
|
223
|
+
return matches(pattern, item) ? modifier(item) : item;
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
var existsById = curry(function (id, array) {
|
|
227
|
+
return array.some(function (item) {
|
|
228
|
+
return item.id === id;
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
var existsBy = curry(function (pattern, array) {
|
|
232
|
+
return array.some(matches(pattern));
|
|
233
|
+
});
|
|
234
|
+
var findLastBy = curry(function (pattern, array) {
|
|
235
|
+
return findLast(matches(pattern), array);
|
|
236
|
+
});
|
|
237
|
+
var findIndexById = curry(function (id, array) {
|
|
238
|
+
return array.findIndex(function (item) {
|
|
239
|
+
return item.id === id;
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
var findIndexBy = curry(function (pattern, array) {
|
|
243
|
+
return array.findIndex(matches(pattern));
|
|
244
|
+
});
|
|
245
|
+
var findLastIndexBy = curry(function (pattern, array) {
|
|
246
|
+
return findLastIndex(matches(pattern), array);
|
|
247
|
+
});
|
|
248
|
+
var filterBy = curry(function (pattern, array) {
|
|
249
|
+
return array.filter(matches(pattern));
|
|
250
|
+
});
|
|
251
|
+
var countBy = curry(function (pattern, array) {
|
|
252
|
+
return count(matches(pattern), array);
|
|
253
|
+
});
|
|
254
|
+
var copyKeys = curry(function (keyMap, objectArray) {
|
|
255
|
+
return objectArray.map(function (object) {
|
|
256
|
+
var shallowCopy = _objectSpread({}, object);
|
|
257
|
+
|
|
258
|
+
for (var source in keyMap) {
|
|
259
|
+
shallowCopy[keyMap[source]] = object[source];
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return shallowCopy;
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
var renameKeys = curry(function (keyMap, objectArray) {
|
|
266
|
+
return objectArray.map(function (object) {
|
|
267
|
+
var shallowCopy = _objectSpread({}, object);
|
|
268
|
+
|
|
269
|
+
for (var source in keyMap) {
|
|
270
|
+
shallowCopy[keyMap[source]] = object[source];
|
|
271
|
+
delete shallowCopy[source];
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
return shallowCopy;
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
var copyKeysDeep = curry(function (keyMap, objectArray) {
|
|
278
|
+
var copyKeysSingleObject = function copyKeysSingleObject(object, keyMap) {
|
|
279
|
+
var root = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : object;
|
|
280
|
+
return _objectSpread(_objectSpread({}, object), fromPairs(toPairs(keyMap).map(function (_ref) {
|
|
281
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
282
|
+
destination = _ref2[0],
|
|
283
|
+
source = _ref2[1];
|
|
284
|
+
|
|
285
|
+
if (typeof source === "function") {
|
|
286
|
+
return [destination, source(object[destination], root)];
|
|
287
|
+
} else if (Array.isArray(source)) {
|
|
288
|
+
return [destination, path(source, root)];
|
|
289
|
+
} else if (_typeof(source) === "object") {
|
|
290
|
+
return [destination, copyKeysSingleObject(object[destination], source, root)];
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return [destination, object[source]];
|
|
294
|
+
})));
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
return objectArray.map(function (object) {
|
|
298
|
+
return copyKeysSingleObject(object, keyMap);
|
|
299
|
+
});
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
var noop = function noop() {};
|
|
303
|
+
var toLabelAndValue = function toLabelAndValue(string) {
|
|
304
|
+
return {
|
|
305
|
+
label: string,
|
|
306
|
+
value: string
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
var getRandomInt = function getRandomInt() {
|
|
310
|
+
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;
|
|
311
|
+
var b = arguments.length > 1 ? arguments[1] : undefined;
|
|
312
|
+
|
|
313
|
+
if (b) {
|
|
314
|
+
a = Math.ceil(a);
|
|
315
|
+
b = Math.floor(b);
|
|
316
|
+
} else {
|
|
317
|
+
b = a;
|
|
318
|
+
a = 0;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
return Math.floor(Math.random() * (b - a) + a);
|
|
322
|
+
};
|
|
323
|
+
var randomPick = function randomPick() {
|
|
324
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
325
|
+
args[_key] = arguments[_key];
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
var randomNumber = getRandomInt(0, args.length);
|
|
329
|
+
return args[randomNumber];
|
|
330
|
+
};
|
|
331
|
+
var dynamicArray = function dynamicArray(count, elementGenerator) {
|
|
332
|
+
return Array.from({
|
|
333
|
+
length: count
|
|
334
|
+
}, function (_, index) {
|
|
335
|
+
return elementGenerator(index);
|
|
336
|
+
});
|
|
337
|
+
};
|
|
338
|
+
var isNotNil = complement(isNil);
|
|
339
|
+
var isNotEmpty = complement(isEmpty);
|
|
340
|
+
var notEquals = curry(function (x, y) {
|
|
341
|
+
return x !== y;
|
|
342
|
+
});
|
|
343
|
+
var isNot = notEquals;
|
|
344
|
+
var notEqualsDeep = complement(equals);
|
|
345
|
+
var isNotEqualDeep = notEqualsDeep;
|
|
346
|
+
|
|
347
|
+
export { camelToSnakeCase, capitalize, copyKeys, copyKeysDeep, countBy, deepFreezeObject, dynamicArray, existsBy, existsById, filterBy, filterNonNull, findBy, findById, findIndexBy, findIndexById, findLastBy, findLastIndexBy, getRandomInt, humanize, isNot, isNotEmpty, isNotEqualDeep, isNotNil, keysToCamelCase, keysToSnakeCase, matches, modifyBy, modifyById, noop, notEquals, notEqualsDeep, randomPick, removeBy, removeById, renameKeys, replaceBy, replaceById, slugify, snakeToCamelCase, toLabelAndValue, transformObjectDeep, truncate };
|
|
@@ -80,6 +80,7 @@ react.Honeybadger.beforeNotify(function (notice) {
|
|
|
80
80
|
var honeybadger = react.Honeybadger.configure({
|
|
81
81
|
apiKey: globalProps.honeybadgerApiKey,
|
|
82
82
|
environment: globalProps.nodeEnv,
|
|
83
|
+
revision: globalProps.honeybadgerRevision,
|
|
83
84
|
developmentEnvironments: ["development", "test"],
|
|
84
85
|
enableUncaught: true,
|
|
85
86
|
async: true,
|
|
@@ -261,6 +262,10 @@ function _slicedToArray(arr, i) {
|
|
|
261
262
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
262
263
|
}
|
|
263
264
|
|
|
265
|
+
var capitalize = function capitalize(string) {
|
|
266
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
267
|
+
};
|
|
268
|
+
|
|
264
269
|
var HEADERS_KEYS = {
|
|
265
270
|
xAuthEmail: "X-Auth-Email",
|
|
266
271
|
xAuthToken: "X-Auth-Token",
|
|
@@ -273,10 +278,6 @@ var resetAuthTokens = function resetAuthTokens() {
|
|
|
273
278
|
});
|
|
274
279
|
};
|
|
275
280
|
|
|
276
|
-
var capitalize = function capitalize(string) {
|
|
277
|
-
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
278
|
-
};
|
|
279
|
-
|
|
280
281
|
var MY_PROFILE_URL = "/auth/profile/edit";
|
|
281
282
|
var ORGANIZATION_SETTINGS_URL = "/auth/organization/edit";
|
|
282
283
|
var PERMITTED_DOMAINS = ["@bigbinary.com", "@example.com"];
|
package/react-utils.d.ts
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { AvatarProps } from "@bigbinary/neetoui";
|
|
2
|
+
import {
|
|
3
|
+
LinkType,
|
|
4
|
+
NavLinkItemType,
|
|
5
|
+
SidebarProps,
|
|
6
|
+
} from "@bigbinary/neetoui/layouts";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { ObjectAndPrimitives } from "./pure";
|
|
9
|
+
|
|
10
|
+
export const HoneybadgerErrorBoundary: React.FC<{
|
|
11
|
+
ErrorComponent?: React.ReactNode;
|
|
12
|
+
}>;
|
|
13
|
+
export function PrivateRoute<Component extends JSX.Element>(
|
|
14
|
+
props: {
|
|
15
|
+
component: Component;
|
|
16
|
+
condition: boolean;
|
|
17
|
+
path: string;
|
|
18
|
+
redirectRoute: string;
|
|
19
|
+
} & { [key in keyof Component]: Component[key] }
|
|
20
|
+
): JSX.Element;
|
|
21
|
+
export const Sidebar: React.FC<{
|
|
22
|
+
navLinks: NavLinkItemType[];
|
|
23
|
+
appName: string;
|
|
24
|
+
profileInfoOverrides?: {
|
|
25
|
+
name?: string;
|
|
26
|
+
email?: string;
|
|
27
|
+
topLinks?: LinkType[];
|
|
28
|
+
bottomLinks?: LinkType[];
|
|
29
|
+
customContent?: React.ReactNode;
|
|
30
|
+
changelogProps?: LinkType;
|
|
31
|
+
helpProps?: LinkType;
|
|
32
|
+
"data-cy"?: string;
|
|
33
|
+
} & AvatarProps;
|
|
34
|
+
organizationInfoOverrides?: {
|
|
35
|
+
logo?: React.ReactNode;
|
|
36
|
+
name?: React.ReactNode;
|
|
37
|
+
subdomain?: React.ReactNode;
|
|
38
|
+
};
|
|
39
|
+
extraTopLinks?: LinkType[];
|
|
40
|
+
showAppSwitcher?: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
|
|
43
|
+
export function useDebounce<T>(value: T, delay?: number): T;
|
|
44
|
+
export function useFuncDebounce<A, B, C, D, E>(
|
|
45
|
+
func: (a?: A, b?: B, c?: C, d?: D, ...e: E[]) => any,
|
|
46
|
+
delay?: number
|
|
47
|
+
): (a?: A, b?: B, c?: C, d?: D, ...e: E[]) => void;
|
|
48
|
+
export function useLocalStorage<T>(
|
|
49
|
+
key: string,
|
|
50
|
+
initialValue?: T
|
|
51
|
+
): [T, (value: T) => void];
|
|
52
|
+
export function useOnClickOutside<T>(
|
|
53
|
+
ref: React.MutableRefObject<T>,
|
|
54
|
+
handler: (event: MouseEvent | TouchEvent) => any
|
|
55
|
+
);
|
|
56
|
+
export function usePrevious<T>(value: T): T;
|
|
57
|
+
export function useUpdateEffect(effect: () => void, deps: any[]): void;
|
|
58
|
+
|
|
59
|
+
export function createContext<T>(initialValue: T): {
|
|
60
|
+
Provider: React.FC<{}>;
|
|
61
|
+
useState: T;
|
|
62
|
+
useSetState: React.Dispatch<React.SetStateAction<T>>;
|
|
63
|
+
useContext: [T, React.Dispatch<React.SetStateAction<T>>];
|
|
64
|
+
};
|
|
65
|
+
type ActionType<T> = {
|
|
66
|
+
type: string;
|
|
67
|
+
payload: Partial<T> | ObjectAndPrimitives;
|
|
68
|
+
};
|
|
69
|
+
export function createContext<T>(
|
|
70
|
+
initialValue: T,
|
|
71
|
+
reducer: (prevState: T, action: ActionType<T>) => T
|
|
72
|
+
): {
|
|
73
|
+
Provider: React.FC<{}>;
|
|
74
|
+
useState: T;
|
|
75
|
+
useDispatch: (action: ActionType<T>) => void;
|
|
76
|
+
useContext: [T, (action: ActionType<T>) => void];
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const ErrorPage: React.FC<{}>;
|
|
80
|
+
export const LoginPage: React.FC<{
|
|
81
|
+
handleSubmit: (data: {
|
|
82
|
+
user: {
|
|
83
|
+
email: string;
|
|
84
|
+
password: string;
|
|
85
|
+
};
|
|
86
|
+
}) => any;
|
|
87
|
+
}>;
|