@taiga-ui/layout 4.52.0-canary.216e347 → 4.52.0-canary.2c75afa

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 (133) 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 +2 -2
  12. package/components/header/header.directive.d.ts +8 -11
  13. package/components/index.d.ts +2 -1
  14. package/components/input-search/input-search.component.d.ts +4 -5
  15. package/components/item-group/item-group.directive.d.ts +3 -3
  16. package/components/navigation/aside-group.component.d.ts +6 -7
  17. package/components/navigation/aside.component.d.ts +2 -3
  18. package/components/navigation/drawer.component.d.ts +3 -3
  19. package/components/pdf-viewer/index.d.ts +1 -0
  20. package/components/pdf-viewer/pdf-viewer.component.d.ts +13 -0
  21. package/components/search/search-filter.component.d.ts +3 -2
  22. package/components/search/search-filters.component.d.ts +6 -8
  23. package/components/surface/index.d.ts +1 -0
  24. package/components/surface/surface.directive.d.ts +6 -0
  25. package/fesm2022/taiga-ui-layout-components-app-bar.mjs +23 -33
  26. package/fesm2022/taiga-ui-layout-components-app-bar.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-layout-components-block-details.mjs +10 -13
  28. package/fesm2022/taiga-ui-layout-components-block-details.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-layout-components-block-status.mjs +15 -22
  30. package/fesm2022/taiga-ui-layout-components-block-status.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-layout-components-card.mjs +55 -65
  32. package/fesm2022/taiga-ui-layout-components-card.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs +39 -58
  34. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-layout-components-form.mjs +33 -46
  36. package/fesm2022/taiga-ui-layout-components-form.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-layout-components-header.mjs +15 -33
  38. package/fesm2022/taiga-ui-layout-components-header.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-layout-components-input-search.mjs +16 -26
  40. package/fesm2022/taiga-ui-layout-components-input-search.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-layout-components-item-group.mjs +18 -32
  42. package/fesm2022/taiga-ui-layout-components-item-group.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-layout-components-navigation.mjs +88 -106
  44. package/fesm2022/taiga-ui-layout-components-navigation.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs +48 -0
  46. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs.map +1 -0
  47. package/fesm2022/taiga-ui-layout-components-search.mjs +32 -52
  48. package/fesm2022/taiga-ui-layout-components-search.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-layout-components-surface.mjs +33 -0
  50. package/fesm2022/taiga-ui-layout-components-surface.mjs.map +1 -0
  51. package/fesm2022/taiga-ui-layout-components.mjs +2 -1
  52. package/fesm2022/taiga-ui-layout-components.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-layout-tokens.mjs.map +1 -1
  54. package/package.json +21 -44
  55. package/tokens/i18n.d.ts +1 -1
  56. package/components/cell/cell.directive.d.ts +0 -10
  57. package/components/cell/cell.options.d.ts +0 -6
  58. package/components/cell/index.d.ts +0 -2
  59. package/esm2022/components/app-bar/app-bar-back.component.mjs +0 -20
  60. package/esm2022/components/app-bar/app-bar-size.directive.mjs +0 -24
  61. package/esm2022/components/app-bar/app-bar.component.mjs +0 -39
  62. package/esm2022/components/app-bar/app-bar.directive.mjs +0 -20
  63. package/esm2022/components/app-bar/app-bar.mjs +0 -11
  64. package/esm2022/components/app-bar/app-bar.providers.mjs +0 -19
  65. package/esm2022/components/app-bar/index.mjs +0 -7
  66. package/esm2022/components/app-bar/taiga-ui-layout-components-app-bar.mjs +0 -5
  67. package/esm2022/components/block-details/block-details.directive.mjs +0 -29
  68. package/esm2022/components/block-details/index.mjs +0 -2
  69. package/esm2022/components/block-details/taiga-ui-layout-components-block-details.mjs +0 -5
  70. package/esm2022/components/block-status/block-status.component.mjs +0 -23
  71. package/esm2022/components/block-status/block-status.directive.mjs +0 -20
  72. package/esm2022/components/block-status/block-status.mjs +0 -4
  73. package/esm2022/components/block-status/index.mjs +0 -4
  74. package/esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs +0 -5
  75. package/esm2022/components/card/card.mjs +0 -11
  76. package/esm2022/components/card/collapsed.directive.mjs +0 -38
  77. package/esm2022/components/card/index.mjs +0 -6
  78. package/esm2022/components/card/large.directive.mjs +0 -37
  79. package/esm2022/components/card/medium.directive.mjs +0 -29
  80. package/esm2022/components/card/row.directive.mjs +0 -29
  81. package/esm2022/components/card/taiga-ui-layout-components-card.mjs +0 -5
  82. package/esm2022/components/cell/cell.directive.mjs +0 -53
  83. package/esm2022/components/cell/cell.options.mjs +0 -3
  84. package/esm2022/components/cell/index.mjs +0 -3
  85. package/esm2022/components/cell/taiga-ui-layout-components-cell.mjs +0 -5
  86. package/esm2022/components/dynamic-header/dynamic-header-anchor.directive.mjs +0 -34
  87. package/esm2022/components/dynamic-header/dynamic-header-container.directive.mjs +0 -41
  88. package/esm2022/components/dynamic-header/dynamic-header.component.mjs +0 -59
  89. package/esm2022/components/dynamic-header/dynamic-header.mjs +0 -9
  90. package/esm2022/components/dynamic-header/index.mjs +0 -5
  91. package/esm2022/components/dynamic-header/taiga-ui-layout-components-dynamic-header.mjs +0 -5
  92. package/esm2022/components/form/form.directive.mjs +0 -95
  93. package/esm2022/components/form/form.options.mjs +0 -3
  94. package/esm2022/components/form/index.mjs +0 -3
  95. package/esm2022/components/form/taiga-ui-layout-components-form.mjs +0 -5
  96. package/esm2022/components/header/header.directive.mjs +0 -54
  97. package/esm2022/components/header/index.mjs +0 -2
  98. package/esm2022/components/header/taiga-ui-layout-components-header.mjs +0 -5
  99. package/esm2022/components/index.mjs +0 -13
  100. package/esm2022/components/input-search/index.mjs +0 -2
  101. package/esm2022/components/input-search/input-search.component.mjs +0 -96
  102. package/esm2022/components/input-search/taiga-ui-layout-components-input-search.mjs +0 -5
  103. package/esm2022/components/item-group/index.mjs +0 -2
  104. package/esm2022/components/item-group/item-group.directive.mjs +0 -58
  105. package/esm2022/components/item-group/taiga-ui-layout-components-item-group.mjs +0 -5
  106. package/esm2022/components/navigation/aside-group.component.mjs +0 -59
  107. package/esm2022/components/navigation/aside-item.directive.mjs +0 -88
  108. package/esm2022/components/navigation/aside.component.mjs +0 -67
  109. package/esm2022/components/navigation/drawer.component.mjs +0 -97
  110. package/esm2022/components/navigation/header.component.mjs +0 -34
  111. package/esm2022/components/navigation/hint-aside.directive.mjs +0 -31
  112. package/esm2022/components/navigation/index.mjs +0 -12
  113. package/esm2022/components/navigation/logo.component.mjs +0 -12
  114. package/esm2022/components/navigation/main.component.mjs +0 -14
  115. package/esm2022/components/navigation/nav.component.mjs +0 -23
  116. package/esm2022/components/navigation/navigation.mjs +0 -24
  117. package/esm2022/components/navigation/subheader.component.mjs +0 -68
  118. package/esm2022/components/navigation/taiga-ui-layout-components-navigation.mjs +0 -5
  119. package/esm2022/components/search/index.mjs +0 -4
  120. package/esm2022/components/search/search-filter.component.mjs +0 -44
  121. package/esm2022/components/search/search-filters.component.mjs +0 -81
  122. package/esm2022/components/search/search.component.mjs +0 -26
  123. package/esm2022/components/search/search.mjs +0 -9
  124. package/esm2022/components/search/taiga-ui-layout-components-search.mjs +0 -5
  125. package/esm2022/components/taiga-ui-layout-components.mjs +0 -5
  126. package/esm2022/index.mjs +0 -3
  127. package/esm2022/taiga-ui-layout.mjs +0 -5
  128. package/esm2022/tokens/common-icons.mjs +0 -21
  129. package/esm2022/tokens/i18n.mjs +0 -6
  130. package/esm2022/tokens/index.mjs +0 -3
  131. package/esm2022/tokens/taiga-ui-layout-tokens.mjs +0 -5
  132. package/fesm2022/taiga-ui-layout-components-cell.mjs +0 -61
  133. package/fesm2022/taiga-ui-layout-components-cell.mjs.map +0 -1
