Socket
Socket
Sign inDemoInstall

react-onclickoutside

Package Overview
Dependencies
Maintainers
1
Versions
79
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-onclickoutside - npm Package Compare versions

Comparing version 5.8.4 to 5.9.0

16

index.js

@@ -55,6 +55,13 @@ /**

/**
* Check if the browser scrollbar was clicked
*/
var clickedScrollbar = function(evt) {
return document.documentElement.clientWidth <= evt.clientX;
};
/**
* Generate the event handler that checks whether a clicked DOM node
* is inside of, or lives outside of, our Component's node tree.
*/
var generateOutsideCheck = function(componentNode, componentInstance, eventHandler, ignoreClass, preventDefault, stopPropagation) {
var generateOutsideCheck = function(componentNode, componentInstance, eventHandler, ignoreClass, excludeScrollbar, preventDefault, stopPropagation) {
return function(evt) {

@@ -68,3 +75,3 @@ if (preventDefault) {

var current = evt.target;
if(findHighest(current, componentNode, ignoreClass) !== document) {
if((excludeScrollbar && clickedScrollbar(evt)) || (findHighest(current, componentNode, ignoreClass) !== document)) {
return;

@@ -166,2 +173,3 @@ }

this.props.outsideClickIgnoreClass || IGNORE_CLASS,
this.props.excludeScrollbar || false,
this.props.preventDefault || false,

@@ -248,3 +256,5 @@ this.props.stopPropagation || false

Object.keys(this.props).forEach(function(key) {
props[key] = passedProps[key];
if (key !== 'excludeScrollbar') {
props[key] = passedProps[key];
}
});

@@ -251,0 +261,0 @@ if (Component.prototype.isReactComponent) {

2

package.json
{
"name": "react-onclickoutside",
"version": "5.8.4",
"version": "5.9.0",
"description": "An onClickOutside wrapper for React components",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -193,2 +193,20 @@ # An onClickOutside wrapper for React components

## Regulate whether or not to listen to scrollbar clicks
By default this HOC will listen for "clicks inside the document", which may include clicks that occur on the scrollbar. Quite often clicking on the scrollbar *should* close whatever is open but in case your project invalidates that assumption you can use the `excludeScrollbar` property to explicitly tell the HOC that clicks on the scrollbar should be ignored:
```js
var onClickOutside = require('react-onclickoutside');
var MyComponent = onClickOutside(React.createClass({
...
}));
var Container = React.createClass({
render: function(evt) {
return <MyComponent excludeScrollbar={true} />
}
});
```
## Regulating `evt.preventDefault()` and `evt.stopPropagation()`

@@ -195,0 +213,0 @@

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