@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.
- package/components/accordion/accordion.component.d.ts +13 -0
- package/components/accordion/accordion.d.ts +4 -4
- package/components/accordion/accordion.directive.d.ts +11 -10
- package/components/accordion/index.d.ts +1 -3
- package/components/input-phone-international/input-phone-international.component.d.ts +23 -29
- package/components/input-range/input-range.component.d.ts +5 -5
- package/components/input-slider/input-slider.directive.d.ts +1 -2
- package/components/line-clamp/line-clamp-box.component.d.ts +3 -4
- package/fesm2022/taiga-ui-kit-components-accordion.mjs +69 -144
- package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -5
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +101 -125
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +23 -10
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +7 -12
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +6 -8
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tree.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
- package/package.json +20 -20
- package/components/accordion/accordion-item-content.directive.d.ts +0 -6
- package/components/accordion/accordion-item-eager-content.directive.d.ts +0 -5
- 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
|
-
|
|
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
|
|
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/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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, "
|
|
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 {
|
|
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 "@
|
|
9
|
-
import * as i2 from "@taiga-ui/core/
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
protected readonly
|
|
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
|
|
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
|
|
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
|
|
34
|
-
protected readonly $: import("
|
|
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
|
-
|
|
41
|
-
onPaste(event: Event): void;
|
|
42
|
-
onItemClick(
|
|
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, "
|
|
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; }; "
|
|
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
|
|
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 {
|
|
1
|
+
import { TuiHintComponent } from '@taiga-ui/core/directives/hint';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
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,
|
|
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 {
|
|
3
|
-
import {
|
|
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 {
|
|
10
|
-
import * as i1 from '@taiga-ui/core/components/
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
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:
|
|
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: '[
|
|
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
|
|
55
|
+
class TuiAccordionComponent {
|
|
41
56
|
constructor() {
|
|
42
|
-
this.
|
|
43
|
-
this.
|
|
44
|
-
this.
|
|
45
|
-
this.
|
|
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
|
-
|
|
63
|
-
if (
|
|
64
|
-
|
|
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
|
-
|
|
67
|
-
|
|
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:
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
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:
|
|
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-
|
|
82
|
-
|
|
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
|
-
|
|
85
|
+
TuiAccordionComponent,
|
|
161
86
|
TuiAccordionDirective,
|
|
162
|
-
|
|
163
|
-
|
|
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,
|
|
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":"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"}
|
|
@@ -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 {
|
|
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:
|
|
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: [
|
|
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: {
|