@taiga-ui/kit 4.0.0-rc.1 → 4.0.0-rc.2

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.
@@ -21,6 +21,7 @@ export declare class TuiInputPhoneInternationalComponent extends TuiControl<stri
21
21
  writeValue(unmaskedValue: string): void;
22
22
  protected onFocus(): void;
23
23
  protected onValueChange(maskedValue: string): void;
24
+ protected onOpenChange(open: boolean): void;
24
25
  private computeMask;
25
26
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneInternationalComponent, never>;
26
27
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPhoneInternationalComponent, "tui-input-phone-international", never, { "countries": { "alias": "countries"; "required": false; }; "isoCode": { "alias": "countryIsoCode"; "required": false; }; }, { "countryIsoCodeChange": "countryIsoCodeChange"; }, never, ["*"], true, never>;
@@ -10,13 +10,13 @@ import * as i1 from "@taiga-ui/cdk/directives/native-validator";
10
10
  import * as i2 from "@taiga-ui/core/directives/appearance";
11
11
  class TuiBlockStyles {
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlockStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlockStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-block" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlockStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-block" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);margin:0;cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlockStyles, decorators: [{
16
16
  type: Component,
17
17
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
18
  class: 'tui-block',
19
- }, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
19
+ }, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);margin:0;cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
20
20
  }] });
