@taiga-ui/addon-table 4.62.0 → 4.64.0

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.
@@ -7,7 +7,8 @@ class TuiTableControlDirective extends TuiControl {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.children = signal([]);
10
- this.checked = computed(() => this.children().every((i) => this.value().includes(i.tuiCheckboxRow)));
10
+ this.checked = computed(() => !!this.children().length &&
11
+ this.children().every((i) => this.value().includes(i.tuiCheckboxRow)));
11
12
  this.indeterminate = computed(() => !!this.value().length && !this.checked());
12
13
  }
13
14
  toggleAll() {
@@ -28,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
28
29
  providers: [tuiFallbackValueProvider([])],
29
30
  }]
30
31
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNvbnRyb2wvdGFibGUtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBSWpFLE1BS2Esd0JBQTRCLFNBQVEsVUFBd0I7SUFMekU7O1FBTXFCLGFBQVEsR0FBRyxNQUFNLENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLFlBQU8sR0FBb0IsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUN4RSxDQUFDO1FBRWMsa0JBQWEsR0FBRyxRQUFRLENBQ3BDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUNqRCxDQUFDO0tBU0w7SUFQVSxTQUFTO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUFvQztRQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7K0dBakJRLHdCQUF3QjttR0FBeEIsd0JBQXdCLHNIQUZ0QixDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDOztTQUVoQyx3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlFQUF5RTtvQkFDbkYsU0FBUyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgRGlyZWN0aXZlLCB0eXBlIFNpZ25hbCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUFycmF5VG9nZ2xlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5pbXBvcnQge3R5cGUgVHVpQ2hlY2tib3hSb3dEaXJlY3RpdmV9IGZyb20gJy4vY2hlY2tib3gtcm93LmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpVGFibGVdW25nTW9kZWxdLFt0dWlUYWJsZV1bZm9ybUNvbnRyb2xdLFt0dWlUYWJsZV1bZm9ybUNvbnRyb2xOYW1lXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKFtdKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYmxlQ29udHJvbERpcmVjdGl2ZTxUPiBleHRlbmRzIFR1aUNvbnRyb2w8cmVhZG9ubHkgVFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlbiA9IHNpZ25hbDxSZWFkb25seUFycmF5PFR1aUNoZWNrYm94Um93RGlyZWN0aXZlPFQ+Pj4oW10pO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNoZWNrZWQ6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY2hpbGRyZW4oKS5ldmVyeSgoaSkgPT4gdGhpcy52YWx1ZSgpLmluY2x1ZGVzKGkudHVpQ2hlY2tib3hSb3cpKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGUgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gISF0aGlzLnZhbHVlKCkubGVuZ3RoICYmICF0aGlzLmNoZWNrZWQoKSxcbiAgICApO1xuXG4gICAgcHVibGljIHRvZ2dsZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmNoZWNrZWQoKSA/IFtdIDogdGhpcy5jaGlsZHJlbigpLm1hcCgoaSkgPT4gaS50dWlDaGVja2JveFJvdykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwcm9jZXNzKGNoZWNrYm94OiBUdWlDaGVja2JveFJvd0RpcmVjdGl2ZTxUPik6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaWxkcmVuLnVwZGF0ZSgoY2hpbGRyZW4pID0+IHR1aUFycmF5VG9nZ2xlKGNoaWxkcmVuLCBjaGVja2JveCkpO1xuICAgIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi10YWJsZS9kaXJlY3RpdmVzL3RhYmxlLWNvbnRyb2wvdGFibGUtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7O0FBSWpFLE1BS2Esd0JBQTRCLFNBQVEsVUFBd0I7SUFMekU7O1FBTXFCLGFBQVEsR0FBRyxNQUFNLENBQTRDLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLFlBQU8sR0FBb0IsUUFBUSxDQUMvQyxHQUFHLEVBQUUsQ0FDRCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU07WUFDeEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FDNUUsQ0FBQztRQUVjLGtCQUFhLEdBQW9CLFFBQVEsQ0FDckQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQ2pELENBQUM7S0FTTDtJQVBVLFNBQVM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQW9DO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzsrR0FuQlEsd0JBQXdCO21HQUF4Qix3QkFBd0Isc0hBRnRCLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7O1NBRWhDLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUseUVBQXlFO29CQUNuRixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIHR5cGUgU2lnbmFsLCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQXJyYXlUb2dnbGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmltcG9ydCB7dHlwZSBUdWlDaGVja2JveFJvd0RpcmVjdGl2ZX0gZnJvbSAnLi9jaGVja2JveC1yb3cuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlUYWJsZV1bbmdNb2RlbF0sW3R1aVRhYmxlXVtmb3JtQ29udHJvbF0sW3R1aVRhYmxlXVtmb3JtQ29udHJvbE5hbWVdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoW10pXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFibGVDb250cm9sRGlyZWN0aXZlPFQ+IGV4dGVuZHMgVHVpQ29udHJvbDxyZWFkb25seSBUW10+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuID0gc2lnbmFsPFJlYWRvbmx5QXJyYXk8VHVpQ2hlY2tib3hSb3dEaXJlY3RpdmU8VD4+PihbXSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tlZDogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICAhIXRoaXMuY2hpbGRyZW4oKS5sZW5ndGggJiZcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4oKS5ldmVyeSgoaSkgPT4gdGhpcy52YWx1ZSgpLmluY2x1ZGVzKGkudHVpQ2hlY2tib3hSb3cpKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGluZGV0ZXJtaW5hdGU6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiAhIXRoaXMudmFsdWUoKS5sZW5ndGggJiYgIXRoaXMuY2hlY2tlZCgpLFxuICAgICk7XG5cbiAgICBwdWJsaWMgdG9nZ2xlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuY2hlY2tlZCgpID8gW10gOiB0aGlzLmNoaWxkcmVuKCkubWFwKChpKSA9PiBpLnR1aUNoZWNrYm94Um93KSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3MoY2hlY2tib3g6IFR1aUNoZWNrYm94Um93RGlyZWN0aXZlPFQ+KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4udXBkYXRlKChjaGlsZHJlbikgPT4gdHVpQXJyYXlUb2dnbGUoY2hpbGRyZW4sIGNoZWNrYm94KSk7XG4gICAgfVxufVxuIl19
@@ -9,7 +9,8 @@ class TuiTableControlDirective extends TuiControl {
9
9
  constructor() {
10
10
  super(...arguments);
11
11
  this.children = signal([]);
12
- this.checked = computed(() => this.children().every((i) => this.value().includes(i.tuiCheckboxRow)));
12
+ this.checked = computed(() => !!this.children().length &&
13
+ this.children().every((i) => this.value().includes(i.tuiCheckboxRow)));
13
14
  this.indeterminate = computed(() => !!this.value().length && !this.checked());
14
15
  }
15
16
  toggleAll() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-table-directives-table-control.mjs","sources":["../../../projects/addon-table/directives/table-control/table-control.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-row.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-table.directive.ts","../../../projects/addon-table/directives/table-control/table-control.ts","../../../projects/addon-table/directives/table-control/taiga-ui-addon-table-directives-table-control.ts"],"sourcesContent":["import {computed, Directive, type Signal, signal} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiCheckboxRowDirective} from './checkbox-row.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',\n providers: [tuiFallbackValueProvider([])],\n})\nexport class TuiTableControlDirective<T> extends TuiControl<readonly T[]> {\n private readonly children = signal<ReadonlyArray<TuiCheckboxRowDirective<T>>>([]);\n\n public readonly checked: Signal<boolean> = computed(() =>\n this.children().every((i) => this.value().includes(i.tuiCheckboxRow)),\n );\n\n public readonly indeterminate = computed(\n () => !!this.value().length && !this.checked(),\n );\n\n public toggleAll(): void {\n this.onChange(this.checked() ? [] : this.children().map((i) => i.tuiCheckboxRow));\n }\n\n public process(checkbox: TuiCheckboxRowDirective<T>): void {\n this.children.update((children) => tuiArrayToggle(children, checkbox));\n }\n}\n","import {\n computed,\n Directive,\n inject,\n Input,\n type OnDestroy,\n type OnInit,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxRow]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'checked()',\n '(change)': 'onChange()',\n },\n})\nexport class TuiCheckboxRowDirective<T> implements OnInit, OnDestroy {\n private readonly control = inject(NgControl);\n private readonly parent: TuiTableControlDirective<T> = inject(\n TuiTableControlDirective,\n );\n\n protected readonly checked = computed((checked = this.parent\n .value()\n .includes(this.tuiCheckboxRow)) => {\n setTimeout(() => this.control.control?.setValue(checked));\n\n return checked;\n });\n\n @Input()\n public tuiCheckboxRow!: T;\n\n public ngOnInit(): void {\n this.parent.process(this);\n }\n\n public ngOnDestroy(): void {\n this.parent.process(this);\n this.parent.onChange(\n this.parent.value().filter((item) => item !== this.tuiCheckboxRow),\n );\n }\n\n protected onChange(): void {\n this.parent.onChange(tuiArrayToggle(this.parent.value(), this.tuiCheckboxRow));\n }\n}\n","import {computed, Directive, inject} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxTable]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'parent.checked()',\n '[indeterminate]': 'parent.indeterminate()',\n '(change)': 'parent.toggleAll()',\n },\n})\nexport class TuiCheckboxTableDirective {\n private readonly control = inject(NgControl);\n\n protected readonly parent = inject(TuiTableControlDirective);\n protected readonly update = computed(() => {\n this.control.control?.setValue(\n this.parent.indeterminate() ? null : this.parent.checked(),\n );\n });\n}\n","import {TuiCheckboxRowDirective} from './checkbox-row.directive';\nimport {TuiCheckboxTableDirective} from './checkbox-table.directive';\nimport {TuiTableControlDirective} from './table-control.directive';\n\nexport const TuiTableControl = [\n TuiCheckboxRowDirective,\n TuiCheckboxTableDirective,\n TuiTableControlDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAOA,MAKa,wBAA4B,SAAQ,UAAwB,CAAA;AALzE,IAAA,WAAA,GAAA;;AAMqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAA4C,EAAE,CAAC,CAAC;AAElE,QAAA,IAAA,CAAA,OAAO,GAAoB,QAAQ,CAAC,MAChD,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CACxE,CAAC;QAEc,IAAa,CAAA,aAAA,GAAG,QAAQ,CACpC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CACjD,CAAC;AASL,KAAA;IAPU,SAAS,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;KACrF;AAEM,IAAA,OAAO,CAAC,QAAoC,EAAA;AAC/C,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC1E;+GAjBQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,sHAFtB,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEhC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,yEAAyE;AACnF,oBAAA,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;AAC5C,iBAAA,CAAA;;;ACED,MASa,uBAAuB,CAAA;AATpC,IAAA,WAAA,GAAA;AAUqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,MAAM,GAAgC,MAAM,CACzD,wBAAwB,CAC3B,CAAC;QAEiB,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM;AACvD,aAAA,KAAK,EAAE;AACP,aAAA,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAI;AAClC,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1D,YAAA,OAAO,OAAO,CAAC;AACnB,SAAC,CAAC,CAAC;AAmBN,KAAA;IAdU,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7B;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,CACrE,CAAC;KACL;IAES,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;KAClF;+GA9BQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EANrB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAM3C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBATnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,+BAA+B;oBACzC,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,WAAW,EAAE,WAAW;AACxB,wBAAA,UAAU,EAAE,YAAY;AAC3B,qBAAA;AACJ,iBAAA,CAAA;8BAgBU,cAAc,EAAA,CAAA;sBADpB,KAAK;;;AC/BV,MAUa,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAE1B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;YACtC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAC7D,CAAC;AACN,SAAC,CAAC,CAAC;AACN,KAAA;+GATY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAPvB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAO3C,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iCAAiC;oBAC3C,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAC,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,WAAW,EAAE,kBAAkB;AAC/B,wBAAA,iBAAiB,EAAE,wBAAwB;AAC3C,wBAAA,UAAU,EAAE,oBAAoB;AACnC,qBAAA;AACJ,iBAAA,CAAA;;;ACVY,MAAA,eAAe,GAAG;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,wBAAwB;;;ACP5B;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-table-directives-table-control.mjs","sources":["../../../projects/addon-table/directives/table-control/table-control.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-row.directive.ts","../../../projects/addon-table/directives/table-control/checkbox-table.directive.ts","../../../projects/addon-table/directives/table-control/table-control.ts","../../../projects/addon-table/directives/table-control/taiga-ui-addon-table-directives-table-control.ts"],"sourcesContent":["import {computed, Directive, type Signal, signal} from '@angular/core';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiCheckboxRowDirective} from './checkbox-row.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiTable][ngModel],[tuiTable][formControl],[tuiTable][formControlName]',\n providers: [tuiFallbackValueProvider([])],\n})\nexport class TuiTableControlDirective<T> extends TuiControl<readonly T[]> {\n private readonly children = signal<ReadonlyArray<TuiCheckboxRowDirective<T>>>([]);\n\n public readonly checked: Signal<boolean> = computed(\n () =>\n !!this.children().length &&\n this.children().every((i) => this.value().includes(i.tuiCheckboxRow)),\n );\n\n public readonly indeterminate: Signal<boolean> = computed(\n () => !!this.value().length && !this.checked(),\n );\n\n public toggleAll(): void {\n this.onChange(this.checked() ? [] : this.children().map((i) => i.tuiCheckboxRow));\n }\n\n public process(checkbox: TuiCheckboxRowDirective<T>): void {\n this.children.update((children) => tuiArrayToggle(children, checkbox));\n }\n}\n","import {\n computed,\n Directive,\n inject,\n Input,\n type OnDestroy,\n type OnInit,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {tuiArrayToggle} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxRow]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'checked()',\n '(change)': 'onChange()',\n },\n})\nexport class TuiCheckboxRowDirective<T> implements OnInit, OnDestroy {\n private readonly control = inject(NgControl);\n private readonly parent: TuiTableControlDirective<T> = inject(\n TuiTableControlDirective,\n );\n\n protected readonly checked = computed((checked = this.parent\n .value()\n .includes(this.tuiCheckboxRow)) => {\n setTimeout(() => this.control.control?.setValue(checked));\n\n return checked;\n });\n\n @Input()\n public tuiCheckboxRow!: T;\n\n public ngOnInit(): void {\n this.parent.process(this);\n }\n\n public ngOnDestroy(): void {\n this.parent.process(this);\n this.parent.onChange(\n this.parent.value().filter((item) => item !== this.tuiCheckboxRow),\n );\n }\n\n protected onChange(): void {\n this.parent.onChange(tuiArrayToggle(this.parent.value(), this.tuiCheckboxRow));\n }\n}\n","import {computed, Directive, inject} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\n\nimport {TuiTableControlDirective} from './table-control.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiCheckbox][tuiCheckboxTable]',\n providers: [{provide: NgControl, useClass: NgModel}],\n host: {\n '[checked]': 'parent.checked()',\n '[indeterminate]': 'parent.indeterminate()',\n '(change)': 'parent.toggleAll()',\n },\n})\nexport class TuiCheckboxTableDirective {\n private readonly control = inject(NgControl);\n\n protected readonly parent = inject(TuiTableControlDirective);\n protected readonly update = computed(() => {\n this.control.control?.setValue(\n this.parent.indeterminate() ? null : this.parent.checked(),\n );\n });\n}\n","import {TuiCheckboxRowDirective} from './checkbox-row.directive';\nimport {TuiCheckboxTableDirective} from './checkbox-table.directive';\nimport {TuiTableControlDirective} from './table-control.directive';\n\nexport const TuiTableControl = [\n TuiCheckboxRowDirective,\n TuiCheckboxTableDirective,\n TuiTableControlDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-table",
3
- "version": "4.62.0",
3
+ "version": "4.64.0",
4
4
  "description": "A library to display tabled data with filters, search, group actions, etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -16,10 +16,10 @@
16
16
  "@angular/common": ">=16.0.0",
17
17
  "@angular/core": ">=16.0.0",
18
18
  "@ng-web-apis/intersection-observer": "^4.12.0",
19
- "@taiga-ui/cdk": "^4.62.0",
20
- "@taiga-ui/core": "^4.62.0",
21
- "@taiga-ui/i18n": "^4.62.0",
22
- "@taiga-ui/kit": "^4.62.0",
19
+ "@taiga-ui/cdk": "^4.64.0",
20
+ "@taiga-ui/core": "^4.64.0",
21
+ "@taiga-ui/i18n": "^4.64.0",
22
+ "@taiga-ui/kit": "^4.64.0",
23
23
  "@taiga-ui/polymorpheus": "^4.9.0",
24
24
  "rxjs": ">=7.0.0"
25
25
  },
