import { Component, Input, Output, EventEmitter } from '@angular/core';
import * as i0 from "@angular/core";
const _forTrack0 = ($index, $item) => $item.id;
function SuiteTreeComponent_Conditional_11_For_1_Template(rf, ctx) { if (rf & 1) {
    const _r1 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "div")(1, "app-suite-tree-node", 10);
    i0.ɵɵlistener("nodeClick", function SuiteTreeComponent_Conditional_11_For_1_Template_app_suite_tree_node_nodeClick_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onNodeClick($event)); })("toggleExpand", function SuiteTreeComponent_Conditional_11_For_1_Template_app_suite_tree_node_toggleExpand_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onToggleExpand($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const suite_r3 = ctx.$implicit;
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance();
    i0.ɵɵproperty("node", suite_r3)("level", 0)("selectedId", ctx_r1.selectedSuiteId);
} }
function SuiteTreeComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵrepeaterCreate(0, SuiteTreeComponent_Conditional_11_For_1_Template, 2, 3, "div", null, _forTrack0);
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵrepeater(ctx_r1.suites);
} }
function SuiteTreeComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelementStart(0, "div", 9);
    i0.ɵɵelement(1, "i", 11);
    i0.ɵɵelementStart(2, "p");
    i0.ɵɵtext(3, "No test suites found");
    i0.ɵɵelementEnd()();
} }
function SuiteTreeNodeComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
    const _r1 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "button", 10);
    i0.ɵɵlistener("click", function SuiteTreeNodeComponent_Conditional_2_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onToggle($event)); });
    i0.ɵɵelement(1, "i", 11);
    i0.ɵɵelementEnd();
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵadvance();
    i0.ɵɵclassProp("fa-chevron-right", !ctx_r1.node.expanded)("fa-chevron-down", ctx_r1.node.expanded);
} }
function SuiteTreeNodeComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵelement(0, "span", 3);
} }
function SuiteTreeNodeComponent_Conditional_13_For_1_Template(rf, ctx) { if (rf & 1) {
    const _r3 = i0.ɵɵgetCurrentView();
    i0.ɵɵelementStart(0, "div")(1, "app-suite-tree-node", 12);
    i0.ɵɵlistener("nodeClick", function SuiteTreeNodeComponent_Conditional_13_For_1_Template_app_suite_tree_node_nodeClick_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.nodeClick.emit($event)); })("toggleExpand", function SuiteTreeNodeComponent_Conditional_13_For_1_Template_app_suite_tree_node_toggleExpand_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleExpand.emit($event)); });
    i0.ɵɵelementEnd()();
} if (rf & 2) {
    const child_r4 = ctx.$implicit;
    const ctx_r1 = i0.ɵɵnextContext(2);
    i0.ɵɵadvance();
    i0.ɵɵproperty("node", child_r4)("level", ctx_r1.level + 1)("selectedId", ctx_r1.selectedId);
} }
function SuiteTreeNodeComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
    i0.ɵɵrepeaterCreate(0, SuiteTreeNodeComponent_Conditional_13_For_1_Template, 2, 3, "div", null, _forTrack0);
} if (rf & 2) {
    const ctx_r1 = i0.ɵɵnextContext();
    i0.ɵɵrepeater(ctx_r1.node.children);
} }
export class SuiteTreeComponent {
    suites = [];
    selectedSuiteId = null;
    suiteSelect = new EventEmitter();
    onNodeClick(suiteId) {
        this.suiteSelect.emit(suiteId);
    }
    onToggleExpand(node) {
        node.expanded = !node.expanded;
    }
    expandAll() {
        this.setExpandedRecursive(this.suites, true);
    }
    collapseAll() {
        this.setExpandedRecursive(this.suites, false);
    }
    setExpandedRecursive(nodes, expanded) {
        nodes.forEach(node => {
            node.expanded = expanded;
            if (node.children && node.children.length > 0) {
                this.setExpandedRecursive(node.children, expanded);
            }
        });
    }
    static ɵfac = function SuiteTreeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SuiteTreeComponent)(); };
    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SuiteTreeComponent, selectors: [["app-suite-tree"]], inputs: { suites: "suites", selectedSuiteId: "selectedSuiteId" }, outputs: { suiteSelect: "suiteSelect" }, standalone: false, decls: 13, vars: 1, consts: [[1, "suite-tree"], [1, "tree-header"], [1, "fa-solid", "fa-folder-tree"], [1, "tree-actions"], ["title", "Expand All", 1, "tree-action-btn", 3, "click"], [1, "fa-solid", "fa-chevron-down"], ["title", "Collapse All", 1, "tree-action-btn", 3, "click"], [1, "fa-solid", "fa-chevron-up"], [1, "tree-content"], [1, "no-suites"], [3, "nodeClick", "toggleExpand", "node", "level", "selectedId"], [1, "fa-solid", "fa-folder-open"]], template: function SuiteTreeComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h4");
            i0.ɵɵelement(3, "i", 2);
            i0.ɵɵtext(4, " Test Suites ");
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(5, "div", 3)(6, "button", 4);
            i0.ɵɵlistener("click", function SuiteTreeComponent_Template_button_click_6_listener() { return ctx.expandAll(); });
            i0.ɵɵelement(7, "i", 5);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(8, "button", 6);
            i0.ɵɵlistener("click", function SuiteTreeComponent_Template_button_click_8_listener() { return ctx.collapseAll(); });
            i0.ɵɵelement(9, "i", 7);
            i0.ɵɵelementEnd()()();
            i0.ɵɵelementStart(10, "div", 8);
            i0.ɵɵconditionalCreate(11, SuiteTreeComponent_Conditional_11_Template, 2, 0)(12, SuiteTreeComponent_Conditional_12_Template, 4, 0, "div", 9);
            i0.ɵɵelementEnd()();
        } if (rf & 2) {
            i0.ɵɵadvance(11);
            i0.ɵɵconditional(ctx.suites && ctx.suites.length > 0 ? 11 : 12);
        } }, dependencies: () => [SuiteTreeNodeComponent], styles: [".suite-tree[_ngcontent-%COMP%] {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n      background: var(--mj-bg-surface);\n      border-radius: 8px;\n      overflow: hidden;\n    }\n\n    .tree-header[_ngcontent-%COMP%] {\n      padding: 16px;\n      background: var(--mj-bg-surface-card);\n      border-bottom: 1px solid var(--mj-border-default);\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n\n    .tree-header[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%] {\n      margin: 0;\n      font-size: 14px;\n      font-weight: 600;\n      color: var(--mj-text-primary);\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n\n    .tree-header[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n      color: var(--mj-brand-primary);\n    }\n\n    .tree-actions[_ngcontent-%COMP%] {\n      display: flex;\n      gap: 6px;\n    }\n\n    .tree-action-btn[_ngcontent-%COMP%] {\n      background: var(--mj-bg-surface);\n      border: 1px solid var(--mj-border-default);\n      padding: 6px 10px;\n      border-radius: 4px;\n      cursor: pointer;\n      font-size: 11px;\n      color: var(--mj-text-secondary);\n      transition: all 0.2s ease;\n    }\n\n    .tree-action-btn[_ngcontent-%COMP%]:hover {\n      background: var(--mj-bg-surface-sunken);\n      border-color: var(--mj-border-strong);\n      color: var(--mj-text-primary);\n    }\n\n    .tree-action-btn[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n      font-size: 10px;\n    }\n\n    .tree-content[_ngcontent-%COMP%] {\n      flex: 1;\n      overflow-y: auto;\n      padding: 8px;\n    }\n\n    .no-suites[_ngcontent-%COMP%] {\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      padding: 40px 20px;\n      color: var(--mj-text-disabled);\n      gap: 12px;\n    }\n\n    .no-suites[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n      font-size: 36px;\n      color: var(--mj-border-default);\n    }\n\n    .no-suites[_ngcontent-%COMP%]   p[_ngcontent-%COMP%] {\n      margin: 0;\n      font-size: 13px;\n    }"] });
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SuiteTreeComponent, [{
        type: Component,
        args: [{ standalone: false, selector: 'app-suite-tree', template: `
    <div class="suite-tree">
      <div class="tree-header">
        <h4>
          <i class="fa-solid fa-folder-tree"></i>
          Test Suites
        </h4>
        <div class="tree-actions">
          <button class="tree-action-btn" (click)="expandAll()" title="Expand All">
            <i class="fa-solid fa-chevron-down"></i>
          </button>
          <button class="tree-action-btn" (click)="collapseAll()" title="Collapse All">
            <i class="fa-solid fa-chevron-up"></i>
          </button>
        </div>
      </div>

      <div class="tree-content">
        @if (suites && suites.length > 0) {
          @for (suite of suites; track suite.id) {
            <div>
              <app-suite-tree-node
                [node]="suite"
                [level]="0"
                [selectedId]="selectedSuiteId"
                (nodeClick)="onNodeClick($event)"
                (toggleExpand)="onToggleExpand($event)"
              ></app-suite-tree-node>
            </div>
          }
        } @else {
          <div class="no-suites">
            <i class="fa-solid fa-folder-open"></i>
            <p>No test suites found</p>
          </div>
        }
      </div>
    </div>
  `, styles: ["\n    .suite-tree {\n      height: 100%;\n      display: flex;\n      flex-direction: column;\n      background: var(--mj-bg-surface);\n      border-radius: 8px;\n      overflow: hidden;\n    }\n\n    .tree-header {\n      padding: 16px;\n      background: var(--mj-bg-surface-card);\n      border-bottom: 1px solid var(--mj-border-default);\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n    }\n\n    .tree-header h4 {\n      margin: 0;\n      font-size: 14px;\n      font-weight: 600;\n      color: var(--mj-text-primary);\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n\n    .tree-header h4 i {\n      color: var(--mj-brand-primary);\n    }\n\n    .tree-actions {\n      display: flex;\n      gap: 6px;\n    }\n\n    .tree-action-btn {\n      background: var(--mj-bg-surface);\n      border: 1px solid var(--mj-border-default);\n      padding: 6px 10px;\n      border-radius: 4px;\n      cursor: pointer;\n      font-size: 11px;\n      color: var(--mj-text-secondary);\n      transition: all 0.2s ease;\n    }\n\n    .tree-action-btn:hover {\n      background: var(--mj-bg-surface-sunken);\n      border-color: var(--mj-border-strong);\n      color: var(--mj-text-primary);\n    }\n\n    .tree-action-btn i {\n      font-size: 10px;\n    }\n\n    .tree-content {\n      flex: 1;\n      overflow-y: auto;\n      padding: 8px;\n    }\n\n    .no-suites {\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      padding: 40px 20px;\n      color: var(--mj-text-disabled);\n      gap: 12px;\n    }\n\n    .no-suites i {\n      font-size: 36px;\n      color: var(--mj-border-default);\n    }\n\n    .no-suites p {\n      margin: 0;\n      font-size: 13px;\n    }\n  "] }]
    }], null, { suites: [{
            type: Input
        }], selectedSuiteId: [{
            type: Input
        }], suiteSelect: [{
            type: Output
        }] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SuiteTreeComponent, { className: "SuiteTreeComponent", filePath: "src/Testing/components/widgets/suite-tree.component.ts", lineNumber: 132 }); })();
