@reactuses/core 6.1.11 → 6.2.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/README.md +64 -37
- package/dist/index.cjs +162 -45
- package/dist/index.d.cts +91 -2
- package/dist/index.d.mts +91 -2
- package/dist/index.d.ts +91 -2
- package/dist/index.mjs +162 -46
- package/package.json +35 -5
package/dist/index.mjs
CHANGED
|
@@ -215,7 +215,7 @@ function useMountedState() {
|
|
|
215
215
|
return get;
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
function asyncGeneratorStep$
|
|
218
|
+
function asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, key, arg) {
|
|
219
219
|
try {
|
|
220
220
|
var info = gen[key](arg);
|
|
221
221
|
var value = info.value;
|
|
@@ -229,16 +229,16 @@ function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
229
229
|
Promise.resolve(value).then(_next, _throw);
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
|
-
function _async_to_generator$
|
|
232
|
+
function _async_to_generator$8(fn) {
|
|
233
233
|
return function() {
|
|
234
234
|
var self = this, args = arguments;
|
|
235
235
|
return new Promise(function(resolve, reject) {
|
|
236
236
|
var gen = fn.apply(self, args);
|
|
237
237
|
function _next(value) {
|
|
238
|
-
asyncGeneratorStep$
|
|
238
|
+
asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, "next", value);
|
|
239
239
|
}
|
|
240
240
|
function _throw(err) {
|
|
241
|
-
asyncGeneratorStep$
|
|
241
|
+
asyncGeneratorStep$8(gen, resolve, reject, _next, _throw, "throw", err);
|
|
242
242
|
}
|
|
243
243
|
_next(undefined);
|
|
244
244
|
});
|
|
@@ -247,7 +247,7 @@ function _async_to_generator$7(fn) {
|
|
|
247
247
|
const useAsyncEffect = (effect, cleanup = noop$1, deps)=>{
|
|
248
248
|
const mounted = useMountedState();
|
|
249
249
|
useEffect(()=>{
|
|
250
|
-
const execute = ()=>_async_to_generator$
|
|
250
|
+
const execute = ()=>_async_to_generator$8(function*() {
|
|
251
251
|
if (!mounted()) {
|
|
252
252
|
return;
|
|
253
253
|
}
|
|
@@ -1343,12 +1343,16 @@ function useSupported(callback, sync = false) {
|
|
|
1343
1343
|
const [supported, setSupported] = useState(false);
|
|
1344
1344
|
const effect = sync ? useIsomorphicLayoutEffect : useEffect;
|
|
1345
1345
|
effect(()=>{
|
|
1346
|
-
|
|
1346
|
+
try {
|
|
1347
|
+
setSupported(Boolean(callback()));
|
|
1348
|
+
} catch (e) {
|
|
1349
|
+
setSupported(false);
|
|
1350
|
+
}
|
|
1347
1351
|
}, []);
|
|
1348
1352
|
return supported;
|
|
1349
1353
|
}
|
|
1350
1354
|
|
|
1351
|
-
function asyncGeneratorStep$
|
|
1355
|
+
function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1352
1356
|
try {
|
|
1353
1357
|
var info = gen[key](arg);
|
|
1354
1358
|
var value = info.value;
|
|
@@ -1362,16 +1366,16 @@ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1362
1366
|
Promise.resolve(value).then(_next, _throw);
|
|
1363
1367
|
}
|
|
1364
1368
|
}
|
|
1365
|
-
function _async_to_generator$
|
|
1369
|
+
function _async_to_generator$7(fn) {
|
|
1366
1370
|
return function() {
|
|
1367
1371
|
var self = this, args = arguments;
|
|
1368
1372
|
return new Promise(function(resolve, reject) {
|
|
1369
1373
|
var gen = fn.apply(self, args);
|
|
1370
1374
|
function _next(value) {
|
|
1371
|
-
asyncGeneratorStep$
|
|
1375
|
+
asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, "next", value);
|
|
1372
1376
|
}
|
|
1373
1377
|
function _throw(err) {
|
|
1374
|
-
asyncGeneratorStep$
|
|
1378
|
+
asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1375
1379
|
}
|
|
1376
1380
|
_next(undefined);
|
|
1377
1381
|
});
|
|
@@ -1379,7 +1383,7 @@ function _async_to_generator$6(fn) {
|
|
|
1379
1383
|
}
|
|
1380
1384
|
const useEyeDropper = ()=>{
|
|
1381
1385
|
const isSupported = useSupported(()=>typeof window !== 'undefined' && 'EyeDropper' in window, true);
|
|
1382
|
-
const open = useCallback((options = {})=>_async_to_generator$
|
|
1386
|
+
const open = useCallback((options = {})=>_async_to_generator$7(function*() {
|
|
1383
1387
|
if (!isSupported) {
|
|
1384
1388
|
return {
|
|
1385
1389
|
sRGBHex: ''
|
|
@@ -1414,7 +1418,7 @@ function useFavicon(href, baseUrl = '', rel = 'icon') {
|
|
|
1414
1418
|
]);
|
|
1415
1419
|
}
|
|
1416
1420
|
|
|
1417
|
-
function asyncGeneratorStep$
|
|
1421
|
+
function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1418
1422
|
try {
|
|
1419
1423
|
var info = gen[key](arg);
|
|
1420
1424
|
var value = info.value;
|
|
@@ -1428,16 +1432,16 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1428
1432
|
Promise.resolve(value).then(_next, _throw);
|
|
1429
1433
|
}
|
|
1430
1434
|
}
|
|
1431
|
-
function _async_to_generator$
|
|
1435
|
+
function _async_to_generator$6(fn) {
|
|
1432
1436
|
return function() {
|
|
1433
1437
|
var self = this, args = arguments;
|
|
1434
1438
|
return new Promise(function(resolve, reject) {
|
|
1435
1439
|
var gen = fn.apply(self, args);
|
|
1436
1440
|
function _next(value) {
|
|
1437
|
-
asyncGeneratorStep$
|
|
1441
|
+
asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "next", value);
|
|
1438
1442
|
}
|
|
1439
1443
|
function _throw(err) {
|
|
1440
|
-
asyncGeneratorStep$
|
|
1444
|
+
asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1441
1445
|
}
|
|
1442
1446
|
_next(undefined);
|
|
1443
1447
|
});
|
|
@@ -1480,7 +1484,7 @@ const useFileDialog = (options = defaultOptions$1)=>{
|
|
|
1480
1484
|
return input;
|
|
1481
1485
|
}, []);
|
|
1482
1486
|
inputRef.current = initFn();
|
|
1483
|
-
const open = (localOptions)=>_async_to_generator$
|
|
1487
|
+
const open = (localOptions)=>_async_to_generator$6(function*() {
|
|
1484
1488
|
if (!inputRef.current) {
|
|
1485
1489
|
return;
|
|
1486
1490
|
}
|
|
@@ -1674,7 +1678,7 @@ const initCoord = {
|
|
|
1674
1678
|
};
|
|
1675
1679
|
const useGeolocation = (options = defaultOptions$1)=>{
|
|
1676
1680
|
const { enableHighAccuracy = true, maximumAge = 30000, timeout = 27000 } = options;
|
|
1677
|
-
const isSupported = useSupported(()=>navigator && 'geolocation'
|
|
1681
|
+
const isSupported = useSupported(()=>typeof navigator !== 'undefined' && !!navigator.geolocation && typeof navigator.geolocation.getCurrentPosition === 'function' && typeof navigator.geolocation.watchPosition === 'function' && typeof navigator.geolocation.clearWatch === 'function');
|
|
1678
1682
|
const [coordinates, setCoordinates] = useState(initCoord);
|
|
1679
1683
|
const [locatedAt, setLocatedAt] = useState(null);
|
|
1680
1684
|
const [error, setError] = useState(null);
|
|
@@ -1893,7 +1897,7 @@ const createUpdateEffect = (hook)=>(effect, deps)=>{
|
|
|
1893
1897
|
|
|
1894
1898
|
const useUpdateEffect = createUpdateEffect(useEffect);
|
|
1895
1899
|
|
|
1896
|
-
function asyncGeneratorStep$
|
|
1900
|
+
function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1897
1901
|
try {
|
|
1898
1902
|
var info = gen[key](arg);
|
|
1899
1903
|
var value = info.value;
|
|
@@ -1907,16 +1911,16 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1907
1911
|
Promise.resolve(value).then(_next, _throw);
|
|
1908
1912
|
}
|
|
1909
1913
|
}
|
|
1910
|
-
function _async_to_generator$
|
|
1914
|
+
function _async_to_generator$5(fn) {
|
|
1911
1915
|
return function() {
|
|
1912
1916
|
var self = this, args = arguments;
|
|
1913
1917
|
return new Promise(function(resolve, reject) {
|
|
1914
1918
|
var gen = fn.apply(self, args);
|
|
1915
1919
|
function _next(value) {
|
|
1916
|
-
asyncGeneratorStep$
|
|
1920
|
+
asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
|
|
1917
1921
|
}
|
|
1918
1922
|
function _throw(err) {
|
|
1919
|
-
asyncGeneratorStep$
|
|
1923
|
+
asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1920
1924
|
}
|
|
1921
1925
|
_next(undefined);
|
|
1922
1926
|
});
|
|
@@ -1949,7 +1953,7 @@ const useInfiniteScroll = (target, onLoadMore, options = defaultOptions$1)=>{
|
|
|
1949
1953
|
const di = state[3][direction];
|
|
1950
1954
|
useUpdateEffect(()=>{
|
|
1951
1955
|
const element = getTargetElement(target);
|
|
1952
|
-
const fn = ()=>_async_to_generator$
|
|
1956
|
+
const fn = ()=>_async_to_generator$5(function*() {
|
|
1953
1957
|
var _element_scrollHeight, _element_scrollWidth;
|
|
1954
1958
|
const previous = {
|
|
1955
1959
|
height: (_element_scrollHeight = element == null ? void 0 : element.scrollHeight) != null ? _element_scrollHeight : 0,
|
|
@@ -2099,7 +2103,7 @@ const useMeasure = (target, options = defaultOptions$1)=>{
|
|
|
2099
2103
|
];
|
|
2100
2104
|
};
|
|
2101
2105
|
|
|
2102
|
-
function asyncGeneratorStep$
|
|
2106
|
+
function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2103
2107
|
try {
|
|
2104
2108
|
var info = gen[key](arg);
|
|
2105
2109
|
var value = info.value;
|
|
@@ -2113,16 +2117,16 @@ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
2113
2117
|
Promise.resolve(value).then(_next, _throw);
|
|
2114
2118
|
}
|
|
2115
2119
|
}
|
|
2116
|
-
function _async_to_generator$
|
|
2120
|
+
function _async_to_generator$4(fn) {
|
|
2117
2121
|
return function() {
|
|
2118
2122
|
var self = this, args = arguments;
|
|
2119
2123
|
return new Promise(function(resolve, reject) {
|
|
2120
2124
|
var gen = fn.apply(self, args);
|
|
2121
2125
|
function _next(value) {
|
|
2122
|
-
asyncGeneratorStep$
|
|
2126
|
+
asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
|
|
2123
2127
|
}
|
|
2124
2128
|
function _throw(err) {
|
|
2125
|
-
asyncGeneratorStep$
|
|
2129
|
+
asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
|
|
2126
2130
|
}
|
|
2127
2131
|
_next(undefined);
|
|
2128
2132
|
});
|
|
@@ -2156,7 +2160,7 @@ const useMediaDevices = (options = {})=>{
|
|
|
2156
2160
|
});
|
|
2157
2161
|
}).catch(noop$1);
|
|
2158
2162
|
}, []);
|
|
2159
|
-
const ensurePermissions = useCallback(()=>_async_to_generator$
|
|
2163
|
+
const ensurePermissions = useCallback(()=>_async_to_generator$4(function*() {
|
|
2160
2164
|
if (!isSupported) {
|
|
2161
2165
|
return false;
|
|
2162
2166
|
}
|
|
@@ -3245,7 +3249,10 @@ function useSticky(targetElement, { axis = 'y', nav = 0 }, scrollElement) {
|
|
|
3245
3249
|
}, [
|
|
3246
3250
|
targetKey,
|
|
3247
3251
|
scrollKey,
|
|
3248
|
-
scrollHandler
|
|
3252
|
+
scrollHandler,
|
|
3253
|
+
targetRef,
|
|
3254
|
+
scrollRef,
|
|
3255
|
+
axisRef
|
|
3249
3256
|
]);
|
|
3250
3257
|
return [
|
|
3251
3258
|
isSticky,
|
|
@@ -3395,7 +3402,7 @@ const useToggle = (initialValue)=>{
|
|
|
3395
3402
|
|
|
3396
3403
|
const useUpdateLayoutEffect = createUpdateEffect(useLayoutEffect);
|
|
3397
3404
|
|
|
3398
|
-
function asyncGeneratorStep$
|
|
3405
|
+
function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3399
3406
|
try {
|
|
3400
3407
|
var info = gen[key](arg);
|
|
3401
3408
|
var value = info.value;
|
|
@@ -3409,16 +3416,16 @@ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
3409
3416
|
Promise.resolve(value).then(_next, _throw);
|
|
3410
3417
|
}
|
|
3411
3418
|
}
|
|
3412
|
-
function _async_to_generator$
|
|
3419
|
+
function _async_to_generator$3(fn) {
|
|
3413
3420
|
return function() {
|
|
3414
3421
|
var self = this, args = arguments;
|
|
3415
3422
|
return new Promise(function(resolve, reject) {
|
|
3416
3423
|
var gen = fn.apply(self, args);
|
|
3417
3424
|
function _next(value) {
|
|
3418
|
-
asyncGeneratorStep$
|
|
3425
|
+
asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "next", value);
|
|
3419
3426
|
}
|
|
3420
3427
|
function _throw(err) {
|
|
3421
|
-
asyncGeneratorStep$
|
|
3428
|
+
asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "throw", err);
|
|
3422
3429
|
}
|
|
3423
3430
|
_next(undefined);
|
|
3424
3431
|
});
|
|
@@ -3448,7 +3455,7 @@ const useWebNotification = (requestPermissions = false)=>{
|
|
|
3448
3455
|
}, [
|
|
3449
3456
|
isSupported
|
|
3450
3457
|
]);
|
|
3451
|
-
const ensurePermissions = useCallback(()=>_async_to_generator$
|
|
3458
|
+
const ensurePermissions = useCallback(()=>_async_to_generator$3(function*() {
|
|
3452
3459
|
if (!isSupported) return;
|
|
3453
3460
|
if (!permissionGranted.current && Notification.permission !== 'denied') {
|
|
3454
3461
|
const result = yield Notification.requestPermission();
|
|
@@ -3559,7 +3566,7 @@ const useWindowSize = ()=>{
|
|
|
3559
3566
|
};
|
|
3560
3567
|
};
|
|
3561
3568
|
|
|
3562
|
-
function asyncGeneratorStep$
|
|
3569
|
+
function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3563
3570
|
try {
|
|
3564
3571
|
var info = gen[key](arg);
|
|
3565
3572
|
var value = info.value;
|
|
@@ -3573,16 +3580,16 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
3573
3580
|
Promise.resolve(value).then(_next, _throw);
|
|
3574
3581
|
}
|
|
3575
3582
|
}
|
|
3576
|
-
function _async_to_generator$
|
|
3583
|
+
function _async_to_generator$2(fn) {
|
|
3577
3584
|
return function() {
|
|
3578
3585
|
var self = this, args = arguments;
|
|
3579
3586
|
return new Promise(function(resolve, reject) {
|
|
3580
3587
|
var gen = fn.apply(self, args);
|
|
3581
3588
|
function _next(value) {
|
|
3582
|
-
asyncGeneratorStep$
|
|
3589
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
|
|
3583
3590
|
}
|
|
3584
3591
|
function _throw(err) {
|
|
3585
|
-
asyncGeneratorStep$
|
|
3592
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
|
|
3586
3593
|
}
|
|
3587
3594
|
_next(undefined);
|
|
3588
3595
|
});
|
|
@@ -3590,7 +3597,7 @@ function _async_to_generator$1(fn) {
|
|
|
3590
3597
|
}
|
|
3591
3598
|
const useClipboard = ()=>{
|
|
3592
3599
|
const [text, setText] = useState('');
|
|
3593
|
-
const updateText = useCallback(()=>_async_to_generator$
|
|
3600
|
+
const updateText = useCallback(()=>_async_to_generator$2(function*() {
|
|
3594
3601
|
// Check if document is focused before attempting to read clipboard
|
|
3595
3602
|
if (!document.hasFocus()) {
|
|
3596
3603
|
return;
|
|
@@ -3607,7 +3614,7 @@ const useClipboard = ()=>{
|
|
|
3607
3614
|
useEventListener('cut', updateText);
|
|
3608
3615
|
// Also listen for focus events to update clipboard when window regains focus
|
|
3609
3616
|
useEventListener('focus', updateText, window);
|
|
3610
|
-
const copy = useCallback((txt)=>_async_to_generator$
|
|
3617
|
+
const copy = useCallback((txt)=>_async_to_generator$2(function*() {
|
|
3611
3618
|
setText(txt);
|
|
3612
3619
|
try {
|
|
3613
3620
|
yield window.navigator.clipboard.writeText(txt);
|
|
@@ -4135,7 +4142,7 @@ const useElementByPoint = (options)=>{
|
|
|
4135
4142
|
};
|
|
4136
4143
|
};
|
|
4137
4144
|
|
|
4138
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4145
|
+
function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4139
4146
|
try {
|
|
4140
4147
|
var info = gen[key](arg);
|
|
4141
4148
|
var value = info.value;
|
|
@@ -4149,16 +4156,16 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
4149
4156
|
Promise.resolve(value).then(_next, _throw);
|
|
4150
4157
|
}
|
|
4151
4158
|
}
|
|
4152
|
-
function _async_to_generator(fn) {
|
|
4159
|
+
function _async_to_generator$1(fn) {
|
|
4153
4160
|
return function() {
|
|
4154
4161
|
var self = this, args = arguments;
|
|
4155
4162
|
return new Promise(function(resolve, reject) {
|
|
4156
4163
|
var gen = fn.apply(self, args);
|
|
4157
4164
|
function _next(value) {
|
|
4158
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
4165
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
4159
4166
|
}
|
|
4160
4167
|
function _throw(err) {
|
|
4161
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
4168
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
4162
4169
|
}
|
|
4163
4170
|
_next(undefined);
|
|
4164
4171
|
});
|
|
@@ -4209,7 +4216,7 @@ const useFetchEventSource = (url, options = {})=>{
|
|
|
4209
4216
|
options.onClose == null ? void 0 : options.onClose.call(options);
|
|
4210
4217
|
}
|
|
4211
4218
|
});
|
|
4212
|
-
const open = useEvent(()=>_async_to_generator(function*() {
|
|
4219
|
+
const open = useEvent(()=>_async_to_generator$1(function*() {
|
|
4213
4220
|
close();
|
|
4214
4221
|
setStatus('CONNECTING');
|
|
4215
4222
|
explicitlyClosed.current = false;
|
|
@@ -4248,7 +4255,7 @@ const useFetchEventSource = (url, options = {})=>{
|
|
|
4248
4255
|
}
|
|
4249
4256
|
yield fetchEventSource(url.toString(), _extends({}, finalOptions, {
|
|
4250
4257
|
onopen (response) {
|
|
4251
|
-
return _async_to_generator(function*() {
|
|
4258
|
+
return _async_to_generator$1(function*() {
|
|
4252
4259
|
if (response.ok) {
|
|
4253
4260
|
setStatus('CONNECTED');
|
|
4254
4261
|
setError(null);
|
|
@@ -4497,4 +4504,113 @@ const useSpeechRecognition = (options = {})=>{
|
|
|
4497
4504
|
};
|
|
4498
4505
|
};
|
|
4499
4506
|
|
|
4500
|
-
|
|
4507
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4508
|
+
try {
|
|
4509
|
+
var info = gen[key](arg);
|
|
4510
|
+
var value = info.value;
|
|
4511
|
+
} catch (error) {
|
|
4512
|
+
reject(error);
|
|
4513
|
+
return;
|
|
4514
|
+
}
|
|
4515
|
+
if (info.done) {
|
|
4516
|
+
resolve(value);
|
|
4517
|
+
} else {
|
|
4518
|
+
Promise.resolve(value).then(_next, _throw);
|
|
4519
|
+
}
|
|
4520
|
+
}
|
|
4521
|
+
function _async_to_generator(fn) {
|
|
4522
|
+
return function() {
|
|
4523
|
+
var self = this, args = arguments;
|
|
4524
|
+
return new Promise(function(resolve, reject) {
|
|
4525
|
+
var gen = fn.apply(self, args);
|
|
4526
|
+
function _next(value) {
|
|
4527
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
4528
|
+
}
|
|
4529
|
+
function _throw(err) {
|
|
4530
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
4531
|
+
}
|
|
4532
|
+
_next(undefined);
|
|
4533
|
+
});
|
|
4534
|
+
};
|
|
4535
|
+
}
|
|
4536
|
+
const useWakeLock = (options = {})=>{
|
|
4537
|
+
const { onRequest, onRelease, onError } = options;
|
|
4538
|
+
const isSupported = useSupported(()=>'wakeLock' in navigator);
|
|
4539
|
+
const [isActive, setIsActive] = useState(false);
|
|
4540
|
+
const sentinelRef = useRef(null);
|
|
4541
|
+
const requestedTypeRef = useRef(false);
|
|
4542
|
+
const forceRequest = useEvent(()=>_async_to_generator(function*() {
|
|
4543
|
+
if (!isSupported) return;
|
|
4544
|
+
try {
|
|
4545
|
+
var _sentinelRef_current;
|
|
4546
|
+
yield (_sentinelRef_current = sentinelRef.current) == null ? void 0 : _sentinelRef_current.release();
|
|
4547
|
+
const sentinel = yield navigator.wakeLock.request('screen');
|
|
4548
|
+
sentinelRef.current = sentinel;
|
|
4549
|
+
setIsActive(true);
|
|
4550
|
+
sentinel.addEventListener('release', ()=>{
|
|
4551
|
+
var _sentinelRef_current;
|
|
4552
|
+
var _sentinelRef_current_type;
|
|
4553
|
+
requestedTypeRef.current = (_sentinelRef_current_type = (_sentinelRef_current = sentinelRef.current) == null ? void 0 : _sentinelRef_current.type) != null ? _sentinelRef_current_type : false;
|
|
4554
|
+
sentinelRef.current = null;
|
|
4555
|
+
setIsActive(false);
|
|
4556
|
+
onRelease == null ? void 0 : onRelease();
|
|
4557
|
+
}, {
|
|
4558
|
+
once: true
|
|
4559
|
+
});
|
|
4560
|
+
onRequest == null ? void 0 : onRequest();
|
|
4561
|
+
} catch (error) {
|
|
4562
|
+
onError == null ? void 0 : onError(error);
|
|
4563
|
+
}
|
|
4564
|
+
})());
|
|
4565
|
+
const request = useEvent(()=>_async_to_generator(function*() {
|
|
4566
|
+
if (!isSupported) return;
|
|
4567
|
+
if (document.visibilityState === 'visible') {
|
|
4568
|
+
yield forceRequest();
|
|
4569
|
+
} else {
|
|
4570
|
+
requestedTypeRef.current = 'screen';
|
|
4571
|
+
}
|
|
4572
|
+
})());
|
|
4573
|
+
const release = useEvent(()=>_async_to_generator(function*() {
|
|
4574
|
+
requestedTypeRef.current = false;
|
|
4575
|
+
const s = sentinelRef.current;
|
|
4576
|
+
sentinelRef.current = null;
|
|
4577
|
+
setIsActive(false);
|
|
4578
|
+
try {
|
|
4579
|
+
yield s == null ? void 0 : s.release();
|
|
4580
|
+
} catch (error) {
|
|
4581
|
+
onError == null ? void 0 : onError(error);
|
|
4582
|
+
}
|
|
4583
|
+
})());
|
|
4584
|
+
useEffect(()=>{
|
|
4585
|
+
const handleVisibilityChange = ()=>{
|
|
4586
|
+
if (document.visibilityState === 'visible' && requestedTypeRef.current) {
|
|
4587
|
+
requestedTypeRef.current = false;
|
|
4588
|
+
forceRequest();
|
|
4589
|
+
}
|
|
4590
|
+
};
|
|
4591
|
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
|
4592
|
+
return ()=>{
|
|
4593
|
+
document.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
4594
|
+
};
|
|
4595
|
+
}, [
|
|
4596
|
+
forceRequest
|
|
4597
|
+
]);
|
|
4598
|
+
useEffect(()=>{
|
|
4599
|
+
return ()=>{
|
|
4600
|
+
requestedTypeRef.current = false;
|
|
4601
|
+
if (sentinelRef.current) {
|
|
4602
|
+
sentinelRef.current.release();
|
|
4603
|
+
sentinelRef.current = null;
|
|
4604
|
+
}
|
|
4605
|
+
};
|
|
4606
|
+
}, []);
|
|
4607
|
+
return {
|
|
4608
|
+
isSupported,
|
|
4609
|
+
isActive,
|
|
4610
|
+
request,
|
|
4611
|
+
release,
|
|
4612
|
+
forceRequest
|
|
4613
|
+
};
|
|
4614
|
+
};
|
|
4615
|
+
|
|
4616
|
+
export { assignRef, defaultOptions, mergeRefs, use, useActiveElement, useAsyncEffect, useBoolean, useBroadcastChannel, useClickOutside as useClickAway, useClickOutside, useClipboard, useColorMode, useControlled, useCookie, useClipboard as useCopyToClipboard, useCountDown, useCounter, useCssVar, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDevicePixelRatio, useDisclosure, useDocumentVisibility, useDoubleClick, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetchEventSource, useFileDialog, useFirstMountState, useFocus, useFps, useFullscreen, useGeolocation, useHover, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLocationSelector, useLongPress, useMap, useMeasure, useMediaDevices, useMediaQuery, useMergedRefs, useMobileLandscape, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnceEffect, useOnceLayoutEffect, useOnline, useOrientation, usePageLeave, usePermission, usePlatform, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePrevious, useRafFn, useRafState, useReducedMotion, useResizeObserver, useScratch, useScreenSafeArea, useScriptTag, useScroll, useScrollIntoView, useScrollLock, useSessionStorage, useSetState, useSpeechRecognition, useSticky, useSupported, useTextDirection, useTextSelection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useWakeLock, useWebNotification, useWindowScroll, useWindowSize, useWindowsFocus };
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactuses/core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0",
|
|
4
|
+
"description": "Collection of 100+ essential React Hooks with TypeScript support, tree-shaking, and SSR compatibility. Sensors, browser APIs, state management, animations, and more.",
|
|
4
5
|
"license": "Unlicense",
|
|
5
6
|
"homepage": "https://www.reactuse.com/",
|
|
6
7
|
"repository": {
|
|
@@ -13,11 +14,40 @@
|
|
|
13
14
|
},
|
|
14
15
|
"keywords": [
|
|
15
16
|
"react",
|
|
16
|
-
"react-
|
|
17
|
-
"react hooks",
|
|
18
|
-
"hook",
|
|
17
|
+
"react-hooks",
|
|
19
18
|
"hooks",
|
|
20
|
-
"
|
|
19
|
+
"react-use",
|
|
20
|
+
"reactuse",
|
|
21
|
+
"typescript",
|
|
22
|
+
"tree-shaking",
|
|
23
|
+
"ssr",
|
|
24
|
+
"custom-hooks",
|
|
25
|
+
"react-utility",
|
|
26
|
+
"browser-hooks",
|
|
27
|
+
"sensor-hooks",
|
|
28
|
+
"state-hooks",
|
|
29
|
+
"utility-hooks",
|
|
30
|
+
"animation-hooks",
|
|
31
|
+
"useToggle",
|
|
32
|
+
"useDebounce",
|
|
33
|
+
"useThrottle",
|
|
34
|
+
"useLocalStorage",
|
|
35
|
+
"useSessionStorage",
|
|
36
|
+
"useMouse",
|
|
37
|
+
"useClipboard",
|
|
38
|
+
"useGeolocation",
|
|
39
|
+
"useIntersectionObserver",
|
|
40
|
+
"useResizeObserver",
|
|
41
|
+
"useMutationObserver",
|
|
42
|
+
"useMediaQuery",
|
|
43
|
+
"useDarkMode",
|
|
44
|
+
"useFullscreen",
|
|
45
|
+
"useIdle",
|
|
46
|
+
"useNetwork",
|
|
47
|
+
"useScroll",
|
|
48
|
+
"useWindowSize",
|
|
49
|
+
"useEventListener",
|
|
50
|
+
"vueuse"
|
|
21
51
|
],
|
|
22
52
|
"sideEffects": false,
|
|
23
53
|
"exports": {
|