@rc-component/trigger
Advanced tools
Comparing version 1.18.0 to 1.18.1
@@ -15,3 +15,2 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2"; | ||
import * as React from 'react'; | ||
import { flushSync } from 'react-dom'; | ||
import Popup from "./Popup"; | ||
@@ -168,11 +167,15 @@ import TriggerWrapper from "./TriggerWrapper"; | ||
openRef.current = mergedOpen; | ||
var lastTriggerRef = React.useRef([]); | ||
lastTriggerRef.current = []; | ||
var internalTriggerOpen = useEvent(function (nextOpen) { | ||
var _lastTriggerRef$curre; | ||
setMergedOpen(nextOpen); | ||
// Enter or Pointer will both trigger open state change | ||
// We only need take one to avoid duplicated change event trigger | ||
flushSync(function () { | ||
if (mergedOpen !== nextOpen) { | ||
setMergedOpen(nextOpen); | ||
onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen); | ||
} | ||
}); | ||
// Use `lastTriggerRef` to record last open type | ||
if (((_lastTriggerRef$curre = lastTriggerRef.current[lastTriggerRef.current.length - 1]) !== null && _lastTriggerRef$curre !== void 0 ? _lastTriggerRef$curre : mergedOpen) !== nextOpen) { | ||
lastTriggerRef.current.push(nextOpen); | ||
onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen); | ||
} | ||
}); | ||
@@ -179,0 +182,0 @@ |
@@ -23,3 +23,2 @@ "use strict"; | ||
var React = _interopRequireWildcard(require("react")); | ||
var _reactDom = require("react-dom"); | ||
var _Popup = _interopRequireDefault(require("./Popup")); | ||
@@ -178,11 +177,15 @@ var _TriggerWrapper = _interopRequireDefault(require("./TriggerWrapper")); | ||
openRef.current = mergedOpen; | ||
var lastTriggerRef = React.useRef([]); | ||
lastTriggerRef.current = []; | ||
var internalTriggerOpen = (0, _useEvent.default)(function (nextOpen) { | ||
var _lastTriggerRef$curre; | ||
setMergedOpen(nextOpen); | ||
// Enter or Pointer will both trigger open state change | ||
// We only need take one to avoid duplicated change event trigger | ||
(0, _reactDom.flushSync)(function () { | ||
if (mergedOpen !== nextOpen) { | ||
setMergedOpen(nextOpen); | ||
onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen); | ||
} | ||
}); | ||
// Use `lastTriggerRef` to record last open type | ||
if (((_lastTriggerRef$curre = lastTriggerRef.current[lastTriggerRef.current.length - 1]) !== null && _lastTriggerRef$curre !== void 0 ? _lastTriggerRef$curre : mergedOpen) !== nextOpen) { | ||
lastTriggerRef.current.push(nextOpen); | ||
onPopupVisibleChange === null || onPopupVisibleChange === void 0 || onPopupVisibleChange(nextOpen); | ||
} | ||
}); | ||
@@ -189,0 +192,0 @@ |
{ | ||
"name": "@rc-component/trigger", | ||
"version": "1.18.0", | ||
"version": "1.18.1", | ||
"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
181450
4001