@@ -1,23 +1,21 @@
1
- import { NgForOf, NgIf } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { inject, ViewContainerRef, TemplateRef, signal, Directive, ContentChildren, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { inject, ViewContainerRef, TemplateRef, signal, Directive, contentChildren, ChangeDetectionStrategy, Component } from '@angular/core';
4
3
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
5
4
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
6
5
  import { toSignal } from '@angular/core/rxjs-interop';
7
6
  import * as i1 from '@ng-web-apis/intersection-observer';
8
7
  import { WaIntersectionObserverDirective, WaIntersectionRoot } from '@ng-web-apis/intersection-observer';
9
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
10
8
  import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
11
9
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
12
10
  import { fromEvent, map, pairwise, distinctUntilChanged } from 'rxjs';
13
11
 
14
12
  class TuiDynamicHeaderAnchorDirective {
15
13
  constructor() {
16
- this.viewContainer = inject(ViewContainerRef);
14
+ this.vcr = inject(ViewContainerRef);
17
15
  this.observer = inject(WaIntersectionObserverDirective);
18
16
  this.container = inject(TuiDynamicHeaderContainerDirective);
19
17
  this.templateRef = inject((TemplateRef));
20
- this.view = this.viewContainer.createEmbeddedView(this.templateRef);
18
+ this.view = this.vcr.createEmbeddedView(this.templateRef);
21
19
  this.visible = signal(false);
22
20
  }
23
21
  ngAfterViewInit() {
@@ -29,13 +27,12 @@ class TuiDynamicHeaderAnchorDirective {
29
27
  ngOnDestroy() {
30
28
  this.observer.unobserve(this.view.rootNodes[0]);
31
29
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderAnchorDirective, isStandalone: true, selector: "[tuiDynamicHeaderAnchor]", ngImport: i0 }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDynamicHeaderAnchorDirective, isStandalone: true, selector: "[tuiDynamicHeaderAnchor]", ngImport: i0 }); }
34
32
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, decorators: [{
36
34
  type: Directive,
37
35
  args: [{
38
- standalone: true,
39
36
  selector: '[tuiDynamicHeaderAnchor]',
40
37
  }]
41
38
  }] });
