@taiga-ui/kit 4.52.0-canary.1ea42f6 → 4.52.0-canary.24b31eb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/components/accordion/accordion.component.d.ts +13 -0
  2. package/components/accordion/accordion.d.ts +4 -4
  3. package/components/accordion/accordion.directive.d.ts +11 -10
  4. package/components/accordion/index.d.ts +1 -3
  5. package/components/input-phone-international/input-phone-international.component.d.ts +23 -29
  6. package/components/input-range/input-range.component.d.ts +5 -5
  7. package/components/input-slider/input-slider.directive.d.ts +1 -2
  8. package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
  9. package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -144
  10. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +3 -3
  12. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +2 -2
  14. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-kit-components-files.mjs +3 -3
  16. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -5
  18. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +101 -125
  20. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-kit-components-input-range.mjs +23 -10
  22. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +7 -12
  24. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +6 -8
  26. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +2 -2
  28. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
  30. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-preview.mjs +2 -2
  32. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-select.mjs +2 -2
  34. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
  36. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-tree.mjs +3 -3
  38. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  39. package/package.json +20 -20
  40. package/components/accordion/accordion-item-content.directive.d.ts +0 -6
  41. package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
  42. package/components/accordion/accordion-item.component.d.ts +0 -25
@@ -0,0 +1,13 @@
1
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
2
+ import { TuiAccordionDirective } from './accordion.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@taiga-ui/core/directives/group";
5
+ export declare class TuiAccordionComponent {
6
+ protected readonly expands: import("@angular/core").Signal<readonly TuiExpand[]>;
7
+ protected readonly directives: import("@angular/core").Signal<readonly TuiAccordionDirective[]>;
8
+ readonly closeOthers: import("@angular/core").InputSignal<boolean>;
9
+ readonly size: import("@angular/core").InputSignal<"m" | "s" | "l">;
10
+ toggle(directive: TuiAccordionDirective): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionComponent, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAccordionComponent, "tui-accordion", never, { "closeOthers": { "alias": "closeOthers"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, ["expands", "directives"], ["*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }]>;
13
+ }
@@ -1,5 +1,5 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
3
+ import { TuiAccordionComponent } from './accordion.component';
1
4
  import { TuiAccordionDirective } from './accordion.directive';
2
- import { TuiAccordionItem } from './accordion-item.component';
3
- import { TuiAccordionItemContent } from './accordion-item-content.directive';
4
- import { TuiAccordionItemEagerContent } from './accordion-item-eager-content.directive';
5
- export declare const TuiAccordion: readonly [typeof TuiAccordionItem, typeof TuiAccordionDirective, typeof TuiAccordionItemContent, typeof TuiAccordionItemEagerContent];
5
+ export declare const TuiAccordion: readonly [typeof TuiAccordionComponent, typeof TuiAccordionDirective, typeof TuiExpand, typeof TuiItem];
@@ -1,13 +1,14 @@
1
- import { type AfterContentInit, type QueryList } from '@angular/core';
2
- import { TuiAccordionItem } from './accordion-item.component';
1
+ import { type OnChanges } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- import * as i1 from "@taiga-ui/core/directives/group";
5
- export declare class TuiAccordionDirective implements AfterContentInit {
6
- private readonly destroyRef;
7
- protected readonly accordionItems: QueryList<TuiAccordionItem>;
8
- closeOthers: boolean;
9
- constructor();
10
- ngAfterContentInit(): void;
3
+ import * as i1 from "@taiga-ui/core/components/button";
4
+ import * as i2 from "@taiga-ui/kit/directives/chevron";
5
+ export declare class TuiAccordionDirective implements OnChanges {
6
+ private readonly accordion;
7
+ readonly open: import("@angular/core").ModelSignal<boolean | "">;
8
+ readonly size: import("@angular/core").InputSignal<"m" | "s" | "l">;
9
+ readonly chevron: import("@angular/core").ModelSignal<boolean | "">;
10
+ ngOnChanges(): void;
11
+ toggle(): void;
11
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAccordionDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAccordionDirective, "tui-accordion", never, { "closeOthers": { "alias": "closeOthers"; "required": false; }; }, {}, ["accordionItems"], never, true, [{ directive: typeof i1.TuiGroup; inputs: { "rounded": "rounded"; }; outputs: {}; }]>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAccordionDirective, "button[tuiAccordion]", never, { "open": { "alias": "tuiAccordion"; "required": false; "isSignal": true; }; }, { "open": "tuiAccordionChange"; }, never, never, true, [{ directive: typeof i1.TuiButton; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiChevron; inputs: {}; outputs: {}; }]>;
13
14
  }
@@ -1,5 +1,3 @@
1
1
  export * from './accordion';
2
+ export * from './accordion.component';
2
3
  export * from './accordion.directive';
3
- export * from './accordion-item.component';
4
- export * from './accordion-item-content.directive';
5
- export * from './accordion-item-eager-content.directive';
@@ -1,51 +1,45 @@
1
- import { TemplateRef } from '@angular/core';
1
+ import { ElementRef, type QueryList } from '@angular/core';
2
2
  import { type MaskitoOptions } from '@maskito/core';
3
3
  import { TuiControl } from '@taiga-ui/cdk/classes';
4
4
  import { type TuiCountryIsoCode } from '@taiga-ui/i18n/types';
5
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
6
5
  import { type MetadataJson } from 'libphonenumber-js/core';
7
6
  import * as i0 from "@angular/core";
8
- import * as i1 from "@taiga-ui/core/directives/group";
9
- import * as i2 from "@taiga-ui/core/directives/dropdown";
10
- /** @deprecated use version from experimental package instead */
7
+ import * as i1 from "@maskito/angular";
8
+ import * as i2 from "@taiga-ui/core/components/textfield";
11
9
  export declare class TuiInputPhoneInternational extends TuiControl<string> {
12
- private readonly input?;
13
- private readonly filter?;
14
- private readonly listOptions?;
15
- protected readonly isIos: boolean;
16
- protected readonly dropdown: import("@angular/core").WritableSignal<import("@taiga-ui/polymorpheus").PolymorpheusComponent<unknown> | import("@taiga-ui/polymorpheus").PolymorpheusPrimitive | import("@taiga-ui/polymorpheus").PolymorpheusHandler<any> | import("@taiga-ui/polymorpheus").PolymorpheusTemplate<"" | Partial<any>> | TemplateRef<Partial<any>>>;
10
+ protected readonly list: QueryList<ElementRef<HTMLButtonElement>>;
11
+ protected readonly el: HTMLInputElement;
12
+ protected readonly ios: boolean;
13
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
17
14
  protected readonly options: import("./input-phone-international.options").TuiInputPhoneInternationalOptions;
18
- protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
19
- protected readonly open: import("@angular/core").WritableSignal<boolean>;
20
- protected readonly names: import("@angular/core").Signal<Record<TuiCountryIsoCode, string> | undefined>;
21
- protected readonly metadata: import("@angular/core").Signal<MetadataJson | undefined>;
22
15
  protected readonly countries: import("@angular/core").WritableSignal<readonly TuiCountryIsoCode[]>;
23
- protected readonly countryIsoCode: import("@angular/core").WritableSignal<TuiCountryIsoCode>;
24
- protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
16
+ protected readonly code: import("@angular/core").WritableSignal<TuiCountryIsoCode>;
25
17
  protected readonly label: import("@angular/core").Signal<string | undefined>;
18
+ protected readonly metadata: import("@angular/core").Signal<MetadataJson | undefined>;
19
+ protected readonly names: import("@angular/core").Signal<Record<TuiCountryIsoCode, string> | undefined>;
20
+ protected readonly open: import("@angular/core").WritableSignal<boolean>;
26
21
  protected readonly search: import("@angular/core").WritableSignal<string>;
27
- protected readonly separator: import("@angular/core").WritableSignal<string>;
22
+ protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
23
+ protected readonly mask: import("@angular/core").Signal<MaskitoOptions | null>;
24
+ protected readonly masked: import("@angular/core").WritableSignal<string>;
25
+ protected valueChangeEffect: import("@angular/core").EffectRef;
28
26
  protected readonly filtered: import("@angular/core").Signal<{
29
27
  iso: TuiCountryIsoCode;
30
28
  name: string;
31
29
  code: string;
32
30
  }[]>;
33
- protected readonly mask: import("@angular/core").Signal<MaskitoOptions | null>;
34
- protected readonly $: import("@angular/core").Signal<boolean>;
35
- protected textfieldValue: string;
31
+ protected readonly enabled: import("@angular/core").Signal<boolean>;
32
+ protected readonly $: import("rxjs").Subscription;
36
33
  countrySearch: boolean;
37
34
  readonly countryIsoCodeChange: import("rxjs").Observable<TuiCountryIsoCode>;
38
35
  set countriesValue(value: readonly TuiCountryIsoCode[]);
39
36
  set isoCode(code: TuiCountryIsoCode);
40
- focusFirstItem(): void;
41
- onPaste(event: Event): void;
42
- onItemClick(isoCode: TuiCountryIsoCode): void;
43
- writeValue(unmaskedValue: string): void;
44
- protected set template(template: PolymorpheusContent);
45
- protected onFocus(): void;
46
- protected onValueChange(maskedValue: string): void;
47
- protected onKeyDown({ key }: KeyboardEvent): void;
37
+ writeValue(unmasked: string | null): void;
38
+ protected onPaste(event: Event): void;
39
+ protected onItemClick(code: TuiCountryIsoCode): void;
48
40
  private computeMask;
41
+ private unmask;
42
+ private getCountryCode;
49
43
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneInternational, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPhoneInternational, "tui-input-phone-international", never, { "countrySearch": { "alias": "countrySearch"; "required": false; }; "countriesValue": { "alias": "countries"; "required": false; }; "isoCode": { "alias": "countryIsoCode"; "required": false; }; }, { "countryIsoCodeChange": "countryIsoCodeChange"; }, never, ["tui-icon, img", "*"], true, [{ directive: typeof i1.TuiGroup; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPhoneInternational, "input[tuiInputPhoneInternational]", never, { "countrySearch": { "alias": "countrySearch"; "required": false; }; "countriesValue": { "alias": "countries"; "required": false; }; "isoCode": { "alias": "countryIsoCode"; "required": false; }; }, { "countryIsoCodeChange": "countryIsoCodeChange"; }, never, never, true, [{ directive: typeof i1.MaskitoDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
51
45
  }
@@ -17,15 +17,13 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
17
17
  protected textfieldValueStart: number;
18
18
  protected textfieldValueEnd: number;
19
19
  protected lastActiveSide: 'end' | 'start';
20
+ protected readonly contentStart: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
21
+ protected readonly contentEnd: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
20
22
  min: number;
21
23
  max: number;
22
24
  step: number;
23
25
  segments: number;
24
26
  keySteps: TuiKeySteps | null;
25
- content: readonly [
26
- PolymorpheusContent<TuiContext<number>>,
27
- PolymorpheusContent<TuiContext<number>>
28
- ];
29
27
  prefix: readonly [
30
28
  string,
31
29
  string
@@ -34,6 +32,7 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
34
32
  string,
35
33
  string
36
34
  ];
35
+ content: import("@angular/core").InputSignal<readonly [PolymorpheusContent<TuiContext<number>>, PolymorpheusContent<TuiContext<number>>]>;
37
36
  set quantumSetter(x: number);
38
37
  writeValue(value: [
39
38
  number,
@@ -65,8 +64,9 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
65
64
  private get activeTextfield();
66
65
  private setValue;
67
66
  private valueGuard;
67
+ private isPrimitive;
68
68
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputRangeComponent, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputRangeComponent, "tui-input-range", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; "content": { "alias": "content"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "postfix": { "alias": "postfix"; "required": false; }; "quantumSetter": { "alias": "quantum"; "required": false; }; }, {}, never, ["label"], true, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputRangeComponent, "tui-input-range", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "postfix": { "alias": "postfix"; "required": false; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "quantumSetter": { "alias": "quantum"; "required": false; }; }, {}, never, ["label"], true, never>;
70
70
  static ngAcceptInputType_prefix: readonly [
71
71
  string,
72
72
  string
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@taiga-ui/kit/components/input-number";
4
4
  export declare class TuiInputSliderDirective {
5
5
  private readonly isMobile;
6
- private readonly element;
6
+ private readonly el;
7
7
  private readonly slider;
8
8
  private readonly controlTransformer;
9
9
  private readonly keyStepsTransformer;
@@ -13,7 +13,6 @@ export declare class TuiInputSliderDirective {
13
13
  protected readonly textfieldToSliderSync: import("@angular/core").EffectRef;
14
14
  protected readonly sliderInitEffect: import("@angular/core").EffectRef;
15
15
  protected onStep(coefficient: number): void;
16
- private onSliderInput;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputSliderDirective, never>;
18
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputSliderDirective, "input[tuiInputSlider]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiInputNumberDirective; inputs: { "min": "min"; "max": "max"; "prefix": "prefix"; "postfix": "postfix"; "invalid": "invalid"; "readOnly": "readOnly"; }; outputs: {}; }, { directive: typeof i1.TuiWithQuantumValueTransformer; inputs: {}; outputs: {}; }]>;
19
18
  }
@@ -1,8 +1,7 @@
1
- import { TuiHintBaseComponent } from '@taiga-ui/core/directives/hint';
1
+ import { TuiHintComponent } from '@taiga-ui/core/directives/hint';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@taiga-ui/cdk/directives/animated";
4
- export declare class TuiLineClampBox extends TuiHintBaseComponent {
3
+ export declare class TuiLineClampBox extends TuiHintComponent {
5
4
  protected get width(): number;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampBox, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiLineClampBox, "tui-line-clamp-box", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiLineClampBox, "tui-line-clamp-box", never, {}, {}, never, never, true, never>;
8
7
  }
@@ -1,171 +1,96 @@
1
+ import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
1
3
  import * as i0 from '@angular/core';
2
- import { Directive, inject, ChangeDetectorRef, EventEmitter, Output, Input, ContentChild, ChangeDetectionStrategy, Component, DestroyRef, ContentChildren } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
- import { tuiQueryListChanges } from '@taiga-ui/cdk/observables';
6
- import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
4
+ import { inject, model, Directive, contentChildren, input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
5
+ import { tuiSetSignal } from '@taiga-ui/cdk/utils/miscellaneous';
7
6
  import * as i1$1 from '@taiga-ui/core/directives/group';
8
- import { TuiGroup } from '@taiga-ui/core/directives/group';
9
- import { pairwise, map, filter, merge, switchMap, identity } from 'rxjs';
10
- import * as i1 from '@taiga-ui/core/components/expand';
11
- import { TuiExpand } from '@taiga-ui/core/components/expand';
12
- import { TuiIcon } from '@taiga-ui/core/components/icon';
13
- import { TuiChevron } from '@taiga-ui/kit/directives';
14
- import { PolymorpheusTemplate, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
15
-
16
- class TuiAccordionItemContent extends PolymorpheusTemplate {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemContent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionItemContent, isStandalone: true, selector: "ng-template[tuiAccordionItemContent]", usesInheritance: true, ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemContent, decorators: [{
21
- type: Directive,
22
- args: [{
23
- standalone: true,
24
- selector: 'ng-template[tuiAccordionItemContent]',
25
- }]
26
- }] });
7
+ import { tuiGroupOptionsProvider, TuiGroup } from '@taiga-ui/core/directives/group';
8
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils';
9
+ import * as i1 from '@taiga-ui/core/components/button';
10
+ import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
11
+ import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
12
+ import * as i2 from '@taiga-ui/kit/directives/chevron';
13
+ import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
27
14
 
28
- class TuiAccordionItemEagerContent {
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemEagerContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionItemEagerContent, isStandalone: true, selector: "[tuiAccordionItemContent]:not(ng-template)", ngImport: i0 }); }
15
+ class TuiAccordionDirective {
16
+ constructor() {
17
+ this.accordion = inject(TuiAccordionComponent);
18
+ this.open = model(false, { alias: 'tuiAccordion' });
19
+ this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);
20
+ this.chevron = tuiDirectiveBinding(TuiChevron, 'rotated', this.open);
21
+ }
22
+ ngOnChanges() {
23
+ this.accordion.toggle(this);
24
+ }
25
+ toggle() {
26
+ this.open.set(!this.open());
27
+ this.accordion.toggle(this);
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { open: { classPropertyName: "open", publicName: "tuiAccordion", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [
31
+ tuiAvatarOptionsProvider({ size: 's' }),
32
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
33
+ ], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiButton }, { directive: i2.TuiChevron }], ngImport: i0 }); }
31
34
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItemEagerContent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, decorators: [{
33
36
  type: Directive,
34
37
  args: [{
35
38
  standalone: true,
36
- selector: '[tuiAccordionItemContent]:not(ng-template)',
39
+ selector: 'button[tuiAccordion]',
40
+ providers: [
41
+ tuiAvatarOptionsProvider({ size: 's' }),
42
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
43
+ ],
44
+ hostDirectives: [TuiButton, TuiChevron],
45
+ host: {
46
+ tuiButton: '',
47
+ tuiAccordion: '',
48
+ type: 'button',
49
+ '[class._open]': 'open()',
50
+ '(click)': 'toggle()',
51
+ },
37
52
  }]
38
53
  }] });
39
54
 
40
- class TuiAccordionItem {
55
+ class TuiAccordionComponent {
41
56
  constructor() {
42
- this.cdr = inject(ChangeDetectorRef);
43
- this.noPadding = false;
44
- this.showArrow = true;
45
- this.borders = 'all';
46
- this.size = 'm';
47
- this.disabled = false;
48
- this.disableHover = false;
49
- this.open = false;
50
- this.async = false;
51
- this.openChange = new EventEmitter();
52
- }
53
- close() {
54
- this.updateOpen(false);
55
- this.cdr.markForCheck();
56
- }
57
- onRowToggle() {
58
- if (!this.disabled) {
59
- this.updateOpen(!this.open);
60
- }
57
+ this.expands = contentChildren(TuiExpand);
58
+ this.directives = contentChildren(TuiAccordionDirective);
59
+ this.closeOthers = input(true);
60
+ this.size = input('l');
61
61
  }
62
- onItemKeyDownEsc(event) {
63
- if (!this.open) {
64
- return;
62
+ toggle(directive) {
63
+ if (this.closeOthers() && directive.open()) {
64
+ this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));
65
+ this.directives().forEach((dir) => {
66
+ if (dir !== directive) {
67
+ dir.open.set(false);
68
+ }
69
+ });
65
70
  }
66
- event.stopPropagation();
67
- this.updateOpen(false);
68
- }
69
- updateOpen(open) {
70
- if (this.open === open) {
71
- return;
71
+ const expand = this.expands()[this.directives().indexOf(directive)];
72
+ if (expand) {
73
+ tuiSetSignal(expand.expanded, !!directive.open());
72
74
  }
73
- this.open = open;
74
- this.openChange.emit(open);
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItem, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiAccordionItem, isStandalone: true, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { properties: { "class._no-padding": "noPadding", "class._has-arrow": "showArrow", "attr.data-borders": "borders", "attr.data-size": "size", "class._disabled": "disabled" } }, queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContent, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContent, descendants: true }], ngImport: i0, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}::ng-deep tui-accordion{inline-size:100%}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-border-normal);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0}:host[data-borders=top] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-end-width:0}:host[data-borders=bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-start-width:0}.t-header{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;inline-size:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-block-end:1px solid var(--tui-border-normal);min-block-size:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-primary);cursor:pointer;text-align:start;outline:none}.t-header:focus-visible{box-shadow:inset 0 0 0 2px var(--tui-border-focus)}:host:not([data-borders]) .t-header{border-block-end-width:0}:host._has-arrow .t-header{padding-inline-end:.75rem}:host-context([tuiTheme=\"dark\"]) .t-header_open{background:var(--tui-background-neutral-1)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-block-size:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-inline-start:0;padding-inline-end:0}:host._disabled .t-header{cursor:default}.t-wrapper:hover>.t-header_hoverable{background:var(--tui-background-base-alt)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-inline-end:0;flex-grow:1}:host._has-arrow .t-title{margin-inline-end:.5rem}.t-icon{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;color:var(--tui-text-tertiary)}.t-icon:after{font-size:1rem}:host:hover .t-icon{color:var(--tui-text-secondary)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;overflow-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "component", type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "directive", type: i1.TuiExpandContent, selector: "[tuiExpandContent]" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.15", type: TuiAccordionComponent, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: { classPropertyName: "closeOthers", publicName: "closeOthers", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], queries: [{ propertyName: "expands", predicate: TuiExpand, isSignal: true }, { propertyName: "directives", predicate: TuiAccordionDirective, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:stretch;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){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}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>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}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 }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionItem, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'tui-accordion-item', imports: [PolymorpheusOutlet, TuiChevron, TuiExpand, TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: {
82
- '[class._no-padding]': 'noPadding',
83
- '[class._has-arrow]': 'showArrow',
84
- '[attr.data-borders]': 'borders',
85
- '[attr.data-size]': 'size',
86
- '[class._disabled]': 'disabled',
87
- }, template: "<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-borders=top-bottom]{border-radius:0!important}::ng-deep tui-accordion{inline-size:100%}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-border-normal);pointer-events:none}:host:not([data-borders]) .t-wrapper:after{border-width:0}:host[data-borders=all] .t-wrapper:after{border-width:1px}:host[data-borders=top-bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0}:host[data-borders=top] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-end-width:0}:host[data-borders=bottom] .t-wrapper:after{border-inline-start-width:0;border-inline-end-width:0;border-block-start-width:0}.t-header{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;inline-size:100%;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-block-end:1px solid var(--tui-border-normal);min-block-size:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-primary);cursor:pointer;text-align:start;outline:none}.t-header:focus-visible{box-shadow:inset 0 0 0 2px var(--tui-border-focus)}:host:not([data-borders]) .t-header{border-block-end-width:0}:host._has-arrow .t-header{padding-inline-end:.75rem}:host-context([tuiTheme=\"dark\"]) .t-header_open{background:var(--tui-background-neutral-1)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-block-size:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-inline-start:0;padding-inline-end:0}:host._disabled .t-header{cursor:default}.t-wrapper:hover>.t-header_hoverable{background:var(--tui-background-base-alt)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-inline-end:0;flex-grow:1}:host._has-arrow .t-title{margin-inline-end:.5rem}.t-icon{transition-property:color;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-inline-start:auto;color:var(--tui-text-tertiary)}.t-icon:after{font-size:1rem}:host:hover .t-icon{color:var(--tui-text-secondary)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;overflow-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"] }]
88
- }], propDecorators: { eagerContent: [{
89
- type: ContentChild,
90
- args: [TuiAccordionItemEagerContent]
91
- }], lazyContent: [{
92
- type: ContentChild,
93
- args: [TuiAccordionItemContent]
94
- }], noPadding: [{
95
- type: Input
96
- }], showArrow: [{
97
- type: Input
98
- }], borders: [{
99
- type: Input
100
- }], size: [{
101
- type: Input
102
- }], disabled: [{
103
- type: Input
104
- }], disableHover: [{
105
- type: Input
106
- }], open: [{
107
- type: Input
108
- }], async: [{
109
- type: Input
110
- }], openChange: [{
111
- type: Output
112
- }] } });
113
-
114
- class TuiAccordionDirective {
115
- constructor() {
116
- this.destroyRef = inject(DestroyRef);
117
- this.accordionItems = EMPTY_QUERY;
118
- this.closeOthers = true;
119
- // Not using DI options to avoid changed defaults spilling to content
120
- const group = inject(TuiGroup);
121
- group.orientation = 'vertical';
122
- group.collapsed = true;
123
- }
124
- ngAfterContentInit() {
125
- const { accordionItems } = this;
126
- const rows$ = tuiQueryListChanges(accordionItems);
127
- const newOpenRow$ = rows$.pipe(pairwise(), map(([previous, current]) => current.find((item) => !previous.includes(item) && item.open)), filter(tuiIsPresent));
128
- const rowsOpen$ = merge(rows$.pipe(switchMap((rows) => merge(...rows.map((row) => row.openChange.pipe(filter(identity), map(() => row)))))), newOpenRow$).pipe(filter(() => this.closeOthers), takeUntilDestroyed(this.destroyRef));
129
- rowsOpen$.subscribe((currentRow) => {
130
- accordionItems.forEach((row) => {
131
- if (currentRow !== row) {
132
- row.close();
133
- }
134
- });
135
- });
136
- }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
138
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAccordionDirective, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: "closeOthers" }, queries: [{ propertyName: "accordionItems", predicate: TuiAccordionItem }], hostDirectives: [{ directive: i1$1.TuiGroup, inputs: ["rounded", "rounded"] }], ngImport: i0 }); }
139
- }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAccordionDirective, decorators: [{
141
- type: Directive,
142
- args: [{
143
- standalone: true,
144
- selector: 'tui-accordion',
145
- hostDirectives: [
146
- {
147
- directive: TuiGroup,
148
- inputs: ['rounded'],
149
- },
150
- ],
151
- }]
152
- }], ctorParameters: () => [], propDecorators: { accordionItems: [{
153
- type: ContentChildren,
154
- args: [TuiAccordionItem]
155
- }], closeOthers: [{
156
- type: Input
157
- }] } });
81
+ args: [{ standalone: true, selector: 'tui-accordion', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], hostDirectives: [TuiGroup], host: { '[attr.data-size]': 'size()' }, styles: ["tui-accordion{inline-size:stretch;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){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}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>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}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"] }]
82
+ }] });
158
83
 
