🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@bone-ui/hooks

Package Overview
Dependencies
Maintainers
2
Versions
44
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bone-ui/hooks - npm Package Compare versions

Comparing version

to
0.26.0

tsconfig.json

95

dist/hooks.cjs.development.js

@@ -13,4 +13,3 @@ 'use strict';

var _useRef = React.useRef(controlledValue !== undefined),
controlled = _useRef.current;
controlled = _useRef.current;
return {

@@ -32,3 +31,2 @@ value: controlled ? controlledValue : stateValue,

*/
var useSafeLayoutEffect = utils.isBrowser ? React__default.useLayoutEffect : React__default.useEffect;

@@ -42,3 +40,2 @@

*/
function useLatestRef(value) {

@@ -52,79 +49,4 @@ var ref = React__default.useRef(value);

/**
* Example, used in components like Dialogs and Popovers so they can close
* when a user clicks outside them.
*/
function useOutsideClick(props) {
var ref = props.ref,
handler = props.handler;
var savedHandler = useLatestRef(handler);
var stateRef = React.useRef({
isPointerDown: false,
ignoreEmulatedMouseEvents: false
});
var state = stateRef.current;
React.useEffect(function () {
var onPointerDown = function onPointerDown(e) {
if (isValidEvent(e, ref)) {
state.isPointerDown = true;
}
};
var onMouseUp = function onMouseUp(event) {
if (state.ignoreEmulatedMouseEvents) {
state.ignoreEmulatedMouseEvents = false;
return;
}
if (state.isPointerDown && handler && isValidEvent(event, ref)) {
state.isPointerDown = false;
savedHandler.current == null ? void 0 : savedHandler.current(event);
}
};
var onTouchEnd = function onTouchEnd(event) {
state.ignoreEmulatedMouseEvents = true;
if (state.isPointerDown && isValidEvent(event, ref)) {
state.isPointerDown = false;
savedHandler.current == null ? void 0 : savedHandler.current(event);
}
};
document.addEventListener('mousedown', onPointerDown, true);
document.addEventListener('mouseup', onMouseUp, true);
document.addEventListener('touchstart', onPointerDown, true);
document.addEventListener('touchend', onTouchEnd, true);
return function () {
document.removeEventListener('mousedown', onPointerDown, true);
document.removeEventListener('mouseup', onMouseUp, true);
document.removeEventListener('touchstart', onPointerDown, true);
document.removeEventListener('touchend', onTouchEnd, true);
};
}, [handler, ref, savedHandler, state]);
}
function isValidEvent(event, ref) {
var target = event.target;
if (event.button > 0) return false; // if the event target is no longer in the document
if (target) {
var ownerDocument = target.ownerDocument;
if (target.nodeName === 'HTML') {
return true;
}
if (!ownerDocument || !ownerDocument.body.contains(target)) {
return false;
}
}
return ref.current && !ref.current.contains(target);
}
var handoffComplete = false;
var id = 0;
var genId = function genId() {

@@ -139,11 +61,7 @@ return ++id;

*/
function useId(idProp, prefix) {
var initialId = idProp || (handoffComplete ? genId() : null);
var _React$useState = React__default.useState(initialId),
uid = _React$useState[0],
setUid = _React$useState[1];
uid = _React$useState[0],
setUid = _React$useState[1];
useSafeLayoutEffect(function () {

@@ -165,7 +83,5 @@ if (uid === null) setUid(genId());

}
var _useState = React.useState(isOpenDefault),
isOpen = _useState[0],
setIsOpen = _useState[1];
isOpen = _useState[0],
setIsOpen = _useState[1];
var open = React.useCallback(function () {

@@ -194,4 +110,3 @@ return setIsOpen(true);

exports.useLatestRef = useLatestRef;
exports.useOutsideClick = useOutsideClick;
exports.useSafeLayoutEffect = useSafeLayoutEffect;
//# sourceMappingURL=hooks.cjs.development.js.map

@@ -1,2 +0,2 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@fower/utils").isBrowser?n.useLayoutEffect:n.useEffect;function u(e){var t=n.useRef(e);return n.useEffect((function(){t.current=e}),[e]),t}function o(e,t){var n=e.target;if(e.button>0)return!1;if(n){var r=n.ownerDocument;if("HTML"===n.nodeName)return!0;if(!r||!r.body.contains(n))return!1}return t.current&&!t.current.contains(n)}var s=!1,i=0,c=function(){return++i};exports.useControlledInfo=function(e,n){var r=t.useRef(void 0!==e).current;return{value:r?e:n,controlled:r}},exports.useDisclosure=function(e){void 0===e&&(e=!1);var n=t.useState(e),r=n[1];return{isOpen:n[0],open:t.useCallback((function(){return r(!0)}),[]),close:t.useCallback((function(){return r(!1)}),[]),toggle:t.useCallback((function(){return r((function(e){return!e}))}),[])}},exports.useId=function(e,t){var u=e||(s?c():null),o=n.useState(u),i=o[0],f=o[1];r((function(){null===i&&f(c())}),[]),n.useEffect((function(){!1===s&&(s=!0)}),[]);var a=null!=i?i.toString():void 0;return t?t+"-"+a:a},exports.useLatestRef=u,exports.useOutsideClick=function(e){var n=e.ref,r=e.handler,s=u(r),i=t.useRef({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;t.useEffect((function(){var e=function(e){o(e,n)&&(i.isPointerDown=!0)},t=function(e){i.ignoreEmulatedMouseEvents?i.ignoreEmulatedMouseEvents=!1:i.isPointerDown&&r&&o(e,n)&&(i.isPointerDown=!1,null==s.current||s.current(e))},u=function(e){i.ignoreEmulatedMouseEvents=!0,i.isPointerDown&&o(e,n)&&(i.isPointerDown=!1,null==s.current||s.current(e))};return document.addEventListener("mousedown",e,!0),document.addEventListener("mouseup",t,!0),document.addEventListener("touchstart",e,!0),document.addEventListener("touchend",u,!0),function(){document.removeEventListener("mousedown",e,!0),document.removeEventListener("mouseup",t,!0),document.removeEventListener("touchstart",e,!0),document.removeEventListener("touchend",u,!0)}}),[r,n,s,i])},exports.useSafeLayoutEffect=r;
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),u=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@fower/utils").isBrowser?u.useLayoutEffect:u.useEffect,n=!1,o=0,s=function(){return++o};exports.useControlledInfo=function(e,u){var r=t.useRef(void 0!==e).current;return{value:r?e:u,controlled:r}},exports.useDisclosure=function(e){void 0===e&&(e=!1);var u=t.useState(e),r=u[1];return{isOpen:u[0],open:t.useCallback((function(){return r(!0)}),[]),close:t.useCallback((function(){return r(!1)}),[]),toggle:t.useCallback((function(){return r((function(e){return!e}))}),[])}},exports.useId=function(e,t){var o=e||(n?s():null),f=u.useState(o),c=f[0],i=f[1];r((function(){null===c&&i(s())}),[]),u.useEffect((function(){!1===n&&(n=!0)}),[]);var l=null!=c?c.toString():void 0;return t?t+"-"+l:l},exports.useLatestRef=function(e){var t=u.useRef(e);return u.useEffect((function(){t.current=e}),[e]),t},exports.useSafeLayoutEffect=r;
//# sourceMappingURL=hooks.cjs.production.min.js.map

@@ -1,2 +0,2 @@

import React, { useRef, useEffect, useState, useCallback } from 'react';
import React, { useRef, useState, useCallback } from 'react';
import { isBrowser } from '@fower/utils';

@@ -6,4 +6,3 @@

var _useRef = useRef(controlledValue !== undefined),
controlled = _useRef.current;
controlled = _useRef.current;
return {

@@ -25,3 +24,2 @@ value: controlled ? controlledValue : stateValue,

*/
var useSafeLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;

@@ -35,3 +33,2 @@

*/
function useLatestRef(value) {

@@ -45,79 +42,4 @@ var ref = React.useRef(value);

/**
* Example, used in components like Dialogs and Popovers so they can close
* when a user clicks outside them.
*/
function useOutsideClick(props) {
var ref = props.ref,
handler = props.handler;
var savedHandler = useLatestRef(handler);
var stateRef = useRef({
isPointerDown: false,
ignoreEmulatedMouseEvents: false
});
var state = stateRef.current;
useEffect(function () {
var onPointerDown = function onPointerDown(e) {
if (isValidEvent(e, ref)) {
state.isPointerDown = true;
}
};
var onMouseUp = function onMouseUp(event) {
if (state.ignoreEmulatedMouseEvents) {
state.ignoreEmulatedMouseEvents = false;
return;
}
if (state.isPointerDown && handler && isValidEvent(event, ref)) {
state.isPointerDown = false;
savedHandler.current == null ? void 0 : savedHandler.current(event);
}
};
var onTouchEnd = function onTouchEnd(event) {
state.ignoreEmulatedMouseEvents = true;
if (state.isPointerDown && isValidEvent(event, ref)) {
state.isPointerDown = false;
savedHandler.current == null ? void 0 : savedHandler.current(event);
}
};
document.addEventListener('mousedown', onPointerDown, true);
document.addEventListener('mouseup', onMouseUp, true);
document.addEventListener('touchstart', onPointerDown, true);
document.addEventListener('touchend', onTouchEnd, true);
return function () {
document.removeEventListener('mousedown', onPointerDown, true);
document.removeEventListener('mouseup', onMouseUp, true);
document.removeEventListener('touchstart', onPointerDown, true);
document.removeEventListener('touchend', onTouchEnd, true);
};
}, [handler, ref, savedHandler, state]);
}
function isValidEvent(event, ref) {
var target = event.target;
if (event.button > 0) return false; // if the event target is no longer in the document
if (target) {
var ownerDocument = target.ownerDocument;
if (target.nodeName === 'HTML') {
return true;
}
if (!ownerDocument || !ownerDocument.body.contains(target)) {
return false;
}
}
return ref.current && !ref.current.contains(target);
}
var handoffComplete = false;
var id = 0;
var genId = function genId() {

@@ -132,11 +54,7 @@ return ++id;

*/
function useId(idProp, prefix) {
var initialId = idProp || (handoffComplete ? genId() : null);
var _React$useState = React.useState(initialId),
uid = _React$useState[0],
setUid = _React$useState[1];
uid = _React$useState[0],
setUid = _React$useState[1];
useSafeLayoutEffect(function () {

@@ -158,7 +76,5 @@ if (uid === null) setUid(genId());

}
var _useState = useState(isOpenDefault),
isOpen = _useState[0],
setIsOpen = _useState[1];
isOpen = _useState[0],
setIsOpen = _useState[1];
var open = useCallback(function () {

@@ -183,3 +99,3 @@ return setIsOpen(true);

export { useControlledInfo, useDisclosure, useId, useLatestRef, useOutsideClick, useSafeLayoutEffect };
export { useControlledInfo, useDisclosure, useId, useLatestRef, useSafeLayoutEffect };
//# sourceMappingURL=hooks.esm.js.map
export * from './useControlledInfo';
export * from './useSafeLayoutEffect';
export * from './useLatestRef';
export * from './useOutsideClick';
export * from './useId';
export * from './useDisclosure';
{
"name": "@bone-ui/hooks",
"version": "0.25.0",
"license": "MIT",
"version": "0.26.0",
"main": "dist/index.js",
"module": "dist/hooks.esm.js",
"typings": "dist/index.d.ts",
"files": [
"dist",
"src"
],
"engines": {
"node": ">=10"
},
"scripts": {

@@ -20,8 +13,9 @@ "start": "tsdx watch",

},
"author": "forsigner",
"module": "dist/hooks.esm.js",
"dependencies": {
"@bone-ui/utils": "^0.25.0"
"author": "@forsigner",
"devDependencies": {
"tsdx": "^0.14.1",
"tslib": "^2.4.1",
"typescript": "^4.9.4"
},
"gitHead": "39b7d355e13975accaae6ac2ecc011a68e3078ff"
"gitHead": "3004e36be18646c86cee431136179b216d240a85"
}

@@ -1,1 +0,3 @@

# @bone-ui/hooks
# Bone UI
> A high customizable component library for React

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet