@taiga-ui/experimental 3.71.0 → 3.72.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.
@@ -68,7 +68,9 @@
68
68
  cdk.tuiControlValue(this.control)
69
69
  .pipe(operators.distinctUntilChanged(), cdk.tuiWatch(this.cdr), operators.takeUntil(this.destroy$))
70
70
  .subscribe(function (value) {
71
- _this.el.nativeElement.indeterminate = value === null;
71
+ // https://github.com/angular/angular/issues/14988
72
+ var fix = _this.control instanceof i2.NgModel ? _this.control.model : value;
73
+ _this.el.nativeElement.indeterminate = fix === null;
72
74
  });
73
75
  };
74
76
  return TuiCheckboxComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-checkbox.umd.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n icons: {\n checked: size => (size === 'm' ? 'tuiIconCheckLarge' : 'tuiIconCheck'),\n indeterminate: size => (size === 'm' ? 'tuiIconMinusLarge' : 'tuiIconMinus'),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiStringHandler,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n host: {\n tuiAppearance: '', // Apply base appearance\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n '[style.--t-mask]': 'icon',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return `url(${this.resolver(icon)})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n this.el.nativeElement.indeterminate = value === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","tuiControlValue","distinctUntilChanged","tuiWatch","takeUntil","ChangeDetectorRef","TUI_ICON_RESOLVER","TuiDestroyService","ElementRef","NgControl","i0","Component","ChangeDetectionStrategy","Inject","Self","Optional","Input","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-checkbox.umd.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n icons: {\n checked: size => (size === 'm' ? 'tuiIconCheckLarge' : 'tuiIconCheck'),\n indeterminate: size => (size === 'm' ? 'tuiIconMinusLarge' : 'tuiIconMinus'),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiStringHandler,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n host: {\n tuiAppearance: '', // Apply base appearance\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n '[style.--t-mask]': 'icon',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return `url(${this.resolver(icon)})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n // https://github.com/angular/angular/issues/14988\n const fix = this.control instanceof NgModel ? this.control.model : value;\n\n this.el.nativeElement.indeterminate = fix === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiCreateToken","tuiProvideOptions","tuiIsString","tuiControlValue","distinctUntilChanged","tuiWatch","takeUntil","NgModel","ChangeDetectorRef","TUI_ICON_RESOLVER","TuiDestroyService","ElementRef","NgControl","i0","Component","ChangeDetectionStrategy","Inject","Self","Optional","Input","NgModule"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Input, Optional, Self, } from '@angular/core';
2
- import { NgControl } from '@angular/forms';
2
+ import { NgControl, NgModel } from '@angular/forms';
3
3
  import { tuiControlValue, TuiDestroyService, tuiIsString, tuiWatch, } from '@taiga-ui/cdk';
4
4
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
5
5
  import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
@@ -32,7 +32,9 @@ export class TuiCheckboxComponent {
32
32
  tuiControlValue(this.control)
33
33
  .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))
34
34
  .subscribe(value => {
35
- this.el.nativeElement.indeterminate = value === null;
35
+ // https://github.com/angular/angular/issues/14988
36
+ const fix = this.control instanceof NgModel ? this.control.model : value;
37
+ this.el.nativeElement.indeterminate = fix === null;
36
38
  });
37
39
  }
38
40
  }
