@theseam/ui-common 0.4.28-beta.3 → 0.4.28-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/esm2020/datatable/datatable/datatable.component.mjs +3 -3
  2. package/esm2020/datatable/models/columns-data-filters/models.mjs +1 -1
  3. package/esm2020/datatable/models/columns-data-filters/utils.mjs +1 -1
  4. package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +3 -3
  5. package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +1 -1
  6. package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +1 -1
  7. package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +1 -1
  8. package/esm2020/table/table/table.component.mjs +2 -5
  9. package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
  10. package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
  11. package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
  12. package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
  13. package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
  14. package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
  15. package/fesm2015/theseam-ui-common-datatable.mjs +2 -2
  16. package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
  17. package/fesm2015/theseam-ui-common-google-maps.mjs +2 -2
  18. package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
  19. package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
  20. package/fesm2015/theseam-ui-common-table.mjs +1 -4
  21. package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
  22. package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
  23. package/fesm2020/theseam-ui-common-datatable.mjs +2 -2
  24. package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
  25. package/fesm2020/theseam-ui-common-google-maps.mjs +2 -2
  26. package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
  27. package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
  28. package/fesm2020/theseam-ui-common-table.mjs +1 -4
  29. package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
  30. package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"theseam-ui-common-table.mjs","sources":["../../../projects/ui-common/table/table-cell-tpl.directive.ts","../../../projects/ui-common/table/table-column-header-tpl.directive.ts","../../../projects/ui-common/table/table-column.component.ts","../../../projects/ui-common/table/table/table.component.ts","../../../projects/ui-common/table/table/table.component.html","../../../projects/ui-common/table/table.module.ts","../../../projects/ui-common/table/theseam-ui-common-table.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTableCellTpl]',\n standalone: true,\n})\nexport class TheSeamTableCellTplDirective {\n template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTableColumnHeaderTpl]',\n standalone: true,\n})\nexport class TheSeamTableColumnHeaderTplDirective {\n template = inject(TemplateRef<any>)\n}\n","import { Component, ContentChild, Input, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'\nimport { Subject } from 'rxjs'\n\nimport { ColumnChangesService, TableColumnProp } from '@marklb/ngx-datatable'\n\nimport { TheSeamTableCellTplDirective } from './table-cell-tpl.directive'\nimport { TheSeamTableColumnHeaderTplDirective } from './table-column-header-tpl.directive'\n\n// TODO: The column component should implement `ITableColumn`, since\n// providing some properties by input and some by template could be confusing.\n\n@Component({\n selector: 'seam-table-column',\n standalone: true,\n template: ``,\n})\nexport class TheSeamTableColumnComponent implements OnChanges {\n\n @Input() name?: string | null\n @Input() prop?: TableColumnProp | null\n\n @Input() flexGrow?: number | null\n // @Input() minWidth?: number | null\n // @Input() maxWidth?: number | null\n // @Input() width?: number | null\n\n // @Input() headerClass?: string | ((data: any) => string|any) | null\n @Input() headerClass?: string | null\n // @Input() cellClass?: string | ((data: any) => string|any) | null\n @Input() cellClass?: string | null\n\n private _isFirstChange = true\n\n @ContentChild(TheSeamTableCellTplDirective, { static: true }) cellTplDirective?: TheSeamTableCellTplDirective\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('cellTemplate')\n _cellTemplateInput?: TemplateRef<any> | null\n\n @ContentChild(TheSeamTableCellTplDirective, { read: TemplateRef, static: true })\n _cellTemplateQuery?: TemplateRef<any>\n\n get cellTemplate(): TemplateRef<any> | undefined | null {\n return this._cellTemplateInput || this._cellTemplateQuery\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('headerTemplate')\n _headerTemplateInput?: TemplateRef<any> | null\n\n @ContentChild(TheSeamTableColumnHeaderTplDirective, { read: TemplateRef, static: true })\n _headerTemplateQuery?: TemplateRef<any>\n\n get headerTemplate(): TemplateRef<any> | undefined | null {\n return this._headerTemplateInput || this._headerTemplateQuery\n }\n\n private readonly _columnChange = new Subject<void>()\n public columnChange$ = this._columnChange.asObservable()\n\n // constructor(\n // private _columnChangesService: DatatableColumnChangesService\n // ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._isFirstChange) {\n this._isFirstChange = false\n } else {\n // this._columnChangesService.onInputChange()\n this._columnChange.next()\n }\n }\n\n}\n","import { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { AfterContentChecked, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef } from '@angular/core'\nimport { DomSanitizer } from '@angular/platform-browser'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\nimport { merge, Subject, Subscription } from 'rxjs'\nimport { TheSeamTableColumnComponent } from '../table-column.component'\n\n/**\n * An optional function passed into the `NgForOf` directive that defines how to track\n * changes for items in an iterable.\n * The function takes the iteration index and item ID.\n * When supplied, Angular tracks changes by the return value of the function.\n *\n * NOTE: Can't import the type from'@angular/core', because of a bug in angular-cli's\n * build that can't find exported types that only exist at compile time if there\n * are exports that exist at runtime in the same file.\n */\nexport type TrackByFunction<T> = (index: number, item: T) => any\n\nexport interface ITableColumn {\n prop: string\n name?: string\n cellTemplate?: TemplateRef<any>\n headerTemplate?: TemplateRef<any>\n cellClass?: string // | ((data: any) => string | any)\n headerClass?: string // | ((data: any) => string | any)\n}\n\nfunction mergeColumnsAndTplColumns(columns: (string | ITableColumn)[], tplColumns: TheSeamTableColumnComponent[]): ITableColumn[] {\n const newCols: ITableColumn[] = []\n\n for (const col of columns) {\n const newCol: ITableColumn = {\n ...((typeof col === 'string') ? {\n prop: col,\n name: col,\n } : col),\n }\n const tplCol = tplColumns.find(c => c.prop === newCol.prop)\n // newCol.cellTypeConfig = tplCol?.cellTypeConfig\n if (tplCol) {\n if (tplCol.name !== undefined && tplCol.name !== null) {\n newCol.name = tplCol.name ?? undefined\n }\n if (tplCol.cellTemplate !== undefined && tplCol.cellTemplate !== null) {\n newCol.cellTemplate = tplCol.cellTemplate ?? undefined\n }\n if (tplCol.headerTemplate !== undefined && tplCol.headerTemplate !== null) {\n newCol.headerTemplate = tplCol.headerTemplate ?? undefined\n }\n if (tplCol.cellClass !== undefined && tplCol.cellClass !== null) {\n newCol.cellClass = tplCol.cellClass ?? undefined\n }\n if (tplCol.headerClass !== undefined && tplCol.headerClass !== null) {\n newCol.headerClass = tplCol.headerClass ?? undefined\n }\n }\n\n newCols.push(newCol)\n }\n\n return newCols\n}\n\n@Component({\n selector: 'seam-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent<T = any> implements OnInit, OnChanges, AfterContentChecked {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n get columns() { return this._columns }\n set columns(value: (string | ITableColumn)[] | undefined | null) {\n this._columns = value\n // this._setColumns(value || [])\n const cols = mergeColumnsAndTplColumns(value || [], this._columnComponents?.toArray() ?? [])\n // this._setColumns(cols)\n this._pendingColumns = cols\n }\n private _columns: (string | ITableColumn)[] | undefined | null\n\n @Input()\n get rows(): T[] | undefined | null { return this._rows }\n set rows(value: T[] | undefined | null) {\n this._rows = value ? coerceArray(value) : []\n\n if (this._rows.length < 1) {\n this._displayedRows = [\n { _emptyDisplay: true } as any\n ]\n } else {\n this._displayedRows = this._rows\n }\n }\n private _rows: T[] | undefined | null = []\n\n get displayedRows() { return this._displayedRows }\n private _displayedRows: T[] & { _colSpan?: number } = []\n\n @Input() trackBy: TrackByFunction<T> | undefined | null\n\n @Input() size: 'sm' | 'md' | undefined | null\n\n @Input() @InputBoolean() hasHeader = true\n\n private _pendingColumns?: ITableColumn[]\n\n public displayedRecords?: ITableColumn[]\n public displayedColumns?: string[]\n\n @Output() readonly columnsChange = new EventEmitter<{ previous: ITableColumn[] | undefined, current: ITableColumn[] }>()\n @Output() readonly actionRefreshRequest = new EventEmitter<void>()\n\n @ContentChildren(TheSeamTableColumnComponent)\n set columnComponents(value: QueryList<TheSeamTableColumnComponent> | undefined) {\n // this._columnsManager.setTemplateColumns(translateTemplateColumns(value?.toArray() ?? []))\n this._columnComponents = value\n if (value?.toArray().length === 0) return\n const cols = mergeColumnsAndTplColumns(this._columns || [], value?.toArray() ?? [])\n // this._setColumns(cols)\n this._pendingColumns = cols\n\n if (this._columnComponentChange) this._columnComponentChange.unsubscribe()\n const obsArr = value?.toArray().map(c => c.columnChange$)\n if (obsArr && obsArr.length > 0) {\n this._columnComponentChange = merge(obsArr).subscribe(() => {\n const _cols = mergeColumnsAndTplColumns(this._columns || [], value?.toArray() ?? [])\n // this._setColumns(_cols)\n this._pendingColumns = _cols\n })\n }\n }\n private _columnComponents: QueryList<TheSeamTableColumnComponent> | undefined\n private _columnComponentChange = Subscription.EMPTY\n\n constructor(\n private readonly _sanitizer: DomSanitizer\n ) { }\n\n ngOnInit() {\n console.log('TableComponent.ngOnInit')\n this._updateColumns()\n }\n\n ngAfterContentChecked() {\n console.log('TableComponent.ngAfterContentChecked')\n this._updateColumns()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this._updateColumns()\n }\n }\n\n private _updateColumns() {\n const pending = this._pendingColumns\n this._pendingColumns = undefined\n if (pending) {\n this._setColumns(pending)\n }\n }\n\n // TODO: Improve column handling, like datatable, to avoid excessive updates.\n private _setColumns(cols: (string | ITableColumn)[]) {\n const prev = this.displayedRecords\n const newCols: ITableColumn[] = []\n\n for (const col of cols) {\n if (typeof col === 'string') {\n const newCol: ITableColumn = {\n prop: col,\n name: col\n }\n newCols.push(newCol)\n } else {\n let name = col.name\n if (name === undefined || name === null) {\n name = col.prop\n }\n const newCol: ITableColumn = {\n ...col,\n prop: col.prop,\n name\n }\n newCols.push(newCol)\n }\n }\n\n for (const col of newCols) {\n const _col = col as any\n if (_col && _col.cellTypeConfig && _col.cellTypeConfig.styles) {\n _col.cellTypeConfig.styles = this._sanitizer.bypassSecurityTrustStyle(_col.cellTypeConfig.styles)\n }\n }\n\n console.log('newCols', newCols)\n this.displayedRecords = newCols\n this.displayedColumns = newCols.map(c => c.prop)\n this.columnsChange.emit({ previous: prev, current: newCols })\n }\n\n public triggerActionRefreshRequest() {\n this.actionRefreshRequest.emit(undefined)\n }\n\n _trackByRecords(r: any) {\n return r.prop + r.name\n }\n\n}\n","<table cdk-table [dataSource]=\"displayedRows\" class=\"table table-header-divider-indented mb-0\"\n [class.table-striped]=\"rows && rows.length > 0\"\n [class.table-sm]=\"size === 'sm'\"\n [class.table-no-header]=\"!hasHeader\">\n <ng-container *ngFor=\"let r of displayedRecords; first as isFirst; trackBy:_trackByRecords\">\n <ng-container [cdkColumnDef]=\"r.prop\">\n <th cdk-header-cell *cdkHeaderCellDef [class]=\"r.headerClass\">\n <ng-container *ngIf=\"hasHeader\">\n <ng-container *ngIf=\"$any(r)?.headerTemplate; else noHeaderTpl\">\n <ng-template\n [ngTemplateOutlet]=\"$any(r)?.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: r.name, prop: r.prop, column: r }\">\n </ng-template>\n </ng-container>\n <ng-template #noHeaderTpl>\n {{ r.name }}\n </ng-template>\n </ng-container>\n </th>\n <td cdk-cell *cdkCellDef=\"let element; index as rowIndex\"\n [attr.colspan]=\"element?._emptyDisplay && isFirst ? 2 : undefined\"\n [class]=\"element?._emptyDisplay ? undefined : r.cellClass\"\n [class.border-top-0]=\"element?._emptyDisplay && isFirst\"\n [class.d-none]=\"element?._emptyDisplay && !isFirst\"\n [style]=\"$any(r)?.cellTypeConfig?.styles\">\n\n <span [style]=\"$any(r)?.cellTypeConfig?.styles\"></span>\n\n <ng-container *ngIf=\"element?._emptyDisplay && isFirst; else hasDataTpl\">\n No records found\n </ng-container>\n\n <ng-template #hasDataTpl>\n <seam-table-cell-type-selector *ngIf=\"$any(r)?.cellType; else noCellType\"\n [type]=\"$any(r)?.cellType\"\n [value]=\"element[r.prop]\"\n [rowIndex]=\"rowIndex\"\n [row]=\"element\"\n [colData]=\"r\">\n </seam-table-cell-type-selector>\n <ng-template #noCellType>\n <ng-container *ngIf=\"$any(r)?.cellTemplate; else noCellTpl\">\n <ng-template\n [ngTemplateOutlet]=\"$any(r)?.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element[r.prop], row: element, rowIndex: rowIndex, column: r }\">\n </ng-template>\n </ng-container>\n </ng-template>\n <ng-template #noCellTpl>\n <div class=\"td-text-truncate\" [title]=\"element[r.prop]\">\n {{ element[r.prop] }}\n </div>\n </ng-template>\n </ng-template>\n\n </td>\n </ng-container>\n </ng-container>\n\n <tr cdk-header-row *cdkHeaderRowDef=\"displayedColumns\"></tr>\n <tr cdk-row *cdkRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n","import { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type'\n\nimport { TableComponent } from './table/table.component'\nimport { TheSeamTableColumnComponent } from './table-column.component'\nimport { TheSeamTableCellTplDirective } from './table-cell-tpl.directive'\nimport { TheSeamTableColumnHeaderTplDirective } from './table-column-header-tpl.directive'\n\n@NgModule({\n declarations: [\n TableComponent\n ],\n imports: [\n CommonModule,\n CdkTableModule,\n TheSeamTableCellTypeModule,\n TheSeamTableColumnComponent,\n TheSeamTableCellTplDirective,\n TheSeamTableColumnHeaderTplDirective,\n ],\n exports: [\n TableComponent,\n TheSeamTableColumnComponent,\n TheSeamTableCellTplDirective,\n TheSeamTableColumnHeaderTplDirective,\n ]\n})\nexport class TheSeamTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAMa,4BAA4B,CAAA;AAJzC,IAAA,WAAA,GAAA;QAKE,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC,CAAA;KACpC;;yHAFY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6GAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;iBACjB,CAAA;;;MCCY,oCAAoC,CAAA;AAJjD,IAAA,WAAA,GAAA;QAKE,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC,CAAA;KACpC;;iIAFY,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAApC,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAJhD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;iBACjB,CAAA;;;ACGD;AACA;MAOa,2BAA2B,CAAA;AALxC,IAAA,WAAA,GAAA;AAoBU,QAAA,IAAc,CAAA,cAAA,GAAG,IAAI,CAAA;AA0BZ,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAA;QAC7C,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAA;KAezD;AA/BC,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAA;KAC1D;AASD,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAA;KAC9D;;;;AASD,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;AAC5B,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;AAC1B,SAAA;KACF;;wHAvDU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4GAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,CAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,gBAAA,EAAA,sBAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAiBxB,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAM5B,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAWjD,oCAAoC,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,WAAW,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApC7D,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAED,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAE,CAAA;iBACb,CAAA;8BAGU,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAMG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAIwD,gBAAgB,EAAA,CAAA;sBAA7E,YAAY;gBAAC,IAAA,EAAA,CAAA,4BAA4B,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAI5D,kBAAkB,EAAA,CAAA;sBADjB,KAAK;uBAAC,cAAc,CAAA;gBAIrB,kBAAkB,EAAA,CAAA;sBADjB,YAAY;uBAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAS/E,oBAAoB,EAAA,CAAA;sBADnB,KAAK;uBAAC,gBAAgB,CAAA;gBAIvB,oBAAoB,EAAA,CAAA;sBADnB,YAAY;uBAAC,oCAAoC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ACrBzF,SAAS,yBAAyB,CAAC,OAAkC,EAAE,UAAyC,EAAA;;IAC9G,MAAM,OAAO,GAAmB,EAAE,CAAA;AAElC,IAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACzB,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,EAAA,GAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI;AAC5B,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,IAAI,EAAE,GAAG;AACV,SAAA,GAAG,GAAG,EACV,CAAA;AACD,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAA;;AAE3D,QAAA,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACrD,MAAM,CAAC,IAAI,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAA;AACvC,aAAA;YACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACrE,MAAM,CAAC,YAAY,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAA;AACvD,aAAA;YACD,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE;gBACzE,MAAM,CAAC,cAAc,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,cAAc,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAA;AAC3D,aAAA;YACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;gBAC/D,MAAM,CAAC,SAAS,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,SAAS,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAA;AACjD,aAAA;YACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;gBACnE,MAAM,CAAC,WAAW,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,WAAW,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,SAAS,CAAA;AACrD,aAAA;AACF,SAAA;AAED,QAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,KAAA;AAED,IAAA,OAAO,OAAO,CAAA;AAChB,CAAC;MAQY,cAAc,CAAA;IAKzB,IACI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAA,EAAE;IACtC,IAAI,OAAO,CAAC,KAAmD,EAAA;;AAC7D,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;;AAErB,QAAA,MAAM,IAAI,GAAG,yBAAyB,CAAC,KAAK,IAAI,EAAE,EAAE,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,iBAAiB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAA;;AAE5F,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;KAC5B;IAGD,IACI,IAAI,KAA6B,OAAO,IAAI,CAAC,KAAK,CAAA,EAAE;IACxD,IAAI,IAAI,CAAC,KAA6B,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;AAE5C,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,IAAI,CAAC,cAAc,GAAG;gBACpB,EAAE,aAAa,EAAE,IAAI,EAAS;aAC/B,CAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAA;AACjC,SAAA;KACF;IAGD,IAAI,aAAa,KAAK,OAAO,IAAI,CAAC,cAAc,CAAA,EAAE;IAiBlD,IACI,gBAAgB,CAAC,KAAyD,EAAA;;;AAE5E,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;QAC9B,IAAI,CAAA,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,OAAO,EAAA,CAAG,MAAM,MAAK,CAAC;YAAE,OAAM;QACzC,MAAM,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC,CAAA;;AAEnF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAE3B,IAAI,IAAI,CAAC,sBAAsB;AAAE,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAA;QAC1E,MAAM,MAAM,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,OAAO,EAAA,CAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAA;AACzD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAK;;gBACzD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC,CAAA;;AAEpF,gBAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;AAC9B,aAAC,CAAC,CAAA;AACH,SAAA;KACF;AAID,IAAA,WAAA,CACmB,UAAwB,EAAA;AAAxB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;AApE1B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAA;AA0B7C,QAAA,IAAK,CAAA,KAAA,GAA2B,EAAE,CAAA;AAGlC,QAAA,IAAc,CAAA,cAAA,GAAgC,EAAE,CAAA;AAM/B,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAA;AAOtB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAqE,CAAA;AACrG,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAQ,CAAA;AAsB1D,QAAA,IAAA,CAAA,sBAAsB,GAAG,YAAY,CAAC,KAAK,CAAA;KAI9C;IAEL,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACtC,IAAI,CAAC,cAAc,EAAE,CAAA;KACtB;IAED,qBAAqB,GAAA;AACnB,QAAA,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACnD,IAAI,CAAC,cAAc,EAAE,CAAA;KACtB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,cAAc,EAAE,CAAA;AACtB,SAAA;KACF;IAEO,cAAc,GAAA;AACpB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAA;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;AAChC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;AAC1B,SAAA;KACF;;AAGO,IAAA,WAAW,CAAC,IAA+B,EAAA;AACjD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAClC,MAAM,OAAO,GAAmB,EAAE,CAAA;AAElC,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,gBAAA,MAAM,MAAM,GAAiB;AAC3B,oBAAA,IAAI,EAAE,GAAG;AACT,oBAAA,IAAI,EAAE,GAAG;iBACV,CAAA;AACD,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;AACnB,gBAAA,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;AACvC,oBAAA,IAAI,GAAG,GAAG,CAAC,IAAI,CAAA;AAChB,iBAAA;AACD,gBAAA,MAAM,MAAM,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACP,GAAG,CAAA,EAAA,EACN,IAAI,EAAE,GAAG,CAAC,IAAI,EACd,IAAI,EAAA,CACL,CAAA;AACD,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrB,aAAA;AACF,SAAA;AAED,QAAA,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,GAAU,CAAA;YACvB,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;AAC7D,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;AAClG,aAAA;AACF,SAAA;AAED,QAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;AAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;AAChD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;KAC9D;IAEM,2BAA2B,GAAA;AAChC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KAC1C;AAED,IAAA,eAAe,CAAC,CAAM,EAAA;AACpB,QAAA,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;KACvB;;2GA/IU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAgDR,2BAA2B,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvH9C,0qFA8DA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,KAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;AD+C2B,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;CAAiB,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;2FAtC9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,YAAY,EAAA,eAAA,EAGL,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0qFAAA,EAAA,MAAA,EAAA,CAAA,4EAAA,CAAA,EAAA,CAAA;mGAQ3C,OAAO,EAAA,CAAA;sBADV,KAAK;gBAYF,IAAI,EAAA,CAAA;sBADP,KAAK;gBAkBG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAOa,aAAa,EAAA,CAAA;sBAA/B,MAAM;gBACY,oBAAoB,EAAA,CAAA;sBAAtC,MAAM;gBAGH,gBAAgB,EAAA,CAAA;sBADnB,eAAe;uBAAC,2BAA2B,CAAA;;;MEzFjC,kBAAkB,CAAA;;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAjB3B,cAAc,CAAA,EAAA,OAAA,EAAA,CAGd,YAAY;QACZ,cAAc;QACd,0BAA0B;QAC1B,2BAA2B;QAC3B,4BAA4B;AAC5B,QAAA,oCAAoC,aAGpC,cAAc;QACd,2BAA2B;QAC3B,4BAA4B;QAC5B,oCAAoC,CAAA,EAAA,CAAA,CAAA;AAG3B,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAd3B,YAAY;QACZ,cAAc;QACd,0BAA0B;QAC1B,2BAA2B,CAAA,EAAA,CAAA,CAAA;2FAWlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAnB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;AACf,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,0BAA0B;wBAC1B,2BAA2B;wBAC3B,4BAA4B;wBAC5B,oCAAoC;AACrC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,2BAA2B;wBAC3B,4BAA4B;wBAC5B,oCAAoC;AACrC,qBAAA;iBACF,CAAA;;;AC7BD;;AAEG;;;;"}
