@eric-emg/symphiq-components 1.2.48 → 1.2.50
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/symphiq-components.mjs +38 -13
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +17 -2
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +6 -0
|
@@ -21426,7 +21426,11 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21426
21426
|
}, ...(ngDevMode ? [{ debugName: "chartsById" }] : []));
|
|
21427
21427
|
// Pre-computed styling classes
|
|
21428
21428
|
this.headerClass = computed(() => {
|
|
21429
|
-
|
|
21429
|
+
const isLight = this.isLightMode();
|
|
21430
|
+
const baseClasses = isLight
|
|
21431
|
+
? 'bg-white/90 backdrop-blur-sm'
|
|
21432
|
+
: 'bg-slate-900/80 backdrop-blur-sm';
|
|
21433
|
+
return `${baseClasses} transition-all duration-300`;
|
|
21430
21434
|
}, ...(ngDevMode ? [{ debugName: "headerClass" }] : []));
|
|
21431
21435
|
this.headerTitleClass = computed(() => this.isLightMode() ? 'text-slate-900' : 'text-white', ...(ngDevMode ? [{ debugName: "headerTitleClass" }] : []));
|
|
21432
21436
|
this.headerSubtitleClass = computed(() => this.isLightMode() ? 'text-slate-600' : 'text-slate-400', ...(ngDevMode ? [{ debugName: "headerSubtitleClass" }] : []));
|
|
@@ -21600,26 +21604,39 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21600
21604
|
// Handle scroll events from parent
|
|
21601
21605
|
effect(() => {
|
|
21602
21606
|
const scrollEvent = this.scrollEvent();
|
|
21603
|
-
|
|
21607
|
+
const isEmbedded = this.embedded();
|
|
21608
|
+
console.log('[SCROLL v6] Effect triggered', {
|
|
21609
|
+
hasScrollEvent: !!scrollEvent,
|
|
21610
|
+
isEmbedded,
|
|
21611
|
+
scrollEventType: scrollEvent?.type,
|
|
21612
|
+
scrollEventDetail: scrollEvent?.detail
|
|
21613
|
+
});
|
|
21614
|
+
if (!scrollEvent) {
|
|
21615
|
+
console.log('[SCROLL v6] No scroll event provided');
|
|
21616
|
+
return;
|
|
21617
|
+
}
|
|
21618
|
+
if (!isEmbedded) {
|
|
21619
|
+
console.log('[SCROLL v6] Not in embedded mode, ignoring scroll event');
|
|
21604
21620
|
return;
|
|
21605
21621
|
}
|
|
21606
21622
|
const detail = scrollEvent.detail;
|
|
21607
21623
|
if (!detail) {
|
|
21624
|
+
console.log('[SCROLL v6] No detail in scroll event');
|
|
21608
21625
|
return;
|
|
21609
21626
|
}
|
|
21610
21627
|
const scrollTop = detail.scrollTop || 0;
|
|
21611
|
-
|
|
21628
|
+
const scrollLeft = detail.scrollLeft || 0;
|
|
21629
|
+
const isScrolling = detail.isScrolling;
|
|
21630
|
+
console.log('[SCROLL v6] Processing scroll event', {
|
|
21612
21631
|
scrollTop,
|
|
21613
|
-
|
|
21632
|
+
scrollLeft,
|
|
21633
|
+
isScrolling,
|
|
21634
|
+
currentHeaderState: this.isScrolled(),
|
|
21635
|
+
isProgrammaticScroll: this.isProgrammaticScroll
|
|
21614
21636
|
});
|
|
21615
|
-
// Update scroll progress
|
|
21616
|
-
const scrollHeight = detail.scrollHeight || 0;
|
|
21617
|
-
const clientHeight = detail.clientHeight || 0;
|
|
21618
|
-
const maxScroll = scrollHeight - clientHeight;
|
|
21619
|
-
const progress = maxScroll > 0 ? (scrollTop / maxScroll) * 100 : 0;
|
|
21620
|
-
this.scrollProgress.set(Math.min(100, Math.max(0, progress)));
|
|
21621
21637
|
// Skip during programmatic scrolling
|
|
21622
21638
|
if (this.isProgrammaticScroll) {
|
|
21639
|
+
console.log('[SCROLL v6] Skipping - programmatic scroll in progress');
|
|
21623
21640
|
return;
|
|
21624
21641
|
}
|
|
21625
21642
|
// Simple threshold-based state changes with hysteresis
|
|
@@ -21627,13 +21644,21 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
21627
21644
|
const EXPAND_THRESHOLD = 30;
|
|
21628
21645
|
const currentState = this.isScrolled();
|
|
21629
21646
|
if (!currentState && scrollTop > COLLAPSE_THRESHOLD) {
|
|
21630
|
-
console.log('[SCROLL v6]
|
|
21647
|
+
console.log('[SCROLL v6] ✓ COLLAPSING HEADER', { scrollTop, threshold: COLLAPSE_THRESHOLD });
|
|
21631
21648
|
this.isScrolled.set(true);
|
|
21632
21649
|
}
|
|
21633
21650
|
else if (currentState && scrollTop < EXPAND_THRESHOLD) {
|
|
21634
|
-
console.log('[SCROLL v6]
|
|
21651
|
+
console.log('[SCROLL v6] ✓ EXPANDING HEADER', { scrollTop, threshold: EXPAND_THRESHOLD });
|
|
21635
21652
|
this.isScrolled.set(false);
|
|
21636
21653
|
}
|
|
21654
|
+
else {
|
|
21655
|
+
console.log('[SCROLL v6] No state change needed', {
|
|
21656
|
+
currentState: currentState ? 'collapsed' : 'expanded',
|
|
21657
|
+
scrollTop,
|
|
21658
|
+
collapseThreshold: COLLAPSE_THRESHOLD,
|
|
21659
|
+
expandThreshold: EXPAND_THRESHOLD
|
|
21660
|
+
});
|
|
21661
|
+
}
|
|
21637
21662
|
});
|
|
21638
21663
|
// Manage loading state with minimum display time
|
|
21639
21664
|
effect(() => {
|
|
@@ -23270,7 +23295,7 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
23270
23295
|
type: HostListener,
|
|
23271
23296
|
args: ['window:scroll', ['$event']]
|
|
23272
23297
|
}] }); })();
|
|
23273
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber:
|
|
23298
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqFunnelAnalysisDashboardComponent, { className: "SymphiqFunnelAnalysisDashboardComponent", filePath: "lib/components/funnel-analysis-dashboard/symphiq-funnel-analysis-dashboard.component.ts", lineNumber: 1027 }); })();
|
|
23274
23299
|
|
|
23275
23300
|
/**
|
|
23276
23301
|
* Shared Theme Color Utilities
|