@taiga-ui/core 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.
@@ -20,10 +20,6 @@ export declare class TuiCalendarSheet {
20
20
  onItemHovered(item: TuiDay | false): void;
21
21
  getItemRange(item: TuiDay): TuiRangeState | null;
22
22
  protected get isSingleDayRange(): boolean;
23
- /**
24
- * @deprecated: use {@link this.isSingleDayRange}
25
- */
26
- protected get isSingle(): boolean;
27
23
  protected readonly toMarkers: (day: TuiDay, today: boolean, inRange: boolean, markerHandler: TuiMarkerHandler | null) => [
28
24
  string,
29
25
  string
@@ -20,6 +20,7 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
20
20
  protected side: number;
21
21
  protected readonly change$: import("rxjs").Subject<void> | undefined;
22
22
  protected readonly options: import("./textfield.options").TuiTextfieldOptions;
23
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
23
24
  protected readonly control: NgControl | null;
24
25
  filler: string;
25
26
  stringify: TuiStringHandler<T>;
@@ -83,12 +83,6 @@ class TuiCalendarSheet {
83
83
  get isSingleDayRange() {
84
84
  return this.value instanceof TuiDayRange && this.value.isSingleDay;
85
85
  }
86
- /**
87
- * @deprecated: use {@link this.isSingleDayRange}
88
- */
89
- get isSingle() {
90
- return this.isSingleDayRange;
91
- }
92
86
  itemIsToday(item) {
93
87
  return this.today.daySame(item);
94
88
  }
@@ -140,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
140
134
  type: HostBinding,
141
135
  args: ['class._single']
142
136
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUtoRixNQWdCYSxnQkFBZ0I7SUFoQjdCO1FBaUJxQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlB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O3NCQURYLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlVLGlCQUFpQjtzQkFEaEMsTUFBTTtnQkFJUyxRQUFRO3NCQUR2QixNQUFNO2dCQXNFTyxnQkFBZ0I7c0JBRDdCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlEYXksIFR1aURheVJhbmdlLCBUdWlNb250aH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kYXRlLXRpbWUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aVJlcGVhdFRpbWVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvcmVwZWF0LXRpbWVzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHR5cGUge1R1aUJvb2xlYW5IYW5kbGVyLCBUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpTnVsbGFibGVTYW1lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtUdWlDYWxlbmRhclNoZWV0UGlwZSwgVHVpT3JkZXJXZWVrRGF5c1BpcGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3BpcGVzJztcbmltcG9ydCB7VFVJX0RBWV9UWVBFX0hBTkRMRVIsIFRVSV9TSE9SVF9XRUVLX0RBWVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpUmFuZ2VTdGF0ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBUdWlNYXJrZXJIYW5kbGVyID0gVHVpSGFuZGxlcjxUdWlEYXksIFtdIHwgW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddPjtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1jYWxlbmRhci1zaGVldCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFR1aUxldCxcbiAgICAgICAgVHVpTWFwcGVyUGlwZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXMsXG4gICAgICAgIFR1aUhvdmVyZWQsXG4gICAgICAgIFR1aUNhbGVuZGFyU2hlZXRQaXBlLFxuICAgICAgICBUdWlPcmRlcldlZWtEYXlzUGlwZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1zaGVldC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhbGVuZGFyU2hlZXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9kYXkgPSBUdWlEYXkuY3VycmVudExvY2FsKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdW5vcmRlcmVkV2Vla0RheXMkID0gaW5qZWN0KFRVSV9TSE9SVF9XRUVLX0RBWVMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXlUeXBlSGFuZGxlciA9IGluamVjdChUVUlfREFZX1RZUEVfSEFORExFUik7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb250aDogVHVpTW9udGggPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBUVUlfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1hcmtlckhhbmRsZXI6IFR1aU1hcmtlckhhbmRsZXIgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZhbHVlOiBUdWlEYXkgfCBUdWlEYXlSYW5nZSB8IHJlYWRvbmx5IFR1aURheVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBob3ZlcmVkSXRlbTogVHVpRGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaG93QWRqYWNlbnQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXkgfCBudWxsPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGRheUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlEYXk+KCk7XG5cbiAgICBwdWJsaWMgaXRlbUlzSW50ZXJ2YWwoZGF5OiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghKHZhbHVlIGluc3RhbmNlb2YgVHVpRGF5UmFuZ2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlRGF5KSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUuZnJvbS5kYXlTYW1lT3JCZWZvcmUoZGF5KSAmJiB2YWx1ZS50by5kYXlBZnRlcihkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhvdmVyZWRJdGVtID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByYW5nZSA9IFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHJhbmdlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSXRlbUhvdmVyZWQoaXRlbTogVHVpRGF5IHwgZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkSXRlbShpdGVtIHx8IG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJdGVtUmFuZ2UoaXRlbTogVHVpRGF5KTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5maW5kKGRheSA9PiBkYXkuZGF5U2FtZShpdGVtKSkgPyAnc2luZ2xlJyA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pICYmICF2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbT8uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbT8uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiAnc3RhcnQnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHZhbHVlLnRvLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSkgfHxcbiAgICAgICAgICAgIChob3ZlcmVkSXRlbT8uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIGhvdmVyZWRJdGVtLmRheUFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICdlbmQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlLmlzU2luZ2xlRGF5ICYmIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSA/ICdzaW5nbGUnIDogbnVsbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9zaW5nbGUnKVxuICAgIHByb3RlY3RlZCBnZXQgaXNTaW5nbGVEYXlSYW5nZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSAmJiB0aGlzLnZhbHVlLmlzU2luZ2xlRGF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkOiB1c2Uge0BsaW5rIHRoaXMuaXNTaW5nbGVEYXlSYW5nZX1cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzU2luZ2xlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1NpbmdsZURheVJhbmdlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0b01hcmtlcnMgPSAoXG4gICAgICAgIGRheTogVHVpRGF5LFxuICAgICAgICB0b2RheTogYm9vbGVhbixcbiAgICAgICAgaW5SYW5nZTogYm9vbGVhbixcbiAgICAgICAgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciB8IG51bGwsXG4gICAgKTogW3N0cmluZywgc3RyaW5nXSB8IFtzdHJpbmddIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICh0b2RheSB8fCBpblJhbmdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1hcmtlcnMgPSBtYXJrZXJIYW5kbGVyPy4oZGF5KTtcblxuICAgICAgICByZXR1cm4gbWFya2Vycz8ubGVuZ3RoID8gbWFya2VycyA6IG51bGw7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBpdGVtSXNUb2RheShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9kYXkuZGF5U2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaXRlbUlzVW5hdmFpbGFibGUoaXRlbTogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb250aC5tb250aFNhbWUoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSXRlbUNsaWNrKGl0ZW06IFR1aURheSk6IHZvaWQge1xuICAgICAgICB0aGlzLmRheUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShkYXk6IFR1aURheSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aU51bGxhYmxlU2FtZSh0aGlzLmhvdmVyZWRJdGVtLCBkYXksIChhLCBiKSA9PiBhLmRheVNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gZGF5O1xuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtQ2hhbmdlLmVtaXQoZGF5KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC1yb3cgdC1yb3dfd2Vla2RheVwiPlxuICAgIDxkaXZcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB1bm9yZGVyZWRXZWVrRGF5cyQgfCB0dWlPcmRlcldlZWtEYXlzIHwgYXN5bmNcIlxuICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJkYXlcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdiAqdHVpTGV0PVwibW9udGggfCB0dWlDYWxlbmRhclNoZWV0OiB0cnVlIGFzIHNoZWV0XCI+XG4gICAgPGRpdlxuICAgICAgICAqdHVpUmVwZWF0VGltZXM9XCJsZXQgcm93SW5kZXggb2Ygc2hlZXQubGVuZ3RoXCJcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9fcm93XCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICp0dWlSZXBlYXRUaW1lcz1cImxldCBjb2xJbmRleCBvZiBzaGVldFtyb3dJbmRleF0ubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICp0dWlMZXQ9XCJzaGVldFtyb3dJbmRleF1bY29sSW5kZXhdIGFzIGl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pIHx8IHNob3dBZGphY2VudFwiXG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktY2FsZW5kYXItc2hlZXRfX2NlbGxcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcmFuZ2VdPVwiZ2V0SXRlbVJhbmdlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9kaXNhYmxlZF09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF9pbnRlcnZhbF09XCJpdGVtSXNJbnRlcnZhbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdG9kYXldPVwiaXRlbUlzVG9kYXkoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgKHR1aUhvdmVyZWRDaGFuZ2UpPVwib25JdGVtSG92ZXJlZCgkZXZlbnQgJiYgaXRlbSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXR5cGVdPVwiaXRlbSB8IHR1aU1hcHBlcjogZGF5VHlwZUhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtaXRlbV91bmF2YWlsYWJsZV09XCJpdGVtSXNVbmF2YWlsYWJsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGF5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0dWlNYXBwZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRvTWFya2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXRlbUlzVG9kYXkoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICEhZ2V0SXRlbVJhbmdlKGl0ZW0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXJrZXJIYW5kbGVyIGFzIG1hcmtlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJtYXJrZXJzPy5bMF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWFya2Vycy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlsxXSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLXNoZWV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci1zaGVldC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUtoRixNQWdCYSxnQkFBZ0I7SUFoQjdCO1FBaUJxQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlB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O3NCQURoQyxNQUFNO2dCQUlTLFFBQVE7c0JBRHZCLE1BQU07Z0JBc0VPLGdCQUFnQjtzQkFEN0IsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9GQUxTRV9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aURheSwgVHVpRGF5UmFuZ2UsIFR1aU1vbnRofSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aUhvdmVyZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmltcG9ydCB7VHVpTGV0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbGV0JztcbmltcG9ydCB7VHVpUmVwZWF0VGltZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9yZXBlYXQtdGltZXMnO1xuaW1wb3J0IHtUdWlNYXBwZXJQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3BpcGVzL21hcHBlcic7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXIsIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlOdWxsYWJsZVNhbWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUNhbGVuZGFyU2hlZXRQaXBlLCBUdWlPcmRlcldlZWtEYXlzUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMnO1xuaW1wb3J0IHtUVUlfREFZX1RZUEVfSEFORExFUiwgVFVJX1NIT1JUX1dFRUtfREFZU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlSYW5nZVN0YXRlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFR1aU1hcmtlckhhbmRsZXIgPSBUdWlIYW5kbGVyPFR1aURheSwgW10gfCBbc3RyaW5nLCBzdHJpbmddIHwgW3N0cmluZ10+O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLXNoZWV0JyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlNYXBwZXJQaXBlLFxuICAgICAgICBUdWlSZXBlYXRUaW1lcyxcbiAgICAgICAgVHVpSG92ZXJlZCxcbiAgICAgICAgVHVpQ2FsZW5kYXJTaGVldFBpcGUsXG4gICAgICAgIFR1aU9yZGVyV2Vla0RheXNQaXBlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLXNoZWV0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLXNoZWV0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FsZW5kYXJTaGVldCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2RheSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB1bm9yZGVyZWRXZWVrRGF5cyQgPSBpbmplY3QoVFVJX1NIT1JUX1dFRUtfREFZUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRheVR5cGVIYW5kbGVyID0gaW5qZWN0KFRVSV9EQVlfVFlQRV9IQU5ETEVSKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1vbnRoOiBUdWlNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiA9IFRVSV9GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWFya2VySGFuZGxlcjogVHVpTWFya2VySGFuZGxlciB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmFsdWU6IFR1aURheSB8IFR1aURheVJhbmdlIHwgcmVhZG9ubHkgVHVpRGF5W10gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhvdmVyZWRJdGVtOiBUdWlEYXkgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dBZGphY2VudCA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgaG92ZXJlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheSB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGF5Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheT4oKTtcblxuICAgIHB1YmxpYyBpdGVtSXNJbnRlcnZhbChkYXk6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBUdWlEYXlSYW5nZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLmRheVNhbWVPckJlZm9yZShkYXkpICYmIHZhbHVlLnRvLmRheUFmdGVyKGRheSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJhbmdlID0gVHVpRGF5UmFuZ2Uuc29ydCh2YWx1ZS5mcm9tLCBob3ZlcmVkSXRlbSk7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmZyb20uZGF5U2FtZU9yQmVmb3JlKGRheSkgJiYgcmFuZ2UudG8uZGF5QWZ0ZXIoZGF5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25JdGVtSG92ZXJlZChpdGVtOiBUdWlEYXkgfCBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWRJdGVtKGl0ZW0gfHwgbnVsbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEl0ZW1SYW5nZShpdGVtOiBUdWlEYXkpOiBUdWlSYW5nZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaG92ZXJlZEl0ZW19ID0gdGhpcztcblxuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmRheVNhbWUoaXRlbSkgPyAnc2luZ2xlJyA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh2YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZpbmQoZGF5ID0+IGRheS5kYXlTYW1lKGl0ZW0pKSA/ICdzaW5nbGUnIDogbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh2YWx1ZS5mcm9tLmRheVNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlBZnRlcih2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QmVmb3JlKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVEYXkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICdzdGFydCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodmFsdWUudG8uZGF5U2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVEYXkpIHx8XG4gICAgICAgICAgICAoaG92ZXJlZEl0ZW0/LmRheUJlZm9yZSh2YWx1ZS5mcm9tKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmZyb20uZGF5U2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlRGF5KSB8fFxuICAgICAgICAgICAgKGhvdmVyZWRJdGVtPy5kYXlTYW1lKGl0ZW0pICYmXG4gICAgICAgICAgICAgICAgaG92ZXJlZEl0ZW0uZGF5QWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5pc1NpbmdsZURheSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2VuZCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVEYXkgJiYgdmFsdWUuZnJvbS5kYXlTYW1lKGl0ZW0pID8gJ3NpbmdsZScgOiBudWxsO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3NpbmdsZScpXG4gICAgcHJvdGVjdGVkIGdldCBpc1NpbmdsZURheVJhbmdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aURheVJhbmdlICYmIHRoaXMudmFsdWUuaXNTaW5nbGVEYXk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRvTWFya2VycyA9IChcbiAgICAgICAgZGF5OiBUdWlEYXksXG4gICAgICAgIHRvZGF5OiBib29sZWFuLFxuICAgICAgICBpblJhbmdlOiBib29sZWFuLFxuICAgICAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyIHwgbnVsbCxcbiAgICApOiBbc3RyaW5nLCBzdHJpbmddIHwgW3N0cmluZ10gfCBudWxsID0+IHtcbiAgICAgICAgaWYgKHRvZGF5IHx8IGluUmFuZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWFya2VycyA9IG1hcmtlckhhbmRsZXI/LihkYXkpO1xuXG4gICAgICAgIHJldHVybiBtYXJrZXJzPy5sZW5ndGggPyBtYXJrZXJzIDogbnVsbDtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGl0ZW1Jc1RvZGF5KGl0ZW06IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2RheS5kYXlTYW1lKGl0ZW0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpdGVtSXNVbmF2YWlsYWJsZShpdGVtOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm1vbnRoLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25JdGVtQ2xpY2soaXRlbTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGF5Q2xpY2suZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUhvdmVyZWRJdGVtKGRheTogVHVpRGF5IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpTnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIGRheSwgKGEsIGIpID0+IGEuZGF5U2FtZShiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBkYXk7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChkYXkpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0LXJvdyB0LXJvd193ZWVrZGF5XCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIHVub3JkZXJlZFdlZWtEYXlzJCB8IHR1aU9yZGVyV2Vla0RheXMgfCBhc3luY1wiXG4gICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cImRheVwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG48ZGl2ICp0dWlMZXQ9XCJtb250aCB8IHR1aUNhbGVuZGFyU2hlZXQ6IHRydWUgYXMgc2hlZXRcIj5cbiAgICA8ZGl2XG4gICAgICAgICp0dWlSZXBlYXRUaW1lcz1cImxldCByb3dJbmRleCBvZiBzaGVldC5sZW5ndGhcIlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXNoZWV0X19yb3dcIlxuICAgICAgICBjbGFzcz1cInQtcm93XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnR1aVJlcGVhdFRpbWVzPVwibGV0IGNvbEluZGV4IG9mIHNoZWV0W3Jvd0luZGV4XS5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnR1aUxldD1cInNoZWV0W3Jvd0luZGV4XVtjb2xJbmRleF0gYXMgaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhaXRlbUlzVW5hdmFpbGFibGUoaXRlbSkgfHwgc2hvd0FkamFjZW50XCJcbiAgICAgICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1jYWxlbmRhci1zaGVldF9fY2VsbFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jZWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1yYW5nZV09XCJnZXRJdGVtUmFuZ2UoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX2Rpc2FibGVkXT1cImRpc2FibGVkSXRlbUhhbmRsZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jZWxsX2ludGVydmFsXT1cIml0ZW1Jc0ludGVydmFsKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2VsbF90b2RheV09XCJpdGVtSXNUb2RheShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy50LWNlbGxfdW5hdmFpbGFibGVdPVwiaXRlbUlzVW5hdmFpbGFibGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAodHVpSG92ZXJlZENoYW5nZSk9XCJvbkl0ZW1Ib3ZlcmVkKCRldmVudCAmJiBpdGVtKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWNhbGVuZGFyLXNoZWV0X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdHlwZV09XCJpdGVtIHwgdHVpTWFwcGVyOiBkYXlUeXBlSGFuZGxlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1pdGVtX3VuYXZhaWxhYmxlXT1cIml0ZW1Jc1VuYXZhaWxhYmxlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5kYXkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHR1aU1hcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdG9NYXJrZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpdGVtSXNUb2RheShpdGVtKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogISFnZXRJdGVtUmFuZ2UoaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG1hcmtlckhhbmRsZXIgYXMgbWFya2Vyc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRvdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm1hcmtlcnM/LlswXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtYXJrZXJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZG90XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwibWFya2Vycz8uWzFdIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -30,7 +30,7 @@ class TuiRoot {
30
30
  inject(DOCUMENT).defaultView?.document.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
31
31
  }
32
32
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.0.0-rc.1" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "class._mobile": "isMobileRes()" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdownsComponent, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.0.0-rc.2" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "class._mobile": "isMobileRes()" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdownsComponent, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
34
34
  }
35
35
  export { TuiRoot };
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
@@ -52,6 +52,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
52
52
  '[class._mobile]': 'isMobileRes()',
53
53
  // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
54
54
  '(touchstart.passive.silent)': '0',
55
- }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
55
+ }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
56
56
  }], ctorParameters: function () { return []; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9yb290L3Jvb3QudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRTNDLE1BNEJhLE9BQU87SUF3QmhCO1FBdkJpQixhQUFRLEdBQUcsTUFBTSxDQUFpQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV4QyxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFeEQsZ0JBQVcsR0FBRyxRQUFRLENBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNoQixHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLEVBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUN0QyxDQUNKLENBQUM7UUFFaUIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFFBQVE7WUFDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQy9CLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDbEIsQ0FBQztRQUdKLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQy9ELGdCQUFnQixFQUNoQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ2xDLENBQUM7SUFDTixDQUFDOytHQTdCUSxPQUFPO21HQUFQLE9BQU8sMFdDbkRwQiwrZEFpQkEsazlCRFVRLElBQUksd0ZBQ0osU0FBUyw4Q0FDVCxxQkFBcUIsMERBQ3JCLFVBQVUsd0RBQ1YsU0FBUyx1REFDVCxRQUFRLHNEQUNSLGlCQUFpQjs7U0FrQlosT0FBTzs0RkFBUCxPQUFPO2tCQTVCbkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxXQUNYO3dCQUNMLElBQUk7d0JBQ0osU0FBUzt3QkFDVCxxQkFBcUI7d0JBQ3JCLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLGlCQUFpQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFFcEIsdUJBQXVCLENBQUMsT0FBTyxRQUMxQzt3QkFDRixrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQiwyQkFBMkIsRUFBRSxVQUFVO3dCQUN2QyxjQUFjLEVBQUUsT0FBTzt3QkFDdkIsa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IseUJBQXlCLEVBQUUsZUFBZTt3QkFDMUMsaUJBQWlCLEVBQUUsZUFBZTt3QkFDbEMseUZBQXlGO3dCQUN6Riw2QkFBNkIsRUFBRSxHQUFHO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBET0NVTUVOVCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1RVSV9WRVJTSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX0lTX0FORFJPSUQsIFRVSV9JU19JT1MsIFRVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7VHVpQWxlcnRzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7VFVJX0RJQUxPR1MsIFR1aURpYWxvZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7VHVpU2Nyb2xsQ29udHJvbHN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7VHVpRHJvcGRvd25zQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpSGludHN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1R1aUJyZWFrcG9pbnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVELCBUVUlfUkVEVUNFRF9NT1RJT04sIFRVSV9USEVNRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIG9mfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yb290JyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgVHVpRHJvcGRvd25zQ29tcG9uZW50LFxuICAgICAgICBUdWlEaWFsb2dzLFxuICAgICAgICBUdWlBbGVydHMsXG4gICAgICAgIFR1aUhpbnRzLFxuICAgICAgICBUdWlTY3JvbGxDb250cm9scyxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jvb3Quc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBob3N0OiB7XG4gICAgICAgICdkYXRhLXR1aS12ZXJzaW9uJzogVFVJX1ZFUlNJT04sXG4gICAgICAgICdbc3R5bGUuLS10dWktZHVyYXRpb24ubXNdJzogJ2R1cmF0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5faW9zXSc6ICdpc0lPUycsXG4gICAgICAgICdbY2xhc3MuX2FuZHJvaWRdJzogJ2lzQW5kcm9pZCcsXG4gICAgICAgICdbY2xhc3MuX3JlZHVjZWQtbW90aW9uXSc6ICdyZWR1Y2VkTW90aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5fbW9iaWxlXSc6ICdpc01vYmlsZVJlcygpJyxcbiAgICAgICAgLy8gUmVxdWlyZWQgZm9yIHRoZSA6YWN0aXZlIHN0YXRlIHRvIHdvcmsgaW4gU2FmYXJpLiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzM2ODE0OTBcbiAgICAgICAgJyh0b3VjaHN0YXJ0LnBhc3NpdmUuc2lsZW50KSc6ICcwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSb290IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ3MkID0gaW5qZWN0PE9ic2VydmFibGU8cmVhZG9ubHkgdW5rbm93bltdPj4oVFVJX0RJQUxPR1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBicmVha3BvaW50ID0gaW5qZWN0KFR1aUJyZWFrcG9pbnRTZXJ2aWNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNBbmRyb2lkID0gaW5qZWN0KFRVSV9JU19BTkRST0lEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVkdWNlZE1vdGlvbiA9IGluamVjdChUVUlfUkVEVUNFRF9NT1RJT04pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkdXJhdGlvbiA9IHR1aUdldER1cmF0aW9uKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlUmVzID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMuYnJlYWtwb2ludC5waXBlKFxuICAgICAgICAgICAgbWFwKGJyZWFrcG9pbnQgPT4gYnJlYWtwb2ludCA9PT0gJ21vYmlsZScpLFxuICAgICAgICAgICAgdHVpV2F0Y2goaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxiYXJzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNNb2JpbGVcbiAgICAgICAgPyBvZihmYWxzZSlcbiAgICAgICAgOiB0aGlzLmRpYWxvZ3MkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChkaWFsb2dzID0+ICFkaWFsb2dzLmxlbmd0aCksXG4gICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICApO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChET0NVTUVOVCkuZGVmYXVsdFZpZXc/LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnZGF0YS10dWktdGhlbWUnLFxuICAgICAgICAgICAgaW5qZWN0KFRVSV9USEVNRSkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbC1jb250cm9sc1xuICAgICpuZ0lmPVwic2Nyb2xsYmFycyQgfCBhc3luY1wiXG4gICAgY2xhc3M9XCJ0LXJvb3Qtc2Nyb2xsYmFyXCJcbi8+XG48dHVpLWRyb3Bkb3ducz5cbiAgICA8ZGl2IGNsYXNzPVwidC1yb290LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQ29udGVudFwiIC8+XG4gICAgPHR1aS1kaWFsb2dzIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckRpYWxvZ3NcIiAvPlxuICAgIDx0dWktYWxlcnRzIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckFsZXJ0c1wiIC8+XG48L3R1aS1kcm9wZG93bnM+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRHJvcGRvd25zXCIgLz5cbjx0dWktaGludHMgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJIaW50c1wiIC8+XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9yb290L3Jvb3QudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxFQUNOLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRTNDLE1BNEJhLE9BQU87SUF3QmhCO1FBdkJpQixhQUFRLEdBQUcsTUFBTSxDQUFpQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxhQUFRLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLGVBQVUsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUV4QyxVQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLGNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFeEQsZ0JBQVcsR0FBRyxRQUFRLENBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNoQixHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEtBQUssUUFBUSxDQUFDLEVBQzFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUN0QyxDQUNKLENBQUM7UUFFaUIsZ0JBQVcsR0FBd0IsSUFBSSxDQUFDLFFBQVE7WUFDL0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQy9CLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FDbEIsQ0FBQztRQUdKLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQy9ELGdCQUFnQixFQUNoQixNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ2xDLENBQUM7SUFDTixDQUFDOytHQTdCUSxPQUFPO21HQUFQLE9BQU8sMFdDbkRwQiwrZEFpQkEsdzlCRFVRLElBQUksd0ZBQ0osU0FBUyw4Q0FDVCxxQkFBcUIsMERBQ3JCLFVBQVUsd0RBQ1YsU0FBUyx1REFDVCxRQUFRLHNEQUNSLGlCQUFpQjs7U0FrQlosT0FBTzs0RkFBUCxPQUFPO2tCQTVCbkIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxXQUNYO3dCQUNMLElBQUk7d0JBQ0osU0FBUzt3QkFDVCxxQkFBcUI7d0JBQ3JCLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLGlCQUFpQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFFcEIsdUJBQXVCLENBQUMsT0FBTyxRQUMxQzt3QkFDRixrQkFBa0IsRUFBRSxXQUFXO3dCQUMvQiwyQkFBMkIsRUFBRSxVQUFVO3dCQUN2QyxjQUFjLEVBQUUsT0FBTzt3QkFDdkIsa0JBQWtCLEVBQUUsV0FBVzt3QkFDL0IseUJBQXlCLEVBQUUsZUFBZTt3QkFDMUMsaUJBQWlCLEVBQUUsZUFBZTt3QkFDbEMseUZBQXlGO3dCQUN6Riw2QkFBNkIsRUFBRSxHQUFHO3FCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBET0NVTUVOVCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1RVSV9WRVJTSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX0lTX0FORFJPSUQsIFRVSV9JU19JT1MsIFRVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7VHVpQWxlcnRzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7VFVJX0RJQUxPR1MsIFR1aURpYWxvZ3N9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7VHVpU2Nyb2xsQ29udHJvbHN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7VHVpRHJvcGRvd25zQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpSGludHN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge1R1aUJyZWFrcG9pbnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVELCBUVUlfUkVEVUNFRF9NT1RJT04sIFRVSV9USEVNRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0RHVyYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIG9mfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1yb290JyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgVHVpRHJvcGRvd25zQ29tcG9uZW50LFxuICAgICAgICBUdWlEaWFsb2dzLFxuICAgICAgICBUdWlBbGVydHMsXG4gICAgICAgIFR1aUhpbnRzLFxuICAgICAgICBUdWlTY3JvbGxDb250cm9scyxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3Jvb3Quc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9wcmVmZXItb24tcHVzaC1jb21wb25lbnQtY2hhbmdlLWRldGVjdGlvblxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdCxcbiAgICBob3N0OiB7XG4gICAgICAgICdkYXRhLXR1aS12ZXJzaW9uJzogVFVJX1ZFUlNJT04sXG4gICAgICAgICdbc3R5bGUuLS10dWktZHVyYXRpb24ubXNdJzogJ2R1cmF0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5faW9zXSc6ICdpc0lPUycsXG4gICAgICAgICdbY2xhc3MuX2FuZHJvaWRdJzogJ2lzQW5kcm9pZCcsXG4gICAgICAgICdbY2xhc3MuX3JlZHVjZWQtbW90aW9uXSc6ICdyZWR1Y2VkTW90aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5fbW9iaWxlXSc6ICdpc01vYmlsZVJlcygpJyxcbiAgICAgICAgLy8gUmVxdWlyZWQgZm9yIHRoZSA6YWN0aXZlIHN0YXRlIHRvIHdvcmsgaW4gU2FmYXJpLiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzM2ODE0OTBcbiAgICAgICAgJyh0b3VjaHN0YXJ0LnBhc3NpdmUuc2lsZW50KSc6ICcwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSb290IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ3MkID0gaW5qZWN0PE9ic2VydmFibGU8cmVhZG9ubHkgdW5rbm93bltdPj4oVFVJX0RJQUxPR1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBicmVha3BvaW50ID0gaW5qZWN0KFR1aUJyZWFrcG9pbnRTZXJ2aWNlKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNBbmRyb2lkID0gaW5qZWN0KFRVSV9JU19BTkRST0lEKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmVkdWNlZE1vdGlvbiA9IGluamVjdChUVUlfUkVEVUNFRF9NT1RJT04pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkdXJhdGlvbiA9IHR1aUdldER1cmF0aW9uKGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCkpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlUmVzID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMuYnJlYWtwb2ludC5waXBlKFxuICAgICAgICAgICAgbWFwKGJyZWFrcG9pbnQgPT4gYnJlYWtwb2ludCA9PT0gJ21vYmlsZScpLFxuICAgICAgICAgICAgdHVpV2F0Y2goaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxiYXJzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaXNNb2JpbGVcbiAgICAgICAgPyBvZihmYWxzZSlcbiAgICAgICAgOiB0aGlzLmRpYWxvZ3MkLnBpcGUoXG4gICAgICAgICAgICAgIG1hcChkaWFsb2dzID0+ICFkaWFsb2dzLmxlbmd0aCksXG4gICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICApO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChET0NVTUVOVCkuZGVmYXVsdFZpZXc/LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAnZGF0YS10dWktdGhlbWUnLFxuICAgICAgICAgICAgaW5qZWN0KFRVSV9USEVNRSkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbC1jb250cm9sc1xuICAgICpuZ0lmPVwic2Nyb2xsYmFycyQgfCBhc3luY1wiXG4gICAgY2xhc3M9XCJ0LXJvb3Qtc2Nyb2xsYmFyXCJcbi8+XG48dHVpLWRyb3Bkb3ducz5cbiAgICA8ZGl2IGNsYXNzPVwidC1yb290LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQ29udGVudFwiIC8+XG4gICAgPHR1aS1kaWFsb2dzIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckRpYWxvZ3NcIiAvPlxuICAgIDx0dWktYWxlcnRzIC8+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckFsZXJ0c1wiIC8+XG48L3R1aS1kcm9wZG93bnM+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRHJvcGRvd25zXCIgLz5cbjx0dWktaGludHMgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJIaW50c1wiIC8+XG4iXX0=
@@ -10,6 +10,7 @@ import { TuiLabel } from '@taiga-ui/core/components/label';
10
10
  import { tuiAppearanceOptionsProvider } from '@taiga-ui/core/directives/appearance';
11
11
  import { TuiDropdownDirective, TuiDropdownOpen, tuiDropdownOptionsProvider, } from '@taiga-ui/core/directives/dropdown';
12
12
  import { TuiIcons } from '@taiga-ui/core/directives/icons';
13
+ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
13
14
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
14
15
  import { TuiTextfieldDirective } from './textfield.directive';
15
16
  import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective } from './textfield.options';