159
84
  const TuiAccordion = [
160
- TuiAccordionItem,
85
+ TuiAccordionComponent,
161
86
  TuiAccordionDirective,
162
- TuiAccordionItemContent,
163
- TuiAccordionItemEagerContent,
87
+ TuiExpand,
88
+ TuiItem,
164
89
  ];
165
90
 
166
91
  /**
167
92
  * Generated bundle index. Do not edit.
168
93
  */
169
94
 
170
- export { TuiAccordion, TuiAccordionDirective, TuiAccordionItem, TuiAccordionItemContent, TuiAccordionItemEagerContent };
95
+ export { TuiAccordion, TuiAccordionComponent, TuiAccordionDirective };
171
96
  //# sourceMappingURL=taiga-ui-kit-components-accordion.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.mjs","sources":["../../../projects/kit/components/accordion/accordion-item-content.directive.ts","../../../projects/kit/components/accordion/accordion-item-eager-content.directive.ts","../../../projects/kit/components/accordion/accordion-item.component.ts","../../../projects/kit/components/accordion/accordion-item.template.html","../../../projects/kit/components/accordion/accordion.directive.ts","../../../projects/kit/components/accordion/accordion.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContent extends PolymorpheusTemplate<\n Record<string, unknown>\n> {}\n","import {Directive} from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContent {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n Output,\n} from '@angular/core';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiChevron} from '@taiga-ui/kit/directives';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiAccordionItemContent} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContent} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n imports: [PolymorpheusOutlet, TuiChevron, TuiExpand, TuiIcon],\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._no-padding]': 'noPadding',\n '[class._has-arrow]': 'showArrow',\n '[attr.data-borders]': 'borders',\n '[attr.data-size]': 'size',\n '[class._disabled]': 'disabled',\n },\n})\nexport class TuiAccordionItem {\n private readonly cdr = inject(ChangeDetectorRef);\n\n @ContentChild(TuiAccordionItemEagerContent)\n protected readonly eagerContent?: TuiAccordionItemEagerContent;\n\n @ContentChild(TuiAccordionItemContent)\n protected readonly lazyContent?: TuiAccordionItemContent;\n\n @Input()\n public noPadding = false;\n\n @Input()\n public showArrow = true;\n\n @Input()\n public borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n public size: TuiSizeS = 'm';\n\n @Input()\n public disabled = false;\n\n @Input()\n public disableHover = false;\n\n @Input()\n public open = false;\n\n @Input()\n public async = false;\n\n @Output()\n public readonly openChange = new EventEmitter<boolean>();\n\n public close(): void {\n this.updateOpen(false);\n this.cdr.markForCheck();\n }\n\n protected onRowToggle(): void {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n protected onItemKeyDownEsc(event: Event): void {\n if (!this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n private updateOpen(open: boolean): void {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","<div\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n>\n <button\n automation-id=\"tui-accordion__item-header\"\n type=\"button\"\n class=\"t-header\"\n [class.t-header_hoverable]=\"!disableHover\"\n [class.t-header_open]=\"open\"\n [disabled]=\"disabled\"\n (click)=\"onRowToggle()\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n >\n <span\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content />\n </span>\n @if (showArrow) {\n <tui-icon\n class=\"t-icon\"\n [tuiChevron]=\"open\"\n />\n }\n </button>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <ng-template tuiExpandContent>\n @if (lazyContent) {\n <div\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n }\n </ng-template>\n @if (eagerContent) {\n <div class=\"t-content\">\n <ng-content select=\"[tuiAccordionItemContent]:not(ng-template)\" />\n </div>\n }\n </tui-expand>\n</div>\n","import {\n type AfterContentInit,\n ContentChildren,\n DestroyRef,\n Directive,\n inject,\n Input,\n type QueryList,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiQueryListChanges} from '@taiga-ui/cdk/observables';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiGroup} from '@taiga-ui/core/directives/group';\nimport {filter, identity, map, merge, pairwise, switchMap} from 'rxjs';\n\nimport {TuiAccordionItem} from './accordion-item.component';\n\n@Directive({\n standalone: true,\n selector: 'tui-accordion',\n hostDirectives: [\n {\n directive: TuiGroup,\n inputs: ['rounded'],\n },\n ],\n})\nexport class TuiAccordionDirective implements AfterContentInit {\n private readonly destroyRef = inject(DestroyRef);\n\n @ContentChildren(TuiAccordionItem)\n protected readonly accordionItems: QueryList<TuiAccordionItem> = EMPTY_QUERY;\n\n @Input()\n public closeOthers = true;\n\n constructor() {\n // Not using DI options to avoid changed defaults spilling to content\n const group = inject(TuiGroup);\n\n group.orientation = 'vertical';\n group.collapsed = true;\n }\n\n public ngAfterContentInit(): void {\n const {accordionItems} = this;\n const rows$ = tuiQueryListChanges(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find((item) => !previous.includes(item) && item.open),\n ),\n filter(tuiIsPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap((rows) =>\n merge(\n ...rows.map((row) =>\n row.openChange.pipe(\n filter(identity),\n map(() => row),\n ),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntilDestroyed(this.destroyRef),\n );\n\n rowsOpen$.subscribe((currentRow) => {\n accordionItems.forEach((row) => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {TuiAccordionDirective} from './accordion.directive';\nimport {TuiAccordionItem} from './accordion-item.component';\nimport {TuiAccordionItemContent} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContent} from './accordion-item-eager-content.directive';\n\nexport const TuiAccordion = [\n TuiAccordionItem,\n TuiAccordionDirective,\n TuiAccordionItemContent,\n TuiAccordionItemEagerContent,\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-kit-components-accordion.mjs","sources":["../../../projects/kit/components/accordion/accordion.directive.ts","../../../projects/kit/components/accordion/accordion.component.ts","../../../projects/kit/components/accordion/accordion.ts","../../../projects/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {Directive, inject, model, type OnChanges} 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 public readonly open = model<boolean | ''>(false, {alias: 'tuiAccordion'});\n\n public readonly size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);\n public readonly chevron = tuiDirectiveBinding(TuiChevron, 'rotated', this.open);\n\n public ngOnChanges(): void {\n this.accordion.toggle(this);\n }\n\n public toggle(): void {\n this.open.set(!this.open());\n this.accordion.toggle(this);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiExpand} from '@taiga-ui/core/components/expand';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\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: [tuiGroupOptionsProvider({orientation: 'vertical', collapsed: true})],\n hostDirectives: [TuiGroup],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiAccordionComponent {\n protected readonly expands = contentChildren(TuiExpand);\n protected readonly directives = contentChildren(TuiAccordionDirective);\n\n public readonly closeOthers = input(true);\n public readonly size = input<TuiSizeL | TuiSizeS>('l');\n\n public toggle(directive: TuiAccordionDirective): void {\n if (this.closeOthers() && directive.open()) {\n this.expands().forEach((expand) => tuiSetSignal(expand.expanded, false));\n this.directives().forEach((dir) => {\n if (dir !== directive) {\n dir.open.set(false);\n }\n });\n }\n\n const expand = this.expands()[this.directives().indexOf(directive)];\n\n if (expand) {\n tuiSetSignal(expand.expanded, !!directive.open());\n }\n }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/core/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":[],"mappings":";;;;;;;;;;;;;;MAwBa,qBAAqB,CAAA;AAhBlC,IAAA,WAAA,GAAA;AAiBqB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAE1C,IAAI,CAAA,IAAA,GAAG,KAAK,CAAe,KAAK,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC,CAAC;AAE1D,QAAA,IAAA,CAAA,IAAI,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAClE,IAAO,CAAA,OAAA,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;AAUlF;IARU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;;IAGxB,MAAM,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;;+GAdtB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;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,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,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;;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;;;MCEY,qBAAqB,CAAA;AAXlC,IAAA,WAAA,GAAA;AAYuB,QAAA,IAAA,CAAA,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC;AACpC,QAAA,IAAA,CAAA,UAAU,GAAG,eAAe,CAAC,qBAAqB,CAAC;AAEtD,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;AACzB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAsB,GAAG,CAAC;AAkBzD;AAhBU,IAAA,MAAM,CAAC,SAAgC,EAAA;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC9B,gBAAA,IAAI,GAAG,KAAK,SAAS,EAAE;AACnB,oBAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;AAE3B,aAAC,CAAC;;AAGN,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEnE,IAAI,MAAM,EAAE;AACR,YAAA,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;;;+GApBhD,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,SAAA,EAJnB,CAAC,uBAAuB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAKnC,SAAS,EACN,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,SAAA,EAAA,qBAAqB,6FAV3D,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,23CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAQjB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,YACN,eAAe,EAAA,QAAA,EACf,gBAAgB,EAAA,aAAA,EAEX,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,uBAAuB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAA,cAAA,EAChE,CAAC,QAAQ,CAAC,EACpB,IAAA,EAAA,EAAC,kBAAkB,EAAE,QAAQ,EAAC,EAAA,MAAA,EAAA,CAAA,23CAAA,CAAA,EAAA;;;ACjB3B,MAAA,YAAY,GAAG;IACxB,qBAAqB;IACrB,qBAAqB;IACrB,SAAS;IACT,OAAO;;;ACVX;;AAEG;;;;"}
