@taiga-ui/core 4.52.0-canary.698642f → 4.52.0-canary.6be767f

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 (172) hide show
  1. package/components/alert/alert.interfaces.d.ts +1 -1
  2. package/components/button/button.directive.d.ts +2 -2
  3. package/components/button/button.options.d.ts +1 -1
  4. package/components/cell/cell.directive.d.ts +9 -0
  5. package/components/cell/cell.options.d.ts +6 -0
  6. package/components/cell/index.d.ts +2 -0
  7. package/components/dialog/active-zone-adapter.directive.d.ts +11 -0
  8. package/components/dialog/dialog.component.d.ts +6 -11
  9. package/components/dialog/dialog.directive.d.ts +1 -1
  10. package/components/dialog/dialog.factory.d.ts +1 -1
  11. package/components/dialog/dialog.options.d.ts +26 -0
  12. package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +4 -1
  13. package/components/dialog/dialog.service.d.ts +1 -1
  14. package/components/dialog/index.d.ts +2 -3
  15. package/components/error/error.component.d.ts +5 -7
  16. package/components/error/error.d.ts +4 -0
  17. package/components/error/error.directive.d.ts +19 -0
  18. package/components/error/error.pipe.d.ts +10 -0
  19. package/components/error/index.d.ts +3 -0
  20. package/components/expand/expand.component.d.ts +9 -28
  21. package/components/expand/index.d.ts +0 -2
  22. package/components/header/header.directive.d.ts +17 -0
  23. package/components/header/index.d.ts +1 -0
  24. package/components/icon/icon.component.d.ts +1 -1
  25. package/components/index.d.ts +2 -1
  26. package/components/notification/notification.options.d.ts +1 -1
  27. package/components/root/root.component.d.ts +3 -5
  28. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  29. package/components/textfield/index.d.ts +1 -3
  30. package/components/textfield/textfield-content.directive.d.ts +3 -2
  31. package/components/textfield/textfield-icon.d.ts +3 -3
  32. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +4 -5
  33. package/components/textfield/textfield.component.d.ts +1 -2
  34. package/components/textfield/textfield.d.ts +2 -3
  35. package/components/textfield/textfield.directive.d.ts +1 -1
  36. package/directives/appearance/appearance.directive.d.ts +5 -13
  37. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  38. package/directives/dropdown/dropdown.d.ts +2 -2
  39. package/directives/dropdown/dropdown.service.d.ts +1 -1
  40. package/directives/dropdown/dropdowns.component.d.ts +1 -1
  41. package/directives/dropdown/index.d.ts +1 -1
  42. package/directives/hint/hint-options.directive.d.ts +3 -3
  43. package/directives/hint/hint.component.d.ts +6 -8
  44. package/directives/hint/hint.directive.d.ts +1 -1
  45. package/directives/icons/icons.bindings.d.ts +5 -0
  46. package/directives/icons/icons.directive.d.ts +6 -14
  47. package/directives/icons/index.d.ts +1 -0
  48. package/directives/index.d.ts +0 -1
  49. package/directives/popup/popup.directive.d.ts +6 -5
  50. package/directives/popup/popup.service.d.ts +1 -1
  51. package/directives/popup/popups.component.d.ts +2 -2
  52. package/directives/title/title.directive.d.ts +2 -3
  53. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-core-classes.mjs +3 -3
  55. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-components-alert.mjs +14 -14
  57. package/fesm2022/taiga-ui-core-components-alert.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-core-components-button.mjs +13 -20
  59. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-core-components-calendar.mjs +13 -13
  61. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  63. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  64. package/fesm2022/taiga-ui-core-components-data-list.mjs +27 -27
  65. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-core-components-dialog.mjs +101 -81
  67. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-components-error.mjs +106 -22
  69. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  71. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-header.mjs +42 -0
  73. package/fesm2022/taiga-ui-core-components-header.mjs.map +1 -0
  74. package/fesm2022/taiga-ui-core-components-icon.mjs +8 -8
  75. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-core-components-label.mjs +9 -12
  77. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-link.mjs +9 -12
  79. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-loader.mjs +4 -4
  81. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-notification.mjs +16 -30
  83. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-root.mjs +18 -37
  85. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +21 -21
  87. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-spin-button.mjs +3 -3
  89. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-textfield.mjs +152 -244
  91. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-components.mjs +2 -1
  93. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-directives-appearance.mjs +26 -63
  95. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  97. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +88 -95
  99. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-directives-group.mjs +9 -12
  101. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-directives-hint.mjs +68 -78
  103. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-directives-icons.mjs +35 -45
  105. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +9 -9
  107. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  109. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-directives-popup.mjs +19 -26
  111. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-core-directives-title.mjs +13 -19
  113. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-directives.mjs +0 -1
  115. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +3 -3
  117. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +3 -3
  119. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-core-pipes-flag.mjs +3 -3
  121. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +3 -3
  123. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +3 -3
  125. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-pipes-initials.mjs +3 -3
  127. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-pipes-month.mjs +3 -3
  129. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +3 -3
  131. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-pipes.mjs +0 -1
  133. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-services.mjs +15 -15
  135. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-core-tokens.mjs +20 -17
  137. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +49 -3
  141. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  142. package/package.json +10 -14
  143. package/pipes/index.d.ts +0 -1
  144. package/styles/components/button.less +0 -2
  145. package/styles/components/icons.less +4 -4
  146. package/styles/mixins/mixins.less +0 -1
  147. package/styles/mixins/mixins.scss +0 -1
  148. package/styles/mixins/slider.less +21 -16
  149. package/tokens/icon-resolver.d.ts +0 -4
  150. package/tokens/index.d.ts +1 -0
  151. package/tokens/validation-errors.d.ts +4 -0
  152. package/utils/miscellaneous/index.d.ts +1 -0
  153. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  154. package/components/dialog/dialog.interfaces.d.ts +0 -34
  155. package/components/dialog/dialog.tokens.d.ts +0 -15
  156. package/components/expand/expand-content.directive.d.ts +0 -8
  157. package/components/expand/expand.d.ts +0 -6
  158. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  159. package/components/fullscreen/index.d.ts +0 -1
  160. package/components/textfield/select.directive.d.ts +0 -19
  161. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  162. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  163. package/directives/surface/index.d.ts +0 -1
  164. package/directives/surface/surface.directive.d.ts +0 -8
  165. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
  166. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  167. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  168. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  169. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  170. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  171. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  172. package/pipes/fallback-src/index.d.ts +0 -1