@@ -28,6 +29,7 @@ class TuiTextfieldComponent {
28
29
  this.change$ = inject(TuiTextfieldOptionsDirective, { optional: true })
29
30
  ?.change$;
30
31
  this.options = inject(TUI_TEXTFIELD_OPTIONS);
32
+ this.icons = inject(TUI_COMMON_ICONS);
31
33
  this.control = inject(NgControl, { optional: true });
32
34
  this.filler = '';
33
35
  this.stringify = String;
@@ -67,7 +69,7 @@ class TuiTextfieldComponent {
67
69
  tuiAsDataListHost(TuiTextfieldComponent),
68
70
  tuiAppearanceOptionsProvider(TUI_TEXTFIELD_OPTIONS),
69
71
  tuiDropdownOptionsProvider({ limitWidth: 'fixed' }),
70
- ], queries: [{ propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }, { propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: TuiLabel, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithDataList }, { directive: i2.TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open"], outputs: ["tuiDropdownOpenChange", "openChange"] }, { directive: i4.TuiIcons, inputs: ["iconLeft", "iconLeft", "iconRight", "iconRight"] }], ngImport: i0, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n iconLeft=\"@tui.x\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ResizeObserverDirective, selector: "[waResizeObserver]", outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ ], queries: [{ propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }, { propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: TuiLabel, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithDataList }, { directive: i2.TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open"], outputs: ["tuiDropdownOpenChange", "openChange"] }, { directive: i4.TuiIcons, inputs: ["iconLeft", "iconLeft", "iconRight", "iconRight"] }], ngImport: i0, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n [iconLeft]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ResizeObserverDirective, selector: "[waResizeObserver]", outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
73
  }
