codexly-ui 0.5.0 → 0.5.2
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/fesm2022/codexly-ui.mjs
CHANGED
|
@@ -2321,6 +2321,12 @@ class ClxTooltipDirective {
|
|
|
2321
2321
|
host.addEventListener('mouseleave', () => this._scheduleHide(), { signal });
|
|
2322
2322
|
host.addEventListener('focus', () => this._scheduleShow(), { signal });
|
|
2323
2323
|
host.addEventListener('blur', () => this._scheduleHide(), { signal });
|
|
2324
|
+
// Touch devices fire 'mouseenter'/'focus' on tap but never a real
|
|
2325
|
+
// 'mouseleave' — dismiss immediately (no fade) once the tap completes so
|
|
2326
|
+
// the bubble can't outlive the tap and float over whatever the tap
|
|
2327
|
+
// triggered (e.g. a modal opening on the same gesture).
|
|
2328
|
+
host.addEventListener('touchend', () => this._hideImmediate(), { signal });
|
|
2329
|
+
host.addEventListener('touchcancel', () => this._hideImmediate(), { signal });
|
|
2324
2330
|
this._destroyRef.onDestroy(() => {
|
|
2325
2331
|
this._destroyed = true;
|
|
2326
2332
|
this._abort.abort();
|
|
@@ -2402,6 +2408,18 @@ class ClxTooltipDirective {
|
|
|
2402
2408
|
ref.destroy();
|
|
2403
2409
|
});
|
|
2404
2410
|
}
|
|
2411
|
+
/** Synchronous teardown, no fade — used on touchend so the bubble can't linger over UI the tap opens. */
|
|
2412
|
+
_hideImmediate() {
|
|
2413
|
+
this._clearTimers();
|
|
2414
|
+
this._destroyBubble();
|
|
2415
|
+
if (this._pendingRef) {
|
|
2416
|
+
const el = this._pendingRef.location.nativeElement;
|
|
2417
|
+
this._animate.stop(el);
|
|
2418
|
+
this._appRef.detachView(this._pendingRef.hostView);
|
|
2419
|
+
this._pendingRef.destroy();
|
|
2420
|
+
this._pendingRef = null;
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
2405
2423
|
// ── Positioning ──────────────────────────────────────────────────────────
|
|
2406
2424
|
_resolvePosition(el) {
|
|
2407
2425
|
const requested = this.clxTooltipPosition();
|