@ajuarezso/sui-design-system 0.11.3 → 0.11.4
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.
|
@@ -10945,38 +10945,29 @@ class SuiModalSheet {
|
|
|
10945
10945
|
}
|
|
10946
10946
|
this.lastMoveY = event.clientY;
|
|
10947
10947
|
this.lastMoveTime = now;
|
|
10948
|
-
/* Patrón scroll-then-drag
|
|
10949
|
-
|
|
10950
|
-
|
|
10951
|
-
|
|
10948
|
+
/* Patrón scroll-then-drag: con contenido scrolleado (scrollTop > 0) el
|
|
10949
|
+
scroll nativo SIEMPRE manda — el sheet solo toma el gesto en top 0 con
|
|
10950
|
+
el dedo hacia abajo. La rama vieja de "fling down desde mid-scroll"
|
|
10951
|
+
(colapsar con swipe > 600px/s haciendo body.scrollTop = 0) se ELIMINÓ:
|
|
10952
|
+
teletransportaba la lista del último item al primero en cuanto el
|
|
10953
|
+
supresor iOS dejó fluir los eventos (bug real 2026-07-24). 600px/s es
|
|
10954
|
+
velocidad de scroll normal, no intención de colapso. */
|
|
10952
10955
|
const body = this.bodyRef?.nativeElement;
|
|
10953
10956
|
if (this.atMaxBreakpoint() && body) {
|
|
10954
10957
|
const hasOverflow = body.scrollHeight > body.clientHeight;
|
|
10955
10958
|
if (hasOverflow) {
|
|
10956
10959
|
const scrollTop = body.scrollTop;
|
|
10957
10960
|
const draggingDown = deltaY > 0;
|
|
10958
|
-
|
|
10959
|
-
|
|
10960
|
-
if (scrollTop > 0 && !flingingDown) {
|
|
10961
|
-
/* Body scrolleando suave — dejamos al scroll nativo, mantenemos
|
|
10962
|
-
armed para re-evaluar fling en próximos moves. */
|
|
10961
|
+
if (scrollTop > 0) {
|
|
10962
|
+
/* Contenido a medio scroll — scroll nativo, sin excepciones. */
|
|
10963
10963
|
return;
|
|
10964
10964
|
}
|
|
10965
|
-
if (
|
|
10966
|
-
/* Top del body + drag arriba →
|
|
10967
|
-
|
|
10965
|
+
if (!draggingDown) {
|
|
10966
|
+
/* Top del body + drag arriba → scrollea contenido; no desarmamos
|
|
10967
|
+
por si el user cambia dirección. */
|
|
10968
10968
|
return;
|
|
10969
10969
|
}
|
|
10970
|
-
/*
|
|
10971
|
-
tomar control del sheet. Si fue fling desde scroll mid, resetear
|
|
10972
|
-
scrollTop para que el drag arranque limpio sin "salto". */
|
|
10973
|
-
if (scrollTop > 0 && flingingDown) {
|
|
10974
|
-
body.scrollTop = 0;
|
|
10975
|
-
/* Reset dragStartY al posición actual del fling para que el drag
|
|
10976
|
-
del sheet no interprete los pixels ya scrolleados como delta. */
|
|
10977
|
-
this.dragStartY = event.clientY;
|
|
10978
|
-
this.dragStartProgress = this.currentBreakpoint();
|
|
10979
|
-
}
|
|
10970
|
+
/* scrollTop = 0 + dedo abajo → el sheet toma el gesto. */
|
|
10980
10971
|
}
|
|
10981
10972
|
}
|
|
10982
10973
|
this.bodyDragArmed = false;
|