1
+ {"version":3,"file":"theseam-ui-common-table.mjs","sources":["../../../projects/ui-common/table/table-cell-tpl.directive.ts","../../../projects/ui-common/table/table-column-header-tpl.directive.ts","../../../projects/ui-common/table/table-column.component.ts","../../../projects/ui-common/table/table/table.component.ts","../../../projects/ui-common/table/table/table.component.html","../../../projects/ui-common/table/table.module.ts","../../../projects/ui-common/table/theseam-ui-common-table.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTableCellTpl]',\n standalone: true,\n})\nexport class TheSeamTableCellTplDirective {\n template = inject(TemplateRef<any>)\n}\n","import { Directive, inject, TemplateRef } from '@angular/core'\n\n@Directive({\n selector: '[seamTableColumnHeaderTpl]',\n standalone: true,\n})\nexport class TheSeamTableColumnHeaderTplDirective {\n template = inject(TemplateRef<any>)\n}\n","import { Component, ContentChild, Input, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'\nimport { Subject } from 'rxjs'\n\nimport { ColumnChangesService, TableColumnProp } from '@marklb/ngx-datatable'\n\nimport { TheSeamTableCellTplDirective } from './table-cell-tpl.directive'\nimport { TheSeamTableColumnHeaderTplDirective } from './table-column-header-tpl.directive'\n\n// TODO: The column component should implement `ITableColumn`, since\n// providing some properties by input and some by template could be confusing.\n\n@Component({\n selector: 'seam-table-column',\n standalone: true,\n template: ``,\n})\nexport class TheSeamTableColumnComponent implements OnChanges {\n\n @Input() name?: string | null\n @Input() prop?: TableColumnProp | null\n\n @Input() flexGrow?: number | null\n // @Input() minWidth?: number | null\n // @Input() maxWidth?: number | null\n // @Input() width?: number | null\n\n // @Input() headerClass?: string | ((data: any) => string|any) | null\n @Input() headerClass?: string | null\n // @Input() cellClass?: string | ((data: any) => string|any) | null\n @Input() cellClass?: string | null\n\n private _isFirstChange = true\n\n @ContentChild(TheSeamTableCellTplDirective, { static: true }) cellTplDirective?: TheSeamTableCellTplDirective\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('cellTemplate')\n _cellTemplateInput?: TemplateRef<any> | null\n\n @ContentChild(TheSeamTableCellTplDirective, { read: TemplateRef, static: true })\n _cellTemplateQuery?: TemplateRef<any>\n\n get cellTemplate(): TemplateRef<any> | undefined | null {\n return this._cellTemplateInput || this._cellTemplateQuery\n }\n\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('headerTemplate')\n _headerTemplateInput?: TemplateRef<any> | null\n\n @ContentChild(TheSeamTableColumnHeaderTplDirective, { read: TemplateRef, static: true })\n _headerTemplateQuery?: TemplateRef<any>\n\n get headerTemplate(): TemplateRef<any> | undefined | null {\n return this._headerTemplateInput || this._headerTemplateQuery\n }\n\n private readonly _columnChange = new Subject<void>()\n public columnChange$ = this._columnChange.asObservable()\n\n // constructor(\n // private _columnChangesService: DatatableColumnChangesService\n // ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (this._isFirstChange) {\n this._isFirstChange = false\n } else {\n // this._columnChangesService.onInputChange()\n this._columnChange.next()\n }\n }\n\n}\n","import { BooleanInput, coerceArray } from '@angular/cdk/coercion'\nimport { AfterContentChecked, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, OnChanges, OnInit, Output, QueryList, SimpleChanges, TemplateRef } from '@angular/core'\nimport { DomSanitizer } from '@angular/platform-browser'\nimport { merge, Subject, Subscription } from 'rxjs'\n\nimport { InputBoolean } from '@theseam/ui-common/core'\n\nimport { TheSeamTableColumnComponent } from '../table-column.component'\n\n/**\n * An optional function passed into the `NgForOf` directive that defines how to track\n * changes for items in an iterable.\n * The function takes the iteration index and item ID.\n * When supplied, Angular tracks changes by the return value of the function.\n *\n * NOTE: Can't import the type from'@angular/core', because of a bug in angular-cli's\n * build that can't find exported types that only exist at compile time if there\n * are exports that exist at runtime in the same file.\n */\nexport type TrackByFunction<T> = (index: number, item: T) => any\n\nexport interface ITableColumn {\n prop: string\n name?: string\n cellTemplate?: TemplateRef<any>\n headerTemplate?: TemplateRef<any>\n cellClass?: string // | ((data: any) => string | any)\n headerClass?: string // | ((data: any) => string | any)\n}\n\nfunction mergeColumnsAndTplColumns(columns: (string | ITableColumn)[], tplColumns: TheSeamTableColumnComponent[]): ITableColumn[] {\n const newCols: ITableColumn[] = []\n\n for (const col of columns) {\n const newCol: ITableColumn = {\n ...((typeof col === 'string') ? {\n prop: col,\n name: col,\n } : col),\n }\n const tplCol = tplColumns.find(c => c.prop === newCol.prop)\n // newCol.cellTypeConfig = tplCol?.cellTypeConfig\n if (tplCol) {\n if (tplCol.name !== undefined && tplCol.name !== null) {\n newCol.name = tplCol.name ?? undefined\n }\n if (tplCol.cellTemplate !== undefined && tplCol.cellTemplate !== null) {\n newCol.cellTemplate = tplCol.cellTemplate ?? undefined\n }\n if (tplCol.headerTemplate !== undefined && tplCol.headerTemplate !== null) {\n newCol.headerTemplate = tplCol.headerTemplate ?? undefined\n }\n if (tplCol.cellClass !== undefined && tplCol.cellClass !== null) {\n newCol.cellClass = tplCol.cellClass ?? undefined\n }\n if (tplCol.headerClass !== undefined && tplCol.headerClass !== null) {\n newCol.headerClass = tplCol.headerClass ?? undefined\n }\n }\n\n newCols.push(newCol)\n }\n\n return newCols\n}\n\n@Component({\n selector: 'seam-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TableComponent<T = any> implements OnInit, OnChanges, AfterContentChecked {\n static ngAcceptInputType_hasHeader: BooleanInput\n\n private readonly _ngUnsubscribe = new Subject<void>()\n\n @Input()\n get columns() { return this._columns }\n set columns(value: (string | ITableColumn)[] | undefined | null) {\n this._columns = value\n // this._setColumns(value || [])\n const cols = mergeColumnsAndTplColumns(value || [], this._columnComponents?.toArray() ?? [])\n // this._setColumns(cols)\n this._pendingColumns = cols\n }\n private _columns: (string | ITableColumn)[] | undefined | null\n\n @Input()\n get rows(): T[] | undefined | null { return this._rows }\n set rows(value: T[] | undefined | null) {\n this._rows = value ? coerceArray(value) : []\n\n if (this._rows.length < 1) {\n this._displayedRows = [\n { _emptyDisplay: true } as any\n ]\n } else {\n this._displayedRows = this._rows\n }\n }\n private _rows: T[] | undefined | null = []\n\n get displayedRows() { return this._displayedRows }\n private _displayedRows: T[] & { _colSpan?: number } = []\n\n @Input() trackBy: TrackByFunction<T> | undefined | null\n\n @Input() size: 'sm' | 'md' | undefined | null\n\n @Input() @InputBoolean() hasHeader = true\n\n private _pendingColumns?: ITableColumn[]\n\n public displayedRecords?: ITableColumn[]\n public displayedColumns?: string[]\n\n @Output() readonly columnsChange = new EventEmitter<{ previous: ITableColumn[] | undefined, current: ITableColumn[] }>()\n @Output() readonly actionRefreshRequest = new EventEmitter<void>()\n\n @ContentChildren(TheSeamTableColumnComponent)\n set columnComponents(value: QueryList<TheSeamTableColumnComponent> | undefined) {\n // this._columnsManager.setTemplateColumns(translateTemplateColumns(value?.toArray() ?? []))\n this._columnComponents = value\n if (value?.toArray().length === 0) return\n const cols = mergeColumnsAndTplColumns(this._columns || [], value?.toArray() ?? [])\n // this._setColumns(cols)\n this._pendingColumns = cols\n\n if (this._columnComponentChange) this._columnComponentChange.unsubscribe()\n const obsArr = value?.toArray().map(c => c.columnChange$)\n if (obsArr && obsArr.length > 0) {\n this._columnComponentChange = merge(obsArr).subscribe(() => {\n const _cols = mergeColumnsAndTplColumns(this._columns || [], value?.toArray() ?? [])\n // this._setColumns(_cols)\n this._pendingColumns = _cols\n })\n }\n }\n private _columnComponents: QueryList<TheSeamTableColumnComponent> | undefined\n private _columnComponentChange = Subscription.EMPTY\n\n constructor(\n private readonly _sanitizer: DomSanitizer\n ) { }\n\n ngOnInit() {\n this._updateColumns()\n }\n\n ngAfterContentChecked() {\n this._updateColumns()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.columns) {\n this._updateColumns()\n }\n }\n\n private _updateColumns() {\n const pending = this._pendingColumns\n this._pendingColumns = undefined\n if (pending) {\n this._setColumns(pending)\n }\n }\n\n // TODO: Improve column handling, like datatable, to avoid excessive updates.\n private _setColumns(cols: (string | ITableColumn)[]) {\n const prev = this.displayedRecords\n const newCols: ITableColumn[] = []\n\n for (const col of cols) {\n if (typeof col === 'string') {\n const newCol: ITableColumn = {\n prop: col,\n name: col\n }\n newCols.push(newCol)\n } else {\n let name = col.name\n if (name === undefined || name === null) {\n name = col.prop\n }\n const newCol: ITableColumn = {\n ...col,\n prop: col.prop,\n name\n }\n newCols.push(newCol)\n }\n }\n\n for (const col of newCols) {\n const _col = col as any\n if (_col && _col.cellTypeConfig && _col.cellTypeConfig.styles) {\n _col.cellTypeConfig.styles = this._sanitizer.bypassSecurityTrustStyle(_col.cellTypeConfig.styles)\n }\n }\n\n this.displayedRecords = newCols\n this.displayedColumns = newCols.map(c => c.prop)\n this.columnsChange.emit({ previous: prev, current: newCols })\n }\n\n public triggerActionRefreshRequest() {\n this.actionRefreshRequest.emit(undefined)\n }\n\n _trackByRecords(r: any) {\n return r.prop + r.name\n }\n\n}\n","<table cdk-table [dataSource]=\"displayedRows\" class=\"table table-header-divider-indented mb-0\"\n [class.table-striped]=\"rows && rows.length > 0\"\n [class.table-sm]=\"size === 'sm'\"\n [class.table-no-header]=\"!hasHeader\">\n <ng-container *ngFor=\"let r of displayedRecords; first as isFirst; trackBy:_trackByRecords\">\n <ng-container [cdkColumnDef]=\"r.prop\">\n <th cdk-header-cell *cdkHeaderCellDef [class]=\"r.headerClass\">\n <ng-container *ngIf=\"hasHeader\">\n <ng-container *ngIf=\"$any(r)?.headerTemplate; else noHeaderTpl\">\n <ng-template\n [ngTemplateOutlet]=\"$any(r)?.headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: r.name, prop: r.prop, column: r }\">\n </ng-template>\n </ng-container>\n <ng-template #noHeaderTpl>\n {{ r.name }}\n </ng-template>\n </ng-container>\n </th>\n <td cdk-cell *cdkCellDef=\"let element; index as rowIndex\"\n [attr.colspan]=\"element?._emptyDisplay && isFirst ? 2 : undefined\"\n [class]=\"element?._emptyDisplay ? undefined : r.cellClass\"\n [class.border-top-0]=\"element?._emptyDisplay && isFirst\"\n [class.d-none]=\"element?._emptyDisplay && !isFirst\"\n [style]=\"$any(r)?.cellTypeConfig?.styles\">\n\n <span [style]=\"$any(r)?.cellTypeConfig?.styles\"></span>\n\n <ng-container *ngIf=\"element?._emptyDisplay && isFirst; else hasDataTpl\">\n No records found\n </ng-container>\n\n <ng-template #hasDataTpl>\n <seam-table-cell-type-selector *ngIf=\"$any(r)?.cellType; else noCellType\"\n [type]=\"$any(r)?.cellType\"\n [value]=\"element[r.prop]\"\n [rowIndex]=\"rowIndex\"\n [row]=\"element\"\n [colData]=\"r\">\n </seam-table-cell-type-selector>\n <ng-template #noCellType>\n <ng-container *ngIf=\"$any(r)?.cellTemplate; else noCellTpl\">\n <ng-template\n [ngTemplateOutlet]=\"$any(r)?.cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element[r.prop], row: element, rowIndex: rowIndex, column: r }\">\n </ng-template>\n </ng-container>\n </ng-template>\n <ng-template #noCellTpl>\n <div class=\"td-text-truncate\" [title]=\"element[r.prop]\">\n {{ element[r.prop] }}\n </div>\n </ng-template>\n </ng-template>\n\n </td>\n </ng-container>\n </ng-container>\n\n <tr cdk-header-row *cdkHeaderRowDef=\"displayedColumns\"></tr>\n <tr cdk-row *cdkRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n","import { CdkTableModule } from '@angular/cdk/table'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { TheSeamTableCellTypeModule } from '@theseam/ui-common/table-cell-type'\n\nimport { TableComponent } from './table/table.component'\nimport { TheSeamTableColumnComponent } from './table-column.component'\nimport { TheSeamTableCellTplDirective } from './table-cell-tpl.directive'\nimport { TheSeamTableColumnHeaderTplDirective } from './table-column-header-tpl.directive'\n\n@NgModule({\n declarations: [\n TableComponent\n ],\n imports: [\n CommonModule,\n CdkTableModule,\n TheSeamTableCellTypeModule,\n TheSeamTableColumnComponent,\n TheSeamTableCellTplDirective,\n TheSeamTableColumnHeaderTplDirective,\n ],\n exports: [\n TableComponent,\n TheSeamTableColumnComponent,\n TheSeamTableCellTplDirective,\n TheSeamTableColumnHeaderTplDirective,\n ]\n})\nexport class TheSeamTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}