@@ -43,80 +40,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
43
40
  class TuiDynamicHeaderContainerDirective {
44
41
  constructor() {
45
42
  this.el = tuiInjectElement();
46
- this.headers = EMPTY_QUERY;
43
+ this.headers = contentChildren(TuiDynamicHeaderAnchorDirective, {
44
+ descendants: true,
45
+ });
47
46
  this.hiddenHeaders = signal([]);
48
47
  this.scrollDir = toSignal(fromEvent(this.el, 'scroll').pipe(map(({ target }) => target.scrollTop), pairwise(), map(([prev, next]) => (next > prev ? -1 : 1)), distinctUntilChanged(), tuiZoneOptimized()));
49
48
  }
50
49
  update() {
51
- this.hiddenHeaders.set(this.headers.filter((h) => h.visible()).map((h) => h.templateRef));
50
+ this.hiddenHeaders.set(this.headers()
51
+ .filter((h) => h.visible())
52
+ .map((h) => h.templateRef));
52
53
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
54
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderContainerDirective, isStandalone: true, selector: "[tuiDynamicHeaderContainer]", host: { attributes: { "waIntersectionRootMargin": "-44px 0px 1000000% 0px" } }, queries: [{ propertyName: "headers", predicate: TuiDynamicHeaderAnchorDirective, descendants: true }], hostDirectives: [{ directive: i1.WaIntersectionRoot }, { directive: i1.WaIntersectionObserverDirective }], ngImport: i0 }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.15", type: TuiDynamicHeaderContainerDirective, isStandalone: true, selector: "[tuiDynamicHeaderContainer]", host: { attributes: { "waIntersectionRootMargin": "-44px 0px 1000000% 0px" } }, queries: [{ propertyName: "headers", predicate: TuiDynamicHeaderAnchorDirective, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.WaIntersectionRoot }, { directive: i1.WaIntersectionObserverDirective }], ngImport: i0 }); }
55
56
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderContainerDirective, decorators: [{
57
58
  type: Directive,
58
59
  args: [{
59
- standalone: true,
60
60
  selector: '[tuiDynamicHeaderContainer]',
61
61
  hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],
62
62
  host: {
63
63
  waIntersectionRootMargin: '-44px 0px 1000000% 0px',
64
64
  },
65
65
  }]
66
- }], propDecorators: { headers: [{
67
- type: ContentChildren,
68
- args: [TuiDynamicHeaderAnchorDirective, {
69
- descendants: true,
70
- }]
71
- }] } });
66
+ }] });
72
67
 
