@taiga-ui/layout 4.52.0-canary.e10b718 → 4.52.0-canary.eb5ffe3

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.
Files changed (59) hide show
  1. package/components/app-bar/app-bar.component.d.ts +2 -2
  2. package/components/app-bar/app-bar.directive.d.ts +2 -2
  3. package/components/block-status/block-status.component.d.ts +3 -3
  4. package/components/block-status/block-status.directive.d.ts +2 -2
  5. package/components/card/collapsed.directive.d.ts +2 -2
  6. package/components/card/large.directive.d.ts +3 -2
  7. package/components/card/medium.directive.d.ts +2 -1
  8. package/components/dynamic-header/dynamic-header-anchor.directive.d.ts +1 -1
  9. package/components/dynamic-header/dynamic-header-container.directive.d.ts +2 -2
  10. package/components/form/form.directive.d.ts +3 -4
  11. package/components/form/form.options.d.ts +1 -1
  12. package/components/index.d.ts +2 -2
  13. package/components/input-search/input-search.component.d.ts +4 -5
  14. package/components/item-group/item-group.directive.d.ts +3 -3
  15. package/components/navigation/aside-group.component.d.ts +6 -7
  16. package/components/navigation/aside.component.d.ts +2 -3
  17. package/components/navigation/drawer.component.d.ts +3 -3
  18. package/components/pdf-viewer/index.d.ts +1 -0
  19. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  20. package/components/search/search-filter.component.d.ts +3 -2
  21. package/components/search/search-filters.component.d.ts +6 -8
  22. package/components/surface/index.d.ts +1 -0
  23. package/components/surface/surface.directive.d.ts +6 -0
  24. package/fesm2022/taiga-ui-layout-components-app-bar.mjs +10 -18
  25. package/fesm2022/taiga-ui-layout-components-app-bar.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-layout-components-block-details.mjs +6 -9
  27. package/fesm2022/taiga-ui-layout-components-block-details.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-layout-components-block-status.mjs +10 -16
  29. package/fesm2022/taiga-ui-layout-components-block-status.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-layout-components-card.mjs +46 -56
  31. package/fesm2022/taiga-ui-layout-components-card.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs +15 -17
  33. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-layout-components-form.mjs +32 -45
  35. package/fesm2022/taiga-ui-layout-components-form.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-layout-components-input-search.mjs +11 -20
  37. package/fesm2022/taiga-ui-layout-components-input-search.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-layout-components-item-group.mjs +16 -30
  39. package/fesm2022/taiga-ui-layout-components-item-group.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-layout-components-navigation.mjs +41 -57
  41. package/fesm2022/taiga-ui-layout-components-navigation.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs +45 -0
  43. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs.map +1 -0
  44. package/fesm2022/taiga-ui-layout-components-search.mjs +21 -40
  45. package/fesm2022/taiga-ui-layout-components-search.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-layout-components-surface.mjs +33 -0
  47. package/fesm2022/taiga-ui-layout-components-surface.mjs.map +1 -0
  48. package/fesm2022/taiga-ui-layout-components.mjs +2 -2
  49. package/package.json +12 -12
  50. package/tokens/i18n.d.ts +1 -1
  51. package/components/cell/cell.directive.d.ts +0 -10
  52. package/components/cell/cell.options.d.ts +0 -6
  53. package/components/cell/index.d.ts +0 -2
  54. package/components/header/header.directive.d.ts +0 -18
  55. package/components/header/index.d.ts +0 -1
  56. package/fesm2022/taiga-ui-layout-components-cell.mjs +0 -61
  57. package/fesm2022/taiga-ui-layout-components-cell.mjs.map +0 -1
  58. package/fesm2022/taiga-ui-layout-components-header.mjs +0 -60
  59. package/fesm2022/taiga-ui-layout-components-header.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
2
  import * as i0 from '@angular/core';
3
- import { signal, ChangeDetectionStrategy, ViewEncapsulation, Component, TemplateRef, inject, ViewChild, computed, ElementRef, Input, ContentChildren } from '@angular/core';
3
+ import { signal, ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, TemplateRef, effect, inject, ElementRef, contentChildren, computed, Input } from '@angular/core';
4
4
  import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button';
5
5
  import * as i1$1 from '@taiga-ui/core/components/textfield';
6
6
  import { tuiTextfieldOptionsProvider, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
@@ -10,10 +10,9 @@ import { NgTemplateOutlet } from '@angular/common';
10
10
  import { toSignal } from '@angular/core/rxjs-interop';
11
11
  import { NgControl } from '@angular/forms';
12
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';
13
+ import { tuiZonefull } from '@taiga-ui/cdk/observables';
15
14
  import { tuiIsControlEmpty } from '@taiga-ui/cdk/utils/miscellaneous';
16
- import { map, distinctUntilChanged, switchMap, merge } from 'rxjs';
15
+ import { map, distinctUntilChanged } from 'rxjs';
17
16
  import * as i1 from '@taiga-ui/core/directives/dropdown';
18
17
  import { tuiDropdown, tuiDropdownOptionsProvider, TuiDropdownDirective, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown';
19
18
  import { TUI_ICON_START } from '@taiga-ui/core/tokens';
@@ -41,18 +40,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
41
40
  class TuiSearchFilterComponent {
42
41
  constructor() {
43
42
  this.dropdown = tuiDropdown(null);
44
- }
45
- set template(template) {
46
- this.dropdown.set(template);
43
+ this.template = viewChild(TemplateRef);
44
+ this.ef = effect(() => this.dropdown.set(this.template()));
47
45
  }
48
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiSearchFilterComponent, isStandalone: true, selector: "button[tuiSearchFilter]", providers: [
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.15", type: TuiSearchFilterComponent, isStandalone: true, selector: "button[tuiSearchFilter]", providers: [
50
48
  tuiDropdownOptionsProvider({ align: 'right' }),
51
49
  {
52
50
  provide: TUI_ICON_START,
53
51
  useFactory: () => inject(TUI_COMMON_ICONS).filter,
54
52
  },
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>filters', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>filters', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
54
  }
57
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchFilterComponent, decorators: [{
58
56
  type: Component,
@@ -70,17 +68,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
70
68
  ],
71
69
  hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen],
72
70
  }]
73
- }], propDecorators: { template: [{
74
- type: ViewChild,
75
- args: [TemplateRef]
76
- }] } });
71
+ }] });
77
72
 