@@ -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';
@@ -18,14 +18,14 @@ import { BehaviorSubject, Subject, throttleTime, takeWhile, map, merge, filter,
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
20
  import { tuiOverrideOptions, tuiCheckFixedPosition, tuiGetWordRange } from '@taiga-ui/core/utils';
21
- import { TuiPortalService, TuiPortals, tuiAsPortal } from '@taiga-ui/cdk/classes';
21
+ import { TuiPortalService, TuiPortals, tuiAsPortal } from '@taiga-ui/cdk/portals';
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,
@@ -63,10 +63,10 @@ const TUI_DROPDOWN_COMPONENT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_COMP
63
63
  const TUI_DROPDOWN_CONTEXT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_CONTEXT' : '');
64
64
 
65
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' }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, providedIn: 'root' }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownService, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, decorators: [{
70
70
  type: Injectable,
71
71
  args: [{
72
72
  providedIn: 'root',
@@ -108,10 +108,10 @@ class TuiDropdownOptionsDirective {
108
108
  this.maxHeight = this.options.maxHeight;
109
109
  this.offset = this.options.offset;
110
110
  }
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 }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
112
+ 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
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
115
115
  type: Directive,
116
116
  args: [{
117
117
  standalone: true,
@@ -202,13 +202,13 @@ class TuiDropdownPosition extends TuiPositionAccessor {
202
202
  }
203
203
  return rtl && align === 'right' ? 'left' : align;
204
204
  }
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 }); }
205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
206
+ 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
207
  }