21
21
  class TuiBlock {
22
22
  constructor() {
@@ -92,6 +92,9 @@ class TuiInputPhoneInternationalComponent extends TuiControl {
92
92
  : '';
93
93
  this.onChange(unmaskedValue === countryCallingCode ? '' : unmaskedValue);
94
94
  }
95
+ onOpenChange(open) {
96
+ this.open = open;
97
+ }
95
98
  computeMask(countryIsoCode, metadata) {
96
99
  if (!metadata) {
97
100
  return null;
@@ -118,7 +121,7 @@ class TuiInputPhoneInternationalComponent extends TuiControl {
118
121
  tuiAsControl(TuiInputPhoneInternationalComponent),
119
122
  tuiFallbackValueProvider(''),
120
123
  tuiTextfieldOptionsProvider({ cleaner: false }),
121
- ], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [(tuiDropdownOpen)]=\"!disabled() && open\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i4.TuiDropdownOpen, selector: "[tuiDropdownOpen],[tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "pipe", type: TuiGetCountryCallingCodePipe, name: "tuiGetCountryCallingCode" }, { kind: "directive", type: TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiSelect, selector: "select[tuiTextfield]", inputs: ["placeholder"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]", inputs: ["readOnly", "invalid", "focused", "state"] }], viewProviders: [
124
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [tuiDropdownOpen]=\"!disabled() && open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i4.TuiDropdownOpen, selector: "[tuiDropdownOpen],[tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "pipe", type: TuiGetCountryCallingCodePipe, name: "tuiGetCountryCallingCode" }, { kind: "directive", type: TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiSelect, selector: "select[tuiTextfield]", inputs: ["placeholder"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]", inputs: ["readOnly", "invalid", "focused", "state"] }], viewProviders: [
122
125
  tuiDropdownOptionsProvider({
123
126
  limitWidth: 'fixed',
124
127
  align: 'right',
@@ -150,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
150
153
  }),
151
154
  ], host: {
152
155
  '[attr.data-size]': 'textfieldOptions?.size',
153
- }, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [(tuiDropdownOpen)]=\"!disabled() && open\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
156
+ }, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [tuiDropdownOpen]=\"!disabled() && open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
154
157
  }], propDecorators: { input: [{
155
158
  type: ViewChild,
156
159
  args: [MaskitoDirective, { read: ElementRef }]
@@ -162,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
162
165
  type: Input,
163
166
  args: ['countryIsoCode']
164
167
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsK0JBQStCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLDJCQUEyQixFQUFFLDRCQUE0QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFD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NEIsaUVBQzVCLGlCQUFpQiwraUJBV047WUFDWCwwQkFBMEIsQ0FBQztnQkFDdkIsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLEtBQUssRUFBRSxPQUFPO2FBQ2pCLENBQUM7U0FDTDs7U0FLUSxtQ0FBbUM7NEZBQW5DLG1DQUFtQztrQkFqQy9DLFNBQVM7aUNBQ00sSUFBSSxZQUNOLCtCQUErQixXQUNoQzt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLDRCQUE0Qjt3QkFDNUIsaUJBQWlCO3dCQUNqQixZQUFZO3FCQUNmLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLFlBQVkscUNBQXFDO3dCQUNqRCx3QkFBd0IsQ0FBQyxFQUFFLENBQUM7d0JBQzVCLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDO3FCQUNoRCxpQkFDYzt3QkFDWCwwQkFBMEIsQ0FBQzs0QkFDdkIsVUFBVSxFQUFFLE9BQU87NEJBQ25CLEtBQUssRUFBRSxPQUFPO3lCQUNqQixDQUFDO3FCQUNMLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsd0JBQXdCO3FCQUMvQzs4QkFJZ0IsS0FBSztzQkFEckIsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBaUJ4QyxTQUFTO3NCQURmLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxNQUFNO2dCQU1JLE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvT2JzZXJ2YWJsZSwgdG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luLCBtYXNraXRvVHJhbnNmb3JtfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0dldENvdW50cnlGcm9tTnVtYmVyLCBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9waG9uZSc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7Q0hBUl9QTFVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aUZhbGxiYWNrVmFsdWVQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJc0lucHV0RXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7VHVpRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VHVpR3JvdXBEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZ3JvdXAnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkLFxuICAgIHR1aVRleHRmaWVsZE9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bixcbiAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUZsYWdQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mbGFnJztcbmltcG9ydCB0eXBlIHtUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vZW51bXMnO1xuaW1wb3J0IHtUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfQ09VTlRSSUVTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge3ZhbGlkYXRlUGhvbmVOdW1iZXJMZW5ndGh9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJztcbmltcG9ydCB0eXBlIHtNZXRhZGF0YUpzb259IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL2NvcmUnO1xuaW1wb3J0IHtnZXRDb3VudHJ5Q2FsbGluZ0NvZGV9IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzL2NvcmUnO1xuaW1wb3J0IHtmcm9tLCBza2lwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlHZXRDb3VudHJ5Q2FsbGluZ0NvZGVQaXBlfSBmcm9tICcuL2dldC1jb3VudHJ5LWNhbGxpbmctY29kZS5waXBlJztcbmltcG9ydCB7VFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMnO1xuXG5jb25zdCBOT1RfRk9STV9DT05UUk9MX1NZTUJPTFMgPSAvW14rXFxkXS9nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBob25lLWludGVybmF0aW9uYWwnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWFza2l0b0RpcmVjdGl2ZSxcbiAgICAgICAgVHVpQ2hldnJvbixcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlGbGFnUGlwZSxcbiAgICAgICAgVHVpR2V0Q291bnRyeUNhbGxpbmdDb2RlUGlwZSxcbiAgICAgICAgVHVpR3JvdXBEaXJlY3RpdmUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnQpLFxuICAgICAgICB0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoJycpLFxuICAgICAgICB0dWlUZXh0ZmllbGRPcHRpb25zUHJvdmlkZXIoe2NsZWFuZXI6IGZhbHNlfSksXG4gICAgXSxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIGxpbWl0V2lkdGg6ICdmaXhlZCcsXG4gICAgICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcbiAgICAgICAgfSksXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3RleHRmaWVsZE9wdGlvbnM/LnNpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50IGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmc+IHtcbiAgICBAVmlld0NoaWxkKE1hc2tpdG9EaXJlY3RpdmUsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3VudHJpZXNOYW1lcyQgPSBpbmplY3QoVFVJX0NPVU5UUklFUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZE9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtZXRhZGF0YSA9IHRvU2lnbmFsKGZyb20odGhpcy5vcHRpb25zLm1ldGFkYXRhKSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlID0gc2lnbmFsKHRoaXMub3B0aW9ucy5jb3VudHJ5SXNvQ29kZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmNvbXB1dGVNYXNrKHRoaXMuY291bnRyeUlzb0NvZGUoKSwgdGhpcy5tZXRhZGF0YSgpKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIG9wZW4gPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgdGV4dGZpZWxkVmFsdWUgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNvdW50cmllcyA9IHRoaXMub3B0aW9ucy5jb3VudHJpZXM7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgY291bnRyeUlzb0NvZGVDaGFuZ2UgPSB0b09ic2VydmFibGUodGhpcy5jb3VudHJ5SXNvQ29kZSkucGlwZShcbiAgICAgICAgc2tpcCgxKSxcbiAgICApO1xuXG4gICAgQElucHV0KCdjb3VudHJ5SXNvQ29kZScpXG4gICAgcHVibGljIHNldCBpc29Db2RlKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGNvZGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblBhc3RlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwaG9uZXNNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdHVpSXNJbnB1dEV2ZW50KGV2ZW50KSB8fFxuICAgICAgICAgICAgIXBob25lc01ldGFkYXRhIHx8XG4gICAgICAgICAgICAoIWV2ZW50LmlucHV0VHlwZS5pbmNsdWRlcygnRHJvcCcpICYmICFldmVudC5pbnB1dFR5cGUuaW5jbHVkZXMoJ1Bhc3RlJykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBldmVudC5kYXRhIHx8ICcnO1xuICAgICAgICBjb25zdCBwcmVmaXhlZFZhbHVlID0gbmV3VmFsdWUuc3RhcnRzV2l0aChDSEFSX1BMVVMpXG4gICAgICAgICAgICA/IG5ld1ZhbHVlXG4gICAgICAgICAgICA6IENIQVJfUExVUyArIG5ld1ZhbHVlO1xuXG4gICAgICAgIGlmICh2YWxpZGF0ZVBob25lTnVtYmVyTGVuZ3RoKHByZWZpeGVkVmFsdWUpID09PSAnVE9PX1NIT1JUJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY291bnRyeUlzb0NvZGUgPSBtYXNraXRvR2V0Q291bnRyeUZyb21OdW1iZXIocHJlZml4ZWRWYWx1ZSwgcGhvbmVzTWV0YWRhdGEpO1xuXG4gICAgICAgIGlmIChjb3VudHJ5SXNvQ29kZSkge1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZS5zZXQoY291bnRyeUlzb0NvZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUNsaWNrKGlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChpc29Db2RlKTtcbiAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHVubWFza2VkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHVubWFza2VkVmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IG1hc2tPcHRpb25zID0gdGhpcy5tYXNrKCk7XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGRWYWx1ZSA9IG1hc2tPcHRpb25zXG4gICAgICAgICAgICA/IG1hc2tpdG9UcmFuc2Zvcm0odW5tYXNrZWRWYWx1ZSwgbWFza09wdGlvbnMpXG4gICAgICAgICAgICA6IHVubWFza2VkVmFsdWU7IC8vIGl0IHdpbGwgYmUgY2FsaWJyYXRlZCBsYXRlciB3aGVuIG1hc2sgaXMgcmVhZHkgKGJ5IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4pXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGhvbmVNZXRhZGF0YSA9IHRoaXMubWV0YWRhdGEoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGV4dGZpZWxkVmFsdWUgJiYgcGhvbmVNZXRhZGF0YSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGRWYWx1ZSA9IGAke0NIQVJfUExVUyArIGdldENvdW50cnlDYWxsaW5nQ29kZSh0aGlzLmNvdW50cnlJc29Db2RlKCksIHBob25lTWV0YWRhdGEpfSBgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uVmFsdWVDaGFuZ2UobWFza2VkVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bm1hc2tlZFZhbHVlID0gbWFza2VkVmFsdWUucmVwbGFjZUFsbChOT1RfRk9STV9DT05UUk9MX1NZTUJPTFMsICcnKTtcbiAgICAgICAgY29uc3QgcGhvbmVzTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhKCk7XG4gICAgICAgIGNvbnN0IGNvdW50cnlDYWxsaW5nQ29kZSA9IHBob25lc01ldGFkYXRhXG4gICAgICAgICAgICA/IENIQVJfUExVUyArIGdldENvdW50cnlDYWxsaW5nQ29kZSh0aGlzLmNvdW50cnlJc29Db2RlKCksIHBob25lc01ldGFkYXRhKVxuICAgICAgICAgICAgOiAnJztcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHVubWFza2VkVmFsdWUgPT09IGNvdW50cnlDYWxsaW5nQ29kZSA/ICcnIDogdW5tYXNrZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhcbiAgICAgICAgY291bnRyeUlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlLFxuICAgICAgICBtZXRhZGF0YT86IE1ldGFkYXRhSnNvbixcbiAgICApOiBNYXNraXRvT3B0aW9ucyB8IG51bGwge1xuICAgICAgICBpZiAoIW1ldGFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5yZXN0T3B0aW9uc30gPSBtYXNraXRvUGhvbmVPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgIGNvdW50cnlJc29Db2RlLFxuICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIH0pO1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETzogdGVtcG9yYXJ5IHdvcmthcm91bmQgZm9yIEBtYXNraXRvL3Bob25lQDIgKGVsaW1pbmF0ZSBhZnRlciB1cGRhdGUgdG8gQG1hc2tpdG8vcGhvbmVAMylcbiAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS9tYXNraXRvL2lzc3Vlcy8xMTM0XG4gICAgICAgICAqIF9fX1xuICAgICAgICAgKiBXZSBzaG91bGQgbWFuYWdlIGZvY3VzIGV2ZW50IGJ5IGl0c2VsZiAobm90IGJ1aWx0LWluIG1hc2tpdG8gZm9jdXMgcGx1Z2luKSBiZWNhdXNlIHRoZXJlIGlzIHJhY2UgY29uZGl0aW9uXG4gICAgICAgICAqIChhZnRlciBzZWxlY3Rpb24gY291bnRyeSBmcm9tIGRyb3Bkb3duIGFuZCBiZWZvcmUgbWFzayByZWNhbGN1bGF0aW9uKVxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgW2NhcmV0UGx1Z2luLCBibHVyUGx1Z2luXSA9IHBsdWdpbnM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3RPcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogW2NhcmV0UGx1Z2luLCBibHVyUGx1Z2luLCBtYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luKCldLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjwhLS0gVE9ETzogbW92ZSB0dWlHcm91cCAmIHR1aURyb3Bkb3duIHRvIGhvc3QgZGlyZWN0aXZlIGFuZCBnZXQgcmlkIG9mIG5lc3RpbmcgLS0+XG48ZGl2XG4gICAgKm5nSWY9XCJjb3VudHJpZXNOYW1lcyQgfCBhc3luYyBhcyBjb3VudHJpZXNOYW1lc1wiXG4gICAgdHVpR3JvdXBcbiAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25cIlxuICAgIFt0dWlEcm9wZG93bkVuYWJsZWRdPVwiaW50ZXJhY3RpdmUoKVwiXG4gICAgWyh0dWlEcm9wZG93bk9wZW4pXT1cIiFkaXNhYmxlZCgpICYmIG9wZW5cIlxuPlxuICAgIDx0dWktdGV4dGZpZWxkXG4gICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgY2xhc3M9XCJ0LWNvdW50cnktc2VsZWN0XCJcbiAgICAgICAgW2NvbnRlbnRdPVwiZmxhZ1wiXG4gICAgPlxuICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICBuZ01vZGVsPVwiXCJcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgW2ZvY3VzZWRdPVwib3BlbiB8fCBudWxsXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSgpXCJcbiAgICAgICAgPjwvc2VsZWN0PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZmxhZz5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxhZyB0LWZsYWdfc2VsZWN0XCJcbiAgICAgICAgICAgICAgICBbYWx0XT1cImNvdW50cmllc05hbWVzW2NvdW50cnlJc29Db2RlKCldXCJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImNvdW50cnlJc29Db2RlKCkgfCB0dWlGbGFnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90dWktdGV4dGZpZWxkPlxuXG4gICAgPHR1aS10ZXh0ZmllbGQ+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZCgpXCJcbiAgICAgICAgICAgIFttYXNraXRvXT1cIm1hc2soKVwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkoKVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRleHRmaWVsZFZhbHVlXCJcbiAgICAgICAgICAgIChiZWZvcmVpbnB1dC5jYXB0dXJlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwiIXJlYWRPbmx5KCkgJiYgb25Gb2N1cygpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPGxhYmVsIHR1aUxhYmVsPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L3R1aS10ZXh0ZmllbGQ+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICAgICAgICA8dHVpLWRhdGEtbGlzdD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb3VudHJpZXNcIlxuICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbSB8IHR1aUZsYWdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1uYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGNvdW50cmllc05hbWVzW2l0ZW1dIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb3VudHJ5LWl0ZW0tY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIHwgdHVpR2V0Q291bnRyeUNhbGxpbmdDb2RlOiBtZXRhZGF0YSgpIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdHVpLWRhdGEtbGlzdD5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMsK0JBQStCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFDLDJCQUEyQixFQUFFLDRCQUE0QixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFD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QlEsWUFBWSxvVEFDWixXQUFXLDZ6QkFDWCxnQkFBZ0IsNkZBQ2hCLFVBQVUsK3FCQUdWLFdBQVcsMkNBQ1gsNEJBQTRCLGlFQUM1QixpQkFBaUIsK2lCQVdOO1lBQ1gsMEJBQTBCLENBQUM7Z0JBQ3ZCLFVBQVUsRUFBRSxPQUFPO2dCQUNuQixLQUFLLEVBQUUsT0FBTzthQUNqQixDQUFDO1NBQ0w7O1NBS1EsbUNBQW1DOzRGQUFuQyxtQ0FBbUM7a0JBakMvQyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FDaEM7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsWUFBWTtxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCxZQUFZLHFDQUFxQzt3QkFDakQsd0JBQXdCLENBQUMsRUFBRSxDQUFDO3dCQUM1QiwyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQztxQkFDaEQsaUJBQ2M7d0JBQ1gsMEJBQTBCLENBQUM7NEJBQ3ZCLFVBQVUsRUFBRSxPQUFPOzRCQUNuQixLQUFLLEVBQUUsT0FBTzt5QkFDakIsQ0FBQztxQkFDTCxRQUNLO3dCQUNGLGtCQUFrQixFQUFFLHdCQUF3QjtxQkFDL0M7OEJBSWdCLEtBQUs7c0JBRHJCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQWlCeEMsU0FBUztzQkFEZixLQUFLO2dCQUlVLG9CQUFvQjtzQkFEbkMsTUFBTTtnQkFNSSxPQUFPO3NCQURqQixLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbiwgbWFza2l0b1RyYW5zZm9ybX0gZnJvbSAnQG1hc2tpdG8vY29yZSc7XG5pbXBvcnQge21hc2tpdG9HZXRDb3VudHJ5RnJvbU51bWJlciwgbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcn0gZnJvbSAnQG1hc2tpdG8vcGhvbmUnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfUExVU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNJbnB1dEV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1R1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aUdyb3VwRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2dyb3VwJztcbmltcG9ydCB7XG4gICAgVFVJX1RFWFRGSUVMRF9PUFRJT05TLFxuICAgIFR1aVRleHRmaWVsZCxcbiAgICB0dWlUZXh0ZmllbGRPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd24sXG4gICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlGbGFnUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZmxhZyc7XG5pbXBvcnQgdHlwZSB7VHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuL2VudW1zJztcbmltcG9ydCB7VHVpQ2hldnJvbn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9kaXJlY3RpdmVzJztcbmltcG9ydCB7VFVJX0NPVU5UUklFU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHt2YWxpZGF0ZVBob25lTnVtYmVyTGVuZ3RofSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQgdHlwZSB7TWV0YWRhdGFKc29ufSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB7Z2V0Q291bnRyeUNhbGxpbmdDb2RlfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcy9jb3JlJztcbmltcG9ydCB7ZnJvbSwgc2tpcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpR2V0Q291bnRyeUNhbGxpbmdDb2RlUGlwZX0gZnJvbSAnLi9nZXQtY291bnRyeS1jYWxsaW5nLWNvZGUucGlwZSc7XG5pbXBvcnQge1RVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlN9IGZyb20gJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zJztcblxuY29uc3QgTk9UX0ZPUk1fQ09OVFJPTF9TWU1CT0xTID0gL1teK1xcZF0vZztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aUNoZXZyb24sXG4gICAgICAgIFR1aURhdGFMaXN0LFxuICAgICAgICBUdWlEcm9wZG93bixcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aUdldENvdW50cnlDYWxsaW5nQ29kZVBpcGUsXG4gICAgICAgIFR1aUdyb3VwRGlyZWN0aXZlLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICAgICAgdHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyKCcnKSxcbiAgICAgICAgdHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyKHtjbGVhbmVyOiBmYWxzZX0pLFxuICAgIF0sXG4gICAgdmlld1Byb3ZpZGVyczogW1xuICAgICAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcih7XG4gICAgICAgICAgICBsaW1pdFdpZHRoOiAnZml4ZWQnLFxuICAgICAgICAgICAgYWxpZ246ICdyaWdodCcsXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICd0ZXh0ZmllbGRPcHRpb25zPy5zaXplJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbENvbXBvbmVudCBleHRlbmRzIFR1aUNvbnRyb2w8c3RyaW5nPiB7XG4gICAgQFZpZXdDaGlsZChNYXNraXRvRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyaWVzTmFtZXMkID0gaW5qZWN0KFRVSV9DT1VOVFJJRVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0ZmllbGRPcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWV0YWRhdGEgPSB0b1NpZ25hbChmcm9tKHRoaXMub3B0aW9ucy5tZXRhZGF0YSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb3VudHJ5SXNvQ29kZSA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuY291bnRyeUlzb0NvZGUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBtYXNrID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5jb21wdXRlTWFzayh0aGlzLmNvdW50cnlJc29Db2RlKCksIHRoaXMubWV0YWRhdGEoKSksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHRleHRmaWVsZFZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb3VudHJpZXMgPSB0aGlzLm9wdGlvbnMuY291bnRyaWVzO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGNvdW50cnlJc29Db2RlQ2hhbmdlID0gdG9PYnNlcnZhYmxlKHRoaXMuY291bnRyeUlzb0NvZGUpLnBpcGUoXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIEBJbnB1dCgnY291bnRyeUlzb0NvZGUnKVxuICAgIHB1YmxpYyBzZXQgaXNvQ29kZShjb2RlOiBUdWlDb3VudHJ5SXNvQ29kZSkge1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlLnNldChjb2RlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25QYXN0ZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGhvbmVzTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXR1aUlzSW5wdXRFdmVudChldmVudCkgfHxcbiAgICAgICAgICAgICFwaG9uZXNNZXRhZGF0YSB8fFxuICAgICAgICAgICAgKCFldmVudC5pbnB1dFR5cGUuaW5jbHVkZXMoJ0Ryb3AnKSAmJiAhZXZlbnQuaW5wdXRUeXBlLmluY2x1ZGVzKCdQYXN0ZScpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gZXZlbnQuZGF0YSB8fCAnJztcbiAgICAgICAgY29uc3QgcHJlZml4ZWRWYWx1ZSA9IG5ld1ZhbHVlLnN0YXJ0c1dpdGgoQ0hBUl9QTFVTKVxuICAgICAgICAgICAgPyBuZXdWYWx1ZVxuICAgICAgICAgICAgOiBDSEFSX1BMVVMgKyBuZXdWYWx1ZTtcblxuICAgICAgICBpZiAodmFsaWRhdGVQaG9uZU51bWJlckxlbmd0aChwcmVmaXhlZFZhbHVlKSA9PT0gJ1RPT19TSE9SVCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvdW50cnlJc29Db2RlID0gbWFza2l0b0dldENvdW50cnlGcm9tTnVtYmVyKHByZWZpeGVkVmFsdWUsIHBob25lc01ldGFkYXRhKTtcblxuICAgICAgICBpZiAoY291bnRyeUlzb0NvZGUpIHtcbiAgICAgICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUuc2V0KGNvdW50cnlJc29Db2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1DbGljayhpc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZS5zZXQoaXNvQ29kZSk7XG4gICAgICAgIHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh1bm1hc2tlZFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh1bm1hc2tlZFZhbHVlKTtcblxuICAgICAgICBjb25zdCBtYXNrT3B0aW9ucyA9IHRoaXMubWFzaygpO1xuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkVmFsdWUgPSBtYXNrT3B0aW9uc1xuICAgICAgICAgICAgPyBtYXNraXRvVHJhbnNmb3JtKHVubWFza2VkVmFsdWUsIG1hc2tPcHRpb25zKVxuICAgICAgICAgICAgOiB1bm1hc2tlZFZhbHVlOyAvLyBpdCB3aWxsIGJlIGNhbGlicmF0ZWQgbGF0ZXIgd2hlbiBtYXNrIGlzIHJlYWR5IChieSBtYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luKVxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBob25lTWV0YWRhdGEgPSB0aGlzLm1ldGFkYXRhKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnRleHRmaWVsZFZhbHVlICYmIHBob25lTWV0YWRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkVmFsdWUgPSBgJHtDSEFSX1BMVVMgKyBnZXRDb3VudHJ5Q2FsbGluZ0NvZGUodGhpcy5jb3VudHJ5SXNvQ29kZSgpLCBwaG9uZU1ldGFkYXRhKX0gYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblZhbHVlQ2hhbmdlKG1hc2tlZFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5tYXNrZWRWYWx1ZSA9IG1hc2tlZFZhbHVlLnJlcGxhY2VBbGwoTk9UX0ZPUk1fQ09OVFJPTF9TWU1CT0xTLCAnJyk7XG4gICAgICAgIGNvbnN0IHBob25lc01ldGFkYXRhID0gdGhpcy5tZXRhZGF0YSgpO1xuICAgICAgICBjb25zdCBjb3VudHJ5Q2FsbGluZ0NvZGUgPSBwaG9uZXNNZXRhZGF0YVxuICAgICAgICAgICAgPyBDSEFSX1BMVVMgKyBnZXRDb3VudHJ5Q2FsbGluZ0NvZGUodGhpcy5jb3VudHJ5SXNvQ29kZSgpLCBwaG9uZXNNZXRhZGF0YSlcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh1bm1hc2tlZFZhbHVlID09PSBjb3VudHJ5Q2FsbGluZ0NvZGUgPyAnJyA6IHVubWFza2VkVmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBvcGVuO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2soXG4gICAgICAgIGNvdW50cnlJc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgbWV0YWRhdGE/OiBNZXRhZGF0YUpzb24sXG4gICAgKTogTWFza2l0b09wdGlvbnMgfCBudWxsIHtcbiAgICAgICAgaWYgKCFtZXRhZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7cGx1Z2lucywgLi4ucmVzdE9wdGlvbnN9ID0gbWFza2l0b1Bob25lT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICBjb3VudHJ5SXNvQ29kZSxcbiAgICAgICAgICAgIG1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRPRE86IHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBAbWFza2l0by9waG9uZUAyIChlbGltaW5hdGUgYWZ0ZXIgdXBkYXRlIHRvIEBtYXNraXRvL3Bob25lQDMpXG4gICAgICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlnYS1mYW1pbHkvbWFza2l0by9pc3N1ZXMvMTEzNFxuICAgICAgICAgKiBfX19cbiAgICAgICAgICogV2Ugc2hvdWxkIG1hbmFnZSBmb2N1cyBldmVudCBieSBpdHNlbGYgKG5vdCBidWlsdC1pbiBtYXNraXRvIGZvY3VzIHBsdWdpbikgYmVjYXVzZSB0aGVyZSBpcyByYWNlIGNvbmRpdGlvblxuICAgICAgICAgKiAoYWZ0ZXIgc2VsZWN0aW9uIGNvdW50cnkgZnJvbSBkcm9wZG93biBhbmQgYmVmb3JlIG1hc2sgcmVjYWxjdWxhdGlvbilcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IFtjYXJldFBsdWdpbiwgYmx1clBsdWdpbl0gPSBwbHVnaW5zO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZXN0T3B0aW9ucyxcbiAgICAgICAgICAgIHBsdWdpbnM6IFtjYXJldFBsdWdpbiwgYmx1clBsdWdpbiwgbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbigpXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8IS0tIFRPRE86IG1vdmUgdHVpR3JvdXAgJiB0dWlEcm9wZG93biB0byBob3N0IGRpcmVjdGl2ZSBhbmQgZ2V0IHJpZCBvZiBuZXN0aW5nIC0tPlxuPGRpdlxuICAgICpuZ0lmPVwiY291bnRyaWVzTmFtZXMkIHwgYXN5bmMgYXMgY291bnRyaWVzTmFtZXNcIlxuICAgIHR1aUdyb3VwXG4gICAgW3R1aURyb3Bkb3duXT1cImRyb3Bkb3duXCJcbiAgICBbdHVpRHJvcGRvd25FbmFibGVkXT1cImludGVyYWN0aXZlKClcIlxuICAgIFt0dWlEcm9wZG93bk9wZW5dPVwiIWRpc2FibGVkKCkgJiYgb3BlblwiXG4gICAgKHR1aURyb3Bkb3duT3BlbkNoYW5nZSk9XCJvbk9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgdHVpQ2hldnJvblxuICAgICAgICBjbGFzcz1cInQtY291bnRyeS1zZWxlY3RcIlxuICAgICAgICBbY29udGVudF09XCJmbGFnXCJcbiAgICA+XG4gICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgIG5nTW9kZWw9XCJcIlxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJvcGVuIHx8IG51bGxcIlxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5KClcIlxuICAgICAgICA+PC9zZWxlY3Q+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNmbGFnPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnIHQtZmxhZ19zZWxlY3RcIlxuICAgICAgICAgICAgICAgIFthbHRdPVwiY291bnRyaWVzTmFtZXNbY291bnRyeUlzb0NvZGUoKV1cIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiY291bnRyeUlzb0NvZGUoKSB8IHR1aUZsYWdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS10ZXh0ZmllbGQ+XG5cbiAgICA8dHVpLXRleHRmaWVsZD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBhdXRvY29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkKClcIlxuICAgICAgICAgICAgW21hc2tpdG9dPVwibWFzaygpXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seSgpXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGV4dGZpZWxkVmFsdWVcIlxuICAgICAgICAgICAgKGJlZm9yZWlucHV0LmNhcHR1cmUpPVwib25QYXN0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCIhcmVhZE9ubHkoKSAmJiBvbkZvY3VzKClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8bGFiZWwgdHVpTGFiZWw+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L2xhYmVsPlxuICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gICAgICAgIDx0dWktZGF0YS1saXN0PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvdW50cmllc1wiXG4gICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpdGVtIHwgdHVpRmxhZ1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtY291bnRyeS1pdGVtLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY291bnRyaWVzTmFtZXNbaXRlbV0gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfCB0dWlHZXRDb3VudHJ5Q2FsbGluZ0NvZGU6IG1ldGFkYXRhKCkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
@@ -87,7 +87,7 @@ class TuiRange extends TuiControl {
87
87
  this.onChange([this.value()[0], Math.max(value, this.value()[0])]);
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRange, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1,$event.target)", "keydown.arrowRight.prevent": "changeByStep(1,$event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1,$event.target)", "keydown.arrowDown.prevent": "changeByStep(-1,$event.target)" }, properties: { "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--left.%": "left()", "style.--right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()", "attr.data-size": "this.size" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.25rem - 1px)}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.375rem - 1px)}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "component", type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i2.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { kind: "directive", type: i2.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1,$event.target)", "keydown.arrowRight.prevent": "changeByStep(1,$event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1,$event.target)", "keydown.arrowDown.prevent": "changeByStep(-1,$event.target)" }, properties: { "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--left.%": "left()", "style.--right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()", "attr.data-size": "this.size" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "component", type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i2.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { kind: "directive", type: i2.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
91
  }
92
92
  __decorate([
93
93
  tuiPure
@@ -108,7 +108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
108
108
  '[style.background]': 'options.trackColor',
109
109
  '[class._disabled]': 'disabled()',
110
110
  '(focusout)': 'onTouched()',
111
- }, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.25rem - 1px)}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.375rem - 1px)}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"] }]
111
+ }, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"] }]
112
112
  }], propDecorators: { min: [{
113
113
  type: Input
114
114
  }], max: [{
@@ -142,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
142
142
  type: HostListener,
143
143
  args: ['keydown.arrowDown.prevent', ['-1', '$event.target']]
144
144
  }], computePureKeySteps: [] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsU0FBUyxFQUNULGtCQUFrQixHQUNyQixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEQsTUF3QmEsUUFBUyxTQUFRLFVBQTRCO0lBeEIxRDs7UUF5QkksOENBQThDO1FBQzdCLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFD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RDFCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQTJDMUMsWUFBWTtzQkFKckIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7O3NCQUM5RCxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs7c0JBQ2pFLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDOztzQkFDakUsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7Z0JBMkIxRCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25DaGFuZ2VzLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpUXVhbnRpemV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1xuICAgIFRVSV9TTElERVJfT1BUSU9OUyxcbiAgICB0dWlLZXlTdGVwVmFsdWVUb1BlcmNlbnRhZ2UsXG4gICAgdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlLFxuICAgIFR1aVNsaWRlcixcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuXG5pbXBvcnQge1R1aVJhbmdlQ2hhbmdlfSBmcm9tICcuL3JhbmdlLWNoYW5nZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXJhbmdlJyxcbiAgICBpbXBvcnRzOiBbVHVpU2xpZGVyLCBGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoWzAsIDBdKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlSYW5nZUNoYW5nZSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsnYWN0aXZlVGh1bWJDaGFuZ2UnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLWxlZnQuJV0nOiAnbGVmdCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLXJpZ2h0LiVdJzogJ3JpZ2h0KCknLFxuICAgICAgICAnW3N0eWxlLmJhY2tncm91bmRdJzogJ29wdGlvbnMudHJhY2tDb2xvcicsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnb25Ub3VjaGVkKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhbmdlIGV4dGVuZHMgVHVpQ29udHJvbDxbbnVtYmVyLCBudW1iZXJdPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLy8gVE9ETzogd29ya2Fyb3VuZCB1bnRpbCB3ZSBnZXQgc2lnbmFsIGlucHV0c1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlcyA9IHNpZ25hbCgxKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1NMSURFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgbGFzdEFjdGl2ZVRodW1iOiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXggPSAxMDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGVwID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWdtZW50cyA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkcmVuKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHB1YmxpYyByZWFkb25seSBzbGlkZXJzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbGVmdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudG9QZXJjZW50KHRoaXMudmFsdWUoKVswXSkpO1xuICAgIHB1YmxpYyByZWFkb25seSByaWdodCA9IGNvbXB1dGVkKCgpID0+IDEwMCAtIHRoaXMudG9QZXJjZW50KHRoaXMudmFsdWUoKVsxXSkpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KHRoaXMuY2hhbmdlcygpICsgMSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NWYWx1ZSh2YWx1ZTogbnVtYmVyLCByaWdodDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAocmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRW5kKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhcnQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0QWN0aXZlVGh1bWIgPSByaWdodCA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgfVxuXG4gICAgcHVibGljIHRvVmFsdWUoZnJhY3Rpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlQZXJjZW50YWdlVG9LZXlTdGVwVmFsdWUoXG4gICAgICAgICAgICB0dWlDbGFtcCh0dWlRdWFudGl6ZShmcmFjdGlvbiwgdGhpcy5mcmFjdGlvblN0ZXApLCAwLCAxKSAqIDEwMCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRLZXlTdGVwcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGZyYWN0aW9uU3RlcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwIC8gKHRoaXMubWF4IC0gdGhpcy5taW4pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRLZXlTdGVwcygpOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVQdXJlS2V5U3RlcHModGhpcy5rZXlTdGVwcywgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNlZ21lbnRXaWR0aFJhdGlvKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAxIC8gdGhpcy5zZWdtZW50cztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQnLCBbJzEnLCAnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQnLCBbJy0xJywgJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyctMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgcHJvdGVjdGVkIGNoYW5nZUJ5U3RlcChjb2VmZmljaWVudDogbnVtYmVyLCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtzbGlkZXJMZWZ0UmVmLCBzbGlkZXJSaWdodFJlZl0gPSB0aGlzLnNsaWRlcnNSZWZzO1xuICAgICAgICBjb25zdCBsZWZ0VGh1bWJFbGVtZW50ID0gc2xpZGVyTGVmdFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByaWdodFRodW1iRWxlbWVudCA9IHNsaWRlclJpZ2h0UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgaXNSaWdodFRodW1iID1cbiAgICAgICAgICAgIHRhcmdldCA9PT0gdGhpcy5lbFxuICAgICAgICAgICAgICAgID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgICA6IHRhcmdldCA9PT0gcmlnaHRUaHVtYkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRodW1iRWxlbWVudCA9IGlzUmlnaHRUaHVtYiA/IHJpZ2h0VGh1bWJFbGVtZW50IDogbGVmdFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGlzUmlnaHRUaHVtYiA/IHRoaXMudmFsdWUoKVsxXSA6IHRoaXMudmFsdWUoKVswXTtcbiAgICAgICAgLyoqIEBiYWQgVE9ETyB0aGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgdHdpY2UgY29udmVyc2lvbiAqL1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZyYWN0aW9uID0gdGhpcy50b1BlcmNlbnQocHJldmlvdXNWYWx1ZSkgLyAxMDA7XG4gICAgICAgIGNvbnN0IG5ld0ZyYWN0aW9uVmFsdWUgPSBwcmV2aW91c0ZyYWN0aW9uICsgY29lZmZpY2llbnQgKiB0aGlzLmZyYWN0aW9uU3RlcDtcblxuICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZSh0aGlzLnRvVmFsdWUobmV3RnJhY3Rpb25WYWx1ZSksIGlzUmlnaHRUaHVtYik7XG4gICAgICAgIGFjdGl2ZVRodW1iRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9QZXJjZW50KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzKCkgJiYgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShbTWF0aC5taW4odmFsdWUsIHRoaXMudmFsdWUoKVsxXSksIHRoaXMudmFsdWUoKVsxXV0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW5kKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShbdGhpcy52YWx1ZSgpWzBdLCBNYXRoLm1heCh2YWx1ZSwgdGhpcy52YWx1ZSgpWzBdKV0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtdHJhY2tcIlxuICAgIFtzdHlsZS4tLWJnLXNpemUtcmF0aW9dPVwiMSAtIHNlZ21lbnRXaWR0aFJhdGlvXCJcbiAgICBbc3R5bGUuLS1zZWdtZW50LXdpZHRoLiVdPVwic2VnbWVudFdpZHRoUmF0aW8gKiAxMDBcIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXJhbmdlX19sZWZ0XCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgc3RlcD1cImFueVwiXG4gICAgICAgIHR1aVNsaWRlclxuICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICBjbGFzcz1cInQtdGh1bWJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtrZXlTdGVwc109XCJjb21wdXRlZEtleVN0ZXBzXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlKClbMF1cIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1yYW5nZV9fcmlnaHRcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICBzdGVwPVwiYW55XCJcbiAgICAgICAgdHVpU2xpZGVyXG4gICAgICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2tleVN0ZXBzXT1cImNvbXB1dGVkS2V5U3RlcHNcIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWUoKVsxXVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcmFuZ2UvcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsU0FBUyxFQUNULGtCQUFrQixHQUNyQixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEQsTUF3QmEsUUFBUyxTQUFRLFVBQTRCO0lBeEIxRDs7UUF5QkksOENBQThDO1FBQzdCLFlBQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFD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RDFCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQTJDMUMsWUFBWTtzQkFKckIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7O3NCQUM5RCxZQUFZO3VCQUFDLDRCQUE0QixFQUFFLENBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQzs7c0JBQ2pFLFlBQVk7dUJBQUMsMkJBQTJCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDOztzQkFDakUsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7Z0JBMkIxRCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25DaGFuZ2VzLCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcCwgdHVpUXVhbnRpemV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5pbXBvcnQge1xuICAgIFRVSV9TTElERVJfT1BUSU9OUyxcbiAgICB0dWlLZXlTdGVwVmFsdWVUb1BlcmNlbnRhZ2UsXG4gICAgdHVpUGVyY2VudGFnZVRvS2V5U3RlcFZhbHVlLFxuICAgIFR1aVNsaWRlcixcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuXG5pbXBvcnQge1R1aVJhbmdlQ2hhbmdlfSBmcm9tICcuL3JhbmdlLWNoYW5nZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXJhbmdlJyxcbiAgICBpbXBvcnRzOiBbVHVpU2xpZGVyLCBGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlGYWxsYmFja1ZhbHVlUHJvdmlkZXIoWzAsIDBdKV0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlSYW5nZUNoYW5nZSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsnYWN0aXZlVGh1bWJDaGFuZ2UnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLWxlZnQuJV0nOiAnbGVmdCgpJyxcbiAgICAgICAgJ1tzdHlsZS4tLXJpZ2h0LiVdJzogJ3JpZ2h0KCknLFxuICAgICAgICAnW3N0eWxlLmJhY2tncm91bmRdJzogJ29wdGlvbnMudHJhY2tDb2xvcicsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnb25Ub3VjaGVkKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVJhbmdlIGV4dGVuZHMgVHVpQ29udHJvbDxbbnVtYmVyLCBudW1iZXJdPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLy8gVE9ETzogd29ya2Fyb3VuZCB1bnRpbCB3ZSBnZXQgc2lnbmFsIGlucHV0c1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlcyA9IHNpZ25hbCgxKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1NMSURFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgbGFzdEFjdGl2ZVRodW1iOiAnbGVmdCcgfCAncmlnaHQnID0gJ3JpZ2h0JztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbiA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXggPSAxMDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGVwID0gMTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVTID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWdtZW50cyA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICBAVmlld0NoaWxkcmVuKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHB1YmxpYyByZWFkb25seSBzbGlkZXJzUmVmczogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbGVmdCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudG9QZXJjZW50KHRoaXMudmFsdWUoKVswXSkpO1xuICAgIHB1YmxpYyByZWFkb25seSByaWdodCA9IGNvbXB1dGVkKCgpID0+IDEwMCAtIHRoaXMudG9QZXJjZW50KHRoaXMudmFsdWUoKVsxXSkpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZXMuc2V0KHRoaXMuY2hhbmdlcygpICsgMSk7XG4gICAgfVxuXG4gICAgcHVibGljIHByb2Nlc3NWYWx1ZSh2YWx1ZTogbnVtYmVyLCByaWdodDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAocmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRW5kKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhcnQodmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0QWN0aXZlVGh1bWIgPSByaWdodCA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgfVxuXG4gICAgcHVibGljIHRvVmFsdWUoZnJhY3Rpb246IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlQZXJjZW50YWdlVG9LZXlTdGVwVmFsdWUoXG4gICAgICAgICAgICB0dWlDbGFtcCh0dWlRdWFudGl6ZShmcmFjdGlvbiwgdGhpcy5mcmFjdGlvblN0ZXApLCAwLCAxKSAqIDEwMCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRLZXlTdGVwcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGZyYWN0aW9uU3RlcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwIC8gKHRoaXMubWF4IC0gdGhpcy5taW4pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRLZXlTdGVwcygpOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVQdXJlS2V5U3RlcHModGhpcy5rZXlTdGVwcywgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNlZ21lbnRXaWR0aFJhdGlvKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAxIC8gdGhpcy5zZWdtZW50cztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1JpZ2h0LnByZXZlbnQnLCBbJzEnLCAnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQnLCBbJy0xJywgJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyctMScsICckZXZlbnQudGFyZ2V0J10pXG4gICAgcHJvdGVjdGVkIGNoYW5nZUJ5U3RlcChjb2VmZmljaWVudDogbnVtYmVyLCB0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IFtzbGlkZXJMZWZ0UmVmLCBzbGlkZXJSaWdodFJlZl0gPSB0aGlzLnNsaWRlcnNSZWZzO1xuICAgICAgICBjb25zdCBsZWZ0VGh1bWJFbGVtZW50ID0gc2xpZGVyTGVmdFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCByaWdodFRodW1iRWxlbWVudCA9IHNsaWRlclJpZ2h0UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgY29uc3QgaXNSaWdodFRodW1iID1cbiAgICAgICAgICAgIHRhcmdldCA9PT0gdGhpcy5lbFxuICAgICAgICAgICAgICAgID8gdGhpcy5sYXN0QWN0aXZlVGh1bWIgPT09ICdyaWdodCdcbiAgICAgICAgICAgICAgICA6IHRhcmdldCA9PT0gcmlnaHRUaHVtYkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVRodW1iRWxlbWVudCA9IGlzUmlnaHRUaHVtYiA/IHJpZ2h0VGh1bWJFbGVtZW50IDogbGVmdFRodW1iRWxlbWVudDtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGlzUmlnaHRUaHVtYiA/IHRoaXMudmFsdWUoKVsxXSA6IHRoaXMudmFsdWUoKVswXTtcbiAgICAgICAgLyoqIEBiYWQgVE9ETyB0aGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgdHdpY2UgY29udmVyc2lvbiAqL1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZyYWN0aW9uID0gdGhpcy50b1BlcmNlbnQocHJldmlvdXNWYWx1ZSkgLyAxMDA7XG4gICAgICAgIGNvbnN0IG5ld0ZyYWN0aW9uVmFsdWUgPSBwcmV2aW91c0ZyYWN0aW9uICsgY29lZmZpY2llbnQgKiB0aGlzLmZyYWN0aW9uU3RlcDtcblxuICAgICAgICB0aGlzLnByb2Nlc3NWYWx1ZSh0aGlzLnRvVmFsdWUobmV3RnJhY3Rpb25WYWx1ZSksIGlzUmlnaHRUaHVtYik7XG4gICAgICAgIGFjdGl2ZVRodW1iRWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9QZXJjZW50KHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VzKCkgJiYgdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLmNvbXB1dGVkS2V5U3RlcHMpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNvbXB1dGVQdXJlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN0YXJ0KHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShbTWF0aC5taW4odmFsdWUsIHRoaXMudmFsdWUoKVsxXSksIHRoaXMudmFsdWUoKVsxXV0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW5kKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShbdGhpcy52YWx1ZSgpWzBdLCBNYXRoLm1heCh2YWx1ZSwgdGhpcy52YWx1ZSgpWzBdKV0pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cInQtdHJhY2tcIlxuICAgIFtzdHlsZS4tLWJnLXNpemUtcmF0aW9dPVwiMSAtIHNlZ21lbnRXaWR0aFJhdGlvXCJcbiAgICBbc3R5bGUuLS1zZWdtZW50LXdpZHRoLiVdPVwic2VnbWVudFdpZHRoUmF0aW8gKiAxMDBcIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXJhbmdlX19sZWZ0XCJcbiAgICAgICAgcmVhZG9ubHlcbiAgICAgICAgc3RlcD1cImFueVwiXG4gICAgICAgIHR1aVNsaWRlclxuICAgICAgICB0eXBlPVwicmFuZ2VcIlxuICAgICAgICBjbGFzcz1cInQtdGh1bWJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtrZXlTdGVwc109XCJjb21wdXRlZEtleVN0ZXBzXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlKClbMF1cIlxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgLz5cbiAgICA8aW5wdXRcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1yYW5nZV9fcmlnaHRcIlxuICAgICAgICByZWFkb25seVxuICAgICAgICBzdGVwPVwiYW55XCJcbiAgICAgICAgdHVpU2xpZGVyXG4gICAgICAgIHR5cGU9XCJyYW5nZVwiXG4gICAgICAgIGNsYXNzPVwidC10aHVtYlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgW2tleVN0ZXBzXT1cImNvbXB1dGVkS2V5U3RlcHNcIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWUoKVsxXVwiXG4gICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICBbdGFiSW5kZXhdPVwiZm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=
@@ -3,13 +3,13 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
3
3
  import * as i0 from "@angular/core";
4
4
  class TuiButtonGroupStyles {
5
5
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font-size:var(--tui-font-text-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-l);max-width:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, decorators: [{
9
9
  type: Component,
10
10
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
11
11
  class: 'tui-button-group-styles',
12
- }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font-size:var(--tui-font-text-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-l);max-width:100%;justify-content:center}\n"] }]
12
+ }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"] }]
13
13
  }] });
