@taiga-ui/layout 4.52.0-canary.ece97e9 → 4.52.0-canary.efbd0d4

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 (58) hide show
  1. package/README.md +2 -2
  2. package/components/app-bar/app-bar-back.component.d.ts +1 -1
  3. package/components/app-bar/app-bar-size.directive.d.ts +1 -0
  4. package/components/elastic-container/elastic-container.component.d.ts +8 -0
  5. package/components/elastic-container/elastic-container.directive.d.ts +7 -0
  6. package/components/elastic-container/index.d.ts +2 -0
  7. package/components/floating-container/floating-container.directive.d.ts +8 -0
  8. package/components/floating-container/index.d.ts +1 -0
  9. package/components/header/header.directive.d.ts +17 -0
  10. package/components/header/index.d.ts +1 -0
  11. package/components/index.d.ts +4 -0
  12. package/components/input-search/input-search.component.d.ts +4 -4
  13. package/components/navigation/aside-group.component.d.ts +1 -1
  14. package/components/navigation/aside-item.directive.d.ts +2 -2
  15. package/components/navigation/drawer.component.d.ts +4 -5
  16. package/components/navigation/hint-aside.directive.d.ts +5 -3
  17. package/components/pdf-viewer/pdf-viewer.component.d.ts +5 -4
  18. package/components/search/search-filter.component.d.ts +1 -1
  19. package/components/search/search-filters.component.d.ts +2 -2
  20. package/components/slides/index.d.ts +1 -0
  21. package/components/slides/slides.directive.d.ts +11 -0
  22. package/fesm2022/taiga-ui-layout-components-app-bar.mjs +20 -23
  23. package/fesm2022/taiga-ui-layout-components-app-bar.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-layout-components-block-details.mjs +7 -7
  25. package/fesm2022/taiga-ui-layout-components-block-details.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-layout-components-block-status.mjs +8 -9
  27. package/fesm2022/taiga-ui-layout-components-block-status.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-layout-components-card.mjs +26 -26
  29. package/fesm2022/taiga-ui-layout-components-card.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs +9 -11
  31. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-layout-components-elastic-container.mjs +65 -0
  33. package/fesm2022/taiga-ui-layout-components-elastic-container.mjs.map +1 -0
  34. package/fesm2022/taiga-ui-layout-components-floating-container.mjs +40 -0
  35. package/fesm2022/taiga-ui-layout-components-floating-container.mjs.map +1 -0
  36. package/fesm2022/taiga-ui-layout-components-form.mjs +8 -8
  37. package/fesm2022/taiga-ui-layout-components-form.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-layout-components-header.mjs +42 -0
  39. package/fesm2022/taiga-ui-layout-components-header.mjs.map +1 -0
  40. package/fesm2022/taiga-ui-layout-components-input-search.mjs +19 -22
  41. package/fesm2022/taiga-ui-layout-components-input-search.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-layout-components-item-group.mjs +6 -6
  43. package/fesm2022/taiga-ui-layout-components-navigation.mjs +81 -80
  44. package/fesm2022/taiga-ui-layout-components-navigation.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs +11 -10
  46. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-layout-components-search.mjs +17 -20
  48. package/fesm2022/taiga-ui-layout-components-search.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-layout-components-slides.mjs +49 -0
  50. package/fesm2022/taiga-ui-layout-components-slides.mjs.map +1 -0
  51. package/fesm2022/taiga-ui-layout-components-surface.mjs +7 -7
  52. package/fesm2022/taiga-ui-layout-components-surface.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-layout-components.mjs +4 -0
  54. package/fesm2022/taiga-ui-layout-components.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-layout-tokens.mjs +2 -7
  56. package/fesm2022/taiga-ui-layout-tokens.mjs.map +1 -1
  57. package/package.json +21 -2
  58. package/tokens/common-icons.d.ts +3 -5