72
74
  export { TuiTextfieldComponent };
73
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
@@ -94,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
94
96
  '[attr.data-size]': 'options.size',
95
97
  '[class._with-label]': 'hasLabel',
96
98
  '[class._disabled]': 'input.disabled',
97
- }, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n iconLeft=\"@tui.x\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"] }]
99
+ }, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n [iconLeft]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"] }]
98
100
  }], propDecorators: { el: [{
99
101
  type: ContentChild,
100
102
  args: [forwardRef(() => TuiTextfieldDirective), { read: ElementRef }]
@@ -111,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
111
113
  }], content: [{
112
114
  type: Input
113
115
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFekQsT0FBTyxFQUFDLGtCQUFr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QUFRLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQVduQyxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UmVzaXplT2JzZXJ2ZXJEaXJlY3RpdmV9IGZyb20gJ0BuZy13ZWItYXBpcy9yZXNpemUtb2JzZXJ2ZXInO1xuaW1wb3J0IHtUdWlOYXRpdmVWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9uYXRpdmUtdmFsaWRhdG9yJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0LCBUdWlTdHJpbmdIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSXNOYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge3R1aUFzRGF0YUxpc3RIb3N0LCBUdWlXaXRoRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VHVpTGFiZWx9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHt0dWlBcHBlYXJhbmNlT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2FwcGVhcmFuY2UnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24nO1xuaW1wb3J0IHtUdWlJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlMsIFR1aVRleHRmaWVsZE9wdGlvbnNEaXJlY3RpdmV9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aVRleHRmaWVsZENvbnRleHQ8VD4gZXh0ZW5kcyBUdWlDb250ZXh0PFQ+IHtcbiAgICByZWFkb25seSBhY3RpdmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktdGV4dGZpZWxkJyxcbiAgICBpbXBvcnRzOiBbTmdJZiwgQXN5bmNQaXBlLCBSZXNpemVPYnNlcnZlckRpcmVjdGl2ZSwgVHVpQnV0dG9uLCBQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0ZmllbGQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGZpZWxkLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXBwZWFyYW5jZU9wdGlvbnNQcm92aWRlcihUVUlfVEVYVEZJRUxEX09QVElPTlMpLFxuICAgICAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcih7bGltaXRXaWR0aDogJ2ZpeGVkJ30pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpTmF0aXZlVmFsaWRhdG9yLFxuICAgICAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgVHVpV2l0aERhdGFMaXN0LFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aURyb3Bkb3duT3BlbixcbiAgICAgICAgICAgIGlucHV0czogWyd0dWlEcm9wZG93bk9wZW46IG9wZW4nXSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsndHVpRHJvcGRvd25PcGVuQ2hhbmdlOiBvcGVuQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpSWNvbnMsXG4gICAgICAgICAgICBpbnB1dHM6IFsnaWNvbkxlZnQnLCAnaWNvblJpZ2h0J10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3R5bGUuLS10LXNpZGUucHhdJzogJ3NpZGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdvcHRpb25zLnNpemUnLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWxhYmVsXSc6ICdoYXNMYWJlbCcsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdpbnB1dC5kaXNhYmxlZCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgVHVpRGF0YUxpc3RIb3N0PFQ+IHtcbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRGlyZWN0aXZlKSwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bk9wZW4sIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgfSk7XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRGlyZWN0aXZlKSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlyZWN0aXZlPzogVHVpVGV4dGZpZWxkRGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlMYWJlbCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYWJlbD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJvdGVjdGVkIHNpZGUgPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjaGFuZ2UkID0gaW5qZWN0KFR1aVRleHRmaWVsZE9wdGlvbnNEaXJlY3RpdmUsIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICAgID8uY2hhbmdlJDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpbGxlciA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+ID0gU3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlUZXh0ZmllbGRDb250ZXh0PFQ+PjtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIGlmICghdGhpcy5lbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdbdHVpVGV4dGZpZWxkXSBjb21wb25lbnQgaXMgcmVxdWlyZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbD8ubmF0aXZlRWxlbWVudC5pZCB8fCAnJztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBEbyBub3QgY2hhbmdlIHRvIGB0aGlzLmlucHV0YCwgd2lsbCBiZSByZWZhY3RvcmVkXG4gICAgcHVibGljIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duPy5kcm9wZG93biB8fCB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5lbD8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZU9wdGlvbihvcHRpb246IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmU/LnNldFZhbHVlKHRoaXMuc3RyaW5naWZ5KG9wdGlvbikpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duPy50b2dnbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29tcHV0ZWRGaWxsZXIoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0LnZhbHVlIHx8ICcnO1xuICAgICAgICBjb25zdCBmaWxsZXIgPSB2YWx1ZSArIHRoaXMuZmlsbGVyLnNsaWNlKHZhbHVlLmxlbmd0aCk7XG5cbiAgICAgICAgcmV0dXJuIGZpbGxlci5sZW5ndGggPiB2YWx1ZS5sZW5ndGggPyBmaWxsZXIgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNob3dGaWxsZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgICEhdGhpcy5jb21wdXRlZEZpbGxlciAmJlxuICAgICAgICAgICAgKCEhdGhpcy5pbnB1dC52YWx1ZSB8fCAhdGhpcy5pbnB1dC5wbGFjZWhvbGRlcilcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmxhYmVsPy5uYXRpdmVFbGVtZW50Py5jaGlsZE5vZGVzLmxlbmd0aCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoYW5nZSQgfCBhc3luY1wiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJzZWxlY3RcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIiAvPlxuPHNwYW5cbiAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgKHdhUmVzaXplT2JzZXJ2ZXIpPVwic2lkZSA9ICRldmVudFswXS5jb250ZW50UmVjdC53aWR0aFwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5jbGVhbmVyXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBpY29uTGVmdD1cIkB0dWkueFwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIGNsYXNzPVwidC1jbGVhclwiXG4gICAgICAgIChjbGljayk9XCJkaXJlY3RpdmU/LnNldFZhbHVlKCcnKVwiXG4gICAgICAgIChwb2ludGVyZG93bi5zaWxlbnQucHJldmVudCk9XCJpbnB1dC5mb2N1cygpXCJcbiAgICA+PC9idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVRvb2x0aXBdXCIgLz5cbjwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwidC10ZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29udHJvbD8udmFsdWUsIGFjdGl2ZTogZm9jdXNlZH1cIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuPGlucHV0XG4gICAgKm5nSWY9XCJzaG93RmlsbGVyXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGRpc2FibGVkXG4gICAgY2xhc3M9XCJ0LWZpbGxlclwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkRmlsbGVyXCJcbi8+XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUU3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNsRixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsR0FDN0IsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFn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UztzQkFEM0IsWUFBWTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBSWxDLEtBQUs7c0JBRHZCLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQztnQkFZbkMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1Jlc2l6ZU9ic2VydmVyRGlyZWN0aXZlfSBmcm9tICdAbmctd2ViLWFwaXMvcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7VHVpTmF0aXZlVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvbmF0aXZlLXZhbGlkYXRvcic7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dCwgVHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHR5cGUge1R1aURhdGFMaXN0SG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHt0dWlBc0RhdGFMaXN0SG9zdCwgVHVpV2l0aERhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aUxhYmVsfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7dHVpQXBwZWFyYW5jZU9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9hcHBlYXJhbmNlJztcbmltcG9ydCB7XG4gICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgVHVpRHJvcGRvd25PcGVuLFxuICAgIHR1aURyb3Bkb3duT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpSWNvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaWNvbnMnO1xuaW1wb3J0IHtUVUlfQ09NTU9OX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aVRleHRmaWVsZERpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TLCBUdWlUZXh0ZmllbGRPcHRpb25zRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC5vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlUZXh0ZmllbGRDb250ZXh0PFQ+IGV4dGVuZHMgVHVpQ29udGV4dDxUPiB7XG4gICAgcmVhZG9ubHkgYWN0aXZlOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXRleHRmaWVsZCcsXG4gICAgaW1wb3J0czogW05nSWYsIEFzeW5jUGlwZSwgUmVzaXplT2JzZXJ2ZXJEaXJlY3RpdmUsIFR1aUJ1dHRvbiwgUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RleHRmaWVsZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRGF0YUxpc3RIb3N0KFR1aVRleHRmaWVsZENvbXBvbmVudCksXG4gICAgICAgIHR1aUFwcGVhcmFuY2VPcHRpb25zUHJvdmlkZXIoVFVJX1RFWFRGSUVMRF9PUFRJT05TKSxcbiAgICAgICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIoe2xpbWl0V2lkdGg6ICdmaXhlZCd9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU5hdGl2ZVZhbGlkYXRvcixcbiAgICAgICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFR1aVdpdGhEYXRhTGlzdCxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlEcm9wZG93bk9wZW4sXG4gICAgICAgICAgICBpbnB1dHM6IFsndHVpRHJvcGRvd25PcGVuOiBvcGVuJ10sXG4gICAgICAgICAgICBvdXRwdXRzOiBbJ3R1aURyb3Bkb3duT3BlbkNoYW5nZTogb3BlbkNoYW5nZSddLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aUljb25zLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ2ljb25MZWZ0JywgJ2ljb25SaWdodCddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3N0eWxlLi0tdC1zaWRlLnB4XSc6ICdzaWRlJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnb3B0aW9ucy5zaXplJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC1sYWJlbF0nOiAnaGFzTGFiZWwnLFxuICAgICAgICAnW2NsYXNzLl9kaXNhYmxlZF0nOiAnaW5wdXQuZGlzYWJsZWQnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIFR1aURhdGFMaXN0SG9zdDxUPiB7XG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IFR1aVRleHRmaWVsZERpcmVjdGl2ZSksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25PcGVuLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBzZWxmOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IFR1aVRleHRmaWVsZERpcmVjdGl2ZSkpXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpcmVjdGl2ZT86IFR1aVRleHRmaWVsZERpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpTGFiZWwsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByb3RlY3RlZCBzaWRlID0gMDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlJCA9IGluamVjdChUdWlUZXh0ZmllbGRPcHRpb25zRGlyZWN0aXZlLCB7b3B0aW9uYWw6IHRydWV9KVxuICAgICAgICA/LmNoYW5nZSQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEVYVEZJRUxEX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsbGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4gPSBTdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aVRleHRmaWVsZENvbnRleHQ8VD4+O1xuXG4gICAgcHVibGljIGdldCBpbnB1dCgpOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1t0dWlUZXh0ZmllbGRdIGNvbXBvbmVudCBpcyByZXF1aXJlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsPy5uYXRpdmVFbGVtZW50LmlkIHx8ICcnO1xuICAgIH1cblxuICAgIC8vIFRPRE86IERvIG5vdCBjaGFuZ2UgdG8gYHRoaXMuaW5wdXRgLCB3aWxsIGJlIHJlZmFjdG9yZWRcbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24/LmRyb3Bkb3duIHx8IHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLmVsPy5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpcmVjdGl2ZT8uc2V0VmFsdWUodGhpcy5zdHJpbmdpZnkob3B0aW9uKSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd24/LnRvZ2dsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZEZpbGxlcigpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaW5wdXQudmFsdWUgfHwgJyc7XG4gICAgICAgIGNvbnN0IGZpbGxlciA9IHZhbHVlICsgdGhpcy5maWxsZXIuc2xpY2UodmFsdWUubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4gZmlsbGVyLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IGZpbGxlciA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2hvd0ZpbGxlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCAmJlxuICAgICAgICAgICAgISF0aGlzLmNvbXB1dGVkRmlsbGVyICYmXG4gICAgICAgICAgICAoISF0aGlzLmlucHV0LnZhbHVlIHx8ICF0aGlzLmlucHV0LnBsYWNlaG9sZGVyKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGFzTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hhbmdlJCB8IGFzeW5jXCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0XCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInNlbGVjdFwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiIC8+XG48c3BhblxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAod2FSZXNpemVPYnNlcnZlcik9XCJzaWRlID0gJGV2ZW50WzBdLmNvbnRlbnRSZWN0LndpZHRoXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmNsZWFuZXJcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIGNsYXNzPVwidC1jbGVhclwiXG4gICAgICAgIFtpY29uTGVmdF09XCJpY29ucy5jbG9zZVwiXG4gICAgICAgIChjbGljayk9XCJkaXJlY3RpdmU/LnNldFZhbHVlKCcnKVwiXG4gICAgICAgIChwb2ludGVyZG93bi5zaWxlbnQucHJldmVudCk9XCJpbnB1dC5mb2N1cygpXCJcbiAgICA+PC9idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVRvb2x0aXBdXCIgLz5cbjwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwidC10ZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29udHJvbD8udmFsdWUsIGFjdGl2ZTogZm9jdXNlZH1cIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9zcGFuPlxuPGlucHV0XG4gICAgKm5nSWY9XCJzaG93RmlsbGVyXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGRpc2FibGVkXG4gICAgY2xhc3M9XCJ0LWZpbGxlclwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkRmlsbGVyXCJcbi8+XG4iXX0=
@@ -1,13 +1,13 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
3
- import { fromEvent, map, merge, startWith } from 'rxjs';
3
+ import { fromEvent, map, startWith } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  class TuiFallbackSrcPipe {
6
6
  constructor() {
7
7
  this.el = tuiInjectElement();
8
8
  }
9
9
  transform(src, fallback) {
10
- return merge(fromEvent(this.el, 'tui-icon-error'), fromEvent(this.el, 'error', { capture: true })).pipe(map(() => fallback), startWith(src));
10
+ return fromEvent(this.el, 'error', { capture: true }).pipe(map(() => fallback), startWith(src));
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFallbackSrcPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
13
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiFallbackSrcPipe, isStandalone: true, name: "tuiFallbackSrc" }); }
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20
20
  name: 'tuiFallbackSrc',
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stc3JjLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2ZhbGxiYWNrLXNyYy9mYWxsYmFjay1zcmMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBRXRELE1BSWEsa0JBQWtCO0lBSi9CO1FBS3FCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0tBVzVDO0lBVFUsU0FBUyxDQUFDLEdBQVcsRUFBRSxRQUFnQjtRQUMxQyxPQUFPLEtBQUssQ0FDUixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQyxFQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FDL0MsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUNuQixTQUFTLENBQUMsR0FBRyxDQUFDLENBQ2pCLENBQUM7SUFDTixDQUFDOytHQVhRLGtCQUFrQjs2R0FBbEIsa0JBQWtCOztTQUFsQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDRixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQgdHlwZSB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWFwLCBtZXJnZSwgc3RhcnRXaXRofSBmcm9tICdyeGpzJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUZhbGxiYWNrU3JjJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRmFsbGJhY2tTcmNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIHB1YmxpYyB0cmFuc2Zvcm0oc3JjOiBzdHJpbmcsIGZhbGxiYWNrOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbCwgJ3R1aS1pY29uLWVycm9yJyksXG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lbCwgJ2Vycm9yJywge2NhcHR1cmU6IHRydWV9KSxcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IGZhbGxiYWNrKSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aChzcmMpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsbGJhY2stc3JjLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3BpcGVzL2ZhbGxiYWNrLXNyYy9mYWxsYmFjay1zcmMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFFL0MsTUFJYSxrQkFBa0I7SUFKL0I7UUFLcUIsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7S0FRNUM7SUFOVSxTQUFTLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQzFDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNwRCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ25CLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FDakIsQ0FBQztJQUNOLENBQUM7K0dBUlEsa0JBQWtCOzZHQUFsQixrQkFBa0I7O1NBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUo5QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtYXAsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcyc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlGYWxsYmFja1NyYycsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUZhbGxiYWNrU3JjUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwdWJsaWMgdHJhbnNmb3JtKHNyYzogc3RyaW5nLCBmYWxsYmFjazogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLmVsLCAnZXJyb3InLCB7Y2FwdHVyZTogdHJ1ZX0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gZmFsbGJhY2spLFxuICAgICAgICAgICAgc3RhcnRXaXRoKHNyYyksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -88,12 +88,6 @@ class TuiCalendarSheet {
88
88
  get isSingleDayRange() {
89
89
  return this.value instanceof TuiDayRange && this.value.isSingleDay;
90
90
  }
91
- /**
92
- * @deprecated: use {@link this.isSingleDayRange}
93
- */
94
- get isSingle() {
95
- return this.isSingleDayRange;
96
- }
97
91
  itemIsToday(item) {
98
92
  return this.today.daySame(item);
99
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-calendar.mjs","sources":["../../../projects/core/components/calendar/calendar-sheet.component.ts","../../../projects/core/components/calendar/calendar-sheet.template.html","../../../projects/core/components/calendar/calendar-spin.component.ts","../../../projects/core/components/calendar/calendar-spin.template.html","../../../projects/core/components/calendar/calendar-year.component.ts","../../../projects/core/components/calendar/calendar-year.template.html","../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiDay, TuiDayRange, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendarSheetPipe, TuiOrderWeekDaysPipe} from '@taiga-ui/core/pipes';\nimport {TUI_DAY_TYPE_HANDLER, TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\nimport type {TuiRangeState} from '@taiga-ui/core/types';\n\nexport type TuiMarkerHandler = TuiHandler<TuiDay, [] | [string, string] | [string]>;\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-sheet',\n imports: [\n CommonModule,\n TuiLet,\n TuiMapperPipe,\n TuiRepeatTimes,\n TuiHovered,\n TuiCalendarSheetPipe,\n TuiOrderWeekDaysPipe,\n ],\n templateUrl: './calendar-sheet.template.html',\n styleUrls: ['./calendar-sheet.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSheet {\n private readonly today = TuiDay.currentLocal();\n\n protected readonly unorderedWeekDays$ = inject(TUI_SHORT_WEEK_DAYS);\n protected readonly dayTypeHandler = inject(TUI_DAY_TYPE_HANDLER);\n\n @Input()\n public month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public value: TuiDay | TuiDayRange | readonly TuiDay[] | null = null;\n\n @Input()\n public hoveredItem: TuiDay | null = null;\n\n @Input()\n public showAdjacent = true;\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n public readonly dayClick = new EventEmitter<TuiDay>();\n\n public itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (!(value instanceof TuiDayRange)) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n public onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n public getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? 'single' : null;\n }\n\n if (!(value instanceof TuiDayRange)) {\n return value.find(day => day.daySame(item)) ? 'single' : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return 'start';\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return 'end';\n }\n\n return value.isSingleDay && value.from.daySame(item) ? 'single' : null;\n }\n\n @HostBinding('class._single')\n protected get isSingleDayRange(): boolean {\n return this.value instanceof TuiDayRange && this.value.isSingleDay;\n }\n\n /**\n * @deprecated: use {@link this.isSingleDayRange}\n */\n protected get isSingle(): boolean {\n return this.isSingleDayRange;\n }\n\n protected readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n markerHandler: TuiMarkerHandler | null,\n ): [string, string] | [string] | null => {\n if (today || inRange) {\n return null;\n }\n\n const markers = markerHandler?.(day);\n\n return markers?.length ? markers : null;\n };\n\n protected itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n protected itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n protected onItemClick(item: TuiDay): void {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport type {TuiMonthLike, TuiYear} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {TuiMonthPipe} from '@taiga-ui/core/pipes';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-spin',\n imports: [TuiSpinButton, TuiLink, TuiMonthPipe, NgIf, AsyncPipe],\n templateUrl: './calendar-spin.template.html',\n styleUrls: ['./calendar-spin.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSpin {\n @Input()\n public value = TuiMonth.currentLocal();\n\n @Input()\n public min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly yearClick = new EventEmitter<TuiYear>();\n\n protected onYearClick(): void {\n this.yearClick.next(this.value);\n }\n\n protected append(date: TuiMonthLike): void {\n const value = this.value.append(date);\n\n if (this.min.monthSameOrAfter(value)) {\n this.updateValue(this.min);\n } else {\n this.updateValue(this.max.monthSameOrBefore(value) ? this.max : value);\n }\n }\n\n private updateValue(value: TuiMonth): void {\n if (this.value.monthSame(value)) {\n return;\n }\n\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n <ng-container *ngIf=\"min.year === max.year; else button\">\n {{ value.formattedYear }}\n </ng-container>\n <ng-template #button>\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n </ng-template>\n</tui-spin-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {\n MAX_YEAR,\n MIN_YEAR,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\nimport type {TuiRangeState} from '@taiga-ui/core/types';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-year',\n imports: [TuiHovered, TuiRepeatTimes, TuiLet, TuiScrollIntoView],\n templateUrl: './calendar-year.template.html',\n styleUrls: ['./calendar-year.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarYear {\n private hoveredItem: number | null = null;\n private readonly currentYear = TuiMonth.currentLocal().year;\n\n @Input()\n public value:\n | TuiDayRange\n | TuiMonthRange\n | TuiYear\n | number\n | readonly TuiDay[]\n | null = null;\n\n @Input()\n public initialItem: number = this.currentYear;\n\n @Input()\n public min: number | null = MIN_YEAR;\n\n @Input()\n public max: number | null = MAX_YEAR;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<number> = TUI_FALSE_HANDLER;\n\n @Output()\n public readonly yearClick = new EventEmitter<number>();\n\n public isDisabled(item: number): boolean {\n return (\n (this.max && this.max < item) ||\n (this.min && this.min > item) ||\n this.disabledItemHandler(item)\n );\n }\n\n public getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? 'single' : null;\n }\n\n if (tuiIsNumber(value)) {\n return value === item ? 'single' : null;\n }\n\n if (!(value instanceof TuiMonthRange)) {\n return value.find(day => day.year === item) ? 'single' : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return 'start';\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return 'end';\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? 'single'\n : null;\n }\n\n public itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (!this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return tuiInRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n public onItemHovered(hovered: boolean, item: number): void {\n this.updateHoveredItem(hovered, item);\n }\n\n @HostBinding('class._single')\n protected get isSingle(): boolean {\n return this.isRange(this.value) && this.value.from.yearSame(this.value.to);\n }\n\n protected get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n protected isRange(\n item: TuiMonthRange | TuiYear | number | readonly TuiDay[] | null,\n ): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n protected scrollItemIntoView(item: number): boolean {\n return this.initialItem === item;\n }\n\n protected getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n protected itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n private get calculatedMin(): number {\n const initial = this.initialItem - LIMIT;\n const min = this.min ?? MIN_YEAR;\n\n return min > initial ? min : initial;\n }\n\n private get calculatedMax(): number {\n const initial = this.initialItem + LIMIT;\n const max = this.max ?? MAX_YEAR;\n\n return max < initial ? max + 1 : initial;\n }\n\n private updateHoveredItem(hovered: boolean, item: number): void {\n this.hoveredItem = hovered ? item : null;\n }\n}\n","<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\n\nimport type {TuiMarkerHandler} from './calendar-sheet.component';\nimport {TuiCalendarSheet} from './calendar-sheet.component';\nimport {TuiCalendarSpin} from './calendar-spin.component';\nimport {TuiCalendarYear} from './calendar-year.component';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar',\n imports: [\n NgIf,\n TuiScrollbar,\n TuiCalendarYear,\n TuiCalendarSpin,\n TuiCalendarSheet,\n TuiMapperPipe,\n ],\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendar {\n private day: TuiDay | TuiDayRange | readonly TuiDay[] | null = null;\n\n private view: 'month' | 'year' = 'month';\n\n @Input()\n public month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minViewedMonth: TuiMonth | null = TUI_FIRST_DAY;\n\n @Input()\n public maxViewedMonth: TuiMonth | null = TUI_LAST_DAY;\n\n @Input()\n public hoveredItem: TuiDay | null = null;\n\n @Input()\n public showAdjacent = true;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Output()\n public readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n public readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Input()\n public set value(value: TuiDay | TuiDayRange | readonly TuiDay[] | null) {\n this.day = value;\n\n if (this.showAdjacent && value instanceof TuiDay) {\n this.month = value;\n }\n }\n\n @Input()\n public set initialView(view: 'month' | 'year') {\n this.view = view;\n }\n\n public get value(): TuiDay | TuiDayRange | readonly TuiDay[] | null {\n return this.day;\n }\n\n public onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n public onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n public onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n protected get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n protected get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n protected get computedMinViewedMonth(): TuiMonth {\n const min = this.computedMin;\n const minViewed = this.minViewedMonth ?? TUI_FIRST_DAY;\n\n return minViewed.monthSameOrAfter(min) ? minViewed : min;\n }\n\n protected get computedMaxViewedMonth(): TuiMonth {\n const max = this.computedMax;\n const maxViewed = this.maxViewedMonth ?? TUI_LAST_DAY;\n\n return maxViewed.monthSameOrBefore(max) ? maxViewed : max;\n }\n\n protected get isInYearView(): boolean {\n return this.view === 'year';\n }\n\n protected readonly disabledItemHandlerMapper: TuiMapper<\n [TuiBooleanHandler<TuiDay>, TuiDay, TuiDay],\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min, max) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n protected onPaginationYearClick(): void {\n this.view = 'year';\n }\n\n protected onPickerYearClick(year: number): void {\n this.view = 'month';\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<tui-scrollbar\n *ngIf=\"isInYearView; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n</ng-template>\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-core-components-calendar.mjs","sources":["../../../projects/core/components/calendar/calendar-sheet.component.ts","../../../projects/core/components/calendar/calendar-sheet.template.html","../../../projects/core/components/calendar/calendar-spin.component.ts","../../../projects/core/components/calendar/calendar-spin.template.html","../../../projects/core/components/calendar/calendar-year.component.ts","../../../projects/core/components/calendar/calendar-year.template.html","../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {CommonModule} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiDay, TuiDayRange, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendarSheetPipe, TuiOrderWeekDaysPipe} from '@taiga-ui/core/pipes';\nimport {TUI_DAY_TYPE_HANDLER, TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\nimport type {TuiRangeState} from '@taiga-ui/core/types';\n\nexport type TuiMarkerHandler = TuiHandler<TuiDay, [] | [string, string] | [string]>;\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-sheet',\n imports: [\n CommonModule,\n TuiLet,\n TuiMapperPipe,\n TuiRepeatTimes,\n TuiHovered,\n TuiCalendarSheetPipe,\n TuiOrderWeekDaysPipe,\n ],\n templateUrl: './calendar-sheet.template.html',\n styleUrls: ['./calendar-sheet.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSheet {\n private readonly today = TuiDay.currentLocal();\n\n protected readonly unorderedWeekDays$ = inject(TUI_SHORT_WEEK_DAYS);\n protected readonly dayTypeHandler = inject(TUI_DAY_TYPE_HANDLER);\n\n @Input()\n public month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public value: TuiDay | TuiDayRange | readonly TuiDay[] | null = null;\n\n @Input()\n public hoveredItem: TuiDay | null = null;\n\n @Input()\n public showAdjacent = true;\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n public readonly dayClick = new EventEmitter<TuiDay>();\n\n public itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (!(value instanceof TuiDayRange)) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n public onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n public getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? 'single' : null;\n }\n\n if (!(value instanceof TuiDayRange)) {\n return value.find(day => day.daySame(item)) ? 'single' : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return 'start';\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return 'end';\n }\n\n return value.isSingleDay && value.from.daySame(item) ? 'single' : null;\n }\n\n @HostBinding('class._single')\n protected get isSingleDayRange(): boolean {\n return this.value instanceof TuiDayRange && this.value.isSingleDay;\n }\n\n protected readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n markerHandler: TuiMarkerHandler | null,\n ): [string, string] | [string] | null => {\n if (today || inRange) {\n return null;\n }\n\n const markers = markerHandler?.(day);\n\n return markers?.length ? markers : null;\n };\n\n protected itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n protected itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n protected onItemClick(item: TuiDay): void {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport type {TuiMonthLike, TuiYear} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {TuiMonthPipe} from '@taiga-ui/core/pipes';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-spin',\n imports: [TuiSpinButton, TuiLink, TuiMonthPipe, NgIf, AsyncPipe],\n templateUrl: './calendar-spin.template.html',\n styleUrls: ['./calendar-spin.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSpin {\n @Input()\n public value = TuiMonth.currentLocal();\n\n @Input()\n public min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n public readonly valueChange = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly yearClick = new EventEmitter<TuiYear>();\n\n protected onYearClick(): void {\n this.yearClick.next(this.value);\n }\n\n protected append(date: TuiMonthLike): void {\n const value = this.value.append(date);\n\n if (this.min.monthSameOrAfter(value)) {\n this.updateValue(this.min);\n } else {\n this.updateValue(this.max.monthSameOrBefore(value) ? this.max : value);\n }\n }\n\n private updateValue(value: TuiMonth): void {\n if (this.value.monthSame(value)) {\n return;\n }\n\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value.monthSameOrBefore(min)\"\n [rightDisabled]=\"value.monthSameOrAfter(max)\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ value | tuiMonth | async }}\n <ng-container *ngIf=\"min.year === max.year; else button\">\n {{ value.formattedYear }}\n </ng-container>\n <ng-template #button>\n <button\n id=\"year-btn\"\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n </ng-template>\n</tui-spin-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDay, TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {\n MAX_YEAR,\n MIN_YEAR,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiRepeatTimes} from '@taiga-ui/cdk/directives/repeat-times';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\nimport type {TuiRangeState} from '@taiga-ui/core/types';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n standalone: true,\n selector: 'tui-calendar-year',\n imports: [TuiHovered, TuiRepeatTimes, TuiLet, TuiScrollIntoView],\n templateUrl: './calendar-year.template.html',\n styleUrls: ['./calendar-year.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarYear {\n private hoveredItem: number | null = null;\n private readonly currentYear = TuiMonth.currentLocal().year;\n\n @Input()\n public value:\n | TuiDayRange\n | TuiMonthRange\n | TuiYear\n | number\n | readonly TuiDay[]\n | null = null;\n\n @Input()\n public initialItem: number = this.currentYear;\n\n @Input()\n public min: number | null = MIN_YEAR;\n\n @Input()\n public max: number | null = MAX_YEAR;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<number> = TUI_FALSE_HANDLER;\n\n @Output()\n public readonly yearClick = new EventEmitter<number>();\n\n public isDisabled(item: number): boolean {\n return (\n (this.max && this.max < item) ||\n (this.min && this.min > item) ||\n this.disabledItemHandler(item)\n );\n }\n\n public getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? 'single' : null;\n }\n\n if (tuiIsNumber(value)) {\n return value === item ? 'single' : null;\n }\n\n if (!(value instanceof TuiMonthRange)) {\n return value.find(day => day.year === item) ? 'single' : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return 'start';\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return 'end';\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? 'single'\n : null;\n }\n\n public itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (!this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return tuiInRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n public onItemHovered(hovered: boolean, item: number): void {\n this.updateHoveredItem(hovered, item);\n }\n\n @HostBinding('class._single')\n protected get isSingle(): boolean {\n return this.isRange(this.value) && this.value.from.yearSame(this.value.to);\n }\n\n protected get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n protected isRange(\n item: TuiMonthRange | TuiYear | number | readonly TuiDay[] | null,\n ): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n protected scrollItemIntoView(item: number): boolean {\n return this.initialItem === item;\n }\n\n protected getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n protected itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n private get calculatedMin(): number {\n const initial = this.initialItem - LIMIT;\n const min = this.min ?? MIN_YEAR;\n\n return min > initial ? min : initial;\n }\n\n private get calculatedMax(): number {\n const initial = this.initialItem + LIMIT;\n const max = this.max ?? MAX_YEAR;\n\n return max < initial ? max + 1 : initial;\n }\n\n private updateHoveredItem(hovered: boolean, item: number): void {\n this.hoveredItem = hovered ? item : null;\n }\n}\n","<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport type {TuiDayRange} from '@taiga-ui/cdk/date-time';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiDay, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport type {TuiBooleanHandler, TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\n\nimport type {TuiMarkerHandler} from './calendar-sheet.component';\nimport {TuiCalendarSheet} from './calendar-sheet.component';\nimport {TuiCalendarSpin} from './calendar-spin.component';\nimport {TuiCalendarYear} from './calendar-year.component';\n\n@Component({\n standalone: true,\n selector: 'tui-calendar',\n imports: [\n NgIf,\n TuiScrollbar,\n TuiCalendarYear,\n TuiCalendarSpin,\n TuiCalendarSheet,\n TuiMapperPipe,\n ],\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendar {\n private day: TuiDay | TuiDayRange | readonly TuiDay[] | null = null;\n\n private view: 'month' | 'year' = 'month';\n\n @Input()\n public month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n public max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n public minViewedMonth: TuiMonth | null = TUI_FIRST_DAY;\n\n @Input()\n public maxViewedMonth: TuiMonth | null = TUI_LAST_DAY;\n\n @Input()\n public hoveredItem: TuiDay | null = null;\n\n @Input()\n public showAdjacent = true;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Output()\n public readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n public readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n public readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Input()\n public set value(value: TuiDay | TuiDayRange | readonly TuiDay[] | null) {\n this.day = value;\n\n if (this.showAdjacent && value instanceof TuiDay) {\n this.month = value;\n }\n }\n\n @Input()\n public set initialView(view: 'month' | 'year') {\n this.view = view;\n }\n\n public get value(): TuiDay | TuiDayRange | readonly TuiDay[] | null {\n return this.day;\n }\n\n public onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n public onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n public onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n protected get computedMin(): TuiDay {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n protected get computedMax(): TuiDay {\n return this.max ?? TUI_LAST_DAY;\n }\n\n protected get computedMinViewedMonth(): TuiMonth {\n const min = this.computedMin;\n const minViewed = this.minViewedMonth ?? TUI_FIRST_DAY;\n\n return minViewed.monthSameOrAfter(min) ? minViewed : min;\n }\n\n protected get computedMaxViewedMonth(): TuiMonth {\n const max = this.computedMax;\n const maxViewed = this.maxViewedMonth ?? TUI_LAST_DAY;\n\n return maxViewed.monthSameOrBefore(max) ? maxViewed : max;\n }\n\n protected get isInYearView(): boolean {\n return this.view === 'year';\n }\n\n protected readonly disabledItemHandlerMapper: TuiMapper<\n [TuiBooleanHandler<TuiDay>, TuiDay, TuiDay],\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min, max) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n protected onPaginationYearClick(): void {\n this.view = 'year';\n }\n\n protected onPickerYearClick(year: number): void {\n this.view = 'month';\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<tui-scrollbar\n *ngIf=\"isInYearView; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month.year\"\n [max]=\"computedMax.year\"\n [min]=\"computedMin.year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth\"\n [min]=\"computedMinViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick()\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerMapper : computedMin : computedMax\"\n [hoveredItem]=\"hoveredItem\"\n [markerHandler]=\"markerHandler\"\n [month]=\"month\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ class TuiRoot {
31
31
  inject(DOCUMENT).defaultView?.document.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
32
32
  }
33
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.0.0-rc.1" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "class._mobile": "isMobileRes()" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdownsComponent, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.0.0-rc.2" }, listeners: { "touchstart.passive.silent": "0" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "class._mobile": "isMobileRes()" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: TuiDropdownsComponent, selector: "tui-dropdowns" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
35
35
  }
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
37
37
  type: Component,
@@ -52,7 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
52
52
  '[class._mobile]': 'isMobileRes()',
53
53
  // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
54
54
  '(touchstart.passive.silent)': '0',
55
- }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
55
+ }, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html[data-tui-theme],.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html[data-tui-theme]::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html[data-tui-theme]::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;-webkit-tap-highlight-color:transparent}tui-root:before{position:fixed;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-background-base)}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate;transform:translateY(var(--t-root-top))}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
56
56
  }], ctorParameters: function () { return []; } });