14
14
  class TuiButtonGroup {
15
15
  constructor() {
@@ -19,13 +19,13 @@ function tuiBlockOptionsProvider(options) {
19
19
 
20
20
  class TuiBlockStyles {
21
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlockStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlockStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-block" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiBlockStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-block" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);margin:0;cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
23
  }
24
24
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiBlockStyles, decorators: [{
25
25
  type: Component,
26
26
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
27
27
  class: 'tui-block',
28
- }, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
28
+ }, styles: ["[tuiBlock]{position:relative;display:inline-flex;align-items:center;gap:1rem;color:var(--tui-text-primary);border-radius:var(--t-radius);font:var(--tui-font-text-m);min-height:var(--t-height);padding:0 var(--tui-padding-l);margin:0;cursor:pointer;overflow:hidden;--t-height: var(--tui-height-l);--t-margin: 1rem 0;--t-radius: var(--tui-radius-l)}[tuiBlock][data-size=xs]{gap:.25rem;font:var(--tui-font-text-xs);padding:0 .5rem;--t-height: var(--tui-height-xs);--t-margin: .25rem -.125rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=xs] input:not([tuiBlock]){transform:scale(.75)}[tuiBlock][data-size=s]{gap:.75rem;font:var(--tui-font-text-s);padding:0 var(--tui-padding-s);--t-height: var(--tui-height-s);--t-margin: .5rem -.25rem;--t-radius: var(--tui-radius-m)}[tuiBlock][data-size=m]{gap:.5rem;font:var(--tui-font-text-m);padding:0 var(--tui-padding-m);--t-height: var(--tui-height-m);--t-margin: .875rem .125rem;--t-radius: var(--tui-radius-m)}[tuiBlock]._disabled{pointer-events:none;opacity:var(--tui-disabled-opacity)}[tuiBlock]._disabled :focus{visibility:hidden}[tuiBlock][data-appearance=\"\"]{justify-content:center}[tuiBlock] input:not([tuiBlock]){align-self:flex-start;margin:var(--t-margin);flex-shrink:0}[tuiBlock] input[tuiBlock]{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;border-radius:inherit}[tuiBlock] tui-avatar{margin:-.25rem}[tuiBlock] [tuiTitle]{flex:1;min-height:inherit;justify-content:center;align-self:flex-start;margin:.75rem 0}[tuiBlock] [tuiSubtitle]{color:var(--tui-text-secondary)}\n"] }]
29
29
  }] });
30
30
  class TuiBlock {
31
31
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'whiteblock',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = tuiCreateToken(TUI_BLOCK_DEFAULT_OPTIONS);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiAppearance,\n tuiAppearanceOptionsProvider,\n} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./block.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n {\n directive: TuiAppearance,\n inputs: [\n 'tuiAppearance: appearance',\n 'tuiAppearanceState',\n 'tuiAppearanceFocus',\n ],\n },\n ],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size',\n '[class._disabled]': 'disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n private readonly control?: NgControl;\n\n private readonly options = inject(TUI_BLOCK_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeXS | '' = this.options.size;\n\n protected get disabled(): boolean {\n return !!this.control?.disabled;\n }\n}\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-kit-components-block.mjs","sources":["../../../projects/kit/components/block/block.options.ts","../../../projects/kit/components/block/block.directive.ts","../../../projects/kit/components/block/taiga-ui-kit-components-block.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiBlockOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n}\n\nexport const TUI_BLOCK_DEFAULT_OPTIONS: TuiBlockOptions = {\n appearance: 'whiteblock',\n size: 'l',\n};\n\nexport const TUI_BLOCK_OPTIONS = tuiCreateToken(TUI_BLOCK_DEFAULT_OPTIONS);\n\nexport function tuiBlockOptionsProvider(options: Partial<TuiBlockOptions>): Provider {\n return tuiProvideOptions(TUI_BLOCK_OPTIONS, options, TUI_BLOCK_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiAppearance,\n tuiAppearanceOptionsProvider,\n} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_BLOCK_OPTIONS} from './block.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./block.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-block',\n },\n})\nclass TuiBlockStyles {}\n\n@Directive({\n standalone: true,\n selector: 'label[tuiBlock],input[tuiBlock]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_BLOCK_OPTIONS),\n tuiAvatarOptionsProvider({size: 's'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n {\n directive: TuiAppearance,\n inputs: [\n 'tuiAppearance: appearance',\n 'tuiAppearanceState',\n 'tuiAppearanceFocus',\n ],\n },\n ],\n host: {\n tuiBlock: '',\n '[attr.data-size]': 'size',\n '[class._disabled]': 'disabled',\n },\n})\nexport class TuiBlock {\n @ContentChild(NgControl)\n private readonly control?: NgControl;\n\n private readonly options = inject(TUI_BLOCK_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiBlockStyles);\n\n @Input('tuiBlock')\n public size: TuiSizeL | TuiSizeXS | '' = this.options.size;\n\n protected get disabled(): boolean {\n return !!this.control?.disabled;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AASa,MAAA,yBAAyB,GAAoB;AACtD,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,IAAI,EAAE,GAAG;EACX;MAEW,iBAAiB,GAAG,cAAc,CAAC,yBAAyB,EAAE;AAErE,SAAU,uBAAuB,CAAC,OAAiC,EAAA;IACrE,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACpF;;ACGA,MAUM,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,+GARN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+gDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,cAAc,EAAA,UAAA,EAAA,CAAA;kBAVnB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,WAAW;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,+gDAAA,CAAA,EAAA,CAAA;;AAIL,MAwBa,QAAQ,CAAA;AAxBrB,IAAA,WAAA,GAAA;AA4BqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAElC,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;AAGpD,QAAA,IAAA,CAAA,IAAI,GAA8B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAK9D,KAAA;AAHG,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;KACnC;+GAbQ,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,EArBN,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,4BAA4B,CAAC,iBAAiB,CAAC;AAC/C,YAAA,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;AACxC,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAmBa,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,aAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FADd,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAxBpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iCAAiC;AAC3C,oBAAA,SAAS,EAAE;wBACP,4BAA4B,CAAC,iBAAiB,CAAC;AAC/C,wBAAA,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;AACxC,qBAAA;AACD,oBAAA,cAAc,EAAE;wBACZ,kBAAkB;AAClB,wBAAA;AACI,4BAAA,SAAS,EAAE,aAAa;AACxB,4BAAA,MAAM,EAAE;gCACJ,2BAA2B;gCAC3B,oBAAoB;gCACpB,oBAAoB;AACvB,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,mBAAmB,EAAE,UAAU;AAClC,qBAAA;AACJ,iBAAA,CAAA;8BAGoB,OAAO,EAAA,CAAA;sBADvB,YAAY;uBAAC,SAAS,CAAA;gBAQhB,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,UAAU,CAAA;;;ACjErB;;AAEG;;;;"}
@@ -122,6 +122,9 @@ class TuiInputPhoneInternationalComponent extends TuiControl {
122
122
  : '';
123
123
  this.onChange(unmaskedValue === countryCallingCode ? '' : unmaskedValue);
124
124
  }
125
+ onOpenChange(open) {
126
+ this.open = open;
127
+ }
125
128
  computeMask(countryIsoCode, metadata) {
126
129
  if (!metadata) {
127
130
  return null;
@@ -148,7 +151,7 @@ class TuiInputPhoneInternationalComponent extends TuiControl {
148
151
  tuiAsControl(TuiInputPhoneInternationalComponent),
149
152
  tuiFallbackValueProvider(''),
150
153
  tuiTextfieldOptionsProvider({ cleaner: false }),
151
- ], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [(tuiDropdownOpen)]=\"!disabled() && open\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i4.TuiDropdownOpen, selector: "[tuiDropdownOpen],[tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "pipe", type: TuiGetCountryCallingCodePipe, name: "tuiGetCountryCallingCode" }, { kind: "directive", type: TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiSelect, selector: "select[tuiTextfield]", inputs: ["placeholder"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]", inputs: ["readOnly", "invalid", "focused", "state"] }], viewProviders: [
154
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: MaskitoDirective, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [tuiDropdownOpen]=\"!disabled() && open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i4.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i4.TuiDropdownOpen, selector: "[tuiDropdownOpen],[tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "pipe", type: TuiGetCountryCallingCodePipe, name: "tuiGetCountryCallingCode" }, { kind: "directive", type: TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiLabel, selector: "label[tuiLabel]" }, { kind: "component", type: i6.TuiSelect, selector: "select[tuiTextfield]", inputs: ["placeholder"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]", inputs: ["readOnly", "invalid", "focused", "state"] }], viewProviders: [
152
155
  tuiDropdownOptionsProvider({
153
156
  limitWidth: 'fixed',
154
157
  align: 'right',
@@ -179,7 +182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
179
182
  }),
180
183
  ], host: {
181
184
  '[attr.data-size]': 'textfieldOptions?.size',
182
- }, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [(tuiDropdownOpen)]=\"!disabled() && open\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
185
+ }, template: "<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [tuiDropdownOpen]=\"!disabled() && open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n", styles: [":host{display:block}.t-country-select{width:3.625rem;flex:none}.t-country-select[data-size=m]{width:3.5rem}.t-country-select[data-size=s]{width:2.75rem}.t-flag{width:1.75rem;height:1.75rem;border-radius:50%}.t-flag_select{position:absolute;top:0;left:0;bottom:0;right:0;left:.5rem;margin:auto}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
183
186
  }], propDecorators: { input: [{
184
187
  type: ViewChild,
185
188
  args: [MaskitoDirective, { read: ElementRef }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-phone-international.mjs","sources":["../../../projects/kit/components/input-phone-international/get-country-calling-code.pipe.ts","../../../projects/kit/components/input-phone-international/input-phone-international.options.ts","../../../projects/kit/components/input-phone-international/input-phone-international.component.ts","../../../projects/kit/components/input-phone-international/input-phone-international.template.html","../../../projects/kit/components/input-phone-international/taiga-ui-kit-components-input-phone-international.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport {CHAR_PLUS} from '@taiga-ui/cdk/constants';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport {getCountryCallingCode} from 'libphonenumber-js/core';\n\n@Pipe({\n standalone: true,\n name: 'tuiGetCountryCallingCode',\n})\nexport class TuiGetCountryCallingCodePipe implements PipeTransform {\n public transform(\n countryIsoCode: TuiCountryIsoCode,\n metadata?: MetadataJson | null,\n ): string {\n return metadata\n ? CHAR_PLUS + getCountryCallingCode(countryIsoCode, metadata)\n : '';\n }\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport type {Observable} from 'rxjs';\nimport {defer} from 'rxjs';\n\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n readonly metadata: Observable<MetadataJson> | Promise<MetadataJson>;\n}\n\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: 'RU',\n metadata: defer(async () =>\n import('libphonenumber-js/min/metadata').then(m => m.default),\n ),\n };\n\n/**\n * Default parameters for input phone international component\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateToken(\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n);\n\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoInitialCalibrationPlugin, maskitoTransform} from '@maskito/core';\nimport {maskitoGetCountryFromNumber, maskitoPhoneOptionsGenerator} from '@maskito/phone';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {CHAR_PLUS} from '@taiga-ui/cdk/constants';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiIsInputEvent} from '@taiga-ui/cdk/utils/dom';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiGroupDirective} from '@taiga-ui/core/components/group';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfield,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdown,\n tuiDropdownOptionsProvider,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiFlagPipe} from '@taiga-ui/core/pipes/flag';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport {TuiChevron} from '@taiga-ui/kit/directives';\nimport {TUI_COUNTRIES} from '@taiga-ui/kit/tokens';\nimport {validatePhoneNumberLength} from 'libphonenumber-js';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport {getCountryCallingCode} from 'libphonenumber-js/core';\nimport {from, skip} from 'rxjs';\n\nimport {TuiGetCountryCallingCodePipe} from './get-country-calling-code.pipe';\nimport {TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS} from './input-phone-international.options';\n\nconst NOT_FORM_CONTROL_SYMBOLS = /[^+\\d]/g;\n\n@Component({\n standalone: true,\n selector: 'tui-input-phone-international',\n imports: [\n CommonModule,\n FormsModule,\n MaskitoDirective,\n TuiChevron,\n TuiDataList,\n TuiDropdown,\n TuiFlagPipe,\n TuiGetCountryCallingCodePipe,\n TuiGroupDirective,\n TuiTextfield,\n ],\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsControl(TuiInputPhoneInternationalComponent),\n tuiFallbackValueProvider(''),\n tuiTextfieldOptionsProvider({cleaner: false}),\n ],\n viewProviders: [\n tuiDropdownOptionsProvider({\n limitWidth: 'fixed',\n align: 'right',\n }),\n ],\n host: {\n '[attr.data-size]': 'textfieldOptions?.size',\n },\n})\nexport class TuiInputPhoneInternationalComponent extends TuiControl<string> {\n @ViewChild(MaskitoDirective, {read: ElementRef})\n private readonly input?: ElementRef<HTMLInputElement>;\n\n protected readonly options = inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS);\n protected readonly countriesNames$ = inject(TUI_COUNTRIES);\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly metadata = toSignal(from(this.options.metadata));\n protected readonly countryIsoCode = signal(this.options.countryIsoCode);\n protected readonly mask = computed(() =>\n this.computeMask(this.countryIsoCode(), this.metadata()),\n );\n\n protected open = false;\n protected textfieldValue = '';\n\n @Input()\n public countries = this.options.countries;\n\n @Output()\n public readonly countryIsoCodeChange = toObservable(this.countryIsoCode).pipe(\n skip(1),\n );\n\n @Input('countryIsoCode')\n public set isoCode(code: TuiCountryIsoCode) {\n this.countryIsoCode.set(code);\n }\n\n public onPaste(event: Event): void {\n const phonesMetadata = this.metadata();\n\n if (\n !tuiIsInputEvent(event) ||\n !phonesMetadata ||\n (!event.inputType.includes('Drop') && !event.inputType.includes('Paste'))\n ) {\n return;\n }\n\n const newValue = event.data || '';\n const prefixedValue = newValue.startsWith(CHAR_PLUS)\n ? newValue\n : CHAR_PLUS + newValue;\n\n if (validatePhoneNumberLength(prefixedValue) === 'TOO_SHORT') {\n return;\n }\n\n const countryIsoCode = maskitoGetCountryFromNumber(prefixedValue, phonesMetadata);\n\n if (countryIsoCode) {\n this.countryIsoCode.set(countryIsoCode);\n }\n }\n\n public onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.countryIsoCode.set(isoCode);\n this.input?.nativeElement.focus();\n }\n\n public override writeValue(unmaskedValue: string): void {\n super.writeValue(unmaskedValue);\n\n const maskOptions = this.mask();\n\n this.textfieldValue = maskOptions\n ? maskitoTransform(unmaskedValue, maskOptions)\n : unmaskedValue; // it will be calibrated later when mask is ready (by maskitoInitialCalibrationPlugin)\n this.cdr.detectChanges();\n }\n\n protected onFocus(): void {\n const phoneMetadata = this.metadata();\n\n if (!this.textfieldValue && phoneMetadata) {\n this.textfieldValue = `${CHAR_PLUS + getCountryCallingCode(this.countryIsoCode(), phoneMetadata)} `;\n }\n }\n\n protected onValueChange(maskedValue: string): void {\n const unmaskedValue = maskedValue.replaceAll(NOT_FORM_CONTROL_SYMBOLS, '');\n const phonesMetadata = this.metadata();\n const countryCallingCode = phonesMetadata\n ? CHAR_PLUS + getCountryCallingCode(this.countryIsoCode(), phonesMetadata)\n : '';\n\n this.onChange(unmaskedValue === countryCallingCode ? '' : unmaskedValue);\n }\n\n private computeMask(\n countryIsoCode: TuiCountryIsoCode,\n metadata?: MetadataJson,\n ): MaskitoOptions | null {\n if (!metadata) {\n return null;\n }\n\n const {plugins, ...restOptions} = maskitoPhoneOptionsGenerator({\n countryIsoCode,\n metadata,\n });\n /**\n * TODO: temporary workaround for @maskito/phone@2 (eliminate after update to @maskito/phone@3)\n * https://github.com/taiga-family/maskito/issues/1134\n * ___\n * We should manage focus event by itself (not built-in maskito focus plugin) because there is race condition\n * (after selection country from dropdown and before mask recalculation)\n */\n const [caretPlugin, blurPlugin] = plugins;\n\n return {\n ...restOptions,\n plugins: [caretPlugin, blurPlugin, maskitoInitialCalibrationPlugin()],\n };\n }\n}\n","<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [(tuiDropdownOpen)]=\"!disabled() && open\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\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-kit-components-input-phone-international.mjs","sources":["../../../projects/kit/components/input-phone-international/get-country-calling-code.pipe.ts","../../../projects/kit/components/input-phone-international/input-phone-international.options.ts","../../../projects/kit/components/input-phone-international/input-phone-international.component.ts","../../../projects/kit/components/input-phone-international/input-phone-international.template.html","../../../projects/kit/components/input-phone-international/taiga-ui-kit-components-input-phone-international.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport {CHAR_PLUS} from '@taiga-ui/cdk/constants';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport {getCountryCallingCode} from 'libphonenumber-js/core';\n\n@Pipe({\n standalone: true,\n name: 'tuiGetCountryCallingCode',\n})\nexport class TuiGetCountryCallingCodePipe implements PipeTransform {\n public transform(\n countryIsoCode: TuiCountryIsoCode,\n metadata?: MetadataJson | null,\n ): string {\n return metadata\n ? CHAR_PLUS + getCountryCallingCode(countryIsoCode, metadata)\n : '';\n }\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport type {Observable} from 'rxjs';\nimport {defer} from 'rxjs';\n\nexport interface TuiInputPhoneInternationalOptions {\n readonly countries: readonly TuiCountryIsoCode[];\n readonly countryIsoCode: TuiCountryIsoCode;\n readonly metadata: Observable<MetadataJson> | Promise<MetadataJson>;\n}\n\nexport const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS: TuiInputPhoneInternationalOptions =\n {\n countries: [],\n countryIsoCode: 'RU',\n metadata: defer(async () =>\n import('libphonenumber-js/min/metadata').then(m => m.default),\n ),\n };\n\n/**\n * Default parameters for input phone international component\n */\nexport const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = tuiCreateToken(\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n);\n\nexport function tuiInputPhoneInternationalOptionsProvider(\n options: Partial<TuiInputPhoneInternationalOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS,\n options,\n TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,\n );\n}\n","import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n Input,\n Output,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoInitialCalibrationPlugin, maskitoTransform} from '@maskito/core';\nimport {maskitoGetCountryFromNumber, maskitoPhoneOptionsGenerator} from '@maskito/phone';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {CHAR_PLUS} from '@taiga-ui/cdk/constants';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiIsInputEvent} from '@taiga-ui/cdk/utils/dom';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiGroupDirective} from '@taiga-ui/core/components/group';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfield,\n tuiTextfieldOptionsProvider,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TuiDropdown,\n tuiDropdownOptionsProvider,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiFlagPipe} from '@taiga-ui/core/pipes/flag';\nimport type {TuiCountryIsoCode} from '@taiga-ui/i18n/enums';\nimport {TuiChevron} from '@taiga-ui/kit/directives';\nimport {TUI_COUNTRIES} from '@taiga-ui/kit/tokens';\nimport {validatePhoneNumberLength} from 'libphonenumber-js';\nimport type {MetadataJson} from 'libphonenumber-js/core';\nimport {getCountryCallingCode} from 'libphonenumber-js/core';\nimport {from, skip} from 'rxjs';\n\nimport {TuiGetCountryCallingCodePipe} from './get-country-calling-code.pipe';\nimport {TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS} from './input-phone-international.options';\n\nconst NOT_FORM_CONTROL_SYMBOLS = /[^+\\d]/g;\n\n@Component({\n standalone: true,\n selector: 'tui-input-phone-international',\n imports: [\n CommonModule,\n FormsModule,\n MaskitoDirective,\n TuiChevron,\n TuiDataList,\n TuiDropdown,\n TuiFlagPipe,\n TuiGetCountryCallingCodePipe,\n TuiGroupDirective,\n TuiTextfield,\n ],\n templateUrl: './input-phone-international.template.html',\n styleUrls: ['./input-phone-international.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsControl(TuiInputPhoneInternationalComponent),\n tuiFallbackValueProvider(''),\n tuiTextfieldOptionsProvider({cleaner: false}),\n ],\n viewProviders: [\n tuiDropdownOptionsProvider({\n limitWidth: 'fixed',\n align: 'right',\n }),\n ],\n host: {\n '[attr.data-size]': 'textfieldOptions?.size',\n },\n})\nexport class TuiInputPhoneInternationalComponent extends TuiControl<string> {\n @ViewChild(MaskitoDirective, {read: ElementRef})\n private readonly input?: ElementRef<HTMLInputElement>;\n\n protected readonly options = inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS);\n protected readonly countriesNames$ = inject(TUI_COUNTRIES);\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly metadata = toSignal(from(this.options.metadata));\n protected readonly countryIsoCode = signal(this.options.countryIsoCode);\n protected readonly mask = computed(() =>\n this.computeMask(this.countryIsoCode(), this.metadata()),\n );\n\n protected open = false;\n protected textfieldValue = '';\n\n @Input()\n public countries = this.options.countries;\n\n @Output()\n public readonly countryIsoCodeChange = toObservable(this.countryIsoCode).pipe(\n skip(1),\n );\n\n @Input('countryIsoCode')\n public set isoCode(code: TuiCountryIsoCode) {\n this.countryIsoCode.set(code);\n }\n\n public onPaste(event: Event): void {\n const phonesMetadata = this.metadata();\n\n if (\n !tuiIsInputEvent(event) ||\n !phonesMetadata ||\n (!event.inputType.includes('Drop') && !event.inputType.includes('Paste'))\n ) {\n return;\n }\n\n const newValue = event.data || '';\n const prefixedValue = newValue.startsWith(CHAR_PLUS)\n ? newValue\n : CHAR_PLUS + newValue;\n\n if (validatePhoneNumberLength(prefixedValue) === 'TOO_SHORT') {\n return;\n }\n\n const countryIsoCode = maskitoGetCountryFromNumber(prefixedValue, phonesMetadata);\n\n if (countryIsoCode) {\n this.countryIsoCode.set(countryIsoCode);\n }\n }\n\n public onItemClick(isoCode: TuiCountryIsoCode): void {\n this.open = false;\n this.countryIsoCode.set(isoCode);\n this.input?.nativeElement.focus();\n }\n\n public override writeValue(unmaskedValue: string): void {\n super.writeValue(unmaskedValue);\n\n const maskOptions = this.mask();\n\n this.textfieldValue = maskOptions\n ? maskitoTransform(unmaskedValue, maskOptions)\n : unmaskedValue; // it will be calibrated later when mask is ready (by maskitoInitialCalibrationPlugin)\n this.cdr.detectChanges();\n }\n\n protected onFocus(): void {\n const phoneMetadata = this.metadata();\n\n if (!this.textfieldValue && phoneMetadata) {\n this.textfieldValue = `${CHAR_PLUS + getCountryCallingCode(this.countryIsoCode(), phoneMetadata)} `;\n }\n }\n\n protected onValueChange(maskedValue: string): void {\n const unmaskedValue = maskedValue.replaceAll(NOT_FORM_CONTROL_SYMBOLS, '');\n const phonesMetadata = this.metadata();\n const countryCallingCode = phonesMetadata\n ? CHAR_PLUS + getCountryCallingCode(this.countryIsoCode(), phonesMetadata)\n : '';\n\n this.onChange(unmaskedValue === countryCallingCode ? '' : unmaskedValue);\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n private computeMask(\n countryIsoCode: TuiCountryIsoCode,\n metadata?: MetadataJson,\n ): MaskitoOptions | null {\n if (!metadata) {\n return null;\n }\n\n const {plugins, ...restOptions} = maskitoPhoneOptionsGenerator({\n countryIsoCode,\n metadata,\n });\n /**\n * TODO: temporary workaround for @maskito/phone@2 (eliminate after update to @maskito/phone@3)\n * https://github.com/taiga-family/maskito/issues/1134\n * ___\n * We should manage focus event by itself (not built-in maskito focus plugin) because there is race condition\n * (after selection country from dropdown and before mask recalculation)\n */\n const [caretPlugin, blurPlugin] = plugins;\n\n return {\n ...restOptions,\n plugins: [caretPlugin, blurPlugin, maskitoInitialCalibrationPlugin()],\n };\n }\n}\n","<!-- TODO: move tuiGroup & tuiDropdown to host directive and get rid of nesting -->\n<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiGroup\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive()\"\n [tuiDropdownOpen]=\"!disabled() && open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-textfield\n tuiChevron\n class=\"t-country-select\"\n [content]=\"flag\"\n >\n <select\n ngModel=\"\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [focused]=\"open || null\"\n [readOnly]=\"readOnly()\"\n ></select>\n\n <ng-template #flag>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode()]\"\n [src]=\"countryIsoCode() | tuiFlag\"\n />\n </ng-template>\n </tui-textfield>\n\n <tui-textfield>\n <input\n autocomplete=\"new-password\"\n tuiTextfield\n [disabled]=\"disabled()\"\n [invalid]=\"invalid()\"\n [maskito]=\"mask()\"\n [readOnly]=\"readOnly()\"\n [(ngModel)]=\"textfieldValue\"\n (beforeinput.capture)=\"onPaste($event)\"\n (blur)=\"onTouched()\"\n (focus)=\"!readOnly() && onFocus()\"\n (ngModelChange)=\"onValueChange($event)\"\n />\n\n <label tuiLabel>\n <ng-content />\n </label>\n </tui-textfield>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiGetCountryCallingCode: metadata() }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -160,7 +160,7 @@ class TuiRange extends TuiControl {
160
160
  this.onChange([this.value()[0], Math.max(value, this.value()[0])]);
161
161
  }
162
162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRange, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1,$event.target)", "keydown.arrowRight.prevent": "changeByStep(1,$event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1,$event.target)", "keydown.arrowDown.prevent": "changeByStep(-1,$event.target)" }, properties: { "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--left.%": "left()", "style.--right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()", "attr.data-size": "this.size" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.25rem - 1px)}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.375rem - 1px)}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "component", type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i2.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { kind: "directive", type: i2.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1,$event.target)", "keydown.arrowRight.prevent": "changeByStep(1,$event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1,$event.target)", "keydown.arrowDown.prevent": "changeByStep(-1,$event.target)" }, properties: { "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--left.%": "left()", "style.--right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()", "attr.data-size": "this.size" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "component", type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i2.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { kind: "directive", type: i2.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
164
  }
165
165
  __decorate([
166
166
  tuiPure
@@ -180,7 +180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
180
180
  '[style.background]': 'options.trackColor',
181
181
  '[class._disabled]': 'disabled()',
182
182
  '(focusout)': 'onTouched()',
183
- }, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.25rem - 1px)}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:var(--left);right:var(--right);height:100%;background:var(--tui-background-accent-1);margin:0 calc(-.375rem - 1px)}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"] }]
183
+ }, template: "<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;height:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;width:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;height:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;height:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--left) - 1px),1px);right:max(var(--right),1px);height:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--segment-width) / var(--bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"] }]
184
184
  }], propDecorators: { min: [{
185
185
  type: Input
186
186
  }], max: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-range.mjs","sources":["../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, EventEmitter, inject, Output} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/components/slider';\nimport {filter, map, merge, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs';\n\nimport {TuiRange} from './range.component';\n\n@Directive({\n standalone: true,\n selector: 'tui-range:is(never)',\n})\nexport class TuiRangeChange {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly range = inject(TuiRange);\n\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Don't forget to use setPointerCapture instead of listening all doc events\n */\n private readonly pointerDown$ = tuiTypedFromEvent(this.el, 'pointerdown', {\n passive: true,\n capture: true,\n });\n\n private readonly pointerMove$ = merge(\n tuiTypedFromEvent(this.doc, 'touchmove').pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.doc, 'mousemove'),\n );\n\n private readonly pointerUp$ = merge(\n tuiTypedFromEvent(this.doc, 'touchend', {passive: true}),\n tuiTypedFromEvent(this.doc, 'mouseup', {passive: true}),\n );\n\n @Output()\n public readonly activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor() {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n this.el.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => this.getFractionFromEvents(clientX)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntilDestroyed(),\n )\n .subscribe(fraction => {\n const value = this.range.toValue(fraction);\n\n this.range.processValue(value, activeThumb === 'right');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.el.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return tuiClamp(tuiRound(value / total, TUI_FLOATING_PRECISION), 0, 1);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return 'left';\n case rightSliderRef.nativeElement:\n return 'right';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left();\n const deltaRight = fraction * 100 - 100 + this.range.right();\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left() === 0 && this.range.right() === 100)\n ? 'right'\n : 'left';\n }\n}\n","import type {OnChanges, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n signal,\n ViewChildren,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiQuantize} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiKeySteps} from '@taiga-ui/kit/components/slider';\nimport {\n TUI_SLIDER_OPTIONS,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n TuiSlider,\n TuiSliderComponent,\n} from '@taiga-ui/kit/components/slider';\n\nimport {TuiRangeChange} from './range-change.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-range',\n imports: [TuiSlider, FormsModule],\n templateUrl: './range.template.html',\n styleUrls: ['./range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider([0, 0])],\n hostDirectives: [\n {\n directive: TuiRangeChange,\n outputs: ['activeThumbChange'],\n },\n ],\n host: {\n '[attr.tabindex]': '-1',\n '[attr.aria-disabled]': 'disabled()',\n '[style.--left.%]': 'left()',\n '[style.--right.%]': 'right()',\n '[style.background]': 'options.trackColor',\n '[class._disabled]': 'disabled()',\n '(focusout)': 'onTouched()',\n },\n})\nexport class TuiRange extends TuiControl<[number, number]> implements OnChanges {\n // TODO: workaround until we get signal inputs\n private readonly changes = signal(1);\n private readonly el = tuiInjectElement();\n\n protected readonly options = inject(TUI_SLIDER_OPTIONS);\n protected lastActiveThumb: 'left' | 'right' = 'right';\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public step = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n public size: TuiSizeS = this.options.size;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public focusable = true;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n public readonly slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n public readonly left = computed(() => this.toPercent(this.value()[0]));\n public readonly right = computed(() => 100 - this.toPercent(this.value()[1]));\n\n public ngOnChanges(): void {\n this.changes.set(this.changes() + 1);\n }\n\n public processValue(value: number, right: boolean): void {\n if (right) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = right ? 'right' : 'left';\n }\n\n public toValue(fraction: number): number {\n return tuiPercentageToKeyStepValue(\n tuiClamp(tuiQuantize(fraction, this.fractionStep), 0, 1) * 100,\n this.computedKeySteps,\n );\n }\n\n protected get fractionStep(): number {\n return this.step / (this.max - this.min);\n }\n\n protected get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n protected get segmentWidthRatio(): number {\n return 1 / this.segments;\n }\n\n @HostListener('keydown.arrowUp.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowRight.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target'])\n @HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])\n protected changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.el\n ? this.lastActiveThumb === 'right'\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value()[1] : this.value()[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.toPercent(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.toValue(newFractionValue), isRightThumb);\n activeThumbElement?.focus();\n }\n\n protected toPercent(value: number): number {\n return (\n this.changes() && tuiKeyStepValueToPercentage(value, this.computedKeySteps)\n );\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n private updateStart(value: number): void {\n this.onChange([Math.min(value, this.value()[1]), this.value()[1]]);\n }\n\n private updateEnd(value: number): void {\n this.onChange([this.value()[0], Math.max(value, this.value()[0])]);\n }\n}\n","<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiRangeChange"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-range.mjs","sources":["../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, EventEmitter, inject, Output} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/components/slider';\nimport {filter, map, merge, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs';\n\nimport {TuiRange} from './range.component';\n\n@Directive({\n standalone: true,\n selector: 'tui-range:is(never)',\n})\nexport class TuiRangeChange {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly range = inject(TuiRange);\n\n /**\n * TODO replace with pointer events (when all supported browsers can handle them).\n * Don't forget to use setPointerCapture instead of listening all doc events\n */\n private readonly pointerDown$ = tuiTypedFromEvent(this.el, 'pointerdown', {\n passive: true,\n capture: true,\n });\n\n private readonly pointerMove$ = merge(\n tuiTypedFromEvent(this.doc, 'touchmove').pipe(\n filter(({touches}) => touches.length === 1),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(this.doc, 'mousemove'),\n );\n\n private readonly pointerUp$ = merge(\n tuiTypedFromEvent(this.doc, 'touchend', {passive: true}),\n tuiTypedFromEvent(this.doc, 'mouseup', {passive: true}),\n );\n\n @Output()\n public readonly activeThumbChange = new EventEmitter<'left' | 'right'>();\n\n constructor() {\n let activeThumb: 'left' | 'right';\n\n this.pointerDown$\n .pipe(\n tap(({clientX, target}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable) {\n this.el.focus();\n }\n }),\n switchMap(event => this.pointerMove$.pipe(startWith(event))),\n map(({clientX}) => this.getFractionFromEvents(clientX)),\n takeUntil(this.pointerUp$),\n repeat(),\n takeUntilDestroyed(),\n )\n .subscribe(fraction => {\n const value = this.range.toValue(fraction);\n\n this.range.processValue(value, activeThumb === 'right');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const hostRect = this.el.getBoundingClientRect();\n const value = clickClientX - hostRect.left;\n const total = hostRect.width;\n\n return tuiClamp(tuiRound(value / total, TUI_FLOATING_PRECISION), 0, 1);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'left' | 'right' {\n const [leftSliderRef, rightSliderRef] = this.range.slidersRefs;\n\n switch (target) {\n case leftSliderRef.nativeElement:\n return 'left';\n case rightSliderRef.nativeElement:\n return 'right';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'left' | 'right' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaLeft = fraction * 100 - this.range.left();\n const deltaRight = fraction * 100 - 100 + this.range.right();\n\n return Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.range.left() === 0 && this.range.right() === 100)\n ? 'right'\n : 'left';\n }\n}\n","import type {OnChanges, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n signal,\n ViewChildren,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiQuantize} from '@taiga-ui/cdk/utils/math';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiKeySteps} from '@taiga-ui/kit/components/slider';\nimport {\n TUI_SLIDER_OPTIONS,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n TuiSlider,\n TuiSliderComponent,\n} from '@taiga-ui/kit/components/slider';\n\nimport {TuiRangeChange} from './range-change.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-range',\n imports: [TuiSlider, FormsModule],\n templateUrl: './range.template.html',\n styleUrls: ['./range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider([0, 0])],\n hostDirectives: [\n {\n directive: TuiRangeChange,\n outputs: ['activeThumbChange'],\n },\n ],\n host: {\n '[attr.tabindex]': '-1',\n '[attr.aria-disabled]': 'disabled()',\n '[style.--left.%]': 'left()',\n '[style.--right.%]': 'right()',\n '[style.background]': 'options.trackColor',\n '[class._disabled]': 'disabled()',\n '(focusout)': 'onTouched()',\n },\n})\nexport class TuiRange extends TuiControl<[number, number]> implements OnChanges {\n // TODO: workaround until we get signal inputs\n private readonly changes = signal(1);\n private readonly el = tuiInjectElement();\n\n protected readonly options = inject(TUI_SLIDER_OPTIONS);\n protected lastActiveThumb: 'left' | 'right' = 'right';\n\n @Input()\n public min = 0;\n\n @Input()\n public max = 100;\n\n @Input()\n public step = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n public size: TuiSizeS = this.options.size;\n\n @Input()\n public segments = 1;\n\n @Input()\n public keySteps: TuiKeySteps | null = null;\n\n @Input()\n public focusable = true;\n\n @ViewChildren(TuiSliderComponent, {read: ElementRef})\n public readonly slidersRefs: QueryList<ElementRef<HTMLInputElement>> = EMPTY_QUERY;\n\n public readonly left = computed(() => this.toPercent(this.value()[0]));\n public readonly right = computed(() => 100 - this.toPercent(this.value()[1]));\n\n public ngOnChanges(): void {\n this.changes.set(this.changes() + 1);\n }\n\n public processValue(value: number, right: boolean): void {\n if (right) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = right ? 'right' : 'left';\n }\n\n public toValue(fraction: number): number {\n return tuiPercentageToKeyStepValue(\n tuiClamp(tuiQuantize(fraction, this.fractionStep), 0, 1) * 100,\n this.computedKeySteps,\n );\n }\n\n protected get fractionStep(): number {\n return this.step / (this.max - this.min);\n }\n\n protected get computedKeySteps(): TuiKeySteps {\n return this.computePureKeySteps(this.keySteps, this.min, this.max);\n }\n\n protected get segmentWidthRatio(): number {\n return 1 / this.segments;\n }\n\n @HostListener('keydown.arrowUp.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowRight.prevent', ['1', '$event.target'])\n @HostListener('keydown.arrowLeft.prevent', ['-1', '$event.target'])\n @HostListener('keydown.arrowDown.prevent', ['-1', '$event.target'])\n protected changeByStep(coefficient: number, target: HTMLElement): void {\n const [sliderLeftRef, sliderRightRef] = this.slidersRefs;\n const leftThumbElement = sliderLeftRef.nativeElement;\n const rightThumbElement = sliderRightRef.nativeElement;\n\n const isRightThumb =\n target === this.el\n ? this.lastActiveThumb === 'right'\n : target === rightThumbElement;\n const activeThumbElement = isRightThumb ? rightThumbElement : leftThumbElement;\n const previousValue = isRightThumb ? this.value()[1] : this.value()[0];\n /** @bad TODO think about a solution without twice conversion */\n const previousFraction = this.toPercent(previousValue) / 100;\n const newFractionValue = previousFraction + coefficient * this.fractionStep;\n\n this.processValue(this.toValue(newFractionValue), isRightThumb);\n activeThumbElement?.focus();\n }\n\n protected toPercent(value: number): number {\n return (\n this.changes() && tuiKeyStepValueToPercentage(value, this.computedKeySteps)\n );\n }\n\n @tuiPure\n private computePureKeySteps(\n keySteps: TuiKeySteps | null,\n min: number,\n max: number,\n ): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n private updateStart(value: number): void {\n this.onChange([Math.min(value, this.value()[1]), this.value()[1]]);\n }\n\n private updateEnd(value: number): void {\n this.onChange([this.value()[0], Math.max(value, this.value()[0])]);\n }\n}\n","<div\n class=\"t-track\"\n [style.--bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiRangeChange"],"mappings":"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"}
@@ -4,13 +4,13 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
 
5
5
  class TuiButtonGroupStyles {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font-size:var(--tui-font-text-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-l);max-width:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, decorators: [{
10
10
  type: Component,
11
11
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12
12
  class: 'tui-button-group-styles',
13
- }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font-size:var(--tui-font-text-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-l);max-width:100%;justify-content:center}\n"] }]
13
+ }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:var(--tui-radius-l)}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"] }]
14
14
  }] });
15
15
  class TuiButtonGroup {
16
16
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-button-group.mjs","sources":["../../../projects/kit/directives/button-group/button-group.directive.ts","../../../projects/kit/directives/button-group/taiga-ui-kit-directives-button-group.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./button-group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-group-styles',\n },\n})\nclass TuiButtonGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiButtonGroup]',\n})\nexport class TuiButtonGroup {\n protected readonly nothing = tuiWithStyles(TuiButtonGroupStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6HARZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,g1CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA,EAAA,MAAA,EAAA,CAAA,g1CAAA,CAAA,EAAA,CAAA;;AAIL,MAIa,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAKuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AACpE,KAAA;+GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA,CAAA;;;ACvBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-button-group.mjs","sources":["../../../projects/kit/directives/button-group/button-group.directive.ts","../../../projects/kit/directives/button-group/taiga-ui-kit-directives-button-group.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./button-group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-group-styles',\n },\n})\nclass TuiButtonGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiButtonGroup]',\n})\nexport class TuiButtonGroup {\n protected readonly nothing = tuiWithStyles(TuiButtonGroupStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6HARZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,i1CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA,EAAA,MAAA,EAAA,CAAA,i1CAAA,CAAA,EAAA,CAAA;;AAIL,MAIa,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAKuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AACpE,KAAA;+GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA,CAAA;;;ACvBD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "4.0.0-rc.1",
3
+ "version": "4.0.0-rc.2",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,17 +17,17 @@
17
17
  "@angular/core": ">=16.0.0",
18
18
  "@angular/forms": ">=16.0.0",
19
19
  "@angular/router": ">=16.0.0",
20
- "@maskito/angular": "^2.4.0",
21
- "@maskito/core": "^2.4.0",
22
- "@maskito/kit": "^2.4.0",
23
- "@maskito/phone": "^2.4.0",
20
+ "@maskito/angular": "^2.5.0",
21
+ "@maskito/core": "^2.5.0",
22
+ "@maskito/kit": "^2.5.0",
23
+ "@maskito/phone": "^2.5.0",
24
24
  "@ng-web-apis/common": "^4.0.0",
25
25
  "@ng-web-apis/intersection-observer": "^4.0.0",
26
26
  "@ng-web-apis/mutation-observer": "^4.0.0",
27
27
  "@ng-web-apis/resize-observer": "^4.0.0",
28
- "@taiga-ui/cdk": "^4.0.0-rc.1",
29
- "@taiga-ui/core": "^4.0.0-rc.1",
30
- "@taiga-ui/i18n": "^4.0.0-rc.1",
28
+ "@taiga-ui/cdk": "^4.0.0-rc.2",
29
+ "@taiga-ui/core": "^4.0.0-rc.2",
30
+ "@taiga-ui/i18n": "^4.0.0-rc.2",
31
31
  "@taiga-ui/polymorpheus": "^4.6.3",
32
32
  "rxjs": ">=7.0.0"
33
33
  },
@@ -43,18 +43,18 @@
43
43
  "esm": "./esm2022/taiga-ui-kit.mjs",
44
44
  "default": "./fesm2022/taiga-ui-kit.mjs"
45
45
  },
46
- "./directives": {
47
- "types": "./directives/index.d.ts",
48
- "esm2022": "./esm2022/directives/taiga-ui-kit-directives.mjs",
49
- "esm": "./esm2022/directives/taiga-ui-kit-directives.mjs",
50
- "default": "./fesm2022/taiga-ui-kit-directives.mjs"
51
- },
52
46
  "./components": {
53
47
  "types": "./components/index.d.ts",
54
48
  "esm2022": "./esm2022/components/taiga-ui-kit-components.mjs",
55
49
  "esm": "./esm2022/components/taiga-ui-kit-components.mjs",
56
50
  "default": "./fesm2022/taiga-ui-kit-components.mjs"
57
51
  },
52
+ "./directives": {
53
+ "types": "./directives/index.d.ts",
54
+ "esm2022": "./esm2022/directives/taiga-ui-kit-directives.mjs",
55
+ "esm": "./esm2022/directives/taiga-ui-kit-directives.mjs",
56
+ "default": "./fesm2022/taiga-ui-kit-directives.mjs"
57
+ },
58
58
  "./pipes": {
59
59
  "types": "./pipes/index.d.ts",
60
60
  "esm2022": "./esm2022/pipes/taiga-ui-kit-pipes.mjs",
@@ -73,90 +73,6 @@
73
73
  "esm": "./esm2022/utils/taiga-ui-kit-utils.mjs",
74
74
  "default": "./fesm2022/taiga-ui-kit-utils.mjs"
75
75
  },
76
- "./directives/button-close": {
77
- "types": "./directives/button-close/index.d.ts",
78
- "esm2022": "./esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs",
79
- "esm": "./esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs",
80
- "default": "./fesm2022/taiga-ui-kit-directives-button-close.mjs"
81
- },
82
- "./directives/button-group": {
83
- "types": "./directives/button-group/index.d.ts",
84
- "esm2022": "./esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs",
85
- "esm": "./esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs",
86
- "default": "./fesm2022/taiga-ui-kit-directives-button-group.mjs"
87
- },
88
- "./directives/button-vertical": {
89
- "types": "./directives/button-vertical/index.d.ts",
90
- "esm2022": "./esm2022/directives/button-vertical/taiga-ui-kit-directives-button-vertical.mjs",
91
- "esm": "./esm2022/directives/button-vertical/taiga-ui-kit-directives-button-vertical.mjs",
92
- "default": "./fesm2022/taiga-ui-kit-directives-button-vertical.mjs"
93
- },
94
- "./directives/chevron": {
95
- "types": "./directives/chevron/index.d.ts",
96
- "esm2022": "./esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs",
97
- "esm": "./esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs",
98
- "default": "./fesm2022/taiga-ui-kit-directives-chevron.mjs"
99
- },
100
- "./directives/comment": {
101
- "types": "./directives/comment/index.d.ts",
102
- "esm2022": "./esm2022/directives/comment/taiga-ui-kit-directives-comment.mjs",
103
- "esm": "./esm2022/directives/comment/taiga-ui-kit-directives-comment.mjs",
104
- "default": "./fesm2022/taiga-ui-kit-directives-comment.mjs"
105
- },
106
- "./directives/data-list-dropdown-manager": {
107
- "types": "./directives/data-list-dropdown-manager/index.d.ts",
108
- "esm2022": "./esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs",
109
- "esm": "./esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs",
110
- "default": "./fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs"
111
- },
112
- "./directives/fade": {
113
- "types": "./directives/fade/index.d.ts",
114
- "esm2022": "./esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs",
115
- "esm": "./esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs",
116
- "default": "./fesm2022/taiga-ui-kit-directives-fade.mjs"
117
- },
118
- "./directives/highlight": {
119
- "types": "./directives/highlight/index.d.ts",
120
- "esm2022": "./esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs",
121
- "esm": "./esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs",
122
- "default": "./fesm2022/taiga-ui-kit-directives-highlight.mjs"
123
- },
124
- "./directives/lazy-loading": {
125
- "types": "./directives/lazy-loading/index.d.ts",
126
- "esm2022": "./esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs",
127
- "esm": "./esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs",
128
- "default": "./fesm2022/taiga-ui-kit-directives-lazy-loading.mjs"
129
- },
130
- "./directives/present": {
131
- "types": "./directives/present/index.d.ts",
132
- "esm2022": "./esm2022/directives/present/taiga-ui-kit-directives-present.mjs",
133
- "esm": "./esm2022/directives/present/taiga-ui-kit-directives-present.mjs",
134
- "default": "./fesm2022/taiga-ui-kit-directives-present.mjs"
135
- },
136
- "./directives/sensitive": {
137
- "types": "./directives/sensitive/index.d.ts",
138
- "esm2022": "./esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs",
139
- "esm": "./esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs",
140
- "default": "./fesm2022/taiga-ui-kit-directives-sensitive.mjs"
141
- },
142
- "./directives/skeleton": {
143
- "types": "./directives/skeleton/index.d.ts",
144
- "esm2022": "./esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs",
145
- "esm": "./esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs",
146
- "default": "./fesm2022/taiga-ui-kit-directives-skeleton.mjs"
147
- },
148
- "./directives/unfinished-validator": {
149
- "types": "./directives/unfinished-validator/index.d.ts",
150
- "esm2022": "./esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs",
151
- "esm": "./esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs",
152
- "default": "./fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs"
153
- },
154
- "./directives/unmask-handler": {
155
- "types": "./directives/unmask-handler/index.d.ts",
156
- "esm2022": "./esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs",
157
- "esm": "./esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs",
158
- "default": "./fesm2022/taiga-ui-kit-directives-unmask-handler.mjs"
159
- },
160
76
  "./components/accordion": {
161
77
  "types": "./components/accordion/index.d.ts",
162
78
  "esm2022": "./esm2022/components/accordion/taiga-ui-kit-components-accordion.mjs",
@@ -415,6 +331,90 @@
415
331
  "esm": "./esm2022/components/tree/taiga-ui-kit-components-tree.mjs",
416
332
  "default": "./fesm2022/taiga-ui-kit-components-tree.mjs"
417
333
  },
