@chakra-ui/clickable
Advanced tools
Comparing version 1.0.1 to 1.0.2
# Change Log | ||
## 1.0.2 | ||
### Patch Changes | ||
- Updated dependencies | ||
[[`e73878ee`](https://github.com/chakra-ui/chakra-ui/commit/e73878ee686c11d3f94ad6ac61b19ae9508d75a5)]: | ||
- @chakra-ui/utils@1.0.2 | ||
## 1.0.1 | ||
@@ -4,0 +12,0 @@ |
@@ -100,4 +100,3 @@ "use strict"; | ||
}, [isDisabled, onClick]); | ||
var onDocumentKeyUp = function onDocumentKeyUp(e) { | ||
var onDocumentKeyUp = React.useCallback(function (e) { | ||
if (isPressed && isValidElement(e)) { | ||
@@ -110,4 +109,3 @@ e.preventDefault(); | ||
} | ||
}; | ||
}, [isPressed, listeners]); | ||
var handleKeyDown = React.useCallback(function (event) { | ||
@@ -136,3 +134,3 @@ onKeyDown == null ? void 0 : onKeyDown(event); | ||
listeners.add(document, "keyup", onDocumentKeyUp, false); | ||
}, [isDisabled, isButton, onKeyDown, clickOnEnter, clickOnSpace]); | ||
}, [isDisabled, isButton, onKeyDown, clickOnEnter, clickOnSpace, listeners, onDocumentKeyUp]); | ||
var handleKeyUp = React.useCallback(function (event) { | ||
@@ -151,9 +149,7 @@ onKeyUp == null ? void 0 : onKeyUp(event); | ||
}, [clickOnSpace, isButton, isDisabled, onKeyUp]); | ||
var onDocumentMouseUp = function onDocumentMouseUp(event) { | ||
var onDocumentMouseUp = React.useCallback(function (event) { | ||
if (event.button !== 0) return; | ||
setIsPressed(false); | ||
listeners.remove(document, "mouseup", onDocumentMouseUp, false); | ||
}; | ||
}, [listeners]); | ||
var handleMouseDown = React.useCallback(function (event) { | ||
@@ -178,3 +174,3 @@ if ((0, _utils.isRightClick)(event)) return; | ||
onMouseDown == null ? void 0 : onMouseDown(event); | ||
}, [isDisabled, isButton, onMouseDown]); | ||
}, [isDisabled, isButton, onMouseDown, listeners, onDocumentMouseUp]); | ||
var handleMouseUp = React.useCallback(function (event) { | ||
@@ -204,3 +200,3 @@ if ((0, _utils.isRightClick)(event)) return; | ||
onMouseLeave == null ? void 0 : onMouseLeave(event); | ||
}, [isPressed]); | ||
}, [isPressed, onMouseLeave]); | ||
var ref = (0, _utils.mergeRefs)(htmlRef, refCallback); | ||
@@ -207,0 +203,0 @@ |
@@ -14,2 +14,3 @@ "use strict"; | ||
var listeners = React.useRef(new Map()); | ||
var currentListeners = listeners.current; | ||
var add = React.useCallback(function (el, type, listener, options) { | ||
@@ -29,7 +30,7 @@ listeners.current.set(listener, { | ||
return function () { | ||
listeners.current.forEach(function (value, key) { | ||
currentListeners.forEach(function (value, key) { | ||
remove(value.el, value.type, key, value.options); | ||
}); | ||
}; | ||
}, [remove]); | ||
}, [remove, currentListeners]); | ||
return { | ||
@@ -36,0 +37,0 @@ add: add, |
@@ -84,4 +84,3 @@ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } | ||
}, [isDisabled, onClick]); | ||
var onDocumentKeyUp = e => { | ||
var onDocumentKeyUp = React.useCallback(e => { | ||
if (isPressed && isValidElement(e)) { | ||
@@ -94,4 +93,3 @@ e.preventDefault(); | ||
} | ||
}; | ||
}, [isPressed, listeners]); | ||
var handleKeyDown = React.useCallback(event => { | ||
@@ -120,3 +118,3 @@ onKeyDown == null ? void 0 : onKeyDown(event); | ||
listeners.add(document, "keyup", onDocumentKeyUp, false); | ||
}, [isDisabled, isButton, onKeyDown, clickOnEnter, clickOnSpace]); | ||
}, [isDisabled, isButton, onKeyDown, clickOnEnter, clickOnSpace, listeners, onDocumentKeyUp]); | ||
var handleKeyUp = React.useCallback(event => { | ||
@@ -135,9 +133,7 @@ onKeyUp == null ? void 0 : onKeyUp(event); | ||
}, [clickOnSpace, isButton, isDisabled, onKeyUp]); | ||
var onDocumentMouseUp = event => { | ||
var onDocumentMouseUp = React.useCallback(event => { | ||
if (event.button !== 0) return; | ||
setIsPressed(false); | ||
listeners.remove(document, "mouseup", onDocumentMouseUp, false); | ||
}; | ||
}, [listeners]); | ||
var handleMouseDown = React.useCallback(event => { | ||
@@ -162,3 +158,3 @@ if (isRightClick(event)) return; | ||
onMouseDown == null ? void 0 : onMouseDown(event); | ||
}, [isDisabled, isButton, onMouseDown]); | ||
}, [isDisabled, isButton, onMouseDown, listeners, onDocumentMouseUp]); | ||
var handleMouseUp = React.useCallback(event => { | ||
@@ -188,3 +184,3 @@ if (isRightClick(event)) return; | ||
onMouseLeave == null ? void 0 : onMouseLeave(event); | ||
}, [isPressed]); | ||
}, [isPressed, onMouseLeave]); | ||
var ref = mergeRefs(htmlRef, refCallback); | ||
@@ -191,0 +187,0 @@ |
import * as React from "react"; | ||
export function useEventListeners() { | ||
var listeners = React.useRef(new Map()); | ||
var currentListeners = listeners.current; | ||
var add = React.useCallback((el, type, listener, options) => { | ||
@@ -16,9 +17,7 @@ listeners.current.set(listener, { | ||
}, []); | ||
React.useEffect(() => { | ||
return () => { | ||
listeners.current.forEach((value, key) => { | ||
remove(value.el, value.type, key, value.options); | ||
}); | ||
}; | ||
}, [remove]); | ||
React.useEffect(() => () => { | ||
currentListeners.forEach((value, key) => { | ||
remove(value.el, value.type, key, value.options); | ||
}); | ||
}, [remove, currentListeners]); | ||
return { | ||
@@ -25,0 +24,0 @@ add, |
{ | ||
"name": "@chakra-ui/clickable", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "React hook and component that implements native button interactions", | ||
@@ -54,3 +54,3 @@ "keywords": [ | ||
"dependencies": { | ||
"@chakra-ui/utils": "1.0.1" | ||
"@chakra-ui/utils": "1.0.2" | ||
}, | ||
@@ -57,0 +57,0 @@ "peerDependencies": { |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
100411
+ Added@chakra-ui/utils@1.0.2(transitive)
- Removed@chakra-ui/utils@1.0.1(transitive)
Updated@chakra-ui/utils@1.0.2