57
57
 
58
58
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {AsyncPipe, DOCUMENT, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_ANDROID, TUI_IS_IOS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiAlerts} from '@taiga-ui/core/components/alert';\nimport {TUI_DIALOGS, TuiDialogs} from '@taiga-ui/core/components/dialog';\nimport {TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {TuiDropdownsComponent} from '@taiga-ui/core/directives';\nimport {TuiHints} from '@taiga-ui/core/directives/hint';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATIONS_SPEED, TUI_REDUCED_MOTION, TUI_THEME} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils';\nimport type {Observable} from 'rxjs';\nimport {debounceTime, map, of} from 'rxjs';\n\n@Component({\n standalone: true,\n selector: 'tui-root',\n imports: [\n NgIf,\n AsyncPipe,\n TuiDropdownsComponent,\n TuiDialogs,\n TuiAlerts,\n TuiHints,\n TuiScrollControls,\n ],\n templateUrl: './root.template.html',\n styleUrls: ['./root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '[class._ios]': 'isIOS',\n '[class._android]': 'isAndroid',\n '[class._reduced-motion]': 'reducedMotion',\n '[class._mobile]': 'isMobileRes()',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.silent)': '0',\n },\n})\nexport class TuiRoot {\n private readonly dialogs$ = inject<Observable<readonly unknown[]>>(TUI_DIALOGS);\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly breakpoint = inject(TuiBreakpointService);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly isAndroid = inject(TUI_IS_ANDROID);\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n\n protected readonly isMobileRes = toSignal(\n this.breakpoint.pipe(\n map(breakpoint => breakpoint === 'mobile'),\n tuiWatch(inject(ChangeDetectorRef)),\n ),\n );\n\n protected readonly scrollbars$: Observable<boolean> = this.isMobile\n ? of(false)\n : this.dialogs$.pipe(\n map(dialogs => !dialogs.length),\n debounceTime(0),\n );\n\n constructor() {\n inject(DOCUMENT).defaultView?.document.documentElement.setAttribute(\n 'data-tui-theme',\n inject(TUI_THEME).toLowerCase(),\n );\n }\n}\n","<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\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-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {AsyncPipe, DOCUMENT, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_ANDROID, TUI_IS_IOS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TuiAlerts} from '@taiga-ui/core/components/alert';\nimport {TUI_DIALOGS, TuiDialogs} from '@taiga-ui/core/components/dialog';\nimport {TuiScrollControls} from '@taiga-ui/core/components/scrollbar';\nimport {TuiDropdownsComponent} from '@taiga-ui/core/directives';\nimport {TuiHints} from '@taiga-ui/core/directives/hint';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATIONS_SPEED, TUI_REDUCED_MOTION, TUI_THEME} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils';\nimport type {Observable} from 'rxjs';\nimport {debounceTime, map, of} from 'rxjs';\n\n@Component({\n standalone: true,\n selector: 'tui-root',\n imports: [\n NgIf,\n AsyncPipe,\n TuiDropdownsComponent,\n TuiDialogs,\n TuiAlerts,\n TuiHints,\n TuiScrollControls,\n ],\n templateUrl: './root.template.html',\n styleUrls: ['./root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '[class._ios]': 'isIOS',\n '[class._android]': 'isAndroid',\n '[class._reduced-motion]': 'reducedMotion',\n '[class._mobile]': 'isMobileRes()',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.silent)': '0',\n },\n})\nexport class TuiRoot {\n private readonly dialogs$ = inject<Observable<readonly unknown[]>>(TUI_DIALOGS);\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly breakpoint = inject(TuiBreakpointService);\n\n protected readonly isIOS = inject(TUI_IS_IOS);\n protected readonly isAndroid = inject(TUI_IS_ANDROID);\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n\n protected readonly isMobileRes = toSignal(\n this.breakpoint.pipe(\n map(breakpoint => breakpoint === 'mobile'),\n tuiWatch(inject(ChangeDetectorRef)),\n ),\n );\n\n protected readonly scrollbars$: Observable<boolean> = this.isMobile\n ? of(false)\n : this.dialogs$.pipe(\n map(dialogs => !dialogs.length),\n debounceTime(0),\n );\n\n constructor() {\n inject(DOCUMENT).defaultView?.document.documentElement.setAttribute(\n 'data-tui-theme',\n inject(TUI_THEME).toLowerCase(),\n );\n }\n}\n","<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n/>\n<tui-dropdowns>\n <div class=\"t-root-content\">\n <ng-content />\n </div>\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n</tui-dropdowns>\n<ng-content select=\"tuiOverDropdowns\" />\n<tui-hints />\n<ng-content select=\"tuiOverHints\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import * as i2 from '@taiga-ui/core/directives/dropdown';
21
21
  import { TuiDropdownOpen, tuiDropdownOptionsProvider, TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
22
22
  import * as i4 from '@taiga-ui/core/directives/icons';
23
23
  import { TuiIcons } from '@taiga-ui/core/directives/icons';
24
+ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
24
25
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
25
26
  import { AbstractTuiController } from '@taiga-ui/cdk/classes';
26
27
 
@@ -72,6 +73,7 @@ class TuiTextfieldComponent {
72
73
  this.change$ = inject(TuiTextfieldOptionsDirective, { optional: true })
73
74
  ?.change$;
74
75
  this.options = inject(TUI_TEXTFIELD_OPTIONS);
76
+ this.icons = inject(TUI_COMMON_ICONS);
75
77
  this.control = inject(NgControl, { optional: true });
76
78
  this.filler = '';
77
79
  this.stringify = String;
@@ -111,7 +113,7 @@ class TuiTextfieldComponent {
111
113
  tuiAsDataListHost(TuiTextfieldComponent),
112
114
  tuiAppearanceOptionsProvider(TUI_TEXTFIELD_OPTIONS),
113
115
  tuiDropdownOptionsProvider({ limitWidth: 'fixed' }),
114
- ], queries: [{ propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }, { propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: TuiLabel, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithDataList }, { directive: i2.TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open"], outputs: ["tuiDropdownOpenChange", "openChange"] }, { directive: i4.TuiIcons, inputs: ["iconLeft", "iconLeft", "iconRight", "iconRight"] }], ngImport: i0, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n iconLeft=\"@tui.x\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ResizeObserverDirective, selector: "[waResizeObserver]", outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
116
+ ], queries: [{ propertyName: "el", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true, read: ElementRef }, { propertyName: "directive", first: true, predicate: i0.forwardRef(function () { return TuiTextfieldDirective; }), descendants: true }, { propertyName: "label", first: true, predicate: TuiLabel, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiNativeValidator }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithDataList }, { directive: i2.TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open"], outputs: ["tuiDropdownOpenChange", "openChange"] }, { directive: i4.TuiIcons, inputs: ["iconLeft", "iconLeft", "iconRight", "iconRight"] }], ngImport: i0, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n [iconLeft]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: ResizeObserverDirective, selector: "[waResizeObserver]", outputs: ["waResizeObserver"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
117
  }
116
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
117
119
  type: Component,
@@ -137,7 +139,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
137
139
  '[attr.data-size]': 'options.size',
138
140
  '[class._with-label]': 'hasLabel',
139
141
  '[class._disabled]': 'input.disabled',
140
- }, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n iconLeft=\"@tui.x\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"] }]
142
+ }, template: "<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n [iconLeft]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n", styles: [":host{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--t-left: 0rem;--t-right: 0rem;position:relative;display:flex;align-items:center;pointer-events:none;cursor:pointer;height:var(--t-height);color:var(--tui-text-tertiary)}:host[data-size=s]{--t-height: var(--tui-height-s);padding:0 var(--tui-padding-s);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=s]._icon-left{--t-left: 1.25rem}:host[data-size=s]._icon-right{--t-right: 1.25rem}:host[data-size=s]:before{margin-inline-start:-.25rem;margin-inline-end:.5rem;font-size:1rem}:host[data-size=s]:after{margin-inline-end:-.175rem;margin-inline-start:.25rem;font-size:1rem}:host[data-size=s] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=s] .t-content{gap:0}:host[data-size=m]{--t-height: var(--tui-height-m);padding:0 var(--tui-padding-m);border-radius:var(--tui-radius-m);font:var(--tui-font-text-s)}:host[data-size=m]._icon-left{--t-left: 1.75rem}:host[data-size=m]._icon-right{--t-right: 1.75rem}:host[data-size=m]:before{margin-inline-start:-.125rem;margin-inline-end:.375rem}:host[data-size=m]:after{margin-inline-start:.375rem;margin-inline-end:-.125rem}:host[data-size=m] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-s)}:host[data-size=l]{--t-height: var(--tui-height-l);padding:0 var(--tui-padding-l);border-radius:var(--tui-radius-l);font:var(--tui-font-text-m)}:host[data-size=l]._icon-left{--t-left: 2.25rem}:host[data-size=l]._icon-right{--t-right: 2.25rem}:host[data-size=l]:before{margin-inline-end:.75rem}:host[data-size=l]:after{margin-inline-start:.25rem}:host[data-size=l] ::ng-deep [tuiTextfield]{font:var(--tui-font-text-m)}:host:hover{color:var(--tui-text-secondary)}:host:before{z-index:1}:host._disabled:before,:host._disabled:after,:host._disabled .t-template{opacity:var(--tui-disabled-opacity)}:host._with-label .t-template,:host._with-label ::ng-deep [tuiTextfield]{padding-top:calc(var(--t-height) / 3)}:host._with-label .t-template::placeholder,:host._with-label ::ng-deep [tuiTextfield]::placeholder,:host._with-label .t-template._empty,:host._with-label ::ng-deep [tuiTextfield]._empty{color:transparent}:host .t-template,:host ::ng-deep [tuiTextfield]{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-appearance:none;appearance:none;box-sizing:border-box;border:none;border-inline-start:var(--t-left) solid transparent;border-inline-end:calc(var(--t-right) + var(--t-side)) solid transparent;border-radius:inherit;padding:inherit}:host ::ng-deep [tuiTextfield]{pointer-events:auto;background:transparent no-repeat center right 1rem / 2rem;background-clip:border-box,padding-box}:host ::ng-deep [tuiTextfield]:read-only~.t-filler{display:none}:host ::ng-deep [tuiTextfield]:disabled~label,:host ::ng-deep [tuiTextfield]:disabled~.t-content{opacity:var(--tui-disabled-opacity)}:host ::ng-deep [tuiTextfield]:disabled~label [tuiTooltip],:host ::ng-deep [tuiTextfield]:disabled~.t-content [tuiTooltip]{display:none}:host ::ng-deep [tuiTextfield]:not(._empty)~label{font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled)[data-mode=invalid]~label,:host ::ng-deep [tuiTextfield]:not(._empty):invalid:not(:disabled):not([data-mode])~label{color:var(--tui-status-negative)}:host ::ng-deep [tuiTextfield]:not(._empty):not(:disabled):not([data-mode=readonly])~.t-content .t-clear{display:flex}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly]):focus-visible:not([data-focus=false])~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]::placeholder,:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]._empty{color:var(--tui-text-tertiary)}:host ::ng-deep [tuiTextfield]:not([data-mode=readonly])[data-focus=true]~label{color:var(--tui-text-primary)!important;font-size:.83em;transform:translateY(-.7em)}:host ::ng-deep label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;display:block;flex:1;font-size:inherit}:host ::ng-deep label,:host ::ng-deep input::placeholder,:host ::ng-deep select._empty{color:var(--tui-text-secondary)}:host ::ng-deep select:not([data-mode=readonly]){cursor:pointer}@supports (-webkit-touch-callout: none){:host ::ng-deep [tuiTextfield]:active{font-size:1rem}:host ::ng-deep [tuiTextfield]._ios-fix{position:fixed;left:1000rem}}.t-content{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto}.t-clear{display:none;pointer-events:auto}.t-filler{pointer-events:none;background:none;color:var(--tui-text-tertiary);opacity:1}\n"] }]
141
143
  }], propDecorators: { el: [{
142
144
  type: ContentChild,
143
145
  args: [forwardRef(() => TuiTextfieldDirective), { read: ElementRef }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/select.directive.ts","../../../projects/core/components/textfield/select.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {AbstractTuiController} from '@taiga-ui/cdk/classes';\nimport {\n tuiCreateToken,\n tuiProvide,\n tuiProvideOptions,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiTextfieldOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n readonly cleaner: boolean;\n}\n\nexport const TUI_TEXTFIELD_DEFAULT_OPTIONS: TuiTextfieldOptions = {\n appearance: 'textfield',\n size: 'l',\n cleaner: true,\n};\n\nexport const TUI_TEXTFIELD_OPTIONS = tuiCreateToken(TUI_TEXTFIELD_DEFAULT_OPTIONS);\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_TEXTFIELD_OPTIONS,\n options,\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n );\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective\n extends AbstractTuiController\n implements TuiTextfieldOptions\n{\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n @Input('tuiTextfieldAppearance')\n public appearance = this.options.appearance;\n\n @Input('tuiTextfieldSize')\n public size = this.options.size;\n\n @Input('tuiTextfieldCleaner')\n public cleaner = this.options.cleaner;\n}\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {ResizeObserverDirective} from '@ng-web-apis/resize-observer';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport type {TuiContext, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost, TuiWithDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {tuiAppearanceOptionsProvider} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiDropdownDirective,\n TuiDropdownOpen,\n tuiDropdownOptionsProvider,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective} from './textfield.options';\n\nexport interface TuiTextfieldContext<T> extends TuiContext<T> {\n readonly active: boolean;\n}\n\n@Component({\n standalone: true,\n selector: 'tui-textfield',\n imports: [NgIf, AsyncPipe, ResizeObserverDirective, TuiButton, PolymorpheusOutlet],\n templateUrl: './textfield.template.html',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiTextfieldComponent),\n tuiAppearanceOptionsProvider(TUI_TEXTFIELD_OPTIONS),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n TuiDropdownDirective,\n TuiWithDataList,\n {\n directive: TuiDropdownOpen,\n inputs: ['tuiDropdownOpen: open'],\n outputs: ['tuiDropdownOpenChange: openChange'],\n },\n {\n directive: TuiIcons,\n inputs: ['iconLeft', 'iconRight'],\n },\n ],\n host: {\n '[style.--t-side.px]': 'side',\n '[attr.data-size]': 'options.size',\n '[class._with-label]': 'hasLabel',\n '[class._disabled]': 'input.disabled',\n },\n})\nexport class TuiTextfieldComponent<T> implements TuiDataListHost<T> {\n @ContentChild(forwardRef(() => TuiTextfieldDirective), {read: ElementRef})\n private readonly el?: ElementRef<HTMLInputElement>;\n\n private readonly dropdown = inject(TuiDropdownOpen, {\n optional: true,\n self: true,\n });\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective))\n protected readonly directive?: TuiTextfieldDirective;\n\n @ContentChild(TuiLabel, {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n protected side = 0;\n protected readonly change$ = inject(TuiTextfieldOptionsDirective, {optional: true})\n ?.change$;\n\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly control = inject(NgControl, {optional: true});\n\n @Input()\n public filler = '';\n\n @Input()\n public stringify: TuiStringHandler<T> = String;\n\n @Input()\n public content: PolymorpheusContent<TuiTextfieldContext<T>>;\n\n public get input(): HTMLInputElement {\n if (!this.el) {\n throw new Error('[tuiTextfield] component is required');\n }\n\n return this.el.nativeElement;\n }\n\n public get id(): string {\n return this.el?.nativeElement.id || '';\n }\n\n // TODO: Do not change to `this.input`, will be refactored\n public get focused(): boolean {\n return !!this.dropdown?.dropdown || tuiIsNativeFocused(this.el?.nativeElement);\n }\n\n public handleOption(option: T): void {\n this.directive?.setValue(this.stringify(option));\n this.dropdown?.toggle(false);\n }\n\n protected get computedFiller(): string {\n const value = this.input.value || '';\n const filler = value + this.filler.slice(value.length);\n\n return filler.length > value.length ? filler : '';\n }\n\n protected get showFiller(): boolean {\n return (\n this.focused &&\n !!this.computedFiller &&\n (!!this.input.value || !this.input.placeholder)\n );\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n}\n","<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n iconLeft=\"@tui.x\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n","import type {DoCheck} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport type {TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiTextfield]',\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[readOnly]': 'readOnly',\n '[class._empty]': 'el.value === \"\"',\n '[attr.data-mode]': 'mode',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldDirective implements DoCheck {\n private readonly appearance = inject(TuiAppearance);\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly id = inject(TuiIdService).generate();\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid: boolean | null = null;\n\n @Input()\n public focused: boolean | null = null;\n\n @Input()\n public state: TuiInteractiveState | null = null;\n\n public get mode(): string | null {\n if (this.readOnly) {\n return 'readonly';\n }\n\n if (this.invalid === false) {\n return 'valid';\n }\n\n if (this.invalid) {\n return 'invalid';\n }\n\n return null;\n }\n\n public ngDoCheck(): void {\n this.appearance.tuiAppearance = this.options.appearance;\n this.appearance.tuiAppearanceFocus = this.focused ?? this.textfield.focused;\n this.appearance.tuiAppearanceState = this.state;\n }\n\n public setValue(value: string): void {\n this.el.value = value;\n this.el.dispatchEvent(new Event('input'));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\n\n@Component({\n standalone: true,\n selector: 'select[tuiTextfield]',\n imports: [CommonModule],\n templateUrl: './select.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiTextfieldDirective, TuiSelect)],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '(keydown.space.prevent)': '0',\n '(keydown.enter.prevent)': '0',\n '(keydown.backspace)': 'setValue(\"\")',\n '(mousedown.prevent)': 'focus()',\n '(keydown.control.c)': 'onCopy()',\n '(keydown.meta.c)': 'onCopy()',\n },\n})\nexport class TuiSelect extends TuiTextfieldDirective {\n private readonly nav = inject(NAVIGATOR);\n private readonly control = inject(NgControl);\n\n @Input()\n public placeholder = '';\n\n public override setValue(value: string): void {\n this.control.control?.setValue(value);\n }\n\n public focus(): void {\n this.el.classList.add('_ios-fix');\n this.el.focus();\n this.el.classList.remove('_ios-fix');\n }\n\n protected get value(): string {\n return this.textfield.stringify(this.control.value);\n }\n\n protected async onCopy(): Promise<void> {\n await this.nav.clipboard.writeText(this.el.value);\n }\n}\n","<option\n *ngIf=\"placeholder && !value; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [value]\"\n selected\n >\n {{ item }}\n </option>\n</ng-template>\n","import {TuiLabel} from '@taiga-ui/core/components/label';\n\nimport {TuiSelect} from './select.directive';\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\n\nexport const TuiTextfield = [\n TuiLabel,\n TuiSelect,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgBa,MAAA,6BAA6B,GAAwB;AAC9D,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,OAAO,EAAE,IAAI;EACf;MAEW,qBAAqB,GAAG,cAAc,CAAC,6BAA6B,EAAE;AAE7E,SAAU,2BAA2B,CACvC,OAAqC,EAAA;IAErC,OAAO,iBAAiB,CACpB,qBAAqB,EACrB,OAAO,EACP,6BAA6B,CAChC,CAAC;AACN,CAAC;AAED,MAKa,4BACT,SAAQ,qBAAqB,CAAA;AANjC,IAAA,WAAA,GAAA;;QASqB,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;AAGpE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AAGrC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAGzB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,KAAA;+GAdY,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mEAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,wBAAA,EAAA,YAAA,CAAA,EAAA,IAAA,EAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAF1B,CAAC,UAAU,CAAC,qBAAqB,EAAE,4BAA4B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAEnE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,mEAAmE;AAC7E,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,qBAAqB,+BAA+B,CAAC;AAC/E,iBAAA,CAAA;8BAQU,UAAU,EAAA,CAAA;sBADhB,KAAK;uBAAC,wBAAwB,CAAA;gBAIxB,IAAI,EAAA,CAAA;sBADV,KAAK;uBAAC,kBAAkB,CAAA;gBAIlB,OAAO,EAAA,CAAA;sBADb,KAAK;uBAAC,qBAAqB,CAAA;;;ACfhC,MAiCa,qBAAqB,CAAA;AAjClC,IAAA,WAAA,GAAA;AAqCqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE;AAChD,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,IAAI,EAAE,IAAI;AACb,SAAA,CAAC,CAAC;QAQO,IAAI,CAAA,IAAA,GAAG,CAAC,CAAC;QACA,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC/E,cAAE,OAAO,CAAC;AAEK,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACxC,IAAO,CAAA,OAAA,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAG1D,IAAM,CAAA,MAAA,GAAG,EAAE,CAAC;QAGZ,IAAS,CAAA,SAAA,GAAwB,MAAM,CAAC;AA6ClD,KAAA;AAxCG,IAAA,IAAW,KAAK,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC3D,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;KAChC;AAED,IAAA,IAAW,EAAE,GAAA;QACT,OAAO,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;KAC1C;;AAGD,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;KAClF;AAEM,IAAA,YAAY,CAAC,MAAS,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAChC;AAED,IAAA,IAAc,cAAc,GAAA;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;AACrC,QAAA,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAEvD,QAAA,OAAO,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC;KACrD;AAED,IAAA,IAAc,UAAU,GAAA;QACpB,QACI,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAC,cAAc;AACrB,aAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EACjD;KACL;AAED,IAAA,IAAc,QAAQ,GAAA;AAClB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;KAChE;+GAtEQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EA1BnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,iBAAiB,CAAC,qBAAqB,CAAC;YACxC,4BAA4B,CAAC,qBAAqB,CAAC;AACnD,YAAA,0BAA0B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC;SACpD,EAuB8B,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAAA,qBAAqB,+BAAU,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OAQzC,qBAAqB,CAGtC,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,QAAQ,2BAAS,UAAU,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,eAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjF7C,o8BAkCA,EDKc,MAAA,EAAA,CAAA,66JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,wFAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,uBAAuB,EAAE,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,oIAAE,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FA8BxE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAjCjC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,eAAe,EAAA,OAAA,EAChB,CAAC,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,SAAS,EAAE,kBAAkB,CAAC,mBAGjE,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,iBAAiB,CAAuB,qBAAA,CAAA;wBACxC,4BAA4B,CAAC,qBAAqB,CAAC;AACnD,wBAAA,0BAA0B,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC;qBACpD,EACe,cAAA,EAAA;wBACZ,kBAAkB;wBAClB,oBAAoB;wBACpB,eAAe;AACf,wBAAA;AACI,4BAAA,SAAS,EAAE,eAAe;4BAC1B,MAAM,EAAE,CAAC,uBAAuB,CAAC;4BACjC,OAAO,EAAE,CAAC,mCAAmC,CAAC;AACjD,yBAAA;AACD,wBAAA;AACI,4BAAA,SAAS,EAAE,QAAQ;AACnB,4BAAA,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;AACpC,yBAAA;qBACJ,EACK,IAAA,EAAA;AACF,wBAAA,qBAAqB,EAAE,MAAM;AAC7B,wBAAA,kBAAkB,EAAE,cAAc;AAClC,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,mBAAmB,EAAE,gBAAgB;AACxC,qBAAA,EAAA,QAAA,EAAA,o8BAAA,EAAA,MAAA,EAAA,CAAA,66JAAA,CAAA,EAAA,CAAA;8BAIgB,EAAE,EAAA,CAAA;sBADlB,YAAY;uBAAC,UAAU,CAAC,MAAM,qBAAqB,CAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAStD,SAAS,EAAA,CAAA;sBAD3B,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,qBAAqB,CAAC,CAAA;gBAIlC,KAAK,EAAA,CAAA;sBADvB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;gBAWnC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;;;AEtFV,MAca,qBAAqB,CAAA;AAdlC,IAAA,WAAA,GAAA;AAeqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC1C,IAAE,CAAA,EAAA,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAoB,CAAC;QAGtD,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QAGjB,IAAO,CAAA,OAAA,GAAmB,IAAI,CAAC;QAG/B,IAAO,CAAA,OAAA,GAAmB,IAAI,CAAC;QAG/B,IAAK,CAAA,KAAA,GAA+B,IAAI,CAAC;AA4BnD,KAAA;AA1BG,IAAA,IAAW,IAAI,GAAA;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;QAED,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,OAAO,SAAS,CAAC;AACpB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,SAAS,GAAA;QACZ,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC;KACnD;AAEM,IAAA,QAAQ,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;KAC7C;+GA7CQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,GAAA,EAAA,SAAA,EAAA,GAAA,EAAA,UAAA,EAAA,GAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,cAAc,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC;AACnD,oBAAA,IAAI,EAAE;AACF,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,YAAY,EAAE,UAAU;AACxB,wBAAA,gBAAgB,EAAE,iBAAiB;AACnC,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,SAAS,EAAE,GAAG;AACd,wBAAA,WAAW,EAAE,GAAG;AAChB,wBAAA,YAAY,EAAE,GAAG;AACpB,qBAAA;AACJ,iBAAA,CAAA;8BAUU,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;;;AChCV,MAkBa,SAAU,SAAQ,qBAAqB,CAAA;AAlBpD,IAAA,WAAA,GAAA;;AAmBqB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAGtC,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAmB3B,KAAA;AAjBmB,IAAA,QAAQ,CAAC,KAAa,EAAA;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;KACzC;IAEM,KAAK,GAAA;QACR,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACxC;AAED,IAAA,IAAc,KAAK,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACvD;AAES,IAAA,MAAM,MAAM,GAAA;AAClB,QAAA,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KACrD;+GAvBQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,EAZP,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,uBAAA,EAAA,GAAA,EAAA,uBAAA,EAAA,GAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB7D,0SAgBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDHc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAeb,SAAS,EAAA,UAAA,EAAA,CAAA;kBAlBrB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,sBAAsB,EACvB,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,eAAA,EAEN,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,UAAU,CAAC,qBAAqB,EAAA,SAAA,CAAY,CAAC,EAAA,cAAA,EACzC,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAC7C,IAAA,EAAA;AACF,wBAAA,MAAM,EAAE,aAAa;AACrB,wBAAA,yBAAyB,EAAE,GAAG;AAC9B,wBAAA,yBAAyB,EAAE,GAAG;AAC9B,wBAAA,qBAAqB,EAAE,cAAc;AACrC,wBAAA,qBAAqB,EAAE,SAAS;AAChC,wBAAA,qBAAqB,EAAE,UAAU;AACjC,wBAAA,kBAAkB,EAAE,UAAU;AACjC,qBAAA,EAAA,QAAA,EAAA,0SAAA,EAAA,CAAA;8BAOM,WAAW,EAAA,CAAA;sBADjB,KAAK;;;AEzBG,MAAA,YAAY,GAAG;IACxB,QAAQ;IACR,SAAS;IACT,qBAAqB;IACrB,qBAAqB;IACrB,4BAA4B;;;ACZhC;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-textfield.mjs","sources":["../../../projects/core/components/textfield/textfield.options.ts","../../../projects/core/components/textfield/textfield.component.ts","../../../projects/core/components/textfield/textfield.template.html","../../../projects/core/components/textfield/textfield.directive.ts","../../../projects/core/components/textfield/select.directive.ts","../../../projects/core/components/textfield/select.template.html","../../../projects/core/components/textfield/textfield.ts","../../../projects/core/components/textfield/taiga-ui-core-components-textfield.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {AbstractTuiController} from '@taiga-ui/cdk/classes';\nimport {\n tuiCreateToken,\n tuiProvide,\n tuiProvideOptions,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiTextfieldOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeL | TuiSizeS;\n readonly cleaner: boolean;\n}\n\nexport const TUI_TEXTFIELD_DEFAULT_OPTIONS: TuiTextfieldOptions = {\n appearance: 'textfield',\n size: 'l',\n cleaner: true,\n};\n\nexport const TUI_TEXTFIELD_OPTIONS = tuiCreateToken(TUI_TEXTFIELD_DEFAULT_OPTIONS);\n\nexport function tuiTextfieldOptionsProvider(\n options: Partial<TuiTextfieldOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_TEXTFIELD_OPTIONS,\n options,\n TUI_TEXTFIELD_DEFAULT_OPTIONS,\n );\n}\n\n@Directive({\n standalone: true,\n selector: '[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]',\n providers: [tuiProvide(TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective)],\n})\nexport class TuiTextfieldOptionsDirective\n extends AbstractTuiController\n implements TuiTextfieldOptions\n{\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true});\n\n @Input('tuiTextfieldAppearance')\n public appearance = this.options.appearance;\n\n @Input('tuiTextfieldSize')\n public size = this.options.size;\n\n @Input('tuiTextfieldCleaner')\n public cleaner = this.options.cleaner;\n}\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n inject,\n Input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {ResizeObserverDirective} from '@ng-web-apis/resize-observer';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport type {TuiContext, TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost, TuiWithDataList} from '@taiga-ui/core/components/data-list';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {tuiAppearanceOptionsProvider} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiDropdownDirective,\n TuiDropdownOpen,\n tuiDropdownOptionsProvider,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TuiIcons} from '@taiga-ui/core/directives/icons';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective} from './textfield.options';\n\nexport interface TuiTextfieldContext<T> extends TuiContext<T> {\n readonly active: boolean;\n}\n\n@Component({\n standalone: true,\n selector: 'tui-textfield',\n imports: [NgIf, AsyncPipe, ResizeObserverDirective, TuiButton, PolymorpheusOutlet],\n templateUrl: './textfield.template.html',\n styleUrls: ['./textfield.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiTextfieldComponent),\n tuiAppearanceOptionsProvider(TUI_TEXTFIELD_OPTIONS),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n ],\n hostDirectives: [\n TuiNativeValidator,\n TuiDropdownDirective,\n TuiWithDataList,\n {\n directive: TuiDropdownOpen,\n inputs: ['tuiDropdownOpen: open'],\n outputs: ['tuiDropdownOpenChange: openChange'],\n },\n {\n directive: TuiIcons,\n inputs: ['iconLeft', 'iconRight'],\n },\n ],\n host: {\n '[style.--t-side.px]': 'side',\n '[attr.data-size]': 'options.size',\n '[class._with-label]': 'hasLabel',\n '[class._disabled]': 'input.disabled',\n },\n})\nexport class TuiTextfieldComponent<T> implements TuiDataListHost<T> {\n @ContentChild(forwardRef(() => TuiTextfieldDirective), {read: ElementRef})\n private readonly el?: ElementRef<HTMLInputElement>;\n\n private readonly dropdown = inject(TuiDropdownOpen, {\n optional: true,\n self: true,\n });\n\n @ContentChild(forwardRef(() => TuiTextfieldDirective))\n protected readonly directive?: TuiTextfieldDirective;\n\n @ContentChild(TuiLabel, {read: ElementRef})\n protected readonly label?: ElementRef<HTMLElement>;\n\n protected side = 0;\n protected readonly change$ = inject(TuiTextfieldOptionsDirective, {optional: true})\n ?.change$;\n\n protected readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly control = inject(NgControl, {optional: true});\n\n @Input()\n public filler = '';\n\n @Input()\n public stringify: TuiStringHandler<T> = String;\n\n @Input()\n public content: PolymorpheusContent<TuiTextfieldContext<T>>;\n\n public get input(): HTMLInputElement {\n if (!this.el) {\n throw new Error('[tuiTextfield] component is required');\n }\n\n return this.el.nativeElement;\n }\n\n public get id(): string {\n return this.el?.nativeElement.id || '';\n }\n\n // TODO: Do not change to `this.input`, will be refactored\n public get focused(): boolean {\n return !!this.dropdown?.dropdown || tuiIsNativeFocused(this.el?.nativeElement);\n }\n\n public handleOption(option: T): void {\n this.directive?.setValue(this.stringify(option));\n this.dropdown?.toggle(false);\n }\n\n protected get computedFiller(): string {\n const value = this.input.value || '';\n const filler = value + this.filler.slice(value.length);\n\n return filler.length > value.length ? filler : '';\n }\n\n protected get showFiller(): boolean {\n return (\n this.focused &&\n !!this.computedFiller &&\n (!!this.input.value || !this.input.placeholder)\n );\n }\n\n protected get hasLabel(): boolean {\n return Boolean(this.label?.nativeElement?.childNodes.length);\n }\n}\n","<ng-container *ngIf=\"change$ | async\" />\n<ng-content select=\"input\" />\n<ng-content select=\"select\" />\n<ng-content select=\"label\" />\n<span\n class=\"t-content\"\n (waResizeObserver)=\"side = $event[0].contentRect.width\"\n>\n <ng-content />\n <button\n *ngIf=\"options.cleaner\"\n appearance=\"icon\"\n size=\"xs\"\n tabindex=\"-1\"\n tuiIconButton\n class=\"t-clear\"\n [iconLeft]=\"icons.close\"\n (click)=\"directive?.setValue('')\"\n (pointerdown.silent.prevent)=\"input.focus()\"\n ></button>\n <ng-content select=\"[tuiTooltip]\" />\n</span>\n<span class=\"t-template\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: control?.value, active: focused}\">\n {{ text }}\n </ng-container>\n</span>\n<input\n *ngIf=\"showFiller\"\n aria-hidden=\"true\"\n disabled\n class=\"t-filler\"\n [value]=\"computedFiller\"\n/>\n","import type {DoCheck} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport type {TuiInteractiveState} from '@taiga-ui/core/types';\n\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TUI_TEXTFIELD_OPTIONS} from './textfield.options';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiTextfield]',\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '[readOnly]': 'readOnly',\n '[class._empty]': 'el.value === \"\"',\n '[attr.data-mode]': 'mode',\n '(input)': '0',\n '(focusin)': '0',\n '(focusout)': '0',\n },\n})\nexport class TuiTextfieldDirective implements DoCheck {\n private readonly appearance = inject(TuiAppearance);\n private readonly options = inject(TUI_TEXTFIELD_OPTIONS);\n\n protected readonly textfield = inject(TuiTextfieldComponent);\n protected readonly id = inject(TuiIdService).generate();\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n\n @Input()\n public readOnly = false;\n\n @Input()\n public invalid: boolean | null = null;\n\n @Input()\n public focused: boolean | null = null;\n\n @Input()\n public state: TuiInteractiveState | null = null;\n\n public get mode(): string | null {\n if (this.readOnly) {\n return 'readonly';\n }\n\n if (this.invalid === false) {\n return 'valid';\n }\n\n if (this.invalid) {\n return 'invalid';\n }\n\n return null;\n }\n\n public ngDoCheck(): void {\n this.appearance.tuiAppearance = this.options.appearance;\n this.appearance.tuiAppearanceFocus = this.focused ?? this.textfield.focused;\n this.appearance.tuiAppearanceState = this.state;\n }\n\n public setValue(value: string): void {\n this.el.value = value;\n this.el.dispatchEvent(new Event('input'));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, Input} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {NAVIGATOR} from '@ng-web-apis/common';\nimport {TuiNativeValidator} from '@taiga-ui/cdk/directives/native-validator';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\n\nimport {TuiTextfieldDirective} from './textfield.directive';\n\n@Component({\n standalone: true,\n selector: 'select[tuiTextfield]',\n imports: [CommonModule],\n templateUrl: './select.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TuiTextfieldDirective, TuiSelect)],\n hostDirectives: [TuiNativeValidator, TuiAppearance],\n host: {\n '[id]': 'el.id || id',\n '(keydown.space.prevent)': '0',\n '(keydown.enter.prevent)': '0',\n '(keydown.backspace)': 'setValue(\"\")',\n '(mousedown.prevent)': 'focus()',\n '(keydown.control.c)': 'onCopy()',\n '(keydown.meta.c)': 'onCopy()',\n },\n})\nexport class TuiSelect extends TuiTextfieldDirective {\n private readonly nav = inject(NAVIGATOR);\n private readonly control = inject(NgControl);\n\n @Input()\n public placeholder = '';\n\n public override setValue(value: string): void {\n this.control.control?.setValue(value);\n }\n\n public focus(): void {\n this.el.classList.add('_ios-fix');\n this.el.focus();\n this.el.classList.remove('_ios-fix');\n }\n\n protected get value(): string {\n return this.textfield.stringify(this.control.value);\n }\n\n protected async onCopy(): Promise<void> {\n await this.nav.clipboard.writeText(this.el.value);\n }\n}\n","<option\n *ngIf=\"placeholder && !value; else selected\"\n disabled\n selected\n value=\"\"\n>\n {{ placeholder }}\n</option>\n<ng-template #selected>\n <option\n *ngFor=\"let item of [value]\"\n selected\n >\n {{ item }}\n </option>\n</ng-template>\n","import {TuiLabel} from '@taiga-ui/core/components/label';\n\nimport {TuiSelect} from './select.directive';\nimport {TuiTextfieldComponent} from './textfield.component';\nimport {TuiTextfieldDirective} from './textfield.directive';\nimport {TuiTextfieldOptionsDirective} from './textfield.options';\n\nexport const TuiTextfield = [\n TuiLabel,\n TuiSelect,\n TuiTextfieldComponent,\n TuiTextfieldDirective,\n TuiTextfieldOptionsDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3"],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Pipe } from '@angular/core';
3
3
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
4
- import { merge, fromEvent, map, startWith } from 'rxjs';
4
+ import { fromEvent, map, startWith } from 'rxjs';
5
5
 
6
6
  class TuiFallbackSrcPipe {
7
7
  constructor() {
8
8
  this.el = tuiInjectElement();
9
9
  }
10
10
  transform(src, fallback) {
11
- return merge(fromEvent(this.el, 'tui-icon-error'), fromEvent(this.el, 'error', { capture: true })).pipe(map(() => fallback), startWith(src));
11
+ return fromEvent(this.el, 'error', { capture: true }).pipe(map(() => fallback), startWith(src));
12
12
  }
13
13
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFallbackSrcPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
14
14
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiFallbackSrcPipe, isStandalone: true, name: "tuiFallbackSrc" }); }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-pipes-fallback-src.mjs","sources":["../../../projects/core/pipes/fallback-src/fallback-src.pipe.ts","../../../projects/core/pipes/fallback-src/taiga-ui-core-pipes-fallback-src.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {Observable} from 'rxjs';\nimport {fromEvent, map, merge, startWith} from 'rxjs';\n\n@Pipe({\n standalone: true,\n name: 'tuiFallbackSrc',\n})\nexport class TuiFallbackSrcPipe implements PipeTransform {\n private readonly el = tuiInjectElement();\n\n public transform(src: string, fallback: string): Observable<string> {\n return merge(\n fromEvent(this.el, 'tui-icon-error'),\n fromEvent(this.el, 'error', {capture: true}),\n ).pipe(\n map(() => fallback),\n startWith(src),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAIa,kBAAkB,CAAA;AAJ/B,IAAA,WAAA,GAAA;QAKqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAW5C,KAAA;IATU,SAAS,CAAC,GAAW,EAAE,QAAgB,EAAA;AAC1C,QAAA,OAAO,KAAK,CACR,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,EACpC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC,IAAI,CACF,GAAG,CAAC,MAAM,QAAQ,CAAC,EACnB,SAAS,CAAC,GAAG,CAAC,CACjB,CAAC;KACL;+GAXQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,gBAAgB;AACzB,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-pipes-fallback-src.mjs","sources":["../../../projects/core/pipes/fallback-src/fallback-src.pipe.ts","../../../projects/core/pipes/fallback-src/taiga-ui-core-pipes-fallback-src.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {Pipe} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport type {Observable} from 'rxjs';\nimport {fromEvent, map, startWith} from 'rxjs';\n\n@Pipe({\n standalone: true,\n name: 'tuiFallbackSrc',\n})\nexport class TuiFallbackSrcPipe implements PipeTransform {\n private readonly el = tuiInjectElement();\n\n public transform(src: string, fallback: string): Observable<string> {\n return fromEvent(this.el, 'error', {capture: true}).pipe(\n map(() => fallback),\n startWith(src),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAIa,kBAAkB,CAAA;AAJ/B,IAAA,WAAA,GAAA;QAKqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AAQ5C,KAAA;IANU,SAAS,CAAC,GAAW,EAAE,QAAgB,EAAA;AAC1C,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,IAAI,CACpD,GAAG,CAAC,MAAM,QAAQ,CAAC,EACnB,SAAS,CAAC,GAAG,CAAC,CACjB,CAAC;KACL;+GARQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA,EAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,gBAAgB;AACzB,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "4.0.0-rc.1",
3
+ "version": "4.0.0-rc.2",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -14,29 +14,8 @@
14
14
  "homepage": "https://github.com/taiga-family/taiga-ui",
15
15
  "repository": "https://github.com/taiga-family/taiga-ui",
16
16
  "license": "Apache-2.0",
17
- "dependencies": {
18
- "@taiga-ui/i18n": "^4.0.0-rc.1",
19
- "tslib": "^2.6.3"
20
- },
21
- "peerDependencies": {
22
- "@angular/animations": ">=16.0.0",
23
- "@angular/common": ">=16.0.0",
24
- "@angular/core": ">=16.0.0",
25
- "@angular/forms": ">=16.0.0",
26
- "@angular/platform-browser": ">=16.0.0",
27
- "@angular/router": ">=16.0.0",
28
- "@ng-web-apis/common": "^4.0.0",
29
- "@ng-web-apis/mutation-observer": "^4.0.0",
30
- "@taiga-ui/cdk": "^4.0.0-rc.1",
31
- "@taiga-ui/event-plugins": "^4.0.1",
32
- "@taiga-ui/i18n": "^4.0.0-rc.1",
33
- "@taiga-ui/polymorpheus": "^4.6.3",
34
- "rxjs": ">=7.0.0"
35
- },
36
- "schematics": "./schematics/collection.json",
37
- "module": "fesm2022/taiga-ui-core.mjs",
38
- "typings": "index.d.ts",
39
17
  "exports": {
18
+ "./styles/*": "./styles/*",
40
19
  "./package.json": {
41
20
  "default": "./package.json"
42
21
  },
@@ -329,5 +308,27 @@
329
308
  "default": "./fesm2022/taiga-ui-core-utils-miscellaneous.mjs"
330
309
  }
331
310
  },
311
+ "dependencies": {
312
+ "@taiga-ui/i18n": "^4.0.0-rc.2",
313
+ "tslib": "^2.6.3"
314
+ },
315
+ "peerDependencies": {
316
+ "@angular/animations": ">=16.0.0",
317
+ "@angular/common": ">=16.0.0",
318
+ "@angular/core": ">=16.0.0",
319
+ "@angular/forms": ">=16.0.0",
320
+ "@angular/platform-browser": ">=16.0.0",
321
+ "@angular/router": ">=16.0.0",
322
+ "@ng-web-apis/common": "^4.0.0",
323
+ "@ng-web-apis/mutation-observer": "^4.0.0",
324
+ "@taiga-ui/cdk": "^4.0.0-rc.2",
325
+ "@taiga-ui/event-plugins": "^4.0.1",
326
+ "@taiga-ui/i18n": "^4.0.0-rc.2",
327
+ "@taiga-ui/polymorpheus": "^4.6.3",
328
+ "rxjs": ">=7.0.0"
329
+ },
330
+ "schematics": "./schematics/collection.json",
331
+ "module": "fesm2022/taiga-ui-core.mjs",
332
+ "typings": "index.d.ts",
332
333
  "sideEffects": false
333
334
  }
@@ -1,8 +1,3 @@
1
- /**
2
- * @deprecated remove in 4.0
3
- */
4
- @space: 0.25rem;
5
-
6
1
  @import 'mixins/browsers.less';
7
2
  @import 'mixins/mixins.less';
8
3
  @import 'mixins/picker.less';
@@ -1,6 +1,6 @@
1
1
  @font-fallback: -apple-system, 'BlinkMacSystemFont', system-ui, 'Roboto', 'Segoe UI', 'Helvetica Neue', sans-serif;
2
2
 
3
- :root,
3
+ &:root,
4
4
  [tuiTheme='light'][tuiTheme='light'] {
5
5
  // Fonts
6
6
  --tui-font-heading: 'Manrope', @font-fallback;