{"version":3,"file":"spinque-angular-ui-result-statistics.mjs","sources":["../../../projects/spinque-angular-ui/result-statistics/src/result-statistics.component.ts","../../../projects/spinque-angular-ui/result-statistics/src/result-statistics.component.html","../../../projects/spinque-angular-ui/result-statistics/spinque-angular-ui-result-statistics.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnChanges, Output, signal, SimpleChanges } from '@angular/core';\nimport { Query, StatisticsResponse } from '@spinque/query-api';\nimport { SpinqueApiService } from '@spinque/angular-ui';\nimport { CommonModule } from '@angular/common';\n\n/**\n * Display a short, textual summary of the search results.\n */\n@Component({\n    selector: 'spinque-result-statistics',\n    imports: [CommonModule],\n    templateUrl: './result-statistics.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    styles: [\n        `\n      .sp-result-status {\n        font-size: 12px;\n        color: #545454;\n        line-height: 16px;\n      }\n    `\n    ]\n})\nexport class SpinqueResultStatistics implements OnChanges {\n  private api = inject(SpinqueApiService);\n\n  @Input() queryStack?: Query[];\n  @Input() singular = 'result';\n  @Input() plural = 'results';\n\n  @Output() loaded = new EventEmitter<StatisticsResponse>();\n\n  statistics = signal<StatisticsResponse | undefined>(undefined);\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['queryStack'] && changes['queryStack'].currentValue) {\n      this.statistics.set(undefined);\n      this.api.getStatistics(changes['queryStack'].currentValue).subscribe({\n        next: res => {\n          this.statistics.set(res);\n          this.loaded.emit(res);\n        },\n        error: error => {\n          this.statistics.set(undefined);\n          console.error(error);\n        }\n      });\n    }\n  }\n}","@if (statistics(); as s) {\n  <div\n    class=\"sp-result-status\"\n    role=\"complementary\">\n    {{ s.total | number }}\n    {{ s.total === 1 ? singular : plural }}\n  </div>\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;AAKA;;AAEG;MAgBU,uBAAuB,CAAA;AAfpC,IAAA,WAAA,GAAA;AAgBU,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAG9B,IAAA,CAAA,QAAQ,GAAG,QAAQ;QACnB,IAAA,CAAA,MAAM,GAAG,SAAS;AAEjB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAsB;QAEzD,IAAA,CAAA,UAAU,GAAG,MAAM,CAAiC,SAAS;uFAAC;AAiB/D,IAAA;AAfC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,YAAY,EAAE;AAC/D,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC;gBACnE,IAAI,EAAE,GAAG,IAAG;AACV,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;AACxB,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;gBACvB,CAAC;gBACD,KAAK,EAAE,KAAK,IAAG;AACb,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9B,oBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtB;AACD,aAAA,CAAC;QACJ;IACF;8GAzBW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBpC,uLAOC,EAAA,MAAA,EAAA,CAAA,oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGa,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAab,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,WAC5B,CAAC,YAAY,CAAC,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uLAAA,EAAA,MAAA,EAAA,CAAA,oEAAA,CAAA,EAAA;;sBAchD;;sBACA;;sBACA;;sBAEA;;;AE9BH;;AAEG;;;;"}