@taiga-ui/core 4.52.0-canary.5601aa6 → 4.52.0-canary.58fe47a

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 (211) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/button/button.directive.d.ts +2 -2
  4. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  5. package/components/cell/cell.directive.d.ts +9 -0
  6. package/components/cell/cell.options.d.ts +6 -0
  7. package/components/cell/index.d.ts +2 -0
  8. package/components/data-list/data-list.component.d.ts +8 -12
  9. package/components/data-list/data-list.d.ts +2 -4
  10. package/components/data-list/data-list.tokens.d.ts +1 -5
  11. package/components/data-list/index.d.ts +0 -2
  12. package/components/data-list/opt-group.directive.d.ts +2 -2
  13. package/components/data-list/option/option-content.d.ts +6 -8
  14. package/components/data-list/option/option.directive.d.ts +7 -8
  15. package/components/dialog/dialog.component.d.ts +6 -12
  16. package/components/dialog/dialog.directive.d.ts +5 -4
  17. package/components/dialog/dialog.factory.d.ts +1 -1
  18. package/components/dialog/dialog.options.d.ts +25 -0
  19. package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +2 -0
  20. package/components/dialog/dialog.service.d.ts +6 -3
  21. package/components/dialog/index.d.ts +2 -4
  22. package/components/error/error.component.d.ts +1 -1
  23. package/components/expand/expand.component.d.ts +9 -28
  24. package/components/expand/index.d.ts +0 -2
  25. package/components/index.d.ts +2 -2
  26. package/components/link/link.directive.d.ts +2 -2
  27. package/components/link/link.options.d.ts +1 -3
  28. package/components/loader/loader.component.d.ts +7 -7
  29. package/components/loader/loader.options.d.ts +1 -3
  30. package/components/modal/index.d.ts +2 -0
  31. package/components/modal/modal.component.d.ts +17 -0
  32. package/components/modal/modal.service.d.ts +13 -0
  33. package/components/notification/index.d.ts +3 -0
  34. package/components/notification/notification.component.d.ts +14 -0
  35. package/components/notification/notification.d.ts +3 -0
  36. package/components/notification/notification.directive.d.ts +7 -12
  37. package/components/notification/notification.options.d.ts +10 -7
  38. package/components/notification/notification.service.d.ts +17 -0
  39. package/components/root/root.component.d.ts +2 -3
  40. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  41. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  42. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  43. package/components/spin-button/spin-button.component.d.ts +8 -9
  44. package/components/textfield/index.d.ts +1 -3
  45. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  46. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +9 -14
  47. package/components/textfield/textfield.component.d.ts +20 -33
  48. package/components/textfield/textfield.d.ts +2 -3
  49. package/components/textfield/textfield.directive.d.ts +13 -20
  50. package/components/textfield/textfield.options.d.ts +8 -11
  51. package/directives/alert/alert.directive.d.ts +11 -0
  52. package/directives/alert/alert.service.d.ts +12 -0
  53. package/directives/alert/index.d.ts +2 -0
  54. package/directives/appearance/appearance.directive.d.ts +1 -1
  55. package/directives/appearance/appearance.options.d.ts +1 -1
  56. package/directives/date-format/date-format.directive.d.ts +3 -7
  57. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  58. package/directives/dropdown/dropdown-hover.options.d.ts +1 -3
  59. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  60. package/directives/dropdown/dropdown.d.ts +2 -2
  61. package/directives/dropdown/dropdown.directive.d.ts +1 -2
  62. package/directives/dropdown/index.d.ts +1 -3
  63. package/directives/group/group.options.d.ts +1 -3
  64. package/directives/hint/hint-describe.directive.d.ts +4 -6
  65. package/directives/hint/hint-host.directive.d.ts +2 -2
  66. package/directives/hint/hint-hover.directive.d.ts +3 -4
  67. package/directives/hint/hint-manual.directive.d.ts +2 -2
  68. package/directives/hint/hint-options.directive.d.ts +3 -3
  69. package/directives/hint/hint-overflow.directive.d.ts +2 -2
  70. package/directives/hint/hint-position.directive.d.ts +4 -5
  71. package/directives/hint/hint-unstyled.component.d.ts +2 -7
  72. package/directives/hint/hint.component.d.ts +10 -11
  73. package/directives/hint/hint.directive.d.ts +9 -11
  74. package/directives/hint/index.d.ts +0 -2
  75. package/directives/index.d.ts +1 -1
  76. package/directives/number-format/number-format.directive.d.ts +3 -7
  77. package/directives/popup/popup.directive.d.ts +6 -5
  78. package/directives/popup/popup.service.d.ts +1 -1
  79. package/directives/popup/popups.component.d.ts +2 -2
  80. package/directives/title/title.directive.d.ts +2 -3
  81. package/fesm2022/taiga-ui-core-classes.mjs +2 -2
  82. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-core-components-button.mjs +11 -18
  84. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-core-components-calendar.mjs +13 -20
  86. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  88. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  89. package/fesm2022/taiga-ui-core-components-data-list.mjs +45 -205
  90. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-core-components-dialog.mjs +66 -137
  92. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-core-components-error.mjs +4 -3
  94. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  96. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-components-icon.mjs +1 -2
  98. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-components-label.mjs +6 -9
  100. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core-components-link.mjs +14 -23
  102. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-core-components-loader.mjs +14 -32
  104. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
  106. package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
  107. package/fesm2022/taiga-ui-core-components-notification.mjs +108 -66
  108. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-components-root.mjs +5 -19
  110. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +36 -45
  112. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
  114. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core-components-textfield.mjs +165 -381
  116. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-core-components.mjs +2 -2
  118. package/fesm2022/taiga-ui-core-directives-alert.mjs +73 -0
  119. package/fesm2022/taiga-ui-core-directives-alert.mjs.map +1 -0
  120. package/fesm2022/taiga-ui-core-directives-appearance.mjs +12 -15
  121. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  123. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +52 -114
  125. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-directives-group.mjs +10 -17
  127. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-directives-hint.mjs +117 -217
  129. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-directives-icons.mjs +8 -11
  131. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +3 -6
  133. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  135. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-core-directives-popup.mjs +13 -20
  137. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-core-directives-title.mjs +11 -17
  139. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-core-directives.mjs +1 -1
  141. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -1
  142. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -1
  144. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -1
  146. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -1
  148. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
  150. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -1
  152. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-core-pipes-month.mjs +2 -2
  154. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -1
  156. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-core-tokens.mjs +22 -21
  158. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -0
  160. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +1 -1
  162. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  163. package/package.json +59 -56
  164. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  165. package/styles/components/link.less +1 -0
  166. package/styles/mixins/appearance.less +1 -1
  167. package/styles/mixins/mixins.less +0 -5
  168. package/styles/mixins/mixins.scss +0 -5
  169. package/styles/mixins/slider.less +21 -16
  170. package/styles/mixins/slider.scss +1 -2
  171. package/styles/theme/variables.less +2 -4
  172. package/tokens/common-icons.d.ts +1 -3
  173. package/tokens/date-format.d.ts +2 -3
  174. package/tokens/i18n.d.ts +7 -7
  175. package/tokens/icon-resolver.d.ts +0 -4
  176. package/tokens/number-format.d.ts +2 -3
  177. package/types/index.d.ts +0 -2
  178. package/components/alert/alert.component.d.ts +0 -15
  179. package/components/alert/alert.directive.d.ts +0 -7
  180. package/components/alert/alert.interfaces.d.ts +0 -12
  181. package/components/alert/alert.service.d.ts +0 -7
  182. package/components/alert/alert.tokens.d.ts +0 -12
  183. package/components/alert/alerts.component.d.ts +0 -12
  184. package/components/alert/index.d.ts +0 -6
  185. package/components/data-list/data-list.directive.d.ts +0 -7
  186. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  187. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  188. package/components/dialog/dialog.interfaces.d.ts +0 -34
  189. package/components/dialog/dialog.tokens.d.ts +0 -15
  190. package/components/dialog/dialogs.component.d.ts +0 -8
  191. package/components/expand/expand-content.directive.d.ts +0 -8
  192. package/components/expand/expand.d.ts +0 -6
  193. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  194. package/components/fullscreen/index.d.ts +0 -1
  195. package/components/textfield/select.directive.d.ts +0 -19
  196. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  197. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  198. package/directives/dropdown/dropdown.service.d.ts +0 -6
  199. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  200. package/directives/hint/hint.service.d.ts +0 -13
  201. package/directives/hint/hints.component.d.ts +0 -12
  202. package/directives/surface/index.d.ts +0 -1
  203. package/directives/surface/surface.directive.d.ts +0 -8
  204. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  205. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -77
  207. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  209. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  210. package/types/portal-item.d.ts +0 -9
  211. package/types/value-content-context.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\nimport {combineLatest, map, Observable, ReplaySubject} from 'rxjs';\n\n@Directive({\n standalone: true,\n selector: '[tuiDateFormat]',\n providers: [tuiProvide(TUI_DATE_FORMAT, TuiDateFormat)],\n})\nexport class TuiDateFormat extends Observable<TuiDateFormatSettings> {\n private readonly settings = new ReplaySubject<Partial<TuiDateFormatSettings>>(1);\n private readonly parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n\n constructor() {\n super((subscriber) =>\n combineLatest([this.parent, this.settings])\n .pipe(map(([parent, settings]) => ({...parent, ...settings})))\n .subscribe(subscriber),\n );\n }\n\n @Input()\n public set tuiDateFormat(format: Partial<TuiDateFormatSettings>) {\n this.settings.next(format);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,aAAc,SAAQ,UAAiC,CAAA;AAIhE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,CAAC,UAAU,KACb,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;aACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAC,CAAC,CAAC;AAC5D,aAAA,SAAS,CAAC,UAAU,CAAC,CAC7B;AARY,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,CAAiC,CAAC,CAAC;QAC/D,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;;IAUnE,IACW,aAAa,CAAC,MAAsC,EAAA;AAC3D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;+GAdrB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,SAAA,EAFX,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE9C,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE,CAAC,UAAU,CAAC,eAAe,gBAAgB,CAAC;AAC1D,iBAAA;wDAcc,aAAa,EAAA,CAAA;sBADvB;;;ACtBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-date-format.mjs","sources":["../../../projects/core/directives/date-format/date-format.directive.ts","../../../projects/core/directives/date-format/taiga-ui-core-directives-date-format.ts"],"sourcesContent":["import {computed, Directive, inject, input} from '@angular/core';\nimport {TUI_DATE_FORMAT, type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: '[tuiDateFormat]',\n providers: [\n {\n provide: TUI_DATE_FORMAT,\n useFactory: () => {\n const parent = inject(TUI_DATE_FORMAT, {skipSelf: true});\n const format = inject(TuiDateFormat).tuiDateFormat;\n\n return computed(() => ({...parent(), ...format()}));\n },\n },\n ],\n})\nexport class TuiDateFormat {\n public readonly tuiDateFormat = input.required<Partial<TuiDateFormatSettings>>();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAiBa,aAAa,CAAA;AAd1B,IAAA,WAAA,GAAA;AAeoB,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAkC;AACnF;+GAFY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAZX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,MAAK;AACb,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;oBACxD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa;AAElD,oBAAA,OAAO,QAAQ,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAC,CAAC,CAAC;iBACtD;AACJ,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAdzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,eAAe;4BACxB,UAAU,EAAE,MAAK;AACb,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AACxD,gCAAA,MAAM,MAAM,GAAG,MAAM,CAAe,aAAA,CAAA,CAAC,aAAa;AAElD,gCAAA,OAAO,QAAQ,CAAC,OAAO,EAAC,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAC,CAAC,CAAC;6BACtD;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;AChBD;;AAEG;;;;"}
@@ -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, forwardRef, 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';
@@ -8,8 +8,8 @@ import * as i2 from '@taiga-ui/cdk/directives/animated';
8
8
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
9
9
  import { tuiInjectElement, tuiGetActualTarget, tuiPointToClientRect, tuiIsElement, tuiIsHTMLElement, tuiIsElementEditable, tuiIsTextNode, tuiIsTextfield } from '@taiga-ui/cdk/utils/dom';
10
10
  import { tuiClamp } from '@taiga-ui/cdk/utils/math';
11
- import { tuiProvide, tuiPure, tuiPx, tuiProvideOptions, tuiIsString, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
12
- import { TuiDriverDirective, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor, tuiAsRectAccessor, tuiAsVehicle, tuiPositionAccessorFor, tuiRectAccessorFor, tuiAsDriver, TuiDriver, tuiAsPositionAccessor } from '@taiga-ui/core/classes';
11
+ import { tuiPure, tuiPx, tuiSetSignal, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
12
+ import { TuiDriverDirective, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor, tuiAsVehicle, tuiPositionAccessorFor, tuiRectAccessorFor, tuiAsDriver, tuiAsRectAccessor, TuiDriver, tuiAsPositionAccessor } from '@taiga-ui/core/classes';
13
13
  import { TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
14
14
  import { TuiVisualViewportService, TuiPositionService } from '@taiga-ui/core/services';
15
15
  import { TUI_VIEWPORT, TUI_DARK_MODE, TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
@@ -17,15 +17,16 @@ 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';
24
- import { TUI_IS_TOUCH, TUI_RANGE } from '@taiga-ui/cdk/tokens';
23
+ import { tuiProvide, tuiCreateOptions, tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
24
+ import { isPlatformBrowser, DOCUMENT } from '@angular/common';
25
+ import { TUI_IS_TOUCH } from '@taiga-ui/cdk/tokens';
25
26
  import { shouldCall } from '@taiga-ui/event-plugins';
26
27
  import * as i1$1 from '@taiga-ui/cdk/directives/obscured';
27
28
  import { TuiObscured } from '@taiga-ui/cdk/directives/obscured';
28
- import { tuiIsNativeKeyboardFocusable, tuiGetClosestFocusable, tuiIsFocusedIn, tuiGetFocused } from '@taiga-ui/cdk/utils/focus';
29
+ import { tuiIsFocusable, tuiGetClosestFocusable, tuiIsFocusedIn, tuiGetFocused } from '@taiga-ui/cdk/utils/focus';
29
30
  import { tuiIsEditingKey, tuiOverrideOptions as tuiOverrideOptions$1 } from '@taiga-ui/core/utils/miscellaneous';
30
31
 
31
32
  class TuiDropdownDriver extends BehaviorSubject {
@@ -48,10 +49,7 @@ class TuiDropdownDriverDirective extends TuiDriverDirective {
48
49
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownDriverDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
49
50
  }
50
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDriverDirective, decorators: [{
51
- type: Directive,
52
- args: [{
53
- standalone: true,
54
- }]
52
+ type: Directive
55
53
  }] });
56
54
 
57
55
  /**
@@ -62,17 +60,6 @@ const TUI_DROPDOWN_COMPONENT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_COMP
62
60
  });
63
61
  const TUI_DROPDOWN_CONTEXT = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_CONTEXT' : '');
64
62
 
65
- class TuiDropdownService extends TuiPortalService {
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
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownService, decorators: [{
70
- type: Injectable,
71
- args: [{
72
- providedIn: 'root',
73
- }]
74
- }] });
75
-
76
63
  /** Default values for dropdown options */
77
64
  const TUI_DROPDOWN_DEFAULT_OPTIONS = {
78
65
  align: 'left',
@@ -114,7 +101,6 @@ class TuiDropdownOptionsDirective {
114
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
115
102
  type: Directive,
116
103
  args: [{
117
- standalone: true,
118
104
  selector: '[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',
119
105
  providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)],
120
106
  }]
@@ -149,7 +135,9 @@ class TuiDropdownPosition extends TuiPositionAccessor {
149
135
  this.viewport = inject(TUI_VIEWPORT);
150
136
  this.directionChange = new EventEmitter();
151
137
  this.type = 'dropdown';
152
- this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor), inject(TuiDropdownDirective, { optional: true }));
138
+ this.accessor = tuiFallbackAccessor('dropdown')(inject(TuiRectAccessor, { optional: true }), {
139
+ getClientRect: () => this.el.getBoundingClientRect(),
140
+ });
153
141
  }
154
142
  emitDirection(direction) {
155
143
  this.directionChange.emit(direction);
@@ -158,7 +146,7 @@ class TuiDropdownPosition extends TuiPositionAccessor {
158
146
  if (!width && !height) {
159
147
  this.previous = undefined;
160
148
  }
161
- const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;
149
+ const hostRect = this.accessor.getClientRect();
162
150
  const viewportRect = this.viewport.getClientRect();
163
151
  const { minHeight, direction, offset, limitWidth } = this.options;
164
152
  const align = this.getAlign(this.options.align);
@@ -209,10 +197,7 @@ __decorate([
209
197
  tuiPure
210
198
  ], TuiDropdownPosition.prototype, "emitDirection", null);
211
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPosition, decorators: [{
212
- type: Directive,
213
- args: [{
214
- standalone: true,
215
- }]
200
+ type: Directive
216
201
  }], propDecorators: { directionChange: [{
217
202
  type: Output,
218
203
  args: ['tuiDropdownDirectionChange']
@@ -221,7 +206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
221
206
  class TuiDropdownDirective {
222
207
  constructor() {
223
208
  this.refresh$ = new Subject();
224
- this.service = inject(TuiDropdownService);
209
+ this.service = inject(TuiPopupService);
225
210
  this.cdr = inject(ChangeDetectorRef);
226
211
  // TODO: think of a better solution later
227
212
  this.drivers = coerceArray(inject(TuiDropdownDriver, { self: true, optional: true }));
@@ -274,27 +259,20 @@ class TuiDropdownDirective {
274
259
  }
275
260
  else if (!show && ref) {
276
261
  this.ref.set(null);
277
- this.service.remove(ref);
262
+ ref.destroy();
278
263
  }
279
264
  this.drivers.forEach((driver) => driver?.next(show));
280
265
  // TODO: Remove in v5, only needed in Angular 16
281
266
  this.cdr.markForCheck();
282
267
  }
283
268
  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
- tuiAsRectAccessor(TuiDropdownDirective),
286
- tuiAsVehicle(TuiDropdownDirective),
287
- ], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
269
+ 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: [tuiAsVehicle(TuiDropdownDirective)], exportAs: ["tuiDropdown"], hostDirectives: [{ directive: TuiDropdownDriverDirective }, { directive: TuiDropdownPosition, outputs: ["tuiDropdownDirectionChange", "tuiDropdownDirectionChange"] }], ngImport: i0 }); }
288
270
  }
289
271
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownDirective, decorators: [{
290
272
  type: Directive,
291
273
  args: [{
292
- standalone: true,
293
274
  selector: '[tuiDropdown]:not(ng-container):not(ng-template)',
294
- providers: [
295
- tuiAsRectAccessor(TuiDropdownDirective),
296
- tuiAsVehicle(TuiDropdownDirective),
297
- ],
275
+ providers: [tuiAsVehicle(TuiDropdownDirective)],
298
276
  exportAs: 'tuiDropdown',
299
277
  hostDirectives: [
300
278
  TuiDropdownDriverDirective,
@@ -366,7 +344,7 @@ class TuiDropdownComponent {
366
344
  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
345
  TuiPositionService,
368
346
  tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
369
- tuiRectAccessorFor('dropdown', TuiDropdownDirective),
347
+ tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
370
348
  ], 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
349
  }
372
350
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownComponent, decorators: [{
@@ -374,13 +352,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
374
352
  args: [{ selector: 'tui-dropdown', imports: [PolymorpheusOutlet, TuiScrollbar], changeDetection: ChangeDetectionStrategy.Default, providers: [
375
353
  TuiPositionService,
376
354
  tuiPositionAccessorFor('dropdown', TuiDropdownPosition),
377
- tuiRectAccessorFor('dropdown', TuiDropdownDirective),
355
+ tuiRectAccessorFor('dropdown', forwardRef(() => TuiDropdownDirective)),
378
356
  ], hostDirectives: [TuiActiveZone, TuiAnimated], host: {
379
357
  '[attr.data-appearance]': 'options.appearance',
380
358
  '[attr.tuiTheme]': 'theme()',
381
359
  }, 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
360
  }] });
383
361
 
362
+ class TuiDropdownContent {
363
+ constructor() {
364
+ this.directive = inject(TuiDropdownDirective);
365
+ this.directive.tuiDropdown = inject(TemplateRef);
366
+ if (isPlatformBrowser(inject(PLATFORM_ID)) &&
367
+ this.directive.el.matches(':focus-within')) {
368
+ this.directive.toggle(true);
369
+ }
370
+ }
371
+ ngOnDestroy() {
372
+ this.directive.tuiDropdown = null;
373
+ }
374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
375
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownContent, isStandalone: true, selector: "ng-template[tuiDropdown]", ngImport: i0 }); }
376
+ }
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContent, decorators: [{
378
+ type: Directive,
379
+ args: [{
380
+ selector: 'ng-template[tuiDropdown]',
381
+ }]
382
+ }], ctorParameters: () => [] });
383
+
384
384
  function activeZoneFilter(event) {
385
385
  return (!event ||
386
386
  (this.driver.value && !this.activeZone.contains(tuiGetActualTarget(event))));
@@ -424,7 +424,6 @@ __decorate([
424
424
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownContext, decorators: [{
425
425
  type: Directive,
426
426
  args: [{
427
- standalone: true,
428
427
  selector: '[tuiDropdownContext]',
429
428
  providers: [
430
429
  TuiActiveZone,
@@ -450,12 +449,7 @@ const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS = {
450
449
  /**
451
450
  * Default parameters for dropdown hover directive
452
451
  */
453
- const TUI_DROPDOWN_HOVER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_HOVER_OPTIONS' : '', {
454
- factory: () => TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,
455
- });
456
- function tuiDropdownHoverOptionsProvider(options) {
457
- return tuiProvideOptions(TUI_DROPDOWN_HOVER_OPTIONS, options, TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS);
458
- }
452
+ const [TUI_DROPDOWN_HOVER_OPTIONS, tuiDropdownHoverOptionsProvider] = tuiCreateOptions(TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS);
459
453
 
460
454
  function shouldClose(event) {
461
455
  return (
@@ -480,7 +474,7 @@ class TuiDropdownOpen {
480
474
  // TODO: make it private when all legacy controls will be deleted from @taiga-ui/legacy (5.0)
481
475
  this.driver = inject(TuiDropdownDriver);
482
476
  this.sub = this.driver
483
- .pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured.pipe(filter(Boolean)), this.activeZone.tuiActiveZoneChange.pipe(filter((a) => !a)), fromEvent(this.el, 'focusin').pipe(filter((event) => !this.host.contains(tuiGetActualTarget(event)) ||
477
+ .pipe(tuiIfMap(() => merge(tuiCloseWatcher(), this.obscured.tuiObscured$.pipe(filter(Boolean)), this.activeZone.tuiActiveZoneChange.pipe(filter((a) => !a)), fromEvent(this.el, 'focusin').pipe(filter((event) => !this.host.contains(tuiGetActualTarget(event)) ||
484
478
  !this.directive.ref())))), tuiZonefull(), tuiWatch(), takeUntilDestroyed())
485
479
  .subscribe(() => this.toggle(false));
486
480
  this.sync = this.driver.pipe(takeUntilDestroyed()).subscribe((open) => {
@@ -531,7 +525,7 @@ class TuiDropdownOpen {
531
525
  }
532
526
  get host() {
533
527
  const initial = this.dropdownHost?.nativeElement || this.el;
534
- const focusable = tuiIsNativeKeyboardFocusable(initial)
528
+ const focusable = tuiIsFocusable(initial)
535
529
  ? initial
536
530
  : tuiGetClosestFocusable({ initial, root: this.el });
537
531
  return this.dropdownHost?.nativeElement || focusable || this.el;
@@ -551,7 +545,7 @@ class TuiDropdownOpen {
551
545
  this.drive();
552
546
  }
553
547
  drive(open = !!this.tuiDropdownOpen && this.tuiDropdownEnabled) {
554
- this.obscured.tuiObscuredEnabled = open;
548
+ tuiSetSignal(this.obscured.tuiObscuredEnabled, open);
555
549
  this.driver.next(open);
556
550
  }
557
551
  focusDropdown(previous) {
@@ -576,7 +570,6 @@ __decorate([
576
570
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpen, decorators: [{
577
571
  type: Directive,
578
572
  args: [{
579
- standalone: true,
580
573
  selector: '[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]',
581
574
  providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
582
575
  hostDirectives: [
@@ -647,7 +640,6 @@ class TuiDropdownHover extends TuiDriver {
647
640
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownHover, decorators: [{
648
641
  type: Directive,
649
642
  args: [{
650
- standalone: true,
651
643
  selector: '[tuiDropdownHover]',
652
644
  providers: [TuiActiveZone, tuiAsDriver(TuiDropdownHover)],
653
645
  host: {
@@ -679,7 +671,6 @@ class TuiDropdownManual {
679
671
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownManual, decorators: [{
680
672
  type: Directive,
681
673
  args: [{
682
- standalone: true,
683
674
  selector: '[tuiDropdownManual]',
684
675
  providers: [TuiDropdownDriver, tuiAsDriver(TuiDropdownDriver)],
685
676
  }]
@@ -707,7 +698,6 @@ class TuiDropdownOpenLegacy {
707
698
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownOpenLegacy, decorators: [{
708
699
  type: Directive,
709
700
  args: [{
710
- standalone: true,
711
701
  selector: '[tuiDropdownOpen]:not([tuiDropdown]),[tuiDropdownOpenChange]:not([tuiDropdown])',
712
702
  }]
713
703
  }], propDecorators: { tuiDropdownOpenChange: [{
@@ -716,36 +706,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
716
706
  type: Input
717
707
  }] } });
718
708
 
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.15", ngImport: i0, type: TuiDropdownPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
737
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownPortal, isStandalone: true, selector: "ng-template[tuiDropdown]", inputs: { tuiDropdown: "tuiDropdown" }, ngImport: i0 }); }
738
- }
739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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
709
  class TuiDropdownPositionSided extends TuiPositionAccessor {
750
710
  constructor() {
751
711
  super(...arguments);
@@ -797,7 +757,6 @@ class TuiDropdownPositionSided extends TuiPositionAccessor {
797
757
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownPositionSided, decorators: [{
798
758
  type: Directive,
799
759
  args: [{
800
- standalone: true,
801
760
  selector: '[tuiDropdownSided]',
802
761
  providers: [TuiDropdownPosition, tuiAsPositionAccessor(TuiDropdownPositionSided)],
803
762
  }]
@@ -828,7 +787,9 @@ class TuiDropdownSelection extends TuiDriver {
828
787
  : this.range;
829
788
  return (contained && handler(this.range)) || this.inDropdown(range);
830
789
  }));
831
- this.range = inject(TUI_RANGE);
790
+ this.range = isPlatformBrowser(inject(PLATFORM_ID))
791
+ ? new Range()
792
+ : {};
832
793
  this.position = 'selection';
833
794
  this.type = 'dropdown';
834
795
  }
@@ -938,7 +899,6 @@ class TuiDropdownSelection extends TuiDriver {
938
899
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownSelection, decorators: [{
939
900
  type: Directive,
940
901
  args: [{
941
- standalone: true,
942
902
  selector: '[tuiDropdownSelection]',
943
903
  providers: [
944
904
  tuiAsDriver(TuiDropdownSelection),
@@ -959,9 +919,9 @@ const TuiDropdown = [
959
919
  TuiDropdownComponent,
960
920
  TuiDropdownOpen,
961
921
  TuiDropdownOpenLegacy,
962
- TuiDropdownPortal,
963
922
  TuiDropdownManual,
964
923
  TuiDropdownHover,
924
+ TuiDropdownContent,
965
925
  TuiDropdownContext,
966
926
  TuiDropdownPosition,
967
927
  TuiDropdownPositionSided,
@@ -993,7 +953,6 @@ class TuiDropdownFixed {
993
953
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownFixed, decorators: [{
994
954
  type: Directive,
995
955
  args: [{
996
- standalone: true,
997
956
  providers: [tuiDropdownOptionsProvider({})],
998
957
  }]
999
958
  }], ctorParameters: () => [] });
@@ -1009,29 +968,9 @@ class TuiDropdownAuto {
1009
968
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDropdownAuto, isStandalone: true, ngImport: i0 }); }
1010
969
  }
1011
970
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDropdownAuto, decorators: [{
1012
- type: Directive,
1013
- args: [{ standalone: true }]
971
+ type: Directive
1014
972
  }], ctorParameters: () => [] });
1015
973
 
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.15", ngImport: i0, type: TuiDropdowns, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1021
- 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 #viewContainer />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1022
- }
1023
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", 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
974
  class TuiWithDropdownOpen {
1036
975
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1037
976
  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 }); }
@@ -1039,7 +978,6 @@ class TuiWithDropdownOpen {
1039
978
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiWithDropdownOpen, decorators: [{
1040
979
  type: Directive,
1041
980
  args: [{
1042
- standalone: true,
1043
981
  hostDirectives: [
1044
982
  {
1045
983
  directive: TuiDropdownOpen,
@@ -1054,5 +992,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
1054
992
  * Generated bundle index. Do not edit.
1055
993
  */
1056
994
 
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 };
995
+ 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
996
  //# sourceMappingURL=taiga-ui-core-directives-dropdown.mjs.map