@mintplayer/ng-bootstrap 21.24.0 → 21.25.0
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/package.json
CHANGED
|
@@ -84,6 +84,9 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
84
84
|
static configureDocument(documentRef: Document | null | undefined): void;
|
|
85
85
|
static get observedAttributes(): string[];
|
|
86
86
|
private static instanceCounter;
|
|
87
|
+
private static readonly TOUCH_LONG_PRESS_MS;
|
|
88
|
+
private static readonly TOUCH_LONG_PRESS_SLOP_PX;
|
|
89
|
+
private static readonly TOUCH_PRESS_FEEDBACK_DELAY_MS;
|
|
87
90
|
private documentRef;
|
|
88
91
|
private windowRef;
|
|
89
92
|
private rootEl;
|
|
@@ -199,13 +202,36 @@ declare class MintDockManagerElement extends LitElement {
|
|
|
199
202
|
private captureTabDragMetrics;
|
|
200
203
|
private clearPendingTabDragMetrics;
|
|
201
204
|
/**
|
|
202
|
-
* Pointerdown handler arms a "may become a drag" gesture.
|
|
203
|
-
*
|
|
204
|
-
* {@link
|
|
205
|
-
*
|
|
206
|
-
*
|
|
205
|
+
* Pointerdown handler arms a "may become a drag" gesture. Mouse / pen use a
|
|
206
|
+
* 5 px distance threshold and arm immediately; touch dispatches to
|
|
207
|
+
* {@link armPaneDragGestureTouch} which requires a 600 ms stationary hold
|
|
208
|
+
* (so the user can scroll the tabstrip natively without undocking).
|
|
209
|
+
* Once armed, both paths converge on {@link beginPaneDrag}. All listeners
|
|
210
|
+
* self-clean on resolve so the gesture stays scoped to a single pointerdown.
|
|
207
211
|
*/
|
|
208
212
|
private armPaneDragGesture;
|
|
213
|
+
/**
|
|
214
|
+
* Touch-specific gesture arming. With `.dock-tab` set to `touch-action:
|
|
215
|
+
* none`, the browser never arbitrates the gesture itself, so JS owns it
|
|
216
|
+
* from frame 1. Three outcomes from the pending state:
|
|
217
|
+
*
|
|
218
|
+
* - User holds within {@link TOUCH_LONG_PRESS_SLOP_PX} for
|
|
219
|
+
* {@link TOUCH_LONG_PRESS_MS} → timer fires → drag arms via
|
|
220
|
+
* {@link beginPaneDrag}.
|
|
221
|
+
* - User moves past slop and the move is mostly horizontal, and the
|
|
222
|
+
* strip's `<ul>` is scrollable → enter `scrolling` mode and drive
|
|
223
|
+
* `ul.scrollLeft` from JS for the rest of the gesture (no drag, no
|
|
224
|
+
* momentum — direct 1:1 finger follow).
|
|
225
|
+
* - User moves past slop in any other direction, releases, or
|
|
226
|
+
* pointercancel fires → abandoned, no drag, no scroll. Releases
|
|
227
|
+
* under slop fire the synthesized click that drives `tab-activate`.
|
|
228
|
+
*
|
|
229
|
+
* `touch-action: pan-x` was the original PRD design but doesn't work:
|
|
230
|
+
* the policy is frozen at touchstart and `setPointerCapture` doesn't
|
|
231
|
+
* promote it, so first move after a long-press fires pointercancel and
|
|
232
|
+
* strands the panel. JS-driven scroll is the only model that holds.
|
|
233
|
+
*/
|
|
234
|
+
private armPaneDragGestureTouch;
|
|
209
235
|
private beginPaneDrag;
|
|
210
236
|
private preparePaneDragSource;
|
|
211
237
|
private endPaneDrag;
|