@reactuses/core 6.1.12 → 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 +156 -43
- 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 +156 -44
- 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
|
}
|
|
@@ -1352,7 +1352,7 @@ function useSupported(callback, sync = false) {
|
|
|
1352
1352
|
return supported;
|
|
1353
1353
|
}
|
|
1354
1354
|
|
|
1355
|
-
function asyncGeneratorStep$
|
|
1355
|
+
function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1356
1356
|
try {
|
|
1357
1357
|
var info = gen[key](arg);
|
|
1358
1358
|
var value = info.value;
|
|
@@ -1366,16 +1366,16 @@ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1366
1366
|
Promise.resolve(value).then(_next, _throw);
|
|
1367
1367
|
}
|
|
1368
1368
|
}
|
|
1369
|
-
function _async_to_generator$
|
|
1369
|
+
function _async_to_generator$7(fn) {
|
|
1370
1370
|
return function() {
|
|
1371
1371
|
var self = this, args = arguments;
|
|
1372
1372
|
return new Promise(function(resolve, reject) {
|
|
1373
1373
|
var gen = fn.apply(self, args);
|
|
1374
1374
|
function _next(value) {
|
|
1375
|
-
asyncGeneratorStep$
|
|
1375
|
+
asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, "next", value);
|
|
1376
1376
|
}
|
|
1377
1377
|
function _throw(err) {
|
|
1378
|
-
asyncGeneratorStep$
|
|
1378
|
+
asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1379
1379
|
}
|
|
1380
1380
|
_next(undefined);
|
|
1381
1381
|
});
|
|
@@ -1383,7 +1383,7 @@ function _async_to_generator$6(fn) {
|
|
|
1383
1383
|
}
|
|
1384
1384
|
const useEyeDropper = ()=>{
|
|
1385
1385
|
const isSupported = useSupported(()=>typeof window !== 'undefined' && 'EyeDropper' in window, true);
|
|
1386
|
-
const open = useCallback((options = {})=>_async_to_generator$
|
|
1386
|
+
const open = useCallback((options = {})=>_async_to_generator$7(function*() {
|
|
1387
1387
|
if (!isSupported) {
|
|
1388
1388
|
return {
|
|
1389
1389
|
sRGBHex: ''
|
|
@@ -1418,7 +1418,7 @@ function useFavicon(href, baseUrl = '', rel = 'icon') {
|
|
|
1418
1418
|
]);
|
|
1419
1419
|
}
|
|
1420
1420
|
|
|
1421
|
-
function asyncGeneratorStep$
|
|
1421
|
+
function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1422
1422
|
try {
|
|
1423
1423
|
var info = gen[key](arg);
|
|
1424
1424
|
var value = info.value;
|
|
@@ -1432,16 +1432,16 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1432
1432
|
Promise.resolve(value).then(_next, _throw);
|
|
1433
1433
|
}
|
|
1434
1434
|
}
|
|
1435
|
-
function _async_to_generator$
|
|
1435
|
+
function _async_to_generator$6(fn) {
|
|
1436
1436
|
return function() {
|
|
1437
1437
|
var self = this, args = arguments;
|
|
1438
1438
|
return new Promise(function(resolve, reject) {
|
|
1439
1439
|
var gen = fn.apply(self, args);
|
|
1440
1440
|
function _next(value) {
|
|
1441
|
-
asyncGeneratorStep$
|
|
1441
|
+
asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "next", value);
|
|
1442
1442
|
}
|
|
1443
1443
|
function _throw(err) {
|
|
1444
|
-
asyncGeneratorStep$
|
|
1444
|
+
asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1445
1445
|
}
|
|
1446
1446
|
_next(undefined);
|
|
1447
1447
|
});
|
|
@@ -1484,7 +1484,7 @@ const useFileDialog = (options = defaultOptions$1)=>{
|
|
|
1484
1484
|
return input;
|
|
1485
1485
|
}, []);
|
|
1486
1486
|
inputRef.current = initFn();
|
|
1487
|
-
const open = (localOptions)=>_async_to_generator$
|
|
1487
|
+
const open = (localOptions)=>_async_to_generator$6(function*() {
|
|
1488
1488
|
if (!inputRef.current) {
|
|
1489
1489
|
return;
|
|
1490
1490
|
}
|
|
@@ -1897,7 +1897,7 @@ const createUpdateEffect = (hook)=>(effect, deps)=>{
|
|
|
1897
1897
|
|
|
1898
1898
|
const useUpdateEffect = createUpdateEffect(useEffect);
|
|
1899
1899
|
|
|
1900
|
-
function asyncGeneratorStep$
|
|
1900
|
+
function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
|
|
1901
1901
|
try {
|
|
1902
1902
|
var info = gen[key](arg);
|
|
1903
1903
|
var value = info.value;
|
|
@@ -1911,16 +1911,16 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
1911
1911
|
Promise.resolve(value).then(_next, _throw);
|
|
1912
1912
|
}
|
|
1913
1913
|
}
|
|
1914
|
-
function _async_to_generator$
|
|
1914
|
+
function _async_to_generator$5(fn) {
|
|
1915
1915
|
return function() {
|
|
1916
1916
|
var self = this, args = arguments;
|
|
1917
1917
|
return new Promise(function(resolve, reject) {
|
|
1918
1918
|
var gen = fn.apply(self, args);
|
|
1919
1919
|
function _next(value) {
|
|
1920
|
-
asyncGeneratorStep$
|
|
1920
|
+
asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "next", value);
|
|
1921
1921
|
}
|
|
1922
1922
|
function _throw(err) {
|
|
1923
|
-
asyncGeneratorStep$
|
|
1923
|
+
asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, "throw", err);
|
|
1924
1924
|
}
|
|
1925
1925
|
_next(undefined);
|
|
1926
1926
|
});
|
|
@@ -1953,7 +1953,7 @@ const useInfiniteScroll = (target, onLoadMore, options = defaultOptions$1)=>{
|
|
|
1953
1953
|
const di = state[3][direction];
|
|
1954
1954
|
useUpdateEffect(()=>{
|
|
1955
1955
|
const element = getTargetElement(target);
|
|
1956
|
-
const fn = ()=>_async_to_generator$
|
|
1956
|
+
const fn = ()=>_async_to_generator$5(function*() {
|
|
1957
1957
|
var _element_scrollHeight, _element_scrollWidth;
|
|
1958
1958
|
const previous = {
|
|
1959
1959
|
height: (_element_scrollHeight = element == null ? void 0 : element.scrollHeight) != null ? _element_scrollHeight : 0,
|
|
@@ -2103,7 +2103,7 @@ const useMeasure = (target, options = defaultOptions$1)=>{
|
|
|
2103
2103
|
];
|
|
2104
2104
|
};
|
|
2105
2105
|
|
|
2106
|
-
function asyncGeneratorStep$
|
|
2106
|
+
function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2107
2107
|
try {
|
|
2108
2108
|
var info = gen[key](arg);
|
|
2109
2109
|
var value = info.value;
|
|
@@ -2117,16 +2117,16 @@ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
2117
2117
|
Promise.resolve(value).then(_next, _throw);
|
|
2118
2118
|
}
|
|
2119
2119
|
}
|
|
2120
|
-
function _async_to_generator$
|
|
2120
|
+
function _async_to_generator$4(fn) {
|
|
2121
2121
|
return function() {
|
|
2122
2122
|
var self = this, args = arguments;
|
|
2123
2123
|
return new Promise(function(resolve, reject) {
|
|
2124
2124
|
var gen = fn.apply(self, args);
|
|
2125
2125
|
function _next(value) {
|
|
2126
|
-
asyncGeneratorStep$
|
|
2126
|
+
asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "next", value);
|
|
2127
2127
|
}
|
|
2128
2128
|
function _throw(err) {
|
|
2129
|
-
asyncGeneratorStep$
|
|
2129
|
+
asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, "throw", err);
|
|
2130
2130
|
}
|
|
2131
2131
|
_next(undefined);
|
|
2132
2132
|
});
|
|
@@ -2160,7 +2160,7 @@ const useMediaDevices = (options = {})=>{
|
|
|
2160
2160
|
});
|
|
2161
2161
|
}).catch(noop$1);
|
|
2162
2162
|
}, []);
|
|
2163
|
-
const ensurePermissions = useCallback(()=>_async_to_generator$
|
|
2163
|
+
const ensurePermissions = useCallback(()=>_async_to_generator$4(function*() {
|
|
2164
2164
|
if (!isSupported) {
|
|
2165
2165
|
return false;
|
|
2166
2166
|
}
|
|
@@ -3249,7 +3249,10 @@ function useSticky(targetElement, { axis = 'y', nav = 0 }, scrollElement) {
|
|
|
3249
3249
|
}, [
|
|
3250
3250
|
targetKey,
|
|
3251
3251
|
scrollKey,
|
|
3252
|
-
scrollHandler
|
|
3252
|
+
scrollHandler,
|
|
3253
|
+
targetRef,
|
|
3254
|
+
scrollRef,
|
|
3255
|
+
axisRef
|
|
3253
3256
|
]);
|
|
3254
3257
|
return [
|
|
3255
3258
|
isSticky,
|
|
@@ -3399,7 +3402,7 @@ const useToggle = (initialValue)=>{
|
|
|
3399
3402
|
|
|
3400
3403
|
const useUpdateLayoutEffect = createUpdateEffect(useLayoutEffect);
|
|
3401
3404
|
|
|
3402
|
-
function asyncGeneratorStep$
|
|
3405
|
+
function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3403
3406
|
try {
|
|
3404
3407
|
var info = gen[key](arg);
|
|
3405
3408
|
var value = info.value;
|
|
@@ -3413,16 +3416,16 @@ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
3413
3416
|
Promise.resolve(value).then(_next, _throw);
|
|
3414
3417
|
}
|
|
3415
3418
|
}
|
|
3416
|
-
function _async_to_generator$
|
|
3419
|
+
function _async_to_generator$3(fn) {
|
|
3417
3420
|
return function() {
|
|
3418
3421
|
var self = this, args = arguments;
|
|
3419
3422
|
return new Promise(function(resolve, reject) {
|
|
3420
3423
|
var gen = fn.apply(self, args);
|
|
3421
3424
|
function _next(value) {
|
|
3422
|
-
asyncGeneratorStep$
|
|
3425
|
+
asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "next", value);
|
|
3423
3426
|
}
|
|
3424
3427
|
function _throw(err) {
|
|
3425
|
-
asyncGeneratorStep$
|
|
3428
|
+
asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, "throw", err);
|
|
3426
3429
|
}
|
|
3427
3430
|
_next(undefined);
|
|
3428
3431
|
});
|
|
@@ -3452,7 +3455,7 @@ const useWebNotification = (requestPermissions = false)=>{
|
|
|
3452
3455
|
}, [
|
|
3453
3456
|
isSupported
|
|
3454
3457
|
]);
|
|
3455
|
-
const ensurePermissions = useCallback(()=>_async_to_generator$
|
|
3458
|
+
const ensurePermissions = useCallback(()=>_async_to_generator$3(function*() {
|
|
3456
3459
|
if (!isSupported) return;
|
|
3457
3460
|
if (!permissionGranted.current && Notification.permission !== 'denied') {
|
|
3458
3461
|
const result = yield Notification.requestPermission();
|
|
@@ -3563,7 +3566,7 @@ const useWindowSize = ()=>{
|
|
|
3563
3566
|
};
|
|
3564
3567
|
};
|
|
3565
3568
|
|
|
3566
|
-
function asyncGeneratorStep$
|
|
3569
|
+
function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3567
3570
|
try {
|
|
3568
3571
|
var info = gen[key](arg);
|
|
3569
3572
|
var value = info.value;
|
|
@@ -3577,16 +3580,16 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
3577
3580
|
Promise.resolve(value).then(_next, _throw);
|
|
3578
3581
|
}
|
|
3579
3582
|
}
|
|
3580
|
-
function _async_to_generator$
|
|
3583
|
+
function _async_to_generator$2(fn) {
|
|
3581
3584
|
return function() {
|
|
3582
3585
|
var self = this, args = arguments;
|
|
3583
3586
|
return new Promise(function(resolve, reject) {
|
|
3584
3587
|
var gen = fn.apply(self, args);
|
|
3585
3588
|
function _next(value) {
|
|
3586
|
-
asyncGeneratorStep$
|
|
3589
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "next", value);
|
|
3587
3590
|
}
|
|
3588
3591
|
function _throw(err) {
|
|
3589
|
-
asyncGeneratorStep$
|
|
3592
|
+
asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, "throw", err);
|
|
3590
3593
|
}
|
|
3591
3594
|
_next(undefined);
|
|
3592
3595
|
});
|
|
@@ -3594,7 +3597,7 @@ function _async_to_generator$1(fn) {
|
|
|
3594
3597
|
}
|
|
3595
3598
|
const useClipboard = ()=>{
|
|
3596
3599
|
const [text, setText] = useState('');
|
|
3597
|
-
const updateText = useCallback(()=>_async_to_generator$
|
|
3600
|
+
const updateText = useCallback(()=>_async_to_generator$2(function*() {
|
|
3598
3601
|
// Check if document is focused before attempting to read clipboard
|
|
3599
3602
|
if (!document.hasFocus()) {
|
|
3600
3603
|
return;
|
|
@@ -3611,7 +3614,7 @@ const useClipboard = ()=>{
|
|
|
3611
3614
|
useEventListener('cut', updateText);
|
|
3612
3615
|
// Also listen for focus events to update clipboard when window regains focus
|
|
3613
3616
|
useEventListener('focus', updateText, window);
|
|
3614
|
-
const copy = useCallback((txt)=>_async_to_generator$
|
|
3617
|
+
const copy = useCallback((txt)=>_async_to_generator$2(function*() {
|
|
3615
3618
|
setText(txt);
|
|
3616
3619
|
try {
|
|
3617
3620
|
yield window.navigator.clipboard.writeText(txt);
|
|
@@ -4139,7 +4142,7 @@ const useElementByPoint = (options)=>{
|
|
|
4139
4142
|
};
|
|
4140
4143
|
};
|
|
4141
4144
|
|
|
4142
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4145
|
+
function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
|
|
4143
4146
|
try {
|
|
4144
4147
|
var info = gen[key](arg);
|
|
4145
4148
|
var value = info.value;
|
|
@@ -4153,16 +4156,16 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
|
4153
4156
|
Promise.resolve(value).then(_next, _throw);
|
|
4154
4157
|
}
|
|
4155
4158
|
}
|
|
4156
|
-
function _async_to_generator(fn) {
|
|
4159
|
+
function _async_to_generator$1(fn) {
|
|
4157
4160
|
return function() {
|
|
4158
4161
|
var self = this, args = arguments;
|
|
4159
4162
|
return new Promise(function(resolve, reject) {
|
|
4160
4163
|
var gen = fn.apply(self, args);
|
|
4161
4164
|
function _next(value) {
|
|
4162
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
4165
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "next", value);
|
|
4163
4166
|
}
|
|
4164
4167
|
function _throw(err) {
|
|
4165
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
4168
|
+
asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, "throw", err);
|
|
4166
4169
|
}
|
|
4167
4170
|
_next(undefined);
|
|
4168
4171
|
});
|
|
@@ -4213,7 +4216,7 @@ const useFetchEventSource = (url, options = {})=>{
|
|
|
4213
4216
|
options.onClose == null ? void 0 : options.onClose.call(options);
|
|
4214
4217
|
}
|
|
4215
4218
|
});
|
|
4216
|
-
const open = useEvent(()=>_async_to_generator(function*() {
|
|
4219
|
+
const open = useEvent(()=>_async_to_generator$1(function*() {
|
|
4217
4220
|
close();
|
|
4218
4221
|
setStatus('CONNECTING');
|
|
4219
4222
|
explicitlyClosed.current = false;
|
|
@@ -4252,7 +4255,7 @@ const useFetchEventSource = (url, options = {})=>{
|
|
|
4252
4255
|
}
|
|
4253
4256
|
yield fetchEventSource(url.toString(), _extends({}, finalOptions, {
|
|
4254
4257
|
onopen (response) {
|
|
4255
|
-
return _async_to_generator(function*() {
|
|
4258
|
+
return _async_to_generator$1(function*() {
|
|
4256
4259
|
if (response.ok) {
|
|
4257
4260
|
setStatus('CONNECTED');
|
|
4258
4261
|
setError(null);
|
|
@@ -4501,4 +4504,113 @@ const useSpeechRecognition = (options = {})=>{
|
|
|
4501
4504
|
};
|
|
4502
4505
|
};
|
|
4503
4506
|
|
|
4504
|
-
|
|
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": {
|