@rc-component/trigger 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/hooks/useAlign.js +8 -6
- package/lib/hooks/useAlign.js +8 -6
- package/package.json +1 -1
package/es/hooks/useAlign.js
CHANGED
|
@@ -212,14 +212,16 @@ export default function useAlign(open, popupEle, target, placement, builtinPlace
|
|
|
212
212
|
|
|
213
213
|
// ============== Intersection ===============
|
|
214
214
|
// Get area by position. Used for check if flip area is better
|
|
215
|
-
function getIntersectionVisibleArea(
|
|
216
|
-
var
|
|
217
|
-
var
|
|
218
|
-
var
|
|
219
|
-
var
|
|
215
|
+
function getIntersectionVisibleArea(offsetX, offsetY) {
|
|
216
|
+
var l = popupRect.x + offsetX;
|
|
217
|
+
var t = popupRect.y + offsetY;
|
|
218
|
+
var r = l + popupWidth;
|
|
219
|
+
var b = t + popupHeight;
|
|
220
|
+
var visibleL = Math.max(l, visibleArea.left);
|
|
221
|
+
var visibleT = Math.max(t, visibleArea.top);
|
|
220
222
|
var visibleR = Math.min(r, visibleArea.right);
|
|
221
223
|
var visibleB = Math.min(b, visibleArea.bottom);
|
|
222
|
-
return (visibleR -
|
|
224
|
+
return (visibleR - visibleL) * (visibleB - visibleT);
|
|
223
225
|
}
|
|
224
226
|
var originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);
|
|
225
227
|
|
package/lib/hooks/useAlign.js
CHANGED
|
@@ -220,14 +220,16 @@ function useAlign(open, popupEle, target, placement, builtinPlacements, popupAli
|
|
|
220
220
|
|
|
221
221
|
// ============== Intersection ===============
|
|
222
222
|
// Get area by position. Used for check if flip area is better
|
|
223
|
-
function getIntersectionVisibleArea(
|
|
224
|
-
var
|
|
225
|
-
var
|
|
226
|
-
var
|
|
227
|
-
var
|
|
223
|
+
function getIntersectionVisibleArea(offsetX, offsetY) {
|
|
224
|
+
var l = popupRect.x + offsetX;
|
|
225
|
+
var t = popupRect.y + offsetY;
|
|
226
|
+
var r = l + popupWidth;
|
|
227
|
+
var b = t + popupHeight;
|
|
228
|
+
var visibleL = Math.max(l, visibleArea.left);
|
|
229
|
+
var visibleT = Math.max(t, visibleArea.top);
|
|
228
230
|
var visibleR = Math.min(r, visibleArea.right);
|
|
229
231
|
var visibleB = Math.min(b, visibleArea.bottom);
|
|
230
|
-
return (visibleR -
|
|
232
|
+
return (visibleR - visibleL) * (visibleB - visibleT);
|
|
231
233
|
}
|
|
232
234
|
var originIntersectionVisibleArea = getIntersectionVisibleArea(nextOffsetX, nextOffsetY);
|
|
233
235
|
|