@taiga-ui/core 4.0.0-alpha.0 → 4.0.0-rc.10

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 (196) hide show
  1. package/components/alert/alert.component.d.ts +7 -10
  2. package/components/alert/alert.directive.d.ts +3 -3
  3. package/components/alert/alert.interfaces.d.ts +2 -3
  4. package/components/alert/alert.tokens.d.ts +1 -1
  5. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  6. package/components/data-list/data-list.component.d.ts +5 -4
  7. package/components/data-list/data-list.tokens.d.ts +2 -2
  8. package/components/data-list/index.d.ts +0 -1
  9. package/components/data-list/option.component.d.ts +1 -3
  10. package/components/dialog/dialog.directive.d.ts +3 -3
  11. package/components/dialog/index.d.ts +0 -1
  12. package/components/group/group.directive.d.ts +4 -2
  13. package/components/notification/index.d.ts +1 -1
  14. package/components/notification/notification.directive.d.ts +19 -0
  15. package/components/notification/notification.options.d.ts +4 -6
  16. package/components/scrollbar/index.d.ts +1 -0
  17. package/components/scrollbar/scrollbar.component.d.ts +1 -0
  18. package/components/scrollbar/scrollbar.options.d.ts +7 -0
  19. package/components/spin-button/spin-button.component.d.ts +1 -1
  20. package/components/textfield/index.d.ts +1 -0
  21. package/components/textfield/textfield-dropdown.directive.d.ts +12 -0
  22. package/components/textfield/textfield.component.d.ts +8 -12
  23. package/components/textfield/textfield.d.ts +2 -1
  24. package/components/textfield/textfield.directive.d.ts +8 -8
  25. package/components/textfield/textfield.options.d.ts +13 -12
  26. package/directives/appearance/appearance.bindings.d.ts +12 -0
  27. package/directives/appearance/appearance.directive.d.ts +1 -0
  28. package/directives/appearance/index.d.ts +1 -0
  29. package/directives/dropdown/dropdown-context.directive.d.ts +7 -0
  30. package/directives/dropdown/dropdown-manual.directive.d.ts +1 -1
  31. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +11 -0
  32. package/directives/dropdown/dropdown-open.directive.d.ts +3 -3
  33. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  34. package/directives/dropdown/dropdown.bindings.d.ts +7 -0
  35. package/directives/dropdown/dropdown.component.d.ts +2 -5
  36. package/directives/dropdown/dropdown.d.ts +2 -1
  37. package/directives/dropdown/dropdown.directive.d.ts +1 -1
  38. package/directives/dropdown/index.d.ts +3 -0
  39. package/directives/dropdown/with-dropdown-open.directive.d.ts +6 -0
  40. package/directives/hint/hint-driver.directive.d.ts +1 -1
  41. package/directives/hint/hint-host.directive.d.ts +1 -1
  42. package/directives/hint/hint-hover.directive.d.ts +2 -2
  43. package/directives/hint/hint-options.directive.d.ts +5 -3
  44. package/directives/hint/hint-overflow.directive.d.ts +8 -0
  45. package/directives/hint/hint-pointer.directive.d.ts +1 -1
  46. package/directives/hint/hint-position.directive.d.ts +1 -1
  47. package/directives/hint/hint-unstyled.component.d.ts +7 -0
  48. package/directives/hint/hint.component.d.ts +4 -3
  49. package/directives/hint/hint.d.ts +2 -1
  50. package/directives/hint/index.d.ts +1 -0
  51. package/directives/icons/icons.directive.d.ts +1 -1
  52. package/esm2022/components/alert/alert.component.mjs +23 -32
  53. package/esm2022/components/alert/alert.directive.mjs +6 -6
  54. package/esm2022/components/alert/alert.interfaces.mjs +1 -1
  55. package/esm2022/components/alert/alert.service.mjs +4 -4
  56. package/esm2022/components/alert/alert.tokens.mjs +1 -1
  57. package/esm2022/components/button/button.directive.mjs +3 -3
  58. package/esm2022/components/data-list/data-list.component.mjs +14 -17
  59. package/esm2022/components/data-list/data-list.tokens.mjs +1 -1
  60. package/esm2022/components/data-list/index.mjs +1 -2
  61. package/esm2022/components/data-list/option.component.mjs +6 -9
  62. package/esm2022/components/dialog/dialog-close.service.mjs +3 -3
  63. package/esm2022/components/dialog/dialog.component.mjs +3 -3
  64. package/esm2022/components/dialog/dialog.directive.mjs +6 -6
  65. package/esm2022/components/dialog/dialogs.component.mjs +3 -3
  66. package/esm2022/components/dialog/index.mjs +1 -2
  67. package/esm2022/components/expand/expand.component.mjs +5 -3
  68. package/esm2022/components/group/group.directive.mjs +5 -2
  69. package/esm2022/components/icon/icon.component.mjs +7 -8
  70. package/esm2022/components/label/label.directive.mjs +6 -6
  71. package/esm2022/components/link/link.directive.mjs +5 -5
  72. package/esm2022/components/notification/index.mjs +2 -2
  73. package/esm2022/components/notification/notification.directive.mjs +83 -0
  74. package/esm2022/components/notification/notification.options.mjs +5 -5
  75. package/esm2022/components/root/root.component.mjs +4 -4
  76. package/esm2022/components/scrollbar/index.mjs +2 -1
  77. package/esm2022/components/scrollbar/scroll-controls.component.mjs +3 -3
  78. package/esm2022/components/scrollbar/scrollbar.component.mjs +5 -3
  79. package/esm2022/components/scrollbar/scrollbar.directive.mjs +3 -3
  80. package/esm2022/components/scrollbar/scrollbar.options.mjs +9 -0
  81. package/esm2022/components/textfield/index.mjs +2 -1
  82. package/esm2022/components/textfield/select.directive.mjs +3 -3
  83. package/esm2022/components/textfield/textfield-dropdown.directive.mjs +36 -0
  84. package/esm2022/components/textfield/textfield.component.mjs +34 -50
  85. package/esm2022/components/textfield/textfield.directive.mjs +21 -17
  86. package/esm2022/components/textfield/textfield.mjs +3 -1
  87. package/esm2022/components/textfield/textfield.options.mjs +41 -23
  88. package/esm2022/directives/appearance/appearance.bindings.mjs +12 -0
  89. package/esm2022/directives/appearance/appearance.directive.mjs +14 -2
  90. package/esm2022/directives/appearance/index.mjs +2 -1
  91. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +55 -4
  92. package/esm2022/directives/dropdown/dropdown-manual.directive.mjs +2 -2
  93. package/esm2022/directives/dropdown/dropdown-open-legacy.directive.mjs +29 -0
  94. package/esm2022/directives/dropdown/dropdown-open.directive.mjs +19 -24
  95. package/esm2022/directives/dropdown/dropdown-position.directive.mjs +2 -2
  96. package/esm2022/directives/dropdown/dropdown-selection.directive.mjs +2 -2
  97. package/esm2022/directives/dropdown/dropdown.bindings.mjs +16 -0
  98. package/esm2022/directives/dropdown/dropdown.component.mjs +22 -41
  99. package/esm2022/directives/dropdown/dropdown.directive.mjs +11 -11
  100. package/esm2022/directives/dropdown/dropdown.mjs +3 -1
  101. package/esm2022/directives/dropdown/dropdown.service.mjs +4 -2
  102. package/esm2022/directives/dropdown/index.mjs +4 -1
  103. package/esm2022/directives/dropdown/with-dropdown-open.directive.mjs +23 -0
  104. package/esm2022/directives/hint/hint-driver.directive.mjs +2 -3
  105. package/esm2022/directives/hint/hint-host.directive.mjs +1 -1
  106. package/esm2022/directives/hint/hint-hover.directive.mjs +3 -4
  107. package/esm2022/directives/hint/hint-options.directive.mjs +9 -6
  108. package/esm2022/directives/hint/hint-overflow.directive.mjs +32 -0
  109. package/esm2022/directives/hint/hint-pointer.directive.mjs +1 -1
  110. package/esm2022/directives/hint/hint-position.directive.mjs +2 -3
  111. package/esm2022/directives/hint/hint-unstyled.component.mjs +11 -29
  112. package/esm2022/directives/hint/hint.component.mjs +34 -38
  113. package/esm2022/directives/hint/hint.mjs +3 -1
  114. package/esm2022/directives/hint/index.mjs +2 -1
  115. package/esm2022/directives/icons/icons.directive.mjs +6 -9
  116. package/esm2022/directives/title/title.directive.mjs +1 -1
  117. package/esm2022/services/dark-theme.service.mjs +3 -3
  118. package/esm2022/services/position.service.mjs +5 -5
  119. package/esm2022/services/visual-viewport.service.mjs +3 -3
  120. package/esm2022/tokens/number-format.mjs +2 -2
  121. package/esm2022/tokens/viewport.mjs +3 -3
  122. package/fesm2022/taiga-ui-core-components-alert.mjs +28 -37
  123. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  125. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-components-data-list.mjs +20 -47
  127. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-components-dialog.mjs +11 -13
  129. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-components-expand.mjs +4 -2
  131. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-components-group.mjs +5 -2
  133. package/fesm2022/taiga-ui-core-components-group.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-components-icon.mjs +6 -7
  135. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-core-components-label.mjs +5 -5
  137. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-core-components-link.mjs +4 -4
  139. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-core-components-notification.mjs +66 -38
  141. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-core-components-root.mjs +3 -3
  143. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +16 -7
  145. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-core-components-textfield.mjs +124 -88
  147. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-core-directives-appearance.mjs +24 -3
  149. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +165 -82
  151. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-core-directives-hint.mjs +96 -93
  153. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-core-directives-icons.mjs +5 -8
  155. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-core-services.mjs +5 -5
  158. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-core-tokens.mjs +3 -3
  160. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  161. package/package.json +9 -10
  162. package/styles/components/appearance.less +38 -0
  163. package/styles/components/button.less +158 -0
  164. package/styles/components/icon.less +40 -0
  165. package/styles/components/icons.less +38 -0
  166. package/styles/components/label.less +60 -0
  167. package/styles/components/link.less +56 -0
  168. package/styles/components/notification.less +137 -0
  169. package/styles/components/textfield.less +286 -0
  170. package/styles/components/title.less +60 -0
  171. package/styles/mixins/mixins.less +2 -10
  172. package/styles/mixins/mixins.scss +2 -2
  173. package/styles/mixins/picker.less +23 -23
  174. package/styles/taiga-ui-fonts.less +3 -1
  175. package/styles/theme/appearance/accent.less +1 -1
  176. package/styles/theme/appearance/floating.less +1 -1
  177. package/styles/theme/appearance/glass.less +1 -1
  178. package/styles/theme/appearance/icon.less +3 -4
  179. package/styles/theme/appearance/opposite.less +1 -1
  180. package/styles/theme/appearance/outline.less +1 -1
  181. package/styles/theme/appearance/primary.less +1 -1
  182. package/styles/theme/appearance/secondary.less +30 -1
  183. package/styles/theme/appearance/status.less +21 -6
  184. package/styles/theme/appearance/textfield.less +1 -1
  185. package/styles/theme/appearance.less +0 -1
  186. package/styles/theme/palette.less +4 -4
  187. package/styles/theme/variables.less +2 -2
  188. package/styles/theme/wrapper.less +9 -9
  189. package/tokens/i18n.d.ts +3 -3
  190. package/components/data-list/with-data-list.directive.d.ts +0 -8
  191. package/components/dialog/dialog.d.ts +0 -3
  192. package/components/notification/notification.component.d.ts +0 -18
  193. package/esm2022/components/data-list/with-data-list.directive.mjs +0 -27
  194. package/esm2022/components/dialog/dialog.mjs +0 -4
  195. package/esm2022/components/notification/notification.component.mjs +0 -54
  196. package/styles/theme/appearance/base.less +0 -19