73
68
  class TuiDynamicHeaderComponent {
74
69
  constructor() {
75
70
  this.container = inject(TuiDynamicHeaderContainerDirective);
76
71
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderComponent, isStandalone: true, selector: "[tuiDynamicHeader]", host: { properties: { "style.--t-dir": "container.scrollDir() || -1" } }, ngImport: i0, template: `
79
- <div
80
- *ngIf="!container.hiddenHeaders().length; else dynamic"
81
- tuiAnimated
82
- >
83
- <ng-content />
84
- </div>
85
- <ng-template #dynamic>
86
- <ng-container
87
- *ngFor="let header of container.hiddenHeaders(); let last = last"
88
- >
89
- <div
90
- *ngIf="last"
91
- tuiAnimated
92
- >
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDynamicHeaderComponent, isStandalone: true, selector: "[tuiDynamicHeader]", host: { properties: { "style.--t-dir": "container.scrollDir() || -1" } }, ngImport: i0, template: `
74
+ @for (header of container.hiddenHeaders(); track header) {
75
+ @if ($last) {
76
+ <div tuiAnimated>
93
77
  <div *polymorpheusOutlet="header as text">{{ text }}</div>
94
78
  </div>
95
- </ng-container>
96
- </ng-template>
97
- `, isInline: true, styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.tui-enter{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(-200% * var(--t-dir)))}.tui-leave{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(200% * var(--t-dir)))}.tui-enter:not(:first-of-type),.tui-leave:not(:first-of-type){position:absolute}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAnimated, selector: "[tuiAnimated]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
79
+ }
80
+ } @empty {
81
+ <div tuiAnimated>
82
+ <ng-content />
83
+ </div>
84
+ }
85
+ `, isInline: true, styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.tui-enter{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(-200% * var(--t-dir)))}.tui-leave{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(200% * var(--t-dir)))}.tui-enter:not(:first-of-type),.tui-leave:not(:first-of-type){position:absolute}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAnimated, selector: "[tuiAnimated]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
98
86
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDynamicHeaderComponent, decorators: [{
100
88
  type: Component,
101
- args: [{ standalone: true, selector: '[tuiDynamicHeader]', imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiAnimated], template: `
102
- <div
103
- *ngIf="!container.hiddenHeaders().length; else dynamic"
104
- tuiAnimated
105
- >
106
- <ng-content />
107
- </div>
108
- <ng-template #dynamic>
109
- <ng-container
110
- *ngFor="let header of container.hiddenHeaders(); let last = last"
111
- >
112
- <div
113
- *ngIf="last"
114
- tuiAnimated
115
- >
89
+ args: [{ selector: '[tuiDynamicHeader]', imports: [PolymorpheusOutlet, TuiAnimated], template: `
90
+ @for (header of container.hiddenHeaders(); track header) {
91
+ @if ($last) {
92
+ <div tuiAnimated>
116
93
  <div *polymorpheusOutlet="header as text">{{ text }}</div>
117
94
  </div>
118
- </ng-container>
119
- </ng-template>
95
+ }
96
+ } @empty {
97
+ <div tuiAnimated>
98
+ <ng-content />
99
+ </div>
100
+ }
120
101
  `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
121
102
  '[style.--t-dir]': 'container.scrollDir() || -1',
122
103
  }, styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.tui-enter{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(-200% * var(--t-dir)))}.tui-leave{animation-name:tuiFade,tuiSlide;--tui-from: translateY(calc(200% * var(--t-dir)))}.tui-enter:not(:first-of-type),.tui-leave:not(:first-of-type){position:absolute}\n"] }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components-dynamic-header.mjs","sources":["../../../projects/layout/components/dynamic-header/dynamic-header-anchor.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header-container.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header.component.ts","../../../projects/layout/components/dynamic-header/dynamic-header.ts","../../../projects/layout/components/dynamic-header/taiga-ui-layout-components-dynamic-header.ts"],"sourcesContent":["import {\n type AfterViewInit,\n Directive,\n inject,\n type OnDestroy,\n signal,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {WaIntersectionObserverDirective} from '@ng-web-apis/intersection-observer';\n\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiDynamicHeaderAnchor]',\n})\nexport class TuiDynamicHeaderAnchorDirective implements AfterViewInit, OnDestroy {\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly observer = inject(WaIntersectionObserverDirective);\n private readonly container = inject(TuiDynamicHeaderContainerDirective);\n public readonly templateRef = inject(TemplateRef<unknown>);\n public readonly view = this.viewContainer.createEmbeddedView(this.templateRef);\n public readonly visible = signal(false);\n\n public ngAfterViewInit(): void {\n this.observer.observe(this.view.rootNodes[0], ([e]) => {\n this.visible.set(!e?.isIntersecting);\n this.container.update();\n });\n }\n\n public ngOnDestroy(): void {\n this.observer.unobserve(this.view.rootNodes[0]);\n }\n}\n","import {\n ContentChildren,\n Directive,\n type QueryList,\n signal,\n type TemplateRef,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WaIntersectionObserverDirective,\n WaIntersectionRoot,\n} from '@ng-web-apis/intersection-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, fromEvent, map, pairwise} from 'rxjs';\n\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiDynamicHeaderContainer]',\n hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],\n host: {\n waIntersectionRootMargin: '-44px 0px 1000000% 0px',\n },\n})\nexport class TuiDynamicHeaderContainerDirective {\n private readonly el = tuiInjectElement();\n\n @ContentChildren(TuiDynamicHeaderAnchorDirective, {\n descendants: true,\n })\n protected readonly headers: QueryList<TuiDynamicHeaderAnchorDirective> = EMPTY_QUERY;\n\n public hiddenHeaders = signal<Array<TemplateRef<unknown>>>([]);\n\n public scrollDir = toSignal(\n fromEvent(this.el, 'scroll').pipe(\n map(({target}) => (target as HTMLElement).scrollTop),\n pairwise(),\n map(([prev, next]) => (next > prev ? -1 : 1)),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n ),\n );\n\n public update(): void {\n this.hiddenHeaders.set(\n this.headers.filter((h) => h.visible()).map((h) => h.templateRef),\n );\n }\n}\n","import {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Component({\n standalone: true,\n selector: '[tuiDynamicHeader]',\n imports: [NgForOf, NgIf, PolymorpheusOutlet, TuiAnimated],\n template: `\n <div\n *ngIf=\"!container.hiddenHeaders().length; else dynamic\"\n tuiAnimated\n >\n <ng-content />\n </div>\n <ng-template #dynamic>\n <ng-container\n *ngFor=\"let header of container.hiddenHeaders(); let last = last\"\n >\n <div\n *ngIf=\"last\"\n tuiAnimated\n >\n <div *polymorpheusOutlet=\"header as text\">{{ text }}</div>\n </div>\n </ng-container>\n </ng-template>\n `,\n styleUrls: ['./dynamic-header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--t-dir]': 'container.scrollDir() || -1',\n },\n})\nexport class TuiDynamicHeaderComponent {\n protected readonly container = inject(TuiDynamicHeaderContainerDirective);\n}\n","import {TuiDynamicHeaderComponent} from './dynamic-header.component';\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\nexport const TuiDynamicHeader = [\n TuiDynamicHeaderComponent,\n TuiDynamicHeaderAnchorDirective,\n TuiDynamicHeaderContainerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-layout-components-dynamic-header.mjs","sources":["../../../projects/layout/components/dynamic-header/dynamic-header-anchor.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header-container.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header.component.ts","../../../projects/layout/components/dynamic-header/dynamic-header.ts","../../../projects/layout/components/dynamic-header/taiga-ui-layout-components-dynamic-header.ts"],"sourcesContent":["import {\n type AfterViewInit,\n Directive,\n inject,\n type OnDestroy,\n signal,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport {WaIntersectionObserverDirective} from '@ng-web-apis/intersection-observer';\n\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Directive({\n selector: '[tuiDynamicHeaderAnchor]',\n})\nexport class TuiDynamicHeaderAnchorDirective implements AfterViewInit, OnDestroy {\n private readonly vcr = inject(ViewContainerRef);\n private readonly observer = inject(WaIntersectionObserverDirective);\n private readonly container = inject(TuiDynamicHeaderContainerDirective);\n public readonly templateRef = inject(TemplateRef<unknown>);\n public readonly view = this.vcr.createEmbeddedView(this.templateRef);\n public readonly visible = signal(false);\n\n public ngAfterViewInit(): void {\n this.observer.observe(this.view.rootNodes[0], ([e]) => {\n this.visible.set(!e?.isIntersecting);\n this.container.update();\n });\n }\n\n public ngOnDestroy(): void {\n this.observer.unobserve(this.view.rootNodes[0]);\n }\n}\n","import {contentChildren, Directive, signal, type TemplateRef} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WaIntersectionObserverDirective,\n WaIntersectionRoot,\n} from '@ng-web-apis/intersection-observer';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, fromEvent, map, pairwise} from 'rxjs';\n\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\n\n@Directive({\n selector: '[tuiDynamicHeaderContainer]',\n hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],\n host: {\n waIntersectionRootMargin: '-44px 0px 1000000% 0px',\n },\n})\nexport class TuiDynamicHeaderContainerDirective {\n private readonly el = tuiInjectElement();\n\n protected readonly headers = contentChildren(TuiDynamicHeaderAnchorDirective, {\n descendants: true,\n });\n\n public hiddenHeaders = signal<Array<TemplateRef<unknown>>>([]);\n\n public scrollDir = toSignal(\n fromEvent(this.el, 'scroll').pipe(\n map(({target}) => (target as HTMLElement).scrollTop),\n pairwise(),\n map(([prev, next]) => (next > prev ? -1 : 1)),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n ),\n );\n\n public update(): void {\n this.hiddenHeaders.set(\n this.headers()\n .filter((h) => h.visible())\n .map((h) => h.templateRef),\n );\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Component({\n selector: '[tuiDynamicHeader]',\n imports: [PolymorpheusOutlet, TuiAnimated],\n template: `\n @for (header of container.hiddenHeaders(); track header) {\n @if ($last) {\n <div tuiAnimated>\n <div *polymorpheusOutlet=\"header as text\">{{ text }}</div>\n </div>\n }\n } @empty {\n <div tuiAnimated>\n <ng-content />\n </div>\n }\n `,\n styleUrl: './dynamic-header.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--t-dir]': 'container.scrollDir() || -1',\n },\n})\nexport class TuiDynamicHeaderComponent {\n protected readonly container = inject(TuiDynamicHeaderContainerDirective);\n}\n","import {TuiDynamicHeaderComponent} from './dynamic-header.component';\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\nexport const TuiDynamicHeader = [\n TuiDynamicHeaderComponent,\n TuiDynamicHeaderAnchorDirective,\n TuiDynamicHeaderContainerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, signal, Directive, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, input, Directive } from '@angular/core';
3
3
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
  import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button';
5
5
  import { TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/components/notification';
6
6
  import * as i1 from '@taiga-ui/core/components/textfield';
7
- import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
7
+ import { TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
8
+ import { TUI_BLOCK_OPTIONS } from '@taiga-ui/kit/components/block';
9
+ import { TUI_CHECKBOX_OPTIONS } from '@taiga-ui/kit/components/checkbox';
10
+ import { TUI_RADIO_OPTIONS } from '@taiga-ui/kit/components/radio';
8
11
  import { TUI_SEGMENTED_OPTIONS } from '@taiga-ui/kit/components/segmented';
9
12
  import { TUI_SWITCH_OPTIONS } from '@taiga-ui/kit/components/switch';
10
13
  import { TUI_HEADER_OPTIONS } from '@taiga-ui/layout/components/header';
@@ -12,85 +15,69 @@ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
12
15
 
13
16
  const [TUI_FORM_OPTIONS, tuiFormOptionsProvider] = tuiCreateOptions({ size: 'l' });
14
17
 
15
- const HEADER_SIZE = {
16
- s: 'xxxs',
17
- m: 'xs',
18
- l: 's',
19
- };
20
- class TuiFormStyles {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiFormStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-form" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiForm][tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=s] [tuiHeader]{padding-block-end:.5rem}[tuiForm][data-size=s] [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-ui-s)}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-auto-flow:column;grid-auto-columns:1fr;border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
+ const HEADER_SIZE = { s: 'body-m', m: 'h6', l: 'h5' };
19
+ class Styles {
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-form" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiForm][tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
22
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiFormStyles, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
25
24
  type: Component,
26
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
27
- class: 'tui-form',
28
- }, styles: ["[tuiForm][tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=s] [tuiHeader]{padding-block-end:.5rem}[tuiForm][data-size=s] [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-ui-s)}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-auto-flow:column;grid-auto-columns:1fr;border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"] }]
25
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-form' }, styles: ["[tuiForm][tuiForm]{display:flex;flex-direction:column;align-items:stretch}[tuiForm][data-size=s]{gap:.75rem;font:var(--tui-font-text-s)}[tuiForm][data-size=s] tui-error:not(.tui-space-top-none){margin-block-start:-.75rem}[tuiForm][data-size=m]{gap:1rem;font:var(--tui-font-text-s)}[tuiForm][data-size=m] tui-error:not(.tui-space-top-none){margin-block-start:-1rem}[tuiForm][data-size=l]{gap:1.25rem;font:var(--tui-font-text-m)}[tuiForm][data-size=l] tui-error:not(.tui-space-top-none){margin-block-start:-1.25rem}[tuiForm]>header{padding-block-end:.25rem}[tuiForm]>fieldset{display:grid;gap:inherit;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));border:none;padding:0;margin:0}[tuiForm]>footer{display:flex;gap:.75rem;margin-block-start:.25rem}tui-dialog [tuiForm]>footer{justify-content:flex-end}[tuiForm]>button,[tuiForm]>a{align-self:flex-start}[tuiForm] [tuiLabel]:not([data-orientation=vertical]){font:inherit}[tuiForm][data-size=s] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip],[tuiForm][data-size=m] [tuiLabel]:not([data-orientation=vertical]) [tuiTooltip]{block-size:1.25rem}\n"] }]
29
26
  }] });
30
27
  class TuiForm {
31
28
  constructor() {
29
+ this.nothing = tuiWithStyles(Styles);
32
30
  this.options = inject(TUI_FORM_OPTIONS);
33
- this.nothing = tuiWithStyles(TuiFormStyles);
34
- this.size = this.options.size;
31
+ this.size = input(this.options.size, { alias: 'tuiForm' });
35
32
  }
36
- set tuiForm(size) {
37
- this.size = size || this.options.size;
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiForm, isStandalone: true, selector: "[tuiForm]", inputs: { tuiForm: "tuiForm" }, host: { attributes: { "tuiForm": "" }, properties: { "attr.data-size": "size" } }, providers: [
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiForm, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiForm, isStandalone: true, selector: "[tuiForm]", inputs: { size: { classPropertyName: "size", publicName: "tuiForm", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiForm": "" }, properties: { "attr.data-size": "size() || options.size || \"l\"" } }, providers: [
41
35
  projectSize(TUI_BUTTON_OPTIONS, (size) => size),
36
+ projectSize(TUI_BLOCK_OPTIONS, (size) => size),
42
37
  projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size),
43
- projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size]),
38
+ projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size || 'l']),
44
39
  projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
40
+ projectSize(TUI_RADIO_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
41
+ projectSize(TUI_CHECKBOX_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
45
42
  projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
46
- {
47
- provide: TUI_TEXTFIELD_OPTIONS,
48
- useFactory: () => ({
49
- ...inject(TUI_TEXTFIELD_OPTIONS, { skipSelf: true }),
50
- size: signal(inject(TuiForm).size),
51
- }),
52
- },
53
- ], hostDirectives: [{ directive: i1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldAppearance", "tuiTextfieldAppearance", "tuiTextfieldCleaner", "tuiTextfieldCleaner"] }], ngImport: i0 }); }
43
+ ], hostDirectives: [{ directive: i1.TuiTextfieldOptionsDirective, inputs: ["tuiTextfieldAppearance", "textfields", "tuiTextfieldCleaner", "cleaner", "tuiTextfieldSize", "tuiForm"] }], ngImport: i0 }); }
54
44
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiForm, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiForm, decorators: [{
56
46
  type: Directive,
57
47
  args: [{
58
- standalone: true,
59
48
  selector: '[tuiForm]',
60
49
  providers: [
61
50
  projectSize(TUI_BUTTON_OPTIONS, (size) => size),
51
+ projectSize(TUI_BLOCK_OPTIONS, (size) => size),
62
52
  projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size),
63
- projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size]),
53
+ projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size || 'l']),
64
54
  projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
55
+ projectSize(TUI_RADIO_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
56
+ projectSize(TUI_CHECKBOX_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
65
57
  projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),
66
- {
67
- provide: TUI_TEXTFIELD_OPTIONS,
68
- useFactory: () => ({
69
- ...inject(TUI_TEXTFIELD_OPTIONS, { skipSelf: true }),
70
- size: signal(inject(TuiForm).size),
71
- }),
72
- },
73
58
  ],
74
59
  hostDirectives: [
75
60
  {
76
61
  directive: TuiTextfieldOptionsDirective,
77
- inputs: ['tuiTextfieldAppearance', 'tuiTextfieldCleaner'],
62
+ inputs: [
63
+ 'tuiTextfieldAppearance: textfields',
64
+ 'tuiTextfieldCleaner: cleaner',
65
+ 'tuiTextfieldSize: tuiForm',
66
+ ],
78
67
  },
79
68
  ],
80
69
  host: {
81
70
  tuiForm: '',
82
- '[attr.data-size]': 'size',
71
+ '[attr.data-size]': 'size() || options.size || "l"',
83
72
  },
84
73
  }]
