@taiga-ui/layout 4.3.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,3 +5,4 @@ export * from '@taiga-ui/layout/components/card';
5
5
  export * from '@taiga-ui/layout/components/cell';
6
6
  export * from '@taiga-ui/layout/components/header';
7
7
  export * from '@taiga-ui/layout/components/navigation';
8
+ export * from '@taiga-ui/layout/components/search';
@@ -0,0 +1,3 @@
1
+ export * from './search';
2
+ export * from './search.component';
3
+ export * from './search-filters.component';
@@ -0,0 +1,9 @@
1
+ import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@taiga-ui/core/directives/dropdown";
4
+ export declare class TuiSearchFilterComponent {
5
+ private readonly dropdown;
6
+ protected set template(template: PolymorpheusContent);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchFilterComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchFilterComponent, "button[tuiSearchFilter]", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
9
+ }
@@ -0,0 +1,20 @@
1
+ import { type AfterContentInit, type QueryList, TemplateRef } from '@angular/core';
2
+ import type { TuiSizeS } from '@taiga-ui/core/types';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@taiga-ui/core/components/textfield";
5
+ export declare class TuiSearchFiltersComponent implements AfterContentInit {
6
+ private readonly rem?;
7
+ private readonly button?;
8
+ private readonly children;
9
+ private readonly controls;
10
+ protected readonly templates: QueryList<TemplateRef<any>>;
11
+ protected readonly overflown: import("@angular/core").Signal<number>;
12
+ protected readonly enabled: import("@angular/core").Signal<boolean>;
13
+ size: TuiSizeS;
14
+ ngAfterContentInit(): void;
15
+ protected onReset(): void;
16
+ private get unit();
17
+ private get more();
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchFiltersComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchFiltersComponent, "tui-search-filters", never, { "size": { "alias": "size"; "required": false; }; }, {}, ["children", "templates"], ["*"], true, [{ directive: typeof i1.TuiTextfieldOptionsDirective; inputs: { "tuiTextfieldSize": "size"; }; outputs: {}; }]>;
20
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiSearchComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchComponent, "search[tuiSearch]", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import { TuiSearchComponent } from './search.component';
3
+ import { TuiSearchFiltersComponent } from './search-filters.component';
4
+ export declare const TuiSearch: readonly [typeof TuiSearchComponent, typeof TuiSearchFiltersComponent, typeof TuiItem];
@@ -5,4 +5,5 @@ export * from '@taiga-ui/layout/components/card';
5
5
  export * from '@taiga-ui/layout/components/cell';
6
6
  export * from '@taiga-ui/layout/components/header';
7
7
  export * from '@taiga-ui/layout/components/navigation';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2FwcC1iYXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2Jsb2NrLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2Jsb2NrLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvY2FyZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvY2VsbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9uYXZpZ2F0aW9uJztcbiJdfQ==
8
+ export * from '@taiga-ui/layout/components/search';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYXBwLWJhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYmxvY2stZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYmxvY2stc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9jYXJkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9jZWxsJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9oZWFkZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL3NlYXJjaCc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './search';
2
+ export * from './search.component';
3
+ export * from './search-filters.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9zZWFyY2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWZpbHRlcnMuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { ChangeDetectionStrategy, Component, inject, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { tuiDropdown, TuiDropdownDirective, tuiDropdownOptionsProvider, TuiWithDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
3
+ import { TUI_ICON_START } from '@taiga-ui/core/tokens';
4
+ import { TUI_COMMON_ICONS } from '@taiga-ui/layout/tokens';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@taiga-ui/core/directives/dropdown";
7
+ class TuiSearchFilterComponent {
8
+ constructor() {
9
+ this.dropdown = tuiDropdown(null);
10
+ }
11
+ set template(template) {
12
+ this.dropdown.set(template);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchFilterComponent, isStandalone: true, selector: "button[tuiSearchFilter]", providers: [
16
+ tuiDropdownOptionsProvider({ align: 'right' }),
17
+ {
18
+ provide: TUI_ICON_START,
19
+ useFactory: () => inject(TUI_COMMON_ICONS).filter,
20
+ },
21
+ ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ export { TuiSearchFilterComponent };
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFilterComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ standalone: true,
28
+ selector: 'button[tuiSearchFilter]',
29
+ template: '<ng-template><ng-content /></ng-template>',
30
+ changeDetection: ChangeDetectionStrategy.OnPush,
31
+ providers: [
32
+ tuiDropdownOptionsProvider({ align: 'right' }),
33
+ {
34
+ provide: TUI_ICON_START,
35
+ useFactory: () => inject(TUI_COMMON_ICONS).filter,
36
+ },
37
+ ],
38
+ hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen],
39
+ }]
40
+ }], propDecorators: { template: [{
41
+ type: ViewChild,
42
+ args: [TemplateRef]
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLG1CQUFtQixHQUN0QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBR3pELE1BY2Esd0JBQXdCO0lBZHJDO1FBZXFCLGFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FNakQ7SUFKRyxJQUNjLFFBQVEsQ0FBQyxRQUE2QjtRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOytHQU5RLHdCQUF3QjttR0FBeEIsd0JBQXdCLHNFQVR0QjtZQUNQLDBCQUEwQixDQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDO1lBQzVDO2dCQUNJLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTTthQUNwRDtTQUNKLG9FQU1VLFdBQVcsaUpBZFosMkNBQTJDOztTQVc1Qyx3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFkcEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLDJDQUEyQztvQkFDckQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRTt3QkFDUCwwQkFBMEIsQ0FBQyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQzt3QkFDNUM7NEJBQ0ksT0FBTyxFQUFFLGNBQWM7NEJBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxNQUFNO3lCQUNwRDtxQkFDSjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsQ0FBQztpQkFDOUQ7OEJBS2lCLFFBQVE7c0JBRHJCLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0dWlEcm9wZG93bixcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcixcbiAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VFVJX0lDT05fU1RBUlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1RVSV9DT01NT05fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2J1dHRvblt0dWlTZWFyY2hGaWx0ZXJdJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48bmctY29udGVudCAvPjwvbmctdGVtcGxhdGU+JyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIoe2FsaWduOiAncmlnaHQnfSksXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9JQ09OX1NUQVJULFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gaW5qZWN0KFRVSV9DT01NT05fSUNPTlMpLmZpbHRlcixcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpRHJvcGRvd25EaXJlY3RpdmUsIFR1aVdpdGhEcm9wZG93bk9wZW5dLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTZWFyY2hGaWx0ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSB0dWlEcm9wZG93bihudWxsKTtcblxuICAgIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXG4gICAgcHJvdGVjdGVkIHNldCB0ZW1wbGF0ZSh0ZW1wbGF0ZTogUG9seW1vcnBoZXVzQ29udGVudCkge1xuICAgICAgICB0aGlzLmRyb3Bkb3duLnNldCh0ZW1wbGF0ZSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,78 @@
1
+ import { NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, ContentChildren, ElementRef, inject, Input, NgZone, signal, TemplateRef, ViewChild, } from '@angular/core';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
+ import { NgControl } from '@angular/forms';
5
+ import { ResizeObserverService } from '@ng-web-apis/resize-observer';
6
+ import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
7
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
8
+ import { tuiControlValue, tuiQueryListChanges, tuiZonefull, } from '@taiga-ui/cdk/observables';
9
+ import { tuiIsControlEmpty } from '@taiga-ui/cdk/utils/miscellaneous';
10
+ import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
11
+ import { TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
12
+ import { distinctUntilChanged, map, merge, switchMap } from 'rxjs';
13
+ import { TuiSearchFilterComponent } from './search-filter.component';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@taiga-ui/core/components/textfield";
16
+ const WIDTH = 12;
17
+ class TuiSearchFiltersComponent {
18
+ constructor() {
19
+ this.children = EMPTY_QUERY;
20
+ this.controls = signal([]);
21
+ this.templates = EMPTY_QUERY;
22
+ this.overflown = toSignal(inject(ResizeObserverService, { self: true }).pipe(map(([{ contentRect }]) => Math.floor((contentRect.width - this.more) / WIDTH / this.unit)), distinctUntilChanged(), tuiZonefull(inject(NgZone))), { initialValue: 0 });
23
+ this.enabled = computed(() => this.controls().some(({ control }, index) => control && index >= this.overflown() && !tuiIsControlEmpty(control)));
24
+ this.size = 'm';
25
+ }
26
+ // TODO: Refactor to signal queries when Angular is updated
27
+ ngAfterContentInit() {
28
+ tuiQueryListChanges(this.children)
29
+ .pipe(switchMap((all) => merge(...all.map((c) => tuiControlValue(c)))), map(() => this.children.toArray()))
30
+ .subscribe((controls) => this.controls.set(controls));
31
+ }
32
+ onReset() {
33
+ this.children.forEach(({ control }, index) => {
34
+ if (control && index >= this.overflown()) {
35
+ control.setValue(null);
36
+ }
37
+ });
38
+ }
39
+ get unit() {
40
+ return this.rem?.nativeElement.offsetWidth || 16;
41
+ }
42
+ get more() {
43
+ return this.button?.nativeElement.clientWidth || 0;
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchFiltersComponent, isStandalone: true, selector: "tui-search-filters", inputs: { size: "size" }, providers: [
47
+ ResizeObserverService,
48
+ tuiButtonOptionsProvider({ size: 'xs', appearance: 'flat' }),
49
+ ], queries: [{ propertyName: "children", predicate: NgControl, descendants: true }, { propertyName: "templates", predicate: TuiItem, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "rem", first: true, predicate: ["rem"], descendants: true }, { propertyName: "button", first: true, predicate: TuiButton, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldSize", "size"] }], ngImport: i0, template: "<ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i < overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n</ng-container>\n<div\n #rem\n class=\"t-rem\"\n></div>\n<button\n *ngIf=\"overflown() < templates.length\"\n appearance=\"secondary\"\n tuiIconButton\n tuiSearchFilter\n type=\"button\"\n class=\"t-button\"\n [class._active]=\"enabled()\"\n [size]=\"size\"\n>\n <form\n class=\"t-form\"\n (reset)=\"onReset()\"\n >\n <fieldset\n class=\"t-header\"\n [disabled]=\"!enabled()\"\n >\n <ng-content />\n </fieldset>\n <ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i >= overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n </ng-container>\n </form>\n</button>\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-width:0}.t-rem{position:absolute;width:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;width:.625rem;height:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-width:25.5rem;max-width:33rem;flex-direction:column;gap:.75rem;padding:0 1.5rem 1.5rem;box-sizing:border-box}.t-header{display:flex;justify-content:space-between;padding:1.25rem 0;margin:0 0 .5rem;border:none;box-shadow:inset 0 -1px var(--tui-border-normal);font:var(--tui-font-text-ui-l);font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiSearchFilterComponent, selector: "button[tuiSearchFilter]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ }
51
+ export { TuiSearchFiltersComponent };
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFiltersComponent, decorators: [{
53
+ type: Component,
54
+ args: [{ standalone: true, selector: 'tui-search-filters', imports: [NgIf, TuiButton, NgForOf, NgTemplateOutlet, TuiSearchFilterComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
55
+ ResizeObserverService,
56
+ tuiButtonOptionsProvider({ size: 'xs', appearance: 'flat' }),
57
+ ], hostDirectives: [
58
+ {
59
+ directive: TuiTextfieldOptionsDirective,
60
+ inputs: ['tuiTextfieldSize: size'],
61
+ },
62
+ ], template: "<ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i < overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n</ng-container>\n<div\n #rem\n class=\"t-rem\"\n></div>\n<button\n *ngIf=\"overflown() < templates.length\"\n appearance=\"secondary\"\n tuiIconButton\n tuiSearchFilter\n type=\"button\"\n class=\"t-button\"\n [class._active]=\"enabled()\"\n [size]=\"size\"\n>\n <form\n class=\"t-form\"\n (reset)=\"onReset()\"\n >\n <fieldset\n class=\"t-header\"\n [disabled]=\"!enabled()\"\n >\n <ng-content />\n </fieldset>\n <ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i >= overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n </ng-container>\n </form>\n</button>\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-width:0}.t-rem{position:absolute;width:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;width:.625rem;height:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-width:25.5rem;max-width:33rem;flex-direction:column;gap:.75rem;padding:0 1.5rem 1.5rem;box-sizing:border-box}.t-header{display:flex;justify-content:space-between;padding:1.25rem 0;margin:0 0 .5rem;border:none;box-shadow:inset 0 -1px var(--tui-border-normal);font:var(--tui-font-text-ui-l);font-weight:700}\n"] }]
63
+ }], propDecorators: { rem: [{
64
+ type: ViewChild,
65
+ args: ['rem']
66
+ }], button: [{
67
+ type: ViewChild,
68
+ args: [TuiButton, { read: ElementRef }]
69
+ }], children: [{
70
+ type: ContentChildren,
71
+ args: [NgControl, { descendants: true }]
72
+ }], templates: [{
73
+ type: ContentChildren,
74
+ args: [TuiItem, { descendants: true, read: TemplateRef }]
75
+ }], size: [{
76
+ type: Input
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtZmlsdGVycy50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLFdBQVcsR0FDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUVq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LFdBQVcsa0pBUnBELFNBQVMsMkJBQVMsVUFBVSxxSUMxRDNDLHU3QkFzQ0EseXVCRENjLElBQUksNkZBQUUsU0FBUyxvSUFBRSxPQUFPLG1IQUFFLGdCQUFnQixvSkFBRSx3QkFBd0I7O1NBZXJFLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQWxCckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sb0JBQW9CLFdBQ3JCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUMsbUJBRzlELHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AscUJBQXFCO3dCQUNyQix3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO3FCQUM3RCxrQkFDZTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsNEJBQTRCOzRCQUN2QyxNQUFNLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzt5QkFDckM7cUJBQ0o7OEJBSWdCLEdBQUc7c0JBRG5CLFNBQVM7dUJBQUMsS0FBSztnQkFJQyxNQUFNO3NCQUR0QixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBSXZCLFFBQVE7c0JBRHhCLGVBQWU7dUJBQUMsU0FBUyxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFNNUIsU0FBUztzQkFEM0IsZUFBZTt1QkFBQyxPQUFPLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBc0J6RCxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1Jlc2l6ZU9ic2VydmVyU2VydmljZX0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmltcG9ydCB7XG4gICAgdHVpQ29udHJvbFZhbHVlLFxuICAgIHR1aVF1ZXJ5TGlzdENoYW5nZXMsXG4gICAgdHVpWm9uZWZ1bGwsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0dWlJc0NvbnRyb2xFbXB0eX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpQnV0dG9uLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkT3B0aW9uc0RpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1lcmdlLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVNlYXJjaEZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9zZWFyY2gtZmlsdGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IFdJRFRIID0gMTI7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktc2VhcmNoLWZpbHRlcnMnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUdWlCdXR0b24sIE5nRm9yT2YsIE5nVGVtcGxhdGVPdXRsZXQsIFR1aVNlYXJjaEZpbHRlckNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1maWx0ZXJzLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlYXJjaC1maWx0ZXJzLnN0eWxlcy5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFJlc2l6ZU9ic2VydmVyU2VydmljZSxcbiAgICAgICAgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyKHtzaXplOiAneHMnLCBhcHBlYXJhbmNlOiAnZmxhdCd9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogVHVpVGV4dGZpZWxkT3B0aW9uc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWyd0dWlUZXh0ZmllbGRTaXplOiBzaXplJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VhcmNoRmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3JlbScpXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW0/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpQnV0dG9uLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b24/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTmdDb250cm9sLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hpbGRyZW46IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xzID0gc2lnbmFsPHJlYWRvbmx5IE5nQ29udHJvbFtdPihbXSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUl0ZW0sIHtkZXNjZW5kYW50czogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG92ZXJmbG93biA9IHRvU2lnbmFsKFxuICAgICAgICBpbmplY3QoUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFt7Y29udGVudFJlY3R9XSkgPT5cbiAgICAgICAgICAgICAgICBNYXRoLmZsb29yKChjb250ZW50UmVjdC53aWR0aCAtIHRoaXMubW9yZSkgLyBXSURUSCAvIHRoaXMudW5pdCksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKGluamVjdChOZ1pvbmUpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogMH0sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlbmFibGVkID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5jb250cm9scygpLnNvbWUoXG4gICAgICAgICAgICAoe2NvbnRyb2x9LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBjb250cm9sICYmIGluZGV4ID49IHRoaXMub3ZlcmZsb3duKCkgJiYgIXR1aUlzQ29udHJvbEVtcHR5KGNvbnRyb2wpLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplUyA9ICdtJztcblxuICAgIC8vIFRPRE86IFJlZmFjdG9yIHRvIHNpZ25hbCBxdWVyaWVzIHdoZW4gQW5ndWxhciBpcyB1cGRhdGVkXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLmNoaWxkcmVuKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChhbGwpID0+IG1lcmdlKC4uLmFsbC5tYXAoKGMpID0+IHR1aUNvbnRyb2xWYWx1ZShjKSkpKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5jaGlsZHJlbi50b0FycmF5KCkpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29udHJvbHMpID0+IHRoaXMuY29udHJvbHMuc2V0KGNvbnRyb2xzKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4uZm9yRWFjaCgoe2NvbnRyb2x9LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgJiYgaW5kZXggPj0gdGhpcy5vdmVyZmxvd24oKSkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHVuaXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtPy5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIHx8IDE2O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1vcmUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uPy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIHx8IDA7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGVtcGxhdGUgb2YgdGVtcGxhdGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cImkgPCBvdmVyZmxvd24oKVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCJcbiAgICAvPlxuPC9uZy1jb250YWluZXI+XG48ZGl2XG4gICAgI3JlbVxuICAgIGNsYXNzPVwidC1yZW1cIlxuPjwvZGl2PlxuPGJ1dHRvblxuICAgICpuZ0lmPVwib3ZlcmZsb3duKCkgPCB0ZW1wbGF0ZXMubGVuZ3RoXCJcbiAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHVpU2VhcmNoRmlsdGVyXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgW2NsYXNzLl9hY3RpdmVdPVwiZW5hYmxlZCgpXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbj5cbiAgICA8Zm9ybVxuICAgICAgICBjbGFzcz1cInQtZm9ybVwiXG4gICAgICAgIChyZXNldCk9XCJvblJlc2V0KClcIlxuICAgID5cbiAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICBjbGFzcz1cInQtaGVhZGVyXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhZW5hYmxlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGVtcGxhdGUgb2YgdGVtcGxhdGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpID49IG92ZXJmbG93bigpXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Zvcm0+XG48L2J1dHRvbj5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectionStrategy, Component, signal, ViewEncapsulation, } from '@angular/core';
2
+ import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
3
+ import { tuiTextfieldOptionsProvider } from '@taiga-ui/core/components/textfield';
4
+ import { tuiBlockOptionsProvider } from '@taiga-ui/kit/components/block';
5
+ import { tuiSwitchOptionsProvider } from '@taiga-ui/kit/components/switch';
6
+ import * as i0 from "@angular/core";
7
+ class TuiSearchComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchComponent, isStandalone: true, selector: "search[tuiSearch]", providers: [
10
+ tuiButtonOptionsProvider({ size: 'm' }),
11
+ tuiBlockOptionsProvider({ size: 's' }),
12
+ tuiSwitchOptionsProvider({ size: 's' }),
13
+ tuiTextfieldOptionsProvider({ size: signal('m') }),
14
+ ], ngImport: i0, template: '<ng-content/>', isInline: true, styles: ["search[tuiSearch] form{display:flex;flex-direction:column;gap:.75rem}search[tuiSearch] form fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:inherit;min-width:0;padding:0;margin:0;border:0;color:var(--tui-text-secondary)}search[tuiSearch] form tui-items-with-more{min-width:0;flex:1}search[tuiSearch] form tui-textfield{flex:1;min-width:11.25rem;max-width:22.5rem}search[tuiSearch] form tui-textfield:first-child{max-width:unset}search[tuiSearch] form hr{width:1px;height:1rem;background:var(--tui-border-normal)}search[tuiSearch] form tui-filter{white-space:nowrap}search[tuiSearch] form [tuiLabel]{font:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
+ }
16
+ export { TuiSearchComponent };
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ standalone: true, selector: 'search[tuiSearch]', template: '<ng-content/>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
20
+ tuiButtonOptionsProvider({ size: 'm' }),
21
+ tuiBlockOptionsProvider({ size: 's' }),
22
+ tuiSwitchOptionsProvider({ size: 's' }),
23
+ tuiTextfieldOptionsProvider({ size: signal('m') }),
24
+ ], styles: ["search[tuiSearch] form{display:flex;flex-direction:column;gap:.75rem}search[tuiSearch] form fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:inherit;min-width:0;padding:0;margin:0;border:0;color:var(--tui-text-secondary)}search[tuiSearch] form tui-items-with-more{min-width:0;flex:1}search[tuiSearch] form tui-textfield{flex:1;min-width:11.25rem;max-width:22.5rem}search[tuiSearch] form tui-textfield:first-child{max-width:unset}search[tuiSearch] form hr{width:1px;height:1rem;background:var(--tui-border-normal)}search[tuiSearch] form tui-filter{white-space:nowrap}search[tuiSearch] form [tuiLabel]{font:inherit}\n"] }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7O0FBRXpFLE1BY2Esa0JBQWtCOytHQUFsQixrQkFBa0I7bUdBQWxCLGtCQUFrQixnRUFQaEI7WUFDUCx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztZQUNyQyx1QkFBdUIsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztZQUNwQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztZQUNyQywyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztTQUNuRCwwQkFUUyxlQUFlOztTQVdoQixrQkFBa0I7NEZBQWxCLGtCQUFrQjtrQkFkOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sbUJBQW1CLFlBQ25CLGVBQWUsaUJBRVYsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQzt3QkFDckMsdUJBQXVCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7d0JBQ3BDLHdCQUF3QixDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDO3dCQUNyQywyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztxQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7dHVpVGV4dGZpZWxkT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge3R1aUJsb2NrT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmxvY2snO1xuaW1wb3J0IHt0dWlTd2l0Y2hPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zd2l0Y2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnc2VhcmNoW3R1aVNlYXJjaF0nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQvPicsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLnN0eWxlcy5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyKHtzaXplOiAnbSd9KSxcbiAgICAgICAgdHVpQmxvY2tPcHRpb25zUHJvdmlkZXIoe3NpemU6ICdzJ30pLFxuICAgICAgICB0dWlTd2l0Y2hPcHRpb25zUHJvdmlkZXIoe3NpemU6ICdzJ30pLFxuICAgICAgICB0dWlUZXh0ZmllbGRPcHRpb25zUHJvdmlkZXIoe3NpemU6IHNpZ25hbCgnbScpfSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2VhcmNoQ29tcG9uZW50IHt9XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import { TuiSearchComponent } from './search.component';
3
+ import { TuiSearchFiltersComponent } from './search-filters.component';
4
+ export const TuiSearch = [
5
+ TuiSearchComponent,
6
+ TuiSearchFiltersComponent,
7
+ TuiItem,
8
+ ];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3JCLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsT0FBTztDQUNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcblxuaW1wb3J0IHtUdWlTZWFyY2hDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVNlYXJjaEZpbHRlcnNDb21wb25lbnR9IGZyb20gJy4vc2VhcmNoLWZpbHRlcnMuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFR1aVNlYXJjaCA9IFtcbiAgICBUdWlTZWFyY2hDb21wb25lbnQsXG4gICAgVHVpU2VhcmNoRmlsdGVyc0NvbXBvbmVudCxcbiAgICBUdWlJdGVtLFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktbGF5b3V0LWNvbXBvbmVudHMtc2VhcmNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvc2VhcmNoL3RhaWdhLXVpLWxheW91dC1jb21wb25lbnRzLXNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
package/esm2022/index.mjs CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from '@taiga-ui/layout/components';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cyc7XG4iXX0=
2
+ export * from '@taiga-ui/layout/tokens';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvdG9rZW5zJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
+ const COMMON_ICONS = {
3
+ filter: '@tui.filter',
4
+ };
5
+ export const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);
6
+ export function tuiCommonIconsProvider(icons) {
7
+ return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWljb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3Rva2Vucy9jb21tb24taWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRXBGLE1BQU0sWUFBWSxHQUFtQjtJQUNqQyxNQUFNLEVBQUUsYUFBYTtDQUN4QixDQUFDO0FBTUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTdELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUE4QjtJQUNqRSxPQUFPLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW4sIHR1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5jb25zdCBDT01NT05fSUNPTlM6IFR1aUNvbW1vbkljb25zID0ge1xuICAgIGZpbHRlcjogJ0B0dWkuZmlsdGVyJyxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQ29tbW9uSWNvbnMge1xuICAgIHJlYWRvbmx5IGZpbHRlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0NPTU1PTl9JQ09OUyA9IHR1aUNyZWF0ZVRva2VuKENPTU1PTl9JQ09OUyk7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDb21tb25JY29uc1Byb3ZpZGVyKGljb25zOiBQYXJ0aWFsPFR1aUNvbW1vbkljb25zPik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoVFVJX0NPTU1PTl9JQ09OUywgaWNvbnMsIENPTU1PTl9JQ09OUyk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './common-icons';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi1pY29ucyc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktbGF5b3V0LXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC90b2tlbnMvdGFpZ2EtdWktbGF5b3V0LXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,151 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import * as i0 from '@angular/core';
3
+ import { signal, Component, ViewEncapsulation, ChangeDetectionStrategy, inject, TemplateRef, ViewChild, NgZone, computed, ElementRef, ContentChildren, Input } from '@angular/core';
4
+ import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button';
5
+ import * as i1$1 from '@taiga-ui/core/components/textfield';
6
+ import { tuiTextfieldOptionsProvider, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
7
+ import { tuiBlockOptionsProvider } from '@taiga-ui/kit/components/block';
8
+ import { tuiSwitchOptionsProvider } from '@taiga-ui/kit/components/switch';
9
+ import { NgIf, NgForOf, NgTemplateOutlet } from '@angular/common';
10
+ import { toSignal } from '@angular/core/rxjs-interop';
11
+ import { NgControl } from '@angular/forms';
12
+ import { ResizeObserverService } from '@ng-web-apis/resize-observer';
13
+ import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
14
+ import { tuiZonefull, tuiQueryListChanges, tuiControlValue } from '@taiga-ui/cdk/observables';
15
+ import { tuiIsControlEmpty } from '@taiga-ui/cdk/utils/miscellaneous';
16
+ import { map, distinctUntilChanged, switchMap, merge } from 'rxjs';
17
+ import * as i1 from '@taiga-ui/core/directives/dropdown';
18
+ import { tuiDropdown, tuiDropdownOptionsProvider, TuiDropdownDirective, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown';
19
+ import { TUI_ICON_START } from '@taiga-ui/core/tokens';
20
+ import { TUI_COMMON_ICONS } from '@taiga-ui/layout/tokens';
21
+
22
+ class TuiSearchComponent {
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchComponent, isStandalone: true, selector: "search[tuiSearch]", providers: [
25
+ tuiButtonOptionsProvider({ size: 'm' }),
26
+ tuiBlockOptionsProvider({ size: 's' }),
27
+ tuiSwitchOptionsProvider({ size: 's' }),
28
+ tuiTextfieldOptionsProvider({ size: signal('m') }),
29
+ ], ngImport: i0, template: '<ng-content/>', isInline: true, styles: ["search[tuiSearch] form{display:flex;flex-direction:column;gap:.75rem}search[tuiSearch] form fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:inherit;min-width:0;padding:0;margin:0;border:0;color:var(--tui-text-secondary)}search[tuiSearch] form tui-items-with-more{min-width:0;flex:1}search[tuiSearch] form tui-textfield{flex:1;min-width:11.25rem;max-width:22.5rem}search[tuiSearch] form tui-textfield:first-child{max-width:unset}search[tuiSearch] form hr{width:1px;height:1rem;background:var(--tui-border-normal)}search[tuiSearch] form tui-filter{white-space:nowrap}search[tuiSearch] form [tuiLabel]{font:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ standalone: true, selector: 'search[tuiSearch]', template: '<ng-content/>', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
34
+ tuiButtonOptionsProvider({ size: 'm' }),
35
+ tuiBlockOptionsProvider({ size: 's' }),
36
+ tuiSwitchOptionsProvider({ size: 's' }),
37
+ tuiTextfieldOptionsProvider({ size: signal('m') }),
38
+ ], styles: ["search[tuiSearch] form{display:flex;flex-direction:column;gap:.75rem}search[tuiSearch] form fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:inherit;min-width:0;padding:0;margin:0;border:0;color:var(--tui-text-secondary)}search[tuiSearch] form tui-items-with-more{min-width:0;flex:1}search[tuiSearch] form tui-textfield{flex:1;min-width:11.25rem;max-width:22.5rem}search[tuiSearch] form tui-textfield:first-child{max-width:unset}search[tuiSearch] form hr{width:1px;height:1rem;background:var(--tui-border-normal)}search[tuiSearch] form tui-filter{white-space:nowrap}search[tuiSearch] form [tuiLabel]{font:inherit}\n"] }]
39
+ }] });
40
+
41
+ class TuiSearchFilterComponent {
42
+ constructor() {
43
+ this.dropdown = tuiDropdown(null);
44
+ }
45
+ set template(template) {
46
+ this.dropdown.set(template);
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchFilterComponent, isStandalone: true, selector: "button[tuiSearchFilter]", providers: [
50
+ tuiDropdownOptionsProvider({ align: 'right' }),
51
+ {
52
+ provide: TUI_ICON_START,
53
+ useFactory: () => inject(TUI_COMMON_ICONS).filter,
54
+ },
55
+ ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFilterComponent, decorators: [{
58
+ type: Component,
59
+ args: [{
60
+ standalone: true,
61
+ selector: 'button[tuiSearchFilter]',
62
+ template: '<ng-template><ng-content /></ng-template>',
63
+ changeDetection: ChangeDetectionStrategy.OnPush,
64
+ providers: [
65
+ tuiDropdownOptionsProvider({ align: 'right' }),
66
+ {
67
+ provide: TUI_ICON_START,
68
+ useFactory: () => inject(TUI_COMMON_ICONS).filter,
69
+ },
70
+ ],
71
+ hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen],
72
+ }]
73
+ }], propDecorators: { template: [{
74
+ type: ViewChild,
75
+ args: [TemplateRef]
76
+ }] } });
77
+
78
+ const WIDTH = 12;
79
+ class TuiSearchFiltersComponent {
80
+ constructor() {
81
+ this.children = EMPTY_QUERY;
82
+ this.controls = signal([]);
83
+ this.templates = EMPTY_QUERY;
84
+ this.overflown = toSignal(inject(ResizeObserverService, { self: true }).pipe(map(([{ contentRect }]) => Math.floor((contentRect.width - this.more) / WIDTH / this.unit)), distinctUntilChanged(), tuiZonefull(inject(NgZone))), { initialValue: 0 });
85
+ this.enabled = computed(() => this.controls().some(({ control }, index) => control && index >= this.overflown() && !tuiIsControlEmpty(control)));
86
+ this.size = 'm';
87
+ }
88
+ // TODO: Refactor to signal queries when Angular is updated
89
+ ngAfterContentInit() {
90
+ tuiQueryListChanges(this.children)
91
+ .pipe(switchMap((all) => merge(...all.map((c) => tuiControlValue(c)))), map(() => this.children.toArray()))
92
+ .subscribe((controls) => this.controls.set(controls));
93
+ }
94
+ onReset() {
95
+ this.children.forEach(({ control }, index) => {
96
+ if (control && index >= this.overflown()) {
97
+ control.setValue(null);
98
+ }
99
+ });
100
+ }
101
+ get unit() {
102
+ return this.rem?.nativeElement.offsetWidth || 16;
103
+ }
104
+ get more() {
105
+ return this.button?.nativeElement.clientWidth || 0;
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSearchFiltersComponent, isStandalone: true, selector: "tui-search-filters", inputs: { size: "size" }, providers: [
109
+ ResizeObserverService,
110
+ tuiButtonOptionsProvider({ size: 'xs', appearance: 'flat' }),
111
+ ], queries: [{ propertyName: "children", predicate: NgControl, descendants: true }, { propertyName: "templates", predicate: TuiItem, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "rem", first: true, predicate: ["rem"], descendants: true }, { propertyName: "button", first: true, predicate: TuiButton, descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1$1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldSize", "size"] }], ngImport: i0, template: "<ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i < overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n</ng-container>\n<div\n #rem\n class=\"t-rem\"\n></div>\n<button\n *ngIf=\"overflown() < templates.length\"\n appearance=\"secondary\"\n tuiIconButton\n tuiSearchFilter\n type=\"button\"\n class=\"t-button\"\n [class._active]=\"enabled()\"\n [size]=\"size\"\n>\n <form\n class=\"t-form\"\n (reset)=\"onReset()\"\n >\n <fieldset\n class=\"t-header\"\n [disabled]=\"!enabled()\"\n >\n <ng-content />\n </fieldset>\n <ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i >= overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n </ng-container>\n </form>\n</button>\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-width:0}.t-rem{position:absolute;width:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;width:.625rem;height:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-width:25.5rem;max-width:33rem;flex-direction:column;gap:.75rem;padding:0 1.5rem 1.5rem;box-sizing:border-box}.t-header{display:flex;justify-content:space-between;padding:1.25rem 0;margin:0 0 .5rem;border:none;box-shadow:inset 0 -1px var(--tui-border-normal);font:var(--tui-font-text-ui-l);font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiSearchFilterComponent, selector: "button[tuiSearchFilter]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
112
+ }
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSearchFiltersComponent, decorators: [{
114
+ type: Component,
115
+ args: [{ standalone: true, selector: 'tui-search-filters', imports: [NgIf, TuiButton, NgForOf, NgTemplateOutlet, TuiSearchFilterComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
116
+ ResizeObserverService,
117
+ tuiButtonOptionsProvider({ size: 'xs', appearance: 'flat' }),
118
+ ], hostDirectives: [
119
+ {
120
+ directive: TuiTextfieldOptionsDirective,
121
+ inputs: ['tuiTextfieldSize: size'],
122
+ },
123
+ ], template: "<ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i < overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n</ng-container>\n<div\n #rem\n class=\"t-rem\"\n></div>\n<button\n *ngIf=\"overflown() < templates.length\"\n appearance=\"secondary\"\n tuiIconButton\n tuiSearchFilter\n type=\"button\"\n class=\"t-button\"\n [class._active]=\"enabled()\"\n [size]=\"size\"\n>\n <form\n class=\"t-form\"\n (reset)=\"onReset()\"\n >\n <fieldset\n class=\"t-header\"\n [disabled]=\"!enabled()\"\n >\n <ng-content />\n </fieldset>\n <ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i >= overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n </ng-container>\n </form>\n</button>\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-width:0}.t-rem{position:absolute;width:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;width:.625rem;height:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-width:25.5rem;max-width:33rem;flex-direction:column;gap:.75rem;padding:0 1.5rem 1.5rem;box-sizing:border-box}.t-header{display:flex;justify-content:space-between;padding:1.25rem 0;margin:0 0 .5rem;border:none;box-shadow:inset 0 -1px var(--tui-border-normal);font:var(--tui-font-text-ui-l);font-weight:700}\n"] }]
124
+ }], propDecorators: { rem: [{
125
+ type: ViewChild,
126
+ args: ['rem']
127
+ }], button: [{
128
+ type: ViewChild,
129
+ args: [TuiButton, { read: ElementRef }]
130
+ }], children: [{
131
+ type: ContentChildren,
132
+ args: [NgControl, { descendants: true }]
133
+ }], templates: [{
134
+ type: ContentChildren,
135
+ args: [TuiItem, { descendants: true, read: TemplateRef }]
136
+ }], size: [{
137
+ type: Input
138
+ }] } });
139
+
140
+ const TuiSearch = [
141
+ TuiSearchComponent,
142
+ TuiSearchFiltersComponent,
143
+ TuiItem,
144
+ ];
145
+
146
+ /**
147
+ * Generated bundle index. Do not edit.
148
+ */
149
+
150
+ export { TuiSearch, TuiSearchComponent, TuiSearchFiltersComponent };
151
+ //# sourceMappingURL=taiga-ui-layout-components-search.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-layout-components-search.mjs","sources":["../../../projects/layout/components/search/search.component.ts","../../../projects/layout/components/search/search-filter.component.ts","../../../projects/layout/components/search/search-filters.component.ts","../../../projects/layout/components/search/search-filters.template.html","../../../projects/layout/components/search/search.ts","../../../projects/layout/components/search/taiga-ui-layout-components-search.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiTextfieldOptionsProvider} from '@taiga-ui/core/components/textfield';\nimport {tuiBlockOptionsProvider} from '@taiga-ui/kit/components/block';\nimport {tuiSwitchOptionsProvider} from '@taiga-ui/kit/components/switch';\n\n@Component({\n standalone: true,\n selector: 'search[tuiSearch]',\n template: '<ng-content/>',\n styleUrls: ['./search.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiButtonOptionsProvider({size: 'm'}),\n tuiBlockOptionsProvider({size: 's'}),\n tuiSwitchOptionsProvider({size: 's'}),\n tuiTextfieldOptionsProvider({size: signal('m')}),\n ],\n})\nexport class TuiSearchComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n tuiDropdown,\n TuiDropdownDirective,\n tuiDropdownOptionsProvider,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/directives/dropdown';\nimport {TUI_ICON_START} from '@taiga-ui/core/tokens';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/layout/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: true,\n selector: 'button[tuiSearchFilter]',\n template: '<ng-template><ng-content /></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiDropdownOptionsProvider({align: 'right'}),\n {\n provide: TUI_ICON_START,\n useFactory: () => inject(TUI_COMMON_ICONS).filter,\n },\n ],\n hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen],\n})\nexport class TuiSearchFilterComponent {\n private readonly dropdown = tuiDropdown(null);\n\n @ViewChild(TemplateRef)\n protected set template(template: PolymorpheusContent) {\n this.dropdown.set(template);\n }\n}\n","import {NgForOf, NgIf, NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n ElementRef,\n inject,\n Input,\n NgZone,\n type QueryList,\n signal,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {\n tuiControlValue,\n tuiQueryListChanges,\n tuiZonefull,\n} from '@taiga-ui/cdk/observables';\nimport {tuiIsControlEmpty} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiTextfieldOptionsDirective} from '@taiga-ui/core/components/textfield';\nimport type {TuiSizeS} from '@taiga-ui/core/types';\nimport {distinctUntilChanged, map, merge, switchMap} from 'rxjs';\n\nimport {TuiSearchFilterComponent} from './search-filter.component';\n\nconst WIDTH = 12;\n\n@Component({\n standalone: true,\n selector: 'tui-search-filters',\n imports: [NgIf, TuiButton, NgForOf, NgTemplateOutlet, TuiSearchFilterComponent],\n templateUrl: './search-filters.template.html',\n styleUrls: ['./search-filters.styles.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n ResizeObserverService,\n tuiButtonOptionsProvider({size: 'xs', appearance: 'flat'}),\n ],\n hostDirectives: [\n {\n directive: TuiTextfieldOptionsDirective,\n inputs: ['tuiTextfieldSize: size'],\n },\n ],\n})\nexport class TuiSearchFiltersComponent implements AfterContentInit {\n @ViewChild('rem')\n private readonly rem?: ElementRef<HTMLDivElement>;\n\n @ViewChild(TuiButton, {read: ElementRef})\n private readonly button?: ElementRef<HTMLDivElement>;\n\n @ContentChildren(NgControl, {descendants: true})\n private readonly children: QueryList<NgControl> = EMPTY_QUERY;\n\n private readonly controls = signal<readonly NgControl[]>([]);\n\n @ContentChildren(TuiItem, {descendants: true, read: TemplateRef})\n protected readonly templates: QueryList<TemplateRef<any>> = EMPTY_QUERY;\n\n protected readonly overflown = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map(([{contentRect}]) =>\n Math.floor((contentRect.width - this.more) / WIDTH / this.unit),\n ),\n distinctUntilChanged(),\n tuiZonefull(inject(NgZone)),\n ),\n {initialValue: 0},\n );\n\n protected readonly enabled = computed(() =>\n this.controls().some(\n ({control}, index) =>\n control && index >= this.overflown() && !tuiIsControlEmpty(control),\n ),\n );\n\n @Input()\n public size: TuiSizeS = 'm';\n\n // TODO: Refactor to signal queries when Angular is updated\n public ngAfterContentInit(): void {\n tuiQueryListChanges(this.children)\n .pipe(\n switchMap((all) => merge(...all.map((c) => tuiControlValue(c)))),\n map(() => this.children.toArray()),\n )\n .subscribe((controls) => this.controls.set(controls));\n }\n\n protected onReset(): void {\n this.children.forEach(({control}, index) => {\n if (control && index >= this.overflown()) {\n control.setValue(null);\n }\n });\n }\n\n private get unit(): number {\n return this.rem?.nativeElement.offsetWidth || 16;\n }\n\n private get more(): number {\n return this.button?.nativeElement.clientWidth || 0;\n }\n}\n","<ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i < overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n</ng-container>\n<div\n #rem\n class=\"t-rem\"\n></div>\n<button\n *ngIf=\"overflown() < templates.length\"\n appearance=\"secondary\"\n tuiIconButton\n tuiSearchFilter\n type=\"button\"\n class=\"t-button\"\n [class._active]=\"enabled()\"\n [size]=\"size\"\n>\n <form\n class=\"t-form\"\n (reset)=\"onReset()\"\n >\n <fieldset\n class=\"t-header\"\n [disabled]=\"!enabled()\"\n >\n <ng-content />\n </fieldset>\n <ng-container *ngFor=\"let template of templates; let i = index\">\n <ng-container\n *ngIf=\"i >= overflown()\"\n [ngTemplateOutlet]=\"template\"\n />\n </ng-container>\n </form>\n</button>\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiSearchComponent} from './search.component';\nimport {TuiSearchFiltersComponent} from './search-filters.component';\n\nexport const TuiSearch = [\n TuiSearchComponent,\n TuiSearchFiltersComponent,\n TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from '@taiga-ui/layout/components/card';
5
5
  export * from '@taiga-ui/layout/components/cell';
6
6
  export * from '@taiga-ui/layout/components/header';
7
7
  export * from '@taiga-ui/layout/components/navigation';
8
+ export * from '@taiga-ui/layout/components/search';
8
9
 
9
10
  /**
10
11
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components.mjs","sources":["../../../projects/layout/components/taiga-ui-layout-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-layout-components.mjs","sources":["../../../projects/layout/components/taiga-ui-layout-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAAA;;AAEG"}
@@ -0,0 +1,16 @@
1
+ import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
+
3
+ const COMMON_ICONS = {
4
+ filter: '@tui.filter',
5
+ };
6
+ const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);
7
+ function tuiCommonIconsProvider(icons) {
8
+ return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);
9
+ }
10
+
11
+ /**
12
+ * Generated bundle index. Do not edit.
13
+ */
14
+
15
+ export { TUI_COMMON_ICONS, tuiCommonIconsProvider };
16
+ //# sourceMappingURL=taiga-ui-layout-tokens.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-layout-tokens.mjs","sources":["../../../projects/layout/tokens/common-icons.ts","../../../projects/layout/tokens/taiga-ui-layout-tokens.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nconst COMMON_ICONS: TuiCommonIcons = {\n filter: '@tui.filter',\n};\n\nexport interface TuiCommonIcons {\n readonly filter: string;\n}\n\nexport const TUI_COMMON_ICONS = tuiCreateToken(COMMON_ICONS);\n\nexport function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider {\n return tuiProvideOptions(TUI_COMMON_ICONS, icons, COMMON_ICONS);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAGA,MAAM,YAAY,GAAmB;AACjC,IAAA,MAAM,EAAE,aAAa;CACxB,CAAC;MAMW,gBAAgB,GAAG,cAAc,CAAC,YAAY,EAAE;AAEvD,SAAU,sBAAsB,CAAC,KAA8B,EAAA;IACjE,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACpE;;ACfA;;AAEG;;;;"}
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/layout/components';
2
+ export * from '@taiga-ui/layout/tokens';
2
3
 
3
4
  /**
4
5
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout.mjs","sources":["../../../projects/layout/taiga-ui-layout.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-layout.mjs","sources":["../../../projects/layout/taiga-ui-layout.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;AAEG"}
package/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from '@taiga-ui/layout/components';
2
+ export * from '@taiga-ui/layout/tokens';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/layout",
3
- "version": "4.3.0",
3
+ "version": "4.4.0",
4
4
  "description": "A package with Taiga UI layout components",
5
5
  "keywords": [
6
6
  "angular",
@@ -13,9 +13,9 @@
13
13
  "peerDependencies": {
14
14
  "@angular/common": ">=16.0.0",
15
15
  "@angular/core": ">=16.0.0",
16
- "@taiga-ui/cdk": "^4.3.0",
17
- "@taiga-ui/core": "^4.3.0",
18
- "@taiga-ui/kit": "^4.3.0",
16
+ "@taiga-ui/cdk": "^4.4.0",
17
+ "@taiga-ui/core": "^4.4.0",
18
+ "@taiga-ui/kit": "^4.4.0",
19
19
  "@taiga-ui/polymorpheus": "^4.6.4",
20
20
  "rxjs": ">=7.0.0"
21
21
  },
@@ -37,11 +37,11 @@
37
37
  "esm": "./esm2022/components/taiga-ui-layout-components.mjs",
38
38
  "default": "./fesm2022/taiga-ui-layout-components.mjs"
39
39
  },
40
- "./components/app-bar": {
41
- "types": "./components/app-bar/index.d.ts",
42
- "esm2022": "./esm2022/components/app-bar/taiga-ui-layout-components-app-bar.mjs",
43
- "esm": "./esm2022/components/app-bar/taiga-ui-layout-components-app-bar.mjs",
44
- "default": "./fesm2022/taiga-ui-layout-components-app-bar.mjs"
40
+ "./tokens": {
41
+ "types": "./tokens/index.d.ts",
42
+ "esm2022": "./esm2022/tokens/taiga-ui-layout-tokens.mjs",
43
+ "esm": "./esm2022/tokens/taiga-ui-layout-tokens.mjs",
44
+ "default": "./fesm2022/taiga-ui-layout-tokens.mjs"
45
45
  },
46
46
  "./components/block-details": {
47
47
  "types": "./components/block-details/index.d.ts",
@@ -49,6 +49,12 @@
49
49
  "esm": "./esm2022/components/block-details/taiga-ui-layout-components-block-details.mjs",
50
50
  "default": "./fesm2022/taiga-ui-layout-components-block-details.mjs"
51
51
  },
52
+ "./components/app-bar": {
53
+ "types": "./components/app-bar/index.d.ts",
54
+ "esm2022": "./esm2022/components/app-bar/taiga-ui-layout-components-app-bar.mjs",
55
+ "esm": "./esm2022/components/app-bar/taiga-ui-layout-components-app-bar.mjs",
56
+ "default": "./fesm2022/taiga-ui-layout-components-app-bar.mjs"
57
+ },
52
58
  "./components/block-status": {
53
59
  "types": "./components/block-status/index.d.ts",
54
60
  "esm2022": "./esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs",
@@ -78,6 +84,12 @@
78
84
  "esm2022": "./esm2022/components/navigation/taiga-ui-layout-components-navigation.mjs",
79
85
  "esm": "./esm2022/components/navigation/taiga-ui-layout-components-navigation.mjs",
80
86
  "default": "./fesm2022/taiga-ui-layout-components-navigation.mjs"
87
+ },
88
+ "./components/search": {
89
+ "types": "./components/search/index.d.ts",
90
+ "esm2022": "./esm2022/components/search/taiga-ui-layout-components-search.mjs",
91
+ "esm": "./esm2022/components/search/taiga-ui-layout-components-search.mjs",
92
+ "default": "./fesm2022/taiga-ui-layout-components-search.mjs"
81
93
  }
82
94
  },
83
95
  "sideEffects": false,
@@ -0,0 +1,6 @@
1
+ import type { Provider } from '@angular/core';
2
+ export interface TuiCommonIcons {
3
+ readonly filter: string;
4
+ }
5
+ export declare const TUI_COMMON_ICONS: import("@angular/core").InjectionToken<TuiCommonIcons>;
6
+ export declare function tuiCommonIconsProvider(icons: Partial<TuiCommonIcons>): Provider;
@@ -0,0 +1 @@
1
+ export * from './common-icons';