Socket
Socket
Sign inDemoInstall

@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 0.25.0 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc