@taiga-ui/kit 5.22.0 → 5.23.0-canary.a178c55

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 (132) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +5 -4
  2. package/components/confirm/confirm.component.d.ts +1 -1
  3. package/components/counter/counter.component.d.ts +2 -2
  4. package/components/files/input-files/input-files-validator.directive.d.ts +3 -0
  5. package/components/input-color/input-color-content.component.d.ts +1 -0
  6. package/components/input-date/input-date.directive.d.ts +2 -2
  7. package/components/input-date-multi/input-date-multi.directive.d.ts +11 -3
  8. package/components/input-date-range/input-date-range.directive.d.ts +24 -4
  9. package/components/input-date-time/input-date-time.directive.d.ts +2 -2
  10. package/components/input-month/input-month.component.d.ts +2 -2
  11. package/components/input-number/number-mask.directive.d.ts +2 -2
  12. package/components/input-range/input-range.component.d.ts +10 -2
  13. package/components/input-year/input-year.directive.d.ts +2 -2
  14. package/components/line-clamp/index.d.ts +1 -0
  15. package/components/line-clamp/line-clamp-fallback.directive.d.ts +22 -0
  16. package/components/line-clamp/line-clamp.component.d.ts +16 -11
  17. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -2
  18. package/components/pincode/pincode.component.d.ts +1 -1
  19. package/components/range/range.component.d.ts +10 -2
  20. package/components/rating/rating.component.d.ts +1 -1
  21. package/components/textarea/textarea.component.d.ts +12 -2
  22. package/directives/unfinished-validator/unfinished-validator-refresh.directive.d.ts +6 -3
  23. package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
  24. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -9
  26. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
  28. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
  30. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +12 -14
  32. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
  34. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-comment.mjs +3 -3
  36. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
  38. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-copy.mjs +2 -2
  41. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-counter.mjs +6 -2
  43. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-kit-components-files.mjs +29 -10
  45. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-input-color.mjs +3 -2
  47. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +10 -2
  49. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +29 -5
  51. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
  53. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-input-date.mjs +13 -11
  55. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -2
  57. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -4
  59. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-input-number.mjs +7 -5
  61. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +2 -2
  63. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -3
  65. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-input-range.mjs +10 -2
  67. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +2 -2
  69. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components-input-time.mjs +3 -3
  71. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-components-input-year.mjs +6 -2
  73. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-components-like.mjs +2 -2
  75. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +78 -31
  77. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-message.mjs +2 -2
  79. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-meter.mjs +3 -3
  81. package/fesm2022/taiga-ui-kit-components-meter.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +7 -6
  83. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-pin.mjs +3 -3
  85. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-pincode.mjs +3 -1
  87. package/fesm2022/taiga-ui-kit-components-pincode.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-preview.mjs +3 -3
  89. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-progress.mjs +6 -6
  91. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  93. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components-range.mjs +14 -2
  95. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -1
  97. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-components-segmented.mjs +3 -3
  99. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +2 -2
  101. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-components-status.mjs +3 -3
  103. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  105. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-kit-components-tabs.mjs +7 -6
  107. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-kit-components-textarea.mjs +19 -5
  109. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -4
  111. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-toast.mjs +2 -2
  113. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +3 -3
  115. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +2 -2
  117. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-directives-connected.mjs +3 -3
  119. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-directives-fade.mjs +3 -3
  121. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +3 -3
  123. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +2 -2
  125. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +3 -3
  127. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +2 -2
  129. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +20 -11
  131. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  132. package/package.json +39 -39
@@ -1,15 +1,16 @@
1
- import { type OnChanges, type OnInit, type SimpleChanges } from '@angular/core';
1
+ import { type OnChanges, type OnDestroy, type OnInit, type SimpleChanges } from '@angular/core';
2
2
  import { TuiDay, type TuiDayLike, TuiDayRange, TuiMonth } from '@taiga-ui/cdk/date-time';
3
3
  import { type TuiBooleanHandler, type TuiMapper } from '@taiga-ui/cdk/types';
4
4
  import { AbstractTuiCalendar, type TuiMarkerHandler } from '@taiga-ui/core/components/calendar';
