@taiga-ui/core 4.52.0-canary.a4e325d → 4.52.0-canary.bf9131e

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 (209) hide show
  1. package/components/alert/alert.component.d.ts +5 -6
  2. package/components/alert/alert.directive.d.ts +4 -3
  3. package/components/alert/alert.interfaces.d.ts +3 -2
  4. package/components/alert/alert.service.d.ts +6 -2
  5. package/components/alert/alert.tokens.d.ts +1 -7
  6. package/components/alert/index.d.ts +0 -1
  7. package/components/button/button.directive.d.ts +2 -2
  8. package/components/button/button.options.d.ts +1 -1
  9. package/components/cell/cell.directive.d.ts +9 -0
  10. package/components/cell/cell.options.d.ts +6 -0
  11. package/components/cell/index.d.ts +2 -0
  12. package/components/data-list/data-list.component.d.ts +1 -1
  13. package/components/dialog/active-zone-adapter.directive.d.ts +11 -0
  14. package/components/dialog/dialog.component.d.ts +6 -11
  15. package/components/dialog/dialog.directive.d.ts +5 -4
  16. package/components/dialog/dialog.factory.d.ts +1 -1
  17. package/components/dialog/dialog.options.d.ts +26 -0
  18. package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +4 -1
  19. package/components/dialog/dialog.service.d.ts +6 -3
  20. package/components/dialog/index.d.ts +2 -3
  21. package/components/error/error.component.d.ts +6 -8
  22. package/components/error/error.d.ts +4 -0
  23. package/components/error/error.directive.d.ts +19 -0
  24. package/components/error/error.pipe.d.ts +10 -0
  25. package/components/error/index.d.ts +3 -0
  26. package/components/expand/expand.component.d.ts +9 -28
  27. package/components/expand/index.d.ts +0 -2
  28. package/components/header/header.directive.d.ts +17 -0
  29. package/components/header/index.d.ts +1 -0
  30. package/components/icon/icon.component.d.ts +6 -11
  31. package/components/index.d.ts +3 -1
  32. package/components/loader/loader.component.d.ts +7 -7
  33. package/components/modal/index.d.ts +2 -0
  34. package/components/modal/modal.component.d.ts +17 -0
  35. package/components/modal/modal.service.d.ts +13 -0
  36. package/components/notification/notification.directive.d.ts +1 -1
  37. package/components/notification/notification.options.d.ts +1 -1
  38. package/components/root/root.component.d.ts +4 -6
  39. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  40. package/components/spin-button/spin-button.component.d.ts +8 -9
  41. package/components/textfield/index.d.ts +1 -3
  42. package/components/textfield/textfield-content.directive.d.ts +3 -2
  43. package/components/textfield/textfield-icon.d.ts +3 -3
  44. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +4 -5
  45. package/components/textfield/textfield.component.d.ts +2 -3
  46. package/components/textfield/textfield.d.ts +2 -3
  47. package/components/textfield/textfield.directive.d.ts +2 -2
  48. package/components/textfield/textfield.options.d.ts +8 -11
  49. package/directives/appearance/appearance.directive.d.ts +5 -13
  50. package/directives/appearance/appearance.options.d.ts +1 -1
  51. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  52. package/directives/dropdown/dropdown.d.ts +2 -2
  53. package/directives/dropdown/dropdown.directive.d.ts +1 -2
  54. package/directives/dropdown/index.d.ts +1 -3
  55. package/directives/hint/hint-describe.directive.d.ts +4 -6
  56. package/directives/hint/hint-host.directive.d.ts +2 -2
  57. package/directives/hint/hint-hover.directive.d.ts +3 -4
  58. package/directives/hint/hint-manual.directive.d.ts +2 -2
  59. package/directives/hint/hint-options.directive.d.ts +3 -3
  60. package/directives/hint/hint-overflow.directive.d.ts +2 -2
  61. package/directives/hint/hint-position.directive.d.ts +4 -5
  62. package/directives/hint/hint-unstyled.component.d.ts +2 -7
  63. package/directives/hint/hint.component.d.ts +10 -11
  64. package/directives/hint/hint.directive.d.ts +9 -11
  65. package/directives/hint/index.d.ts +0 -2
  66. package/directives/icons/icons.bindings.d.ts +5 -0
  67. package/directives/icons/icons.directive.d.ts +8 -16
  68. package/directives/icons/index.d.ts +1 -0
  69. package/directives/index.d.ts +1 -1
  70. package/directives/notification/index.d.ts +2 -0
  71. package/directives/notification/notification.directive.d.ts +11 -0
  72. package/directives/notification/notification.service.d.ts +12 -0
  73. package/directives/popup/popup.directive.d.ts +6 -5
  74. package/directives/popup/popup.service.d.ts +1 -1
  75. package/directives/popup/popups.component.d.ts +2 -2
  76. package/directives/title/title.directive.d.ts +2 -3
  77. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-classes.mjs +3 -3
  79. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-alert.mjs +60 -99
  81. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-button.mjs +13 -20
  83. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-calendar.mjs +18 -20
  85. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  87. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  88. package/fesm2022/taiga-ui-core-components-data-list.mjs +29 -30
  89. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-dialog.mjs +123 -92
  91. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-components-error.mjs +109 -26
  93. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-components-expand.mjs +34 -132
  95. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-components-header.mjs +42 -0
  97. package/fesm2022/taiga-ui-core-components-header.mjs.map +1 -0
  98. package/fesm2022/taiga-ui-core-components-icon.mjs +22 -39
  99. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-label.mjs +9 -12
  101. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-components-link.mjs +9 -12
  103. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-components-loader.mjs +15 -29
  105. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
  107. package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
  108. package/fesm2022/taiga-ui-core-components-notification.mjs +16 -30
  109. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-components-root.mjs +20 -50
  111. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +26 -26
  113. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-components-spin-button.mjs +16 -29
  115. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-core-components-textfield.mjs +167 -274
  117. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-core-components.mjs +3 -1
  119. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-core-directives-appearance.mjs +26 -63
  121. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  123. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +82 -119
  125. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-directives-group.mjs +9 -12
  127. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-directives-hint.mjs +143 -241
  129. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-directives-icons.mjs +35 -45
  131. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +11 -11
  133. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-directives-notification.mjs +73 -0
  135. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +1 -0
  136. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  137. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-core-directives-popup.mjs +20 -27
  139. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-core-directives-title.mjs +13 -19
  141. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-core-directives.mjs +1 -1
  143. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +3 -3
  144. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +3 -3
  146. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-core-pipes-flag.mjs +3 -3
  148. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +3 -3
  150. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +3 -3
  152. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-core-pipes-initials.mjs +3 -3
  154. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-core-pipes-month.mjs +5 -4
  156. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +3 -3
  158. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-core-pipes.mjs +0 -1
  160. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-core-services.mjs +15 -15
  162. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-core-tokens.mjs +24 -32
  164. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +50 -4
  168. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  169. package/package.json +18 -14
  170. package/pipes/index.d.ts +0 -1
  171. package/styles/components/button.less +0 -2
  172. package/styles/components/icon.less +32 -26
  173. package/styles/components/icons.less +14 -12
  174. package/styles/components/link.less +0 -3
  175. package/styles/mixins/mixins.less +1 -2
  176. package/styles/mixins/mixins.scss +1 -2
  177. package/styles/mixins/slider.less +21 -16
  178. package/tokens/i18n.d.ts +7 -7
  179. package/tokens/icon-resolver.d.ts +1 -5
  180. package/tokens/index.d.ts +1 -0
  181. package/tokens/validation-errors.d.ts +4 -0
  182. package/types/index.d.ts +0 -1
  183. package/utils/miscellaneous/index.d.ts +1 -0
  184. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  185. package/components/alert/alerts.component.d.ts +0 -12
  186. package/components/dialog/dialog.interfaces.d.ts +0 -34
  187. package/components/dialog/dialog.tokens.d.ts +0 -15
  188. package/components/expand/expand-content.directive.d.ts +0 -8
  189. package/components/expand/expand.d.ts +0 -6
  190. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  191. package/components/fullscreen/index.d.ts +0 -1
  192. package/components/textfield/select.directive.d.ts +0 -19
  193. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  194. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  195. package/directives/dropdown/dropdown.service.d.ts +0 -6
  196. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  197. package/directives/hint/hint.service.d.ts +0 -13
  198. package/directives/hint/hints.component.d.ts +0 -12
  199. package/directives/surface/index.d.ts +0 -1
  200. package/directives/surface/surface.directive.d.ts +0 -8
  201. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
  202. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  203. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  204. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  205. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  206. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  207. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  208. package/pipes/fallback-src/index.d.ts +0 -1
  209. package/types/portal-item.d.ts +0 -9
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input, EventEmitter, Output, ChangeDetectorRef, INJECTOR, signal, TemplateRef, computed, ChangeDetectionStrategy, Component, ElementRef, ContentChild, ViewContainerRef } from '@angular/core';
2
+ import { Injectable, Directive, InjectionToken, Optional, Self, SkipSelf, inject, Input, EventEmitter, Output, ChangeDetectorRef, INJECTOR, signal, TemplateRef, computed, ChangeDetectionStrategy, Component, PLATFORM_ID, ElementRef, ContentChild, ViewContainerRef } from '@angular/core';
3
3
  import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
4
4
  import { EMPTY_CLIENT_RECT, TUI_TRUE_HANDLER, CHAR_ZERO_WIDTH_SPACE, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
5
5
  import * as i1 from '@taiga-ui/cdk/directives/active-zone';
@@ -17,15 +17,15 @@ import { PolymorpheusComponent, PolymorpheusTemplate, PolymorpheusOutlet } from
17
17
  import { BehaviorSubject, Subject, throttleTime, takeWhile, map, merge, filter, fromEvent, switchMap, delay, startWith, takeUntil, distinctUntilChanged, of, tap, share, combineLatest } from 'rxjs';
18
18
  import { coerceArray } from '@angular/cdk/coercion';
19
19
  import { tuiZonefreeScheduler, tuiTypedFromEvent, tuiZonefree, tuiIfMap, tuiCloseWatcher, tuiZonefull, tuiWatch, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
20
+ import { TuiPopupService } from '@taiga-ui/core/directives/popup';
20
21
  import { tuiOverrideOptions, tuiCheckFixedPosition, tuiGetWordRange } from '@taiga-ui/core/utils';
21
- import { TuiPortalService, TuiPortals, tuiAsPortal } from '@taiga-ui/cdk/classes';
22
22
  import { __decorate } from 'tslib';
23
- import { DOCUMENT } from '@angular/common';
23
+ import { isPlatformBrowser, DOCUMENT } from '@angular/common';
24
24
  import { TUI_IS_TOUCH, TUI_RANGE } from '@taiga-ui/cdk/tokens';
25
25
  import { shouldCall } from '@taiga-ui/event-plugins';
26
26
  import * as i1$1 from '@taiga-ui/cdk/directives/obscured';
27
27
  import { TuiObscured } from '@taiga-ui/cdk/directives/obscured';
28
- import { tuiIsNativeKeyboardFocusable, tuiGetClosestFocusable, tuiIsNativeFocusedIn, tuiGetNativeFocused } from '@taiga-ui/cdk/utils/focus';
28
+ import { tuiIsKeyboardFocusable, tuiGetClosestFocusable, tuiIsFocusedIn, tuiGetFocused } from '@taiga-ui/cdk/utils/focus';
29
29
  import { tuiIsEditingKey, tuiOverrideOptions as tuiOverrideOptions$1 } from '@taiga-ui/core/utils/miscellaneous';
30
30
 
31
31
  class TuiDropdownDriver extends BehaviorSubject {
@@ -33,10 +33,10 @@ class TuiDropdownDriver extends BehaviorSubject {
33
33
  super(false);
34
34
  this.type = 'dropdown';
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDriver }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriver }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDriver, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriver, decorators: [{
40
40
  type: Injectable
41
41
  }], ctorParameters: () => [] });
42
42
  class TuiDropdownDriverDirective extends TuiDriverDirective {
@@ -44,10 +44,10 @@ class TuiDropdownDriverDirective extends TuiDriverDirective {
44
44
  super(...arguments);
45
45
  this.type = 'dropdown';
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDriverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
48
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownDriverDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriverDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
48
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDriverDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDriverDirective, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriverDirective, decorators: [{
51
51
  type: Directive,
52
52
  args: [{
53
53
  standalone: true,
@@ -62,17 +62,6 @@ const TUI_DROPDOWN_COMPONENT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_COMP
62
62
  });
63
63
  const TUI_DROPDOWN_CONTEXT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_CONTEXT' : '');
64
64
 
65
- class TuiDropdownService extends TuiPortalService {
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
67
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownService, providedIn: 'root' }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownService, decorators: [{
70
- type: Injectable,
71
- args: [{
72
- providedIn: 'root',
73
- }]
74
- }] });
75
-
76
65
  /** Default values for dropdown options */
77
66
  const TUI_DROPDOWN_DEFAULT_OPTIONS = {
78
67
  align: 'left',
@@ -108,10 +97,10 @@ class TuiDropdownOptionsDirective {
108
97
  this.maxHeight = this.options.maxHeight;
109
98
  this.offset = this.options.offset;
110
99
  }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
112
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownOptionsDirective, isStandalone: true, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: { align: ["tuiDropdownAlign", "align"], appearance: ["tuiDropdownAppearance", "appearance"], direction: ["tuiDropdownDirection", "direction"], limitWidth: ["tuiDropdownLimitWidth", "limitWidth"], minHeight: ["tuiDropdownMinHeight", "minHeight"], maxHeight: ["tuiDropdownMaxHeight", "maxHeight"], offset: ["tuiDropdownOffset", "offset"] }, providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)], ngImport: i0 }); }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownOptionsDirective, isStandalone: true, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: { align: ["tuiDropdownAlign", "align"], appearance: ["tuiDropdownAppearance", "appearance"], direction: ["tuiDropdownDirection", "direction"], limitWidth: ["tuiDropdownLimitWidth", "limitWidth"], minHeight: ["tuiDropdownMinHeight", "minHeight"], maxHeight: ["tuiDropdownMaxHeight", "maxHeight"], offset: ["tuiDropdownOffset", "offset"] }, providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)], ngImport: i0 }); }
113
102
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
115
104
  type: Directive,
