@rc-component/trigger
Advanced tools
Comparing version 1.15.1 to 1.15.2
@@ -1,1 +0,1 @@ | ||
export default function useWatch(open: boolean, target: HTMLElement, popup: HTMLElement, onAlign: VoidFunction): void; | ||
export default function useWatch(open: boolean, target: HTMLElement, popup: HTMLElement, onAlign: VoidFunction, onScroll: VoidFunction): void; |
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; | ||
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect"; | ||
import { collectScroller, getWin } from "../util"; | ||
export default function useWatch(open, target, popup, onAlign) { | ||
export default function useWatch(open, target, popup, onAlign, onScroll) { | ||
useLayoutEffect(function () { | ||
@@ -15,2 +15,3 @@ if (open && target && popup) { | ||
onAlign(); | ||
onScroll(); | ||
} | ||
@@ -17,0 +18,0 @@ mergedList.forEach(function (scroller) { |
@@ -229,2 +229,8 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; | ||
onAlign = _useAlign2[10]; | ||
var _useAction = useAction(mobile, action, showAction, hideAction), | ||
_useAction2 = _slicedToArray(_useAction, 2), | ||
showActions = _useAction2[0], | ||
hideActions = _useAction2[1]; | ||
var clickToShow = showActions.has('click'); | ||
var clickToHide = hideActions.has('click') || hideActions.has('contextMenu'); | ||
var triggerAlign = useEvent(function () { | ||
@@ -235,3 +241,8 @@ if (!inMotion) { | ||
}); | ||
useWatch(mergedOpen, targetEle, popupEle, triggerAlign); | ||
var onScroll = function onScroll() { | ||
if (openRef.current && alignPoint && clickToHide) { | ||
triggerOpen(false); | ||
} | ||
}; | ||
useWatch(mergedOpen, targetEle, popupEle, triggerAlign, onScroll); | ||
useLayoutEffect(function () { | ||
@@ -299,7 +310,2 @@ triggerAlign(); | ||
// =========================== Action =========================== | ||
var _useAction = useAction(mobile, action, showAction, hideAction), | ||
_useAction2 = _slicedToArray(_useAction, 2), | ||
showActions = _useAction2[0], | ||
hideActions = _useAction2[1]; | ||
/** | ||
@@ -323,4 +329,2 @@ * Util wrapper for trigger action | ||
// ======================= Action: Click ======================== | ||
var clickToShow = showActions.has('click'); | ||
var clickToHide = hideActions.has('click') || hideActions.has('contextMenu'); | ||
if (clickToShow || clickToHide) { | ||
@@ -327,0 +331,0 @@ cloneProps.onClick = function (event) { |
@@ -1,1 +0,1 @@ | ||
export default function useWatch(open: boolean, target: HTMLElement, popup: HTMLElement, onAlign: VoidFunction): void; | ||
export default function useWatch(open: boolean, target: HTMLElement, popup: HTMLElement, onAlign: VoidFunction, onScroll: VoidFunction): void; |
@@ -11,3 +11,3 @@ "use strict"; | ||
var _util = require("../util"); | ||
function useWatch(open, target, popup, onAlign) { | ||
function useWatch(open, target, popup, onAlign, onScroll) { | ||
(0, _useLayoutEffect.default)(function () { | ||
@@ -23,2 +23,3 @@ if (open && target && popup) { | ||
onAlign(); | ||
onScroll(); | ||
} | ||
@@ -25,0 +26,0 @@ mergedList.forEach(function (scroller) { |
@@ -239,2 +239,8 @@ "use strict"; | ||
onAlign = _useAlign2[10]; | ||
var _useAction = (0, _useAction3.default)(mobile, action, showAction, hideAction), | ||
_useAction2 = (0, _slicedToArray2.default)(_useAction, 2), | ||
showActions = _useAction2[0], | ||
hideActions = _useAction2[1]; | ||
var clickToShow = showActions.has('click'); | ||
var clickToHide = hideActions.has('click') || hideActions.has('contextMenu'); | ||
var triggerAlign = (0, _useEvent.default)(function () { | ||
@@ -245,3 +251,8 @@ if (!inMotion) { | ||
}); | ||
(0, _useWatch.default)(mergedOpen, targetEle, popupEle, triggerAlign); | ||
var onScroll = function onScroll() { | ||
if (openRef.current && alignPoint && clickToHide) { | ||
triggerOpen(false); | ||
} | ||
}; | ||
(0, _useWatch.default)(mergedOpen, targetEle, popupEle, triggerAlign, onScroll); | ||
(0, _useLayoutEffect.default)(function () { | ||
@@ -309,7 +320,2 @@ triggerAlign(); | ||
// =========================== Action =========================== | ||
var _useAction = (0, _useAction3.default)(mobile, action, showAction, hideAction), | ||
_useAction2 = (0, _slicedToArray2.default)(_useAction, 2), | ||
showActions = _useAction2[0], | ||
hideActions = _useAction2[1]; | ||
/** | ||
@@ -333,4 +339,2 @@ * Util wrapper for trigger action | ||
// ======================= Action: Click ======================== | ||
var clickToShow = showActions.has('click'); | ||
var clickToHide = hideActions.has('click') || hideActions.has('contextMenu'); | ||
if (clickToShow || clickToHide) { | ||
@@ -337,0 +341,0 @@ cloneProps.onClick = function (event) { |
{ | ||
"name": "@rc-component/trigger", | ||
"version": "1.15.1", | ||
"version": "1.15.2", | ||
"description": "base abstract trigger component for react", | ||
@@ -5,0 +5,0 @@ "engines": { |
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
177334
3931