@taiga-ui/experimental 4.92.0 → 4.93.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,6 +14,7 @@ export declare class TuiAccordionComponent implements AfterViewInit {
14
14
  set sizeSetter(size: TuiSizeL | TuiSizeS);
15
15
  ngAfterViewInit(): void;
16
16
  toggle(directive: TuiAccordionDirective): void;
17
+ private get ownDirectives();
17
18
  private expand;
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionComponent, never>;
19
20
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiAccordionComponent, "tui-accordion", never, { "closeOthers": { "alias": "closeOthers"; "required": false; }; "sizeSetter": { "alias": "size"; "required": false; }; }, {}, ["expands", "directives"], ["*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }]>;
@@ -1,13 +1,16 @@
1
1
  import { EventEmitter, type OnChanges } from '@angular/core';
2
+ import { TuiAccordionComponent } from './accordion.component';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@taiga-ui/core/components/button";
4
5
  import * as i2 from "@taiga-ui/kit/directives/chevron";
5
6
  export declare class TuiAccordionDirective implements OnChanges {
6
- private readonly accordion;
7
+ private readonly accordionRef;
7
8
  protected readonly size: import("@angular/core").WritableSignal<"m" | "s" | "l">;
8
9
  tuiAccordion: boolean | string;
9
10
  readonly tuiAccordionChange: EventEmitter<boolean>;
10
11
  readonly open: import("@angular/core").WritableSignal<boolean>;
12
+ /** Nearest accordion this trigger belongs to, used to filter out nested ones */
13
+ readonly accordion: TuiAccordionComponent;
11
14
  ngOnChanges(): void;
12
15
  toggle(): void;
13
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionDirective, never>;
@@ -12,6 +12,11 @@ class TuiAccordionComponent {
12
12
  this.destroyRef = inject(DestroyRef);
13
13
  this.toggle$ = new ReplaySubject(Infinity);
14
14
  this.expands = EMPTY_QUERY;
15
+ // Descendants search is required so a trigger wrapped in an arbitrary
16
+ // element (e.g. alongside a custom action button) is still found — but
17
+ // that also picks up triggers belonging to an accordion nested inside
18
+ // this one's tui-expand, so `ownDirectives` filters those back out to
19
+ // keep index-based pairing intact.
15
20
  this.directives = EMPTY_QUERY;
16
21
  this.closeOthers = true;
17
22
  this.size = signal('l');
@@ -27,21 +32,26 @@ class TuiAccordionComponent {
27
32
  toggle(directive) {
28
33
  this.toggle$.next(directive);
29
34
  }
35
+ get ownDirectives() {
36
+ return this.directives.filter((dir) => dir.accordion === this);
37
+ }
30
38
  expand(accordion) {
39
+ const ownDirectives = this.ownDirectives;
40
+ const expand = this.expands.get(ownDirectives.indexOf(accordion));
31
41
  if (this.closeOthers && accordion.open()) {
32
- this.expands.forEach((expand) => {
33
- expand.expanded = false;
42
+ this.expands
43
+ .filter((x) => x !== expand)
44
+ .forEach((item) => {
45
+ item.expanded = false;
34
46
  });
35
- this.directives.forEach((dir) => {
36
- if (dir === accordion) {
37
- return;
38
- }
47
+ ownDirectives
48
+ .filter((x) => x !== accordion)
49
+ .forEach((dir) => {
39
50
  dir.open.set(false);
40
51
  dir.tuiAccordion = false;
41
52
  dir.tuiAccordionChange.emit(false);
42
53
  });
43
54
  }
44
- const expand = this.expands.get(this.directives.toArray().indexOf(accordion));
45
55
  if (expand) {
46
56
  expand.expanded = accordion.open();
47
57
  }
@@ -52,7 +62,7 @@ class TuiAccordionComponent {
52
62
  orientation: 'vertical',
53
63
  collapsed: true,
54
64
  }),
55
- ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective }], hostDirectives: [{ directive: i1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
65
+ ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective, descendants: true }], hostDirectives: [{ directive: i1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
66
  }
57
67
  export { TuiAccordionComponent };
58
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionComponent, decorators: [{
@@ -70,11 +80,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
70
80
  args: [TuiExpand]
71
81
  }], directives: [{
72
82
  type: ContentChildren,
73
- args: [TuiAccordionDirective]
83
+ args: [TuiAccordionDirective, { descendants: true }]
74
84
  }], closeOthers: [{
75
85
  type: Input
76
86
  }], sizeSetter: [{
77
87
  type: Input,
78
88
  args: ['size']
79
89
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7QUFFNUQsTUFrQmEscUJBQXFCO0lBbEJsQztRQW1CcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQXdCLFFBQVEsQ0FBQyxDQUFDO1FBRzlELFlBQU8sR0FBeUIsV0FBVyxDQUFDO1FBRzVDLGVBQVUsR0FBcUMsV0FBVyxDQUFDO1FBR3BFLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRVYsU0FBSSxHQUFHLE1BQU0sQ0FBc0IsR0FBRyxDQUFDLENBQUM7S0E4QzNEO0lBNUNHLElBQ1csVUFBVSxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxlQUFlO1FBQ2xCLEtBQUssQ0FDRCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvRCxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUNwQyxFQUNELElBQUksQ0FBQyxPQUFPLENBQ2Y7YUFDSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBZ0M7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFnQztRQUMzQyxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzVCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO29CQUNuQixPQUFPO2lCQUNWO2dCQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQixHQUFHLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDekIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUU5RSxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzsrR0ExRFEscUJBQXFCO21HQUFyQixxQkFBcUIsOExBWG5CO1lBQ1AsdUJBQXVCLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxVQUFVO2dCQUN2QixTQUFTLEVBQUUsSUFBSTthQUNsQixDQUFDO1NBQ0wsa0RBVWdCLFNBQVMsNkNBR1QscUJBQXFCLDJFQXRCNUIsZ0JBQWdCOztTQWVqQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFsQmpDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGVBQWUsWUFDZixnQkFBZ0IsaUJBRVgsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCx1QkFBdUIsQ0FBQzs0QkFDcEIsV0FBVyxFQUFFLFVBQVU7NEJBQ3ZCLFNBQVMsRUFBRSxJQUFJO3lCQUNsQixDQUFDO3FCQUNMLGtCQUNlLENBQUMsUUFBUSxDQUFDLFFBQ3BCO3dCQUNGLGtCQUFrQixFQUFFLFFBQVE7cUJBQy9COzhCQU9lLE9BQU87c0JBRHRCLGVBQWU7dUJBQUMsU0FBUztnQkFJVixVQUFVO3NCQUR6QixlQUFlO3VCQUFDLHFCQUFxQjtnQkFJL0IsV0FBVztzQkFEakIsS0FBSztnQkFNSyxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlHcm91cCwgdHVpR3JvdXBPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZ3JvdXAnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1R1aUV4cGFuZH0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2V4cGFuZCc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2UsIFJlcGxheVN1YmplY3QsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25EaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktYWNjb3JkaW9uJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgICBzdHlsZVVybHM6IFsnLi9hY2NvcmRpb24uc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUdyb3VwT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnLFxuICAgICAgICAgICAgY29sbGFwc2VkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpR3JvdXBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2dnbGUkID0gbmV3IFJlcGxheVN1YmplY3Q8VHVpQWNjb3JkaW9uRGlyZWN0aXZlPihJbmZpbml0eSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUV4cGFuZClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kczogUXVlcnlMaXN0PFR1aUV4cGFuZD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpQWNjb3JkaW9uRGlyZWN0aXZlKVxuICAgIHB1YmxpYyByZWFkb25seSBkaXJlY3RpdmVzOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSBzaWduYWw8VHVpU2l6ZUwgfCBUdWlTaXplUz4oJ2wnKTtcblxuICAgIEBJbnB1dCgnc2l6ZScpXG4gICAgcHVibGljIHNldCBzaXplU2V0dGVyKHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZVMpIHtcbiAgICAgICAgdGhpcy5zaXplLnNldChzaXplKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlyZWN0aXZlcy5jaGFuZ2VzLCB0aGlzLmV4cGFuZHMuY2hhbmdlc10pLnBpcGUoXG4gICAgICAgICAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy50b2dnbGUkKSxcbiAgICAgICAgICAgICAgICBtYXAoKFssIGFjY29yZGlvbl0pID0+IGFjY29yZGlvbiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy50b2dnbGUkLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjY29yZGlvbikgPT4gdGhpcy5leHBhbmQoYWNjb3JkaW9uKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShkaXJlY3RpdmU6IFR1aUFjY29yZGlvbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZSQubmV4dChkaXJlY3RpdmUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kKGFjY29yZGlvbjogVHVpQWNjb3JkaW9uRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNsb3NlT3RoZXJzICYmIGFjY29yZGlvbi5vcGVuKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kcy5mb3JFYWNoKChleHBhbmQpID0+IHtcbiAgICAgICAgICAgICAgICBleHBhbmQuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmRpcmVjdGl2ZXMuZm9yRWFjaCgoZGlyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpciA9PT0gYWNjb3JkaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBkaXIub3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGRpci50dWlBY2NvcmRpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBkaXIudHVpQWNjb3JkaW9uQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBleHBhbmQgPSB0aGlzLmV4cGFuZHMuZ2V0KHRoaXMuZGlyZWN0aXZlcy50b0FycmF5KCkuaW5kZXhPZihhY2NvcmRpb24pKTtcblxuICAgICAgICBpZiAoZXhwYW5kKSB7XG4gICAgICAgICAgICBleHBhbmQuZXhwYW5kZWQgPSBhY2NvcmRpb24ub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsUUFBUSxFQUFFLHVCQUF1QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7QUFFNUQsTUFrQmEscUJBQXFCO0lBbEJsQztRQW1CcUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQXdCLFFBQVEsQ0FBQyxDQUFDO1FBRzlELFlBQU8sR0FBeUIsV0FBVyxDQUFDO1FBRTVELHNFQUFzRTtRQUN0RSx1RUFBdUU7UUFDdkUsc0VBQXNFO1FBQ3RFLHNFQUFzRTtRQUN0RSxtQ0FBbUM7UUFFbkIsZUFBVSxHQUFxQyxXQUFXLENBQUM7UUFHcEUsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFFVixTQUFJLEdBQUcsTUFBTSxDQUFzQixHQUFH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QUNsQixDQUFDO3FCQUNMLGtCQUNlLENBQUMsUUFBUSxDQUFDLFFBQ3BCO3dCQUNGLGtCQUFrQixFQUFFLFFBQVE7cUJBQy9COzhCQU9lLE9BQU87c0JBRHRCLGVBQWU7dUJBQUMsU0FBUztnQkFTVixVQUFVO3NCQUR6QixlQUFlO3VCQUFDLHFCQUFxQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFJcEQsV0FBVztzQkFEakIsS0FBSztnQkFNSyxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIHNpZ25hbCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlHcm91cCwgdHVpR3JvdXBPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZ3JvdXAnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1R1aUV4cGFuZH0gZnJvbSAnQHRhaWdhLXVpL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2V4cGFuZCc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2UsIFJlcGxheVN1YmplY3QsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25EaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktYWNjb3JkaW9uJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgICBzdHlsZVVybHM6IFsnLi9hY2NvcmRpb24uc3R5bGUubGVzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUdyb3VwT3B0aW9uc1Byb3ZpZGVyKHtcbiAgICAgICAgICAgIG9yaWVudGF0aW9uOiAndmVydGljYWwnLFxuICAgICAgICAgICAgY29sbGFwc2VkOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpR3JvdXBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2dnbGUkID0gbmV3IFJlcGxheVN1YmplY3Q8VHVpQWNjb3JkaW9uRGlyZWN0aXZlPihJbmZpbml0eSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aUV4cGFuZClcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXhwYW5kczogUXVlcnlMaXN0PFR1aUV4cGFuZD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIC8vIERlc2NlbmRhbnRzIHNlYXJjaCBpcyByZXF1aXJlZCBzbyBhIHRyaWdnZXIgd3JhcHBlZCBpbiBhbiBhcmJpdHJhcnlcbiAgICAvLyBlbGVtZW50IChlLmcuIGFsb25nc2lkZSBhIGN1c3RvbSBhY3Rpb24gYnV0dG9uKSBpcyBzdGlsbCBmb3VuZCDigJQgYnV0XG4gICAgLy8gdGhhdCBhbHNvIHBpY2tzIHVwIHRyaWdnZXJzIGJlbG9uZ2luZyB0byBhbiBhY2NvcmRpb24gbmVzdGVkIGluc2lkZVxuICAgIC8vIHRoaXMgb25lJ3MgdHVpLWV4cGFuZCwgc28gYG93bkRpcmVjdGl2ZXNgIGZpbHRlcnMgdGhvc2UgYmFjayBvdXQgdG9cbiAgICAvLyBrZWVwIGluZGV4LWJhc2VkIHBhaXJpbmcgaW50YWN0LlxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpQWNjb3JkaW9uRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHB1YmxpYyByZWFkb25seSBkaXJlY3RpdmVzOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSBzaWduYWw8VHVpU2l6ZUwgfCBUdWlTaXplUz4oJ2wnKTtcblxuICAgIEBJbnB1dCgnc2l6ZScpXG4gICAgcHVibGljIHNldCBzaXplU2V0dGVyKHNpemU6IFR1aVNpemVMIHwgVHVpU2l6ZVMpIHtcbiAgICAgICAgdGhpcy5zaXplLnNldChzaXplKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlyZWN0aXZlcy5jaGFuZ2VzLCB0aGlzLmV4cGFuZHMuY2hhbmdlc10pLnBpcGUoXG4gICAgICAgICAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy50b2dnbGUkKSxcbiAgICAgICAgICAgICAgICBtYXAoKFssIGFjY29yZGlvbl0pID0+IGFjY29yZGlvbiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGhpcy50b2dnbGUkLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGFjY29yZGlvbikgPT4gdGhpcy5leHBhbmQoYWNjb3JkaW9uKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZShkaXJlY3RpdmU6IFR1aUFjY29yZGlvbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZSQubmV4dChkaXJlY3RpdmUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG93bkRpcmVjdGl2ZXMoKTogVHVpQWNjb3JkaW9uRGlyZWN0aXZlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXJlY3RpdmVzLmZpbHRlcigoZGlyKSA9PiBkaXIuYWNjb3JkaW9uID09PSB0aGlzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZChhY2NvcmRpb246IFR1aUFjY29yZGlvbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBvd25EaXJlY3RpdmVzID0gdGhpcy5vd25EaXJlY3RpdmVzO1xuICAgICAgICBjb25zdCBleHBhbmQgPSB0aGlzLmV4cGFuZHMuZ2V0KG93bkRpcmVjdGl2ZXMuaW5kZXhPZihhY2NvcmRpb24pKTtcblxuICAgICAgICBpZiAodGhpcy5jbG9zZU90aGVycyAmJiBhY2NvcmRpb24ub3BlbigpKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZHNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiB4ICE9PSBleHBhbmQpXG4gICAgICAgICAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBvd25EaXJlY3RpdmVzXG4gICAgICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4geCAhPT0gYWNjb3JkaW9uKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChkaXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGlyLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZGlyLnR1aUFjY29yZGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBkaXIudHVpQWNjb3JkaW9uQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGFuZCkge1xuICAgICAgICAgICAgZXhwYW5kLmV4cGFuZGVkID0gYWNjb3JkaW9uLm9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -9,21 +9,23 @@ import * as i1 from "@taiga-ui/core/components/button";
9
9
  import * as i2 from "@taiga-ui/kit/directives/chevron";
10
10
  class TuiAccordionDirective {
11
11
  constructor() {
12
- this.accordion = inject(TuiAccordionComponent);
13
- this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);
12
+ this.accordionRef = inject(TuiAccordionComponent);
13
+ this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordionRef.size);
14
14
  this.tuiAccordion = '';
15
15
  this.tuiAccordionChange = new EventEmitter();
16
16
  this.open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));
17
+ /** Nearest accordion this trigger belongs to, used to filter out nested ones */
18
+ this.accordion = this.accordionRef;
17
19
  }
18
20
  ngOnChanges() {
19
21
  this.open.set(!!this.tuiAccordion);
20
- this.accordion.toggle(this);
22
+ this.accordionRef.toggle(this);
21
23
  }
22
24
  toggle() {
23
25
  this.open.set(!this.open());
24
26
  this.tuiAccordion = this.open();
25
27
  this.tuiAccordionChange.emit(this.open());
26
- this.accordion.toggle(this);
28
+ this.accordionRef.toggle(this);
27
29
  }
28
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
31
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { tuiAccordion: "tuiAccordion" }, outputs: { tuiAccordionChange: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [
@@ -55,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
57
  }], tuiAccordionChange: [{
56
58
  type: Output
57
59
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTVELE1BZ0JhLHFCQUFxQjtJQWhCbEM7UUFpQnFCLGNBQVMsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV4QyxTQUFJLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRy9FLGlCQUFZLEdBQXFCLEVBQUUsQ0FBQztRQUczQix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWpELFNBQUksR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBYXZGO0lBWFUsV0FBVztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQzsrR0F2QlEscUJBQXFCO21HQUFyQixxQkFBcUIsa1VBYm5CO1lBQ1Asd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7WUFDckMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztTQUM5RDs7U0FVUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFoQmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDUCx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQzt3QkFDckMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztxQkFDOUQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztvQkFDdkMsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxFQUFFO3dCQUNiLFlBQVksRUFBRSxFQUFFO3dCQUNoQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxlQUFlLEVBQUUsUUFBUTt3QkFDekIsU0FBUyxFQUFFLFVBQVU7cUJBQ3hCO2lCQUNKOzhCQU9VLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSVUsa0JBQWtCO3NCQURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge1R1aUJ1dHRvbiwgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge3R1aUF2YXRhck9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQge1R1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9jaGV2cm9uJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25Db21wb25lbnR9IGZyb20gJy4vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdidXR0b25bdHVpQWNjb3JkaW9uXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUF2YXRhck9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ3MnfSksXG4gICAgICAgIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7YXBwZWFyYW5jZTogJ291dGxpbmUtZ3JheXNjYWxlJ30pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlCdXR0b24sIFR1aUNoZXZyb25dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQnV0dG9uOiAnJyxcbiAgICAgICAgdHVpQWNjb3JkaW9uOiAnJyxcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICdbY2xhc3MuX29wZW5dJzogJ29wZW4oKScsXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uID0gaW5qZWN0KFR1aUFjY29yZGlvbkNvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoVHVpQnV0dG9uLCAnc2l6ZScsIHRoaXMuYWNjb3JkaW9uLnNpemUpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpQWNjb3JkaW9uOiBib29sZWFuIHwgc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHVpQWNjb3JkaW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG9wZW4gPSB0dWlEaXJlY3RpdmVCaW5kaW5nKFR1aUNoZXZyb24sICd0dWlDaGV2cm9uJywgc2lnbmFsKGZhbHNlKSk7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoISF0aGlzLnR1aUFjY29yZGlvbik7XG4gICAgICAgIHRoaXMuYWNjb3JkaW9uLnRvZ2dsZSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4uc2V0KCF0aGlzLm9wZW4oKSk7XG4gICAgICAgIHRoaXMudHVpQWNjb3JkaW9uID0gdGhpcy5vcGVuKCk7XG4gICAgICAgIHRoaXMudHVpQWNjb3JkaW9uQ2hhbmdlLmVtaXQodGhpcy5vcGVuKCkpO1xuICAgICAgICB0aGlzLmFjY29yZGlvbi50b2dnbGUodGhpcyk7XG4gICAgfVxufVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4cGVyaW1lbnRhbC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDckYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBRTVELE1BZ0JhLHFCQUFxQjtJQWhCbEM7UUFpQnFCLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFM0MsU0FBSSxHQUFHLG1CQUFtQixDQUN6QyxTQUFTLEVBQ1QsTUFBTSxFQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN6QixDQUFDO1FBR0ssaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBRzNCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFakQsU0FBSSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFcEYsZ0ZBQWdGO1FBQ2hFLGNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0tBYWpEO0lBWFUsV0FBVztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0E5QlEscUJBQXFCO21HQUFyQixxQkFBcUIsa1VBYm5CO1lBQ1Asd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7WUFDckMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztTQUM5RDs7U0FVUSxxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFoQmpDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRTt3QkFDUCx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQzt3QkFDckMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsQ0FBQztxQkFDOUQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztvQkFDdkMsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSxFQUFFO3dCQUNiLFlBQVksRUFBRSxFQUFFO3dCQUNoQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxlQUFlLEVBQUUsUUFBUTt3QkFDekIsU0FBUyxFQUFFLFVBQVU7cUJBQ3hCO2lCQUNKOzhCQVdVLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSVUsa0JBQWtCO3NCQURqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBEaXJlY3RpdmUsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICB0eXBlIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGlyZWN0aXZlQmluZGluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge1R1aUJ1dHRvbiwgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge3R1aUF2YXRhck9wdGlvbnNQcm92aWRlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQge1R1aUNoZXZyb259IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9jaGV2cm9uJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25Db21wb25lbnR9IGZyb20gJy4vYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdidXR0b25bdHVpQWNjb3JkaW9uXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUF2YXRhck9wdGlvbnNQcm92aWRlcih7c2l6ZTogJ3MnfSksXG4gICAgICAgIHR1aUJ1dHRvbk9wdGlvbnNQcm92aWRlcih7YXBwZWFyYW5jZTogJ291dGxpbmUtZ3JheXNjYWxlJ30pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlCdXR0b24sIFR1aUNoZXZyb25dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHVpQnV0dG9uOiAnJyxcbiAgICAgICAgdHVpQWNjb3JkaW9uOiAnJyxcbiAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICdbY2xhc3MuX29wZW5dJzogJ29wZW4oKScsXG4gICAgICAgICcoY2xpY2spJzogJ3RvZ2dsZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjb3JkaW9uUmVmID0gaW5qZWN0KFR1aUFjY29yZGlvbkNvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2l6ZSA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgJ3NpemUnLFxuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi5zaXplLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlBY2NvcmRpb246IGJvb2xlYW4gfCBzdHJpbmcgPSAnJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSB0dWlBY2NvcmRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BlbiA9IHR1aURpcmVjdGl2ZUJpbmRpbmcoVHVpQ2hldnJvbiwgJ3R1aUNoZXZyb24nLCBzaWduYWwoZmFsc2UpKTtcblxuICAgIC8qKiBOZWFyZXN0IGFjY29yZGlvbiB0aGlzIHRyaWdnZXIgYmVsb25ncyB0bywgdXNlZCB0byBmaWx0ZXIgb3V0IG5lc3RlZCBvbmVzICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY29yZGlvbiA9IHRoaXMuYWNjb3JkaW9uUmVmO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4uc2V0KCEhdGhpcy50dWlBY2NvcmRpb24pO1xuICAgICAgICB0aGlzLmFjY29yZGlvblJlZi50b2dnbGUodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuLnNldCghdGhpcy5vcGVuKCkpO1xuICAgICAgICB0aGlzLnR1aUFjY29yZGlvbiA9IHRoaXMub3BlbigpO1xuICAgICAgICB0aGlzLnR1aUFjY29yZGlvbkNoYW5nZS5lbWl0KHRoaXMub3BlbigpKTtcbiAgICAgICAgdGhpcy5hY2NvcmRpb25SZWYudG9nZ2xlKHRoaXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -136,7 +136,7 @@ class TuiInputPhoneInternational extends TuiControl {
136
136
  tuiAsControl(TuiInputPhoneInternational),
137
137
  tuiFallbackValueProvider(''),
138
138
  tuiAutoFocusOptionsProvider({ preventScroll: true }),
139
- ], viewQueries: [{ propertyName: "list", predicate: TuiOptionNew, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.92.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.92.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.92.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i4.TuiOptionNew, selector: "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", inputs: ["disabled"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "component", type: i2.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i2.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i2.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i2.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
139
+ ], viewQueries: [{ propertyName: "list", predicate: TuiOptionNew, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.93.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.93.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.93.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i4.TuiOptionNew, selector: "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", inputs: ["disabled"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "component", type: i2.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i2.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i2.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i2.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
140
  }
141
141
  export { TuiInputPhoneInternational };
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhoneInternational, decorators: [{
@@ -166,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
166
166
  '(input)': 'masked.set($event.target.value)',
167
167
  '(click)': 'open.set(false)',
168
168
  '(beforeinput.capture)': 'onPaste($event)',
169
- }, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.92.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.92.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.92.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"] }]
169
+ }, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.93.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.93.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.93.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"] }]
170
170
  }], propDecorators: { list: [{
171
171
  type: ViewChildren,
172
172
  args: [TuiOptionNew, { read: ElementRef }]
@@ -16,21 +16,23 @@ import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
16
16
 
17
17
  class TuiAccordionDirective {
18
18
  constructor() {
19
- this.accordion = inject(TuiAccordionComponent);
20
- this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);
19
+ this.accordionRef = inject(TuiAccordionComponent);
20
+ this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordionRef.size);
21
21
  this.tuiAccordion = '';
22
22
  this.tuiAccordionChange = new EventEmitter();
23
23
  this.open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));
24
+ /** Nearest accordion this trigger belongs to, used to filter out nested ones */
25
+ this.accordion = this.accordionRef;
24
26
  }
25
27
  ngOnChanges() {
26
28
  this.open.set(!!this.tuiAccordion);
27
- this.accordion.toggle(this);
29
+ this.accordionRef.toggle(this);
28
30
  }
29
31
  toggle() {
30
32
  this.open.set(!this.open());
31
33
  this.tuiAccordion = this.open();
32
34
  this.tuiAccordionChange.emit(this.open());
33
- this.accordion.toggle(this);
35
+ this.accordionRef.toggle(this);
34
36
  }
35
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
38
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { tuiAccordion: "tuiAccordion" }, outputs: { tuiAccordionChange: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [
@@ -67,6 +69,11 @@ class TuiAccordionComponent {
67
69
  this.destroyRef = inject(DestroyRef);
68
70
  this.toggle$ = new ReplaySubject(Infinity);
69
71
  this.expands = EMPTY_QUERY;
72
+ // Descendants search is required so a trigger wrapped in an arbitrary
73
+ // element (e.g. alongside a custom action button) is still found — but
74
+ // that also picks up triggers belonging to an accordion nested inside
75
+ // this one's tui-expand, so `ownDirectives` filters those back out to
76
+ // keep index-based pairing intact.
70
77
  this.directives = EMPTY_QUERY;
71
78
  this.closeOthers = true;
72
79
  this.size = signal('l');
@@ -82,21 +89,26 @@ class TuiAccordionComponent {
82
89
  toggle(directive) {
83
90
  this.toggle$.next(directive);
84
91
  }
92
+ get ownDirectives() {
93
+ return this.directives.filter((dir) => dir.accordion === this);
94
+ }
85
95
  expand(accordion) {
96
+ const ownDirectives = this.ownDirectives;
97
+ const expand = this.expands.get(ownDirectives.indexOf(accordion));
86
98
  if (this.closeOthers && accordion.open()) {
87
- this.expands.forEach((expand) => {
88
- expand.expanded = false;
99
+ this.expands
100
+ .filter((x) => x !== expand)
101
+ .forEach((item) => {
102
+ item.expanded = false;
89
103
  });
90
- this.directives.forEach((dir) => {
91
- if (dir === accordion) {
92
- return;
93
- }
104
+ ownDirectives
105
+ .filter((x) => x !== accordion)
106
+ .forEach((dir) => {
94
107
  dir.open.set(false);
95
108
  dir.tuiAccordion = false;
96
109
  dir.tuiAccordionChange.emit(false);
97
110
  });
98
111
  }
99
- const expand = this.expands.get(this.directives.toArray().indexOf(accordion));
100
112
  if (expand) {
101
113
  expand.expanded = accordion.open();
102
114
  }
@@ -107,7 +119,7 @@ class TuiAccordionComponent {
107
119
  orientation: 'vertical',
108
120
  collapsed: true,
109
121
  }),
110
- ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
122
+ ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective, descendants: true }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){-webkit-mask:none;mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
111
123
  }
112
124
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAccordionComponent, decorators: [{
113
125
  type: Component,
@@ -124,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
124
136
  args: [TuiExpand]
125
137
  }], directives: [{
126
138
  type: ContentChildren,
127
- args: [TuiAccordionDirective]
139
+ args: [TuiAccordionDirective, { descendants: true }]
128
140
  }], closeOthers: [{
129
141
  type: Input
130
142
  }], sizeSetter: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-accordion.mjs","sources":["../../../projects/experimental/components/accordion/accordion.directive.ts","../../../projects/experimental/components/accordion/accordion.component.ts","../../../projects/experimental/components/accordion/accordion.ts","../../../projects/experimental/components/accordion/taiga-ui-experimental-components-accordion.ts"],"sourcesContent":["import {\n Directive,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\n Output,\n signal,\n} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\n\nimport {TuiAccordionComponent} from './accordion.component';\n\n@Directive({\n standalone: true,\n selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiButton: '',\n tuiAccordion: '',\n type: 'button',\n '[class._open]': 'open()',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n private readonly accordion = inject(TuiAccordionComponent);\n\n protected readonly size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);\n\n @Input()\n public tuiAccordion: boolean | string = '';\n\n @Output()\n public readonly tuiAccordionChange = new EventEmitter<boolean>();\n\n public readonly open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));\n\n public ngOnChanges(): void {\n this.open.set(!!this.tuiAccordion);\n this.accordion.toggle(this);\n }\n\n public toggle(): void {\n this.open.set(!this.open());\n this.tuiAccordion = this.open();\n this.tuiAccordionChange.emit(this.open());\n this.accordion.toggle(this);\n }\n}\n","import {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n inject,\n Input,\n type QueryList,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\nimport {combineLatest, map, merge, ReplaySubject, withLatestFrom} from 'rxjs';\n\nimport {TuiAccordionDirective} from './accordion.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiGroupOptionsProvider({\n orientation: 'vertical',\n collapsed: true,\n }),\n ],\n hostDirectives: [TuiGroup],\n host: {\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiAccordionComponent implements AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly toggle$ = new ReplaySubject<TuiAccordionDirective>(Infinity);\n\n @ContentChildren(TuiExpand)\n public readonly expands: QueryList<TuiExpand> = EMPTY_QUERY;\n\n @ContentChildren(TuiAccordionDirective)\n public readonly directives: QueryList<TuiAccordionDirective> = EMPTY_QUERY;\n\n @Input()\n public closeOthers = true;\n\n public readonly size = signal<TuiSizeL | TuiSizeS>('l');\n\n @Input('size')\n public set sizeSetter(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n public ngAfterViewInit(): void {\n merge(\n combineLatest([this.directives.changes, this.expands.changes]).pipe(\n withLatestFrom(this.toggle$),\n map(([, accordion]) => accordion),\n ),\n this.toggle$,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((accordion) => this.expand(accordion));\n }\n\n public toggle(directive: TuiAccordionDirective): void {\n this.toggle$.next(directive);\n }\n\n private expand(accordion: TuiAccordionDirective): void {\n if (this.closeOthers && accordion.open()) {\n this.expands.forEach((expand) => {\n expand.expanded = false;\n });\n\n this.directives.forEach((dir) => {\n if (dir === accordion) {\n return;\n }\n\n dir.open.set(false);\n dir.tuiAccordion = false;\n dir.tuiAccordionChange.emit(false);\n });\n }\n\n const expand = this.expands.get(this.directives.toArray().indexOf(accordion));\n\n if (expand) {\n expand.expanded = accordion.open();\n }\n }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionDirective} from './accordion.directive';\n\nexport const TuiAccordion = [\n TuiAccordionComponent,\n TuiAccordionDirective,\n TuiExpand,\n TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-experimental-components-accordion.mjs","sources":["../../../projects/experimental/components/accordion/accordion.directive.ts","../../../projects/experimental/components/accordion/accordion.component.ts","../../../projects/experimental/components/accordion/accordion.ts","../../../projects/experimental/components/accordion/taiga-ui-experimental-components-accordion.ts"],"sourcesContent":["import {\n Directive,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\n Output,\n signal,\n} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\n\nimport {TuiAccordionComponent} from './accordion.component';\n\n@Directive({\n standalone: true,\n selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiButton: '',\n tuiAccordion: '',\n type: 'button',\n '[class._open]': 'open()',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n private readonly accordionRef = inject(TuiAccordionComponent);\n\n protected readonly size = tuiDirectiveBinding(\n TuiButton,\n 'size',\n this.accordionRef.size,\n );\n\n @Input()\n public tuiAccordion: boolean | string = '';\n\n @Output()\n public readonly tuiAccordionChange = new EventEmitter<boolean>();\n\n public readonly open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));\n\n /** Nearest accordion this trigger belongs to, used to filter out nested ones */\n public readonly accordion = this.accordionRef;\n\n public ngOnChanges(): void {\n this.open.set(!!this.tuiAccordion);\n this.accordionRef.toggle(this);\n }\n\n public toggle(): void {\n this.open.set(!this.open());\n this.tuiAccordion = this.open();\n this.tuiAccordionChange.emit(this.open());\n this.accordionRef.toggle(this);\n }\n}\n","import {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n inject,\n Input,\n type QueryList,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\nimport {combineLatest, map, merge, ReplaySubject, withLatestFrom} from 'rxjs';\n\nimport {TuiAccordionDirective} from './accordion.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiGroupOptionsProvider({\n orientation: 'vertical',\n collapsed: true,\n }),\n ],\n hostDirectives: [TuiGroup],\n host: {\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiAccordionComponent implements AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly toggle$ = new ReplaySubject<TuiAccordionDirective>(Infinity);\n\n @ContentChildren(TuiExpand)\n public readonly expands: QueryList<TuiExpand> = EMPTY_QUERY;\n\n // Descendants search is required so a trigger wrapped in an arbitrary\n // element (e.g. alongside a custom action button) is still found — but\n // that also picks up triggers belonging to an accordion nested inside\n // this one's tui-expand, so `ownDirectives` filters those back out to\n // keep index-based pairing intact.\n @ContentChildren(TuiAccordionDirective, {descendants: true})\n public readonly directives: QueryList<TuiAccordionDirective> = EMPTY_QUERY;\n\n @Input()\n public closeOthers = true;\n\n public readonly size = signal<TuiSizeL | TuiSizeS>('l');\n\n @Input('size')\n public set sizeSetter(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n public ngAfterViewInit(): void {\n merge(\n combineLatest([this.directives.changes, this.expands.changes]).pipe(\n withLatestFrom(this.toggle$),\n map(([, accordion]) => accordion),\n ),\n this.toggle$,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((accordion) => this.expand(accordion));\n }\n\n public toggle(directive: TuiAccordionDirective): void {\n this.toggle$.next(directive);\n }\n\n private get ownDirectives(): TuiAccordionDirective[] {\n return this.directives.filter((dir) => dir.accordion === this);\n }\n\n private expand(accordion: TuiAccordionDirective): void {\n const ownDirectives = this.ownDirectives;\n const expand = this.expands.get(ownDirectives.indexOf(accordion));\n\n if (this.closeOthers && accordion.open()) {\n this.expands\n .filter((x) => x !== expand)\n .forEach((item) => {\n item.expanded = false;\n });\n\n ownDirectives\n .filter((x) => x !== accordion)\n .forEach((dir) => {\n dir.open.set(false);\n dir.tuiAccordion = false;\n dir.tuiAccordionChange.emit(false);\n });\n }\n\n if (expand) {\n expand.expanded = accordion.open();\n }\n }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionDirective} from './accordion.directive';\n\nexport const TuiAccordion = [\n TuiAccordionComponent,\n TuiAccordionDirective,\n TuiExpand,\n TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAgBa,qBAAqB,CAAA;AAhBlC,IAAA,WAAA,GAAA;AAiBqB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE3C,QAAA,IAAA,CAAA,IAAI,GAAG,mBAAmB,CACzC,SAAS,EACT,MAAM,EACN,IAAI,CAAC,YAAY,CAAC,IAAI,CACzB,CAAC;QAGK,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;AAG3B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAW,CAAC;AAEjD,QAAA,IAAA,CAAA,IAAI,GAAG,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;;AAGpE,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;AAajD,KAAA;IAXU,WAAW,GAAA;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClC;IAEM,MAAM,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClC;+GA9BQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAbnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;AACrC,YAAA,wBAAwB,CAAC,EAAC,UAAU,EAAE,mBAAmB,EAAC,CAAC;AAC9D,SAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAUQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE;AACP,wBAAA,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC;AACrC,wBAAA,wBAAwB,CAAC,EAAC,UAAU,EAAE,mBAAmB,EAAC,CAAC;AAC9D,qBAAA;AACD,oBAAA,cAAc,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;AACvC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,EAAE;AACb,wBAAA,YAAY,EAAE,EAAE;AAChB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,eAAe,EAAE,QAAQ;AACzB,wBAAA,SAAS,EAAE,UAAU;AACxB,qBAAA;AACJ,iBAAA,CAAA;8BAWU,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIU,kBAAkB,EAAA,CAAA;sBADjC,MAAM;;;ACvBX,MAkBa,qBAAqB,CAAA;AAlBlC,IAAA,WAAA,GAAA;AAmBqB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,aAAa,CAAwB,QAAQ,CAAC,CAAC;QAG9D,IAAO,CAAA,OAAA,GAAyB,WAAW,CAAC;;;;;;QAQ5C,IAAU,CAAA,UAAA,GAAqC,WAAW,CAAC;QAGpE,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAEV,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAsB,GAAG,CAAC,CAAC;AAmD3D,KAAA;IAjDG,IACW,UAAU,CAAC,IAAyB,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACvB;IAEM,eAAe,GAAA;QAClB,KAAK,CACD,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAC/D,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAC5B,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,SAAS,CAAC,CACpC,EACD,IAAI,CAAC,OAAO,CACf;AACI,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,aAAA,SAAS,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD;AAEM,IAAA,MAAM,CAAC,SAAgC,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAChC;AAED,IAAA,IAAY,aAAa,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;KAClE;AAEO,IAAA,MAAM,CAAC,SAAgC,EAAA;AAC3C,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO;iBACP,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;AAC3B,iBAAA,OAAO,CAAC,CAAC,IAAI,KAAI;AACd,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AAC1B,aAAC,CAAC,CAAC;YAEP,aAAa;iBACR,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;AAC9B,iBAAA,OAAO,CAAC,CAAC,GAAG,KAAI;AACb,gBAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACpB,gBAAA,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;AACzB,gBAAA,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,aAAC,CAAC,CAAC;AACV,SAAA;AAED,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;AACtC,SAAA;KACJ;+GApEQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EAXnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA,uBAAuB,CAAC;AACpB,gBAAA,WAAW,EAAE,UAAU;AACvB,gBAAA,SAAS,EAAE,IAAI;aAClB,CAAC;AACL,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAUgB,SAAS,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAQT,qBAAqB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3B5B,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,o2CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAejB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAlBjC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,gBAAgB,EAEX,aAAA,EAAA,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,uBAAuB,CAAC;AACpB,4BAAA,WAAW,EAAE,UAAU;AACvB,4BAAA,SAAS,EAAE,IAAI;yBAClB,CAAC;qBACL,EACe,cAAA,EAAA,CAAC,QAAQ,CAAC,EACpB,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,QAAQ;AAC/B,qBAAA,EAAA,MAAA,EAAA,CAAA,o2CAAA,CAAA,EAAA,CAAA;8BAOe,OAAO,EAAA,CAAA;sBADtB,eAAe;uBAAC,SAAS,CAAA;gBASV,UAAU,EAAA,CAAA;sBADzB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,qBAAqB,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,CAAA;gBAIpD,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAMK,UAAU,EAAA,CAAA;sBADpB,KAAK;uBAAC,MAAM,CAAA;;;ACrDJ,MAAA,YAAY,GAAG;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,SAAS;IACT,OAAO;;;ACVX;;AAEG;;;;"}
@@ -137,7 +137,7 @@ class TuiInputPhoneInternational extends TuiControl {
137
137
  tuiAsControl(TuiInputPhoneInternational),
138
138
  tuiFallbackValueProvider(''),
139
139
  tuiAutoFocusOptionsProvider({ preventScroll: true }),
140
- ], viewQueries: [{ propertyName: "list", predicate: TuiOptionNew, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.92.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.92.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.92.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i4.TuiOptionNew, selector: "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", inputs: ["disabled"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "component", type: i2.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i2.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i2.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i2.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
140
+ ], viewQueries: [{ propertyName: "list", predicate: TuiOptionNew, descendants: true, read: ElementRef }], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.93.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.93.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.93.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiCell, selector: "[tuiCell]:not(ng-template)", inputs: ["tuiCell", "tuiCellHeight"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i4.TuiOptionNew, selector: "button[tuiOption][new], a[tuiOption][new], label[tuiOption][new]", inputs: ["disabled"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "component", type: i2.TuiTextfieldComponent, selector: "tui-textfield:not([multi])" }, { kind: "directive", type: i2.TuiTextfieldDirective, selector: "input[tuiTextfield]:not([tuiInputCard]):not([tuiInputExpire]):not([tuiInputCVC])" }, { kind: "directive", type: i2.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "directive", type: i2.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
141
141
  }
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhoneInternational, decorators: [{
143
143
  type: Component,
@@ -166,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
166
166
  '(input)': 'masked.set($event.target.value)',
167
167
  '(click)': 'open.set(false)',
168
168
  '(beforeinput.capture)': 'onPaste($event)',
169
- }, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.92.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.92.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.92.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.92.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.92.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.92.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"] }]
169
+ }, template: "<ng-container *tuiTextfieldContent>\n <button\n appearance=\"textfield\"\n tabindex=\"-1\"\n tuiButton\n tuiChevron\n type=\"button\"\n class=\"t-ipi-select\"\n [attr.data-mode]=\"mode()\"\n [class.t-ipi-select_readonly]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [size]=\"size()\"\n [tuiAppearanceFocus]=\"open()\"\n (pointerdown.prevent)=\"interactive() && open.set(!open())\"\n >\n <img\n class=\"t-ipi-flag\"\n [alt]=\"names()?.[code()]\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"code() | tuiFlag\"\n />\n </button>\n</ng-container>\n<ng-container *tuiTextfieldDropdown>\n <div\n *ngIf=\"countrySearch\"\n #element\n class=\"t-ipi-search\"\n >\n <tui-textfield\n [iconStart]=\"icons.search\"\n [tuiTextfieldSize]=\"size() === 's' ? 's' : 'm'\"\n >\n <input\n autocomplete=\"off\"\n tuiTextfield\n type=\"text\"\n [focused]=\"true\"\n [ngModel]=\"search()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"label()\"\n [tuiAutoFocus]=\"!!element.closest('tui-dropdown-mobile')\"\n (keydown.arrowDown)=\"list.get(0)?.nativeElement?.focus()\"\n (ngModelChange)=\"search.set($event)\"\n />\n </tui-textfield>\n </div>\n\n <tui-data-list class=\"t-ipi-options\">\n <button\n *ngFor=\"let item of filtered()\"\n new\n tuiOption\n type=\"button\"\n [tuiCell]=\"size()\"\n (click)=\"onItemClick(item.iso)\"\n >\n <img\n alt=\"\"\n class=\"t-ipi-flag\"\n [class.t-ipi-flag_small]=\"size() === 's'\"\n [src]=\"item.iso | tuiFlag\"\n />\n <span tuiTitle>{{ item.name }}</span>\n <span class=\"t-ipi-code\">{{ item.code }}</span>\n </button>\n </tui-data-list>\n</ng-container>\n", styles: ["[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{left:var(--t-offset);border-top-left-radius:0;border-bottom-left-radius:0;inline-size:calc(100% - var(--t-offset))}tui-root:has(tui-dropdown-mobile) [tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]{caret-color:transparent}[tuiTextfieldV=\"4.93.0\"] [tuiInputPhoneInternational][tuiInputPhoneInternational]+label{padding-inline-start:var(--t-offset)}[tuiTextfieldV=\"4.93.0\"][data-size=s]{--t-offset: 4.125rem}[tuiTextfieldV=\"4.93.0\"][data-size=s] .t-ipi-flag{margin:0 .1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m]{--t-offset: 4.875rem}[tuiTextfieldV=\"4.93.0\"][data-size=m] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"][data-size=l]{--t-offset: 5.25rem}[tuiTextfieldV=\"4.93.0\"][data-size=l] .t-ipi-flag{margin:0 -.1875rem}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select{position:absolute;left:0;border-radius:inherit;border-top-right-radius:0;border-bottom-right-radius:0}[tuiTextfieldV=\"4.93.0\"] .t-ipi-select_readonly{pointer-events:none}.t-ipi-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:100%}.t-ipi-flag_small{inline-size:1.25rem;block-size:1.25rem}.t-ipi-code{color:var(--tui-text-secondary)}.t-ipi-search{position:sticky;top:0;z-index:1;background:var(--tui-background-elevation-3);padding:.375rem .375rem 0}@supports (-webkit-touch-callout: none){.t-ipi-search input:focus{animation:tuiPreventIOSScroll 1ms}}@keyframes tuiPreventIOSScroll{0%{opacity:0}to{opacity:1}}tui-dropdown-mobile .t-ipi-search{background:var(--tui-background-elevation-1)}tui-dropdown-mobile .t-ipi-options:not(:first-child){min-block-size:calc(100 * var(--tui-viewport-vh) - 8.75rem)}\n"] }]
170
170
  }], propDecorators: { list: [{
171
171
  type: ViewChildren,
172
172
  args: [TuiOptionNew, { read: ElementRef }]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/experimental",
3
- "version": "4.92.0",
3
+ "version": "4.93.0",
4
4
  "description": "A package with Taiga UI experimental components",
5
5
  "keywords": [
6
6
  "angular",
@@ -13,11 +13,11 @@
13
13
  "peerDependencies": {
14
14
  "@angular/common": ">=16.0.0",
15
15
  "@angular/core": ">=16.0.0",
16
- "@taiga-ui/addon-commerce": "4.92.0",
17
- "@taiga-ui/cdk": "4.92.0",
18
- "@taiga-ui/core": "4.92.0",
19
- "@taiga-ui/kit": "4.92.0",
20
- "@taiga-ui/layout": "4.92.0",
16
+ "@taiga-ui/addon-commerce": "4.93.0",
17
+ "@taiga-ui/cdk": "4.93.0",
18
+ "@taiga-ui/core": "4.93.0",
19
+ "@taiga-ui/kit": "4.93.0",
20
+ "@taiga-ui/layout": "4.93.0",
21
21
  "@taiga-ui/polymorpheus": "^4.10.0",
22
22
  "rxjs": ">=7.0.0"
23
23
  },