208
208
  __decorate([
209
209
  tuiPure
210
210
  ], TuiDropdownPosition.prototype, "emitDirection", null);
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPosition, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, decorators: [{
212
212
  type: Directive,
213
213
  args: [{
214
214
  standalone: true,
@@ -274,19 +274,19 @@ class TuiDropdownDirective {
274
274
  }
275
275
  else if (!show && ref) {
276
276
  this.ref.set(null);
277
- this.service.remove(ref);
277
+ ref.destroy();
278
278
  }
279
279
  this.drivers.forEach((driver) => driver?.next(show));
280
280
  // TODO: Remove in v5, only needed in Angular 16
281
281
  this.cdr.markForCheck();
282
282
  }
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: [
283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
284
+ 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
285
  tuiAsRectAccessor(TuiDropdownDirective),
286
286
  tuiAsVehicle(TuiDropdownDirective),
287
287
  ], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
288
288
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownDirective, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, decorators: [{
290
290
  type: Directive,
291
291
  args: [{
292
292
  standalone: true,
@@ -362,14 +362,14 @@ class TuiDropdownComponent {
362
362
  maxWidth: tuiPx(Math.round(viewport.width) - 16), // 8px min gap from each side
363
363
  };
364
364
  }
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: [
365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
366
+ 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
367
  TuiPositionService,
368
368
  tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
369
369
  tuiRectAccessorFor('dropdown', TuiDropdownDirective),
370
370
  ], 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
371
  }
372
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownComponent, decorators: [{
372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, decorators: [{
373
373
  type: Component,
374
374
  args: [{ selector: 'tui-dropdown', imports: [PolymorpheusOutlet, TuiScrollbar], changeDetection: ChangeDetectionStrategy.Default, providers: [
375
375
  TuiPositionService,
@@ -381,6 +381,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
381
381
  }, 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
382
  }] });
383
383
 
384
+ class TuiDropdownContent {
385
+ constructor() {
386
+ this.directive = inject(TuiDropdownDirective);
387
+ this.directive.tuiDropdown = inject(TemplateRef);
388
+ if (isPlatformBrowser(inject(PLATFORM_ID)) &&
389
+ this.directive.el.matches(':focus-within')) {
390
+ this.directive.toggle(true);
391
+ }
392
+ }
393
+ ngOnDestroy() {
394
+ this.directive.tuiDropdown = null;
395
+ }
396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
397
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContent, isStandalone: true, selector: "ng-template[tuiDropdown]", ngImport: i0 }); }
398
+ }
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, decorators: [{
400
+ type: Directive,
401
+ args: [{
402
+ standalone: true,
403
+ selector: 'ng-template[tuiDropdown]',
404
+ }]
405
+ }], ctorParameters: () => [] });
406
+
384
407
  function activeZoneFilter(event) {
385
408
  return (!event ||
386
409
  (this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event))));
@@ -410,8 +433,8 @@ class TuiDropdownContext extends TuiRectAccessor {
410
433
  this.currentRect = tuiPointToClientRect(x, y);
411
434
  this.driver.next(true);
412
435
  }
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: [
436
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
437
+ 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
438
  TuiActiveZone,
416
439
  TuiDropdownDriver,
417
440
  tuiAsDriver(TuiDropdownDriver),
@@ -421,7 +444,7 @@ class TuiDropdownContext extends TuiRectAccessor {
421
444
  __decorate([
422
445
  shouldCall(activeZoneFilter)
423
446
  ], TuiDropdownContext.prototype, "closeDropdown", null);
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownContext, decorators: [{
447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, decorators: [{
425
448
  type: Directive,
426
449
  args: [{
427
450
  standalone: true,
@@ -531,7 +554,7 @@ class TuiDropdownOpen {
531
554
  }
532
555
  get host() {
533
556
  const initial = this.dropdownHost?.nativeElement || this.el;
534
- const focusable = tuiIsNativeKeyboardFocusable(initial)
557
+ const focusable = tuiIsKeyboardFocusable(initial)
535
558
  ? initial
536
559
  : tuiGetClosestFocusable({ initial, root: this.el });
537
560
  return this.dropdownHost?.nativeElement || focusable || this.el;
@@ -540,7 +563,7 @@ class TuiDropdownOpen {
540
563
  return tuiIsElementEditable(this.host);
541
564
  }
542
565
  get focused() {
543
- return tuiIsNativeFocusedIn(this.host) || tuiIsNativeFocusedIn(this.dropdown());
566
+ return tuiIsFocusedIn(this.host) || tuiIsFocusedIn(this.dropdown());
544
567
  }
545
568
  update(open) {
546
569
  if (open && !this.tuiDropdownEnabled) {
@@ -567,13 +590,13 @@ class TuiDropdownOpen {
567
590
  child.remove();
568
591
  focusable?.focus();
569
592
  }
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 }); }
593
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
594
+ 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
595
  }
573
596
  __decorate([
574
597
  shouldCall(shouldClose)
575
598
  ], TuiDropdownOpen.prototype, "onEsc", null);
576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpen, decorators: [{
599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, decorators: [{
577
600
  type: Directive,
578
601
  args: [{
579
602
  standalone: true,
@@ -641,10 +664,10 @@ class TuiDropdownHover extends TuiDriver {
641
664
  const child = !this.el.contains(element) && this.activeZone.contains(element);
642
665
  return hovered || child;
643
666
  }
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 }); }
667
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
668
+ 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
669
  }
647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownHover, decorators: [{
670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, decorators: [{
648
671
  type: Directive,
649
672
  args: [{
650
673
  standalone: true,
@@ -673,10 +696,10 @@ class TuiDropdownManual {
673
696
  ngOnChanges() {
674
697
  this.driver.next(!!this.tuiDropdownManual);
675
698
  }
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 }); }
699
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
700
+ 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
701
  }
679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownManual, decorators: [{
702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, decorators: [{
680
703
  type: Directive,
681
704
  args: [{
682
705
  standalone: true,
@@ -701,10 +724,10 @@ class TuiDropdownOpenLegacy {
701
724
  emitOpenChange(open) {
702
725
  this.openStateSub.next(open);
703
726
  }
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 }); }
727
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
728
+ 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
729
  }
707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
708
731
  type: Directive,
709
732
  args: [{
710
733
  standalone: true,
@@ -716,36 +739,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
716
739
  type: Input
717
740
  }] } });
718
741
 
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
742
  class TuiDropdownPositionSided extends TuiPositionAccessor {
750
743
  constructor() {
751
744
  super(...arguments);
@@ -791,10 +784,10 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
791
784
  this.vertical.emitDirection(better);
792
785
  return [position[better], left];
793
786
  }
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 }); }
787
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
788
+ 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
789
  }
797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
798
791
  type: Directive,
799
792
  args: [{
800
793
  standalone: true,
@@ -863,7 +856,7 @@ class TuiDropdownSelection extends TuiDriver {
863
856
  return this.el.querySelector('tui-textfield .t-ghost') || this.el;
864
857
  }
865
858
  getRange() {
866
- const active = tuiGetNativeFocused(this.doc);
859
+ const active = tuiGetFocused(this.doc);
867
860
  const selection = this.doc.getSelection();
868
861
  const range = active && tuiIsTextfield(active) && this.el.contains(active)
869
862
  ? this.veryVerySadInputFix(active)
@@ -929,13 +922,13 @@ class TuiDropdownSelection extends TuiDriver {
929
922
  this.ghost = ghost;
930
923
  return ghost;
931
924
  }
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: [
925
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
926
+ 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
927
  tuiAsDriver(TuiDropdownSelection),
935
928
  tuiAsRectAccessor(TuiDropdownSelection),
936
929
  ], usesInheritance: true, ngImport: i0 }); }
937
930
  }
938
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownSelection, decorators: [{
931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, decorators: [{
939
932
  type: Directive,
940
933
  args: [{
941
934
  standalone: true,
@@ -959,9 +952,9 @@ const TuiDropdown = [
959
952
  TuiDropdownComponent,
960
953
  TuiDropdownOpen,
961
954
  TuiDropdownOpenLegacy,
962
- TuiDropdownPortal,
963
955
  TuiDropdownManual,
964
956
  TuiDropdownHover,
957
+ TuiDropdownContent,
965
958
  TuiDropdownContext,
966
959
  TuiDropdownPosition,
967
960
  TuiDropdownPositionSided,
@@ -987,10 +980,10 @@ class TuiDropdownFixed {
987
980
  const override = tuiOverrideOptions$1({ limitWidth: 'fixed' }, TUI_DROPDOWN_DEFAULT_OPTIONS);
988
981
  override(inject(TUI_DROPDOWN_OPTIONS, { self: true, optional: true }), null);
989
982
  }
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 }); }
983
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
984
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownFixed, isStandalone: true, providers: [tuiDropdownOptionsProvider({})], ngImport: i0 }); }
992
985
  }
993
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownFixed, decorators: [{
986
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, decorators: [{
994
987
  type: Directive,
995
988
  args: [{
996
989
  standalone: true,
@@ -1005,10 +998,10 @@ class TuiDropdownAuto {
1005
998
  */
1006
999
  inject(TUI_DROPDOWN_OPTIONS).limitWidth = 'auto';
1007
1000
  }
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 }); }
1001
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1002
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownAuto, isStandalone: true, ngImport: i0 }); }
1010
1003
  }
1011
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdownAuto, decorators: [{
1004
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, decorators: [{
1012
1005
  type: Directive,
1013
1006
  args: [{ standalone: true }]
1014
1007
  }], ctorParameters: () => [] });
@@ -1017,15 +1010,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
1017
1010
  * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.
1018
1011
  */
1019
1012
  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 }); }
1013
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdowns, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1014
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", 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 #vcr />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1022
1015
  }
1023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDropdowns, decorators: [{
1016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdowns, decorators: [{
1024
1017
  type: Component,
1025
1018
  args: [{
1026
1019
  standalone: true,
1027
1020
  selector: 'tui-dropdowns',
1028
- template: '<ng-container #viewContainer />',
1021
+ template: '<ng-container #vcr />',
1029
1022
  changeDetection: ChangeDetectionStrategy.OnPush,
1030
1023
  providers: [tuiAsPortal(TuiDropdownService)],
1031
1024
  host: { style: 'position: absolute; width: 100%; top: 0' },
@@ -1033,10 +1026,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
1033
1026
  }] });
1034
1027
 
1035
1028
  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 }); }
1029
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1030
+ 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
1031
  }
1039
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
1032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
1040
1033
  type: Directive,
1041
1034
  args: [{
1042
1035
  standalone: true,
@@ -1054,5 +1047,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImpor
1054
1047
  * Generated bundle index. Do not edit.
1055
1048
  */
1056
1049
 
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 };
1050
+ 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, TuiDropdownService, TuiDropdowns, TuiWithDropdownOpen, tuiDropdown, tuiDropdownEnabled, tuiDropdownHoverOptionsProvider, tuiDropdownOpen, tuiDropdownOptionsProvider };
1058
1051
  //# sourceMappingURL=taiga-ui-core-directives-dropdown.mjs.map