116
105
  args: [{
117
106
  standalone: true,
@@ -202,13 +191,13 @@ class TuiDropdownPosition extends TuiPositionAccessor {
202
191
  }
203
192
  return rtl && align === 'right' ? 'left' : align;
204
193
  }
205
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
206
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownPosition, isStandalone: true, outputs: { directionChange: "tuiDropdownDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
195
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPosition, isStandalone: true, outputs: { directionChange: "tuiDropdownDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
207
196
  }
208
197
  __decorate([
209
198
  tuiPure
210
199
  ], TuiDropdownPosition.prototype, "emitDirection", null);
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPosition, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, decorators: [{
212
201
  type: Directive,
213
202
  args: [{
214
203
  standalone: true,
@@ -221,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
221
210
  class TuiDropdownDirective {
222
211
  constructor() {
223
212
  this.refresh$ = new Subject();
224
- this.service = inject(TuiDropdownService);
213
+ this.service = inject(TuiPopupService);
225
214
  this.cdr = inject(ChangeDetectorRef);
226
215
  // TODO: think of a better solution later
227
216
  this.drivers = coerceArray(inject(TuiDropdownDriver, { self: true, optional: true }));
@@ -274,19 +263,19 @@ class TuiDropdownDirective {
274
263
  }
275
264
  else if (!show && ref) {
276
265
  this.ref.set(null);
277
- this.service.remove(ref);
266
+ ref.destroy();
278
267
  }
279
268
  this.drivers.forEach((driver) => driver?.next(show));
280
269
  // TODO: Remove in v5, only needed in Angular 16
281
270
  this.cdr.markForCheck();
282
271
  }
283
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
284
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: "tuiDropdown" }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
273
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDirective, isStandalone: true, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: { tuiDropdown: "tuiDropdown" }, host: { properties: { "class.tui-dropdown-open": "ref()" } }, providers: [
285
274
  tuiAsRectAccessor(TuiDropdownDirective),
286
275
  tuiAsVehicle(TuiDropdownDirective),
287
276
  ], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
288
277
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDirective, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, decorators: [{
290
279
  type: Directive,
291
280
  args: [{
292
281
  standalone: true,
@@ -362,14 +351,14 @@ class TuiDropdownComponent {
362
351
  maxWidth: tuiPx(Math.round(viewport.width) - 16), // 8px min gap from each side
363
352
  };
364
353
  }
365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
366
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownComponent, isStandalone: true, selector: "tui-dropdown", host: { properties: { "attr.data-appearance": "options.appearance", "attr.tuiTheme": "theme()" } }, providers: [
354
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
355
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownComponent, isStandalone: true, selector: "tui-dropdown", host: { properties: { "attr.data-appearance": "options.appearance", "attr.tuiTheme": "theme()" } }, providers: [
367
356
  TuiPositionService,
368
357
  tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
369
358
  tuiRectAccessorFor('dropdown', TuiDropdownDirective),
370
359
  ], hostDirectives: [{ directive: i1.TuiActiveZone }, { directive: i2.TuiAnimated }], ngImport: i0, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive._content() as text; context: {$implicit: close}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-medium);color:var(--tui-text-primary);background:var(--tui-background-elevation-3);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-border-normal);box-sizing:border-box;isolation:isolate;pointer-events:auto;--tui-from: translateY(-1rem)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:not([style*=top]){visibility:hidden}.t-scroll{flex-grow:1;max-inline-size:100%;inline-size:max-content;overscroll-behavior:none}.t-primitive{padding:1rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
371
360
  }
372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownComponent, decorators: [{
361
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, decorators: [{
373
362
  type: Component,
374
363
  args: [{ selector: 'tui-dropdown', imports: [PolymorpheusOutlet, TuiScrollbar], changeDetection: ChangeDetectionStrategy.Default, providers: [
375
364
  TuiPositionService,
@@ -381,6 +370,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
381
370
  }, template: "<tui-scrollbar class=\"t-scroll\">\n <div\n *polymorpheusOutlet=\"directive._content() as text; context: {$implicit: close}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n</tui-scrollbar>\n", styles: [":host{position:absolute;display:flex;box-shadow:var(--tui-shadow-medium);color:var(--tui-text-primary);background:var(--tui-background-elevation-3);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-border-normal);box-sizing:border-box;isolation:isolate;pointer-events:auto;--tui-from: translateY(-1rem)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:not([style*=top]){visibility:hidden}.t-scroll{flex-grow:1;max-inline-size:100%;inline-size:max-content;overscroll-behavior:none}.t-primitive{padding:1rem}\n"] }]
382
371
  }] });
383
372
 
373
+ class TuiDropdownContent {
374
+ constructor() {
375
+ this.directive = inject(TuiDropdownDirective);
376
+ this.directive.tuiDropdown = inject(TemplateRef);
377
+ if (isPlatformBrowser(inject(PLATFORM_ID)) &&
378
+ this.directive.el.matches(':focus-within')) {
379
+ this.directive.toggle(true);
380
+ }
381
+ }
382
+ ngOnDestroy() {
383
+ this.directive.tuiDropdown = null;
384
+ }
385
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
386
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContent, isStandalone: true, selector: "ng-template[tuiDropdown]", ngImport: i0 }); }
387
+ }
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, decorators: [{
389
+ type: Directive,
390
+ args: [{
391
+ standalone: true,
392
+ selector: 'ng-template[tuiDropdown]',
393
+ }]
394
+ }], ctorParameters: () => [] });
395
+
384
396
  function activeZoneFilter(event) {
385
397
  return (!event ||
386
398
  (this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event))));
@@ -410,8 +422,8 @@ class TuiDropdownContext extends TuiRectAccessor {
410
422
  this.currentRect = tuiPointToClientRect(x, y);
411
423
  this.driver.next(true);
412
424
  }
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownContext, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
414
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "document:keydown.esc": "closeDropdown()", "longtap": "onContextMenu($event.detail.clientX, $event.detail.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
425
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
426
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContext, isStandalone: true, selector: "[tuiDropdownContext]", host: { listeners: { "document:keydown.esc": "closeDropdown()", "longtap": "onContextMenu($event.detail.clientX, $event.detail.clientY)" }, properties: { "style.user-select": "userSelect()", "style.-webkit-user-select": "userSelect()", "style.-webkit-touch-callout": "userSelect()" } }, providers: [
415
427
  TuiActiveZone,
416
428
  TuiDropdownDriver,
417
429
  tuiAsDriver(TuiDropdownDriver),
@@ -421,7 +433,7 @@ class TuiDropdownContext extends TuiRectAccessor {
421
433
  __decorate([
422
434
  shouldCall(activeZoneFilter)
423
435
  ], TuiDropdownContext.prototype, "closeDropdown", null);
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownContext, decorators: [{
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, decorators: [{
425
437
  type: Directive,
426
438
  args: [{
427
439
  standalone: true,
@@ -531,7 +543,7 @@ class TuiDropdownOpen {
531
543
  }
532
544
  get host() {
533
545
  const initial = this.dropdownHost?.nativeElement || this.el;
534
- const focusable = tuiIsNativeKeyboardFocusable(initial)
546
+ const focusable = tuiIsKeyboardFocusable(initial)
535
547
  ? initial
536
548
  : tuiGetClosestFocusable({ initial, root: this.el });
537
549
  return this.dropdownHost?.nativeElement || focusable || this.el;
@@ -540,7 +552,7 @@ class TuiDropdownOpen {
540
552
  return tuiIsElementEditable(this.host);
541
553
  }
542
554
  get focused() {
543
- return tuiIsNativeFocusedIn(this.host) || tuiIsNativeFocusedIn(this.dropdown());
555
+ return tuiIsFocusedIn(this.host) || tuiIsFocusedIn(this.dropdown());
544
556
  }
545
557
  update(open) {
546
558
  if (open && !this.tuiDropdownEnabled) {
@@ -567,13 +579,13 @@ class TuiDropdownOpen {
567
579
  child.remove();
568
580
  focusable?.focus();
569
581
  }
570
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
571
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownOpen, isStandalone: true, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: { tuiDropdownEnabled: "tuiDropdownEnabled", tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown.arrowDown": "onArrow($event, false)", "keydown.arrowUp": "onArrow($event, true)", "document:keydown.zoneless.capture": "onEsc($event)", "document:keydown.zoneless": "onKeydown($event)", "tuiActiveZoneChange": "0" } }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1$1.TuiObscured }, { directive: i1.TuiActiveZone, inputs: ["tuiActiveZoneParent", "tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange", "tuiActiveZoneChange"] }], ngImport: i0 }); }
582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
583
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownOpen, isStandalone: true, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: { tuiDropdownEnabled: "tuiDropdownEnabled", tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, host: { listeners: { "click": "onClick($event.target)", "keydown.arrowDown": "onArrow($event, false)", "keydown.arrowUp": "onArrow($event, true)", "document:keydown.zoneless.capture": "onEsc($event)", "document:keydown.zoneless": "onKeydown($event)", "tuiActiveZoneChange": "0" } }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i1$1.TuiObscured }, { directive: i1.TuiActiveZone, inputs: ["tuiActiveZoneParent", "tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange", "tuiActiveZoneChange"] }], ngImport: i0 }); }
572
584
  }
573
585
  __decorate([
574
586
  shouldCall(shouldClose)
575
587
  ], TuiDropdownOpen.prototype, "onEsc", null);
576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpen, decorators: [{
588
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, decorators: [{
577
589
  type: Directive,
578
590
  args: [{
579
591
  standalone: true,
@@ -641,10 +653,10 @@ class TuiDropdownHover extends TuiDriver {
641
653
  const child = !this.el.contains(element) && this.activeZone.contains(element);
642
654
  return hovered || child;
643
655
  }
644
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
645
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownHover, isStandalone: true, selector: "[tuiDropdownHover]", inputs: { showDelay: ["tuiDropdownShowDelay", "showDelay"], hideDelay: ["tuiDropdownHideDelay", "hideDelay"] }, host: { listeners: { "click.capture": "onClick($event)" } }, providers: [TuiActiveZone, tuiAsDriver(TuiDropdownHover)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0 }); }
656
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
657
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownHover, isStandalone: true, selector: "[tuiDropdownHover]", inputs: { showDelay: ["tuiDropdownShowDelay", "showDelay"], hideDelay: ["tuiDropdownHideDelay", "hideDelay"] }, host: { listeners: { "click.capture": "onClick($event)" } }, providers: [TuiActiveZone, tuiAsDriver(TuiDropdownHover)], queries: [{ propertyName: "dropdownHost", first: true, predicate: ["tuiDropdownHost"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0 }); }
646
658
  }
647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownHover, decorators: [{
659
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, decorators: [{
648
660
  type: Directive,
649
661
  args: [{
650
662
  standalone: true,
@@ -673,10 +685,10 @@ class TuiDropdownManual {
673
685
  ngOnChanges() {
674
686
  this.driver.next(!!this.tuiDropdownManual);
675
687
  }
676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
677
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownManual, isStandalone: true, selector: "[tuiDropdownManual]", inputs: { tuiDropdownManual: "tuiDropdownManual" }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], usesOnChanges: true, ngImport: i0 }); }
688
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
689
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownManual, isStandalone: true, selector: "[tuiDropdownManual]", inputs: { tuiDropdownManual: "tuiDropdownManual" }, providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)], usesOnChanges: true, ngImport: i0 }); }
678
690
  }
679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownManual, decorators: [{
691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, decorators: [{
680
692
  type: Directive,
681
693
  args: [{
682
694
  standalone: true,
@@ -701,10 +713,10 @@ class TuiDropdownOpenLegacy {
701
713
  emitOpenChange(open) {
702
714
  this.openStateSub.next(open);
703
715
  }
704
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpenLegacy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
705
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownOpenLegacy, isStandalone: true, selector: "[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])", inputs: { tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, ngImport: i0 }); }
716
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
717
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownOpenLegacy, isStandalone: true, selector: "[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])", inputs: { tuiDropdownOpen: "tuiDropdownOpen" }, outputs: { tuiDropdownOpenChange: "tuiDropdownOpenChange" }, ngImport: i0 }); }
706
718
  }
707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
719
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
708
720
  type: Directive,
709
721
  args: [{
710
722
  standalone: true,
@@ -716,36 +728,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
716
728
  type: Input
717
729
  }] } });
718
730
 
719
- /**
720
- * @deprecated use {@link TuiPopup} directive instead
721
- */
722
- class TuiDropdownPortal {
723
- constructor() {
724
- this.template = inject(TemplateRef);
725
- this.service = inject(TuiDropdownService);
726
- }
727
- set tuiDropdown(show) {
728
- this.viewRef?.destroy();
729
- if (show) {
730
- this.viewRef = this.service.addTemplate(this.template);
731
- }
732
- }
733
- ngOnDestroy() {
734
- this.viewRef?.destroy();
735
- }
736
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
737
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownPortal, isStandalone: true, selector: "ng-template[tuiDropdown]", inputs: { tuiDropdown: "tuiDropdown" }, ngImport: i0 }); }
738
- }
739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPortal, decorators: [{
740
- type: Directive,
741
- args: [{
742
- standalone: true,
743
- selector: 'ng-template[tuiDropdown]',
744
- }]
745
- }], propDecorators: { tuiDropdown: [{
746
- type: Input
747
- }] } });
748
-
749
731
  class TuiDropdownPositionSided extends TuiPositionAccessor {
750
732
  constructor() {
751
733
  super(...arguments);
@@ -791,10 +773,10 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
791
773
  this.vertical.emitDirection(better);
792
774
  return [position[better], left];
793
775
  }
794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPositionSided, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
795
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownPositionSided, isStandalone: true, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)], usesInheritance: true, ngImport: i0 }); }
776
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
777
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPositionSided, isStandalone: true, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)], usesInheritance: true, ngImport: i0 }); }
796
778
  }
797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
798
780
  type: Directive,
799
781
  args: [{
800
782
  standalone: true,
@@ -863,7 +845,7 @@ class TuiDropdownSelection extends TuiDriver {
863
845
  return this.el.querySelector('tui-textfield .t-ghost') || this.el;
864
846
  }
865
847
  getRange() {
866
- const active = tuiGetNativeFocused(this.doc);
848
+ const active = tuiGetFocused(this.doc);
867
849
  const selection = this.doc.getSelection();
868
850
  const range = active && tuiIsTextfield(active) && this.el.contains(active)
869
851
  ? this.veryVerySadInputFix(active)
@@ -929,13 +911,13 @@ class TuiDropdownSelection extends TuiDriver {
929
911
  this.ghost = ghost;
930
912
  return ghost;
931
913
  }
932
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
933
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownSelection, isStandalone: true, selector: "[tuiDropdownSelection]", inputs: { position: ["tuiDropdownSelectionPosition", "position"], tuiDropdownSelection: "tuiDropdownSelection" }, providers: [
914
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
915
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownSelection, isStandalone: true, selector: "[tuiDropdownSelection]", inputs: { position: ["tuiDropdownSelectionPosition", "position"], tuiDropdownSelection: "tuiDropdownSelection" }, providers: [
934
916
  tuiAsDriver(TuiDropdownSelection),
935
917
  tuiAsRectAccessor(TuiDropdownSelection),
936
918
  ], usesInheritance: true, ngImport: i0 }); }
937
919
  }
938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownSelection, decorators: [{
920
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, decorators: [{
939
921
  type: Directive,
940
922
  args: [{
941
923
  standalone: true,
@@ -959,9 +941,9 @@ const TuiDropdown = [
959
941
  TuiDropdownComponent,
960
942
  TuiDropdownOpen,
961
943
  TuiDropdownOpenLegacy,
962
- TuiDropdownPortal,
963
944
  TuiDropdownManual,
964
945
  TuiDropdownHover,
946
+ TuiDropdownContent,
965
947
  TuiDropdownContext,
966
948
  TuiDropdownPosition,
967
949
  TuiDropdownPositionSided,
@@ -987,10 +969,10 @@ class TuiDropdownFixed {
987
969
  const override = tuiOverrideOptions$1({ limitWidth: 'fixed' }, TUI_DROPDOWN_DEFAULT_OPTIONS);
988
970
  override(inject(TUI_DROPDOWN_OPTIONS, { self: true, optional: true }), null);
989
971
  }
990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownFixed, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
991
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownFixed, isStandalone: true, providers: [tuiDropdownOptionsProvider({})], ngImport: i0 }); }
972
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
973
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownFixed, isStandalone: true, providers: [tuiDropdownOptionsProvider({})], ngImport: i0 }); }
992
974
  }