5
5
  import { type TuiDayRangePeriod } from './day-range-period';
6
6
  import * as i0 from "@angular/core";
7
- export declare class TuiCalendarRange extends AbstractTuiCalendar<TuiDayRange> implements OnInit, OnChanges {
7
+ export declare class TuiCalendarRange extends AbstractTuiCalendar<TuiDayRange> implements OnInit, OnChanges, OnDestroy {
8
8
  /**
9
9
  * @deprecated use `item`
10
10
  */
11
11
  private selectedPeriod;
12
- protected previousValue: TuiDay | TuiDayRange | null;
12
+ private readonly format;
13
+ private readonly textfieldValue;
13
14
  protected hoveredItem: TuiDay | null;
14
15
  protected readonly otherDateText: import("@angular/core").Signal<string>;
15
16
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
@@ -34,7 +35,7 @@ export declare class TuiCalendarRange extends AbstractTuiCalendar<TuiDayRange> i
34
35
  set selectedActivePeriod(period: TuiDayRangePeriod | null);
35
36
  ngOnChanges({ defaultViewedMonth }: SimpleChanges): void;
36
37
  ngOnInit(): void;
37
- protected onEsc(event: KeyboardEvent): void;
38
+ ngOnDestroy(): void;
38
39
  protected readonly monthOffset: TuiMapper<[TuiMonth, number], TuiMonth>;
39
40
  protected readonly mapper: TuiMapper<[
40
41
  readonly TuiDayRangePeriod[],
@@ -10,7 +10,7 @@ export declare class TuiConfirm {
10
10
  yes: string;
11
11
  }>;
12
12
  protected readonly data: TuiConfirmData;
13
- protected readonly context: TuiDialogContext<boolean, TuiConfirmData | undefined>;
13
+ readonly context: TuiDialogContext<boolean, TuiConfirmData | undefined>;
14
14
  protected get appearance(): string | readonly [string, string];
15
15
  protected get yes(): string;
16
16
  protected get no(): string;
@@ -8,8 +8,8 @@ export declare class TuiCounter extends TuiControl<number> {
8
8
  protected readonly $: import("rxjs").Subscription;
9
9
  readonly step: import("@angular/core").InputSignal<number>;
10
10
  readonly size: import("@angular/core").InputSignal<"m" | "l" | "s" | "xs">;
11
- readonly min: import("@angular/core").InputSignal<number>;
12
- readonly max: import("@angular/core").InputSignal<number>;
11
+ readonly min: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
12
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
13
13
  readonly appearance: import("@angular/core").InputSignal<string>;
14
14
  protected onStep(step: number): void;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCounter, never>;
@@ -1,10 +1,13 @@
1
1
  import { type OnChanges, type OnInit } from '@angular/core';
2
+ import { type AbstractControl, type ValidationErrors } from '@angular/forms';
2
3
  import { TuiValidator } from '@taiga-ui/cdk/directives/validator';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class TuiInputFilesValidator extends TuiValidator implements OnInit, OnChanges {
5
6
  private readonly options;
7
+ private validator;
6
8
  accept: string;
7
9
  maxFileSize: number;
10
+ validate: (control: AbstractControl) => ValidationErrors | null;
8
11
  ngOnChanges(): void;
9
12
  ngOnInit(): void;
10
13
  private update;
@@ -4,6 +4,7 @@ export declare class TuiInputColorContent {
4
4
  protected readonly host: TuiInputColorComponent;
5
5
  protected readonly maxAlpha = 255;
6
6
  protected readonly hasRgb: import("@angular/core").Signal<boolean>;
7
+ protected readonly color: import("@angular/core").Signal<string>;
7
8
  protected readonly opacity: import("@angular/core").Signal<number>;
8
9
  protected readonly opacityRatio: import("@angular/core").Signal<number>;
9
10
  protected onInput(value: string): void;
@@ -40,8 +40,8 @@ export declare abstract class TuiInputDateBase<T extends TuiDay | TuiDayRange |
40
40
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputDateBase<any>, never, never, {}, {}, never, never, true, never>;
41
41
  }
42
42
  export declare class TuiInputDateDirective extends TuiInputDateBase<TuiDay> {
43
- readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
44
- readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
43
+ readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null | undefined>;
44
+ readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null | undefined>;
45
45
  protected readonly mask: Signal<import("@maskito/core").MaskitoOptions>;
46
46
  protected onValueChange(value: string): void;
47
47
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateDirective, never>;
@@ -11,11 +11,19 @@ export declare class TuiInputDateMultiDirective extends TuiInputChipDirective<Tu
11
11
  protected readonly format: import("@angular/core").Signal<import("@taiga-ui/core/tokens").TuiDateFormatSettings>;
12
12
  protected readonly stringify: import("@angular/core").WritableSignal<(item: any) => any>;
13
13
  protected readonly mask: import("@angular/core").Signal<import("@maskito/core").MaskitoOptions>;
14
- protected readonly calendar: import("@angular/core").Signal<AbstractTuiCalendar<TuiDay | import("@taiga-ui/cdk/date-time").TuiDayRange | readonly TuiDay[]> | null>;
14
+ protected readonly calendar: import("@angular/core").Signal<AbstractTuiCalendar<TuiDay | readonly TuiDay[] | import("@taiga-ui/cdk/date-time").TuiDayRange> | null>;
15
15
  protected readonly calendarIn: import("@angular/core").EffectRef;
16
16
  protected readonly calendarOut: import("@angular/core").EffectRef;
17
- readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
18
- readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
17
+ /**
18
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
19
+ * Solved? Drop `readonly TuiDay[] | undefined` workaround from `transform`
20
+ */
21
+ readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | readonly TuiDay[] | null | undefined>;
22
+ /**
23
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
24
+ * Solved? Drop `readonly TuiDay[] | undefined` workaround from `transform`
25
+ */
26
+ readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | readonly TuiDay[] | null | undefined>;
19
27
  protected processCalendar(calendar: AbstractTuiCalendar): void;
20
28
  protected onClick(): void;
21
29
  protected onValueChange(value: string): void;
@@ -7,12 +7,32 @@ import * as i1 from "@taiga-ui/core/components/input";
7
7
  import * as i2 from "@taiga-ui/core/portals/dropdown";
8
8
  import * as i3 from "@maskito/angular";
9
9
  export declare class TuiInputDateRangeDirective extends TuiInputDateBase<TuiDayRange> {
10
- readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
11
- readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDay | null>;
10
+ /**
11
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
12
+ * Solved? Drop `TuiDayRange | undefined` workaround from `transform`
13
+ */
14
+ readonly max: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDayRange | TuiDay | null | undefined>;
15
+ /**
16
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
17
+ * Solved? Drop `TuiDayRange | undefined` workaround from `transform`
18
+ */
19
+ readonly min: import("@angular/core").InputSignalWithTransform<TuiDay, TuiDayRange | TuiDay | null | undefined>;
12
20
  protected readonly filler: import("@angular/core").Signal<string>;
13
21
  protected readonly mask: import("@angular/core").Signal<import("@maskito/core").MaskitoOptions>;
14
- readonly minLength: import("@angular/core").InputSignal<TuiDayLike | null>;
15
- readonly maxLength: import("@angular/core").InputSignal<TuiDayLike | null>;
22
+ /**
23
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
24
+ * - Solved? Drop `number | undefined` workaround and `transform`
25
+ * - Not yet? Rename props to `margin`
26
+ * * (to be similar to `Range[margin]`: https://taiga-ui.dev/components/range/API?margin=2)
27
+ */
28
+ readonly minLength: import("@angular/core").InputSignalWithTransform<TuiDayLike | null, number | TuiDayLike | null | undefined>;
29
+ /**
30
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
31
+ * - Solved? Drop `number | undefined` workaround and `transform`
32
+ * - Not yet? Rename props to `limit`
33
+ * (to be similar to `Range[limit]`: https://taiga-ui.dev/components/range/API?limit=10)
34
+ */
35
+ readonly maxLength: import("@angular/core").InputSignalWithTransform<TuiDayLike | null, number | TuiDayLike | null | undefined>;
16
36
  protected processCalendar(calendar: AbstractTuiCalendar | TuiCalendarRange): void;
17
37
  protected onValueChange(value: string): void;
18
38
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateRangeDirective, never>;
@@ -21,8 +21,8 @@ export declare class TuiInputDateTimeDirective extends TuiInputDateBase<readonly
21
21
  readonly minTime: import("@angular/core").Signal<any>;
22
22
  readonly maxTime: import("@angular/core").Signal<any>;
23
23
  readonly timeMode: import("@angular/core").InputSignal<import("@maskito/kit").MaskitoTimeMode>;
24
- readonly minInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null>;
25
- readonly maxInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null>;
24
+ readonly minInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null | undefined>;
25
+ readonly maxInput: import("@angular/core").InputSignal<TuiDay | readonly [TuiDay, TuiTime | null] | null | undefined>;
26
26
  setValue(value: readonly [TuiDay, TuiTime | null] | null): void;
27
27
  setDate(newDate: TuiDay): void;
28
28
  writeValue(value: [TuiDay, TuiTime | null] | null): void;
@@ -2,8 +2,8 @@ import { type TuiMonth } from '@taiga-ui/cdk/date-time';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@taiga-ui/core/components/textfield";
4
4
  export declare class TuiInputMonthComponent {
5
- readonly min: import("@angular/core").InputSignal<TuiMonth | null>;
6
- readonly max: import("@angular/core").InputSignal<TuiMonth | null>;
5
+ readonly min: import("@angular/core").InputSignal<TuiMonth | null | undefined>;
6
+ readonly max: import("@angular/core").InputSignal<TuiMonth | null | undefined>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputMonthComponent, never>;
8
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputMonthComponent, "input[tuiInputMonth][type=\"month\"]", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithNativePicker; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiTextfieldContent; inputs: {}; outputs: {}; }]>;
9
9
  }
@@ -8,8 +8,8 @@ export declare class TuiNumberMask {
8
8
  readonly prefix: import("@angular/core").InputSignal<string>;
9
9
  readonly postfix: import("@angular/core").InputSignal<string>;
10
10
  readonly maximumFractionDigits: import("@angular/core").Signal<number>;
11
- readonly min: import("@angular/core").InputSignalWithTransform<number | bigint, number | bigint | null>;
12
- readonly max: import("@angular/core").InputSignalWithTransform<number | bigint, number | bigint | null>;
11
+ readonly min: import("@angular/core").InputSignalWithTransform<number | bigint, number | bigint | null | undefined>;
12
+ readonly max: import("@angular/core").InputSignalWithTransform<number | bigint, number | bigint | null | undefined>;
13
13
  readonly params: import("@angular/core").Signal<{
14
14
  readonly maximumFractionDigits: number;
15
15
  readonly min: number | bigint;
@@ -14,8 +14,16 @@ export declare class TuiInputRange extends TuiControl<readonly [number, number]>
14
14
  protected side: 'end' | 'start';
15
15
  protected readonly contentStart: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
16
16
  protected readonly contentEnd: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
17
- readonly min: import("@angular/core").InputSignal<number>;
18
- readonly max: import("@angular/core").InputSignal<number>;
17
+ /**
18
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
19
+ * Solved? Drop `[number, number] | undefined` workaround and `transform`
20
+ */
21
+ readonly min: import("@angular/core").InputSignalWithTransform<number, number | readonly [number, number] | undefined>;
22
+ /**
23
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
24
+ * Solved? Drop `[number, number] | undefined` workaround and `transform`
25
+ */
26
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | readonly [number, number] | undefined>;
19
27
  readonly step: import("@angular/core").InputSignal<number>;
20
28
  readonly segments: import("@angular/core").InputSignal<number>;
21
29
  readonly keySteps: import("@angular/core").InputSignal<[[0, number], ...[number, number][], [100, number]] | undefined>;
@@ -20,8 +20,8 @@ export declare class TuiInputYearDirective extends TuiControl<number | null> {
20
20
  protected readonly mask: import("@angular/core").Signal<import("@maskito/core").MaskitoOptions>;
21
21
  protected readonly calendarInEffect: import("@angular/core").EffectRef;
22
22
  protected readonly calendarOutEffect: import("@angular/core").EffectRef;
23
- readonly min: import("@angular/core").InputSignal<number>;
24
- readonly max: import("@angular/core").InputSignal<number>;
23
+ readonly min: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
24
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
25
25
  protected toggle(): void;
26
26
  protected onInput(raw: string): void;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputYearDirective, never>;
@@ -1,3 +1,4 @@
1
1
  export * from './line-clamp.component';
2
2
  export * from './line-clamp.options';
3
3
  export * from './line-clamp-box.component';
4
+ export * from './line-clamp-fallback.directive';
@@ -0,0 +1,22 @@
1
+ import * as i0 from "@angular/core";
2
+ type Measure = Pick<Element, 'clientWidth' | 'scrollHeight' | 'scrollWidth'>;
3
+ /**
4
+ * Detects overflow by measuring, for browsers without scroll timeline support (see component
5
+ * styles)
6
+ */
7
+ export declare class TuiLineClampFallback {
8
+ private readonly host;
9
+ private readonly injector;
10
+ private readonly el;
11
+ /**
12
+ * Reads of all instances are batched into the `earlyRead`
13
+ * phase, so writes of one of them do not force a reflow for the next one
14
+ */
15
+ protected readonly refresh: false | import("@angular/core").EffectRef;
16
+ protected readonly resize: false | import("rxjs").Subscription;
17
+ protected measure(): Measure;
18
+ protected apply({ scrollHeight, scrollWidth, clientWidth }: Measure): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampFallback, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiLineClampFallback, "[tuiLineClampFallback]", never, {}, {}, never, never, true, never>;
21
+ }
22
+ export {};
@@ -1,26 +1,31 @@
1
1
  import { type BooleanInput } from '@angular/cdk/coercion';
2
- import { type AfterViewChecked } from '@angular/core';
3
2
  import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@taiga-ui/cdk/directives/transitioned";
6
- export declare class TuiLineClamp implements AfterViewChecked {
5
+ import * as i2 from "./line-clamp-fallback.directive";
6
+ export declare class TuiLineClamp {
7
7
  private readonly offset;
8
- private readonly outlet;
9
8
  private readonly options;
10
9
  private readonly el;
11
- private readonly isOverflown$;
12
- private readonly maxHeight;
10
+ private readonly overflows;
11
+ private readonly destroyed;
12
+ protected readonly overflown: import("@angular/core").WritableSignal<boolean>;
13
+ readonly maxHeight: import("@angular/core").Signal<number>;
13
14
  readonly line: import("@angular/core").Signal<number>;
14
15
  readonly lineHeight: import("@angular/core").InputSignal<number>;
15
16
  readonly linesLimit: import("@angular/core").InputSignal<number>;
16
17
  readonly content: import("@angular/core").InputSignal<PolymorpheusContent>;
17
18
  readonly showHint: import("@angular/core").InputSignalWithTransform<boolean, BooleanInput>;
18
- readonly overflownChange: import("@angular/core").OutputRef<boolean>;
19
+ readonly overflownChange: import("@angular/core").OutputEmitterRef<boolean>;
19
20
  protected readonly lineClamp: import("@angular/core").Signal<number>;
20
- ngAfterViewChecked(): void;
21
- protected get overflown(): boolean;
22
- protected get computedContent(): PolymorpheusContent;
23
- protected update(): void;
21
+ protected readonly computedContent: import("@angular/core").Signal<PolymorpheusContent>;
22
+ constructor();
23
+ setOverflown(overflown: boolean): void;
24
+ /**
25
+ * Both axes can overflow at once, and turning the clamp on can stop one of them,
26
+ * so a single axis going quiet does not mean the content fits
27
+ */
28
+ protected onOverflow(overflown: boolean): void;
24
29
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClamp, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiLineClamp, "tui-line-clamp", never, { "lineHeight": { "alias": "lineHeight"; "required": false; "isSignal": true; }; "linesLimit": { "alias": "linesLimit"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "showHint": { "alias": "showHint"; "required": false; "isSignal": true; }; }, { "overflownChange": "overflownChange"; }, never, never, true, [{ directive: typeof i1.TuiTransitioned; inputs: {}; outputs: {}; }]>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiLineClamp, "tui-line-clamp", never, { "lineHeight": { "alias": "lineHeight"; "required": false; "isSignal": true; }; "linesLimit": { "alias": "linesLimit"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "showHint": { "alias": "showHint"; "required": false; "isSignal": true; }; }, { "overflownChange": "overflownChange"; }, never, never, true, [{ directive: typeof i1.TuiTransitioned; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiLineClampFallback; inputs: {}; outputs: {}; }]>;
26
31
  }
@@ -2,7 +2,6 @@ import { tuiIsFlat } from '@taiga-ui/cdk/utils/miscellaneous';
2
2
  import { type TuiItemsHandlers } from '@taiga-ui/core/directives/items-handlers';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@taiga-ui/kit/components/input-chip";
5
- import * as i2 from "@taiga-ui/core/components/textfield";
6
5
  export declare class TuiMultiSelectNative<T> {
7
6
  private readonly control;
8
7
  private readonly textfield;
@@ -17,5 +16,5 @@ export declare class TuiMultiSelectNative<T> {
17
16
  protected readonly binding: import("@angular/core").InputSignal<string>;
18
17
  protected onInput(): void;
19
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiMultiSelectNative<any>, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiMultiSelectNative<any>, "select[tuiMultiSelect]", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiInputChipDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiSelectLike; inputs: {}; outputs: {}; }]>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiMultiSelectNative<any>, "select[tuiMultiSelect]", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiInputChipDirective; inputs: {}; outputs: {}; }]>;
21
20
  }
@@ -11,7 +11,7 @@ export declare class TuiPincodeComponent extends TuiControl<string> {
11
11
  readonly paste: import("@angular/core").WritableSignal<boolean>;
12
12
  readonly focused: import("@angular/core").Signal<boolean>;
13
13
  protected readonly maskito: import("@angular/core").WritableSignal<import("@maskito/core").MaskitoOptions>;
14
- readonly maxLength: import("@angular/core").InputSignal<number>;
14
+ readonly maxLength: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
15
15
  readonly confirmed: import("@angular/core").OutputEmitterRef<void>;
16
16
  readonly finished: import("@angular/core").OutputEmitterRef<void>;
17
17
  protected readonly state: import("@angular/core").Signal<"invalid" | "pending" | "success" | null>;
@@ -5,8 +5,16 @@ export declare class TuiRange extends TuiControl<[number, number]> {
5
5
  private readonly el;
6
6
  private readonly sliders;
7
7
  protected lastActiveThumb: 'end' | 'start';
8
- readonly min: import("@angular/core").InputSignal<number>;
9
- readonly max: import("@angular/core").InputSignal<number>;
8
+ /**
9
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
10
+ * Solved? Drop `[number, number] | undefined` workaround and `transform`
11
+ */
12
+ readonly min: import("@angular/core").InputSignalWithTransform<number, number | [number, number] | undefined>;
13
+ /**
14
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
15
+ * Solved? Drop `[number, number] | undefined` workaround and `transform`
16
+ */
17
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | [number, number] | undefined>;
10
18
  readonly step: import("@angular/core").InputSignal<number>;
11
19
  readonly segments: import("@angular/core").InputSignal<number>;
12
20
  readonly keySteps: import("@angular/core").InputSignal<[[0, number], ...[number, number][], [100, number]] | undefined>;
@@ -5,7 +5,7 @@ export declare class TuiRating extends TuiControl<number> {
5
5
  protected readonly active: import("@angular/core").WritableSignal<number>;
6
6
  protected readonly array: import("@angular/core").Signal<unknown[]>;
7
7
  readonly icon: import("@angular/core").InputSignal<import("@taiga-ui/polymorpheus").PolymorpheusContent<import("./rating.options").TuiRatingContext>>;
8
- readonly max: import("@angular/core").InputSignal<number>;
8
+ readonly max: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
9
9
  protected onKeyDown(event: KeyboardEvent): void;
10
10
  protected onPointer(delta: number): void;
11
11
  protected onClick(value: number): void;
@@ -7,8 +7,18 @@ export declare class TuiTextareaComponent implements OnInit {
7
7
  private readonly options;
8
8
  private ref?;
9
9
  protected readonly isMobile: boolean;
10
- readonly min: import("@angular/core").InputSignal<number>;
11
- readonly max: import("@angular/core").InputSignal<number>;
10
+ /**
11
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
12
+ * - Solved? Drop `string | undefined` workaround and `transform`
13
+ * - Not yet? Rename props to `minRows`
14
+ */
15
+ readonly min: import("@angular/core").InputSignalWithTransform<number, string | number | undefined>;
16
+ /**
17
+ * TODO(v6): check https://github.com/angular/angular/issues/70600 status:
18
+ * - Solved? Drop `string | undefined` workaround and `transform`
19
+ * - Not yet? Rename props to `maxRows`
20
+ */
21
+ readonly max: import("@angular/core").InputSignalWithTransform<number, string | number | undefined>;
12
22
  readonly content: import("@angular/core").InputSignal<import("@taiga-ui/polymorpheus").PolymorpheusContent<import("@taiga-ui/cdk/types").TuiContext<string>>>;
13
23
  readonly el: HTMLTextAreaElement;
14
24
  ngOnInit(): void;
@@ -1,9 +1,12 @@
1
+ import { type OnInit } from '@angular/core';
2
+ import { TuiValidator } from '@taiga-ui/cdk/directives/validator';
1
3
  import * as i0 from "@angular/core";
2
- export declare class TuiUnfinishedValidatorRefresh {
4
+ export declare class TuiUnfinishedValidatorRefresh extends TuiValidator implements OnInit {
5
+ private readonly injector;
3
6
  private readonly element;
4
- private readonly control;
7
+ private control;
8
+ ngOnInit(): void;
5
9
  protected onInput(): void;
6
- protected updateValueAndValidity(): void;
7
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiUnfinishedValidatorRefresh, never>;
8
11
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiUnfinishedValidatorRefresh, never, never, {}, {}, never, never, true, never>;
9
12
  }
@@ -87,14 +87,14 @@ class TuiAccordionComponent {
87
87
  }
88
88
  }
89
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", 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: { attributes: { "data-tui-version": "5.22.0" }, properties: { "attr.data-size": "size()" } }, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], queries: [{ propertyName: "nestedDirectives", predicate: TuiAccordionDirective, descendants: true, isSignal: true }, { propertyName: "expands", predicate: TuiExpand, isSignal: true }, { propertyName: "elements", predicate: TuiExpand, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion:where(*[data-tui-version=\"5.22.0\"]){inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-typography-body-m);overflow:hidden}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:last-of-type:not([aria-expanded=true]){-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:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:first-child:last-of-type:not([aria-expanded=true]){-webkit-mask-image:none;mask-image:none}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>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:where(*[data-tui-version=\"5.22.0\"])>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=m]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=m]>tui-expand{padding:1rem}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=s]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", 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: { attributes: { "data-tui-version": "5.23.0-canary.a178c55" }, properties: { "attr.data-size": "size()" } }, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], queries: [{ propertyName: "nestedDirectives", predicate: TuiAccordionDirective, descendants: true, isSignal: true }, { propertyName: "expands", predicate: TuiExpand, isSignal: true }, { propertyName: "elements", predicate: TuiExpand, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"]){inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-typography-body-m);overflow:hidden}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:last-of-type:not([aria-expanded=true]){-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:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:first-child:last-of-type:not([aria-expanded=true]){-webkit-mask-image:none;mask-image:none}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>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:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=m]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=m]>tui-expand{padding:1rem}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=s]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
91
  }
92
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiAccordionComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'tui-accordion', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiGroupOptionsProvider({ orientation: 'vertical', collapsed: true })], hostDirectives: [TuiGroup], host: {
95
95
  'data-tui-version': TUI_VERSION,
96
96
  '[attr.data-size]': 'size()',
97
- }, styles: ["tui-accordion:where(*[data-tui-version=\"5.22.0\"]){inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-typography-body-m);overflow:hidden}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:last-of-type:not([aria-expanded=true]){-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:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:first-child:last-of-type:not([aria-expanded=true]){-webkit-mask-image:none;mask-image:none}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>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:where(*[data-tui-version=\"5.22.0\"])>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.22.0\"])>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=m]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=m]>tui-expand{padding:1rem}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=s]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.22.0\"])[data-size=s]>tui-expand{padding:.625rem}\n"] }]
97
+ }, styles: ["tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"]){inline-size:100%;border-radius:var(--t-group-radius);font:var(--tui-typography-body-m);overflow:hidden}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:last-of-type:not([aria-expanded=true]){-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:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:first-child:last-of-type:not([aria-expanded=true]){-webkit-mask-image:none;mask-image:none}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>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:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])>[tuiAccordion][data-appearance=\"\"]+tui-expand{box-shadow:none}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=m]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=m]>tui-expand{padding:1rem}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=s]{font:var(--tui-typography-body-s)}tui-accordion:where(*[data-tui-version=\"5.23.0-canary.a178c55\"])[data-size=s]>tui-expand{padding:.625rem}\n"] }]
98
98
  }] });
99
99
 
100
100
  const TuiAccordion = [
@@ -1 +1 @@
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/di';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\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 selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiAccordion: '',\n tuiButton: '',\n type: 'button',\n '[attr.aria-controls]': 'id',\n '[attr.aria-expanded]': 'open() || \"false\"',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n public readonly accordion = inject(TuiAccordionComponent);\n public readonly open = model<boolean | ''>(false, {alias: 'tuiAccordion'});\n public readonly id = tuiGenerateId();\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 computed,\n contentChildren,\n effect,\n ElementRef,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\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 selector: 'tui-accordion',\n template: '<ng-content />',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './accordion.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiGroupOptionsProvider({orientation: 'vertical', collapsed: true})],\n hostDirectives: [TuiGroup],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiAccordionComponent {\n private readonly nestedDirectives = contentChildren(TuiAccordionDirective, {\n descendants: true,\n });\n\n protected readonly expands = contentChildren(TuiExpand);\n protected readonly elements = contentChildren(TuiExpand, {read: ElementRef});\n\n // Trigger buttons may be wrapped in an arbitrary element (e.g. alongside a\n // custom action button), so descendants search is required — but that also\n // picks up triggers belonging to an accordion nested inside this one's\n // tui-expand, which must be filtered out to keep index-based pairing intact.\n protected readonly directives = computed(() =>\n this.nestedDirectives().filter((directive) => directive.accordion === this),\n );\n\n protected readonly sync = effect(() =>\n this.elements().forEach(({nativeElement}, index) => {\n nativeElement.id = this.directives()[index]?.id;\n }),\n );\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":["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/di';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\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 selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiAccordion: '',\n tuiButton: '',\n type: 'button',\n '[attr.aria-controls]': 'id',\n '[attr.aria-expanded]': 'open() || \"false\"',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n public readonly accordion = inject(TuiAccordionComponent);\n public readonly open = model<boolean | ''>(false, {alias: 'tuiAccordion'});\n public readonly id = tuiGenerateId();\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 computed,\n contentChildren,\n effect,\n ElementRef,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\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 selector: 'tui-accordion',\n template: '<ng-content />',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './accordion.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiGroupOptionsProvider({orientation: 'vertical', collapsed: true})],\n hostDirectives: [TuiGroup],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiAccordionComponent {\n private readonly nestedDirectives = contentChildren(TuiAccordionDirective, {\n descendants: true,\n });\n\n protected readonly expands = contentChildren(TuiExpand);\n protected readonly elements = contentChildren(TuiExpand, {read: ElementRef});\n\n // Trigger buttons may be wrapped in an arbitrary element (e.g. alongside a\n // custom action button), so descendants search is required — but that also\n // picks up triggers belonging to an accordion nested inside this one's\n // tui-expand, which must be filtered out to keep index-based pairing intact.\n protected readonly directives = computed(() =>\n this.nestedDirectives().filter((directive) => directive.accordion === this),\n );\n\n protected readonly sync = effect(() =>\n this.elements().forEach(({nativeElement}, index) => {\n nativeElement.id = this.directives()[index]?.id;\n }),\n );\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":["i1"],"mappings":"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"}