85
- }], propDecorators: { tuiForm: [{
86
- type: Input
87
- }] } });
74
+ }] });
88
75
  function projectSize(provide, project) {
89
76
  return {
90
77
  provide,
91
78
  useFactory: () => ({
92
79
  ...inject(provide, { skipSelf: true }),
93
- size: project(inject(TuiForm).size),
80
+ size: project(inject(TuiForm).size() || inject(TUI_FORM_OPTIONS).size || 'l'),
94
81
  }),
95
82
  };
96
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components-form.mjs","sources":["../../../projects/layout/components/form/form.options.ts","../../../projects/layout/components/form/form.directive.ts","../../../projects/layout/components/form/taiga-ui-layout-components-form.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiFormOptions {\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport const [TUI_FORM_OPTIONS, tuiFormOptionsProvider] =\n tuiCreateOptions<TuiFormOptions>({size: 'l'});\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n type InjectionToken,\n Input,\n type Provider,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_BUTTON_OPTIONS} from '@taiga-ui/core/components/button';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TUI_SEGMENTED_OPTIONS} from '@taiga-ui/kit/components/segmented';\nimport {TUI_SWITCH_OPTIONS} from '@taiga-ui/kit/components/switch';\nimport {TUI_HEADER_OPTIONS} from '@taiga-ui/layout/components/header';\n\nimport {TUI_FORM_OPTIONS, type TuiFormOptions} from './form.options';\n\nconst HEADER_SIZE = {\n s: 'xxxs',\n m: 'xs',\n l: 's',\n} as const;\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./form.styles.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-form',\n },\n})\nclass TuiFormStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiForm]',\n providers: [\n projectSize(TUI_BUTTON_OPTIONS, (size) => size),\n projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size),\n projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size]),\n projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n {\n provide: TUI_TEXTFIELD_OPTIONS,\n useFactory: () => ({\n ...inject(TUI_TEXTFIELD_OPTIONS, {skipSelf: true}),\n size: signal(inject(TuiForm).size),\n }),\n },\n ],\n hostDirectives: [\n {\n directive: TuiTextfieldOptionsDirective,\n inputs: ['tuiTextfieldAppearance', 'tuiTextfieldCleaner'],\n },\n ],\n host: {\n tuiForm: '',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiForm {\n protected readonly options = inject(TUI_FORM_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiFormStyles);\n\n public size: TuiFormOptions['size'] = this.options.size;\n\n @Input()\n public set tuiForm(size: TuiFormOptions['size'] | '') {\n this.size = size || this.options.size;\n }\n}\n\nfunction projectSize(\n provide: InjectionToken<any>,\n project: TuiHandler<TuiFormOptions['size'], string>,\n): Provider {\n return {\n provide,\n useFactory: () => ({\n ...inject(provide, {skipSelf: true}),\n size: project(inject(TuiForm).size),\n }),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-layout-components-form.mjs","sources":["../../../projects/layout/components/form/form.options.ts","../../../projects/layout/components/form/form.directive.ts","../../../projects/layout/components/form/taiga-ui-layout-components-form.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiFormOptions {\n readonly size: TuiSizeL | TuiSizeS | '';\n}\n\nexport const [TUI_FORM_OPTIONS, tuiFormOptionsProvider] =\n tuiCreateOptions<TuiFormOptions>({size: 'l'});\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n type InjectionToken,\n input,\n type Provider,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_BUTTON_OPTIONS} from '@taiga-ui/core/components/button';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {TuiTextfieldOptionsDirective} from '@taiga-ui/core/components/textfield';\nimport {TUI_BLOCK_OPTIONS} from '@taiga-ui/kit/components/block';\nimport {TUI_CHECKBOX_OPTIONS} from '@taiga-ui/kit/components/checkbox';\nimport {TUI_RADIO_OPTIONS} from '@taiga-ui/kit/components/radio';\nimport {TUI_SEGMENTED_OPTIONS} from '@taiga-ui/kit/components/segmented';\nimport {TUI_SWITCH_OPTIONS} from '@taiga-ui/kit/components/switch';\nimport {TUI_HEADER_OPTIONS} from '@taiga-ui/layout/components/header';\n\nimport {TUI_FORM_OPTIONS, type TuiFormOptions} from './form.options';\n\nconst HEADER_SIZE = {s: 'body-m', m: 'h6', l: 'h5'} as const;\n\n@Component({\n template: '',\n styleUrl: './form.styles.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-form'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiForm]',\n providers: [\n projectSize(TUI_BUTTON_OPTIONS, (size) => size),\n projectSize(TUI_BLOCK_OPTIONS, (size) => size),\n projectSize(TUI_NOTIFICATION_OPTIONS, (size) => size),\n projectSize(TUI_HEADER_OPTIONS, (size) => HEADER_SIZE[size || 'l']),\n projectSize(TUI_SWITCH_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n projectSize(TUI_RADIO_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n projectSize(TUI_CHECKBOX_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n projectSize(TUI_SEGMENTED_OPTIONS, (size) => (size === 'l' ? 'm' : 's')),\n ],\n hostDirectives: [\n {\n directive: TuiTextfieldOptionsDirective,\n inputs: [\n 'tuiTextfieldAppearance: textfields',\n 'tuiTextfieldCleaner: cleaner',\n 'tuiTextfieldSize: tuiForm',\n ],\n },\n ],\n host: {\n tuiForm: '',\n '[attr.data-size]': 'size() || options.size || \"l\"',\n },\n})\nexport class TuiForm {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly options = inject(TUI_FORM_OPTIONS);\n\n public readonly size = input(this.options.size, {alias: 'tuiForm'});\n}\n\nfunction projectSize(\n provide: InjectionToken<any>,\n project: TuiHandler<TuiFormOptions['size'], string>,\n): Provider {\n return {\n provide,\n useFactory: () => ({\n ...inject(provide, {skipSelf: true}),\n size: project(inject(TuiForm).size() || inject(TUI_FORM_OPTIONS).size || 'l'),\n }),\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,56 +1,38 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ViewEncapsulation, Component, inject, input, Directive } from '@angular/core';
3
3
  import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
4
4
  import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
5
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
6
 
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: "16.2.12", ngImport: i0, type: TuiHeaderStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
7
+ const [TUI_HEADER_OPTIONS, tuiHeaderOptionsProvider] = tuiCreateOptions({ size: 'h5' });
8
+ class Styles {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, 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;font:inherit}[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=h1]{font:var(--tui-font-heading-1)}[tuiHeader][data-size=h2]{font:var(--tui-font-heading-2)}[tuiHeader][data-size=h3]{font:var(--tui-font-heading-3)}[tuiHeader][data-size=h4]{font:var(--tui-font-heading-4)}[tuiHeader][data-size=h5]{font:var(--tui-font-heading-5)}[tuiHeader][data-size=h6]{font:var(--tui-font-heading-6)}[tuiHeader][data-size=body-xl]{font:var(--tui-font-text-xl)}[tuiHeader][data-size=body-xl] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-l]{font:var(--tui-font-text-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m]{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=h1] [tuiSubtitle],[tuiHeader][data-size=h2] [tuiSubtitle],[tuiHeader][data-size=h3] [tuiSubtitle],[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
11
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHeaderStyles, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
17
13
  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"] }]
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-header' }, 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;font:inherit}[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=h1]{font:var(--tui-font-heading-1)}[tuiHeader][data-size=h2]{font:var(--tui-font-heading-2)}[tuiHeader][data-size=h3]{font:var(--tui-font-heading-3)}[tuiHeader][data-size=h4]{font:var(--tui-font-heading-4)}[tuiHeader][data-size=h5]{font:var(--tui-font-heading-5)}[tuiHeader][data-size=h6]{font:var(--tui-font-heading-6)}[tuiHeader][data-size=body-xl]{font:var(--tui-font-text-xl)}[tuiHeader][data-size=body-xl] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-l]{font:var(--tui-font-text-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m]{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=h1] [tuiSubtitle],[tuiHeader][data-size=h2] [tuiSubtitle],[tuiHeader][data-size=h3] [tuiSubtitle],[tuiHeader][data-size=h1] [tuiLink],[tuiHeader][data-size=h2] [tuiLink],[tuiHeader][data-size=h3] [tuiLink]{font:var(--tui-font-text-l)}\n"] }]
21
15
  }] });