78
73
  const WIDTH = 12;
79
74
  class TuiSearchFiltersComponent {
80
75
  constructor() {
81
- this.children = EMPTY_QUERY;
82
- this.controls = signal([]);
83
- this.templates = EMPTY_QUERY;
76
+ this.rem = viewChild('rem');
77
+ this.button = viewChild(TuiButton, { read: ElementRef });
78
+ this.controls = contentChildren(NgControl, { descendants: true });
79
+ this.templates = contentChildren(TuiItem, {
80
+ descendants: true,
81
+ read: TemplateRef,
82
+ });
84
83
  this.overflown = toSignal(inject(ResizeObserverService, { self: true }).pipe(map((entry) => {
85
84
  const width = entry[0]?.contentRect.width ?? 0;
86
85
  return Math.floor((width - this.more) / WIDTH / this.unit);
@@ -88,30 +87,24 @@ class TuiSearchFiltersComponent {
88
87
  this.enabled = computed(() => this.controls().some(({ control }, index) => control && index >= this.overflown() && !tuiIsControlEmpty(control)));
89
88
  this.size = 'm';
90
89
  }
91
- // TODO: Refactor to signal queries when Angular is updated
92
- ngAfterContentInit() {
93
- tuiQueryListChanges(this.children)
94
- .pipe(switchMap((all) => merge(...all.map((c) => tuiControlValue(c)))), map(() => this.children.toArray()))
95
- .subscribe((controls) => this.controls.set(controls));
96
- }
97
90
  onReset() {
98
- this.children.forEach(({ control }, index) => {
91
+ this.controls().forEach(({ control }, index) => {
99
92
  if (control && index >= this.overflown()) {
100
93
  control.setValue(null);
101
94
  }
102
95
  });
103
96
  }
104
97
  get unit() {
105
- return this.rem?.nativeElement.offsetWidth || 16;
98
+ return this.rem()?.nativeElement.offsetWidth || 16;
106
99
  }
107
100
  get more() {
108
- return this.button?.nativeElement.clientWidth || 0;
101
+ return this.button()?.nativeElement.clientWidth || 0;
109
102
  }
110
103
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
104
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiSearchFiltersComponent, isStandalone: true, selector: "tui-search-filters", inputs: { size: "size" }, providers: [
112
105
  ResizeObserverService,
113
106
  tuiButtonOptionsProvider({ size: 'xs', appearance: 'flat' }),
114
- ], 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: "@for (template of templates; track template; let i = $index) {\n @if (i < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates.length) {\n <button\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 @for (template of templates; track template; let i = $index) {\n @if (i >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-inline-size:0}.t-rem{position:absolute;inline-size:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;inline-size:.625rem;block-size:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-inline-size:25.5rem;max-inline-size: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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiSearchFilterComponent, selector: "button[tuiSearchFilter]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
107
+ ], queries: [{ propertyName: "controls", predicate: NgControl, descendants: true, isSignal: true }, { propertyName: "templates", predicate: TuiItem, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "rem", first: true, predicate: ["rem"], descendants: true, isSignal: true }, { propertyName: "button", first: true, predicate: TuiButton, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldSize", "size"] }], ngImport: i0, template: "@for (template of templates(); track template) {\n @if ($index < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates().length) {\n <button\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 @for (template of templates(); track template) {\n @if ($index >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-inline-size:0}.t-rem{position:absolute;inline-size:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;inline-size:.625rem;block-size:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-inline-size:25.5rem;max-inline-size: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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiSearchFilterComponent, selector: "button[tuiSearchFilter]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
115
108
  }
116
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSearchFiltersComponent, decorators: [{
117
110
  type: Component,
@@ -123,20 +116,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
123
116
  directive: TuiTextfieldOptionsDirective,
124
117
  inputs: ['tuiTextfieldSize: size'],
125
118
  },
126
- ], template: "@for (template of templates; track template; let i = $index) {\n @if (i < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates.length) {\n <button\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 @for (template of templates; track template; let i = $index) {\n @if (i >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-inline-size:0}.t-rem{position:absolute;inline-size:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;inline-size:.625rem;block-size:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-inline-size:25.5rem;max-inline-size: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"] }]
127
- }], propDecorators: { rem: [{
128
- type: ViewChild,
129
- args: ['rem']
130
- }], button: [{
131
- type: ViewChild,
132
- args: [TuiButton, { read: ElementRef }]
133
- }], children: [{
134
- type: ContentChildren,
135
- args: [NgControl, { descendants: true }]
136
- }], templates: [{
137
- type: ContentChildren,
138
- args: [TuiItem, { descendants: true, read: TemplateRef }]
139
- }], size: [{
119
+ ], template: "@for (template of templates(); track template) {\n @if ($index < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates().length) {\n <button\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 @for (template of templates(); track template) {\n @if ($index >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\n", styles: [":host{display:flex;flex:1;gap:inherit;justify-content:flex-end;min-inline-size:0}.t-rem{position:absolute;inline-size:1rem}.t-button{overflow:visible}.t-button._active:after{content:\"\";position:absolute;top:.25rem;right:.25rem;display:block;inline-size:.625rem;block-size:.625rem;background:var(--tui-status-warning);transform:translate(50%,-50%);border-radius:100%;margin:0}.t-form{display:flex;min-inline-size:25.5rem;max-inline-size: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"] }]
120
+ }], propDecorators: { size: [{
140
121
  type: Input
141
122
  }] } });
142
123
 
@@ -1 +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>filters',\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 {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChildren,\n ElementRef,\n inject,\n Input,\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 selector: 'tui-search-filters',\n imports: [NgTemplateOutlet, TuiButton, 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((entry) => {\n const width = entry[0]?.contentRect.width ?? 0;\n\n return Math.floor((width - this.more) / WIDTH / this.unit);\n }),\n distinctUntilChanged(),\n tuiZonefull(),\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","@for (template of templates; track template; let i = $index) {\n @if (i < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates.length) {\n <button\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 @for (template of templates; track template; let i = $index) {\n @if (i >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\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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"}
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 styleUrl: './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 effect,\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';\n\n@Component({\n standalone: true,\n selector: 'button[tuiSearchFilter]',\n template: '<ng-template><ng-content /></ng-template>filters',\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 protected readonly template = viewChild(TemplateRef);\n protected readonly ef = effect(() => this.dropdown.set(this.template()));\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n ElementRef,\n inject,\n Input,\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 {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiZonefull} 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} from 'rxjs';\n\nimport {TuiSearchFilterComponent} from './search-filter.component';\n\nconst WIDTH = 12;\n\n@Component({\n selector: 'tui-search-filters',\n imports: [NgTemplateOutlet, TuiButton, TuiSearchFilterComponent],\n templateUrl: './search-filters.template.html',\n styleUrl: './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 {\n private readonly rem = viewChild<ElementRef<HTMLDivElement>>('rem');\n\n private readonly button = viewChild(TuiButton, {read: ElementRef});\n\n private readonly controls = contentChildren(NgControl, {descendants: true});\n\n protected readonly templates = contentChildren(TuiItem, {\n descendants: true,\n read: TemplateRef,\n });\n\n protected readonly overflown = toSignal(\n inject(ResizeObserverService, {self: true}).pipe(\n map((entry) => {\n const width = entry[0]?.contentRect.width ?? 0;\n\n return Math.floor((width - this.more) / WIDTH / this.unit);\n }),\n distinctUntilChanged(),\n tuiZonefull(),\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 protected onReset(): void {\n this.controls().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","@for (template of templates(); track template) {\n @if ($index < overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n}\n<div\n #rem\n class=\"t-rem\"\n></div>\n@if (overflown() < templates().length) {\n <button\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 @for (template of templates(); track template) {\n @if ($index >= overflown()) {\n <ng-container [ngTemplateOutlet]=\"template\" />\n }\n }\n </form>\n </button>\n}\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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"}
@@ -0,0 +1,33 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, Directive } from '@angular/core';
3
+ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
+
5
+ class Styles {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-surface" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiSurface]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--tui-gap: .25rem;position:relative;box-sizing:border-box;background:none no-repeat;background-size:cover;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;border:0;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:backdrop-filter,background,border-radius,box-shadow,mask,transform!important}[tuiSurface]:focus-visible{outline-color:var(--tui-border-focus)}@supports (not (-moz-appearance: none)) and (not (-webkit-hyphens: none)){[tuiSurface]:before{mix-blend-mode:multiply}}button[tuiSurface]{cursor:pointer}[tuiSurface]:before,[tuiSurface]:after,[tuiSurfaceLayer]:before,[tuiSurfaceLayer]:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";z-index:-1;border-radius:inherit;pointer-events:none;background-size:cover;background-repeat:no-repeat;transition-property:opacity,backdrop-filter,transform}[tuiSurfaceLayer]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;position:absolute!important;z-index:-1;object-fit:cover;border-radius:inherit;box-sizing:border-box;transition-property:box-shadow,filter,padding}input[tuiSurfaceLayer]+[tuiSurfaceLayer]{will-change:padding;background-clip:content-box;overflow:clip;overflow-clip-margin:content-box}input[tuiSurfaceLayer]:checked+[tuiSurfaceLayer]{padding:var(--tui-gap)}input[tuiSurfaceLayer]:focus-visible+[tuiSurfaceLayer]{padding:var(--tui-gap)}@media (hover: hover) and (pointer: fine){[tuiSurface]:hover input[tuiSurfaceLayer]+[tuiSurfaceLayer]{padding:var(--tui-gap)}}input[tuiSurfaceLayer]{color:var(--tui-background-accent-2);-webkit-appearance:none;appearance:none;margin:0;border-radius:inherit;outline:none;box-shadow:inset 0 0,inset 0 0 var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:checked{box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:focus-visible{box-shadow:inset 0 0,inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:checked:focus-visible{filter:brightness(.7);box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}@media (hover: hover) and (pointer: fine){[tuiSurface]:hover input[tuiSurfaceLayer]{box-shadow:inset 0 0,inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}[tuiSurface]:hover input[tuiSurfaceLayer]:checked{filter:brightness(.9);box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}}[tuiSurface][data-appearance=floating]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{box-shadow:var(--tui-shadow-small);transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=floating]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{box-shadow:var(--tui-shadow-small-hover);transform:translate3d(0,-.25rem,0);background:var(--tui-background-elevation-2)}}[tuiSurface][data-appearance=floating]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{box-shadow:var(--tui-shadow-small);transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=floating]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{box-shadow:var(--tui-shadow-small-hover);transform:translate3d(0,-.25rem,0);background:var(--tui-background-elevation-2)}}[tuiSurface][data-appearance=neutral]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=neutral]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{transform:scale(1.15)}}[tuiSurface][data-appearance=neutral]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=neutral]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{transform:scale(1.15)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
10
+ type: Component,
11
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-surface' }, styles: ["[tuiSurface]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;--tui-gap: .25rem;position:relative;box-sizing:border-box;background:none no-repeat;background-size:cover;overflow:hidden;isolation:isolate;-webkit-appearance:none;appearance:none;border:0;font-size:inherit;line-height:inherit;text-decoration:none;transition-property:backdrop-filter,background,border-radius,box-shadow,mask,transform!important}[tuiSurface]:focus-visible{outline-color:var(--tui-border-focus)}@supports (not (-moz-appearance: none)) and (not (-webkit-hyphens: none)){[tuiSurface]:before{mix-blend-mode:multiply}}button[tuiSurface]{cursor:pointer}[tuiSurface]:before,[tuiSurface]:after,[tuiSurfaceLayer]:before,[tuiSurfaceLayer]:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";z-index:-1;border-radius:inherit;pointer-events:none;background-size:cover;background-repeat:no-repeat;transition-property:opacity,backdrop-filter,transform}[tuiSurfaceLayer]{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:0;left:0;inline-size:100%;block-size:100%;position:absolute!important;z-index:-1;object-fit:cover;border-radius:inherit;box-sizing:border-box;transition-property:box-shadow,filter,padding}input[tuiSurfaceLayer]+[tuiSurfaceLayer]{will-change:padding;background-clip:content-box;overflow:clip;overflow-clip-margin:content-box}input[tuiSurfaceLayer]:checked+[tuiSurfaceLayer]{padding:var(--tui-gap)}input[tuiSurfaceLayer]:focus-visible+[tuiSurfaceLayer]{padding:var(--tui-gap)}@media (hover: hover) and (pointer: fine){[tuiSurface]:hover input[tuiSurfaceLayer]+[tuiSurfaceLayer]{padding:var(--tui-gap)}}input[tuiSurfaceLayer]{color:var(--tui-background-accent-2);-webkit-appearance:none;appearance:none;margin:0;border-radius:inherit;outline:none;box-shadow:inset 0 0,inset 0 0 var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:checked{box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:focus-visible{box-shadow:inset 0 0,inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}input[tuiSurfaceLayer]:checked:focus-visible{filter:brightness(.7);box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}@media (hover: hover) and (pointer: fine){[tuiSurface]:hover input[tuiSurfaceLayer]{box-shadow:inset 0 0,inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}[tuiSurface]:hover input[tuiSurfaceLayer]:checked{filter:brightness(.9);box-shadow:inset 0 0 0 calc(var(--tui-gap) / 2),inset 0 0 0 calc(var(--tui-gap) / 2) var(--tui-background-neutral-1)}}[tuiSurface][data-appearance=floating]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{box-shadow:var(--tui-shadow-small);transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=floating]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{box-shadow:var(--tui-shadow-small-hover);transform:translate3d(0,-.25rem,0);background:var(--tui-background-elevation-2)}}[tuiSurface][data-appearance=floating]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{box-shadow:var(--tui-shadow-small);transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=floating]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{box-shadow:var(--tui-shadow-small-hover);transform:translate3d(0,-.25rem,0);background:var(--tui-background-elevation-2)}}[tuiSurface][data-appearance=neutral]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=neutral]:matches(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{transform:scale(1.15)}}[tuiSurface][data-appearance=neutral]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):active{transform:scale(.95)}@media (hover: hover) and (pointer: fine){[tuiSurface][data-appearance=neutral]:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled):hover{transform:scale(1.15)}}\n"] }]
12
+ }] });
13
+ class TuiSurface {
14
+ constructor() {
15
+ this.nothing = tuiWithStyles(Styles);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSurface, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiSurface, isStandalone: true, selector: "[tuiSurface]", host: { attributes: { "tuiSurface": "" } }, ngImport: i0 }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSurface, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[tuiSurface]',
24
+ host: { tuiSurface: '' },
25
+ }]
26
+ }] });
27
+
28
+ /**
29
+ * Generated bundle index. Do not edit.
30
+ */
31
+
32
+ export { TuiSurface };
33
+ //# sourceMappingURL=taiga-ui-layout-components-surface.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-layout-components-surface.mjs","sources":["../../../projects/layout/components/surface/surface.directive.ts","../../../projects/layout/components/surface/taiga-ui-layout-components-surface.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n template: '',\n styleUrl: './surface.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-surface'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiSurface]',\n host: {tuiSurface: ''},\n})\nexport class TuiSurface {\n protected readonly nothing = tuiWithStyles(Styles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAOM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,iHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,61IAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAMV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAPX,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA,EAAC,KAAK,EAAE,aAAa,EAAC,EAAA,MAAA,EAAA,CAAA,61IAAA,CAAA,EAAA;;MAQnB,UAAU,CAAA;AAJvB,IAAA,WAAA,GAAA;AAKuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AACrD;+GAFY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,IAAI,EAAE,EAAC,UAAU,EAAE,EAAE,EAAC;AACzB,iBAAA;;;ACpBD;;AAEG;;;;"}
@@ -2,14 +2,14 @@ export * from '@taiga-ui/layout/components/app-bar';
2
2
  export * from '@taiga-ui/layout/components/block-details';
