{"version":3,"file":"ifsworld-granite-components-table.mjs","sources":["../../../../libs/granite-components/table/src/lib/column/table-column.directive.ts","../../../../libs/granite-components/table/src/lib/table-constants.library.ts","../../../../libs/granite-components/table/src/lib/cell/cell.ts","../../../../libs/granite-components/table/src/lib/cell/table-header-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.html","../../../../libs/granite-components/table/src/lib/cell/cell-align/cell-align-classes.directive.ts","../../../../libs/granite-components/table/src/lib/column-size/column-size.directive.ts","../../../../libs/granite-components/table/src/lib/table.component.ts","../../../../libs/granite-components/table/src/lib/table.component.html","../../../../libs/granite-components/table/src/lib/table.module.ts","../../../../libs/granite-components/table/src/ifsworld-granite-components-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\n\nexport type GranitTableColumnAlign = 'start' | 'center' | 'end';\nexport type GranitTableColumnSize = 'small' | 'medium' | 'large';\n\nexport interface GraniteTableColumnInterface {\n  name: string;\n  title?: string;\n  class?: string | string[];\n  headerClass?: string | string[];\n  textAlign?: GranitTableColumnAlign;\n  size?: GranitTableColumnSize;\n}\n\n@Directive({\n  // eslint-disable-next-line @angular-eslint/directive-selector\n  selector: 'granite-table-column',\n  standalone: false,\n})\nexport class GraniteTableColumnDirective\n  implements GraniteTableColumnInterface\n{\n  @Input()\n  name: string;\n\n  @Input()\n  title?: string;\n\n  @Input()\n  class?: string | string[];\n\n  @Input()\n  headerClass?: string | string[];\n\n  @Input() textAlign: GranitTableColumnAlign = 'center';\n\n  @Input() size: GranitTableColumnSize = 'small';\n\n  @ContentChild('graniteTableCellTemplate', { static: false })\n  tableCellTemplateRef: TemplateRef<any>;\n}\n","export class GraniteTableCellConstants {\n  static readonly CELL_ID_PREFIX: string = 'granite-cell';\n  static readonly START_ALIGN: string = 'granite-table-cell-start-align';\n  static readonly CENTER_ALIGN: string = 'granite-table-cell-center-align';\n  static readonly END_ALIGN: string = 'granite-table-cell-end-align';\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { GraniteTableColumnDirective } from '../column/table-column.directive';\n\n@Directive()\nexport abstract class GraniteCell {\n  @Input()\n  id: string;\n\n  @Input()\n  column: GraniteTableColumnDirective;\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n  // eslint-disable-next-line @angular-eslint/component-selector\n  selector: 'th[graniteTableHeaderCell]',\n  template: '<ng-content></ng-content>',\n  styleUrls: ['./table-header-cell.component.scss'],\n  standalone: false,\n  host: {\n    class: 'granite-table-header-cell',\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableHeaderCellComponent extends GraniteCell {}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  Input,\n  TemplateRef,\n  ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n  selector: 'granite-table-data-cell',\n  templateUrl: './table-data-cell.component.html',\n  styleUrls: ['./table-data-cell.component.scss'],\n  standalone: false,\n  host: {\n    class: 'granite-table-data-cell',\n  },\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableDataCellComponent extends GraniteCell {\n  @Input()\n  value: any;\n\n  @Input()\n  rowIndex: number;\n\n  @Input()\n  columnIndex: number;\n\n  @Input()\n  row: any;\n\n  // Custom template provided by the consumer\n  @Input()\n  tableCellTemplateRef: TemplateRef<any>;\n}\n","<ng-template\n  [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n  [ngTemplateOutletContext]=\"{\n    data: value,\n    rowIndex: rowIndex,\n    columnIndex: columnIndex,\n    column: column,\n    row: row\n  }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n  {{ value }}\n</ng-template>\n","import { Directive, HostBinding, Input } from '@angular/core';\nimport { GranitTableColumnAlign } from '../../column/table-column.directive';\n\n@Directive({\n  selector: '[graniteCellAlignClasses]',\n  standalone: false,\n})\nexport class GraniteCellAlignClassesDirective {\n  @Input() graniteCellAlignClasses?: string | string[];\n  @Input() textAlign: GranitTableColumnAlign = 'center';\n\n  @HostBinding('class') get alignmentClass(): string {\n    return `granite-table-cell-${\n      this.textAlign ? this.textAlign : 'center'\n    }-align`;\n  }\n}\n","import { Directive, HostBinding, Input, OnChanges } from '@angular/core';\nimport { GranitTableColumnSize } from '../column/table-column.directive';\n\n@Directive({\n  selector: '[graniteColumnSize]',\n  standalone: false,\n})\nexport class GraniteColumnSizeDirective implements OnChanges {\n  @Input() graniteColumnSize: GranitTableColumnSize = 'medium';\n\n  @HostBinding('class') get columnSizeClass(): string {\n    return `column-size-${this.sizeMap[this.graniteColumnSize]}`;\n  }\n\n  private readonly sizeMap: Record<GranitTableColumnSize, string> = {\n    small: 'sm',\n    medium: 'md',\n    large: 'lg',\n  } as const;\n\n  ngOnChanges(): void {\n    if (!this.graniteColumnSize || !this.sizeMap[this.graniteColumnSize]) {\n      this.graniteColumnSize = 'small';\n    }\n  }\n}\n","import {\n  AfterContentChecked,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChildren,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  TrackByFunction,\n  ViewEncapsulation,\n  inject,\n} from '@angular/core';\n\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableCellConstants } from './table-constants.library';\nimport { GraniteTableRowStylesInterface } from './table.model';\n\n@Component({\n  selector: 'granite-table',\n  templateUrl: './table.component.html',\n  styleUrls: ['./table.component.scss'],\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: false,\n})\nexport class GraniteTableComponent<T> implements AfterContentChecked {\n  @Input()\n  dataSource: T[] = [];\n\n  @Input()\n  horizontalScroll = false;\n\n  @Input()\n  trackBy: TrackByFunction<T>;\n\n  @Input()\n  conditionalRowStyles: GraniteTableRowStylesInterface[] = [];\n\n  @Output()\n  readonly rowClick = new EventEmitter();\n\n  @ContentChildren(GraniteTableColumnDirective)\n  tableColumnsComponent: QueryList<GraniteTableColumnDirective>;\n\n  readonly cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;\n\n  _columns: GraniteTableColumnDirective[];\n  _displayedColumns: string[];\n\n  private cd = inject(ChangeDetectorRef);\n\n  ngAfterContentChecked(): void {\n    this.refreshData();\n    this.cd.markForCheck();\n  }\n\n  _trackColumnName(index: number, column: GraniteTableColumnDirective): string {\n    return column.name;\n  }\n\n  handleRowClick(event: Event, row: T, rowIndex: number): void {\n    this.rowClick.emit({ row, rowIndex });\n  }\n\n  getStyles(row: T, rowIndex: number): { [key: string]: string } {\n    return this.conditionalRowStyles\n      .filter((item) => item.condition(row, rowIndex))\n      .reduce((acc, item) => ({ ...acc, ...item.styles }), {});\n  }\n\n  private refreshData(): void {\n    this._columns = this.tableColumnsComponent.toArray();\n    this._displayedColumns = this.tableColumnsComponent\n      .toArray()\n      .map((c) => c.name);\n  }\n}\n","<div\n  class=\"cdk-table-wrapper\"\n  data-fnd=\"granite-table-wrapper\"\n  [class.horizontal-scroll]=\"horizontalScroll\"\n>\n  <table\n    class=\"granite-table\"\n    cdk-table\n    [dataSource]=\"dataSource\"\n    [trackBy]=\"trackBy\"\n  >\n    <ng-container\n      *ngFor=\"\n        let column of _columns;\n        trackBy: _trackColumnName;\n        let columnIndex = index\n      \"\n      [cdkColumnDef]=\"column.name\"\n    >\n      <th\n        tabindex=\"0\"\n        cdk-header-cell\n        *cdkHeaderCellDef\n        data-fnd=\"data-granite-table-header-cell\"\n        [graniteColumnSize]=\"column.size\"\n        [attr.data-granite-table-header-cell]=\"column.name\"\n        graniteTableHeaderCell\n        graniteCellAlignClasses\n        [textAlign]=\"column.textAlign\"\n        [class]=\"column.headerClass\"\n      >\n        {{ column.title ?? column.name | graniteTitle }}\n      </th>\n\n      <td\n        tabindex=\"0\"\n        cdk-cell\n        *cdkCellDef=\"let row; let rowIndex = index\"\n        data-fnd=\"data-granite-table-row-cell\"\n        [attr.data-granite-table-cell]=\"column.name\"\n        [graniteColumnSize]=\"column.size\"\n        graniteCellAlignClasses\n        [textAlign]=\"column.textAlign\"\n        [class]=\"column.class\"\n        [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n      >\n        <granite-table-data-cell\n          [value]=\"row[column.name]\"\n          [row]=\"row\"\n          [column]=\"column\"\n          [rowIndex]=\"rowIndex\"\n          [columnIndex]=\"columnIndex\"\n          [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n        ></granite-table-data-cell>\n      </td>\n    </ng-container>\n\n    <tr\n      tabindex=\"0\"\n      cdk-header-row\n      *cdkHeaderRowDef=\"_displayedColumns\"\n      data-fnd=\"data-granite-table-header\"\n    ></tr>\n    <tr\n      tabindex=\"0\"\n      cdk-row\n      *cdkRowDef=\"let row; let rowIndex = index; columns: _displayedColumns\"\n      data-fnd=\"data-granite-table-row\"\n      [ngStyle]=\"getStyles(row, rowIndex)\"\n      (click)=\"handleRowClick($event, row, rowIndex)\"\n    ></tr>\n  </table>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableModule } from 'primeng/table';\n\nimport { PurePipesModule } from '@ifsworld/granite-components';\n\nimport { GraniteTableComponent } from './table.component';\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';\nimport { GraniteTableDataCellComponent } from './cell/table-data-cell.component';\nimport { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';\nimport { CdkTableModule } from '@angular/cdk/table';\nimport { GraniteColumnSizeDirective } from './column-size/column-size.directive';\n\n@NgModule({\n  imports: [CommonModule, TableModule, PurePipesModule, CdkTableModule],\n  declarations: [\n    GraniteTableComponent,\n    GraniteTableColumnDirective,\n    GraniteTableHeaderCellComponent,\n    GraniteTableDataCellComponent,\n    GraniteCellAlignClassesDirective,\n    GraniteColumnSizeDirective,\n  ],\n  exports: [GraniteTableComponent, GraniteTableColumnDirective],\n})\nexport class GraniteTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.GraniteTableHeaderCellComponent","i4.GraniteTableDataCellComponent","i5.GraniteCellAlignClassesDirective","i6.GraniteColumnSizeDirective"],"mappings":"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"}