@@ -0,0 +1,42 @@
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
+
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.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", 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-body-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-body-m);color:var(--tui-text-secondary);margin:0}[tuiHeader] [tuiLink]{font:var(--tui-font-body-m)}[tuiHeader] [tuiCaption]{font:var(--tui-font-body-s);color:var(--tui-text-secondary);font-weight:500;text-transform:uppercase;margin:0}[tuiHeader][data-size=h1]{font:var(--tui-font-heading-h1)}[tuiHeader][data-size=h2]{font:var(--tui-font-heading-h2)}[tuiHeader][data-size=h3]{font:var(--tui-font-heading-h3)}[tuiHeader][data-size=h4]{font:var(--tui-font-heading-h4)}[tuiHeader][data-size=h5]{font:var(--tui-font-heading-h5)}[tuiHeader][data-size=h6]{font:var(--tui-font-heading-h6)}[tuiHeader][data-size=body-l]{font:var(--tui-font-body-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m]{font:var(--tui-font-body-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-body-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-body-l)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
13
+ type: Component,
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-body-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-body-m);color:var(--tui-text-secondary);margin:0}[tuiHeader] [tuiLink]{font:var(--tui-font-body-m)}[tuiHeader] [tuiCaption]{font:var(--tui-font-body-s);color:var(--tui-text-secondary);font-weight:500;text-transform:uppercase;margin:0}[tuiHeader][data-size=h1]{font:var(--tui-font-heading-h1)}[tuiHeader][data-size=h2]{font:var(--tui-font-heading-h2)}[tuiHeader][data-size=h3]{font:var(--tui-font-heading-h3)}[tuiHeader][data-size=h4]{font:var(--tui-font-heading-h4)}[tuiHeader][data-size=h5]{font:var(--tui-font-heading-h5)}[tuiHeader][data-size=h6]{font:var(--tui-font-heading-h6)}[tuiHeader][data-size=body-l]{font:var(--tui-font-body-l)}[tuiHeader][data-size=body-l] [tuiTitle]{font-weight:700}[tuiHeader][data-size=body-m]{font:var(--tui-font-body-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-body-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-body-l)}\n"] }]
15
+ }] });
16
+ class TuiHeader {
17
+ constructor() {
18
+ this.nothing = tuiWithStyles(Styles);
19
+ this.options = inject(TUI_HEADER_OPTIONS);
20
+ this.tuiHeader = input(this.options.size);
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", 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 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHeader, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: '[tuiHeader]',
29
+ providers: [tuiButtonOptionsProvider({ size: 's' })],
30
+ host: {
31
+ tuiHeader: '',
32
+ '[attr.data-size]': 'tuiHeader() || options.size || "h5"',
33
+ },
34
+ }]
35
+ }] });
36
+
37
+ /**
38
+ * Generated bundle index. Do not edit.
39
+ */
40
+
41
+ export { TUI_HEADER_OPTIONS, TuiHeader, tuiHeaderOptionsProvider };
42
+ //# sourceMappingURL=taiga-ui-layout-components-header.mjs.map
@@ -0,0 +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';\n\nexport const [TUI_HEADER_OPTIONS, tuiHeaderOptionsProvider] = tuiCreateOptions<{\n size: '' | 'body-l' | 'body-m' | '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,63DAAA,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,63DAAA,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;;;;"}
@@ -1,18 +1,21 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, model, TemplateRef, ViewChild, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { viewChild, TemplateRef, inject, input, model, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { tuiInjectElement, tuiIsElement, tuiContainsOrAfter } from '@taiga-ui/cdk/utils/dom';
4
4
  import { tuiGetClosestFocusable } from '@taiga-ui/cdk/utils/focus';
5
5
  import { tuiCellOptionsProvider } from '@taiga-ui/core/components/cell';
6
- import * as i1 from '@taiga-ui/core/components/textfield';
7
- import { TuiTextfieldComponent, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
6
+ import * as i1 from '@taiga-ui/core/components/input';
7
+ import { TuiWithInput } from '@taiga-ui/core/components/input';
8
+ import { TuiTextfieldComponent } from '@taiga-ui/core/components/textfield';
8
9
  import { tuiIconStart } from '@taiga-ui/core/directives/icons';
9
- import { TuiPopupService } from '@taiga-ui/core/directives/popup';
10
+ import { TuiPopupService } from '@taiga-ui/core/portals/popup';
10
11
  import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
11
12
  import { TUI_INPUT_SEARCH } from '@taiga-ui/layout/tokens';
12
13
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
13
14
 
14
15
  class TuiInputSearch {
15
16
  constructor() {
17
+ this.template = viewChild.required(TemplateRef);
18
+ this.container = viewChild('container');
16
19
  this.el = tuiInjectElement();
17
20
  this.service = inject(TuiPopupService);
18
21
  this.textfield = inject(TuiTextfieldComponent);
@@ -33,13 +36,13 @@ class TuiInputSearch {
33
36
  }
34
37
  }
35
38
  open() {
36
- if (this.ref?.destroyed === false || !this.template) {
39
+ if (this.ref?.destroyed === false) {
37
40
  return;
38
41
  }
39
42
  this.placeholder = this.el.placeholder;
40
43
  this.parent = this.textfield.el.parentElement;
41
44
  this.neighbor = this.textfield.el.nextSibling;
42
- this.ref = this.service.add(this.template);
45
+ this.ref = this.service.add(this.template());
43
46
  this.ref.rootNodes[0]?.insertAdjacentElement('afterbegin', this.textfield.el);
44
47
  this.el.focus({ preventScroll: true });
45
48
  this.el.placeholder = this.i18n()?.placeholder || this.el.placeholder;
@@ -53,36 +56,30 @@ class TuiInputSearch {
53
56
  }
54
57
  onArrow() {
55
58
  tuiGetClosestFocusable({
56
- initial: this.container?.nativeElement || this.el,
57
- root: this.container?.nativeElement || this.el,
59
+ initial: this.container()?.nativeElement || this.el,
60
+ root: this.container()?.nativeElement || this.el,
58
61
  })?.focus();
59
62
  }
60
63
  onFocus({ target }) {
61
- if (this.container &&
64
+ if (this.container() &&
62
65
  target !== this.el &&
63
66
  tuiIsElement(target) &&
64
- !tuiContainsOrAfter(this.container.nativeElement, target)) {
67
+ !tuiContainsOrAfter(this.container().nativeElement, target)) {
65
68
  this.close();
66
69
  }
67
70
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: TuiInputSearch, isStandalone: true, selector: "input[tuiInputSearch]", inputs: { tuiInputSearch: { classPropertyName: "tuiInputSearch", publicName: "tuiInputSearch", isSignal: true, isRequired: false, transformFunction: null }, searchOpen: { classPropertyName: "searchOpen", publicName: "tuiInputSearchOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchOpen: "tuiInputSearchOpenChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "focus": "open()", "keydown.tab.prevent": "0", "keydown.arrowDown.prevent": "onArrow()" } }, providers: [tuiCellOptionsProvider({ size: 'm' })], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: "<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".t-container{position:fixed;top:0;left:0;bottom:0;right:0;display:grid;gap:.25rem;grid-template:min-content / minmax(auto,50rem);place-content:start center;padding:.5rem;background:var(--tui-service-backdrop);box-shadow:0 0 0 5rem var(--tui-service-backdrop)}.t-container ::ng-deep>tui-textfield{background:var(--tui-background-base-alt)}.t-content{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiInputSearch, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.17", type: TuiInputSearch, isStandalone: true, selector: "input[tuiInputSearch]", inputs: { tuiInputSearch: { classPropertyName: "tuiInputSearch", publicName: "tuiInputSearch", isSignal: true, isRequired: false, transformFunction: null }, searchOpen: { classPropertyName: "searchOpen", publicName: "tuiInputSearchOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchOpen: "tuiInputSearchOpenChange" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "focus": "open()", "keydown.tab.prevent": "0", "keydown.arrowDown.prevent": "onArrow()" } }, providers: [tuiCellOptionsProvider({ size: 'm' })], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, isSignal: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiWithInput }], ngImport: i0, template: "<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".t-container{position:fixed;inset:0;display:grid;gap:.25rem;grid-template:min-content / minmax(auto,50rem);place-content:start center;padding:.5rem;background:var(--tui-service-backdrop);box-shadow:0 0 0 5rem var(--tui-service-backdrop)}.t-container ::ng-deep>tui-textfield{-webkit-backdrop-filter:blur(1rem) brightness(.8);backdrop-filter:blur(1rem) brightness(.8)}.t-content{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
73
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputSearch, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiInputSearch, decorators: [{
72
75
  type: Component,
73
- args: [{ selector: 'input[tuiInputSearch]', imports: [PolymorpheusOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiCellOptionsProvider({ size: 'm' })], hostDirectives: [TuiWithTextfield], host: {
76
+ args: [{ selector: 'input[tuiInputSearch]', imports: [PolymorpheusOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiCellOptionsProvider({ size: 'm' })], hostDirectives: [TuiWithInput], host: {
74
77
  ngSkipHydration: 'true',
75
78
  '(focus)': 'open()',
76
79
  '(keydown.tab.prevent)': '0',
77
80
  '(keydown.arrowDown.prevent)': 'onArrow()',
78
- }, template: "<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".t-container{position:fixed;top:0;left:0;bottom:0;right:0;display:grid;gap:.25rem;grid-template:min-content / minmax(auto,50rem);place-content:start center;padding:.5rem;background:var(--tui-service-backdrop);box-shadow:0 0 0 5rem var(--tui-service-backdrop)}.t-container ::ng-deep>tui-textfield{background:var(--tui-background-base-alt)}.t-content{overflow:hidden}\n"] }]
79
- }], propDecorators: { template: [{
80
- type: ViewChild,
81
- args: [TemplateRef]
82
- }], container: [{
83
- type: ViewChild,
84
- args: ['container']
85
- }] } });
81
+ }, template: "<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n", styles: [".t-container{position:fixed;inset:0;display:grid;gap:.25rem;grid-template:min-content / minmax(auto,50rem);place-content:start center;padding:.5rem;background:var(--tui-service-backdrop);box-shadow:0 0 0 5rem var(--tui-service-backdrop)}.t-container ::ng-deep>tui-textfield{-webkit-backdrop-filter:blur(1rem) brightness(.8);backdrop-filter:blur(1rem) brightness(.8)}.t-content{overflow:hidden}\n"] }]
82
+ }] });
86
83
 
87
84
  /**
88
85
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components-input-search.mjs","sources":["../../../projects/layout/components/input-search/input-search.component.ts","../../../projects/layout/components/input-search/input-search.component.html","../../../projects/layout/components/input-search/taiga-ui-layout-components-input-search.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n type ElementRef,\n type EmbeddedViewRef,\n inject,\n input,\n model,\n type OnChanges,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n tuiContainsOrAfter,\n tuiInjectElement,\n tuiIsElement,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable} from '@taiga-ui/cdk/utils/focus';\nimport {tuiCellOptionsProvider} from '@taiga-ui/core/components/cell';\nimport {\n TuiTextfieldComponent,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconStart} from '@taiga-ui/core/directives/icons';\nimport {TuiPopupService} from '@taiga-ui/core/directives/popup';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'input[tuiInputSearch]',\n imports: [PolymorpheusOutlet],\n templateUrl: './input-search.component.html',\n styleUrl: './input-search.component.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiCellOptionsProvider({size: 'm'})],\n hostDirectives: [TuiWithTextfield],\n host: {\n ngSkipHydration: 'true',\n '(focus)': 'open()',\n '(keydown.tab.prevent)': '0',\n '(keydown.arrowDown.prevent)': 'onArrow()',\n },\n})\nexport class TuiInputSearch implements OnChanges {\n @ViewChild(TemplateRef)\n private readonly template?: TemplateRef<any>;\n\n @ViewChild('container')\n private readonly container?: ElementRef<HTMLElement>;\n\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly service = inject(TuiPopupService);\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly i18n = inject(TUI_INPUT_SEARCH);\n private parent = this.textfield.el.parentElement;\n private neighbor = this.textfield.el.nextSibling;\n private placeholder = '';\n private ref?: EmbeddedViewRef<unknown>;\n\n protected readonly icon = tuiIconStart(inject(TUI_COMMON_ICONS).search, {});\n\n public readonly tuiInputSearch = input<PolymorpheusContent>();\n\n public searchOpen = model(false, {alias: 'tuiInputSearchOpen'});\n\n public ngOnChanges(): void {\n if (this.searchOpen()) {\n this.open();\n } else {\n this.close();\n }\n }\n\n public open(): void {\n if (this.ref?.destroyed === false || !this.template) {\n return;\n }\n\n this.placeholder = this.el.placeholder;\n this.parent = this.textfield.el.parentElement;\n this.neighbor = this.textfield.el.nextSibling;\n this.ref = this.service.add(this.template);\n this.ref.rootNodes[0]?.insertAdjacentElement('afterbegin', this.textfield.el);\n this.el.focus({preventScroll: true});\n this.el.placeholder = this.i18n()?.placeholder || this.el.placeholder;\n this.searchOpen.set(true);\n }\n\n public close(): void {\n this.el.placeholder = this.placeholder || this.el.placeholder;\n this.parent?.insertBefore(this.textfield.el, this.neighbor);\n this.ref?.destroy();\n this.searchOpen.set(false);\n }\n\n protected onArrow(): void {\n tuiGetClosestFocusable({\n initial: this.container?.nativeElement || this.el,\n root: this.container?.nativeElement || this.el,\n })?.focus();\n }\n\n protected onFocus({target}: Event): void {\n if (\n this.container &&\n target !== this.el &&\n tuiIsElement(target) &&\n !tuiContainsOrAfter(this.container.nativeElement, target)\n ) {\n this.close();\n }\n }\n}\n","<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;MA4Ca,cAAc,CAAA;AAf3B,IAAA,WAAA,GAAA;QAsBqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAoB;AACzC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACzC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa;QACxC,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW;QACxC,IAAW,CAAA,WAAA,GAAG,EAAE;AAGL,QAAA,IAAA,CAAA,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAE3D,IAAc,CAAA,cAAA,GAAG,KAAK,EAAuB;QAEtD,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAC,KAAK,EAAE,oBAAoB,EAAC,CAAC;AAiDlE;IA/CU,WAAW,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,EAAE;;aACR;YACH,IAAI,CAAC,KAAK,EAAE;;;IAIb,IAAI,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE,SAAS,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjD;;QAGJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,aAAa;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW;AAC7C,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;AACpC,QAAA,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW;AACrE,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;;IAGtB,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW;AAC7D,QAAA,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC3D,QAAA,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;AACnB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;;IAGpB,OAAO,GAAA;AACb,QAAA,sBAAsB,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,EAAE;YACjD,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,IAAI,IAAI,CAAC,EAAE;SACjD,CAAC,EAAE,KAAK,EAAE;;IAGL,OAAO,CAAC,EAAC,MAAM,EAAQ,EAAA;QAC7B,IACI,IAAI,CAAC,SAAS;YACd,MAAM,KAAK,IAAI,CAAC,EAAE;YAClB,YAAY,CAAC,MAAM,CAAC;YACpB,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,EAC3D;YACE,IAAI,CAAC,KAAK,EAAE;;;+GAlEX,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,okBATZ,CAAC,sBAAsB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC,EAUrC,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,WAAW,EC7C1B,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4ZAgBA,yaDec,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAanB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,SAAS;+BACI,uBAAuB,EAAA,OAAA,EACxB,CAAC,kBAAkB,CAAC,mBAGZ,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,sBAAsB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC,EAChC,cAAA,EAAA,CAAC,gBAAgB,CAAC,EAC5B,IAAA,EAAA;AACF,wBAAA,eAAe,EAAE,MAAM;AACvB,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,uBAAuB,EAAE,GAAG;AAC5B,wBAAA,6BAA6B,EAAE,WAAW;AAC7C,qBAAA,EAAA,QAAA,EAAA,4ZAAA,EAAA,MAAA,EAAA,CAAA,iXAAA,CAAA,EAAA;8BAIgB,QAAQ,EAAA,CAAA;sBADxB,SAAS;uBAAC,WAAW;gBAIL,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,WAAW;;;AEhD1B;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-layout-components-input-search.mjs","sources":["../../../projects/layout/components/input-search/input-search.component.ts","../../../projects/layout/components/input-search/input-search.component.html","../../../projects/layout/components/input-search/taiga-ui-layout-components-input-search.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n type ElementRef,\n type EmbeddedViewRef,\n inject,\n input,\n model,\n type OnChanges,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport {\n tuiContainsOrAfter,\n tuiInjectElement,\n tuiIsElement,\n} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable} from '@taiga-ui/cdk/utils/focus';\nimport {tuiCellOptionsProvider} from '@taiga-ui/core/components/cell';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {tuiIconStart} from '@taiga-ui/core/directives/icons';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TUI_INPUT_SEARCH} from '@taiga-ui/layout/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'input[tuiInputSearch]',\n imports: [PolymorpheusOutlet],\n templateUrl: './input-search.component.html',\n styleUrl: './input-search.component.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiCellOptionsProvider({size: 'm'})],\n hostDirectives: [TuiWithInput],\n host: {\n ngSkipHydration: 'true',\n '(focus)': 'open()',\n '(keydown.tab.prevent)': '0',\n '(keydown.arrowDown.prevent)': 'onArrow()',\n },\n})\nexport class TuiInputSearch implements OnChanges {\n private readonly template = viewChild.required(TemplateRef);\n private readonly container = viewChild<ElementRef<HTMLElement>>('container');\n private readonly el = tuiInjectElement<HTMLInputElement>();\n private readonly service = inject(TuiPopupService);\n private readonly textfield = inject(TuiTextfieldComponent);\n private readonly i18n = inject(TUI_INPUT_SEARCH);\n private parent = this.textfield.el.parentElement;\n private neighbor = this.textfield.el.nextSibling;\n private placeholder = '';\n private ref?: EmbeddedViewRef<unknown>;\n\n protected readonly icon = tuiIconStart(inject(TUI_COMMON_ICONS).search, {});\n\n public readonly tuiInputSearch = input<PolymorpheusContent>();\n\n public searchOpen = model(false, {alias: 'tuiInputSearchOpen'});\n\n public ngOnChanges(): void {\n if (this.searchOpen()) {\n this.open();\n } else {\n this.close();\n }\n }\n\n public open(): void {\n if (this.ref?.destroyed === false) {\n return;\n }\n\n this.placeholder = this.el.placeholder;\n this.parent = this.textfield.el.parentElement;\n this.neighbor = this.textfield.el.nextSibling;\n this.ref = this.service.add(this.template());\n this.ref.rootNodes[0]?.insertAdjacentElement('afterbegin', this.textfield.el);\n this.el.focus({preventScroll: true});\n this.el.placeholder = this.i18n()?.placeholder || this.el.placeholder;\n this.searchOpen.set(true);\n }\n\n public close(): void {\n this.el.placeholder = this.placeholder || this.el.placeholder;\n this.parent?.insertBefore(this.textfield.el, this.neighbor);\n this.ref?.destroy();\n this.searchOpen.set(false);\n }\n\n protected onArrow(): void {\n tuiGetClosestFocusable({\n initial: this.container()?.nativeElement || this.el,\n root: this.container()?.nativeElement || this.el,\n })?.focus();\n }\n\n protected onFocus({target}: Event): void {\n if (\n this.container() &&\n target !== this.el &&\n tuiIsElement(target) &&\n !tuiContainsOrAfter(this.container()!.nativeElement, target)\n ) {\n this.close();\n }\n }\n}\n","<ng-template>\n <div\n tuiTheme=\"dark\"\n class=\"t-container\"\n (document:focusin)=\"onFocus($event)\"\n (keydown.esc)=\"close()\"\n (pointerdown.self)=\"close()\"\n >\n <div\n #container\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"tuiInputSearch()\" />\n </div>\n </div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
5
5
 
6
6
  const OPTIONS = { behavior: 'smooth', block: 'nearest', inline: 'center' };
7
7
  class Styles {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-item-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiItemGroup]{display:flex;flex-wrap:wrap;--tui-item-margin: .25rem}[tuiItemGroup]>*:not(tui-items-with-more){margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._horizontal{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow:scroll}[tuiItemGroup]._horizontal::-webkit-scrollbar,[tuiItemGroup]._horizontal::-webkit-scrollbar-thumb{display:none}[tuiItemGroup]._horizontal>*:not(tui-items-with-more){margin-block-end:0}[tuiItemGroup]._initialized tui-items-with-more .t-item{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:1;transform:scale(1)}[tuiItemGroup]._initialized tui-items-with-more .t-item>*{margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._initialized tui-items-with-more .t-item_hidden{opacity:0;transform:scale(.9)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-item-group" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiItemGroup]{display:flex;flex-wrap:wrap;--tui-item-margin: .25rem}[tuiItemGroup]>*:not(tui-items-with-more){margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._horizontal{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow:scroll}[tuiItemGroup]._horizontal::-webkit-scrollbar,[tuiItemGroup]._horizontal::-webkit-scrollbar-thumb{display:none}[tuiItemGroup]._horizontal>*:not(tui-items-with-more){margin-block-end:0}[tuiItemGroup]._initialized tui-items-with-more .t-item{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:1;transform:scale(1)}[tuiItemGroup]._initialized tui-items-with-more .t-item>*{margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._initialized tui-items-with-more .t-item_hidden{opacity:0;transform:scale(.9)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: Styles, decorators: [{
12
12
  type: Component,
13
13
  args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-item-group' }, styles: ["[tuiItemGroup]{display:flex;flex-wrap:wrap;--tui-item-margin: .25rem}[tuiItemGroup]>*:not(tui-items-with-more){margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._horizontal{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow:scroll}[tuiItemGroup]._horizontal::-webkit-scrollbar,[tuiItemGroup]._horizontal::-webkit-scrollbar-thumb{display:none}[tuiItemGroup]._horizontal>*:not(tui-items-with-more){margin-block-end:0}[tuiItemGroup]._initialized tui-items-with-more .t-item{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:1;transform:scale(1)}[tuiItemGroup]._initialized tui-items-with-more .t-item>*{margin:0 var(--tui-item-margin) var(--tui-item-margin) 0}[tuiItemGroup]._initialized tui-items-with-more .t-item_hidden{opacity:0;transform:scale(.9)}\n"] }]
14
14
  }] });
@@ -28,10 +28,10 @@ class TuiItemGroup {
28
28
  setTimeout(() => target.scrollIntoView(OPTIONS));
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiItemGroup, isStandalone: true, selector: "[tuiItemGroup]", inputs: { horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, autoscroll: { classPropertyName: "autoscroll", publicName: "autoscroll", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event.target)" }, properties: { "class._horizontal": "horizontal()" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiItemGroup, isStandalone: true, selector: "[tuiItemGroup]", inputs: { horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, autoscroll: { classPropertyName: "autoscroll", publicName: "autoscroll", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event.target)" }, properties: { "class._horizontal": "horizontal()" } }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiItemGroup, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiItemGroup, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[tuiItemGroup]',