22
16
  class TuiHeader {
23
17
  constructor() {
18
+ this.nothing = tuiWithStyles(Styles);
24
19
  this.options = inject(TUI_HEADER_OPTIONS);
25
- this.nothing = tuiWithStyles(TuiHeaderStyles);
26
- this.size = this.options.size;
20
+ this.tuiHeader = input(this.options.size);
27
21
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", 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 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHeader, isStandalone: true, selector: "[tuiHeader]", inputs: { tuiHeader: { classPropertyName: "tuiHeader", publicName: "tuiHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiHeader": "" }, properties: { "attr.data-size": "tuiHeader() || options.size || \"h5\"" } }, providers: [tuiButtonOptionsProvider({ size: 's' })], ngImport: i0 }); }
34
24
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHeader, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeader, decorators: [{
36
26
  type: Directive,
37
27
  args: [{
38
- standalone: true,
39
28
  selector: '[tuiHeader]',
40
- providers: [
41
- tuiAvatarOptionsProvider({ size: 's' }),
42
- tuiButtonOptionsProvider({ size: 's' }),
43
- tuiBadgeOptionsProvider({ size: 'm' }),
44
- ],
29
+ providers: [tuiButtonOptionsProvider({ size: 's' })],
45
30
  host: {
46
31
  tuiHeader: '',
47
- '[attr.data-size]': 'size || options.size',
32
+ '[attr.data-size]': 'tuiHeader() || options.size || "h5"',
48
33
  },
49
34
  }]
50
- }], propDecorators: { size: [{
51
- type: Input,
52
- args: ['tuiHeader']
53
- }] } });
35
+ }] });
54
36
 
