@tetacom/ng-components 1.3.4 → 1.3.6

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.
@@ -8413,6 +8413,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
8413
8413
  args: ['class.cell']
8414
8414
  }] } });
8415
8415
 
8416
+ class TableRowComponent {
8417
+ get control() {
8418
+ return this.formGroup?.get('id');
8419
+ }
8420
+ get formGroup() {
8421
+ if (this._formGroup instanceof FormGroup) {
8422
+ return this._formGroup;
8423
+ }
8424
+ if (this._formGroup instanceof NgForm) {
8425
+ return this._formGroup.form;
8426
+ }
8427
+ return null;
8428
+ }
8429
+ constructor() {
8430
+ this._formGroup = inject(ControlContainer, {
8431
+ optional: true,
8432
+ });
8433
+ }
8434
+ ngOnChanges(changes) {
8435
+ if (!this.control) {
8436
+ this.formGroup.registerControl('id', new UntypedFormControl(this.row?.data['id']));
8437
+ }
8438
+ else {
8439
+ this.control.patchValue(this.row?.data['id'], {
8440
+ emitEvent: false,
8441
+ });
8442
+ }
8443
+ }
8444
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TableRowComponent, isStandalone: true, selector: "teta-table-row", inputs: { row: "row" }, usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8446
+ }
8447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableRowComponent, decorators: [{
8448
+ type: Component,
8449
+ args: [{ selector: 'teta-table-row', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n" }]
8450
+ }], ctorParameters: () => [], propDecorators: { row: [{
8451
+ type: Input
8452
+ }] } });
8453
+
8416
8454
  class TableBodyComponent {
8417
8455
  set data(data) {
8418
8456
  this._data = data;
@@ -8558,7 +8596,7 @@ class TableBodyComponent {
8558
8596
  : current.data[columnName], null);
8559
8597
  }
8560
8598
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableBodyComponent, deps: [{ token: TableService }, { token: i0.ElementRef }, { token: TetaConfigService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
8561
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TableBodyComponent, isStandalone: true, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow", selectedRows: "selectedRows", additionalComponent: "additionalComponent", aggregate: "aggregate", selectType: "selectType", rowClass: "rowClass", trackRow: "trackRow", trackColumns: "trackColumns" }, outputs: { scrollChange: "scrollChange" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n [showScrollbars]=\"true\"\n >\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"28\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\">\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\"\n style=\"position: absolute; top:0; bottom:16px;left:0;right:0;\"\n >\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow;\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n ngForm\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\">\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div class=\"table-row\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { kind: "component", type: CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8599
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TableBodyComponent, isStandalone: true, selector: "teta-table-body", inputs: { virtual: "virtual", activeRow: "activeRow", selectedRows: "selectedRows", additionalComponent: "additionalComponent", aggregate: "aggregate", selectType: "selectType", rowClass: "rowClass", trackRow: "trackRow", trackColumns: "trackColumns" }, outputs: { scrollChange: "scrollChange" }, host: { properties: { "class.table-body": "this.tableBodyClass" } }, viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], ngImport: i0, template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n [showScrollbars]=\"true\"\n >\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"28\">\n <ng-container\n *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\">\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\"\n style=\"position: absolute; top:0; bottom:16px;left:0;right:0;\"\n >\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow;\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <!-- <div class=\"table-row\"-->\n <!-- ngForm-->\n <!-- (click)=\"setActiveRow(row.data, $event)\"-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [class.table-row_odd]=\"rowIndex % 2 === 1\"-->\n <!-- [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"-->\n <!-- [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"-->\n <!-- [style.flex-grow]=\"totalFlex\"-->\n <!-- [style.flex-basis.px]=\"totalWidth\"-->\n <!-- [style.min-width.px]=\"totalWidth\">-->\n <!-- @if (locked.length > 0) {-->\n <!-- <div class=\"table-row_locked\"-->\n <!-- [style.flex-grow]=\"lockedFlex\"-->\n <!-- [style.flex-basis.px]=\"lockedWidth\"-->\n <!-- [style.min-width.px]=\"lockedWidth\"-->\n <!-- [style.zIndex]=\"row.data === activeRow ? 2 : 1\">-->\n <!-- @if (selectType === selectTypeEnum.checkBox && locked.length) {-->\n <!-- <teta-selection-cell-->\n <!-- [row]=\"row.data\"-->\n <!-- style=\"width: 28px;\"></teta-selection-cell>-->\n <!-- }-->\n <!-- @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {-->\n <!-- <teta-cell-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [attr.data-column]=\"column.name\"-->\n <!-- [column]=\"column\"-->\n <!-- [filterOptions]=\"dict?dict[column.name]:[]\"-->\n <!-- [dict]=\"dict\"-->\n <!-- [row]=\"row\"-->\n <!-- [ngClass]=\"column.cellClass\"-->\n <!-- [attr.tabindex]=\"0\"-->\n <!-- [style.flex-grow]=\"column.flex\"-->\n <!-- [style.flex-basis.px]=\"column.width\"-->\n <!-- ></teta-cell>-->\n <!-- }-->\n <!-- </div>-->\n <!-- }-->\n <!-- @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {-->\n <!-- <teta-selection-cell-->\n <!-- [row]=\"row.data\"-->\n <!-- style=\"width: 28px;\"></teta-selection-cell>-->\n <!-- }-->\n <!-- @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {-->\n <!-- <teta-cell-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [attr.data-column]=\"column.name\"-->\n <!-- [column]=\"column\"-->\n <!-- [filterOptions]=\"dict?dict[column.name]:[]\"-->\n <!-- [dict]=\"dict\"-->\n <!-- [row]=\"row\"-->\n <!-- [ngClass]=\"column.cellClass\"-->\n <!-- [attr.tabindex]=\"0\"-->\n <!-- [style.flex-grow]=\"column.flex\"-->\n <!-- [style.flex-basis.px]=\"column.width\"-->\n <!-- ></teta-cell>-->\n <!-- }-->\n <!-- </div>-->\n <teta-table-row class=\"table-row\"\n ngForm\n [row]=\"row\"\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\">\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </teta-table-row>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div class=\"table-row\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber : 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber : 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SelectionCellComponent, selector: "teta-selection-cell", inputs: ["row"] }, { kind: "component", type: CellComponent, selector: "teta-cell", inputs: ["column", "filterOptions", "dict", "row"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: NumberPipe, name: "tetaNumber" }, { kind: "component", type: TableRowComponent, selector: "teta-table-row", inputs: ["row"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8562
8600
  }
8563
8601
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TableBodyComponent, decorators: [{
8564
8602
  type: Component,
@@ -8576,7 +8614,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
8576
8614
  IconComponent,
8577
8615
  AsyncPipe,
8578
8616
  NumberPipe,
8579
- ], template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n [showScrollbars]=\"true\"\n >\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"28\">\n <ng-container *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\">\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\"\n style=\"position: absolute; top:0; bottom:16px;left:0;right:0;\"\n >\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow;\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"table-row\"\n ngForm\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\">\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div class=\"table-row\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{loc[getAggregateText(column)]}}:\n {{getAggregateValue(column) | tetaNumber : 2}}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n </div>\n</ng-template>\n" }]
8617
+ TableRowComponent,
8618
+ ], template: "@if (virtual && data.length > 0) {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n [showScrollbars]=\"true\"\n >\n <cdk-virtual-scroll-viewport tetaScrollable\n class=\"table-body-container\"\n (scroll)=\"emitScroll($event)\"\n [itemSize]=\"28\">\n <ng-container\n *cdkVirtualFor=\"let row of data;templateCacheSize: 0; let rowIndex = index; trackBy: trackTableRow;\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"table-body-container\"\n style=\"padding-bottom: 12px\"\n direction=\"column\"\n [showScrollbars]=\"true\"\n (scroll)=\"emitScroll($event)\">\n <div class=\"table-body-container\">\n @if (!data?.length) {\n <div class=\"column column_auto\"\n style=\"position: absolute; top:0; bottom:16px;left:0;right:0;\"\n >\n <ng-content></ng-content>\n </div>\n }\n @for (row of data; track trackTableRow(rowIndex, row); let rowIndex = $index) {\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: {row: row, rowIndex: rowIndex}\"></ng-container>\n }\n @if (aggregate) {\n <ng-container *ngTemplateOutlet=\"aggTemplate;\"></ng-container>\n }\n <ng-container *ngTemplateOutlet=\"emptyRow;\"></ng-container>\n </div>\n </teta-scrollable>\n}\n\n<ng-template #bodyTemplate let-row=\"row\" let-rowIndex=\"rowIndex\">\n <!-- <div class=\"table-row\"-->\n <!-- ngForm-->\n <!-- (click)=\"setActiveRow(row.data, $event)\"-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [class.table-row_odd]=\"rowIndex % 2 === 1\"-->\n <!-- [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"-->\n <!-- [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"-->\n <!-- [style.flex-grow]=\"totalFlex\"-->\n <!-- [style.flex-basis.px]=\"totalWidth\"-->\n <!-- [style.min-width.px]=\"totalWidth\">-->\n <!-- @if (locked.length > 0) {-->\n <!-- <div class=\"table-row_locked\"-->\n <!-- [style.flex-grow]=\"lockedFlex\"-->\n <!-- [style.flex-basis.px]=\"lockedWidth\"-->\n <!-- [style.min-width.px]=\"lockedWidth\"-->\n <!-- [style.zIndex]=\"row.data === activeRow ? 2 : 1\">-->\n <!-- @if (selectType === selectTypeEnum.checkBox && locked.length) {-->\n <!-- <teta-selection-cell-->\n <!-- [row]=\"row.data\"-->\n <!-- style=\"width: 28px;\"></teta-selection-cell>-->\n <!-- }-->\n <!-- @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {-->\n <!-- <teta-cell-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [attr.data-column]=\"column.name\"-->\n <!-- [column]=\"column\"-->\n <!-- [filterOptions]=\"dict?dict[column.name]:[]\"-->\n <!-- [dict]=\"dict\"-->\n <!-- [row]=\"row\"-->\n <!-- [ngClass]=\"column.cellClass\"-->\n <!-- [attr.tabindex]=\"0\"-->\n <!-- [style.flex-grow]=\"column.flex\"-->\n <!-- [style.flex-basis.px]=\"column.width\"-->\n <!-- ></teta-cell>-->\n <!-- }-->\n <!-- </div>-->\n <!-- }-->\n <!-- @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {-->\n <!-- <teta-selection-cell-->\n <!-- [row]=\"row.data\"-->\n <!-- style=\"width: 28px;\"></teta-selection-cell>-->\n <!-- }-->\n <!-- @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {-->\n <!-- <teta-cell-->\n <!-- [attr.data-row]=\"rowIndex\"-->\n <!-- [attr.data-column]=\"column.name\"-->\n <!-- [column]=\"column\"-->\n <!-- [filterOptions]=\"dict?dict[column.name]:[]\"-->\n <!-- [dict]=\"dict\"-->\n <!-- [row]=\"row\"-->\n <!-- [ngClass]=\"column.cellClass\"-->\n <!-- [attr.tabindex]=\"0\"-->\n <!-- [style.flex-grow]=\"column.flex\"-->\n <!-- [style.flex-basis.px]=\"column.width\"-->\n <!-- ></teta-cell>-->\n <!-- }-->\n <!-- </div>-->\n <teta-table-row class=\"table-row\"\n ngForm\n [row]=\"row\"\n (click)=\"setActiveRow(row.data, $event)\"\n [attr.data-row]=\"rowIndex\"\n [class.table-row_odd]=\"rowIndex % 2 === 1\"\n [ngClass]=\"rowClass ? rowClass(row.data, rowIndex) : ''\"\n [class.table-row_selected]=\"selectedRows && selectedRows.indexOf(row.data) >= 0\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\"\n [style.zIndex]=\"row.data === activeRow ? 2 : 1\">\n @if (selectType === selectTypeEnum.checkBox && locked.length) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <teta-selection-cell\n [row]=\"row.data\"\n style=\"width: 28px;\"></teta-selection-cell>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <teta-cell\n [attr.data-row]=\"rowIndex\"\n [attr.data-column]=\"column.name\"\n [column]=\"column\"\n [filterOptions]=\"dict?dict[column.name]:[]\"\n [dict]=\"dict\"\n [row]=\"row\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\"\n ></teta-cell>\n }\n </teta-table-row>\n</ng-template>\n\n<ng-template #aggTemplate>\n @if (locale | async; as loc) {\n @if (aggregate) {\n <div class=\"table-row\"\n [class.table-row_virtual]=\"virtual\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n @if (locked.length > 0) {\n <div class=\"table-row_locked\"\n [style.flex-grow]=\"lockedFlex\"\n [style.flex-basis.px]=\"lockedWidth\"\n [style.min-width.px]=\"lockedWidth\">\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of locked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber : 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n @if (selectType === selectTypeEnum.checkBox && locked.length < 1) {\n <div class=\"cell align-center justify-content-center\"\n style=\"width: 28px;\"\n >\n <teta-icon [name]=\"'sumColor'\"></teta-icon>\n </div>\n }\n @for (column of unlocked; track trackColumns(colIndex, column); let colIndex = $index) {\n <div class=\"cell cell-component aggregate-cell\"\n [attr.data-column]=\"column.name\"\n [ngClass]=\"column.cellClass\"\n [attr.tabindex]=\"0\"\n [style.flex-grow]=\"column.flex\"\n [style.flex-basis.px]=\"column.width\">\n @if (column.aggregate !== aggregationType.none) {\n <span class=\"cell-text cell-text_numeric font-title-3\"\n >\n {{ loc[getAggregateText(column)] }}:\n {{ getAggregateValue(column) | tetaNumber : 2 }}\n </span>\n }\n </div>\n }\n </div>\n }\n }\n</ng-template>\n<ng-template #emptyRow>\n <div class=\"empty-table-row\"\n style=\"height: 0.1px\"\n [style.flex-grow]=\"totalFlex\"\n [style.flex-basis.px]=\"totalWidth\"\n [style.min-width.px]=\"totalWidth\">\n </div>\n</ng-template>\n" }]
8580
8619
  }], ctorParameters: () => [{ type: TableService }, { type: i0.ElementRef }, { type: TetaConfigService }, { type: i0.ChangeDetectorRef }], propDecorators: { virtual: [{
8581
8620
  type: Input
8582
8621
  }], activeRow: [{
@@ -11999,5 +12038,5 @@ function tetaZoneOptimized(ngZone) {
11999
12038
  * Generated bundle index. Do not edit.
12000
12039
  */
12001
12040
 
12002
- export { ANIMATION_FRAME, AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AggregationType, Align, ArrayUtil, AutoPositionDirective, AutocompleteComponent, AvatarComponent, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dOptions, CheckboxComponent, ClickOutsideDirective, ClickService, ColorInputComponent, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DATE_Range_CONTROL_VALUE_ACCESSOR, DateCalendarComponent, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerMode, DateRangeComponent, DateTimeCellComponent, DateUtil, DayModel, DelimiterComponent, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DividerComponent, DomUtil, DragContainerDirective, DragContainerInstance, DragDirective, DragDropService, DragInstance, DragPlaceholderDirective, DragPreviewDirective, DragSortContainerDirective, DragSortItemDirective, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandCardComponent, ExpandItemComponent, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExportType, FileItemComponent, FileUploadAreaComponent, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HintDirective, IconComponent, IconFileComponent, IconService, IconSpriteDirective, InputComponent, LetContext, LetDirective, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, Message, MessageComponent, MessageHostComponent, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, NoAutofillDirective, NumberPipe, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OverlayContainerService, PagerComponent, PagerState, PagerUtil, PanelComponent, PopupContentComponent, PositionUtil, ProgressBarComponent, PropertyGridComponent, PropertyGridItemComponent, PropertyGridItemDescriptionDirective, PropertyGridModule, RadioButtonComponent, RadioComponent, RangeCalendarComponent, ResizeDragDirective, ResizePanelComponent, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, ScrollIntoViewDirective, ScrollableComponent, ScrollableDirective, SelectComponent, SelectOptionDirective, SelectType, SelectValueDirective, SidebarComponent, SidebarPosition, SortEvent, SortParam, StateUtil, StepperComponent, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableHeadComponent, TableRow, TableService, TableUtil, TabsComponent, TetaConfigService, TetaContentRef, TetaDatePipe, TetaSize, TetaTemplateDirective, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchService, ToggleComponent, ToolbarComponent, TooltipDirective, TreeComponent, TreeItemToggleComponent, TreeService, VerticalAlign, WINDOW, boolOrFuncCallback, enLocale, exportDomToImage, formatNumber, getCellComponent, getPrecision, isFunction, prependZero, ruLocale, tetaZoneFree, tetaZoneFull, tetaZoneOptimized };
12041
+ export { ANIMATION_FRAME, AccordionComponent, AccordionContentDirective, AccordionHeadComponent, AccordionItemComponent, AggregationType, Align, ArrayUtil, AutoPositionDirective, AutocompleteComponent, AvatarComponent, BooleanCellComponent, BooleanFilter, BooleanFilterComponent, ButtonComponent, CHECKBOX_CONTROL_VALUE_ACCESSOR, CellComponent, CellComponentBase, CellHostComponent, Chart3dComponent, Chart3dOptions, CheckboxComponent, ClickOutsideDirective, ClickService, ColorInputComponent, ColumnReorderEvent, ColumnResizeEvent, ContextMenuDirective, CurrentModal, DATE_PICKER_CONTROL_VALUE_ACCESSOR, DATE_Range_CONTROL_VALUE_ACCESSOR, DateCalendarComponent, DateCellComponent, DateFilter, DateFilterComponent, DateFilterValue, DatePeriod, DatePickerComponent, DatePickerMode, DateRangeComponent, DateTimeCellComponent, DateUtil, DayModel, DelimiterComponent, DetailComponentBase, DialogComponent, DialogService, DisableControlDirective, DividerComponent, DomUtil, DragContainerDirective, DragContainerInstance, DragDirective, DragDropService, DragInstance, DragPlaceholderDirective, DragPreviewDirective, DragSortContainerDirective, DragSortItemDirective, DropdownComponent, DropdownContentDirective, DropdownDirective, DropdownHeadDirective, DynamicComponentService, DynamicContentBaseDirective, DynamicData, EditEvent, EditType, ExpandCardComponent, ExpandItemComponent, ExpandPanelComponent, ExpandPanelContentDirective, ExpandPanelHeadDirective, ExportType, FileItemComponent, FileUploadAreaComponent, FilterBase, FilterComponentBase, FilterHostComponent, FilterItem, FilterState, FilterType, FormGroupTitleComponent, FormsUtil, HeadCellComponentBase, HeadCellHostComponent, HighlightDirective, HintDirective, IconComponent, IconFileComponent, IconService, IconSpriteDirective, InputComponent, LetContext, LetDirective, ListCellComponent, ListFilter, ListFilterComponent, ListFilterType, LoaderDirective, Message, MessageComponent, MessageHostComponent, MessageService, ModalCloseReason, ModalContainerComponent, ModalInstance, ModalModule, ModalService, NoAutofillDirective, NumberPipe, NumericCellComponent, NumericFilter, NumericFilterComponent, NumericFilterValue, OnlyNumberDirective, OverlayContainerService, PagerComponent, PagerState, PagerUtil, PanelComponent, PopupContentComponent, PositionUtil, ProgressBarComponent, PropertyGridComponent, PropertyGridItemComponent, PropertyGridItemDescriptionDirective, PropertyGridModule, RadioButtonComponent, RadioComponent, RangeCalendarComponent, ResizeDragDirective, ResizePanelComponent, SLIDER_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, ScrollIntoViewDirective, ScrollableComponent, ScrollableDirective, SelectComponent, SelectOptionDirective, SelectType, SelectValueDirective, SidebarComponent, SidebarPosition, SortEvent, SortParam, StateUtil, StepperComponent, StringCellComponent, StringFilter, StringFilterComponent, StringFilterType, StringUtil, SwitchButtonComponent, SwitchComponent, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabContentDirective, TabTitleDirective, TableBodyComponent, TableColumn, TableColumnStore, TableComponent, TableHeadComponent, TableRow, TableRowComponent, TableService, TableUtil, TabsComponent, TetaConfigService, TetaContentRef, TetaDatePipe, TetaSize, TetaTemplateDirective, TextFieldComponent, ThemeSwitchComponent, ThemeSwitchService, ToggleComponent, ToolbarComponent, TooltipDirective, TreeComponent, TreeItemToggleComponent, TreeService, VerticalAlign, WINDOW, boolOrFuncCallback, enLocale, exportDomToImage, formatNumber, getCellComponent, getPrecision, isFunction, prependZero, ruLocale, tetaZoneFree, tetaZoneFull, tetaZoneOptimized };
12003
12042
  //# sourceMappingURL=tetacom-ng-components.mjs.map