Socket
Socket
Sign inDemoInstall

@rc-component/trigger

Package Overview
Dependencies
Maintainers
4
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rc-component/trigger - npm Package Compare versions

Comparing version 1.13.4 to 1.13.5

54

es/hooks/useWinClick.js

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

import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import { warning } from 'rc-util';

@@ -27,19 +28,32 @@ import { getShadowRoot } from "rc-util/es/Dom/shadow";

if (clickToHide && popupEle && (!mask || maskClosable)) {
var clickInside = false;
var genClickEvents = function genClickEvents() {
var clickInside = false;
// User may mouseDown inside and drag out of popup and mouse up
// Record here to prevent close
var onWindowMouseDown = function onWindowMouseDown(_ref) {
var target = _ref.target;
clickInside = inPopupOrChild(target);
// User may mouseDown inside and drag out of popup and mouse up
// Record here to prevent close
var onWindowMouseDown = function onWindowMouseDown(_ref) {
var target = _ref.target;
clickInside = inPopupOrChild(target);
};
var onWindowClick = function onWindowClick(_ref2) {
var target = _ref2.target;
if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {
triggerOpen(false);
}
};
return [onWindowMouseDown, onWindowClick];
};
var onWindowClick = function onWindowClick(_ref2) {
var target = _ref2.target;
if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {
triggerOpen(false);
}
};
// Events
var _genClickEvents = genClickEvents(),
_genClickEvents2 = _slicedToArray(_genClickEvents, 2),
onWinMouseDown = _genClickEvents2[0],
onWinClick = _genClickEvents2[1];
var _genClickEvents3 = genClickEvents(),
_genClickEvents4 = _slicedToArray(_genClickEvents3, 2),
onShadowMouseDown = _genClickEvents4[0],
onShadowClick = _genClickEvents4[1];
var win = getWin(popupEle);
win.addEventListener('mousedown', onWindowMouseDown);
win.addEventListener('click', onWindowClick);
win.addEventListener('mousedown', onWinMouseDown);
win.addEventListener('click', onWinClick);

@@ -49,4 +63,4 @@ // shadow root

if (targetShadowRoot) {
targetShadowRoot.addEventListener('mousedown', onWindowMouseDown);
targetShadowRoot.addEventListener('click', onWindowClick);
targetShadowRoot.addEventListener('mousedown', onShadowMouseDown);
targetShadowRoot.addEventListener('click', onShadowClick);
}

@@ -62,7 +76,7 @@

return function () {
win.removeEventListener('mousedown', onWindowMouseDown);
win.removeEventListener('click', onWindowClick);
win.removeEventListener('mousedown', onWinMouseDown);
win.removeEventListener('click', onWinClick);
if (targetShadowRoot) {
targetShadowRoot.removeEventListener('mousedown', onWindowMouseDown);
targetShadowRoot.removeEventListener('click', onWindowClick);
targetShadowRoot.removeEventListener('mousedown', onShadowMouseDown);
targetShadowRoot.removeEventListener('click', onShadowClick);
}

@@ -69,0 +83,0 @@ };

@@ -9,2 +9,3 @@ "use strict";

exports.default = useWinClick;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _rcUtil = require("rc-util");

@@ -36,19 +37,32 @@ var _shadow = require("rc-util/lib/Dom/shadow");

if (clickToHide && popupEle && (!mask || maskClosable)) {
var clickInside = false;
var genClickEvents = function genClickEvents() {
var clickInside = false;
// User may mouseDown inside and drag out of popup and mouse up
// Record here to prevent close
var onWindowMouseDown = function onWindowMouseDown(_ref) {
var target = _ref.target;
clickInside = inPopupOrChild(target);
// User may mouseDown inside and drag out of popup and mouse up
// Record here to prevent close
var onWindowMouseDown = function onWindowMouseDown(_ref) {
var target = _ref.target;
clickInside = inPopupOrChild(target);
};
var onWindowClick = function onWindowClick(_ref2) {
var target = _ref2.target;
if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {
triggerOpen(false);
}
};
return [onWindowMouseDown, onWindowClick];
};
var onWindowClick = function onWindowClick(_ref2) {
var target = _ref2.target;
if (!lockRef.current && openRef.current && !clickInside && !inPopupOrChild(target)) {
triggerOpen(false);
}
};
// Events
var _genClickEvents = genClickEvents(),
_genClickEvents2 = (0, _slicedToArray2.default)(_genClickEvents, 2),
onWinMouseDown = _genClickEvents2[0],
onWinClick = _genClickEvents2[1];
var _genClickEvents3 = genClickEvents(),
_genClickEvents4 = (0, _slicedToArray2.default)(_genClickEvents3, 2),
onShadowMouseDown = _genClickEvents4[0],
onShadowClick = _genClickEvents4[1];
var win = (0, _util.getWin)(popupEle);
win.addEventListener('mousedown', onWindowMouseDown);
win.addEventListener('click', onWindowClick);
win.addEventListener('mousedown', onWinMouseDown);
win.addEventListener('click', onWinClick);

@@ -58,4 +72,4 @@ // shadow root

if (targetShadowRoot) {
targetShadowRoot.addEventListener('mousedown', onWindowMouseDown);
targetShadowRoot.addEventListener('click', onWindowClick);
targetShadowRoot.addEventListener('mousedown', onShadowMouseDown);
targetShadowRoot.addEventListener('click', onShadowClick);
}

@@ -71,7 +85,7 @@

return function () {
win.removeEventListener('mousedown', onWindowMouseDown);
win.removeEventListener('click', onWindowClick);
win.removeEventListener('mousedown', onWinMouseDown);
win.removeEventListener('click', onWinClick);
if (targetShadowRoot) {
targetShadowRoot.removeEventListener('mousedown', onWindowMouseDown);
targetShadowRoot.removeEventListener('click', onWindowClick);
targetShadowRoot.removeEventListener('mousedown', onShadowMouseDown);
targetShadowRoot.removeEventListener('click', onShadowClick);
}

@@ -78,0 +92,0 @@ };

{
"name": "@rc-component/trigger",
"version": "1.13.4",
"version": "1.13.5",
"description": "base abstract trigger component for react",

@@ -5,0 +5,0 @@ "engines": {

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