{"version":3,"file":"main-class-componentes-table.mjs","sources":["../../../../projects/main-class/componentes/table/src/column/column-cell.directive.ts","../../../../projects/main-class/componentes/table/src/column/column-footer.directive.ts","../../../../projects/main-class/componentes/table/src/column/column-header.directive.ts","../../../../projects/main-class/componentes/table/src/column/column.directive.ts","../../../../projects/main-class/componentes/table/src/table/table.component.ts","../../../../projects/main-class/componentes/table/src/table/table.component.html","../../../../projects/main-class/componentes/table/src/numeric-paginator/numeric-paginator.component.ts","../../../../projects/main-class/componentes/table/src/numeric-paginator/numeric-paginator.component.html","../../../../projects/main-class/componentes/table/src/paginator-i18n.ts","../../../../projects/main-class/componentes/table/src/undefined-paginator/undefined-paginator.component.ts","../../../../projects/main-class/componentes/table/src/undefined-paginator/undefined-paginator.component.html","../../../../projects/main-class/componentes/table/src/paginated-table/paginated-table.component.ts","../../../../projects/main-class/componentes/table/src/paginated-table/paginated-table.component.html","../../../../projects/main-class/componentes/table/src/virtual-paginated-table/virtual-paginated-table.component.ts","../../../../projects/main-class/componentes/table/src/td/td.component.ts","../../../../projects/main-class/componentes/table/src/td/td.component.html","../../../../projects/main-class/componentes/table/src/th/th.component.ts","../../../../projects/main-class/componentes/table/src/th/th.component.html","../../../../projects/main-class/componentes/table/main-class-componentes-table.ts"],"sourcesContent":["import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n  selector: '[mclColumnCell]'\n})\nexport class ColumnCellDirective {\n  constructor(\n    public template: TemplateRef<any>\n  ) {\n  }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n  selector: '[mclColumnFooter]'\n})\nexport class ColumnFooterDirective {\n\n  constructor(\n    public template: TemplateRef<any>\n  ) { }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n  selector: '[mclColumnHeader]'\n})\nexport class ColumnHeaderDirective {\n\n  constructor(\n    public template: TemplateRef<any>\n  ) { }\n}\n","import {ContentChild, Directive, Input} from '@angular/core';\nimport {ColumnHeaderDirective} from './column-header.directive';\nimport {ColumnCellDirective} from './column-cell.directive';\nimport {ColumnFooterDirective} from './column-footer.directive';\n\n@Directive({\n  selector: 'mcl-column,[mclColumn]'\n})\nexport class ColumnDirective {\n\n  private static lastId = 0;\n\n  @Input() name: string = 'column_' + (++ColumnDirective.lastId);\n  @Input() viewType: 'web' | 'mobile' | 'both' = 'both';\n\n  @ContentChild(ColumnHeaderDirective) header!: ColumnHeaderDirective;\n  @ContentChild(ColumnCellDirective) cell!: ColumnCellDirective;\n  @ContentChild(ColumnFooterDirective) footer?: ColumnFooterDirective;\n\n  constructor() {\n  }\n\n  get columnDefName() {\n    return this.viewType + '-' + this.name;\n  }\n\n}\n","import {\n  AfterViewInit,\n  Component,\n  ContentChild,\n  ContentChildren,\n  createEnvironmentInjector,\n  DoCheck,\n  ElementRef,\n  EnvironmentInjector,\n  inject,\n  Input,\n  OnDestroy,\n  QueryList,\n  runInInjectionContext,\n  TemplateRef,\n  ViewChild\n} from '@angular/core';\nimport {ColumnDirective} from '../column/column.directive';\nimport {\n  MatCellDef,\n  MatColumnDef,\n  MatFooterCellDef,\n  MatFooterRow,\n  MatFooterRowDef,\n  MatHeaderCellDef,\n  MatHeaderRow,\n  MatHeaderRowDef,\n  MatRow,\n  MatRowDef,\n  MatTable\n} from '@angular/material/table';\nimport {BehaviorSubject, Subscription} from 'rxjs';\nimport {MobileService} from '@main-class/componentes/core';\nimport {TranslatePipe} from '@ngx-translate/core';\n\n@Component({\n  selector: 'mcl-table:not([page]):not([paginated])',\n  templateUrl: './table.component.html',\n  imports: [\n    MatTable,\n    MatHeaderRow,\n    MatRow,\n    MatFooterRow,\n    MatHeaderRowDef,\n    MatRowDef,\n    MatFooterRowDef,\n    TranslatePipe\n  ],\n  styleUrls: ['./table.component.scss']\n})\nexport class TableComponent<T> implements AfterViewInit, DoCheck, OnDestroy {\n  private readonly injector = inject(EnvironmentInjector);\n\n  itemsSubject = new BehaviorSubject<Array<any>>([]);\n\n  @Input() emptyStateMessage = 'mcl.table.nenhum_registro_encontrado';\n\n  @ViewChild(MatTable) table!: MatTable<T>;\n\n  @ContentChild('[mclEmptyState]', {read: ElementRef}) emptyStatePlaceholder?: ElementRef;\n\n  @ContentChildren(ColumnDirective) columnsDef!: QueryList<ColumnDirective>;\n\n  items?: Array<T>;\n\n  private $outerItems?: Array<T>;\n\n  @Input() sticky = false;\n\n  private currentColumns: Array<MatColumnDef> = [];\n  private $activeColumnNames: Array<string> = [];\n  private $loading: any;\n  private oldLength: number | undefined = 0;\n  private columnsChangeSubscription?: Subscription;\n  private mobileListener = (mobile: any) => this.mergeColumnsDef(mobile);\n\n  constructor(\n    private mobileService: MobileService,\n  ) {\n    this.mobileService.addListener(this.mobileListener);\n  }\n\n  get outerItems() {\n    return this.$outerItems;\n  }\n\n  @Input('items') set outerItems(items: Array<T> | undefined) {\n    this.$outerItems = items;\n  }\n\n  get activeColumnNames() {\n    return this.$activeColumnNames;\n  }\n\n  get hasFooter(): boolean {\n    return !!this.currentColumns.find(col => !!col.footerCell);\n  }\n\n  private mergeColumnsDef(mobile: boolean = this.mobileService.mobile) {\n    clearTimeout(this.$loading);\n    this.$loading = setTimeout(() => {\n      const ngContentModels = this.columnsDef\n        .toArray().filter(model => (mobile && model.viewType !== 'web') ||\n          (!mobile && model.viewType !== 'mobile'));\n\n      for (const column of this.currentColumns) {\n        this.removeColumnDef(column);\n      }\n      this.currentColumns.splice(0,\n        this.currentColumns.length);\n\n      ngContentModels.forEach((model, i) => {\n        const columnDef = this.mapColumnDef(model);\n        this.currentColumns.splice(i, 0, columnDef);\n        this.addColumnDef(columnDef);\n      });\n\n      this.items = this.getItems() || [];\n      this.itemsSubject.next(this.items || []);\n      this.$activeColumnNames = this.currentColumns.map(col => col.name);\n\n    }, 80);\n  }\n\n  ngAfterViewInit() {\n    this.columnsChangeSubscription = this.columnsDef.changes.subscribe((_) => {\n      this.mergeColumnsDef();\n    });\n    this.mergeColumnsDef();\n  }\n\n  ngDoCheck() {\n    const currentLength = this.getCurrentLength();\n    if (this.oldLength !== currentLength) {\n      this.oldLength = currentLength;\n      this.items = this.getItems() || [];\n      this.itemsSubject.next(this.items);\n    } else if (this.items !== this.getItems()) {\n      this.items = this.getItems() || [];\n      this.itemsSubject.next(this.items);\n    }\n  }\n\n  getItems() {\n    return this.outerItems;\n  }\n\n  getCurrentLength(): number | undefined {\n    return (this.outerItems ? this.outerItems.length : 0);\n  }\n\n  ngOnDestroy() {\n    this.mobileService.removeListener(this.mobileListener);\n    this.columnsChangeSubscription?.unsubscribe();\n    this.itemsSubject.complete();\n  }\n\n  private removeColumnDef(columnDef: MatColumnDef) {\n    this.table.removeColumnDef(columnDef);\n  }\n\n  private addColumnDef(columnDef: MatColumnDef) {\n    this.table.addColumnDef(columnDef);\n  }\n\n  private mapColumnDef(column: ColumnDirective): MatColumnDef {\n    const cdef = runInInjectionContext(this.injector, () => new MatColumnDef());\n    cdef.name = column.viewType + '-' + column.name;\n    cdef.cell = runInInjectionContext(\n      createEnvironmentInjector([{provide: TemplateRef, useValue: column.cell.template}], this.injector),\n      () => new MatCellDef()\n    );\n    cdef.headerCell = runInInjectionContext(\n      createEnvironmentInjector([{provide: TemplateRef, useValue: column.header.template}], this.injector),\n      () => new MatHeaderCellDef(column.header.template)\n    );\n    if (column.footer) {\n      cdef.footerCell = runInInjectionContext(\n        createEnvironmentInjector([{provide: TemplateRef, useValue: column.footer!.template}], this.injector),\n        () => new MatFooterCellDef(column.footer!.template)\n      );\n    }\n    return cdef;\n  }\n\n  private currentColumnsContains(model: any): boolean {\n    return !!this.currentColumns.find(def => def.name === model.columnDefName);\n  }\n\n}\n","<div class=\"table\" #div>\n  <div class=\"table__container\">\n    <table mat-table [dataSource]=\"itemsSubject\">\n      <tr mat-header-row *matHeaderRowDef=\"activeColumnNames; sticky: sticky\"></tr>\n      <tr mat-row *matRowDef=\"let row; columns: activeColumnNames;\"></tr>\n\n      @if (hasFooter) {\n        <tr mat-footer-row *matFooterRowDef=\"activeColumnNames;\"></tr>\n      }\n    </table>\n\n    @if (!items?.length) {\n      <div class=\"table__empty\">\n        @if (emptyStatePlaceholder) {\n          <ng-content select=\"[mclEmptyState]\"></ng-content>\n        } @else {\n          {{ emptyStateMessage | translate }}\n        }\n      </div>\n    }\n  </div>\n</div>\n\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {PageEvent} from '@angular/material/paginator';\nimport {MatIcon} from '@angular/material/icon';\n\n@Component({\n  selector: 'mcl-numeric-paginator',\n  templateUrl: './numeric-paginator.component.html',\n  imports: [\n    MatIcon\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styleUrls: ['./numeric-paginator.component.scss']\n})\nexport class NumericPaginatorComponent {\n  // === Inputs compatíveis com MatPaginator ===\n  @Input() length = 0;            // total de itens\n  @Input() pageIndex = 0;         // 0-based\n  @Input() pageSize = 10;\n  @Input() pageSizeOptions: number[] = [5, 10, 25, 50]; // mantido p/ compat, não exibido\n  @Input() hidePageSize = true;   // forçado no layout (não exibimos select)\n  @Input() showFirstLastButtons = false; // o layout de referência não usa first/last\n  @Input() disabled = false;\n\n  // === Output idêntico ao MatPaginator ===\n  @Output() page = new EventEmitter<PageEvent>();\n\n  // ---- Helpers de exibição ----\n  totalPages(): number {\n    if (this.pageSize <= 0) return 1;\n    return Math.max(1, Math.ceil(this.length / this.pageSize));\n  }\n  hasPrevious(): boolean { return this.pageIndex > 0; }\n  hasNext(): boolean { return this.pageIndex + 1 < this.totalPages(); }\n\n\n  pages(): number[] {\n    const total = this.totalPages();\n    const current = this.pageIndex + 1; // Converte para 1-based\n    const maxVisible = 5;\n\n    // Se o total de páginas for menor ou igual ao máximo visível, mostra todas\n    if (total <= maxVisible) {\n      return Array.from({ length: total }, (_, i) => i + 1);\n    }\n\n    // Calcula o início e fim da janela de páginas\n    let start = Math.max(1, current - Math.floor(maxVisible / 2));\n    let end = Math.min(total, start + maxVisible - 1);\n\n    // Ajusta o início se estivermos muito próximos do final\n    if (end - start + 1 < maxVisible) {\n      start = Math.max(1, end - maxVisible + 1);\n    }\n\n    // Gera o array das páginas visíveis\n    return Array.from({ length: end - start + 1 }, (_, i) => start + i);\n  }\n\n  rangeLabel(): string {\n    if (this.length === 0 || this.pageSize === 0) return `Exibindo 0–0 de ${this.length}`;\n    const start = this.pageIndex * this.pageSize + 1;\n    const end = Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n    return `Exibindo ${start}–${end} de ${this.length}`;\n  }\n\n  // ---- Emissão compatível com MatPaginator ----\n  private emit(nextIndex: number): void {\n    const bounded = Math.max(0, Math.min(this.totalPages() - 1, nextIndex));\n    const event: PageEvent = {\n      pageIndex: bounded,\n      pageSize: this.pageSize,\n      length: this.length,\n      previousPageIndex: this.pageIndex,\n    };\n    this.pageIndex = bounded;\n    this.page.emit(event);\n  }\n\n  // ---- Ações ----\n  goTo(page1Based: number) { if (!this.disabled) this.emit(page1Based - 1); }\n  previousPage() { if (!this.disabled && this.hasPrevious()) this.emit(this.pageIndex - 1); }\n  nextPage() { if (!this.disabled && this.hasNext()) this.emit(this.pageIndex + 1); }\n\n  // Mantidos por compatibilidade, mas ocultos no layout por padrão\n  firstPage() { if (!this.disabled && this.showFirstLastButtons && this.hasPrevious()) this.emit(0); }\n  lastPage()  { if (!this.disabled && this.showFirstLastButtons && this.hasNext()) this.emit(this.totalPages() - 1); }\n\n}\n","<nav class=\"pgr\" aria-label=\"Paginação\" [attr.aria-disabled]=\"disabled || null\">\n  <!-- Esquerda: faixa \"Exibindo X–Y de Z\" -->\n  <div class=\"pgr__range\" aria-live=\"polite\">{{ rangeLabel() }}</div>\n\n  <!-- Direita: anterior / números / próximo -->\n  <ul class=\"pgr__list\" role=\"list\">\n    <li class=\"pgr__item\">\n      <button class=\"pgr__link pgr__link--nav\"\n              type=\"button\"\n              [disabled]=\"disabled || !hasPrevious()\"\n              (click)=\"previousPage()\"\n              aria-label=\"Página anterior\">\n        <mat-icon>chevron_left</mat-icon>\n      </button>\n    </li>\n\n    @for (p of pages(); track p) {\n      <li class=\"pgr__item\">\n        <button class=\"pgr__link\"\n                type=\"button\"\n                [class.is-active]=\"p === pageIndex + 1\"\n                [attr.aria-current]=\"p === pageIndex + 1 ? 'page' : null\"\n                (click)=\"goTo(p)\">\n          {{ p }}\n        </button>\n      </li>\n    }\n\n    <li class=\"pgr__item\">\n      <button class=\"pgr__link pgr__link--nav\"\n              type=\"button\"\n              [disabled]=\"disabled || !hasNext()\"\n              (click)=\"nextPage()\"\n              aria-label=\"Próxima página\">\n        <mat-icon>chevron_right</mat-icon>\n      </button>\n    </li>\n\n    <!-- opcional: first/last (ocultos por padrão) -->\n    @if (showFirstLastButtons) {\n      <li class=\"pgr__item\">\n        <button class=\"pgr__link pgr__link--nav\"\n                type=\"button\"\n                [disabled]=\"disabled || !hasPrevious()\"\n                (click)=\"firstPage()\" aria-label=\"Primeira página\">\n          <mat-icon>first_page</mat-icon>\n        </button>\n      </li>\n    }\n    @if (showFirstLastButtons) {\n      <li class=\"pgr__item\">\n        <button class=\"pgr__link pgr__link--nav\"\n                type=\"button\"\n                [disabled]=\"disabled || !hasNext()\"\n                (click)=\"lastPage()\" aria-label=\"Última página\">\n          <mat-icon>last_page</mat-icon>\n        </button>\n      </li>\n    }\n  </ul>\n</nav>\n","import {TranslateService} from '@ngx-translate/core';\nimport {MatPaginatorIntl} from '@angular/material/paginator';\n\nexport class PaginatorI18n {\n\n  constructor(private readonly translate: TranslateService) {}\n\n  getPaginatorIntl(): MatPaginatorIntl {\n    const paginatorIntl = new MatPaginatorIntl();\n    paginatorIntl.itemsPerPageLabel = this.translate.instant('mcl.table.items_per_page');\n    paginatorIntl.nextPageLabel = this.translate.instant('mcl.table.next_page');\n    paginatorIntl.previousPageLabel = this.translate.instant('mcl.table.previous_page');\n    paginatorIntl.firstPageLabel = this.translate.instant('mcl.table.first_page');\n    paginatorIntl.lastPageLabel = this.translate.instant('mcl.table.last_page');\n    paginatorIntl.getRangeLabel = this.getRangeLabel.bind(this);\n    return paginatorIntl;\n  }\n\n  private getRangeLabel(page: number, pageSize: number, length: number): string {\n    length = Math.max(length, 0);\n    const startIndex = page * pageSize;\n    const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n    return this.translate.instant('mcl.table.range', { startIndex: startIndex + 1, endIndex, length });\n  }\n}\n","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {MatSelect} from '@angular/material/select';\nimport {MatOption} from '@angular/material/autocomplete';\nimport {MatIcon} from '@angular/material/icon';\n\nexport interface UndefinedPaginatorEvent {\n  size: number;\n  action: 'next' | 'previous' | 'first' | 'last';\n}\n\n@Component({\n  selector: 'mcl-undefined-paginator',\n  templateUrl: './undefined-paginator.component.html',\n  imports: [\n    MatSelect,\n    MatOption,\n    MatIcon\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  styleUrls: ['./undefined-paginator.component.scss']\n})\nexport class UndefinedPaginatorComponent {\n\n  /** Tamanho do “lote” por navegação */\n  @Input() pageSize: number = 10;\n\n  /** Há páginas (ou lotes) anteriores? Controla ‘first/previous’. */\n  @Input() hasPrevious: boolean = false;\n\n  /** Há páginas (ou lotes) seguintes? Controla ‘next/last’. */\n  @Input() hasNext: boolean = false;\n\n  /** Emite ações com o tamanho atual */\n  @Output() page = new EventEmitter<UndefinedPaginatorEvent>();\n\n  /** Opções comuns de tamanho de página (ajuste se quiser) */\n  pageSizeOptions: number[] = [5, 10, 25, 50];\n\n  // Ações\n  first(): void {\n    if (this.hasPrevious) this.page.emit({size: this.pageSize, action: 'first'});\n  }\n\n  previous(): void {\n    if (this.hasPrevious) this.page.emit({size: this.pageSize, action: 'previous'});\n  }\n\n  next(): void {\n    if (this.hasNext) this.page.emit({size: this.pageSize, action: 'next'});\n  }\n\n  last(): void {\n    if (this.hasNext) this.page.emit({size: this.pageSize, action: 'last'});\n  }\n\n  onSizeChange(size: number) {\n    this.pageSize = Number(size);\n    // Não navegamos automaticamente; o host decide (pode chamar next/previous em seguida)\n  }\n}\n","<!-- Mesma estrutura/classe do paginator anterior, com modificador .pgr--undefined -->\n<nav class=\"pgr pgr--undefined\" aria-label=\"Paginação (total desconhecido)\">\n  <!-- Esquerda: texto de faixa (opcional). Mantemos para consistência de layout -->\n  <div class=\"pgr__range\" aria-live=\"polite\">Navegação contínua</div>\n\n  <!-- Direita: tamanho + botões -->\n  <div class=\"pgr__controls\">\n    <!-- Itens por página -->\n    <div class=\"pgr__size\">\n      <span class=\"pgr__size-label\">Itens por página</span>\n      <mat-select\n        class=\"pgr__size-select\"\n        [value]=\"pageSize\"\n        (valueChange)=\"onSizeChange($event)\"\n        aria-label=\"Itens por página\">\n        @for (size of pageSizeOptions; track size) {\n          <mat-option [value]=\"size\">\n            {{ size }}\n          </mat-option>\n        }\n      </mat-select>\n    </div>\n\n    <!-- Botões iguais ao template anterior -->\n    <div class=\"pgr__buttons\" role=\"group\" aria-label=\"Controles de página\">\n      <button class=\"pgr__btn\"\n              type=\"button\"\n              [disabled]=\"!hasPrevious\"\n              (click)=\"first()\"\n              aria-label=\"Primeira página\"\n              title=\"Primeira página\">\n        <mat-icon>first_page</mat-icon>\n      </button>\n\n      <button class=\"pgr__btn\"\n              type=\"button\"\n              [disabled]=\"!hasPrevious\"\n              (click)=\"previous()\"\n              aria-label=\"Página anterior\"\n              title=\"Página anterior\">\n        <mat-icon>chevron_left</mat-icon>\n      </button>\n\n      <!-- Centro: marcador visual no lugar de \"1 / N\" -->\n      <span class=\"pgr__index pgr__index--undefined\" aria-hidden=\"true\">• • •</span>\n\n      <button class=\"pgr__btn\"\n              type=\"button\"\n              [disabled]=\"!hasNext\"\n              (click)=\"next()\"\n              aria-label=\"Próxima página\"\n              title=\"Próxima página\">\n        <mat-icon>chevron_right</mat-icon>\n      </button>\n\n      <button class=\"pgr__btn\"\n              type=\"button\"\n              [disabled]=\"!hasNext\"\n              (click)=\"last()\"\n              aria-label=\"Última página\"\n              title=\"Última página\">\n        <mat-icon>last_page</mat-icon>\n      </button>\n    </div>\n  </div>\n</nav>\n","import {Component, EventEmitter, Inject, InjectionToken, Input, Optional, Output, ViewChild} from '@angular/core';\nimport {TableComponent} from '../table/table.component';\nimport {MatPaginatorIntl} from '@angular/material/paginator';\nimport {LoaderComponent} from '@main-class/componentes/loader';\nimport {MobileService} from '@main-class/componentes/core';\nimport {TranslatePipe, TranslateService} from '@ngx-translate/core';\nimport {MatFooterRow, MatFooterRowDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatTable} from '@angular/material/table';\nimport {NumericPaginatorComponent} from '../numeric-paginator/numeric-paginator.component';\nimport {PaginatorI18n} from '../paginator-i18n';\nimport {Observable} from 'rxjs';\nimport {UndefinedPaginatorComponent} from '../undefined-paginator/undefined-paginator.component';\n\nexport const PAGINATION_CONFIGURATION = new InjectionToken<PaginationConfiguration>('mainclass.PAGINATION_CONFIGURATION');\n\nexport interface NumericPagination {\n  type: 'numeric';\n  size: number;\n  total: number;\n  page: number;\n  hasNext: boolean;\n  hasPrevious: boolean;\n}\n\nexport interface UndefinedPagination {\n  type: 'undefined';\n  size: number;\n  total?: number;\n  nextPageRef?: any;\n  previousPageRef?: any;\n}\n\nexport interface Page<T> {\n  items: T[];\n  pagination: NumericPagination | UndefinedPagination;\n}\n\nexport interface NumericPaginationEvent {\n  type: 'numeric';\n  size: number;\n  page: number;\n}\n\nexport interface UndefinedPaginationEvent {\n  type: 'undefined';\n  size: number;\n  action: 'next' | 'previous' | 'first' | 'last';\n}\n\nexport interface PaginationConfiguration {\n  sizes: Array<number>;\n}\n\n\nexport function PaginatorIntlFactory(translateService: TranslateService) {\n  return new PaginatorI18n(translateService).getPaginatorIntl();\n}\n\n@Component({\n  selector: 'mcl-table[page]',\n  templateUrl: './paginated-table.component.html',\n  styleUrls: [\n    './paginated-table.component.scss',\n    '../table/table.component.scss'\n  ],\n  imports: [\n    MatTable,\n    MatHeaderRow,\n    MatRow,\n    MatHeaderRowDef,\n    MatRowDef,\n    MatFooterRow,\n    MatFooterRowDef,\n    TranslatePipe,\n    NumericPaginatorComponent,\n    UndefinedPaginatorComponent,\n    LoaderComponent\n  ],\n  providers: [\n    {\n      provide: MatPaginatorIntl, deps: [TranslateService],\n      useFactory: PaginatorIntlFactory\n    }\n  ]\n})\nexport class PaginatedTableComponent<T> extends TableComponent<T> {\n  @Input() sizes;\n\n  @Output() paginate = new EventEmitter<NumericPaginationEvent | UndefinedPaginationEvent>();\n\n  @Input() page?: Page<T>;\n\n  @ViewChild(LoaderComponent) loader?: LoaderComponent;\n\n  constructor(\n    mobileService: MobileService,\n    @Inject(PAGINATION_CONFIGURATION) @Optional() paginationConfiguration?: PaginationConfiguration) {\n    super(mobileService);\n\n    this.sizes = paginationConfiguration?.sizes || [10, 25, 50];\n  }\n\n  get numericPagination(): NumericPagination | undefined {\n    if (this.page?.pagination?.type === 'numeric') {\n      return this.page.pagination as NumericPagination;\n    }\n\n    return undefined;\n  }\n\n  get undefinedPagination(): UndefinedPagination | undefined {\n    if (this.page?.pagination?.type === 'undefined') {\n      return this.page.pagination as UndefinedPagination;\n    }\n\n    return undefined;\n  }\n\n  override getCurrentLength(): number | undefined {\n    return this.page?.pagination.size;\n  }\n\n  override getItems(): Array<T> | undefined {\n    return this.page?.items;\n  }\n\n  loadingAround<T>(action: Observable<T> | Promise<T>): Observable<T> {\n    return this.loader!.listen(action);\n  }\n\n  numericPageEvent(page: number, size: number) {\n    this.paginate.emit({\n      type: 'numeric',\n      page,\n      size,\n    });\n  }\n\n  undefinedPageEvent(action: 'next' | 'previous' | 'first' | 'last', size: number) {\n    this.paginate.emit({\n      type: 'undefined',\n      action,\n      size\n    });\n  }\n}\n","<div class=\"table\" #div>\n  <div class=\"table__container\">\n    <table mat-table [dataSource]=\"itemsSubject\">\n      <tr mat-header-row *matHeaderRowDef=\"activeColumnNames; sticky: sticky\"></tr>\n      <tr mat-row *matRowDef=\"let row; columns: activeColumnNames;\"></tr>\n\n      @if (hasFooter) {\n        <tr mat-footer-row *matFooterRowDef=\"activeColumnNames;\"></tr>\n      }\n    </table>\n\n    @if (!items?.length) {\n      <div class=\"table__empty\">\n        @if (emptyStatePlaceholder) {\n          <ng-content select=\"[mclEmptyState]\"></ng-content>\n        } @else {\n          {{ emptyStateMessage | translate }}\n        }\n      </div>\n    }\n  </div>\n\n  @if (numericPagination) {\n    <mcl-numeric-paginator [pageSize]=\"numericPagination.size\"\n                           (page)=\"numericPageEvent($event.pageIndex + 1, $event.pageSize)\"\n                           [pageIndex]=\"(numericPagination.page || 1) - 1\"\n                           [length]=\"numericPagination.total\"\n                           [pageSizeOptions]=\"sizes\"\n                           [showFirstLastButtons]=\"true\">\n    </mcl-numeric-paginator>\n  } @else if (undefinedPagination) {\n    <mcl-undefined-paginator\n      [pageSize]=\"undefinedPagination.size\"\n      [hasNext]=\"!!undefinedPagination.nextPageRef\"\n      [hasPrevious]=\"!!undefinedPagination.previousPageRef\"\n      (page)=\"undefinedPageEvent($event.action, $event.size)\"\n    ></mcl-undefined-paginator>\n  }\n\n  <mcl-loader [showOnInit]=\"true\" [component]=\"div\"></mcl-loader>\n</div>\n","import {Component, EventEmitter, Inject, Input, Optional, Output, ViewChild} from '@angular/core';\nimport {TableComponent} from '../table/table.component';\nimport {MatPaginatorIntl} from '@angular/material/paginator';\nimport {LoaderComponent} from '@main-class/componentes/loader';\nimport {MobileService} from '@main-class/componentes/core';\nimport {TranslatePipe, TranslateService} from '@ngx-translate/core';\nimport {MatFooterRow, MatFooterRowDef, MatHeaderRow, MatHeaderRowDef, MatRow, MatRowDef, MatTable} from '@angular/material/table';\nimport {NumericPaginatorComponent} from '../numeric-paginator/numeric-paginator.component';\nimport {Observable} from 'rxjs';\nimport {UndefinedPaginatorComponent} from '../undefined-paginator/undefined-paginator.component';\nimport {\n  NumericPagination,\n  NumericPaginationEvent,\n  PAGINATION_CONFIGURATION,\n  PaginationConfiguration,\n  PaginatorIntlFactory,\n  UndefinedPagination,\n  UndefinedPaginationEvent\n} from '../paginated-table/paginated-table.component';\n\n\n@Component({\n  selector: 'mcl-table[paginated]',\n  templateUrl: '../paginated-table/paginated-table.component.html',\n  styleUrls: [\n    '../paginated-table/paginated-table.component.scss',\n    '../table/table.component.scss'\n  ],\n  imports: [\n    MatTable,\n    MatHeaderRow,\n    MatRow,\n    MatHeaderRowDef,\n    MatRowDef,\n    MatFooterRow,\n    MatFooterRowDef,\n    TranslatePipe,\n    NumericPaginatorComponent,\n    UndefinedPaginatorComponent,\n    LoaderComponent\n  ],\n  providers: [\n    {\n      provide: MatPaginatorIntl, deps: [TranslateService],\n      useFactory: PaginatorIntlFactory\n    }\n  ]\n})\nexport class VirtualPaginatedTableComponent<T> extends TableComponent<T> {\n  @Input() sizes;\n\n  @Output() paginate = new EventEmitter<NumericPaginationEvent | UndefinedPaginationEvent>();\n\n  @ViewChild(LoaderComponent) loader?: LoaderComponent;\n\n  private pageItems: Array<T> = [];\n\n  page = 1;\n  size = 10;\n\n  constructor(\n    mobileService: MobileService,\n    @Inject(PAGINATION_CONFIGURATION) @Optional() paginationConfiguration?: PaginationConfiguration) {\n    super(mobileService);\n\n    this.sizes = paginationConfiguration?.sizes || [10, 25, 50];\n  }\n\n  override get outerItems() {\n    return super.outerItems;\n  }\n\n  @Input('items') override set outerItems(items: Array<T> | undefined) {\n    if (items !== super.outerItems) {\n      super.outerItems = items;\n      this.page = 1;\n      this.pageItems = super.outerItems?.slice((this.page - 1) * this.size, this.page * this.size) || [];\n    }\n  }\n\n  get numericPagination(): NumericPagination | undefined {\n    return {\n      type: 'numeric',\n      size: this.size,\n      total: this.outerItems?.length || 0,\n      page: this.page,\n      hasNext: (this.outerItems?.length || 0) > ((this.page - 1) * this.size),\n      hasPrevious: this.page > 1\n    };\n  }\n\n  get undefinedPagination(): UndefinedPagination | undefined {\n    return undefined;\n  }\n\n  override ngAfterViewInit() {\n    super.ngAfterViewInit();\n\n    this.loader?.hide();\n  }\n\n  override getCurrentLength(): number | undefined {\n    return this.outerItems?.length;\n  }\n\n  override getItems(): Array<T> | undefined {\n    return this.pageItems;\n  }\n\n  loadingAround<T>(action: Observable<T> | Promise<T>): Observable<T> {\n    return this.loader!.listen(action);\n  }\n\n  numericPageEvent(page: number, size: number) {\n    this.page = page;\n    this.size = size;\n    this.pageItems = this.outerItems?.slice((this.page - 1) * this.size, this.page * this.size) || [];\n  }\n\n  undefinedPageEvent(action: 'next' | 'previous' | 'first' | 'last', size: number) {\n\n  }\n}\n","import {Component, ElementRef, OnInit, Self} from '@angular/core';\n\n@Component({\n  selector: 'td,mcl-td',\n  templateUrl: './td.component.html',\n  styleUrls: ['./td.component.scss'],\n})\nexport class TdComponent implements OnInit {\n\n  constructor(\n    @Self() element: ElementRef\n  ) {\n    element.nativeElement.classList.add('mat-cell');\n  }\n\n  ngOnInit(): void {\n  }\n\n}\n","<ng-content></ng-content>\n","import {Component, ElementRef, OnInit, Self} from '@angular/core';\n\n@Component({\n  selector: 'th,mcl-th',\n  templateUrl: './th.component.html',\n  styleUrls: ['./th.component.scss']\n})\nexport class ThComponent implements OnInit {\n\n  constructor(\n    @Self() element: ElementRef\n  ) {\n    element.nativeElement.classList.add('mat-header-cell');\n  }\n\n  ngOnInit(): void {\n  }\n\n\n}\n","<ng-content></ng-content>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}