@@ -47,12 +47,6 @@
47
47
  "esm": "./esm2022/directives/taiga-ui-addon-table-directives.mjs",
48
48
  "default": "./fesm2022/taiga-ui-addon-table-directives.mjs"
49
49
  },
50
- "./tokens": {
51
- "types": "./tokens/index.d.ts",
52
- "esm2022": "./esm2022/tokens/taiga-ui-addon-table-tokens.mjs",
53
- "esm": "./esm2022/tokens/taiga-ui-addon-table-tokens.mjs",
54
- "default": "./fesm2022/taiga-ui-addon-table-tokens.mjs"
55
- },
56
50
  "./types": {
57
51
  "types": "./types/index.d.ts",
58
52
  "esm2022": "./esm2022/types/taiga-ui-addon-table-types.mjs",
@@ -65,6 +59,12 @@
65
59
  "esm": "./esm2022/components/reorder/taiga-ui-addon-table-components-reorder.mjs",
66
60
  "default": "./fesm2022/taiga-ui-addon-table-components-reorder.mjs"
67
61
  },
62
+ "./tokens": {
63
+ "types": "./tokens/index.d.ts",
64
+ "esm2022": "./esm2022/tokens/taiga-ui-addon-table-tokens.mjs",
65
+ "esm": "./esm2022/tokens/taiga-ui-addon-table-tokens.mjs",
66
+ "default": "./fesm2022/taiga-ui-addon-table-tokens.mjs"
67
+ },
68
68
  "./components/table": {
69
69
  "types": "./components/table/index.d.ts",
70
70
  "esm2022": "./esm2022/components/table/taiga-ui-addon-table-components-table.mjs",