export class SuiteTreeNodeComponent {
    node;
    level = 0;
    selectedId = null;
    nodeClick = new EventEmitter();
    toggleExpand = new EventEmitter();
    onClick() {
        this.nodeClick.emit(this.node.id);
    }
    onToggle(event) {
        event.stopPropagation();
        this.toggleExpand.emit(this.node);
    }
    getPassRateClass(passRate) {
        if (passRate >= 90)
            return 'excellent';
        if (passRate >= 75)
            return 'good';
        if (passRate >= 50)
            return 'fair';
        return 'poor';
    }
    static ɵfac = function SuiteTreeNodeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SuiteTreeNodeComponent)(); };
    static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SuiteTreeNodeComponent, selectors: [["app-suite-tree-node"]], inputs: { node: "node", level: "level", selectedId: "selectedId" }, outputs: { nodeClick: "nodeClick", toggleExpand: "toggleExpand" }, standalone: false, decls: 14, vars: 12, consts: [[1, "tree-node"], [1, "node-content", 3, "click"], [1, "expand-btn"], [1, "expand-placeholder"], [1, "fa-solid", "fa-folder", "suite-icon"], [1, "suite-name"], [1, "suite-metrics"], ["title", "Test Count", 1, "test-count"], [1, "fa-solid", "fa-flask"], ["title", "Pass Rate", 1, "pass-rate"], [1, "expand-btn", 3, "click"], [1, "fa-solid"], [3, "nodeClick", "toggleExpand", "node", "level", "selectedId"]], template: function SuiteTreeNodeComponent_Template(rf, ctx) { if (rf & 1) {
            i0.ɵɵelementStart(0, "div", 0)(1, "div", 1);
            i0.ɵɵlistener("click", function SuiteTreeNodeComponent_Template_div_click_1_listener() { return ctx.onClick(); });
            i0.ɵɵconditionalCreate(2, SuiteTreeNodeComponent_Conditional_2_Template, 2, 4, "button", 2);
            i0.ɵɵconditionalCreate(3, SuiteTreeNodeComponent_Conditional_3_Template, 1, 0, "span", 3);
            i0.ɵɵelement(4, "i", 4);
            i0.ɵɵelementStart(5, "span", 5);
            i0.ɵɵtext(6);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(7, "div", 6)(8, "span", 7);
            i0.ɵɵelement(9, "i", 8);
            i0.ɵɵtext(10);
            i0.ɵɵelementEnd();
            i0.ɵɵelementStart(11, "span", 9);
            i0.ɵɵtext(12);
            i0.ɵɵelementEnd()()();
            i0.ɵɵconditionalCreate(13, SuiteTreeNodeComponent_Conditional_13_Template, 2, 0);
            i0.ɵɵelementEnd();
        } if (rf & 2) {
            i0.ɵɵstyleProp("padding-left", ctx.level * 16, "px");
            i0.ɵɵadvance();
            i0.ɵɵclassProp("selected", ctx.node.id === ctx.selectedId);
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.node.children && ctx.node.children.length > 0 ? 2 : -1);
            i0.ɵɵadvance();
            i0.ɵɵconditional(!ctx.node.children || ctx.node.children.length === 0 ? 3 : -1);
            i0.ɵɵadvance(3);
            i0.ɵɵtextInterpolate(ctx.node.name);
            i0.ɵɵadvance(4);
            i0.ɵɵtextInterpolate1(" ", ctx.node.testCount, " ");
            i0.ɵɵadvance();
            i0.ɵɵclassMap(ctx.getPassRateClass(ctx.node.passRate));
            i0.ɵɵadvance();
            i0.ɵɵtextInterpolate1(" ", ctx.node.passRate.toFixed(0), "% ");
            i0.ɵɵadvance();
            i0.ɵɵconditional(ctx.node.expanded && ctx.node.children && ctx.node.children.length > 0 ? 13 : -1);
        } }, dependencies: [SuiteTreeNodeComponent], styles: [".tree-node[_ngcontent-%COMP%] {\n      margin-bottom: 2px;\n    }\n\n    .node-content[_ngcontent-%COMP%] {\n      display: flex;\n      align-items: center;\n      padding: 8px 12px;\n      border-radius: 6px;\n      cursor: pointer;\n      transition: all 0.2s ease;\n      gap: 8px;\n    }\n\n    .node-content[_ngcontent-%COMP%]:hover {\n      background: var(--mj-bg-surface-card);\n    }\n\n    .node-content.selected[_ngcontent-%COMP%] {\n      background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n      border-left: 3px solid var(--mj-brand-primary);\n    }\n\n    .expand-btn[_ngcontent-%COMP%] {\n      background: none;\n      border: none;\n      cursor: pointer;\n      padding: 2px 6px;\n      color: var(--mj-text-secondary);\n      font-size: 10px;\n      transition: color 0.2s ease;\n      min-width: 20px;\n    }\n\n    .expand-btn[_ngcontent-%COMP%]:hover {\n      color: var(--mj-text-primary);\n    }\n\n    .expand-placeholder[_ngcontent-%COMP%] {\n      width: 20px;\n    }\n\n    .suite-icon[_ngcontent-%COMP%] {\n      font-size: 12px;\n      color: var(--mj-status-warning);\n    }\n\n    .suite-name[_ngcontent-%COMP%] {\n      flex: 1;\n      font-size: 12px;\n      font-weight: 500;\n      color: var(--mj-text-primary);\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .suite-metrics[_ngcontent-%COMP%] {\n      display: flex;\n      gap: 8px;\n      align-items: center;\n      font-size: 10px;\n    }\n\n    .test-count[_ngcontent-%COMP%] {\n      display: flex;\n      align-items: center;\n      gap: 3px;\n      color: var(--mj-text-secondary);\n      background: var(--mj-bg-surface-sunken);\n      padding: 2px 6px;\n      border-radius: 10px;\n    }\n\n    .test-count[_ngcontent-%COMP%]   i[_ngcontent-%COMP%] {\n      font-size: 9px;\n    }\n\n    .pass-rate[_ngcontent-%COMP%] {\n      font-weight: 600;\n      padding: 2px 6px;\n      border-radius: 10px;\n      min-width: 36px;\n      text-align: center;\n    }\n\n    .pass-rate.excellent[_ngcontent-%COMP%] {\n      background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-success);\n    }\n\n    .pass-rate.good[_ngcontent-%COMP%] {\n      background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-success);\n    }\n\n    .pass-rate.fair[_ngcontent-%COMP%] {\n      background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-warning);\n    }\n\n    .pass-rate.poor[_ngcontent-%COMP%] {\n      background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-error);\n    }"] });
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SuiteTreeNodeComponent, [{
        type: Component,
        args: [{ standalone: false, selector: 'app-suite-tree-node', template: `
    <div class="tree-node" [style.padding-left.px]="level * 16">
      <div
        class="node-content"
        [class.selected]="node.id === selectedId"
        (click)="onClick()"
        >
        @if (node.children && node.children.length > 0) {
          <button
            class="expand-btn"
            (click)="onToggle($event)"
            >
            <i class="fa-solid" [class.fa-chevron-right]="!node.expanded" [class.fa-chevron-down]="node.expanded"></i>
          </button>
        }
        @if (!node.children || node.children.length === 0) {
          <span class="expand-placeholder"></span>
        }
    
        <i class="fa-solid fa-folder suite-icon"></i>
    
        <span class="suite-name">{{ node.name }}</span>
    
        <div class="suite-metrics">
          <span class="test-count" title="Test Count">
            <i class="fa-solid fa-flask"></i>
            {{ node.testCount }}
          </span>
          <span class="pass-rate" [class]="getPassRateClass(node.passRate)" title="Pass Rate">
            {{ node.passRate.toFixed(0) }}%
          </span>
        </div>
      </div>
    
      @if (node.expanded && node.children && node.children.length > 0) {
        @for (child of node.children; track child.id) {
          <div>
            <app-suite-tree-node
              [node]="child"
              [level]="level + 1"
              [selectedId]="selectedId"
              (nodeClick)="nodeClick.emit($event)"
              (toggleExpand)="toggleExpand.emit($event)"
            ></app-suite-tree-node>
          </div>
        }
      }
    </div>
    `, styles: ["\n    .tree-node {\n      margin-bottom: 2px;\n    }\n\n    .node-content {\n      display: flex;\n      align-items: center;\n      padding: 8px 12px;\n      border-radius: 6px;\n      cursor: pointer;\n      transition: all 0.2s ease;\n      gap: 8px;\n    }\n\n    .node-content:hover {\n      background: var(--mj-bg-surface-card);\n    }\n\n    .node-content.selected {\n      background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n      border-left: 3px solid var(--mj-brand-primary);\n    }\n\n    .expand-btn {\n      background: none;\n      border: none;\n      cursor: pointer;\n      padding: 2px 6px;\n      color: var(--mj-text-secondary);\n      font-size: 10px;\n      transition: color 0.2s ease;\n      min-width: 20px;\n    }\n\n    .expand-btn:hover {\n      color: var(--mj-text-primary);\n    }\n\n    .expand-placeholder {\n      width: 20px;\n    }\n\n    .suite-icon {\n      font-size: 12px;\n      color: var(--mj-status-warning);\n    }\n\n    .suite-name {\n      flex: 1;\n      font-size: 12px;\n      font-weight: 500;\n      color: var(--mj-text-primary);\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    .suite-metrics {\n      display: flex;\n      gap: 8px;\n      align-items: center;\n      font-size: 10px;\n    }\n\n    .test-count {\n      display: flex;\n      align-items: center;\n      gap: 3px;\n      color: var(--mj-text-secondary);\n      background: var(--mj-bg-surface-sunken);\n      padding: 2px 6px;\n      border-radius: 10px;\n    }\n\n    .test-count i {\n      font-size: 9px;\n    }\n\n    .pass-rate {\n      font-weight: 600;\n      padding: 2px 6px;\n      border-radius: 10px;\n      min-width: 36px;\n      text-align: center;\n    }\n\n    .pass-rate.excellent {\n      background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-success);\n    }\n\n    .pass-rate.good {\n      background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-success);\n    }\n\n    .pass-rate.fair {\n      background: color-mix(in srgb, var(--mj-status-warning) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-warning);\n    }\n\n    .pass-rate.poor {\n      background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n      color: var(--mj-status-error);\n    }\n  "] }]
    }], null, { node: [{
            type: Input
        }], level: [{
            type: Input
        }], selectedId: [{
            type: Input
        }], nodeClick: [{
            type: Output
        }], toggleExpand: [{
            type: Output
        }] }); })();
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SuiteTreeNodeComponent, { className: "SuiteTreeNodeComponent", filePath: "src/Testing/components/widgets/suite-tree.component.ts", lineNumber: 323 }); })();
//# sourceMappingURL=suite-tree.component.js.map