@reactuses/core 1.1.0 → 1.1.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/{dist/LICENSE → LICENSE} +0 -0
- package/{dist/README.md → README.md} +0 -0
- package/dist/index.cjs +22 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.mjs +22 -1
- package/package.json +2 -1
package/{dist/LICENSE → LICENSE}
RENAMED
|
File without changes
|
|
File without changes
|
package/dist/index.cjs
CHANGED
|
@@ -2407,6 +2407,27 @@ function useCycleList(list, i = 0) {
|
|
|
2407
2407
|
return [list[index], next, prev];
|
|
2408
2408
|
}
|
|
2409
2409
|
|
|
2410
|
+
function useFocus(target, initialValue = false) {
|
|
2411
|
+
const [focus, innerSetFocus] = react.useState(initialValue);
|
|
2412
|
+
useEventListener("focus", () => innerSetFocus(true), target);
|
|
2413
|
+
useEventListener("blur", () => innerSetFocus(false), target);
|
|
2414
|
+
useMount(() => {
|
|
2415
|
+
setFocus(focus);
|
|
2416
|
+
});
|
|
2417
|
+
const setFocus = (value) => {
|
|
2418
|
+
const element = getTargetElement(target);
|
|
2419
|
+
if (!element) {
|
|
2420
|
+
return;
|
|
2421
|
+
}
|
|
2422
|
+
if (!value) {
|
|
2423
|
+
element.blur();
|
|
2424
|
+
} else if (value) {
|
|
2425
|
+
element.focus();
|
|
2426
|
+
}
|
|
2427
|
+
};
|
|
2428
|
+
return [focus, setFocus];
|
|
2429
|
+
}
|
|
2430
|
+
|
|
2410
2431
|
exports.useActiveElement = useActiveElement;
|
|
2411
2432
|
exports.useClickOutside = useClickOutSide;
|
|
2412
2433
|
exports.useClipboard = useClipBorad;
|
|
@@ -2429,6 +2450,7 @@ exports.useEventListener = useEventListener;
|
|
|
2429
2450
|
exports.useFavicon = useFavicon;
|
|
2430
2451
|
exports.useFileDialog = useFileDialog;
|
|
2431
2452
|
exports.useFirstMountState = useFirstMountState;
|
|
2453
|
+
exports.useFocus = useFocus;
|
|
2432
2454
|
exports.useFps = useFps$1;
|
|
2433
2455
|
exports.useFullscreen = useFullscreen;
|
|
2434
2456
|
exports.useGeolocation = useGeolocation;
|
package/dist/index.d.ts
CHANGED
|
@@ -684,7 +684,7 @@ declare function useElementBounding(target: BasicTarget, options?: UseElementBou
|
|
|
684
684
|
readonly update: () => void;
|
|
685
685
|
};
|
|
686
686
|
|
|
687
|
-
declare function useElementVisibility(target: BasicTarget<HTMLElement | SVGElement>, options?: IntersectionObserverInit): readonly [
|
|
687
|
+
declare function useElementVisibility(target: BasicTarget<HTMLElement | SVGElement>, options?: IntersectionObserverInit): readonly [boolean, () => void];
|
|
688
688
|
|
|
689
689
|
declare function useWindowsFocus(): boolean;
|
|
690
690
|
|
|
@@ -710,4 +710,6 @@ declare function useClickOutSide(target: BasicTarget, handler: (evt: EventType)
|
|
|
710
710
|
|
|
711
711
|
declare function useCycleList<T>(list: T[], i?: number): readonly [T, (i?: number) => void, (i?: number) => void];
|
|
712
712
|
|
|
713
|
-
|
|
713
|
+
declare function useFocus(target: BasicTarget<HTMLElement | SVGElement>, initialValue?: boolean): readonly [boolean, (value: boolean) => void];
|
|
714
|
+
|
|
715
|
+
export { useActiveElement, useClickOutSide as useClickOutside, useClipBorad as useClipboard, useCounter, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useFavicon, useFileDialog, useFirstMountState, useFocus, _default as useFps, useFullscreen, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, _default$1 as useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, _default$3 as useUpdateEffect, _default$2 as useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|
package/dist/index.mjs
CHANGED
|
@@ -2403,4 +2403,25 @@ function useCycleList(list, i = 0) {
|
|
|
2403
2403
|
return [list[index], next, prev];
|
|
2404
2404
|
}
|
|
2405
2405
|
|
|
2406
|
-
|
|
2406
|
+
function useFocus(target, initialValue = false) {
|
|
2407
|
+
const [focus, innerSetFocus] = useState(initialValue);
|
|
2408
|
+
useEventListener("focus", () => innerSetFocus(true), target);
|
|
2409
|
+
useEventListener("blur", () => innerSetFocus(false), target);
|
|
2410
|
+
useMount(() => {
|
|
2411
|
+
setFocus(focus);
|
|
2412
|
+
});
|
|
2413
|
+
const setFocus = (value) => {
|
|
2414
|
+
const element = getTargetElement(target);
|
|
2415
|
+
if (!element) {
|
|
2416
|
+
return;
|
|
2417
|
+
}
|
|
2418
|
+
if (!value) {
|
|
2419
|
+
element.blur();
|
|
2420
|
+
} else if (value) {
|
|
2421
|
+
element.focus();
|
|
2422
|
+
}
|
|
2423
|
+
};
|
|
2424
|
+
return [focus, setFocus];
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2427
|
+
export { useActiveElement, useClickOutSide as useClickOutside, useClipBorad as useClipboard, useCounter, useCustomCompareEffect, useCycleList, useDarkMode, useDebounce, useDebounceFn, useDeepCompareEffect, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementSize, useElementVisibility, useEvent, useEventEmitter, useEventListener, useFavicon, useFileDialog, useFirstMountState, useFocus, useFps$1 as useFps, useFullscreen, useGeolocation, useIdle, useInfiniteScroll, useIntersectionObserver, useInterval, useIsomorphicLayoutEffect, useKeyModifier, useLatest, useLocalStorage, useLongPress, useMediaDevices$1 as useMediaDevices, useMediaQuery, useMount, useMountedState, useMouse, useMousePressed, useMutationObserver, useNetwork, useObjectUrl, useOnline, useOrientation, usePageLeave, usePermission, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePrevious, useRafFn, useRafState, useResizeObserver, useScriptTag, useScroll, useScrollLock, useSessionStorage, useTextDirection, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useTitle, useToggle, useUnmount, useUpdate, useUpdateEffect, useUpdateLayoutEffect, useVirtualList, useWindowScroll, useWindowSize, useWindowsFocus };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reactuses/core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"main": "./dist/index.cjs",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"lint": "eslint \"{hooks,tests}/**/*.{ts,tsx}\"",
|
|
26
26
|
"build": "esno scripts/build.ts",
|
|
27
27
|
"build:rollup": "cross-env NODE_OPTIONS=\"--max-old-space-size=6144\" rollup -c",
|
|
28
|
+
"dev": "cross-env NODE_OPTIONS=\"--max-old-space-size=6144\" rollup -c --watch",
|
|
28
29
|
"publish:ci": "esno scripts/publish.ts",
|
|
29
30
|
"release:prepare": "bump",
|
|
30
31
|
"release": "esno scripts/release.ts",
|