334
+ "./directives/button-close": {
335
+ "types": "./directives/button-close/index.d.ts",
336
+ "esm2022": "./esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs",
337
+ "esm": "./esm2022/directives/button-close/taiga-ui-kit-directives-button-close.mjs",
338
+ "default": "./fesm2022/taiga-ui-kit-directives-button-close.mjs"
339
+ },
340
+ "./directives/button-group": {
341
+ "types": "./directives/button-group/index.d.ts",
342
+ "esm2022": "./esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs",
343
+ "esm": "./esm2022/directives/button-group/taiga-ui-kit-directives-button-group.mjs",
344
+ "default": "./fesm2022/taiga-ui-kit-directives-button-group.mjs"
345
+ },
346
+ "./directives/button-vertical": {
347
+ "types": "./directives/button-vertical/index.d.ts",
348
+ "esm2022": "./esm2022/directives/button-vertical/taiga-ui-kit-directives-button-vertical.mjs",
349
+ "esm": "./esm2022/directives/button-vertical/taiga-ui-kit-directives-button-vertical.mjs",
350
+ "default": "./fesm2022/taiga-ui-kit-directives-button-vertical.mjs"
351
+ },
352
+ "./directives/chevron": {
353
+ "types": "./directives/chevron/index.d.ts",
354
+ "esm2022": "./esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs",
355
+ "esm": "./esm2022/directives/chevron/taiga-ui-kit-directives-chevron.mjs",
356
+ "default": "./fesm2022/taiga-ui-kit-directives-chevron.mjs"
357
+ },
358
+ "./directives/comment": {
359
+ "types": "./directives/comment/index.d.ts",
360
+ "esm2022": "./esm2022/directives/comment/taiga-ui-kit-directives-comment.mjs",
361
+ "esm": "./esm2022/directives/comment/taiga-ui-kit-directives-comment.mjs",
362
+ "default": "./fesm2022/taiga-ui-kit-directives-comment.mjs"
363
+ },
364
+ "./directives/data-list-dropdown-manager": {
365
+ "types": "./directives/data-list-dropdown-manager/index.d.ts",
366
+ "esm2022": "./esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs",
367
+ "esm": "./esm2022/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.mjs",
368
+ "default": "./fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs"
369
+ },
370
+ "./directives/fade": {
371
+ "types": "./directives/fade/index.d.ts",
372
+ "esm2022": "./esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs",
373
+ "esm": "./esm2022/directives/fade/taiga-ui-kit-directives-fade.mjs",
374
+ "default": "./fesm2022/taiga-ui-kit-directives-fade.mjs"
375
+ },
376
+ "./directives/highlight": {
377
+ "types": "./directives/highlight/index.d.ts",
378
+ "esm2022": "./esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs",
379
+ "esm": "./esm2022/directives/highlight/taiga-ui-kit-directives-highlight.mjs",
380
+ "default": "./fesm2022/taiga-ui-kit-directives-highlight.mjs"
381
+ },
382
+ "./directives/lazy-loading": {
383
+ "types": "./directives/lazy-loading/index.d.ts",
384
+ "esm2022": "./esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs",
385
+ "esm": "./esm2022/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.mjs",
386
+ "default": "./fesm2022/taiga-ui-kit-directives-lazy-loading.mjs"
387
+ },
388
+ "./directives/present": {
389
+ "types": "./directives/present/index.d.ts",
390
+ "esm2022": "./esm2022/directives/present/taiga-ui-kit-directives-present.mjs",
391
+ "esm": "./esm2022/directives/present/taiga-ui-kit-directives-present.mjs",
392
+ "default": "./fesm2022/taiga-ui-kit-directives-present.mjs"
393
+ },
394
+ "./directives/sensitive": {
395
+ "types": "./directives/sensitive/index.d.ts",
396
+ "esm2022": "./esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs",
397
+ "esm": "./esm2022/directives/sensitive/taiga-ui-kit-directives-sensitive.mjs",
398
+ "default": "./fesm2022/taiga-ui-kit-directives-sensitive.mjs"
399
+ },
400
+ "./directives/skeleton": {
401
+ "types": "./directives/skeleton/index.d.ts",
402
+ "esm2022": "./esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs",
403
+ "esm": "./esm2022/directives/skeleton/taiga-ui-kit-directives-skeleton.mjs",
404
+ "default": "./fesm2022/taiga-ui-kit-directives-skeleton.mjs"
405
+ },
406
+ "./directives/unfinished-validator": {
407
+ "types": "./directives/unfinished-validator/index.d.ts",
408
+ "esm2022": "./esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs",
409
+ "esm": "./esm2022/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.mjs",
410
+ "default": "./fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs"
411
+ },
412
+ "./directives/unmask-handler": {
413
+ "types": "./directives/unmask-handler/index.d.ts",
414
+ "esm2022": "./esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs",
415
+ "esm": "./esm2022/directives/unmask-handler/taiga-ui-kit-directives-unmask-handler.mjs",
416
+ "default": "./fesm2022/taiga-ui-kit-directives-unmask-handler.mjs"
417
+ },
418
418
  "./pipes/emails": {
419
419
  "types": "./pipes/emails/index.d.ts",
420
420
  "esm2022": "./esm2022/pipes/emails/taiga-ui-kit-pipes-emails.mjs",