@eric-emg/symphiq-components 1.2.504 → 1.2.506
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 +68 -57
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +46 -42
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/styles.css +3 -3
|
@@ -1906,15 +1906,18 @@ class MetricFormatterService {
|
|
|
1906
1906
|
|
|
1907
1907
|
class HeaderScrollService {
|
|
1908
1908
|
constructor() {
|
|
1909
|
-
this.DEFAULT_COLLAPSE_THRESHOLD =
|
|
1910
|
-
this.DEFAULT_EXPAND_THRESHOLD =
|
|
1911
|
-
this.DEFAULT_STATE_CHANGE_COOLDOWN =
|
|
1912
|
-
this.DEFAULT_DEBOUNCE_DELAY =
|
|
1909
|
+
this.DEFAULT_COLLAPSE_THRESHOLD = 150;
|
|
1910
|
+
this.DEFAULT_EXPAND_THRESHOLD = 10;
|
|
1911
|
+
this.DEFAULT_STATE_CHANGE_COOLDOWN = 300;
|
|
1912
|
+
this.DEFAULT_DEBOUNCE_DELAY = 150;
|
|
1913
1913
|
this.isScrolled = signal(false, ...(ngDevMode ? [{ debugName: "isScrolled" }] : []));
|
|
1914
1914
|
this.scrollProgress = signal(0, ...(ngDevMode ? [{ debugName: "scrollProgress" }] : []));
|
|
1915
1915
|
this.scrollTimeout = null;
|
|
1916
1916
|
this.lastStateChangeTime = 0;
|
|
1917
1917
|
this.isProgrammaticScroll = false;
|
|
1918
|
+
this.lastScrollPosition = 0;
|
|
1919
|
+
this.scrollStabilityCount = 0;
|
|
1920
|
+
this.STABILITY_THRESHOLD = 3;
|
|
1918
1921
|
this.config = {
|
|
1919
1922
|
collapseThreshold: this.DEFAULT_COLLAPSE_THRESHOLD,
|
|
1920
1923
|
expandThreshold: this.DEFAULT_EXPAND_THRESHOLD,
|
|
@@ -1957,7 +1960,15 @@ class HeaderScrollService {
|
|
|
1957
1960
|
else if (currentState && scrollPosition < this.config.expandThreshold) {
|
|
1958
1961
|
newState = false;
|
|
1959
1962
|
}
|
|
1960
|
-
|
|
1963
|
+
const scrollDelta = Math.abs(scrollPosition - this.lastScrollPosition);
|
|
1964
|
+
this.lastScrollPosition = scrollPosition;
|
|
1965
|
+
if (scrollDelta < 5) {
|
|
1966
|
+
this.scrollStabilityCount++;
|
|
1967
|
+
}
|
|
1968
|
+
else {
|
|
1969
|
+
this.scrollStabilityCount = 0;
|
|
1970
|
+
}
|
|
1971
|
+
if (currentState !== newState && this.scrollStabilityCount >= this.STABILITY_THRESHOLD) {
|
|
1961
1972
|
this.scrollTimeout = setTimeout(() => {
|
|
1962
1973
|
const finalPosition = window.scrollY;
|
|
1963
1974
|
const finalCurrentState = this.isScrolled();
|
|
@@ -1971,6 +1982,7 @@ class HeaderScrollService {
|
|
|
1971
1982
|
if (this.isScrolled() !== finalState) {
|
|
1972
1983
|
this.isScrolled.set(finalState);
|
|
1973
1984
|
this.lastStateChangeTime = Date.now();
|
|
1985
|
+
this.scrollStabilityCount = 0;
|
|
1974
1986
|
}
|
|
1975
1987
|
}, this.config.debounceDelay);
|
|
1976
1988
|
}
|
|
@@ -24249,6 +24261,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
24249
24261
|
this.maxAccessibleStepId = input(undefined, ...(ngDevMode ? [{ debugName: "maxAccessibleStepId" }] : []));
|
|
24250
24262
|
this.nextStepClick = output();
|
|
24251
24263
|
this.stepClick = output();
|
|
24264
|
+
this.headerScrollService = inject(HeaderScrollService);
|
|
24252
24265
|
// Hover state for desktop tooltips
|
|
24253
24266
|
this.hoveredStepIndex = signal(null, ...(ngDevMode ? [{ debugName: "hoveredStepIndex" }] : []));
|
|
24254
24267
|
this.hoverTimeout = null;
|
|
@@ -24633,7 +24646,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
24633
24646
|
return idx >= Math.floor(this.steps().length / 2);
|
|
24634
24647
|
}
|
|
24635
24648
|
static { this.ɵfac = function JourneyProgressIndicatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JourneyProgressIndicatorComponent)(); }; }
|
|
24636
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars:
|
|
24649
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: JourneyProgressIndicatorComponent, selectors: [["symphiq-journey-progress-indicator"]], inputs: { viewMode: [1, "viewMode"], currentStepId: [1, "currentStepId"], showNextStepAction: [1, "showNextStepAction"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { nextStepClick: "nextStepClick", stepClick: "stepClick" }, decls: 25, vars: 14, consts: [[1, "sticky", "z-40", "border-b", "pt-8", "pb-6", "px-6", "transition-all", "duration-200", "overflow-visible", 3, "ngClass"], [1, "max-w-7xl", "mx-auto", "overflow-visible"], [1, "hidden", "lg:flex", "items-start", "justify-between", "overflow-visible"], [1, "flex-1", "flex", "items-start", "justify-start", "overflow-visible"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "lg:hidden"], [1, "flex", "items-center", "justify-between", "gap-4"], [1, "flex-1", "flex", "items-center", "gap-3"], [1, "w-10", "h-10", "min-w-[2.5rem]", "min-h-[2.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-5", "h-5"], [1, "w-3", "h-3", "min-w-[0.75rem]", "min-h-[0.75rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "text-sm", "font-bold", 3, "ngClass"], [1, "flex-1", "text-left"], [1, "flex", "items-center", "gap-1.5", "relative", 3, "mouseenter", "mouseleave", "click"], [1, "text-xs", "cursor-pointer", 3, "ngClass"], [1, "p-0.5", "rounded-full", "cursor-pointer", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "absolute", "top-full", "left-0", "mt-2", "w-80", "max-w-[calc(100vw-2rem)]", "p-4", "rounded-lg", "shadow-xl", "z-50", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "disabled", "ngClass", "cursor-pointer", "cursor-not-allowed", "opacity-50", "hover:scale-105"], [1, "flex", "flex-col", "items-center", "relative", "step-column", "overflow-visible", "flex-shrink-0", 3, "mouseenter", "mouseleave", "click"], [1, "w-8", "h-8", "min-w-[2rem]", "min-h-[2rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", "step-circle", "relative", "z-10", "mb-1.5", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-4", "h-4"], [1, "w-2.5", "h-2.5", "min-w-[0.625rem]", "min-h-[0.625rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", 3, "ngClass"], [1, "text-xs", "font-bold", 3, "ngClass"], [1, "text-[10px]", "text-center", "leading-tight", "whitespace-nowrap", "max-w-[64px]", "overflow-hidden", "text-ellipsis", 3, "ngClass"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass", "expanded-card-right", "expanded-card-left", "top", "left", "right"], [1, "flex-1", "h-0.5", "transition-all", "duration-200", "mt-[16px]", 3, "ngClass"], ["fill-rule", "evenodd", "d", "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule", "evenodd"], [1, "absolute", "rounded-lg", "shadow-2xl", "z-50", "pointer-events-none", 3, "ngClass"], [1, "flex", "items-start", "px-4", "py-3", "expanded-content"], [1, "flex", "items-start", "gap-2", "w-full"], [1, "text-xs", "font-bold", "flex-shrink-0", "mt-0.5", 3, "ngClass"], [1, "flex", "flex-col", "gap-1", "flex-1"], [1, "text-sm", "font-bold", "leading-tight", 3, "ngClass"], [1, "text-xs", "leading-relaxed", "description-fade", 3, "ngClass"], ["type", "button", 1, "px-4", "py-2", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-2", "whitespace-nowrap", "ml-4", "mt-0", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-4", "h-4", "animate-spin"], ["cx", "12", "cy", "12", "r", "10", "stroke", "currentColor", "stroke-width", "4", 1, "opacity-25"], ["fill", "currentColor", "d", "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z", 1, "opacity-75"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"], [1, "text-sm", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "flex", "items-start", "gap-2"], [1, "w-6", "h-6", "min-w-[1.5rem]", "min-h-[1.5rem]", "rounded-full", "flex", "items-center", "justify-center", "flex-shrink-0", 3, "ngClass"], ["fill", "currentColor", "viewBox", "0 0 20 20", 1, "w-3", "h-3"], [1, "w-2", "h-2", "min-w-[0.5rem]", "min-h-[0.5rem]", "rounded-full", "animate-pulse", 3, "ngClass"], [1, "w-1.5", "h-1.5", "min-w-[0.375rem]", "min-h-[0.375rem]", "rounded-full", 3, "ngClass"], [1, "text-[10px]", "font-bold", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-2"], [1, "text-xs", "font-medium", 3, "ngClass"], [1, "text-[10px]", "mt-0.5", 3, "ngClass"], ["type", "button", 1, "px-3", "py-1.5", "rounded-lg", "font-medium", "text-xs", "transition-all", "duration-200", "flex-shrink-0", "flex", "items-center", "gap-1.5", "whitespace-nowrap", 3, "click", "disabled", "ngClass"], ["fill", "none", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5", "animate-spin"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3.5", "h-3.5"]], template: function JourneyProgressIndicatorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
24637
24650
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
24638
24651
|
i0.ɵɵrepeaterCreate(4, JourneyProgressIndicatorComponent_For_5_Template, 10, 10, null, null, _forTrack0$R);
|
|
24639
24652
|
i0.ɵɵelementEnd();
|
|
@@ -24660,6 +24673,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
24660
24673
|
i0.ɵɵconditionalCreate(24, JourneyProgressIndicatorComponent_Conditional_24_Template, 3, 11, "button", 19);
|
|
24661
24674
|
i0.ɵɵelementEnd()()()();
|
|
24662
24675
|
} if (rf & 2) {
|
|
24676
|
+
i0.ɵɵstyleProp("top", ctx.headerScrollService.isScrolled() ? "52px" : "100px");
|
|
24663
24677
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
24664
24678
|
i0.ɵɵadvance(4);
|
|
24665
24679
|
i0.ɵɵrepeater(ctx.steps());
|
|
@@ -24689,7 +24703,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
24689
24703
|
type: Component,
|
|
24690
24704
|
args: [{ selector: 'symphiq-journey-progress-indicator', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
|
|
24691
24705
|
<!-- Sticky Banner Container with Minimal Padding for Glow Effects -->
|
|
24692
|
-
<div [ngClass]="containerClasses()" class="sticky
|
|
24706
|
+
<div [ngClass]="containerClasses()" class="sticky z-40 border-b pt-8 pb-6 px-6 transition-all duration-200 overflow-visible" [style.top]="headerScrollService.isScrolled() ? '52px' : '100px'">
|
|
24693
24707
|
<div class="max-w-7xl mx-auto overflow-visible">
|
|
24694
24708
|
<!-- Desktop/Tablet Horizontal Layout (lg and up) -->
|
|
24695
24709
|
<div class="hidden lg:flex items-start justify-between overflow-visible">
|
|
@@ -24909,7 +24923,7 @@ class JourneyProgressIndicatorComponent {
|
|
|
24909
24923
|
</div>
|
|
24910
24924
|
`, styles: [".scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.step-glow-current{box-shadow:0 0 0 3px #3b82f64d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-current-dark{box-shadow:0 0 0 3px #60a5fa4d;animation:pulseGlow 2s ease-in-out infinite}.step-glow-completed{box-shadow:0 0 0 2px #10b98133}.step-glow-completed-dark{box-shadow:0 0 0 2px #34d39933}.step-glow-accessible{box-shadow:0 0 0 2px #3b82f61f}.step-glow-accessible-dark{box-shadow:0 0 0 2px #60a5fa26}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 3px #3b82f64d}50%{box-shadow:0 0 0 6px #3b82f61a}}.step-column{transition:all .2s cubic-bezier(.4,0,.2,1)}.step-circle{transition:all .15s cubic-bezier(.4,0,.2,1)}.step-column:hover .step-circle{transform:scale(1.05)}.expanded-card-right{animation:expandCardRight .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:left center}.expanded-card-left{animation:expandCardLeft .2s cubic-bezier(.4,0,.2,1) forwards;transform-origin:right center}@keyframes expandCardRight{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}@keyframes expandCardLeft{0%{opacity:0;width:0;min-height:90px}to{opacity:1;width:300px;min-height:90px}}.description-fade{animation:fadeIn .15s ease-out forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}.expanded-content{animation:contentFadeIn .15s ease-out .1s forwards;opacity:0}@keyframes contentFadeIn{to{opacity:1}}\n"] }]
|
|
24911
24925
|
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], currentStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentStepId", required: false }] }], showNextStepAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "showNextStepAction", required: false }] }], forDemo: [{ type: i0.Input, args: [{ isSignal: true, alias: "forDemo", required: false }] }], maxAccessibleStepId: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxAccessibleStepId", required: false }] }], nextStepClick: [{ type: i0.Output, args: ["nextStepClick"] }], stepClick: [{ type: i0.Output, args: ["stepClick"] }] }); })();
|
|
24912
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JourneyProgressIndicatorComponent, { className: "JourneyProgressIndicatorComponent", filePath: "lib/components/business-analysis-dashboard/journey-progress-indicator.component.ts", lineNumber:
|
|
24926
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(JourneyProgressIndicatorComponent, { className: "JourneyProgressIndicatorComponent", filePath: "lib/components/business-analysis-dashboard/journey-progress-indicator.component.ts", lineNumber: 370 }); })();
|
|
24913
24927
|
|
|
24914
24928
|
class ConfidenceLevelCardComponent {
|
|
24915
24929
|
constructor() {
|
|
@@ -68665,16 +68679,16 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68665
68679
|
}] }); })();
|
|
68666
68680
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqBusinessAnalysisDashboardComponent, { className: "SymphiqBusinessAnalysisDashboardComponent", filePath: "lib/components/business-analysis-dashboard/symphiq-business-analysis-dashboard.component.ts", lineNumber: 351 }); })();
|
|
68667
68681
|
|
|
68668
|
-
function
|
|
68669
|
-
i0.ɵɵelement(0, "div",
|
|
68682
|
+
function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
68683
|
+
i0.ɵɵelement(0, "div", 6);
|
|
68670
68684
|
} }
|
|
68671
|
-
function
|
|
68685
|
+
function DashboardHeaderComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
68672
68686
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
68673
|
-
i0.ɵɵelementStart(0, "div",
|
|
68674
|
-
i0.ɵɵlistener("searchClick", function
|
|
68687
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "symphiq-search-button", 14);
|
|
68688
|
+
i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_11_Template_symphiq_search_button_searchClick_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
|
|
68675
68689
|
i0.ɵɵelementEnd();
|
|
68676
68690
|
i0.ɵɵelementStart(2, "button", 15);
|
|
68677
|
-
i0.ɵɵlistener("click", function
|
|
68691
|
+
i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_11_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
|
|
68678
68692
|
i0.ɵɵnamespaceSVG();
|
|
68679
68693
|
i0.ɵɵelementStart(3, "svg", 16);
|
|
68680
68694
|
i0.ɵɵelement(4, "path", 17)(5, "path", 18);
|
|
@@ -68692,7 +68706,7 @@ function DashboardHeaderComponent_Conditional_12_Template(rf, ctx) { if (rf & 1)
|
|
|
68692
68706
|
i0.ɵɵadvance(5);
|
|
68693
68707
|
i0.ɵɵtextInterpolate(ctx_r1.viewModeLabel());
|
|
68694
68708
|
} }
|
|
68695
|
-
function
|
|
68709
|
+
function DashboardHeaderComponent_Conditional_12_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
68696
68710
|
i0.ɵɵelementStart(0, "div", 19)(1, "div", 20);
|
|
68697
68711
|
i0.ɵɵtext(2, "Generated At");
|
|
68698
68712
|
i0.ɵɵelementEnd();
|
|
@@ -68708,7 +68722,7 @@ function DashboardHeaderComponent_Conditional_13_Conditional_1_Template(rf, ctx)
|
|
|
68708
68722
|
i0.ɵɵadvance();
|
|
68709
68723
|
i0.ɵɵtextInterpolate(ctx_r1.formattedGeneratedDate());
|
|
68710
68724
|
} }
|
|
68711
|
-
function
|
|
68725
|
+
function DashboardHeaderComponent_Conditional_12_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
68712
68726
|
i0.ɵɵelementStart(0, "div", 19)(1, "div", 20);
|
|
68713
68727
|
i0.ɵɵtext(2, "Requested by");
|
|
68714
68728
|
i0.ɵɵelementEnd();
|
|
@@ -68725,10 +68739,10 @@ function DashboardHeaderComponent_Conditional_13_Conditional_2_Template(rf, ctx)
|
|
|
68725
68739
|
i0.ɵɵadvance();
|
|
68726
68740
|
i0.ɵɵtextInterpolate2("", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.firstName, " ", (tmp_4_0 = ctx_r1.requestedByUser()) == null ? null : tmp_4_0.lastName);
|
|
68727
68741
|
} }
|
|
68728
|
-
function
|
|
68729
|
-
i0.ɵɵelementStart(0, "div",
|
|
68730
|
-
i0.ɵɵconditionalCreate(1,
|
|
68731
|
-
i0.ɵɵconditionalCreate(2,
|
|
68742
|
+
function DashboardHeaderComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
68743
|
+
i0.ɵɵelementStart(0, "div", 8);
|
|
68744
|
+
i0.ɵɵconditionalCreate(1, DashboardHeaderComponent_Conditional_12_Conditional_1_Template, 5, 5, "div", 19);
|
|
68745
|
+
i0.ɵɵconditionalCreate(2, DashboardHeaderComponent_Conditional_12_Conditional_2_Template, 5, 6, "div", 19);
|
|
68732
68746
|
i0.ɵɵelementEnd();
|
|
68733
68747
|
} if (rf & 2) {
|
|
68734
68748
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -68737,11 +68751,11 @@ function DashboardHeaderComponent_Conditional_13_Template(rf, ctx) { if (rf & 1)
|
|
|
68737
68751
|
i0.ɵɵadvance();
|
|
68738
68752
|
i0.ɵɵconditional(ctx_r1.requestedByUser() ? 2 : -1);
|
|
68739
68753
|
} }
|
|
68740
|
-
function
|
|
68741
|
-
i0.ɵɵelementStart(0, "span",
|
|
68754
|
+
function DashboardHeaderComponent_Conditional_20_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
68755
|
+
i0.ɵɵelementStart(0, "span", 5);
|
|
68742
68756
|
i0.ɵɵtext(1, "\u203A");
|
|
68743
68757
|
i0.ɵɵelementEnd();
|
|
68744
|
-
i0.ɵɵelementStart(2, "span",
|
|
68758
|
+
i0.ɵɵelementStart(2, "span", 5);
|
|
68745
68759
|
i0.ɵɵtext(3);
|
|
68746
68760
|
i0.ɵɵelementEnd();
|
|
68747
68761
|
} if (rf & 2) {
|
|
@@ -68752,11 +68766,11 @@ function DashboardHeaderComponent_Conditional_21_Conditional_3_Template(rf, ctx)
|
|
|
68752
68766
|
i0.ɵɵadvance();
|
|
68753
68767
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSubsection(), " ");
|
|
68754
68768
|
} }
|
|
68755
|
-
function
|
|
68756
|
-
i0.ɵɵelementStart(0, "div", 13)(1, "span",
|
|
68769
|
+
function DashboardHeaderComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
68770
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "span", 5);
|
|
68757
68771
|
i0.ɵɵtext(2);
|
|
68758
68772
|
i0.ɵɵelementEnd();
|
|
68759
|
-
i0.ɵɵconditionalCreate(3,
|
|
68773
|
+
i0.ɵɵconditionalCreate(3, DashboardHeaderComponent_Conditional_20_Conditional_3_Template, 4, 3);
|
|
68760
68774
|
i0.ɵɵelementEnd();
|
|
68761
68775
|
} if (rf & 2) {
|
|
68762
68776
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -68767,13 +68781,13 @@ function DashboardHeaderComponent_Conditional_21_Template(rf, ctx) { if (rf & 1)
|
|
|
68767
68781
|
i0.ɵɵadvance();
|
|
68768
68782
|
i0.ɵɵconditional(ctx_r1.currentSubsection() ? 3 : -1);
|
|
68769
68783
|
} }
|
|
68770
|
-
function
|
|
68784
|
+
function DashboardHeaderComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
68771
68785
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
68772
68786
|
i0.ɵɵelementStart(0, "symphiq-search-button", 22);
|
|
68773
|
-
i0.ɵɵlistener("searchClick", function
|
|
68787
|
+
i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_21_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
|
|
68774
68788
|
i0.ɵɵelementEnd();
|
|
68775
68789
|
i0.ɵɵelementStart(1, "button", 23);
|
|
68776
|
-
i0.ɵɵlistener("click", function
|
|
68790
|
+
i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_21_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
|
|
68777
68791
|
i0.ɵɵnamespaceSVG();
|
|
68778
68792
|
i0.ɵɵelementStart(2, "svg", 16);
|
|
68779
68793
|
i0.ɵɵelement(3, "path", 17)(4, "path", 18);
|
|
@@ -68852,45 +68866,44 @@ class DashboardHeaderComponent {
|
|
|
68852
68866
|
: 'bg-slate-800 hover:bg-slate-700 text-slate-300 border border-slate-700';
|
|
68853
68867
|
}
|
|
68854
68868
|
static { this.ɵfac = function DashboardHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardHeaderComponent)(); }; }
|
|
68855
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], isLoading: [1, "isLoading"], showControls: [1, "showControls"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls:
|
|
68856
|
-
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div"
|
|
68857
|
-
i0.ɵɵtext(
|
|
68869
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], isLoading: [1, "isLoading"], showControls: [1, "showControls"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls: 22, vars: 26, consts: [[1, "sticky", "top-0", "z-50", "overflow-hidden", 2, "transition", "height 300ms ease-in-out", 3, "ngClass"], [1, "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-6"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [3, "ngClass"], ["title", "Refreshing data...", 1, "animate-spin", "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full"], [1, "flex", "items-center", "gap-2"], [1, "flex", "flex-col", "gap-4", "min-w-[180px]"], [1, "absolute", "inset-x-0", "top-0", "transition-opacity", "duration-300", "ease-in-out"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3.5"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [1, "text-left", "sm:text-right"], [1, "text-xs", "sm:text-sm"], [1, "text-sm", "sm:text-base", "font-medium"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"]], template: function DashboardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
68870
|
+
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div")(5, "div", 4)(6, "h1", 5);
|
|
68871
|
+
i0.ɵɵtext(7);
|
|
68858
68872
|
i0.ɵɵelementEnd();
|
|
68859
|
-
i0.ɵɵconditionalCreate(
|
|
68873
|
+
i0.ɵɵconditionalCreate(8, DashboardHeaderComponent_Conditional_8_Template, 1, 0, "div", 6);
|
|
68860
68874
|
i0.ɵɵelementEnd();
|
|
68861
|
-
i0.ɵɵelementStart(
|
|
68862
|
-
i0.ɵɵtext(
|
|
68875
|
+
i0.ɵɵelementStart(9, "p", 5);
|
|
68876
|
+
i0.ɵɵtext(10);
|
|
68863
68877
|
i0.ɵɵelementEnd()();
|
|
68864
|
-
i0.ɵɵconditionalCreate(
|
|
68865
|
-
i0.ɵɵconditionalCreate(
|
|
68878
|
+
i0.ɵɵconditionalCreate(11, DashboardHeaderComponent_Conditional_11_Template, 8, 3, "div", 7);
|
|
68879
|
+
i0.ɵɵconditionalCreate(12, DashboardHeaderComponent_Conditional_12_Template, 3, 2, "div", 8);
|
|
68866
68880
|
i0.ɵɵelementEnd()()();
|
|
68867
|
-
i0.ɵɵelementStart(
|
|
68868
|
-
i0.ɵɵtext(
|
|
68881
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "div", 10)(15, "div", 3)(16, "div", 11)(17, "h1", 5);
|
|
68882
|
+
i0.ɵɵtext(18);
|
|
68869
68883
|
i0.ɵɵelementEnd()();
|
|
68870
|
-
i0.ɵɵelementStart(
|
|
68871
|
-
i0.ɵɵconditionalCreate(
|
|
68872
|
-
i0.ɵɵconditionalCreate(
|
|
68873
|
-
i0.ɵɵelementEnd()()()()()
|
|
68884
|
+
i0.ɵɵelementStart(19, "div", 12);
|
|
68885
|
+
i0.ɵɵconditionalCreate(20, DashboardHeaderComponent_Conditional_20_Template, 4, 3, "div", 13);
|
|
68886
|
+
i0.ɵɵconditionalCreate(21, DashboardHeaderComponent_Conditional_21_Template, 5, 3);
|
|
68887
|
+
i0.ɵɵelementEnd()()()()();
|
|
68874
68888
|
} if (rf & 2) {
|
|
68889
|
+
i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : "100px");
|
|
68875
68890
|
i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
|
|
68876
68891
|
i0.ɵɵadvance();
|
|
68877
|
-
i0.ɵɵstyleProp("height", ctx.headerScrollService.isScrolled() ? "52px" : "116px");
|
|
68878
|
-
i0.ɵɵadvance();
|
|
68879
68892
|
i0.ɵɵclassProp("opacity-0", ctx.headerScrollService.isScrolled())("pointer-events-none", ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
|
|
68880
68893
|
i0.ɵɵadvance(5);
|
|
68881
68894
|
i0.ɵɵproperty("ngClass", ctx.getMainTitleClasses());
|
|
68882
68895
|
i0.ɵɵadvance();
|
|
68883
68896
|
i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
|
|
68884
68897
|
i0.ɵɵadvance();
|
|
68885
|
-
i0.ɵɵconditional(ctx.isLoading() ?
|
|
68898
|
+
i0.ɵɵconditional(ctx.isLoading() ? 8 : -1);
|
|
68886
68899
|
i0.ɵɵadvance();
|
|
68887
68900
|
i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
|
|
68888
68901
|
i0.ɵɵadvance();
|
|
68889
68902
|
i0.ɵɵtextInterpolate1(" ", ctx.subtitle(), " ");
|
|
68890
68903
|
i0.ɵɵadvance();
|
|
68891
|
-
i0.ɵɵconditional(ctx.showControls() ?
|
|
68904
|
+
i0.ɵɵconditional(ctx.showControls() ? 11 : -1);
|
|
68892
68905
|
i0.ɵɵadvance();
|
|
68893
|
-
i0.ɵɵconditional(ctx.formattedGeneratedDate() || ctx.requestedByUser() ?
|
|
68906
|
+
i0.ɵɵconditional(ctx.formattedGeneratedDate() || ctx.requestedByUser() ? 12 : -1);
|
|
68894
68907
|
i0.ɵɵadvance();
|
|
68895
68908
|
i0.ɵɵclassProp("opacity-0", !ctx.headerScrollService.isScrolled())("pointer-events-none", !ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
|
|
68896
68909
|
i0.ɵɵadvance(4);
|
|
@@ -68898,9 +68911,9 @@ class DashboardHeaderComponent {
|
|
|
68898
68911
|
i0.ɵɵadvance();
|
|
68899
68912
|
i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
|
|
68900
68913
|
i0.ɵɵadvance(2);
|
|
68901
|
-
i0.ɵɵconditional(ctx.currentSection() ?
|
|
68914
|
+
i0.ɵɵconditional(ctx.currentSection() ? 20 : -1);
|
|
68902
68915
|
i0.ɵɵadvance();
|
|
68903
|
-
i0.ɵɵconditional(ctx.showControls() ?
|
|
68916
|
+
i0.ɵɵconditional(ctx.showControls() ? 21 : -1);
|
|
68904
68917
|
} }, dependencies: [CommonModule, i1$1.NgClass, SearchButtonComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
68905
68918
|
}
|
|
68906
68919
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardHeaderComponent, [{
|
|
@@ -68911,16 +68924,15 @@ class DashboardHeaderComponent {
|
|
|
68911
68924
|
imports: [CommonModule, SearchButtonComponent],
|
|
68912
68925
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
68913
68926
|
template: `
|
|
68914
|
-
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50">
|
|
68915
|
-
<div class="relative" [style.height]="headerScrollService.isScrolled() ? '52px' : '116px'" style="transition: height 300ms ease-in-out;">
|
|
68927
|
+
<header [ngClass]="getHeaderClasses()" class="sticky top-0 z-50 overflow-hidden" [style.height]="headerScrollService.isScrolled() ? '52px' : '100px'" style="transition: height 300ms ease-in-out;">
|
|
68916
68928
|
<!-- Expanded Header (default state) -->
|
|
68917
68929
|
<div
|
|
68918
|
-
class="
|
|
68930
|
+
class="transition-opacity duration-300 ease-in-out"
|
|
68919
68931
|
[class.opacity-0]="headerScrollService.isScrolled()"
|
|
68920
68932
|
[class.pointer-events-none]="headerScrollService.isScrolled()"
|
|
68921
68933
|
[class.opacity-100]="!headerScrollService.isScrolled()">
|
|
68922
68934
|
<div
|
|
68923
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-
|
|
68935
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6">
|
|
68924
68936
|
<div class="flex items-center justify-between">
|
|
68925
68937
|
<div>
|
|
68926
68938
|
<div class="flex items-center gap-3">
|
|
@@ -68981,7 +68993,7 @@ class DashboardHeaderComponent {
|
|
|
68981
68993
|
[class.pointer-events-none]="!headerScrollService.isScrolled()"
|
|
68982
68994
|
[class.opacity-100]="headerScrollService.isScrolled()">
|
|
68983
68995
|
<div
|
|
68984
|
-
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3">
|
|
68996
|
+
class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3.5">
|
|
68985
68997
|
<div class="flex items-center justify-between">
|
|
68986
68998
|
<div class="flex-1 min-w-0 mr-4">
|
|
68987
68999
|
<h1 [ngClass]="getCondensedTitleClasses()">
|
|
@@ -69023,12 +69035,11 @@ class DashboardHeaderComponent {
|
|
|
69023
69035
|
</div>
|
|
69024
69036
|
</div>
|
|
69025
69037
|
</div>
|
|
69026
|
-
</div>
|
|
69027
69038
|
</header>
|
|
69028
69039
|
`
|
|
69029
69040
|
}]
|
|
69030
69041
|
}], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewModeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewModeLabel", required: false }] }], currentSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSection", required: false }] }], currentSubsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSubsection", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
|
|
69031
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber:
|
|
69042
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 128 }); })();
|
|
69032
69043
|
|
|
69033
69044
|
class GradeBadgeComponent {
|
|
69034
69045
|
constructor() {
|