@ziadshalaby/ngx-zs-component 3.1.6 → 3.1.7

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.
@@ -1929,7 +1929,7 @@ class ThemeToggle {
1929
1929
  setManualTheme = input(null, ...(ngDevMode ? [{ debugName: "setManualTheme" }] : []));
1930
1930
  fromTop = input(1 / 4, ...(ngDevMode ? [{ debugName: "fromTop" }] : []));
1931
1931
  panelTop = linkedSignal(() => window.innerHeight * this.fromTop(), ...(ngDevMode ? [{ debugName: "panelTop" }] : []));
1932
- lastPanelTop = signal(this.panelTop(), ...(ngDevMode ? [{ debugName: "lastPanelTop" }] : []));
1932
+ pressTop = signal(0, ...(ngDevMode ? [{ debugName: "pressTop" }] : []));
1933
1933
  isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : []));
1934
1934
  startY = 0;
1935
1935
  startTop = 0;
@@ -1944,7 +1944,6 @@ class ThemeToggle {
1944
1944
  const savedTop = localStorage.getItem('themeToggleTop');
1945
1945
  if (savedTop) {
1946
1946
  this.panelTop.set(+savedTop);
1947
- this.lastPanelTop.set(+savedTop);
1948
1947
  }
1949
1948
  // ① تهيئة الثيم
1950
1949
  const savedTheme = localStorage.getItem('theme');
@@ -1999,10 +1998,10 @@ class ThemeToggle {
1999
1998
  // Component Methods
2000
1999
  // ==============================================
2001
2000
  isDragged() {
2002
- const p = this.panelTop;
2003
- const l = this.lastPanelTop;
2004
- if (p() !== l()) {
2005
- l.set(p());
2001
+ const DRAG_THRESHOLD = 6; // px
2002
+ const moved = Math.abs(this.panelTop() - this.pressTop()) > DRAG_THRESHOLD;
2003
+ if (moved) {
2004
+ this.pressTop.set(this.panelTop());
2006
2005
  return true;
2007
2006
  }
2008
2007
  return false;
@@ -2025,6 +2024,7 @@ class ThemeToggle {
2025
2024
  this.isDragging.set(true);
2026
2025
  this.startY = event.clientY;
2027
2026
  this.startTop = this.panelTop();
2027
+ this.pressTop.set(this.panelTop());
2028
2028
  event.target.setPointerCapture(event.pointerId);
2029
2029
  }
2030
2030
  onDragMove(event) {