/**
 * @fileoverview Reusable filter bar for AI Analytics dashboard sections.
 *
 * Provides time-range chips, model/agent/prompt/status dropdowns
 * (using mj-dropdown), a compare toggle, and an optional export button.
 * Each section shows/hides filters via boolean inputs.
 */
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { AIEngineBase } from '@memberjunction/ai-engine-base';
import * as i0 from "@angular/core";
import * as i1 from "@memberjunction/ng-ui-components";
function AnalyticsFilterBarComponent_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
    const _r3 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "label", 8)(1, "span", 9);
    i0.ɵɵtext(2, "Model");
    i0.ɵɵelementEnd();
    i0.ɵɵelementStart(3, "mj-dropdown", 10);
    i0.ɵɵlistener("ValueChange", function AnalyticsFilterBarComponent_Conditional_1_Conditional_2_Template_mj_dropdown_ValueChange_3_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnModelChange($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance(3);
    i0.ɵɵproperty("Data", ctx_r1.ModelOptions)("ValuePrimitive", true)("DefaultItem", ctx_r1.modelDefaultItem)("Filterable", ctx_r1.ModelOptions.length > 10);
} }
function AnalyticsFilterBarComponent_Conditional_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
    const _r4 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "label", 8)(1, "span", 9);
    i0.ɵɵtext(2, "Agent");
    i0.ɵɵelementEnd();
    i0.ɵɵelementStart(3, "mj-dropdown", 11);
    i0.ɵɵlistener("ValueChange", function AnalyticsFilterBarComponent_Conditional_1_Conditional_3_Template_mj_dropdown_ValueChange_3_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnAgentChange($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance(3);
    i0.ɵɵproperty("Data", ctx_r1.AgentOptions)("ValuePrimitive", true)("DefaultItem", ctx_r1.agentDefaultItem)("Filterable", ctx_r1.AgentOptions.length > 10);
} }
function AnalyticsFilterBarComponent_Conditional_1_Conditional_4_Template(rf, ctx) { if (rf & 1) {
    const _r5 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "label", 8)(1, "span", 9);
    i0.ɵɵtext(2, "Prompt");
    i0.ɵɵelementEnd();
    i0.ɵɵelementStart(3, "mj-dropdown", 12);
    i0.ɵɵlistener("ValueChange", function AnalyticsFilterBarComponent_Conditional_1_Conditional_4_Template_mj_dropdown_ValueChange_3_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnPromptChange($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance(3);
    i0.ɵɵproperty("Data", ctx_r1.PromptOptions)("ValuePrimitive", true)("DefaultItem", ctx_r1.promptDefaultItem)("Filterable", ctx_r1.PromptOptions.length > 10);
} }
function AnalyticsFilterBarComponent_Conditional_1_Conditional_5_Template(rf, ctx) { if (rf & 1) {
    const _r6 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "label", 8)(1, "span", 9);
    i0.ɵɵtext(2, "Status");
    i0.ɵɵelementEnd();
    i0.ɵɵelementStart(3, "mj-dropdown", 13);
    i0.ɵɵlistener("ValueChange", function AnalyticsFilterBarComponent_Conditional_1_Conditional_5_Template_mj_dropdown_ValueChange_3_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.OnStatusChange($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance(3);
    i0.ɵɵproperty("Data", ctx_r1.StatusOptions)("ValuePrimitive", true)("DefaultItem", ctx_r1.statusDefaultItem);
} }
function AnalyticsFilterBarComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
    const _r1 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "mj-filter-popover", 6);
    i0.ɵɵlistener("ClearAllRequested", function AnalyticsFilterBarComponent_Conditional_1_Template_mj_filter_popover_ClearAllRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ClearAllFilters()); });
    i0.ɵɵelementStart(1, "div", 7);
    i0.ɵɵconditionalCreate(2, AnalyticsFilterBarComponent_Conditional_1_Conditional_2_Template, 4, 4, "label", 8);
    i0.ɵɵconditionalCreate(3, AnalyticsFilterBarComponent_Conditional_1_Conditional_3_Template, 4, 4, "label", 8);
    i0.ɵɵconditionalCreate(4, AnalyticsFilterBarComponent_Conditional_1_Conditional_4_Template, 4, 4, "label", 8);
    i0.ɵɵconditionalCreate(5, AnalyticsFilterBarComponent_Conditional_1_Conditional_5_Template, 4, 3, "label", 8);
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵproperty("ActiveCount", ctx_r1.ActiveFilterCount)("ShowClearAll", ctx_r1.ActiveFilterCount > 0);
    i0.ɵɵadvance(2);
    i0.ɵɵconditional(ctx_r1.ShowModelFilter ? 2 : -1);
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r1.ShowAgentFilter ? 3 : -1);
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r1.ShowPromptFilter ? 4 : -1);
    i0.ɵɵadvance();
    i0.ɵɵconditional(ctx_r1.ShowStatusFilter ? 5 : -1);
} }
function AnalyticsFilterBarComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
    const _r7 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 14);
    i0.ɵɵlistener("click", function AnalyticsFilterBarComponent_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleCompare()); });
    i0.ɵɵelement(1, "i", 15);
    i0.ɵɵtext(2, " Compare ");
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵclassProp("active", ctx_r1.compareActive);
} }
function AnalyticsFilterBarComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
    const _r8 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 16);
    i0.ɵɵlistener("click", function AnalyticsFilterBarComponent_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ExportClicked.emit()); });
    i0.ɵɵelement(1, "i", 17);
    i0.ɵɵtext(2, " Export ");
    i0.ɵɵelementEnd();
} }
function AnalyticsFilterBarComponent_For_6_Template(rf, ctx) { if (rf & 1) {
    const _r9 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 18);
    i0.ɵɵlistener("click", function AnalyticsFilterBarComponent_For_6_Template_button_click_0_listener() { const option_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnTimeRangeSelect(option_r10)); });
    i0.ɵɵtext(1);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const option_r10 = ctx.$implicit;
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵclassProp("active", ctx_r1.TimeRange === option_r10);
    i0.ɵɵadvance();
    i0.ɵɵtextInterpolate1(" ", option_r10, " ");
} }
export class AnalyticsFilterBarComponent {
    TimeRange = '24h';
    TimeRangeOptions = ['1h', '6h', '24h', '7d', '30d'];
    ShowModelFilter = true;
    ShowAgentFilter = true;
    ShowPromptFilter = true;
    ShowStatusFilter = true;
    ShowCompareToggle = true;
    ShowExportButton = false;
    Filters = { Models: [], Agents: [], Prompts: [], Statuses: [] };
    TimeRangeChange = new EventEmitter();
    FiltersChange = new EventEmitter();
    CompareToggled = new EventEmitter();
    ExportClicked = new EventEmitter();
    ModelOptions = [];
    AgentOptions = [];
    PromptOptions = [];
    StatusOptions = [
        { text: 'Success', value: 'Success' },
        { text: 'Error', value: 'Error' },
        { text: 'Running', value: 'Running' },
        { text: 'Pending', value: 'Pending' },
        { text: 'Canceled', value: 'Canceled' }
    ];
    /** Default items shown when nothing is selected (the "All X" option) */
    modelDefaultItem = { text: 'All Models', value: '' };
    agentDefaultItem = { text: 'All Agents', value: '' };
    promptDefaultItem = { text: 'All Prompts', value: '' };
    statusDefaultItem = { text: 'All Statuses', value: '' };
    compareActive = false;
    /** True when at least one of the filter dropdowns is enabled — drives whether to render the popover trigger. */
    get HasFilterDropdowns() {
        return this.ShowModelFilter || this.ShowAgentFilter || this.ShowPromptFilter || this.ShowStatusFilter;
    }
    /** Number of active filter selections — drives the popover badge. */
    get ActiveFilterCount() {
        const f = this.Filters ?? { Models: [], Agents: [], Prompts: [], Statuses: [] };
        return (f.Models?.length ?? 0) + (f.Agents?.length ?? 0) + (f.Prompts?.length ?? 0) + (f.Statuses?.length ?? 0);
    }
    ClearAllFilters() {
        this.Filters = { Models: [], Agents: [], Prompts: [], Statuses: [] };
        this.FiltersChange.emit(this.Filters);
    }
    ngOnInit() {
        this.BuildOptions();
    }
    OnTimeRangeSelect(range) {
        this.TimeRange = range;
        this.TimeRangeChange.emit(range);
    }
    OnModelChange(event) {
        const id = event ?? '';
        this.Filters = { ...this.Filters, Models: id ? [id] : [] };
        this.FiltersChange.emit(this.Filters);
    }
    OnAgentChange(event) {
        const id = event ?? '';
        this.Filters = { ...this.Filters, Agents: id ? [id] : [] };
        this.FiltersChange.emit(this.Filters);
    }
    OnPromptChange(event) {
        const id = event ?? '';
        this.Filters = { ...this.Filters, Prompts: id ? [id] : [] };
        this.FiltersChange.emit(this.Filters);
    }
    OnStatusChange(event) {
        const status = event ?? '';
        this.Filters = { ...this.Filters, Statuses: status ? [status] : [] };
        this.FiltersChange.emit(this.Filters);
    }
    ToggleCompare() {
        this.compareActive = !this.compareActive;
        this.CompareToggled.emit(this.compareActive);
    }
    BuildOptions() {
        const engine = AIEngineBase.Instance;
        this.ModelOptions = engine.Models
            .map(m => ({ text: m.Name ?? '', value: m.ID }))
            .sort((a, b) => a.text.localeCompare(b.text));
        this.AgentOptions = engine.Agents
            .filter(a => a.Status === 'Active')
            .map(a => ({ text: a.Name ?? '', value: a.ID }))
            .sort((a, b) => a.text.localeCompare(b.text));
        this.PromptOptions = engine.Prompts
            .map(p => ({ text: p.Name ?? '', value: p.ID }))
            .sort((a, b) => a.text.localeCompare(b.text));
    }
    static ɵfac = function AnalyticsFilterBarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AnalyticsFilterBarComponent)(); };
    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AnalyticsFilterBarComponent, selectors: [["app-analytics-filter-bar"]], inputs: { TimeRange: "TimeRange", TimeRangeOptions: "TimeRangeOptions", ShowModelFilter: "ShowModelFilter", ShowAgentFilter: "ShowAgentFilter", ShowPromptFilter: "ShowPromptFilter", ShowStatusFilter: "ShowStatusFilter", ShowCompareToggle: "ShowCompareToggle", ShowExportButton: "ShowExportButton", Filters: "Filters" }, outputs: { TimeRangeChange: "TimeRangeChange", FiltersChange: "FiltersChange", CompareToggled: "CompareToggled", ExportClicked: "ExportClicked" }, standalone: false, decls: 7, vars: 3, consts: [[1, "filter-bar"], [3, "ActiveCount", "ShowClearAll"], [1, "compare-btn", 3, "active"], [1, "export-btn"], [1, "time-chips"], [1, "time-chip", 3, "active"], [3, "ClearAllRequested", "ActiveCount", "ShowClearAll"], [1, "popover-fields"], [1, "popover-field"], [1, "popover-field-label"], ["TextField", "text", "ValueField", "value", "Placeholder", "All Models", 3, "ValueChange", "Data", "ValuePrimitive", "DefaultItem", "Filterable"], ["TextField", "text", "ValueField", "value", "Placeholder", "All Agents", 3, "ValueChange", "Data", "ValuePrimitive", "DefaultItem", "Filterable"], ["TextField", "text", "ValueField", "value", "Placeholder", "All Prompts", 3, "ValueChange", "Data", "ValuePrimitive", "DefaultItem", "Filterable"], ["TextField", "text", "ValueField", "value", "Placeholder", "All Statuses", 3, "ValueChange", "Data", "ValuePrimitive", "DefaultItem"], [1, "compare-btn", 3, "click"], [1, "fa-solid", "fa-code-compare"], [1, "export-btn", 3, "click"], [1, "fa-solid", "fa-download"], [1, "time-chip", 3, "click"]], template: function AnalyticsFilterBarComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "div", 0);
            i0.ɵɵconditionalCreate(1, AnalyticsFilterBarComponent_Conditional_1_Template, 6, 6, "mj-filter-popover", 1);
            i0.ɵɵconditionalCreate(2, AnalyticsFilterBarComponent_Conditional_2_Template, 3, 2, "button", 2);
            i0.ɵɵconditionalCreate(3, AnalyticsFilterBarComponent_Conditional_3_Template, 3, 0, "button", 3);
            i0.ɵɵelementStart(4, "div", 4);
            i0.ɵɵrepeaterCreate(5, AnalyticsFilterBarComponent_For_6_Template, 2, 3, "button", 5, i0.ɵɵrepeaterTrackByIdentity);
            i0.ɵɵelementEnd()();
        } if (rf & 2) {
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.HasFilterDropdowns ? 1 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.ShowCompareToggle ? 2 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.ShowExportButton ? 3 : -1);
            i0.ɵɵadvance(2);
            i0.ɵɵrepeater(ctx.TimeRangeOptions);
        } }, dependencies: [i1.MJDropdownComponent, i1.MJFilterPopoverComponent], styles: ["\n\n        .filter-bar[_ngcontent-%COMP%] {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        \n\n        .popover-fields[_ngcontent-%COMP%] {\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n        }\n\n        .popover-field[_ngcontent-%COMP%] {\n            display: flex;\n            flex-direction: column;\n            gap: 4px;\n        }\n\n        .popover-field-label[_ngcontent-%COMP%] {\n            font-size: 11px;\n            font-weight: 600;\n            color: var(--mj-text-secondary);\n            text-transform: uppercase;\n            letter-spacing: 0.04em;\n        }\n\n        .popover-field   [_nghost-%COMP%]     mj-dropdown, \n   [_nghost-%COMP%]     .popover-field mj-dropdown {\n            display: block;\n            width: 100%;\n            min-width: 0;\n            max-width: none;\n        }\n\n        .compare-btn[_ngcontent-%COMP%], \n   .export-btn[_ngcontent-%COMP%] {\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            padding: 5px 12px;\n            border: 1px solid var(--mj-border-default);\n            border-radius: 6px;\n            background: var(--mj-bg-surface);\n            color: var(--mj-text-secondary);\n            font-size: 13px;\n            cursor: pointer;\n            white-space: nowrap;\n            transition: background 0.15s, color 0.15s, border-color 0.15s;\n        }\n\n        .compare-btn[_ngcontent-%COMP%]:hover, \n   .export-btn[_ngcontent-%COMP%]:hover {\n            background: var(--mj-bg-surface-hover);\n            color: var(--mj-text-primary);\n        }\n\n        .compare-btn.active[_ngcontent-%COMP%] {\n            background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n            color: var(--mj-brand-primary);\n            border-color: var(--mj-brand-primary);\n        }\n\n        .time-chips[_ngcontent-%COMP%] {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n        }\n\n        .time-chip[_ngcontent-%COMP%] {\n            padding: 5px 12px;\n            border: 1px solid var(--mj-border-default);\n            border-radius: 16px;\n            background: var(--mj-bg-surface);\n            color: var(--mj-text-secondary);\n            font-size: 12px;\n            font-weight: 500;\n            cursor: pointer;\n            transition: background 0.15s, color 0.15s, border-color 0.15s;\n            white-space: nowrap;\n        }\n\n        .time-chip[_ngcontent-%COMP%]:hover {\n            background: var(--mj-bg-surface-hover);\n            color: var(--mj-text-primary);\n        }\n\n        .time-chip.active[_ngcontent-%COMP%] {\n            background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n            color: var(--mj-brand-primary);\n            border-color: var(--mj-brand-primary);\n            font-weight: 600;\n        }\n\n        @media (max-width: 768px) {\n            .filter-bar[_ngcontent-%COMP%] {\n                flex-direction: column;\n                align-items: stretch;\n            }\n\n            .time-chips[_ngcontent-%COMP%] {\n                margin-left: 0;\n                justify-content: flex-start;\n                flex-wrap: wrap;\n            }\n        }"] });
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AnalyticsFilterBarComponent, [{
        type: Component,
        args: [{ standalone: false, selector: 'app-analytics-filter-bar', template: `
        <div class="filter-bar">
            @if (HasFilterDropdowns) {
                <mj-filter-popover
                    [ActiveCount]="ActiveFilterCount"
                    [ShowClearAll]="ActiveFilterCount > 0"
                    (ClearAllRequested)="ClearAllFilters()">
                    <div class="popover-fields">
                        @if (ShowModelFilter) {
                            <label class="popover-field">
                                <span class="popover-field-label">Model</span>
                                <mj-dropdown
                                    [Data]="ModelOptions"
                                    TextField="text"
                                    ValueField="value"
                                    [ValuePrimitive]="true"
                                    [DefaultItem]="modelDefaultItem"
                                    [Filterable]="ModelOptions.length > 10"
                                    Placeholder="All Models"
                                    (ValueChange)="OnModelChange($event)">
                                </mj-dropdown>
                            </label>
                        }
                        @if (ShowAgentFilter) {
                            <label class="popover-field">
                                <span class="popover-field-label">Agent</span>
                                <mj-dropdown
                                    [Data]="AgentOptions"
                                    TextField="text"
                                    ValueField="value"
                                    [ValuePrimitive]="true"
                                    [DefaultItem]="agentDefaultItem"
                                    [Filterable]="AgentOptions.length > 10"
                                    Placeholder="All Agents"
                                    (ValueChange)="OnAgentChange($event)">
                                </mj-dropdown>
                            </label>
                        }
                        @if (ShowPromptFilter) {
                            <label class="popover-field">
                                <span class="popover-field-label">Prompt</span>
                                <mj-dropdown
                                    [Data]="PromptOptions"
                                    TextField="text"
                                    ValueField="value"
                                    [ValuePrimitive]="true"
                                    [DefaultItem]="promptDefaultItem"
                                    [Filterable]="PromptOptions.length > 10"
                                    Placeholder="All Prompts"
                                    (ValueChange)="OnPromptChange($event)">
                                </mj-dropdown>
                            </label>
                        }
                        @if (ShowStatusFilter) {
                            <label class="popover-field">
                                <span class="popover-field-label">Status</span>
                                <mj-dropdown
                                    [Data]="StatusOptions"
                                    TextField="text"
                                    ValueField="value"
                                    [ValuePrimitive]="true"
                                    [DefaultItem]="statusDefaultItem"
                                    Placeholder="All Statuses"
                                    (ValueChange)="OnStatusChange($event)">
                                </mj-dropdown>
                            </label>
                        }
                    </div>
                </mj-filter-popover>
            }

            @if (ShowCompareToggle) {
                <button
                    class="compare-btn"
                    [class.active]="compareActive"
                    (click)="ToggleCompare()">
                    <i class="fa-solid fa-code-compare"></i>
                    Compare
                </button>
            }

            @if (ShowExportButton) {
                <button class="export-btn" (click)="ExportClicked.emit()">
                    <i class="fa-solid fa-download"></i>
                    Export
                </button>
            }

            <div class="time-chips">
                @for (option of TimeRangeOptions; track option) {
                    <button
                        class="time-chip"
                        [class.active]="TimeRange === option"
                        (click)="OnTimeRangeSelect(option)">
                        {{ option }}
                    </button>
                }
            </div>
        </div>
    `, styles: ["\n        /* Filter bar renders inline inside <mj-page-header>'s actions slot \u2014 no wrapper card. */\n        .filter-bar {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n        }\n\n        /* Popover panel content \u2014 stacked labeled fields */\n        .popover-fields {\n            display: flex;\n            flex-direction: column;\n            gap: 10px;\n        }\n\n        .popover-field {\n            display: flex;\n            flex-direction: column;\n            gap: 4px;\n        }\n\n        .popover-field-label {\n            font-size: 11px;\n            font-weight: 600;\n            color: var(--mj-text-secondary);\n            text-transform: uppercase;\n            letter-spacing: 0.04em;\n        }\n\n        .popover-field :host ::ng-deep mj-dropdown,\n        :host ::ng-deep .popover-field mj-dropdown {\n            display: block;\n            width: 100%;\n            min-width: 0;\n            max-width: none;\n        }\n\n        .compare-btn,\n        .export-btn {\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            padding: 5px 12px;\n            border: 1px solid var(--mj-border-default);\n            border-radius: 6px;\n            background: var(--mj-bg-surface);\n            color: var(--mj-text-secondary);\n            font-size: 13px;\n            cursor: pointer;\n            white-space: nowrap;\n            transition: background 0.15s, color 0.15s, border-color 0.15s;\n        }\n\n        .compare-btn:hover,\n        .export-btn:hover {\n            background: var(--mj-bg-surface-hover);\n            color: var(--mj-text-primary);\n        }\n\n        .compare-btn.active {\n            background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n            color: var(--mj-brand-primary);\n            border-color: var(--mj-brand-primary);\n        }\n\n        .time-chips {\n            display: flex;\n            align-items: center;\n            gap: 4px;\n        }\n\n        .time-chip {\n            padding: 5px 12px;\n            border: 1px solid var(--mj-border-default);\n            border-radius: 16px;\n            background: var(--mj-bg-surface);\n            color: var(--mj-text-secondary);\n            font-size: 12px;\n            font-weight: 500;\n            cursor: pointer;\n            transition: background 0.15s, color 0.15s, border-color 0.15s;\n            white-space: nowrap;\n        }\n\n        .time-chip:hover {\n            background: var(--mj-bg-surface-hover);\n            color: var(--mj-text-primary);\n        }\n\n        .time-chip.active {\n            background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n            color: var(--mj-brand-primary);\n            border-color: var(--mj-brand-primary);\n            font-weight: 600;\n        }\n\n        @media (max-width: 768px) {\n            .filter-bar {\n                flex-direction: column;\n                align-items: stretch;\n            }\n\n            .time-chips {\n                margin-left: 0;\n                justify-content: flex-start;\n                flex-wrap: wrap;\n            }\n        }\n    "] }]
    }], null, { TimeRange: [{
            type: Input
        }], TimeRangeOptions: [{
            type: Input
        }], ShowModelFilter: [{
            type: Input
        }], ShowAgentFilter: [{
            type: Input
        }], ShowPromptFilter: [{
            type: Input
        }], ShowStatusFilter: [{
            type: Input
        }], ShowCompareToggle: [{
            type: Input
        }], ShowExportButton: [{
            type: Input
        }], Filters: [{
            type: Input
        }], TimeRangeChange: [{
            type: Output
        }], FiltersChange: [{
            type: Output
        }], CompareToggled: [{
            type: Output
        }], ExportClicked: [{
            type: Output
        }] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AnalyticsFilterBarComponent, { className: "AnalyticsFilterBarComponent", filePath: "src/AI/components/analytics/analytics-filter-bar.component.ts", lineNumber: 232 }); })();
//# sourceMappingURL=analytics-filter-bar.component.js.map