@@ -80,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
80
82
  }] }]; }, propDecorators: { size: [{
81
83
  type: Input
82
84
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixXQUFXLEVBRVgsUUFBUSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUMsb0JBQW9CLEVBQXFCLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFpQjVFLE1BQU0sT0FBTyxvQkFBb0I7SUFJN0IsWUFDZ0QsR0FBc0IsRUFDdEIsUUFBa0MsRUFDL0IsT0FBMkIsRUFDdEIsUUFBNkIsRUFDNUMsRUFBZ0MsRUFDN0IsT0FBeUI7UUFMckIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFDNUMsT0FBRSxHQUFGLEVBQUUsQ0FBOEI7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFSckUsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBU3RCLENBQUM7SUFFSixJQUFJLElBQUk7UUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhO1lBQzlDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUQsT0FBTyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTs7UUFDSixJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFlBQVksQ0FBQSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUVELGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMxRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O2tIQWhDUSxvQkFBb0Isa0JBS2pCLGlCQUFpQixhQUNqQixpQkFBaUIsYUFDakIsb0JBQW9CLGFBQ1osaUJBQWlCLHlCQUN6QixVQUFVLGFBQ0UsU0FBUztzR0FWeEIsb0JBQW9CLGtWQVZsQixDQUFDLGlCQUFpQixDQUFDLDBCQUhwQixFQUFFOzRGQWFILG9CQUFvQjtrQkFmaEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM5QixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLEVBQUU7d0JBQ2pCLFlBQVksRUFBRSw4QkFBOEI7d0JBQzVDLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLGtCQUFrQixFQUFFLHNDQUFzQzt3QkFDMUQsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0Isa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7aUJBQ0o7OzBCQU1RLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDaEMsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTOzRDQVJqQyxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICB0dWlDb250cm9sVmFsdWUsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbiAgICB0dWlXYXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9JQ09OX1JFU09MVkVSfSBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0NIRUNLQk9YX09QVElPTlMsIFR1aUNoZWNrYm94T3B0aW9uc30gZnJvbSAnLi9jaGVja2JveC5vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bdHVpQ2hlY2tib3hdJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR1aUFwcGVhcmFuY2U6ICcnLCAvLyBBcHBseSBiYXNlIGFwcGVhcmFuY2VcbiAgICAgICAgJ1tkaXNhYmxlZF0nOiAnIWNvbnRyb2wgfHwgY29udHJvbC5kaXNhYmxlZCcsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgICAgICAnW2NsYXNzLl9pbnZhbGlkXSc6ICdjb250cm9sPy5pbnZhbGlkICYmIGNvbnRyb2w/LnRvdWNoZWQnLFxuICAgICAgICAnW2NsYXNzLl9yZWFkb25seV0nOiAnIWNvbnRyb2wnLFxuICAgICAgICAnW3N0eWxlLi0tdC1tYXNrXSc6ICdpY29uJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBzaXplID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9JQ09OX1JFU09MVkVSKSBwcml2YXRlIHJlYWRvbmx5IHJlc29sdmVyOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NIRUNLQk9YX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpQ2hlY2tib3hPcHRpb25zLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOZ0NvbnRyb2wpIHJlYWRvbmx5IGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgKSB7fVxuXG4gICAgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGVcbiAgICAgICAgICAgID8gdGhpcy5vcHRpb25zLmljb25zLmluZGV0ZXJtaW5hdGVcbiAgICAgICAgICAgIDogdGhpcy5vcHRpb25zLmljb25zLmNoZWNrZWQ7XG4gICAgICAgIGNvbnN0IGljb24gPSB0dWlJc1N0cmluZyhvcHRpb24pID8gb3B0aW9uIDogb3B0aW9uKHRoaXMuc2l6ZSk7XG5cbiAgICAgICAgcmV0dXJuIGB1cmwoJHt0aGlzLnJlc29sdmVyKGljb24pfSlgO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbD8udmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0dWlDb250cm9sVmFsdWUodGhpcy5jb250cm9sKVxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdHVpV2F0Y2godGhpcy5jZHIpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHZhbHVlID09PSBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXhwZXJpbWVudGFsL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEVBQ1IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUNILGVBQWUsRUFDZixpQkFBaUIsRUFDakIsV0FBVyxFQUVYLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsT0FBTyxFQUFDLG9CQUFvQixFQUFxQixNQUFNLG9CQUFvQixDQUFDOzs7O0FBaUI1RSxNQUFNLE9BQU8sb0JBQW9CO0lBSTdCLFlBQ2dELEdBQXNCLEVBQ3RCLFFBQWtDLEVBQy9CLE9BQTJCLEVBQ3RCLFFBQTZCLEVBQzVDLEVBQWdDLEVBQzdCLE9BQXlCO1FBTHJCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzVDLE9BQUUsR0FBRixFQUFFLENBQThCO1FBQzdCLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBUnJFLFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQVN0QixDQUFDO0lBRUosSUFBSSxJQUFJO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYTtZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlELE9BQU8sT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7O1FBQ0osSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsT0FBTywwQ0FBRSxZQUFZLENBQUEsRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFFRCxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDMUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2Ysa0RBQWtEO1lBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBRXpFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxHQUFHLEtBQUssSUFBSSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7a0hBbkNRLG9CQUFvQixrQkFLakIsaUJBQWlCLGFBQ2pCLGlCQUFpQixhQUNqQixvQkFBb0IsYUFDWixpQkFBaUIseUJBQ3pCLFVBQVUsYUFDRSxTQUFTO3NHQVZ4QixvQkFBb0Isa1ZBVmxCLENBQUMsaUJBQWlCLENBQUMsMEJBSHBCLEVBQUU7NEZBYUgsb0JBQW9CO2tCQWZoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFFBQVEsRUFBRSxFQUFFO29CQUNaLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQzlCLElBQUksRUFBRTt3QkFDRixhQUFhLEVBQUUsRUFBRTt3QkFDakIsWUFBWSxFQUFFLDhCQUE4Qjt3QkFDNUMsa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsa0JBQWtCLEVBQUUsc0NBQXNDO3dCQUMxRCxtQkFBbUIsRUFBRSxVQUFVO3dCQUMvQixrQkFBa0IsRUFBRSxNQUFNO3FCQUM3QjtpQkFDSjs7MEJBTVEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsb0JBQW9COzswQkFDM0IsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVM7NENBUmpDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIHR1aUNvbnRyb2xWYWx1ZSxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICB0dWlJc1N0cmluZyxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxuICAgIHR1aVdhdGNoLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VFVJX0lDT05fUkVTT0xWRVJ9IGZyb20gJ0B0YWlnYS11aS9leHBlcmltZW50YWwvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfQ0hFQ0tCT1hfT1BUSU9OUywgVHVpQ2hlY2tib3hPcHRpb25zfSBmcm9tICcuL2NoZWNrYm94Lm9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXVt0dWlDaGVja2JveF0nLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQXBwZWFyYW5jZTogJycsIC8vIEFwcGx5IGJhc2UgYXBwZWFyYW5jZVxuICAgICAgICAnW2Rpc2FibGVkXSc6ICchY29udHJvbCB8fCBjb250cm9sLmRpc2FibGVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICdbY2xhc3MuX2ludmFsaWRdJzogJ2NvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8udG91Y2hlZCcsXG4gICAgICAgICdbY2xhc3MuX3JlYWRvbmx5XSc6ICchY29udHJvbCcsXG4gICAgICAgICdbc3R5bGUuLS10LW1hc2tdJzogJ2ljb24nLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHNpemUgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0lDT05fUkVTT0xWRVIpIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZXI6IFR1aVN0cmluZ0hhbmRsZXI8c3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfQ0hFQ0tCT1hfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlDaGVja2JveE9wdGlvbnMsXG4gICAgICAgIEBTZWxmKCkgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5nQ29udHJvbCkgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICApIHt9XG5cbiAgICBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBvcHRpb24gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZVxuICAgICAgICAgICAgPyB0aGlzLm9wdGlvbnMuaWNvbnMuaW5kZXRlcm1pbmF0ZVxuICAgICAgICAgICAgOiB0aGlzLm9wdGlvbnMuaWNvbnMuY2hlY2tlZDtcbiAgICAgICAgY29uc3QgaWNvbiA9IHR1aUlzU3RyaW5nKG9wdGlvbikgPyBvcHRpb24gOiBvcHRpb24odGhpcy5zaXplKTtcblxuICAgICAgICByZXR1cm4gYHVybCgke3RoaXMucmVzb2x2ZXIoaWNvbil9KWA7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb250cm9sPy52YWx1ZUNoYW5nZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHR1aUNvbnRyb2xWYWx1ZSh0aGlzLmNvbnRyb2wpXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCB0dWlXYXRjaCh0aGlzLmNkciksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4XG4gICAgICAgICAgICAgICAgY29uc3QgZml4ID0gdGhpcy5jb250cm9sIGluc3RhbmNlb2YgTmdNb2RlbCA/IHRoaXMuY29udHJvbC5tb2RlbCA6IHZhbHVlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSBmaXggPT09IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, Inject, Self, Optional, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/forms';
4
- import { NgControl } from '@angular/forms';
4
+ import { NgModel, NgControl } from '@angular/forms';
5
5
  import { tuiCreateToken, tuiProvideOptions, tuiIsString, tuiControlValue, tuiWatch, TuiDestroyService } from '@taiga-ui/cdk';
6
6
  import { TUI_ICON_RESOLVER } from '@taiga-ui/experimental/tokens';
7
7
  import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
@@ -44,7 +44,9 @@ class TuiCheckboxComponent {
44
44
  tuiControlValue(this.control)
45
45
  .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))
46
46
  .subscribe(value => {
47
- this.el.nativeElement.indeterminate = value === null;
47
+ // https://github.com/angular/angular/issues/14988
48
+ const fix = this.control instanceof NgModel ? this.control.model : value;
49
+ this.el.nativeElement.indeterminate = fix === null;
48
50
  });
49
51
  }
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-checkbox.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n icons: {\n checked: size => (size === 'm' ? 'tuiIconCheckLarge' : 'tuiIconCheck'),\n indeterminate: size => (size === 'm' ? 'tuiIconMinusLarge' : 'tuiIconMinus'),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiStringHandler,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n host: {\n tuiAppearance: '', // Apply base appearance\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n '[style.--t-mask]': 'icon',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return `url(${this.resolver(icon)})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n this.el.nativeElement.indeterminate = value === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-checkbox.js","sources":["../../../projects/experimental/components/checkbox/checkbox.options.ts","../../../projects/experimental/components/checkbox/checkbox.component.ts","../../../projects/experimental/components/checkbox/checkbox.module.ts","../../../projects/experimental/components/checkbox/taiga-ui-experimental-components-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, TuiMapper, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeS;\n readonly icons: Readonly<{\n checked: TuiMapper<TuiSizeS, string> | string;\n indeterminate: TuiMapper<TuiSizeS, string> | string;\n }>;\n}\n\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: 'm',\n icons: {\n checked: size => (size === 'm' ? 'tuiIconCheckLarge' : 'tuiIconCheck'),\n indeterminate: size => (size === 'm' ? 'tuiIconMinusLarge' : 'tuiIconMinus'),\n },\n};\n\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateToken(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiDestroyService,\n tuiIsString,\n TuiStringHandler,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_ICON_RESOLVER} from '@taiga-ui/experimental/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'input[type=\"checkbox\"][tuiCheckbox]',\n template: '',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n host: {\n tuiAppearance: '', // Apply base appearance\n '[disabled]': '!control || control.disabled',\n '[attr.data-size]': 'size',\n '[class._invalid]': 'control?.invalid && control?.touched',\n '[class._readonly]': '!control',\n '[style.--t-mask]': 'icon',\n },\n})\nexport class TuiCheckboxComponent implements OnInit {\n @Input()\n size = this.options.size;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_ICON_RESOLVER) private readonly resolver: TuiStringHandler<string>,\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Optional() @Inject(NgControl) readonly control: NgControl | null,\n ) {}\n\n get icon(): string {\n const option = this.el.nativeElement.indeterminate\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n const icon = tuiIsString(option) ? option : option(this.size);\n\n return `url(${this.resolver(icon)})`;\n }\n\n ngOnInit(): void {\n if (!this.control?.valueChanges) {\n return;\n }\n\n tuiControlValue(this.control)\n .pipe(distinctUntilChanged(), tuiWatch(this.cdr), takeUntil(this.destroy$))\n .subscribe(value => {\n // https://github.com/angular/angular/issues/14988\n const fix = this.control instanceof NgModel ? this.control.model : value;\n\n this.el.nativeElement.indeterminate = fix === null;\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\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/experimental",
3
- "version": "3.71.0",
3
+ "version": "3.72.0",
4
4
  "description": "A package with Taiga UI experimental components",
5
5
  "keywords": [
6
6
  "angular",
@@ -13,10 +13,10 @@
13
13
  "peerDependencies": {
14
14
  "@angular/common": ">=12.0.0",
15
15
  "@angular/core": ">=12.0.0",
16
- "@taiga-ui/addon-commerce": "^3.71.0",
17
- "@taiga-ui/cdk": "^3.71.0",
18
- "@taiga-ui/core": "^3.71.0",
19
- "@taiga-ui/kit": "^3.71.0",
16
+ "@taiga-ui/addon-commerce": "^3.72.0",
17
+ "@taiga-ui/cdk": "^3.72.0",
18
+ "@taiga-ui/core": "^3.72.0",
19
+ "@taiga-ui/kit": "^3.72.0",
20
20
  "@tinkoff/ng-polymorpheus": "4.3.0",
21
21
  "rxjs": ">=6.0.0"
22
22
  },