55
37
  /**
56
38
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
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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"}
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';\n\nexport const [TUI_HEADER_OPTIONS, tuiHeaderOptionsProvider] = tuiCreateOptions<{\n size: '' | 'body-l' | 'body-m' | 'body-xl' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n}>({size: 'h5'});\n\n@Component({\n template: '',\n styleUrl: './header.styles.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-header'},\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiHeader]',\n providers: [tuiButtonOptionsProvider({size: 's'})],\n host: {\n tuiHeader: '',\n '[attr.data-size]': 'tuiHeader() || options.size || \"h5\"',\n },\n})\nexport class TuiHeader {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly options = inject(TUI_HEADER_OPTIONS);\n\n public readonly tuiHeader = input(this.options.size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAYa,MAAA,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAE3E,EAAC,IAAI,EAAE,IAAI,EAAC;AAEf,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,gHANE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6+DAAA,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,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,6+DAAA,CAAA,EAAA;;MAYlB,SAAS,CAAA;AARtB,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEvC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACvD;+GALY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,uCAAA,EAAA,EAAA,EAAA,SAAA,EANP,CAAC,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAMzC,SAAS,EAAA,UAAA,EAAA,CAAA;kBARrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,CAAC,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;AAClD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,EAAE;AACb,wBAAA,kBAAkB,EAAE,qCAAqC;AAC5D,qBAAA;AACJ,iBAAA;;;AChCD;;AAEG;;;;"}