@@ -4,7 +4,7 @@ import * as i1 from '@taiga-ui/cdk/directives/animated';
4
4
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
5
5
  import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
  import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button';
7
- import { TuiExpandComponent } from '@taiga-ui/core/components/expand';
7
+ import { TuiExpand } from '@taiga-ui/core/components/expand';
8
8
  import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link';
9
9
  import { TuiDropdownPortal } from '@taiga-ui/core/directives/dropdown';
10
10
 
@@ -18,11 +18,11 @@ class TuiActionBarComponent {
18
18
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiActionBarComponent, isStandalone: true, selector: "tui-action-bar", inputs: { expanded: "expanded", size: "size" }, host: { attributes: { "tuiTheme": "dark" }, properties: { "attr.data-size": "size" } }, providers: [
19
19
  tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
20
20
  tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
21
- ], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ ], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<tui-expand [expanded]=\"expanded\">\n <ng-content select=\"tui-data-list,[tuiMenu]\" />\n</tui-expand>\n\n<div class=\"t-content\">\n <ng-content />\n\n <div class=\"t-actions\">\n <ng-content select=\"a,button,[tuiAction]\" />\n </div>\n</div>\n", styles: [":host{position:fixed;left:max(calc(50% - 37rem),1.5rem);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;inline-size:100%;max-inline-size:min(calc(100vw - 3rem),74rem);box-sizing:border-box;border-radius:1rem;background:var(--tui-background-elevation-2);background:color-mix(in hsl,var(--tui-background-elevation-2) 75%,transparent);color:var(--tui-text-primary);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);flex-direction:column;justify-content:center;padding:.75rem;text-indent:.75rem;font:var(--tui-font-text-m);white-space:nowrap}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host[data-size=s]{border-radius:var(--tui-radius-l);font:var(--tui-font-text-s);padding:.5rem}:host-context(tui-root._mobile) :host{padding:1rem;border-radius:1.25rem;text-indent:0}:host ::ng-deep tui-data-list[data-size]{padding:0;margin:-.625rem -.625rem 1rem}:host ::ng-deep tui-items-with-more{text-indent:.5rem}:host-context(tui-root._mobile) :host ::ng-deep tui-items-with-more{display:none}.t-content{display:flex;align-items:center;gap:.7rem 2.5rem}:host-context(tui-root._mobile) .t-content{flex-wrap:wrap}.t-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-inline-start:auto;text-indent:0}:host-context(tui-root._mobile) .t-actions{flex:1}:host-context(tui-root._mobile) .t-actions ::ng-deep [tuiButton]{flex:1}\n"], dependencies: [{ kind: "component", type: TuiExpand, selector: "tui-expand", inputs: ["expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiActionBarComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'tui-action-bar', imports: [TuiExpandComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
25
+ args: [{ selector: 'tui-action-bar', imports: [TuiExpand], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
26
26
  tuiProvide(TUI_BUTTON_OPTIONS, TuiActionBarComponent),
27
27
  tuiLinkOptionsProvider({ appearance: 'action-grayscale', pseudo: true }),
28
28
  ], hostDirectives: [TuiAnimated], host: {