3
3
  export * from '@taiga-ui/layout/components/block-status';
4
4
  export * from '@taiga-ui/layout/components/card';
5
- export * from '@taiga-ui/layout/components/cell';
6
5
  export * from '@taiga-ui/layout/components/dynamic-header';
7
6
  export * from '@taiga-ui/layout/components/form';
8
- export * from '@taiga-ui/layout/components/header';
9
7
  export * from '@taiga-ui/layout/components/input-search';
10
8
  export * from '@taiga-ui/layout/components/item-group';
11
9
  export * from '@taiga-ui/layout/components/navigation';
10
+ export * from '@taiga-ui/layout/components/pdf-viewer';
12
11
  export * from '@taiga-ui/layout/components/search';
12
+ export * from '@taiga-ui/layout/components/surface';
13
13
 
14
14
  /**
15
15
  * Generated bundle index. Do not edit.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/layout",
3
- "version": "4.52.0-canary.e10b718",
3
+ "version": "4.52.0-canary.eb5ffe3",
4
4
  "description": "A package with Taiga UI layout components",
5
5
  "keywords": [
6
6
  "angular",
@@ -53,21 +53,13 @@
53
53
  "types": "./components/card/index.d.ts",
54
54
  "default": "./fesm2022/taiga-ui-layout-components-card.mjs"
55
55
  },
56
- "./components/cell": {
57
- "types": "./components/cell/index.d.ts",
58
- "default": "./fesm2022/taiga-ui-layout-components-cell.mjs"
59
- },
60
- "./components/form": {
61
- "types": "./components/form/index.d.ts",
62
- "default": "./fesm2022/taiga-ui-layout-components-form.mjs"
63
- },
64
56
  "./components/dynamic-header": {
65
57
  "types": "./components/dynamic-header/index.d.ts",
66
58
  "default": "./fesm2022/taiga-ui-layout-components-dynamic-header.mjs"
67
59
  },
68
- "./components/header": {
69
- "types": "./components/header/index.d.ts",
70
- "default": "./fesm2022/taiga-ui-layout-components-header.mjs"
60
+ "./components/form": {
61
+ "types": "./components/form/index.d.ts",
62
+ "default": "./fesm2022/taiga-ui-layout-components-form.mjs"
71
63
  },
72
64
  "./components/input-search": {
73
65
  "types": "./components/input-search/index.d.ts",
@@ -84,6 +76,14 @@
84
76
  "./components/search": {
85
77
  "types": "./components/search/index.d.ts",
86
78
  "default": "./fesm2022/taiga-ui-layout-components-search.mjs"
79
+ },
80
+ "./components/pdf-viewer": {
81
+ "types": "./components/pdf-viewer/index.d.ts",
82
+ "default": "./fesm2022/taiga-ui-layout-components-pdf-viewer.mjs"
83
+ },
84
+ "./components/surface": {
85
+ "types": "./components/surface/index.d.ts",
86
+ "default": "./fesm2022/taiga-ui-layout-components-surface.mjs"
87
87
  }
88
88
  },
89
89
  "sideEffects": false,
package/tokens/i18n.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- export declare const TUI_INPUT_SEARCH: InjectionToken<import("rxjs").Observable<{
2
+ export declare const TUI_INPUT_SEARCH: InjectionToken<import("@angular/core").Signal<{
3
3
  popular: string;
4
4
  history: string;
5
5
  placeholder: string;
@@ -1,10 +0,0 @@
1
- import { type TuiCellOptions } from './cell.options';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiCell {
4
- protected readonly options: TuiCellOptions;
5
- protected readonly nothing: undefined;
6
- size: TuiCellOptions['size'] | '';
7
- height: TuiCellOptions['height'];
8
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiCell, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCell, "[tuiCell]:not(ng-template)", never, { "size": { "alias": "tuiCell"; "required": false; }; "height": { "alias": "tuiCellHeight"; "required": false; }; }, {}, never, never, true, never>;
10
- }
@@ -1,6 +0,0 @@
1
- import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
2
- export interface TuiCellOptions {
3
- readonly height: 'compact' | 'normal' | 'spacious';
4
- readonly size: TuiSizeL | TuiSizeS;
5
- }
6
- export declare const TUI_CELL_OPTIONS: import("@angular/core").InjectionToken<TuiCellOptions>, tuiCellOptionsProvider: (item: Partial<TuiCellOptions> | (() => Partial<TuiCellOptions>)) => import("@angular/core").FactoryProvider;
@@ -1,2 +0,0 @@
1
- export * from './cell.directive';
2
- export * from './cell.options';
@@ -1,18 +0,0 @@
1
- import { type TuiSizeXXL, type TuiSizeXXS } from '@taiga-ui/core/types';
2
- import * as i0 from "@angular/core";
3
- export declare const TUI_HEADER_OPTIONS: import("@angular/core").InjectionToken<{
4
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
5
- }>, tuiHeaderOptionsProvider: (item: Partial<{
6
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
7
- }> | (() => Partial<{
8
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
9
- }>)) => import("@angular/core").FactoryProvider;
10
- export declare class TuiHeader {
11
- protected readonly options: {
12
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
13
- };
14
- protected readonly nothing: undefined;
15
- size: TuiSizeXXL | TuiSizeXXS | '' | 'body-l' | 'body-m' | 'body-xl' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
16
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHeader, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHeader, "[tuiHeader]", never, { "size": { "alias": "tuiHeader"; "required": false; }; }, {}, never, never, true, never>;
18
- }
@@ -1 +0,0 @@
1
- export * from './header.directive';
@@ -1,61 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
3
- import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
- import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
5
- import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
6
- import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
7
-
8
- const [TUI_CELL_OPTIONS, tuiCellOptionsProvider] = tuiCreateOptions({ height: 'normal', size: 'l' });
9
-
10
- class TuiCellStyles {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCellStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiCellStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-cell" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiCell]{--t-padding: .125rem 1rem;--t-radius: var(--tui-radius-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-padding);min-block-size:var(--t-height);border-radius:var(--t-radius)}[tuiCell]:disabled,[tuiCell][data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:disabled>*:not([tuiTooltip]),[tuiCell][data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell] [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-height);align-items:center;align-self:stretch}[tuiCell] [tuiCellActions][tuiCellActions]{position:absolute;right:0;z-index:1;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell] [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell] [tuiCellActions][tuiCellActions] button,[tuiCell] [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell] [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell] [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell] [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell] [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell] [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell] [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell] tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);left:-.625rem}[tuiCell][data-size=s]{--t-height: calc(var(--tui-height-s) - .125rem);--t-padding: .1875rem 1rem}[tuiCell][data-size=s][data-height=spacious]{--t-padding: .4375rem 1rem}[tuiCell][data-size=s][data-height=compact]{--t-height: calc(var(--tui-height-s) - .25rem);--t-padding: 0 1rem}[tuiCell][data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-font-text-ui-s);gap:0}[tuiCell][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-ui-xs)}[tuiCell][data-size=s]>*:not(:first-child),[tuiCell][data-size=s]>[tuiAccessories]>*:not(:first-child){margin-inline-start:.5rem}[tuiCell][data-size=s]>[tuiAvatar],[tuiCell][data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-font-text-m);font-size:.5625rem}[tuiCell][data-size=m]{--t-height: calc(var(--tui-height-m) - .75rem);--t-padding: .375rem 1rem}[tuiCell][data-size=m][data-height=spacious]{--t-padding: 1rem}[tuiCell][data-size=m][data-height=compact]{--t-height: calc(var(--tui-height-m) - .5rem);--t-padding: 0 1rem}[tuiCell][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-s);gap:.125rem}[tuiCell][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-ui-xs)}[tuiCell][data-size=m]>*:not(:first-child),[tuiCell][data-size=m]>[tuiAccessories]>*:not(:first-child){margin-inline-start:.5rem}[tuiCell][data-size=m]>[tuiAvatar],[tuiCell][data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell][data-size=l]{--t-height: calc(var(--tui-height-l) - 1rem);--t-padding: .5rem 1rem;--t-radius: var(--tui-radius-l)}[tuiCell][data-size=l][data-height=spacious]{--t-padding: 1.25rem 1rem}[tuiCell][data-size=l][data-height=compact]{--t-height: calc(var(--tui-height-l) - 1rem);--t-padding: 0 1rem}[tuiCell][data-size=l]>*:not(:first-child),[tuiCell][data-size=l]>[tuiAccessories]>*:not(:first-child){margin-inline-start:1rem}[tuiCell][data-size=l]>[tuiAvatar],[tuiCell][data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-font-text-m);font-weight:700;align-self:flex-start}[tuiCell]:hover [tuiCellActions]~*{opacity:0}[tuiCell]:hover [tuiCellActions] button,[tuiCell]:hover [tuiCellActions] a,[tuiCell]:hover [tuiCellActions] label{opacity:1}[tuiCell]:focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}[tuiOption] [tuiCell],tui-primitive-textfield [tuiCell],tui-textfield [tuiCell]{padding:0;white-space:nowrap;overflow:hidden;border-radius:0}@media (hover: hover) and (pointer: fine){a[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:not([tuiSurface]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCellStyles, decorators: [{
15
- type: Component,
16
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
17
- class: 'tui-cell',
18
- }, styles: ["[tuiCell]{--t-padding: .125rem 1rem;--t-radius: var(--tui-radius-s);-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-padding);min-block-size:var(--t-height);border-radius:var(--t-radius)}[tuiCell]:disabled,[tuiCell][data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:disabled>*:not([tuiTooltip]),[tuiCell][data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell] [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-height);align-items:center;align-self:stretch}[tuiCell] [tuiCellActions][tuiCellActions]{position:absolute;right:0;z-index:1;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell] [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell] [tuiCellActions][tuiCellActions] button,[tuiCell] [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell] [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell] [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell] [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell] [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell] [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell] [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell] tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);left:-.625rem}[tuiCell][data-size=s]{--t-height: calc(var(--tui-height-s) - .125rem);--t-padding: .1875rem 1rem}[tuiCell][data-size=s][data-height=spacious]{--t-padding: .4375rem 1rem}[tuiCell][data-size=s][data-height=compact]{--t-height: calc(var(--tui-height-s) - .25rem);--t-padding: 0 1rem}[tuiCell][data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-font-text-ui-s);gap:0}[tuiCell][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-ui-xs)}[tuiCell][data-size=s]>*:not(:first-child),[tuiCell][data-size=s]>[tuiAccessories]>*:not(:first-child){margin-inline-start:.5rem}[tuiCell][data-size=s]>[tuiAvatar],[tuiCell][data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-font-text-m);font-size:.5625rem}[tuiCell][data-size=m]{--t-height: calc(var(--tui-height-m) - .75rem);--t-padding: .375rem 1rem}[tuiCell][data-size=m][data-height=spacious]{--t-padding: 1rem}[tuiCell][data-size=m][data-height=compact]{--t-height: calc(var(--tui-height-m) - .5rem);--t-padding: 0 1rem}[tuiCell][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-s);gap:.125rem}[tuiCell][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-ui-xs)}[tuiCell][data-size=m]>*:not(:first-child),[tuiCell][data-size=m]>[tuiAccessories]>*:not(:first-child){margin-inline-start:.5rem}[tuiCell][data-size=m]>[tuiAvatar],[tuiCell][data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell][data-size=l]{--t-height: calc(var(--tui-height-l) - 1rem);--t-padding: .5rem 1rem;--t-radius: var(--tui-radius-l)}[tuiCell][data-size=l][data-height=spacious]{--t-padding: 1.25rem 1rem}[tuiCell][data-size=l][data-height=compact]{--t-height: calc(var(--tui-height-l) - 1rem);--t-padding: 0 1rem}[tuiCell][data-size=l]>*:not(:first-child),[tuiCell][data-size=l]>[tuiAccessories]>*:not(:first-child){margin-inline-start:1rem}[tuiCell][data-size=l]>[tuiAvatar],[tuiCell][data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell][data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell][data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-font-text-m);font-weight:700;align-self:flex-start}[tuiCell]:hover [tuiCellActions]~*{opacity:0}[tuiCell]:hover [tuiCellActions] button,[tuiCell]:hover [tuiCellActions] a,[tuiCell]:hover [tuiCellActions] label{opacity:1}[tuiCell]:focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}[tuiOption] [tuiCell],tui-primitive-textfield [tuiCell],tui-textfield [tuiCell]{padding:0;white-space:nowrap;overflow:hidden;border-radius:0}@media (hover: hover) and (pointer: fine){a[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:not([tuiSurface]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:not([tuiSurface]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"] }]
19
- }] });
20
- class TuiCell {
21
- constructor() {
22
- this.options = inject(TUI_CELL_OPTIONS);
23
- this.nothing = tuiWithStyles(TuiCellStyles);
24
- this.size = this.options.size;
25
- this.height = this.options.height;
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiCell, isStandalone: true, selector: "[tuiCell]:not(ng-template)", inputs: { size: ["tuiCell", "size"], height: ["tuiCellHeight", "height"] }, host: { attributes: { "tuiCell": "" }, properties: { "attr.data-size": "size || options.size", "attr.data-height": "height" } }, providers: [
29
- tuiAvatarOptionsProvider({ size: 'm' }),
30
- tuiButtonOptionsProvider({ size: 's' }),
31
- ], ngImport: i0 }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiCell, decorators: [{
34
- type: Directive,
35
- args: [{
36
- standalone: true,
37
- selector: '[tuiCell]:not(ng-template)',
38
- providers: [
39
- tuiAvatarOptionsProvider({ size: 'm' }),
40
- tuiButtonOptionsProvider({ size: 's' }),
41
- ],
42
- host: {
43
- tuiCell: '',
44
- '[attr.data-size]': 'size || options.size',
45
- '[attr.data-height]': 'height',
46
- },
47
- }]
48
- }], propDecorators: { size: [{
49
- type: Input,
50
- args: ['tuiCell']
51
- }], height: [{
52
- type: Input,
53
- args: ['tuiCellHeight']
54
- }] } });
55
-
56
- /**
57
- * Generated bundle index. Do not edit.
58
- */
59
-
60
- export { TUI_CELL_OPTIONS, TuiCell, tuiCellOptionsProvider };
61
- //# sourceMappingURL=taiga-ui-layout-components-cell.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-layout-components-cell.mjs","sources":["../../../projects/layout/components/cell/cell.options.ts","../../../projects/layout/components/cell/cell.directive.ts","../../../projects/layout/components/cell/taiga-ui-layout-components-cell.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiCellOptions {\n readonly height: 'compact' | 'normal' | 'spacious';\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const [TUI_CELL_OPTIONS, tuiCellOptionsProvider] =\n tuiCreateOptions<TuiCellOptions>({height: 'normal', size: 'l'});\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\n\nimport {TUI_CELL_OPTIONS, type TuiCellOptions} from './cell.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./cell.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-cell',\n },\n})\nclass TuiCellStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiCell]:not(ng-template)',\n providers: [\n tuiAvatarOptionsProvider({size: 'm'}),\n tuiButtonOptionsProvider({size: 's'}),\n ],\n host: {\n tuiCell: '',\n '[attr.data-size]': 'size || options.size',\n '[attr.data-height]': 'height',\n },\n})\nexport class TuiCell {\n protected readonly options = inject(TUI_CELL_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiCellStyles);\n\n @Input('tuiCell')\n public size: TuiCellOptions['size'] | '' = this.options.size;\n\n @Input('tuiCellHeight')\n public height: TuiCellOptions['height'] = this.options.height;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,60 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, Input, Directive } from '@angular/core';
3
- import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
4
- import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
5
- import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
6
- import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
7
- import { tuiBadgeOptionsProvider } from '@taiga-ui/kit/components/badge';
8
-
9
- const [TUI_HEADER_OPTIONS, tuiHeaderOptionsProvider] = tuiCreateOptions({
10
- size: 'h5',
11
- });
12
- class TuiHeaderStyles {
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeaderStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiHeaderStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-header" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiHeader]{position:relative;display:flex;align-items:flex-start;box-sizing:content-box;color:var(--tui-text-primary);margin:0;text-align:start;overflow-wrap:break-word}[tuiHeader] p{margin:.25rem 0 0;font:var(--tui-font-text-m)}[tuiHeader] p:empty{display:none}[tuiHeader] [tuiTitle]{flex-grow:2;margin:0}[tuiHeader] [tuiTitle]:empty{display:none}[tuiHeader] [tuiAccessories]{display:flex;align-items:center;gap:.75rem;white-space:nowrap}[tuiHeader] [tuiAccessories]:has([tuiLink]){align-items:baseline}[tuiHeader] [tuiAccessories]:before{content:\"\\200b\";visibility:hidden}[tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-m);color:var(--tui-text-secondary);margin:0}[tuiHeader] [tuiLink]{font:var(--tui-font-text-m)}[tuiHeader] [tuiCaption]{font:var(--tui-font-text-s);color:var(--tui-text-secondary);font-weight:500;text-transform:uppercase;margin:0}[tuiHeader][data-size=xxl] [tuiTitle],[tuiHeader][data-size=h1] [tuiTitle],[tuiHeader][data-size=xxl] [tuiAccessories],[tuiHeader][data-size=h1] [tuiAccessories]{font:var(--tui-font-heading-1)}[tuiHeader][data-size=xl] [tuiTitle],[tuiHeader][data-size=h2] [tuiTitle],[tuiHeader][data-size=xl] [tuiAccessories],[tuiHeader][data-size=h2] [tuiAccessories]{font:var(--tui-font-heading-2)}[tuiHeader][data-size=l] [tuiTitle],[tuiHeader][data-size=h3] [tuiTitle],[tuiHeader][data-size=l] [tuiAccessories],[tuiHeader][data-size=h3] [tuiAccessories]{font:var(--tui-font-heading-3)}[tuiHeader][data-size=m] [tuiTitle],[tuiHeader][data-size=h4] [tuiTitle],[tuiHeader][data-size=m] [tuiAccessories],[tuiHeader][data-size=h4] [tuiAccessories]{font:var(--tui-font-heading-4)}[tuiHeader][data-size=s] [tuiTitle],[tuiHeader][data-size=h5] [tuiTitle],[tuiHeader][data-size=s] [tuiAccessories],[tuiHeader][data-size=h5] [tuiAccessories]{font:var(--tui-font-heading-5)}[tuiHeader][data-size=xs] [tuiTitle],[tuiHeader][data-size=h6] [tuiTitle],[tuiHeader][data-size=xs] [tuiAccessories],[tuiHeader][data-size=h6] [tuiAccessories]{font:var(--tui-font-heading-6)}[tuiHeader][data-size=xxs] [tuiTitle],[tuiHeader][data-size=body-xl] [tuiTitle],[tuiHeader][data-size=xxs] [tuiAccessories],[tuiHeader][data-size=body-xl] [tuiAccessories]{font:var(--tui-font-text-xl)}[tuiHeader][data-size=xxs] [tuiTitle],[tuiHeader][data-size=body-xl] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-l] [tuiTitle],[tuiHeader][data-size=body-l] [tuiAccessories]{font:var(--tui-font-text-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m] [tuiTitle],[tuiHeader][data-size=body-m] [tuiAccessories]{font:var(--tui-font-text-m)}[tuiHeader][data-size=body-m] [tuiTitle]{gap:.125rem;font-weight:700}[tuiHeader][data-size=body-m] [tuiSubtitle],[tuiHeader][data-size=body-l] [tuiSubtitle],[tuiHeader][data-size=body-m] [tuiLink],[tuiHeader][data-size=body-l] [tuiLink]{font:var(--tui-font-text-s)}[tuiHeader][data-size=xxl] [tuiSubtitle],[tuiHeader][data-size=xl] [tuiSubtitle],[tuiHeader][data-size=l] [tuiSubtitle],[tuiHeader][data-size=h1] [tuiSubtitle],[tuiHeader][data-size=h2] [tuiSubtitle],[tuiHeader][data-size=h3] [tuiSubtitle],[tuiHeader][data-size=xxl] [tuiLink],[tuiHeader][data-size=xl] [tuiLink],[tuiHeader][data-size=l] [tuiLink],[tuiHeader][data-size=h1] [tuiLink],[tuiHeader][data-size=h2] [tuiLink],[tuiHeader][data-size=h3] [tuiLink]{font:var(--tui-font-text-l)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeaderStyles, decorators: [{
17
- type: Component,
18
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
19
- class: 'tui-header',
20
- }, styles: ["[tuiHeader]{position:relative;display:flex;align-items:flex-start;box-sizing:content-box;color:var(--tui-text-primary);margin:0;text-align:start;overflow-wrap:break-word}[tuiHeader] p{margin:.25rem 0 0;font:var(--tui-font-text-m)}[tuiHeader] p:empty{display:none}[tuiHeader] [tuiTitle]{flex-grow:2;margin:0}[tuiHeader] [tuiTitle]:empty{display:none}[tuiHeader] [tuiAccessories]{display:flex;align-items:center;gap:.75rem;white-space:nowrap}[tuiHeader] [tuiAccessories]:has([tuiLink]){align-items:baseline}[tuiHeader] [tuiAccessories]:before{content:\"\\200b\";visibility:hidden}[tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-m);color:var(--tui-text-secondary);margin:0}[tuiHeader] [tuiLink]{font:var(--tui-font-text-m)}[tuiHeader] [tuiCaption]{font:var(--tui-font-text-s);color:var(--tui-text-secondary);font-weight:500;text-transform:uppercase;margin:0}[tuiHeader][data-size=xxl] [tuiTitle],[tuiHeader][data-size=h1] [tuiTitle],[tuiHeader][data-size=xxl] [tuiAccessories],[tuiHeader][data-size=h1] [tuiAccessories]{font:var(--tui-font-heading-1)}[tuiHeader][data-size=xl] [tuiTitle],[tuiHeader][data-size=h2] [tuiTitle],[tuiHeader][data-size=xl] [tuiAccessories],[tuiHeader][data-size=h2] [tuiAccessories]{font:var(--tui-font-heading-2)}[tuiHeader][data-size=l] [tuiTitle],[tuiHeader][data-size=h3] [tuiTitle],[tuiHeader][data-size=l] [tuiAccessories],[tuiHeader][data-size=h3] [tuiAccessories]{font:var(--tui-font-heading-3)}[tuiHeader][data-size=m] [tuiTitle],[tuiHeader][data-size=h4] [tuiTitle],[tuiHeader][data-size=m] [tuiAccessories],[tuiHeader][data-size=h4] [tuiAccessories]{font:var(--tui-font-heading-4)}[tuiHeader][data-size=s] [tuiTitle],[tuiHeader][data-size=h5] [tuiTitle],[tuiHeader][data-size=s] [tuiAccessories],[tuiHeader][data-size=h5] [tuiAccessories]{font:var(--tui-font-heading-5)}[tuiHeader][data-size=xs] [tuiTitle],[tuiHeader][data-size=h6] [tuiTitle],[tuiHeader][data-size=xs] [tuiAccessories],[tuiHeader][data-size=h6] [tuiAccessories]{font:var(--tui-font-heading-6)}[tuiHeader][data-size=xxs] [tuiTitle],[tuiHeader][data-size=body-xl] [tuiTitle],[tuiHeader][data-size=xxs] [tuiAccessories],[tuiHeader][data-size=body-xl] [tuiAccessories]{font:var(--tui-font-text-xl)}[tuiHeader][data-size=xxs] [tuiTitle],[tuiHeader][data-size=body-xl] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-l] [tuiTitle],[tuiHeader][data-size=body-l] [tuiAccessories]{font:var(--tui-font-text-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m] [tuiTitle],[tuiHeader][data-size=body-m] [tuiAccessories]{font:var(--tui-font-text-m)}[tuiHeader][data-size=body-m] [tuiTitle]{gap:.125rem;font-weight:700}[tuiHeader][data-size=body-m] [tuiSubtitle],[tuiHeader][data-size=body-l] [tuiSubtitle],[tuiHeader][data-size=body-m] [tuiLink],[tuiHeader][data-size=body-l] [tuiLink]{font:var(--tui-font-text-s)}[tuiHeader][data-size=xxl] [tuiSubtitle],[tuiHeader][data-size=xl] [tuiSubtitle],[tuiHeader][data-size=l] [tuiSubtitle],[tuiHeader][data-size=h1] [tuiSubtitle],[tuiHeader][data-size=h2] [tuiSubtitle],[tuiHeader][data-size=h3] [tuiSubtitle],[tuiHeader][data-size=xxl] [tuiLink],[tuiHeader][data-size=xl] [tuiLink],[tuiHeader][data-size=l] [tuiLink],[tuiHeader][data-size=h1] [tuiLink],[tuiHeader][data-size=h2] [tuiLink],[tuiHeader][data-size=h3] [tuiLink]{font:var(--tui-font-text-l)}\n"] }]
21
- }] });
22
- class TuiHeader {
23
- constructor() {
24
- this.options = inject(TUI_HEADER_OPTIONS);
25
- this.nothing = tuiWithStyles(TuiHeaderStyles);
26
- this.size = this.options.size;
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHeader, isStandalone: true, selector: "[tuiHeader]", inputs: { size: ["tuiHeader", "size"] }, host: { attributes: { "tuiHeader": "" }, properties: { "attr.data-size": "size || options.size" } }, providers: [
30
- tuiAvatarOptionsProvider({ size: 's' }),
31
- tuiButtonOptionsProvider({ size: 's' }),
32
- tuiBadgeOptionsProvider({ size: 'm' }),
33
- ], ngImport: i0 }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeader, decorators: [{
36
- type: Directive,
37
- args: [{
38
- standalone: true,
39
- selector: '[tuiHeader]',
40
- providers: [
41
- tuiAvatarOptionsProvider({ size: 's' }),
42
- tuiButtonOptionsProvider({ size: 's' }),
43
- tuiBadgeOptionsProvider({ size: 'm' }),
44
- ],
45
- host: {
46
- tuiHeader: '',
47
- '[attr.data-size]': 'size || options.size',
48
- },
49
- }]
50
- }], propDecorators: { size: [{
51
- type: Input,
52
- args: ['tuiHeader']
53
- }] } });
54
-
55
- /**
56
- * Generated bundle index. Do not edit.
57
- */
58
-
59
- export { TUI_HEADER_OPTIONS, TuiHeader, tuiHeaderOptionsProvider };
60
- //# sourceMappingURL=taiga-ui-layout-components-header.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-layout-components-header.mjs","sources":["../../../projects/layout/components/header/header.directive.ts","../../../projects/layout/components/header/taiga-ui-layout-components-header.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {type TuiSizeXXL, type TuiSizeXXS} from '@taiga-ui/core/types';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {tuiBadgeOptionsProvider} from '@taiga-ui/kit/components/badge';\n\nexport const [TUI_HEADER_OPTIONS, tuiHeaderOptionsProvider] = tuiCreateOptions<{\n size:\n | TuiSizeXXL\n | TuiSizeXXS\n | 'body-l'\n | 'body-m'\n | 'body-xl'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6';\n}>({\n size: 'h5',\n});\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./header.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-header',\n },\n})\nclass TuiHeaderStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiHeader]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({size: 's'}),\n tuiBadgeOptionsProvider({size: 'm'}),\n ],\n host: {\n tuiHeader: '',\n '[attr.data-size]': 'size || options.size',\n },\n})\nexport class TuiHeader {\n protected readonly options = inject(TUI_HEADER_OPTIONS);\n protected readonly nothing = tuiWithStyles(TuiHeaderStyles);\n\n @Input('tuiHeader')\n public size:\n | TuiSizeXXL\n | TuiSizeXXS\n | ''\n | 'body-l'\n | 'body-m'\n | 'body-xl'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6' = this.options.size;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}