@@ -1,14 +1,13 @@
1
- import type { OnInit } from '@angular/core';
2
1
  import type { TuiPopover } from '@taiga-ui/cdk/services';
3
2
  import type { TuiAlertOptions } from './alert.interfaces';
4
3
  import * as i0 from "@angular/core";
5
- export declare class TuiAlert<O, I> implements OnInit {
4
+ export declare class TuiAlertComponent<O, I> {
6
5
  private readonly el;
7
- private readonly destroyRef;
6
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
7
+ protected readonly options: import("@angular/animations").AnimationOptions;
8
+ protected readonly close: import("@angular/core").Signal<string | undefined>;
8
9
  protected readonly position: string;
9
10
  protected readonly item: TuiPopover<TuiAlertOptions<I>, O>;
10
- protected readonly autoClose: number;
11
- protected readonly options: import("@angular/animations").AnimationOptions;
12
11
  protected readonly animation: {
13
12
  value: string;
14
13
  delay?: string | number | undefined;
@@ -16,9 +15,7 @@ export declare class TuiAlert<O, I> implements OnInit {
16
15
  [name: string]: any;
17
16
  } | undefined;
18
17
  };
19
- ngOnInit(): void;
20
- protected close(): void;
21
- private initAutoClose;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlert<any, any>, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAlert<any, any>, "tui-alert", never, {}, {}, never, never, true, never>;
18
+ protected readonly sub: import("rxjs").Subscription;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlertComponent<any, any>, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAlertComponent<any, any>, "tui-alert", never, {}, {}, never, never, true, never>;
24
21
  }
@@ -1,7 +1,7 @@
1
1
  import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
2
2
  import type { TuiAlertOptions } from './alert.interfaces';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TuiAlertDirective<T> extends TuiPopoverDirective<TuiAlertOptions<T>> {
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlertDirective<any>, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAlertDirective<any>, "ng-template[tuiAlert]", never, { "options": { "alias": "tuiAlertOptions"; "required": false; }; "open": { "alias": "tuiAlert"; "required": false; }; }, { "openChange": "tuiAlertChange"; }, never, never, true, never>;
4
+ export declare class TuiAlert<T> extends TuiPopoverDirective<TuiAlertOptions<T>> {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiAlert<any>, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAlert<any>, "ng-template[tuiAlert]", never, { "options": { "alias": "tuiAlertOptions"; "required": false; }; "open": { "alias": "tuiAlert"; "required": false; }; }, { "openChange": "tuiAlertChange"; }, never, never, true, never>;
7
7
  }
@@ -1,10 +1,9 @@
1
1
  import type { TuiPopoverContext } from '@taiga-ui/cdk/services';
2
2
  import type { TuiHandler } from '@taiga-ui/cdk/types';
3
- import type { TuiNotificationOptions, TuiNotificationStatus } from '@taiga-ui/core/components/notification';
3
+ import type { TuiNotificationOptions } from '@taiga-ui/core/components/notification';
4
4
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
- export type TuiAlertAutoClose = TuiHandler<TuiNotificationStatus, number> | number;
6
5
  export interface TuiAlertOptions<I = undefined> extends Omit<TuiNotificationOptions, 'size'> {
7
- readonly autoClose: TuiAlertAutoClose;
6
+ readonly autoClose: TuiHandler<string, number> | number;
8
7
  readonly data: I;
9
8
  readonly closeable: boolean;
10
9
  readonly label: PolymorpheusContent<TuiAlertOptions<I>>;
@@ -1,6 +1,6 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import type { TuiAlertOptions } from './alert.interfaces';
3
- export declare const TUI_ALERT_DEFAULT_OPTIONS: Omit<TuiAlertOptions, 'icon' | 'status'>;
3
+ export declare const TUI_ALERT_DEFAULT_OPTIONS: Omit<TuiAlertOptions, 'appearance' | 'icon'>;
4
4
  export declare const TUI_ALERT_OPTIONS: import("@angular/core").InjectionToken<TuiAlertOptions<undefined>>;
5
5
  export declare const TUI_ALERT_POSITION: import("@angular/core").InjectionToken<string>;
6
6
  export declare const TUI_ALERTS: import("@angular/core").InjectionToken<BehaviorSubject<readonly any[]>>;
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export type TuiMarkerHandler = TuiHandler<TuiDay, [] | [string, string] | [string]>;
7
7
  export declare class TuiCalendarSheet {
8
8
  private readonly today;
9
- protected readonly unorderedWeekDays$: import("rxjs").Observable<[string, string, string, string, string, string, string]>;
9
+ protected readonly unorderedWeekDays$: import("rxjs").Observable<[Monday: string, Tuesday: string, Wednesday: string, Thursday: string, Friday: string, Saturday: string, Sunday: string]>;
10
10
  protected readonly dayTypeHandler: TuiHandler<TuiDay, string>;
11
11
  month: TuiMonth;
12
12
  disabledItemHandler: TuiBooleanHandler<TuiDay>;
@@ -1,20 +1,21 @@
1
+ import type { AfterContentChecked } from '@angular/core';
1
2
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
2
3
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
- import type { Observable } from 'rxjs';
4
4
  import type { TuiDataListAccessor } from './data-list.tokens';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare function tuiInjectDataListSize(): TuiSizeL | TuiSizeS;
7
- export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T> {
7
+ export declare class TuiDataListComponent<T> implements TuiDataListAccessor<T>, AfterContentChecked {
8
8
  private readonly options;
9
9
  private origin?;
10
10
  private readonly el;
11
- protected readonly defaultEmptyContent$: Observable<string>;
11
+ protected readonly fallback: import("@angular/core").Signal<string | undefined>;
12
+ protected empty: boolean;
12
13
  emptyContent: PolymorpheusContent;
13
14
  size: "m" | "l" | "s";
14
15
  onKeyDownArrow(current: HTMLElement, step: number): void;
15
16
  handleFocusLossIfNecessary(element?: Element): void;
17
+ ngAfterContentChecked(): void;
16
18
  getOptions(includeDisabled?: boolean): readonly T[];
17
- protected get empty$(): Observable<boolean>;
18
19
  protected onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void;
19
20
  protected noop(): void;
20
21
  private get elements();
@@ -8,7 +8,7 @@ export interface TuiDataListAccessor<T = unknown> {
8
8
  }
9
9
  export interface TuiDataListHost<T> {
10
10
  checkOption?(option: T): void;
11
- handleOption(option: T): void;
11
+ handleOption?(option: T): void;
12
12
  readonly identityMatcher?: TuiIdentityMatcher<T>;
13
13
  readonly stringify?: TuiStringHandler<T>;
14
14
  readonly size?: TuiSizeL | TuiSizeS;
@@ -27,4 +27,4 @@ export declare function tuiAsDataListAccessor(accessor: Type<TuiDataListAccessor
27
27
  * DataList controller
28
28
  */
29
29
  export declare const TUI_DATA_LIST_HOST: InjectionToken<TuiDataListHost<unknown>>;
30
- export declare function tuiAsDataListHost(host: Type<TuiDataListHost<unknown>>): Provider;
30
+ export declare function tuiAsDataListHost<T>(host: Type<TuiDataListHost<T>>): Provider;
@@ -4,4 +4,3 @@ export * from './data-list.directive';
4
4
  export * from './data-list.tokens';
5
5
  export * from './opt-group.directive';
6
6
  export * from './option.component';
7
- export * from './with-data-list.directive';
@@ -1,6 +1,5 @@
1
1
  import type { OnDestroy, TemplateRef } from '@angular/core';
2
2
  import type { TuiContext } from '@taiga-ui/cdk/types';
3
- import { TuiDropdownDirective } from '@taiga-ui/core/directives/dropdown';
4
3
  import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@taiga-ui/core/directives/icons";
@@ -10,11 +9,10 @@ export declare class TuiOption<T = unknown> implements OnDestroy {
10
9
  private readonly dataList;
11
10
  private readonly host;
12
11
  protected readonly content: PolymorpheusContent<TuiContext<TemplateRef<Record<string, unknown>>>>;
13
- protected readonly dropdown: TuiDropdownDirective | null;
12
+ protected readonly dropdown: import("@angular/core").WritableSignal<import("@angular/core").ComponentRef<unknown> | null> | undefined;
14
13
  disabled: boolean;
15
14
  value?: T;
16
15
  ngOnDestroy(): void;
17
- protected get active(): boolean;
18
16
  protected onClick(): void;
19
17
  protected onMouseMove(): void;
20
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiOption<any>, never>;
@@ -1,7 +1,7 @@
1
1
  import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
2
2
  import type { TuiDialogOptions } from './dialog.interfaces';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TuiDialogDirective<T> extends TuiPopoverDirective<TuiDialogOptions<T>> {
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialogDirective<any>, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDialogDirective<any>, "ng-template[tuiDialog]", never, { "options": { "alias": "tuiDialogOptions"; "required": false; }; "open": { "alias": "tuiDialog"; "required": false; }; }, { "openChange": "tuiDialogChange"; }, never, never, true, never>;
4
+ export declare class TuiDialog<T> extends TuiPopoverDirective<TuiDialogOptions<T>> {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDialog<any>, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDialog<any>, "ng-template[tuiDialog]", never, { "options": { "alias": "tuiDialogOptions"; "required": false; }; "open": { "alias": "tuiDialog"; "required": false; }; }, { "openChange": "tuiDialogChange"; }, never, never, true, never>;
7
7
  }
@@ -1,4 +1,3 @@
1
- export * from './dialog';
2
1
  export * from './dialog.component';
3
2
  export * from './dialog.directive';
4
3
  export * from './dialog.interfaces';
@@ -1,4 +1,5 @@
1
- import type { TuiOrientation, TuiSizeL } from '@taiga-ui/core/types';
1
+ import type { Signal } from '@angular/core';
2
+ import type { TuiOrientation, TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class TuiGroup {
4
5
  private readonly options;
@@ -6,7 +7,8 @@ export declare class TuiGroup {
6
7
  orientation: TuiOrientation;
7
8
  collapsed: boolean;
8
9
  rounded: boolean;
9
- size: TuiSizeL;
10
+ size: TuiSizeL | TuiSizeS;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiGroup, never>;
11
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiGroup, "[tuiGroup]:not(ng-container)", never, { "orientation": { "alias": "orientation"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
12
13
  }
14
+ export declare function tuiGroupSize(signal: Signal<TuiSizeL | TuiSizeS>): Signal<TuiSizeL | TuiSizeS>;
@@ -1,2 +1,2 @@
1
- export * from './notification.component';
1
+ export * from './notification.directive';
2
2
  export * from './notification.options';
@@ -0,0 +1,19 @@
1
+ import type { OnChanges, OnInit } from '@angular/core';
2
+ import type { TuiStringHandler } from '@taiga-ui/cdk/types';
3
+ import { TuiIcons } from '@taiga-ui/core/directives/icons';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@taiga-ui/core/directives/icons";
6
+ import * as i2 from "@taiga-ui/core/directives/appearance";
7
+ export declare class TuiNotification implements OnChanges, OnInit {
8
+ private readonly options;
9
+ protected readonly nothing: undefined;
10
+ protected readonly icons: TuiIcons;
11
+ appearance: string;
12
+ icon: TuiStringHandler<string> | string;
13
+ size: "m" | "l" | "s";
14
+ ngOnInit(): void;
15
+ ngOnChanges(): void;
16
+ private refresh;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiNotification, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNotification, "tui-notification,a[tuiNotification],button[tuiNotification]", never, { "appearance": { "alias": "appearance"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithIcons; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
19
+ }
@@ -1,11 +1,9 @@
1
1
  import type { Provider } from '@angular/core';
2
- import type { TuiContext } from '@taiga-ui/cdk/types';
2
+ import type { TuiStringHandler } from '@taiga-ui/cdk/types';
3
+ import type { TuiAppearanceOptions } from '@taiga-ui/core/directives/appearance';
3
4
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
4
- import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
5
- export type TuiNotificationStatus = 'error' | 'info' | 'neutral' | 'success' | 'warning';
6
- export interface TuiNotificationOptions {
7
- readonly status: TuiNotificationStatus;
8
- readonly icon: PolymorpheusContent<TuiContext<TuiNotificationStatus>>;
5
+ export interface TuiNotificationOptions extends TuiAppearanceOptions {
6
+ readonly icon: TuiStringHandler<string> | string;
9
7
  readonly size: TuiSizeL | TuiSizeS;
10
8
  }
11
9
  /** Default values for the notification options. */
@@ -4,4 +4,5 @@ export * from './scroll-ref.directive';
4
4
  export * from './scrollable.directive';
5
5
  export * from './scrollbar.component';
6
6
  export * from './scrollbar.directive';
7
+ export * from './scrollbar.options';
7
8
  export * from './scrollbar.service';
@@ -11,6 +11,7 @@ export declare const TUI_SCROLL_INTO_VIEW = "tui-scroll-into-view";
11
11
  export declare const TUI_SCROLLABLE = "tui-scrollable";
12
12
  export declare class TuiScrollbar {
13
13
  private readonly el;
14
+ protected readonly options: import("./scrollbar.options").TuiScrollbarOptions;
14
15
  protected readonly isIOS: boolean;
15
16
  protected readonly browserScrollRef: ElementRef<HTMLElement>;
16
17
  hidden: boolean;
@@ -0,0 +1,7 @@
1
+ import type { Provider } from '@angular/core';
2
+ export interface TuiScrollbarOptions {
3
+ mode: 'always' | 'hover';
4
+ }
5
+ export declare const TUI_DEFAULT_SCROLLBAR_OPTIONS: TuiScrollbarOptions;
6
+ export declare const TUI_SCROLLBAR_OPTIONS: import("@angular/core").InjectionToken<TuiScrollbarOptions>;
7
+ export declare function tuiScrollbarOptionsProvider(options: Partial<TuiScrollbarOptions>): Provider;
@@ -2,7 +2,7 @@ import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiSpinButton {
4
4
  protected readonly icons: import("@taiga-ui/core/tokens").TuiSpinIcons;
5
- protected readonly spinTexts$: import("rxjs").Observable<[string, string]>;
5
+ protected readonly spinTexts$: import("rxjs").Observable<[previous: string, next: string]>;
6
6
  focusable: boolean;
7
7
  disabled: boolean;
8
8
  leftDisabled: boolean;
@@ -2,4 +2,5 @@ export * from './textfield';
2
2
  export * from './textfield.component';
3
3
  export * from './textfield.directive';
4
4
  export * from './textfield.options';
5
+ export * from './textfield-dropdown.directive';
5
6
  export * from './select.directive';
@@ -0,0 +1,12 @@
1
+ import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiTextfieldDropdownDirective {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldDropdownDirective, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldDropdownDirective, "ng-template[tuiTextfieldDropdown]", never, {}, {}, never, never, true, never>;
6
+ }
7
+ export declare class TuiWithTextfieldDropdown {
8
+ private readonly dropdown;
9
+ protected set template(template: PolymorpheusContent);
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiWithTextfieldDropdown, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiWithTextfieldDropdown, never, never, {}, {}, ["template"], never, true, never>;
12
+ }
@@ -7,31 +7,27 @@ import { TuiTextfieldDirective } from './textfield.directive';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@taiga-ui/cdk/directives/native-validator";
9
9
  import * as i2 from "@taiga-ui/core/directives/dropdown";
10
- import * as i3 from "@taiga-ui/core/components/data-list";
10
+ import * as i3 from "./textfield-dropdown.directive";
11
11
  import * as i4 from "@taiga-ui/core/directives/icons";
12
- export interface TuiTextfieldContext<T> extends TuiContext<T> {
13
- readonly active: boolean;
14
- }
15
12
  export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T> {
16
- private readonly el?;
17
- private readonly dropdown;
13
+ private readonly open;
14
+ private readonly focusedIn;
18
15
  protected readonly directive?: TuiTextfieldDirective;
19
16
  protected readonly label?: ElementRef<HTMLElement>;
17
+ protected readonly control?: NgControl;
20
18
  protected side: number;
21
- protected readonly change$: import("rxjs").Subject<void> | undefined;
22
19
  protected readonly options: import("./textfield.options").TuiTextfieldOptions;
23
20
  protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
24
- protected readonly control: NgControl | null;
21
+ readonly el?: ElementRef<HTMLInputElement>;
25
22
  filler: string;
26
23
  stringify: TuiStringHandler<T>;
27
- content: PolymorpheusContent<TuiTextfieldContext<T>>;
28
- get input(): HTMLInputElement;
24
+ content: PolymorpheusContent<TuiContext<T>>;
25
+ readonly focused: import("@angular/core").Signal<boolean>;
29
26
  get id(): string;
30
- get focused(): boolean;
31
27
  handleOption(option: T): void;
32
28
  protected get computedFiller(): string;
33
29
  protected get showFiller(): boolean;
34
30
  protected get hasLabel(): boolean;
35
31
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldComponent<any>, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield", never, { "filler": { "alias": "filler"; "required": false; }; "stringify": { "alias": "stringify"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, ["el", "directive", "label"], ["input", "select", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithDataList; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownOpen; inputs: { "tuiDropdownOpen": "open"; }; outputs: { "tuiDropdownOpenChange": "openChange"; }; }, { directive: typeof i4.TuiWithIcons; inputs: {}; outputs: {}; }]>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTextfieldComponent<any>, "tui-textfield", never, { "filler": { "alias": "filler"; "required": false; }; "stringify": { "alias": "stringify"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, ["directive", "label", "control", "el"], ["input", "select", "label", "*", "tui-icon"], true, [{ directive: typeof i1.TuiNativeValidator; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithDropdownOpen; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiWithTextfieldDropdown; inputs: {}; outputs: {}; }, { directive: typeof i4.TuiWithIcons; inputs: {}; outputs: {}; }]>;
37
33
  }
@@ -3,4 +3,5 @@ import { TuiSelect } from './select.directive';
3
3
  import { TuiTextfieldComponent } from './textfield.component';
4
4
  import { TuiTextfieldDirective } from './textfield.directive';
5
5
  import { TuiTextfieldOptionsDirective } from './textfield.options';
6
- export declare const TuiTextfield: readonly [typeof TuiLabel, typeof TuiSelect, typeof TuiTextfieldComponent, typeof TuiTextfieldDirective, typeof TuiTextfieldOptionsDirective];
6
+ import { TuiTextfieldDropdownDirective } from './textfield-dropdown.directive';
7
+ export declare const TuiTextfield: readonly [typeof TuiLabel, typeof TuiSelect, typeof TuiTextfieldComponent, typeof TuiTextfieldDirective, typeof TuiTextfieldOptionsDirective, typeof TuiTextfieldDropdownDirective];
@@ -1,24 +1,24 @@
1
- import type { DoCheck } from '@angular/core';
2
1
  import type { TuiInteractiveState } from '@taiga-ui/core/types';
3
2
  import { TuiTextfieldComponent } from './textfield.component';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@taiga-ui/cdk/directives/native-validator";
6
5
  import * as i2 from "@taiga-ui/core/directives/appearance";
7
- export declare class TuiTextfieldBase implements DoCheck {
8
- private readonly appearance;
9
- private readonly options;
6
+ export declare class TuiTextfieldBase {
7
+ private readonly focused;
8
+ protected readonly a: import("@angular/core").WritableSignal<string>;
9
+ protected readonly s: import("@angular/core").WritableSignal<TuiInteractiveState | null>;
10
+ protected readonly f: import("@angular/core").Signal<boolean | null>;
10
11
  protected readonly textfield: TuiTextfieldComponent<any>;
11
12
  protected readonly id: string;
12
13
  protected readonly el: HTMLInputElement;
13
14
  readOnly: boolean;
14
15
  invalid: boolean | null;
15
- focused: boolean | null;
16
- state: TuiInteractiveState | null;
16
+ set focusedSetter(focused: boolean | null);
17
+ set stateSetter(state: TuiInteractiveState | null);
17
18
  get mode(): string | null;
18
- ngDoCheck(): void;
19
19
  setValue(value: string): void;
20
20
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldBase, never>;
21
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldBase, never, never, { "readOnly": { "alias": "readOnly"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "state": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldBase, never, never, { "readOnly": { "alias": "readOnly"; "required": false; }; "invalid": { "alias": "invalid"; "required": false; }; "focusedSetter": { "alias": "focused"; "required": false; }; "stateSetter": { "alias": "state"; "required": false; }; }, {}, never, never, false, never>;
22
22
  }
23
23
  export declare class TuiTextfieldDirective extends TuiTextfieldBase {
24
24
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldDirective, never>;
@@ -1,20 +1,21 @@
1
- import type { Provider } from '@angular/core';
2
- import { AbstractTuiController } from '@taiga-ui/cdk/classes';
3
- import type { TuiAppearanceOptions } from '@taiga-ui/core/directives/appearance';
1
+ import type { Provider, WritableSignal } from '@angular/core';
4
2
  import type { TuiSizeL, TuiSizeS } from '@taiga-ui/core/types';
5
3
  import * as i0 from "@angular/core";
6
- export interface TuiTextfieldOptions extends TuiAppearanceOptions {
7
- readonly size: TuiSizeL | TuiSizeS;
8
- readonly cleaner: boolean;
4
+ export interface TuiTextfieldOptions {
5
+ readonly appearance: WritableSignal<string>;
6
+ readonly size: WritableSignal<TuiSizeL | TuiSizeS>;
7
+ readonly cleaner: WritableSignal<boolean>;
9
8
  }
10
- export declare const TUI_TEXTFIELD_DEFAULT_OPTIONS: TuiTextfieldOptions;
11
9
  export declare const TUI_TEXTFIELD_OPTIONS: import("@angular/core").InjectionToken<TuiTextfieldOptions>;
12
10
  export declare function tuiTextfieldOptionsProvider(options: Partial<TuiTextfieldOptions>): Provider;
13
- export declare class TuiTextfieldOptionsDirective extends AbstractTuiController implements TuiTextfieldOptions {
11
+ export declare class TuiTextfieldOptionsDirective implements TuiTextfieldOptions {
14
12
  private readonly options;
15
- appearance: string;
16
- size: "m" | "l" | "s";
17
- cleaner: boolean;
13
+ appearance: WritableSignal<string>;
14
+ size: WritableSignal<"l" | "m" | "s">;
15
+ cleaner: WritableSignal<boolean>;
16
+ set tuiTextfieldAppearance(appearance: string);
17
+ set tuiTextfieldSize(size: TuiSizeL | TuiSizeS);
18
+ set tuiTextfieldCleaner(enabled: boolean);
18
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTextfieldOptionsDirective, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldOptionsDirective, "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", never, { "appearance": { "alias": "tuiTextfieldAppearance"; "required": false; }; "size": { "alias": "tuiTextfieldSize"; "required": false; }; "cleaner": { "alias": "tuiTextfieldCleaner"; "required": false; }; }, {}, never, never, true, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTextfieldOptionsDirective, "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", never, { "tuiTextfieldAppearance": { "alias": "tuiTextfieldAppearance"; "required": false; }; "tuiTextfieldSize": { "alias": "tuiTextfieldSize"; "required": false; }; "tuiTextfieldCleaner": { "alias": "tuiTextfieldCleaner"; "required": false; }; }, {}, never, never, true, never>;
20
21
  }
@@ -0,0 +1,12 @@
1
+ import type { Signal, WritableSignal } from '@angular/core';
2
+ import type { TuiInteractiveState } from '@taiga-ui/core/types';
3
+ type A = string;
4
+ type S = TuiInteractiveState | null;
5
+ type F = boolean | null;
6
+ export declare function tuiAppearance(value: A | WritableSignal<A>): WritableSignal<A>;
7
+ export declare function tuiAppearance(value: Signal<A>): Signal<A>;
8
+ export declare function tuiAppearanceState(value: S | WritableSignal<S>): WritableSignal<S>;
9
+ export declare function tuiAppearanceState(value: Signal<S>): Signal<S>;
10
+ export declare function tuiAppearanceFocus(value: F | WritableSignal<F>): WritableSignal<F>;
11
+ export declare function tuiAppearanceFocus(value: Signal<F>): Signal<F>;
12
+ export {};
@@ -1,6 +1,7 @@
1
1
  import type { TuiInteractiveState } from '@taiga-ui/core/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiAppearance {
4
+ protected readonly nothing: undefined;
4
5
  tuiAppearance: string;
5
6
  tuiAppearanceState: TuiInteractiveState | null;
6
7
  tuiAppearanceFocus: boolean | null;
@@ -1,3 +1,4 @@
1
+ export * from './appearance.bindings';
1
2
  export * from './appearance.directive';
2
3
  export * from './appearance.options';
3
4
  export * from './with-appearance';
@@ -2,13 +2,20 @@ import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
2
2
  import { TuiRectAccessor } from '@taiga-ui/core/classes';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiDropdownContext extends TuiRectAccessor {
5
+ private readonly isIOS;
6
+ private readonly isTouch;
5
7
  private readonly driver;
6
8
  private currentRect;
9
+ private longTapTimeout;
10
+ protected readonly userSelect: import("@angular/core").Signal<"none" | null>;
7
11
  protected readonly activeZone: TuiActiveZone;
8
12
  readonly type = "dropdown";
9
13
  getClientRect(): DOMRect;
10
14
  protected onContextMenu(x: number, y: number): void;
11
15
  protected closeDropdown(): void;
16
+ protected onTouchStart(x: number, y: number): void;
17
+ protected onTouchMove(x: number, y: number): void;
18
+ protected onTouchEnd(): void;
12
19
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownContext, never>;
13
20
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownContext, "[tuiDropdownContext]", never, {}, {}, never, never, true, never>;
14
21
  }
@@ -2,7 +2,7 @@ import type { OnChanges } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDropdownManual implements OnChanges {
4
4
  private readonly driver;
5
- tuiDropdownManual: boolean;
5
+ tuiDropdownManual: boolean | '';
6
6
  ngOnChanges(): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownManual, never>;
8
8
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownManual, "[tuiDropdownManual]", never, { "tuiDropdownManual": { "alias": "tuiDropdownManual"; "required": false; }; }, {}, never, never, true, never>;
@@ -0,0 +1,11 @@
1
+ import { BehaviorSubject } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @deprecated TODO: remove in v.5 when legacy controls are dropped
5
+ */
6
+ export declare class TuiDropdownOpenLegacy {
7
+ readonly tuiDropdownOpenChange: BehaviorSubject<boolean>;
8
+ set tuiDropdownOpen(open: boolean);
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownOpenLegacy, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpenLegacy, "[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])", never, { "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, never, never, true, never>;
11
+ }
@@ -9,13 +9,12 @@ export declare class TuiDropdownOpen implements OnChanges {
9
9
  private readonly directive;
10
10
  private readonly el;
11
11
  private readonly obscured;
12
+ private readonly dropdown;
12
13
  protected readonly sub: import("rxjs").Subscription;
13
14
  tuiDropdownEnabled: boolean;
14
15
  tuiDropdownOpen: boolean | '';
15
16
  readonly tuiDropdownOpenChange: EventEmitter<boolean>;
16
17
  readonly driver: TuiDropdownDriver;
17
- get dropdown(): HTMLElement | undefined;
18
- get focused(): boolean;
19
18
  ngOnChanges(): void;
20
19
  toggle(open: boolean): void;
21
20
  protected onClick(target: HTMLElement): void;
@@ -24,9 +23,10 @@ export declare class TuiDropdownOpen implements OnChanges {
24
23
  protected onKeydown({ key, target, defaultPrevented }: KeyboardEvent): void;
25
24
  private get host();
26
25
  private get editable();
26
+ private get focused();
27
27
  private update;
28
28
  private drive;
29
29
  private focusDropdown;
30
30
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownOpen, never>;
31
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpen, "[tuiDropdownOpen],[tuiDropdownOpenChange]", never, { "tuiDropdownEnabled": { "alias": "tuiDropdownEnabled"; "required": false; }; "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, ["dropdownHost"], never, true, [{ directive: typeof i1.TuiObscured; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiActiveZone; inputs: { "tuiActiveZoneParent": "tuiActiveZoneParent"; }; outputs: { "tuiActiveZoneChange": "tuiActiveZoneChange"; }; }]>;
31
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownOpen, "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", never, { "tuiDropdownEnabled": { "alias": "tuiDropdownEnabled"; "required": false; }; "tuiDropdownOpen": { "alias": "tuiDropdownOpen"; "required": false; }; }, { "tuiDropdownOpenChange": "tuiDropdownOpenChange"; }, ["dropdownHost"], never, true, [{ directive: typeof i1.TuiObscured; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiActiveZone; inputs: { "tuiActiveZoneParent": "tuiActiveZoneParent"; }; outputs: { "tuiActiveZoneChange": "tuiActiveZoneChange"; }; }]>;
32
32
  }
@@ -6,7 +6,7 @@ export declare class TuiDropdownPosition extends TuiPositionAccessor {
6
6
  private readonly viewport;
7
7
  private previous?;
8
8
  readonly type = "dropdown";
9
- readonly accessor: TuiRectAccessor;
9
+ readonly accessor: TuiRectAccessor | null;
10
10
  getPosition({ width, height }: DOMRect): TuiPoint;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPosition, never>;
12
12
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPosition, "[tuiDropdownPosition]", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,7 @@
1
+ import type { Signal, WritableSignal } from '@angular/core';
2
+ import type { PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
+ type C = PolymorpheusContent;
4
+ export declare function tuiDropdown(value: C | WritableSignal<C>): WritableSignal<C>;
5
+ export declare function tuiDropdown(value: Signal<C>): Signal<C>;
6
+ export declare function tuiDropdownOpen(): WritableSignal<boolean>;
7
+ export {};
@@ -1,4 +1,3 @@
1
- import type { OnInit } from '@angular/core';
2
1
  import { TuiDropdownDirective } from './dropdown.directive';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@taiga-ui/cdk/directives/active-zone";
@@ -7,7 +6,7 @@ import * as i1 from "@taiga-ui/cdk/directives/active-zone";
7
6
  * This component is used to show template in a portal
8
7
  * using default style of white rounded box with a shadow
9
8
  */
10
- export declare class TuiDropdownComponent implements OnInit {
9
+ export declare class TuiDropdownComponent {
11
10
  private readonly el;
12
11
  private readonly accessor;
13
12
  private readonly win;
@@ -18,10 +17,8 @@ export declare class TuiDropdownComponent implements OnInit {
18
17
  protected readonly context: Record<any, any> | null;
19
18
  protected readonly theme: string | null | undefined;
20
19
  protected readonly sub: import("rxjs").Subscription;
21
- ngOnInit(): void;
22
20
  protected readonly close: () => void;
23
- private update;
24
- private updateWidth;
21
+ private getStyles;
25
22
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownComponent, never>;
26
23
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiDropdownComponent, "tui-dropdown", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiActiveZone; inputs: {}; outputs: {}; }]>;
27
24
  }
@@ -5,9 +5,10 @@ import { TuiDropdownContext } from './dropdown-context.directive';
5
5
  import { TuiDropdownHover } from './dropdown-hover.directive';
6
6
  import { TuiDropdownManual } from './dropdown-manual.directive';
7
7
  import { TuiDropdownOpen } from './dropdown-open.directive';
8
+ import { TuiDropdownOpenLegacy } from './dropdown-open-legacy.directive';
8
9
  import { TuiDropdownOptionsDirective } from './dropdown-options.directive';
9
10
  import { TuiDropdownPortal } from './dropdown-portal.directive';
10
11
  import { TuiDropdownPosition } from './dropdown-position.directive';
11
12
  import { TuiDropdownPositionSided } from './dropdown-position-sided.directive';
12
13
  import { TuiDropdownSelection } from './dropdown-selection.directive';
13
- export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownPortal, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
14
+ export declare const TuiDropdown: readonly [typeof TuiDropdownOptionsDirective, typeof TuiDropdownDriverDirective, typeof TuiDropdownDirective, typeof TuiDropdownComponent, typeof TuiDropdownOpen, typeof TuiDropdownOpenLegacy, typeof TuiDropdownPortal, typeof TuiDropdownManual, typeof TuiDropdownHover, typeof TuiDropdownContext, typeof TuiDropdownPosition, typeof TuiDropdownPositionSided, typeof TuiDropdownSelection];
@@ -15,7 +15,7 @@ export declare class TuiDropdownDirective implements AfterViewChecked, OnDestroy
15
15
  readonly el: HTMLElement;
16
16
  readonly type = "dropdown";
17
17
  readonly component: PolymorpheusComponent<any>;
18
- dropdownBoxRef: ComponentRef<unknown> | null;
18
+ ref: import("@angular/core").WritableSignal<ComponentRef<unknown> | null>;
19
19
  content: PolymorpheusContent<TuiContext<() => void>>;
20
20
  set tuiDropdown(content: PolymorpheusContent<TuiContext<() => void>>);
21
21
  get position(): 'absolute' | 'fixed';
@@ -1,4 +1,5 @@
1
1
  export * from './dropdown';
2
+ export * from './dropdown.bindings';
2
3
  export * from './dropdown.component';
3
4
  export * from './dropdown.directive';
4
5
  export * from './dropdown.driver';
@@ -9,9 +10,11 @@ export * from './dropdown-hover.directive';
9
10
  export * from './dropdown-hover.options';
10
11
  export * from './dropdown-manual.directive';
11
12
  export * from './dropdown-open.directive';
13
+ export * from './dropdown-open-legacy.directive';
12
14
  export * from './dropdown-options.directive';
13
15
  export * from './dropdown-portal.directive';
14
16
  export * from './dropdown-position.directive';
15
17
  export * from './dropdown-position-sided.directive';
16
18
  export * from './dropdown-selection.directive';
17
19
  export * from './dropdowns.component';
20
+ export * from './with-dropdown-open.directive';
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./dropdown-open.directive";
3
+ export declare class TuiWithDropdownOpen {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiWithDropdownOpen, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiWithDropdownOpen, never, never, {}, {}, never, never, true, [{ directive: typeof i1.TuiDropdownOpen; inputs: { "tuiDropdownOpen": "open"; }; outputs: { "tuiDropdownOpenChange": "openChange"; }; }]>;
6
+ }