@ziadshalaby/ngx-zs-component 3.2.28 → 3.3.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.
|
@@ -153,9 +153,7 @@ class Alert {
|
|
|
153
153
|
effect(() => {
|
|
154
154
|
const alerts = this.alerts();
|
|
155
155
|
const oldIds = this.oldAlerts();
|
|
156
|
-
// استخرج التنبيهات الجديدة فقط
|
|
157
156
|
const newOnes = alerts.filter(a => !oldIds.has(a.id));
|
|
158
|
-
// سجّل كل تنبيه جديد
|
|
159
157
|
for (const alert of newOnes) {
|
|
160
158
|
this.registerAlert(alert);
|
|
161
159
|
}
|
|
@@ -343,9 +341,7 @@ class NavItem {
|
|
|
343
341
|
this.anyItemClickedEv.emit(this.item());
|
|
344
342
|
}
|
|
345
343
|
handleChildClick(child) {
|
|
346
|
-
// أعد إرسال الحدث لأعلى (لو فيه levels أكثر)
|
|
347
344
|
this.anyItemClickedEv.emit(child);
|
|
348
|
-
// إن كان الطفل يريد غلق القائمة، أغلق نفسي
|
|
349
345
|
if (child.closeParentMenuAfterClick) {
|
|
350
346
|
this.toggle();
|
|
351
347
|
}
|
|
@@ -374,7 +370,6 @@ class NavItem {
|
|
|
374
370
|
if (!this.isOpen() || !this.item().childrenConfig?.closeMenuOnPointerOutside === true)
|
|
375
371
|
return;
|
|
376
372
|
const target = event.target;
|
|
377
|
-
// لو الضغط خارج الـ ZS-nav-item كله
|
|
378
373
|
if (!this.host.nativeElement.contains(target)) {
|
|
379
374
|
this.toggle();
|
|
380
375
|
}
|
|
@@ -1446,7 +1441,6 @@ class Modal {
|
|
|
1446
1441
|
// ==============================================
|
|
1447
1442
|
// Model
|
|
1448
1443
|
// ==============================================
|
|
1449
|
-
/** 🔹 Model لتحديد الفتح والإغلاق */
|
|
1450
1444
|
open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : []));
|
|
1451
1445
|
// ==============================================
|
|
1452
1446
|
// Inputs
|
|
@@ -2012,7 +2006,6 @@ class ThemeToggle {
|
|
|
2012
2006
|
if (savedTop) {
|
|
2013
2007
|
this.panelTop.set(+savedTop);
|
|
2014
2008
|
}
|
|
2015
|
-
// ① تهيئة الثيم
|
|
2016
2009
|
const savedTheme = localStorage.getItem('theme');
|
|
2017
2010
|
const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)');
|
|
2018
2011
|
if (savedTheme) {
|
|
@@ -2022,7 +2015,6 @@ class ThemeToggle {
|
|
|
2022
2015
|
else {
|
|
2023
2016
|
this.currentTheme.set(systemPrefersDark.matches ? 'dark' : 'light');
|
|
2024
2017
|
}
|
|
2025
|
-
// ② مراقبة تغيّر ثيم النظام (لو المستخدم لم يختر يدويًا)
|
|
2026
2018
|
effect((onCleanup) => {
|
|
2027
2019
|
const listener = (e) => {
|
|
2028
2020
|
if (!this.userSelectedTheme()) {
|
|
@@ -2032,7 +2024,6 @@ class ThemeToggle {
|
|
|
2032
2024
|
systemPrefersDark.addEventListener('change', listener);
|
|
2033
2025
|
onCleanup(() => systemPrefersDark.removeEventListener('change', listener));
|
|
2034
2026
|
});
|
|
2035
|
-
// ③ مزامنة الثيم مع DOM و localStorage
|
|
2036
2027
|
effect(() => {
|
|
2037
2028
|
const theme = this.currentTheme();
|
|
2038
2029
|
document.documentElement.classList.toggle('dark', theme === 'dark');
|
|
@@ -2111,7 +2102,6 @@ class ThemeToggle {
|
|
|
2111
2102
|
}
|
|
2112
2103
|
this.animationFrameId = requestAnimationFrame(() => {
|
|
2113
2104
|
this.panelTop.set(targetTop);
|
|
2114
|
-
// تحديث startTop و startY بعد التحديث
|
|
2115
2105
|
this.startY = event.clientY;
|
|
2116
2106
|
this.startTop = targetTop;
|
|
2117
2107
|
this.animationFrameId = null;
|
|
@@ -2980,7 +2970,7 @@ class Range {
|
|
|
2980
2970
|
const track = this.trackRef()?.nativeElement;
|
|
2981
2971
|
if (!track)
|
|
2982
2972
|
return `${p}%`;
|
|
2983
|
-
const trackWidth = track.offsetWidth;
|
|
2973
|
+
const trackWidth = track.offsetWidth;
|
|
2984
2974
|
const displacementSizes = {
|
|
2985
2975
|
sm: 6,
|
|
2986
2976
|
md: 10,
|