993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownFixed, decorators: [{
975
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, decorators: [{
994
976
  type: Directive,
995
977
  args: [{
996
978
  standalone: true,
@@ -1005,38 +987,19 @@ class TuiDropdownAuto {
1005
987
  */
1006
988
  inject(TUI_DROPDOWN_OPTIONS).limitWidth = 'auto';
1007
989
  }
1008
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownAuto, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1009
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdownAuto, isStandalone: true, ngImport: i0 }); }
990
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
991
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownAuto, isStandalone: true, ngImport: i0 }); }
1010
992
  }
1011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownAuto, decorators: [{
993
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, decorators: [{
1012
994
  type: Directive,
1013
995
  args: [{ standalone: true }]
1014
996
  }], ctorParameters: () => [] });
1015
997
 
1016
- /**
1017
- * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.
1018
- */
1019
- class TuiDropdowns extends TuiPortals {
1020
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdowns, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1021
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiDropdowns, isStandalone: true, selector: "tui-dropdowns", host: { styleAttribute: "position: absolute; width: 100%; top: 0" }, providers: [tuiAsPortal(TuiDropdownService)], usesInheritance: true, ngImport: i0, template: '<ng-container #viewContainer />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1022
- }
1023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdowns, decorators: [{
1024
- type: Component,
1025
- args: [{
1026
- standalone: true,
1027
- selector: 'tui-dropdowns',
1028
- template: '<ng-container #viewContainer />',
1029
- changeDetection: ChangeDetectionStrategy.OnPush,
1030
- providers: [tuiAsPortal(TuiDropdownService)],
1031
- host: { style: 'position: absolute; width: 100%; top: 0' },
1032
- }]
1033
- }] });
1034
-
1035
998
  class TuiWithDropdownOpen {
1036
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiWithDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1037
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiWithDropdownOpen, isStandalone: true, hostDirectives: [{ directive: TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open", "tuiDropdownEnabled", "tuiDropdownEnabled"], outputs: ["tuiDropdownOpenChange", "openChange"] }], ngImport: i0 }); }
999
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1000
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiWithDropdownOpen, isStandalone: true, hostDirectives: [{ directive: TuiDropdownOpen, inputs: ["tuiDropdownOpen", "open", "tuiDropdownEnabled", "tuiDropdownEnabled"], outputs: ["tuiDropdownOpenChange", "openChange"] }], ngImport: i0 }); }
1038
1001
  }
1039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
1002
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
1040
1003
  type: Directive,
1041
1004
  args: [{
1042
1005
  standalone: true,
@@ -1054,5 +1017,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
1054
1017
  * Generated bundle index. Do not edit.
1055
1018
  */
1056
1019
 
1057
- export { TUI_DROPDOWN_COMPONENT, TUI_DROPDOWN_CONTEXT, TUI_DROPDOWN_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_OPTIONS, TUI_DROPDOWN_OPTIONS, TuiDropdown, TuiDropdownAuto, TuiDropdownComponent, TuiDropdownContext, TuiDropdownDirective, TuiDropdownDriver, TuiDropdownDriverDirective, TuiDropdownFixed, TuiDropdownHover, TuiDropdownManual, TuiDropdownOpen, TuiDropdownOpenLegacy, TuiDropdownOptionsDirective, TuiDropdownPortal, TuiDropdownPosition, TuiDropdownPositionSided, TuiDropdownSelection, TuiDropdownService, TuiDropdowns, TuiWithDropdownOpen, tuiDropdown, tuiDropdownEnabled, tuiDropdownHoverOptionsProvider, tuiDropdownOpen, tuiDropdownOptionsProvider };
1020
+ export { TUI_DROPDOWN_COMPONENT, TUI_DROPDOWN_CONTEXT, TUI_DROPDOWN_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS, TUI_DROPDOWN_HOVER_OPTIONS, TUI_DROPDOWN_OPTIONS, TuiDropdown, TuiDropdownAuto, TuiDropdownComponent, TuiDropdownContent, TuiDropdownContext, TuiDropdownDirective, TuiDropdownDriver, TuiDropdownDriverDirective, TuiDropdownFixed, TuiDropdownHover, TuiDropdownManual, TuiDropdownOpen, TuiDropdownOpenLegacy, TuiDropdownOptionsDirective, TuiDropdownPosition, TuiDropdownPositionSided, TuiDropdownSelection, TuiWithDropdownOpen, tuiDropdown, tuiDropdownEnabled, tuiDropdownHoverOptionsProvider, tuiDropdownOpen, tuiDropdownOptionsProvider };
1058
1021
  //# sourceMappingURL=taiga-ui-core-directives-dropdown.mjs.map