@taiga-ui/core 3.49.0 → 3.50.0

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 (594) hide show
  1. package/abstract/taiga-ui-core-abstract.d.ts +0 -3
  2. package/animations/taiga-ui-core-animations.d.ts +0 -3
  3. package/bundles/taiga-ui-core-abstract.umd.js +0 -9
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-animations.umd.js +0 -4
  6. package/bundles/taiga-ui-core-animations.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-alert.umd.js +1 -16
  8. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.js +0 -7
  10. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-calendar.umd.js +0 -4
  12. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-data-list.umd.js +0 -10
  14. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -13
  16. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-error.umd.js +0 -4
  18. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-expand.umd.js +0 -5
  20. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-group.umd.js +1 -5
  22. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-hints-host.umd.js +0 -8
  24. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +11 -7
  26. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-label.umd.js +0 -4
  28. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-link.umd.js +0 -5
  30. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-loader.umd.js +0 -9
  32. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-notification.umd.js +1 -8
  34. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +0 -7
  36. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +0 -8
  38. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +0 -4
  40. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +1 -33
  42. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +0 -4
  44. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-root.umd.js +1 -7
  46. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +0 -5
  48. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-scrollbar.umd.js +0 -8
  50. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-svg.umd.js +0 -9
  52. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-theme-night.umd.js +0 -4
  54. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-tooltip.umd.js +0 -4
  56. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-components.umd.js +0 -4
  58. package/bundles/taiga-ui-core-components.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-constants.umd.js +0 -26
  60. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-directives-dropdown.umd.js +22 -51
  62. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-directives-hint.umd.js +0 -13
  64. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  65. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +0 -7
  66. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
  67. package/bundles/taiga-ui-core-directives-mode.umd.js +0 -4
  68. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  69. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +0 -9
  70. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +0 -11
  72. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  73. package/bundles/taiga-ui-core-directives-wrapper.umd.js +0 -4
  74. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-directives.umd.js +0 -4
  76. package/bundles/taiga-ui-core-directives.umd.js.map +1 -1
  77. package/bundles/taiga-ui-core-enums.umd.js +0 -22
  78. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-interfaces.umd.js +1 -3
  80. package/bundles/taiga-ui-core-interfaces.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +0 -4
  82. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +0 -5
  84. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
  85. package/bundles/taiga-ui-core-internal.umd.js +0 -4
  86. package/bundles/taiga-ui-core-internal.umd.js.map +1 -1
  87. package/bundles/taiga-ui-core-mask.umd.js +1 -3
  88. package/bundles/taiga-ui-core-mask.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-observables.umd.js +0 -11
  90. package/bundles/taiga-ui-core-observables.umd.js.map +1 -1
  91. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +0 -11
  92. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  93. package/bundles/taiga-ui-core-pipes-flag.umd.js +0 -4
  94. package/bundles/taiga-ui-core-pipes-flag.umd.js.map +1 -1
  95. package/bundles/taiga-ui-core-pipes-format-date.umd.js +0 -4
  96. package/bundles/taiga-ui-core-pipes-format-date.umd.js.map +1 -1
  97. package/bundles/taiga-ui-core-pipes-format-number.umd.js +0 -10
  98. package/bundles/taiga-ui-core-pipes-format-number.umd.js.map +1 -1
  99. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +0 -11
  100. package/bundles/taiga-ui-core-pipes-format-phone.umd.js.map +1 -1
  101. package/bundles/taiga-ui-core-pipes-month.umd.js +0 -4
  102. package/bundles/taiga-ui-core-pipes-month.umd.js.map +1 -1
  103. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +0 -4
  104. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
  105. package/bundles/taiga-ui-core-pipes.umd.js +0 -4
  106. package/bundles/taiga-ui-core-pipes.umd.js.map +1 -1
  107. package/bundles/taiga-ui-core-providers.umd.js +0 -4
  108. package/bundles/taiga-ui-core-providers.umd.js.map +1 -1
  109. package/bundles/taiga-ui-core-services.umd.js +2 -20
  110. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  111. package/bundles/taiga-ui-core-tokens.umd.js +0 -123
  112. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  113. package/bundles/taiga-ui-core-types.umd.js +1 -3
  114. package/bundles/taiga-ui-core-types.umd.js.map +1 -1
  115. package/bundles/taiga-ui-core-utils-dom.umd.js +0 -50
  116. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  117. package/bundles/taiga-ui-core-utils-format.umd.js +0 -51
  118. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  119. package/bundles/taiga-ui-core-utils-mask.umd.js +1 -40
  120. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  121. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +0 -17
  122. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  123. package/bundles/taiga-ui-core-utils-mobile.umd.js +0 -4
  124. package/bundles/taiga-ui-core-utils-mobile.umd.js.map +1 -1
  125. package/bundles/taiga-ui-core-utils.umd.js +0 -4
  126. package/bundles/taiga-ui-core-utils.umd.js.map +1 -1
  127. package/bundles/taiga-ui-core.umd.js +0 -4
  128. package/bundles/taiga-ui-core.umd.js.map +1 -1
  129. package/components/alert/taiga-ui-core-components-alert.d.ts +0 -3
  130. package/components/button/button.options.d.ts +0 -3
  131. package/components/button/taiga-ui-core-components-button.d.ts +0 -3
  132. package/components/calendar/calendar.component.d.ts +2 -2
  133. package/components/calendar/taiga-ui-core-components-calendar.d.ts +0 -3
  134. package/components/data-list/option/option.component.d.ts +0 -1
  135. package/components/data-list/taiga-ui-core-components-data-list.d.ts +0 -3
  136. package/components/dialog/dialog.tokens.d.ts +0 -6
  137. package/components/dialog/taiga-ui-core-components-dialog.d.ts +0 -3
  138. package/components/error/taiga-ui-core-components-error.d.ts +0 -3
  139. package/components/expand/taiga-ui-core-components-expand.d.ts +0 -3
  140. package/components/group/taiga-ui-core-components-group.d.ts +0 -3
  141. package/components/hints-host/taiga-ui-core-components-hints-host.d.ts +0 -3
  142. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -1
  143. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.d.ts +0 -3
  144. package/components/label/taiga-ui-core-components-label.d.ts +0 -3
  145. package/components/link/taiga-ui-core-components-link.d.ts +0 -3
  146. package/components/loader/loader.options.d.ts +0 -4
  147. package/components/loader/taiga-ui-core-components-loader.d.ts +0 -3
  148. package/components/notification/notification.component.d.ts +0 -3
  149. package/components/notification/taiga-ui-core-components-notification.d.ts +0 -3
  150. package/components/primitive-calendar/primitive-calendar.component.d.ts +0 -3
  151. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.d.ts +0 -3
  152. package/components/primitive-checkbox/checkbox.options.d.ts +0 -4
  153. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.d.ts +0 -3
  154. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.d.ts +0 -3
  155. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -16
  156. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -7
  157. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.d.ts +0 -3
  158. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.d.ts +0 -3
  159. package/components/root/taiga-ui-core-components-root.d.ts +0 -3
  160. package/components/scroll-controls/scroll-controls.module.d.ts +0 -1
  161. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.d.ts +0 -3
  162. package/components/scrollbar/scroll-ref.directive.d.ts +0 -2
  163. package/components/scrollbar/taiga-ui-core-components-scrollbar.d.ts +0 -3
  164. package/components/svg/svg-options.d.ts +0 -3
  165. package/components/svg/taiga-ui-core-components-svg.d.ts +0 -3
  166. package/components/taiga-ui-core-components.d.ts +0 -3
  167. package/components/theme-night/taiga-ui-core-components-theme-night.d.ts +0 -3
  168. package/components/tooltip/taiga-ui-core-components-tooltip.d.ts +0 -3
  169. package/constants/cache-basting-payload.d.ts +1 -1
  170. package/constants/decimal-symbols.d.ts +0 -4
  171. package/constants/events.d.ts +0 -14
  172. package/constants/mask-caret-trap.d.ts +0 -4
  173. package/constants/taiga-ui-core-constants.d.ts +0 -3
  174. package/directives/dropdown/dropdown-hover.options.d.ts +0 -4
  175. package/directives/dropdown/dropdown-options.directive.d.ts +0 -4
  176. package/directives/dropdown/dropdown-selection.directive.d.ts +0 -9
  177. package/directives/dropdown/dropdown.component.d.ts +2 -9
  178. package/directives/dropdown/dropdown.providers.d.ts +0 -3
  179. package/directives/dropdown/taiga-ui-core-directives-dropdown.d.ts +0 -3
  180. package/directives/hint/hint-options.directive.d.ts +0 -4
  181. package/directives/hint/hint.providers.d.ts +0 -3
  182. package/directives/hint/taiga-ui-core-directives-hint.d.ts +0 -3
  183. package/directives/mask-accessor/mask-accessor.module.d.ts +0 -3
  184. package/directives/mask-accessor/taiga-ui-core-directives-mask-accessor.d.ts +0 -3
  185. package/directives/mode/taiga-ui-core-directives-mode.d.ts +0 -3
  186. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +0 -3
  187. package/directives/scroll-into-view/taiga-ui-core-directives-scroll-into-view.d.ts +0 -3
  188. package/directives/taiga-ui-core-directives.d.ts +0 -3
  189. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.d.ts +0 -3
  190. package/directives/textfield-controller/textfield.options.d.ts +0 -7
  191. package/directives/wrapper/taiga-ui-core-directives-wrapper.d.ts +0 -3
  192. package/enums/dropdown-animation.d.ts +0 -1
  193. package/enums/interactive-state.d.ts +0 -3
  194. package/enums/notification.d.ts +0 -3
  195. package/enums/range-state.d.ts +0 -3
  196. package/enums/taiga-ui-core-enums.d.ts +0 -3
  197. package/esm2015/abstract/driver.js +1 -2
  198. package/esm2015/abstract/position-accessor.js +1 -2
  199. package/esm2015/abstract/rect-accessor.js +1 -3
  200. package/esm2015/abstract/taiga-ui-core-abstract.js +1 -4
  201. package/esm2015/abstract/vehicle.js +1 -2
  202. package/esm2015/animations/taiga-ui-core-animations.js +1 -4
  203. package/esm2015/components/alert/alert.component.js +2 -13
  204. package/esm2015/components/alert/taiga-ui-core-components-alert.js +1 -4
  205. package/esm2015/components/button/button.options.js +1 -4
  206. package/esm2015/components/button/taiga-ui-core-components-button.js +1 -4
  207. package/esm2015/components/calendar/calendar.component.js +1 -1
  208. package/esm2015/components/calendar/taiga-ui-core-components-calendar.js +1 -4
  209. package/esm2015/components/data-list/data-list.component.js +1 -3
  210. package/esm2015/components/data-list/option/option.component.js +1 -5
  211. package/esm2015/components/data-list/taiga-ui-core-components-data-list.js +1 -4
  212. package/esm2015/components/dialog/dialog.component.js +2 -4
  213. package/esm2015/components/dialog/dialog.tokens.js +1 -7
  214. package/esm2015/components/dialog/taiga-ui-core-components-dialog.js +1 -4
  215. package/esm2015/components/error/taiga-ui-core-components-error.js +1 -4
  216. package/esm2015/components/expand/expand.component.js +1 -2
  217. package/esm2015/components/expand/taiga-ui-core-components-expand.js +1 -4
  218. package/esm2015/components/group/group-styles.component.js +1 -1
  219. package/esm2015/components/group/taiga-ui-core-components-group.js +1 -4
  220. package/esm2015/components/hints-host/hints-host.component.js +1 -5
  221. package/esm2015/components/hints-host/taiga-ui-core-components-hints-host.js +1 -4
  222. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +12 -7
  223. package/esm2015/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.js +1 -4
  224. package/esm2015/components/label/taiga-ui-core-components-label.js +1 -4
  225. package/esm2015/components/link/link.component.js +1 -2
  226. package/esm2015/components/link/taiga-ui-core-components-link.js +1 -4
  227. package/esm2015/components/loader/loader.component.js +1 -2
  228. package/esm2015/components/loader/loader.options.js +1 -5
  229. package/esm2015/components/loader/taiga-ui-core-components-loader.js +1 -4
  230. package/esm2015/components/notification/notification.component.js +2 -5
  231. package/esm2015/components/notification/taiga-ui-core-components-notification.js +1 -4
  232. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +1 -4
  233. package/esm2015/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.js +1 -4
  234. package/esm2015/components/primitive-checkbox/checkbox.options.js +1 -5
  235. package/esm2015/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.js +1 -4
  236. package/esm2015/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.js +1 -4
  237. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +1 -13
  238. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -9
  239. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +1 -6
  240. package/esm2015/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.js +1 -4
  241. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +1 -3
  242. package/esm2015/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.js +1 -4
  243. package/esm2015/components/root/root.component.js +2 -4
  244. package/esm2015/components/root/taiga-ui-core-components-root.js +1 -4
  245. package/esm2015/components/scroll-controls/scroll-controls.module.js +1 -2
  246. package/esm2015/components/scroll-controls/taiga-ui-core-components-scroll-controls.js +1 -4
  247. package/esm2015/components/scrollbar/scroll-ref.directive.js +1 -3
  248. package/esm2015/components/scrollbar/scrollbar.component.js +1 -3
  249. package/esm2015/components/scrollbar/taiga-ui-core-components-scrollbar.js +1 -4
  250. package/esm2015/components/svg/svg-options.js +1 -4
  251. package/esm2015/components/svg/svg.component.js +1 -3
  252. package/esm2015/components/svg/taiga-ui-core-components-svg.js +1 -4
  253. package/esm2015/components/taiga-ui-core-components.js +1 -4
  254. package/esm2015/components/theme-night/taiga-ui-core-components-theme-night.js +1 -4
  255. package/esm2015/components/tooltip/taiga-ui-core-components-tooltip.js +1 -4
  256. package/esm2015/constants/decimal-symbols.js +1 -5
  257. package/esm2015/constants/events.js +1 -15
  258. package/esm2015/constants/mask-caret-trap.js +1 -5
  259. package/esm2015/constants/taiga-ui-core-constants.js +1 -4
  260. package/esm2015/directives/dropdown/dropdown-driver.directive.js +1 -2
  261. package/esm2015/directives/dropdown/dropdown-hover.options.js +1 -5
  262. package/esm2015/directives/dropdown/dropdown-options.directive.js +1 -5
  263. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +2 -2
  264. package/esm2015/directives/dropdown/dropdown-position.directive.js +13 -6
  265. package/esm2015/directives/dropdown/dropdown-selection.directive.js +1 -10
  266. package/esm2015/directives/dropdown/dropdown.component.js +8 -18
  267. package/esm2015/directives/dropdown/dropdown.directive.js +1 -2
  268. package/esm2015/directives/dropdown/dropdown.providers.js +1 -4
  269. package/esm2015/directives/dropdown/taiga-ui-core-directives-dropdown.js +1 -4
  270. package/esm2015/directives/hint/hint-driver.directive.js +1 -2
  271. package/esm2015/directives/hint/hint-hover.directive.js +1 -2
  272. package/esm2015/directives/hint/hint-options.directive.js +1 -5
  273. package/esm2015/directives/hint/hint-position.directive.js +1 -2
  274. package/esm2015/directives/hint/hint.directive.js +1 -2
  275. package/esm2015/directives/hint/hint.providers.js +1 -5
  276. package/esm2015/directives/hint/taiga-ui-core-directives-hint.js +1 -4
  277. package/esm2015/directives/mask-accessor/mask-accessor.module.js +1 -4
  278. package/esm2015/directives/mask-accessor/taiga-ui-core-directives-mask-accessor.js +1 -4
  279. package/esm2015/directives/mode/taiga-ui-core-directives-mode.js +1 -4
  280. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +1 -6
  281. package/esm2015/directives/scroll-into-view/taiga-ui-core-directives-scroll-into-view.js +1 -4
  282. package/esm2015/directives/taiga-ui-core-directives.js +1 -4
  283. package/esm2015/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.js +1 -4
  284. package/esm2015/directives/textfield-controller/textfield-appearance.directive.js +1 -4
  285. package/esm2015/directives/textfield-controller/textfield.options.js +1 -5
  286. package/esm2015/directives/wrapper/taiga-ui-core-directives-wrapper.js +1 -4
  287. package/esm2015/enums/appearance.js +1 -3
  288. package/esm2015/enums/dropdown-animation.js +1 -3
  289. package/esm2015/enums/interactive-state.js +1 -6
  290. package/esm2015/enums/notification.js +1 -5
  291. package/esm2015/enums/range-state.js +1 -6
  292. package/esm2015/enums/taiga-ui-core-enums.js +1 -4
  293. package/esm2015/interfaces/taiga-ui-core-interfaces.js +1 -4
  294. package/esm2015/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -4
  295. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +1 -2
  296. package/esm2015/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.js +1 -4
  297. package/esm2015/internal/taiga-ui-core-internal.js +1 -4
  298. package/esm2015/mask/taiga-ui-core-mask.js +1 -4
  299. package/esm2015/observables/taiga-ui-core-observables.js +1 -4
  300. package/esm2015/observables/zoneful-map.js +1 -8
  301. package/esm2015/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.js +1 -4
  302. package/esm2015/pipes/calendar-sheet/utils.js +1 -8
  303. package/esm2015/pipes/flag/taiga-ui-core-pipes-flag.js +1 -4
  304. package/esm2015/pipes/format-date/taiga-ui-core-pipes-format-date.js +1 -4
  305. package/esm2015/pipes/format-number/format-number.pipe.js +1 -7
  306. package/esm2015/pipes/format-number/taiga-ui-core-pipes-format-number.js +1 -4
  307. package/esm2015/pipes/format-phone/format-phone.pipe.js +1 -8
  308. package/esm2015/pipes/format-phone/taiga-ui-core-pipes-format-phone.js +1 -4
  309. package/esm2015/pipes/month/taiga-ui-core-pipes-month.js +1 -4
  310. package/esm2015/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.js +1 -4
  311. package/esm2015/pipes/taiga-ui-core-pipes.js +1 -4
  312. package/esm2015/providers/taiga-ui-core-providers.js +1 -4
  313. package/esm2015/services/breakpoint.service.js +1 -4
  314. package/esm2015/services/hint.service.js +1 -4
  315. package/esm2015/services/position.service.js +2 -4
  316. package/esm2015/services/router-link-active.service.js +2 -4
  317. package/esm2015/services/svg.service.js +1 -4
  318. package/esm2015/services/taiga-ui-core-services.js +1 -4
  319. package/esm2015/services/visual-viewport.service.js +1 -2
  320. package/esm2015/taiga-ui-core.js +1 -4
  321. package/esm2015/tokens/animation-options.js +1 -4
  322. package/esm2015/tokens/animations-duration.js +1 -4
  323. package/esm2015/tokens/assert-enabled.js +1 -8
  324. package/esm2015/tokens/data-list-accessor.js +1 -4
  325. package/esm2015/tokens/data-list-host.js +1 -4
  326. package/esm2015/tokens/day-type-handler.js +1 -4
  327. package/esm2015/tokens/element-ref.js +1 -4
  328. package/esm2015/tokens/first-day-of-week.js +1 -4
  329. package/esm2015/tokens/i18n.js +1 -19
  330. package/esm2015/tokens/icon-place.js +1 -5
  331. package/esm2015/tokens/icons-path.js +1 -5
  332. package/esm2015/tokens/icons.js +1 -4
  333. package/esm2015/tokens/is-mobile-resolution.js +1 -6
  334. package/esm2015/tokens/legacy-mask.js +1 -6
  335. package/esm2015/tokens/media.js +1 -4
  336. package/esm2015/tokens/mode.js +1 -4
  337. package/esm2015/tokens/notification-options.js +1 -6
  338. package/esm2015/tokens/number-format.js +1 -4
  339. package/esm2015/tokens/option-content.js +1 -4
  340. package/esm2015/tokens/ordered-short-week-days.js +1 -8
  341. package/esm2015/tokens/sanitizer.js +1 -4
  342. package/esm2015/tokens/scroll-ref.js +1 -4
  343. package/esm2015/tokens/selection-stream.js +1 -4
  344. package/esm2015/tokens/svg-content-processor.js +1 -5
  345. package/esm2015/tokens/svg-src-processor.js +1 -5
  346. package/esm2015/tokens/taiga-ui-core-tokens.js +1 -4
  347. package/esm2015/tokens/textfield-appearance.js +1 -6
  348. package/esm2015/tokens/textfield-host.js +1 -4
  349. package/esm2015/tokens/value-accessor.js +1 -4
  350. package/esm2015/tokens/viewport.js +1 -4
  351. package/esm2015/types/size.js +1 -12
  352. package/esm2015/types/taiga-ui-core-types.js +1 -4
  353. package/esm2015/utils/dom/get-safe-area-size.js +1 -6
  354. package/esm2015/utils/dom/get-viewport-height.js +1 -18
  355. package/esm2015/utils/dom/get-viewport-width.js +1 -18
  356. package/esm2015/utils/dom/get-word-range.js +1 -8
  357. package/esm2015/utils/dom/taiga-ui-core-utils-dom.js +1 -4
  358. package/esm2015/utils/format/capitalize.js +1 -8
  359. package/esm2015/utils/format/format-number.js +1 -9
  360. package/esm2015/utils/format/format-phone.js +1 -20
  361. package/esm2015/utils/format/get-fractional-part-padded.js +1 -8
  362. package/esm2015/utils/format/number-to-string-without-exp.js +1 -7
  363. package/esm2015/utils/format/taiga-ui-core-utils-format.js +1 -4
  364. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +1 -9
  365. package/esm2015/utils/mask/create-correction-mask.js +1 -5
  366. package/esm2015/utils/mask/create-number-mask.js +2 -10
  367. package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +1 -5
  368. package/esm2015/utils/mask/masked-money-value-is-empty.js +1 -8
  369. package/esm2015/utils/mask/masked-number-string-to-number.js +1 -5
  370. package/esm2015/utils/mask/taiga-ui-core-utils-mask.js +1 -4
  371. package/esm2015/utils/miscellaneous/is-editing-key.js +1 -4
  372. package/esm2015/utils/miscellaneous/is-obscured.js +1 -4
  373. package/esm2015/utils/miscellaneous/override-options.js +1 -2
  374. package/esm2015/utils/miscellaneous/size-bigger.js +1 -7
  375. package/esm2015/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.js +1 -4
  376. package/esm2015/utils/mobile/taiga-ui-core-utils-mobile.js +1 -4
  377. package/esm2015/utils/taiga-ui-core-utils.js +1 -4
  378. package/fesm2015/taiga-ui-core-abstract.js +0 -9
  379. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  380. package/fesm2015/taiga-ui-core-animations.js +0 -4
  381. package/fesm2015/taiga-ui-core-animations.js.map +1 -1
  382. package/fesm2015/taiga-ui-core-components-alert.js +1 -16
  383. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  384. package/fesm2015/taiga-ui-core-components-button.js +0 -7
  385. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  386. package/fesm2015/taiga-ui-core-components-calendar.js +0 -4
  387. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  388. package/fesm2015/taiga-ui-core-components-data-list.js +0 -10
  389. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  390. package/fesm2015/taiga-ui-core-components-dialog.js +1 -13
  391. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  392. package/fesm2015/taiga-ui-core-components-error.js +0 -4
  393. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  394. package/fesm2015/taiga-ui-core-components-expand.js +0 -5
  395. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  396. package/fesm2015/taiga-ui-core-components-group.js +1 -5
  397. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  398. package/fesm2015/taiga-ui-core-components-hints-host.js +0 -8
  399. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  400. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +11 -10
  401. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  402. package/fesm2015/taiga-ui-core-components-label.js +0 -4
  403. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  404. package/fesm2015/taiga-ui-core-components-link.js +0 -5
  405. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  406. package/fesm2015/taiga-ui-core-components-loader.js +0 -9
  407. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  408. package/fesm2015/taiga-ui-core-components-notification.js +1 -8
  409. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  410. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +0 -7
  411. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  412. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +0 -8
  413. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  414. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +0 -4
  415. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  416. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +0 -31
  417. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  418. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +0 -4
  419. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  420. package/fesm2015/taiga-ui-core-components-root.js +1 -7
  421. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  422. package/fesm2015/taiga-ui-core-components-scroll-controls.js +0 -5
  423. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  424. package/fesm2015/taiga-ui-core-components-scrollbar.js +0 -8
  425. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  426. package/fesm2015/taiga-ui-core-components-svg.js +0 -9
  427. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  428. package/fesm2015/taiga-ui-core-components-theme-night.js +0 -4
  429. package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
  430. package/fesm2015/taiga-ui-core-components-tooltip.js +0 -4
  431. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  432. package/fesm2015/taiga-ui-core-components.js +0 -4
  433. package/fesm2015/taiga-ui-core-components.js.map +1 -1
  434. package/fesm2015/taiga-ui-core-constants.js +0 -26
  435. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  436. package/fesm2015/taiga-ui-core-directives-dropdown.js +20 -49
  437. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  438. package/fesm2015/taiga-ui-core-directives-hint.js +0 -14
  439. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  440. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +0 -7
  441. package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
  442. package/fesm2015/taiga-ui-core-directives-mode.js +0 -4
  443. package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
  444. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +0 -9
  445. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
  446. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +0 -11
  447. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  448. package/fesm2015/taiga-ui-core-directives-wrapper.js +0 -4
  449. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  450. package/fesm2015/taiga-ui-core-directives.js +0 -4
  451. package/fesm2015/taiga-ui-core-directives.js.map +1 -1
  452. package/fesm2015/taiga-ui-core-enums.js +0 -22
  453. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  454. package/fesm2015/taiga-ui-core-interfaces.js +1 -3
  455. package/fesm2015/taiga-ui-core-interfaces.js.map +1 -1
  456. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +0 -4
  457. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  458. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +0 -5
  459. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
  460. package/fesm2015/taiga-ui-core-internal.js +0 -4
  461. package/fesm2015/taiga-ui-core-internal.js.map +1 -1
  462. package/fesm2015/taiga-ui-core-mask.js +1 -3
  463. package/fesm2015/taiga-ui-core-mask.js.map +1 -1
  464. package/fesm2015/taiga-ui-core-observables.js +0 -11
  465. package/fesm2015/taiga-ui-core-observables.js.map +1 -1
  466. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +0 -11
  467. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  468. package/fesm2015/taiga-ui-core-pipes-flag.js +0 -4
  469. package/fesm2015/taiga-ui-core-pipes-flag.js.map +1 -1
  470. package/fesm2015/taiga-ui-core-pipes-format-date.js +0 -4
  471. package/fesm2015/taiga-ui-core-pipes-format-date.js.map +1 -1
  472. package/fesm2015/taiga-ui-core-pipes-format-number.js +0 -10
  473. package/fesm2015/taiga-ui-core-pipes-format-number.js.map +1 -1
  474. package/fesm2015/taiga-ui-core-pipes-format-phone.js +0 -11
  475. package/fesm2015/taiga-ui-core-pipes-format-phone.js.map +1 -1
  476. package/fesm2015/taiga-ui-core-pipes-month.js +0 -4
  477. package/fesm2015/taiga-ui-core-pipes-month.js.map +1 -1
  478. package/fesm2015/taiga-ui-core-pipes-order-week-days.js +0 -4
  479. package/fesm2015/taiga-ui-core-pipes-order-week-days.js.map +1 -1
  480. package/fesm2015/taiga-ui-core-pipes.js +0 -4
  481. package/fesm2015/taiga-ui-core-pipes.js.map +1 -1
  482. package/fesm2015/taiga-ui-core-providers.js +0 -4
  483. package/fesm2015/taiga-ui-core-providers.js.map +1 -1
  484. package/fesm2015/taiga-ui-core-services.js +2 -20
  485. package/fesm2015/taiga-ui-core-services.js.map +1 -1
  486. package/fesm2015/taiga-ui-core-tokens.js +0 -126
  487. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  488. package/fesm2015/taiga-ui-core-types.js +0 -14
  489. package/fesm2015/taiga-ui-core-types.js.map +1 -1
  490. package/fesm2015/taiga-ui-core-utils-dom.js +0 -50
  491. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  492. package/fesm2015/taiga-ui-core-utils-format.js +0 -51
  493. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  494. package/fesm2015/taiga-ui-core-utils-mask.js +1 -40
  495. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  496. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +0 -17
  497. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  498. package/fesm2015/taiga-ui-core-utils-mobile.js +0 -4
  499. package/fesm2015/taiga-ui-core-utils-mobile.js.map +1 -1
  500. package/fesm2015/taiga-ui-core-utils.js +0 -4
  501. package/fesm2015/taiga-ui-core-utils.js.map +1 -1
  502. package/fesm2015/taiga-ui-core.js +0 -4
  503. package/fesm2015/taiga-ui-core.js.map +1 -1
  504. package/interfaces/alert-options.d.ts +0 -2
  505. package/interfaces/dialog-options.d.ts +0 -11
  506. package/interfaces/number-format-settings.d.ts +0 -21
  507. package/interfaces/taiga-ui-core-interfaces.d.ts +0 -3
  508. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.d.ts +0 -3
  509. package/internal/svg-defs-host/taiga-ui-core-internal-svg-defs-host.d.ts +0 -3
  510. package/internal/taiga-ui-core-internal.d.ts +0 -3
  511. package/mask/taiga-ui-core-mask.d.ts +0 -3
  512. package/mask/text-mask-config.d.ts +0 -5
  513. package/mask/text-mask-correction-handler.d.ts +0 -3
  514. package/mask/text-mask-list-handler.d.ts +0 -3
  515. package/mask/text-mask-list.d.ts +0 -4
  516. package/mask/text-mask-options.d.ts +0 -22
  517. package/mask/text-mask-pipe-handler.d.ts +0 -4
  518. package/mask/text-mask-pipe-result.d.ts +0 -4
  519. package/observables/taiga-ui-core-observables.d.ts +0 -3
  520. package/observables/zoneful-map.d.ts +0 -7
  521. package/package.json +4 -4
  522. package/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.d.ts +0 -3
  523. package/pipes/calendar-sheet/utils.d.ts +0 -13
  524. package/pipes/flag/taiga-ui-core-pipes-flag.d.ts +0 -3
  525. package/pipes/format-date/taiga-ui-core-pipes-format-date.d.ts +0 -3
  526. package/pipes/format-number/format-number.pipe.d.ts +0 -6
  527. package/pipes/format-number/taiga-ui-core-pipes-format-number.d.ts +0 -3
  528. package/pipes/format-phone/format-phone.pipe.d.ts +0 -7
  529. package/pipes/format-phone/taiga-ui-core-pipes-format-phone.d.ts +0 -3
  530. package/pipes/month/taiga-ui-core-pipes-month.d.ts +0 -3
  531. package/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.d.ts +0 -3
  532. package/pipes/taiga-ui-core-pipes.d.ts +0 -3
  533. package/providers/taiga-ui-core-providers.d.ts +0 -3
  534. package/services/breakpoint.service.d.ts +0 -3
  535. package/services/hint.service.d.ts +0 -3
  536. package/services/svg.service.d.ts +0 -3
  537. package/services/taiga-ui-core-services.d.ts +0 -3
  538. package/taiga-ui-core.d.ts +0 -3
  539. package/tokens/animation-options.d.ts +0 -3
  540. package/tokens/animations-duration.d.ts +0 -3
  541. package/tokens/assert-enabled.d.ts +0 -7
  542. package/tokens/data-list-accessor.d.ts +0 -3
  543. package/tokens/data-list-host.d.ts +0 -3
  544. package/tokens/day-type-handler.d.ts +0 -3
  545. package/tokens/element-ref.d.ts +0 -3
  546. package/tokens/first-day-of-week.d.ts +0 -3
  547. package/tokens/i18n.d.ts +0 -18
  548. package/tokens/icon-place.d.ts +0 -4
  549. package/tokens/icons-path.d.ts +0 -4
  550. package/tokens/icons.d.ts +0 -3
  551. package/tokens/is-mobile-resolution.d.ts +0 -5
  552. package/tokens/legacy-mask.d.ts +0 -5
  553. package/tokens/media.d.ts +0 -3
  554. package/tokens/mode.d.ts +0 -3
  555. package/tokens/notification-options.d.ts +0 -5
  556. package/tokens/number-format.d.ts +0 -3
  557. package/tokens/option-content.d.ts +0 -3
  558. package/tokens/ordered-short-week-days.d.ts +0 -7
  559. package/tokens/sanitizer.d.ts +0 -3
  560. package/tokens/scroll-ref.d.ts +0 -3
  561. package/tokens/selection-stream.d.ts +0 -3
  562. package/tokens/svg-content-processor.d.ts +0 -4
  563. package/tokens/svg-src-processor.d.ts +0 -4
  564. package/tokens/taiga-ui-core-tokens.d.ts +0 -3
  565. package/tokens/textfield-appearance.d.ts +0 -5
  566. package/tokens/textfield-host.d.ts +0 -3
  567. package/tokens/value-accessor.d.ts +0 -3
  568. package/tokens/viewport.d.ts +0 -3
  569. package/types/size.d.ts +0 -11
  570. package/types/taiga-ui-core-types.d.ts +0 -3
  571. package/utils/dom/get-safe-area-size.d.ts +0 -5
  572. package/utils/dom/get-viewport-height.d.ts +0 -17
  573. package/utils/dom/get-viewport-width.d.ts +0 -17
  574. package/utils/dom/get-word-range.d.ts +0 -6
  575. package/utils/dom/taiga-ui-core-utils-dom.d.ts +0 -3
  576. package/utils/format/capitalize.d.ts +0 -7
  577. package/utils/format/format-number.d.ts +0 -8
  578. package/utils/format/format-phone.d.ts +0 -19
  579. package/utils/format/get-fractional-part-padded.d.ts +0 -7
  580. package/utils/format/number-to-string-without-exp.d.ts +0 -6
  581. package/utils/format/taiga-ui-core-utils-format.d.ts +0 -3
  582. package/utils/mask/create-auto-corrected-money-pipe.d.ts +0 -5
  583. package/utils/mask/create-correction-mask.d.ts +0 -4
  584. package/utils/mask/create-number-mask.d.ts +0 -5
  585. package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +0 -4
  586. package/utils/mask/masked-money-value-is-empty.d.ts +0 -7
  587. package/utils/mask/masked-number-string-to-number.d.ts +0 -4
  588. package/utils/mask/taiga-ui-core-utils-mask.d.ts +0 -3
  589. package/utils/miscellaneous/is-editing-key.d.ts +0 -3
  590. package/utils/miscellaneous/is-obscured.d.ts +0 -3
  591. package/utils/miscellaneous/size-bigger.d.ts +0 -6
  592. package/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.d.ts +0 -3
  593. package/utils/mobile/taiga-ui-core-utils-mobile.d.ts +0 -3
  594. package/utils/taiga-ui-core-utils.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown-open.directive.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.options.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {Type} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TuiDropdownComponent} from './dropdown.component';\n\n/**\n * A component to display a dropdown\n */\nexport const TUI_DROPDOWN_COMPONENT = tuiCreateTokenFromFactory<Type<any>>(\n () => TuiDropdownComponent,\n);\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\n\nimport type {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdownOpen],[tuiDropdownOpenChange]',\n})\nexport class TuiDropdownOpenDirective {\n @Input()\n set tuiDropdownOpen(open: boolean) {\n this.dropdown?.toggle(open);\n }\n\n @Output()\n readonly tuiDropdownOpenChange = new EventEmitter<boolean>();\n\n dropdown?: TuiDropdownDirective;\n}\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n Type,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\nimport {TuiDropdownOpenDirective} from './dropdown-open.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n TuiDestroyService,\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n private readonly refresh$ = new Subject<void>();\n\n @Input('tuiDropdown')\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n readonly type = 'dropdown';\n\n readonly component = new PolymorpheusComponent(this.dropdown, this.injector);\n\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ElementRef) readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_DROPDOWN_COMPONENT) private readonly dropdown: Type<unknown>,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n @Optional()\n @Inject(TuiDropdownOpenDirective)\n private readonly open: TuiDropdownOpenDirective | null,\n ) {\n if (this.open && !this.open.dropdown) {\n this.open.dropdown = this;\n } else {\n this.open = null;\n }\n\n // Ignore multiple change detection triggers at the same frame\n this.refresh$.pipe(throttleTime(0), takeUntil(destroy$)).subscribe(() => {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n });\n }\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.el.nativeElement) ? 'fixed' : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.refresh$.next();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n\n if (this.open) {\n this.open.dropdown = undefined;\n }\n }\n\n getClientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n this.open?.tuiDropdownOpenChange.emit(true);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n this.open?.tuiDropdownOpenChange.emit(false);\n }\n }\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiDropdownHoverOptions {\n readonly hideDelay: number;\n readonly showDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS: TuiDropdownHoverOptions = {\n showDelay: 200,\n hideDelay: 500,\n};\n\n/**\n * Default parameters for dropdown hover directive\n */\nexport const TUI_DROPDOWN_HOVER_OPTIONS = tuiCreateToken(\n TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n);\n\nexport function tuiDropdownHoverOptionsProvider(\n options: Partial<TuiDropdownHoverOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_DROPDOWN_HOVER_OPTIONS,\n options,\n TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n );\n}\n","import {Directive, Inject, Input, Optional, SkipSelf} from '@angular/core';\nimport {TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\nimport {\n TUI_DROPDOWN_HOVER_OPTIONS,\n TuiDropdownHoverOptions,\n} from './dropdown-hover.options';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n showDelay = this.options.showDelay;\n\n @Input('tuiDropdownHideDelay')\n hideDelay = this.options.hideDelay;\n\n hovered = false;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_DROPDOWN_HOVER_OPTIONS)\n private readonly options: TuiDropdownHoverOptions,\n @SkipSelf()\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly parentHover: TuiDropdownHoverDirective | null,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.parentHover?.toggle(visible);\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {\n TuiDropdownAlign,\n TuiDropdownWidth,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiDropdownAlign;\n readonly appearance: string;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly maxHeight: number;\n readonly minHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n appearance: '',\n};\n\n/**\n * Default parameters for dropdown directive\n */\nexport const TUI_DROPDOWN_OPTIONS = tuiCreateToken(TUI_DROPDOWN_DEFAULT_OPTIONS);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new Optional(), new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override, TUI_DROPDOWN_DEFAULT_OPTIONS),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n align = this.options.align;\n\n @Input('tuiDropdownAppearance')\n appearance = this.options.appearance;\n\n @Input('tuiDropdownDirection')\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TuiPositionService, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * @description:\n * This component is used to show template in a portal\n * using default style of white rounded box with a shadow\n */\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n providers: [\n TuiDestroyService,\n TuiPositionService,\n tuiPositionAccessorFor('dropdown'),\n tuiRectAccessorFor('dropdown', TuiDropdownDirective),\n MODE_PROVIDER,\n ],\n animations: [tuiDropdownAnimation],\n host: {\n '[@tuiDropdownAnimation]': 'animation',\n '[attr.data-appearance]': 'options.appearance',\n '($.data-mode.attr)': 'mode$',\n },\n // @bad TODO: OnPush\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiDropdownComponent {\n constructor(\n @Inject(TuiVisualViewportService) visualViewportService: TuiVisualViewportService,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_DROPDOWN_OPTIONS) readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$\n .pipe(\n map(point =>\n this.directive.position === 'fixed'\n ? visualViewportService.correct(point)\n : point,\n ),\n takeUntil(destroy$),\n )\n .subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n this.updateWidth(this.accessor.getClientRect().width);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.el.nativeElement;\n const {right} = this.el.nativeElement.getBoundingClientRect();\n const {maxHeight, offset} = this.options;\n const {innerHeight} = this.win;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n this.updateWidth(rect.width);\n }\n\n private updateWidth(width: number): void {\n const {style} = this.el.nativeElement;\n\n switch (this.options.limitWidth) {\n case 'min':\n style.minWidth = tuiPx(width);\n break;\n case 'fixed':\n style.width = tuiPx(width);\n break;\n case 'auto':\n break;\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {nativeElement} = this.directive.el;\n const {ownerDocument} = nativeElement;\n const root = ownerDocument ? ownerDocument.body : nativeElement;\n let focusable = tuiGetClosestFocusable({initial: nativeElement, root, previous});\n\n while (focusable !== null && nativeElement.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<tui-scrollbar\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-scroll\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n</tui-scrollbar>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'dropdown';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n readonly type = 'dropdown';\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiDropdownManual = false;\n\n readonly type = 'dropdown';\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective extends TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n @Inject(TuiDropdownDirective) private readonly directive: TuiDropdownDirective,\n ) {\n super();\n }\n\n getPosition({width, height}: ClientRect): TuiPoint {\n if (!width && !height) {\n this.previous = undefined;\n }\n\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset - viewport.top,\n bottom: viewport.bottom - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n center:\n hostRect.left + hostRect.width / 2 + width / 2 < viewport.right - offset\n ? hostRect.left + hostRect.width / 2 - width / 2\n : right,\n left: hostRect.left + width < viewport.right - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n\n @tuiPure\n get accessor(): TuiRectAccessor {\n return tuiFallbackRectAccessor('dropdown')(this.accessors, this.directive);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective extends TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiDropdownPositionDirective,\n ) {\n super();\n }\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.vertical.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {direction, minHeight, offset} = this.options;\n const align = this.options.align === 'center' ? 'left' : this.options.align;\n const available = {\n top: hostRect.bottom - viewport.top,\n left: hostRect.left - offset - viewport.left,\n right: viewport.right - hostRect.right - offset,\n bottom: viewport.bottom - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.el.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly vcr: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.vcr.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const active = tuiGetNativeFocused(this.doc);\n const selection = this.doc.getSelection();\n\n if (active && tuiIsTextfield(active) && this.el.nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.el;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.doc.createRange();\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.doc.createElement('div');\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.vcr.element.nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOpenDirective} from './dropdown-open.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOpenDirective,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOpenDirective,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown-open.directive.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.options.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts"],"sourcesContent":["import {Type} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk';\n\nimport {TuiDropdownComponent} from './dropdown.component';\n\n/**\n * A component to display a dropdown\n */\nexport const TUI_DROPDOWN_COMPONENT = tuiCreateTokenFromFactory<Type<any>>(\n () => TuiDropdownComponent,\n);\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\n\nimport type {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdownOpen],[tuiDropdownOpenChange]',\n})\nexport class TuiDropdownOpenDirective {\n @Input()\n set tuiDropdownOpen(open: boolean) {\n this.dropdown?.toggle(open);\n }\n\n @Output()\n readonly tuiDropdownOpenChange = new EventEmitter<boolean>();\n\n dropdown?: TuiDropdownDirective;\n}\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Self,\n Type,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {takeUntil, throttleTime} from 'rxjs/operators';\n\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\nimport {TuiDropdownOpenDirective} from './dropdown-open.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n TuiDestroyService,\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n private readonly refresh$ = new Subject<void>();\n\n @Input('tuiDropdown')\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n readonly type = 'dropdown';\n\n readonly component = new PolymorpheusComponent(this.dropdown, this.injector);\n\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ElementRef) readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_DROPDOWN_COMPONENT) private readonly dropdown: Type<unknown>,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n @Optional()\n @Inject(TuiDropdownOpenDirective)\n private readonly open: TuiDropdownOpenDirective | null,\n ) {\n if (this.open && !this.open.dropdown) {\n this.open.dropdown = this;\n } else {\n this.open = null;\n }\n\n // Ignore multiple change detection triggers at the same frame\n this.refresh$.pipe(throttleTime(0), takeUntil(destroy$)).subscribe(() => {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n });\n }\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.el.nativeElement) ? 'fixed' : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.refresh$.next();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n\n if (this.open) {\n this.open.dropdown = undefined;\n }\n }\n\n getClientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n this.open?.tuiDropdownOpenChange.emit(true);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n this.open?.tuiDropdownOpenChange.emit(false);\n }\n }\n}\n","import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiDropdownHoverOptions {\n readonly hideDelay: number;\n readonly showDelay: number;\n}\n\n/** Default values for hint options */\nexport const TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS: TuiDropdownHoverOptions = {\n showDelay: 200,\n hideDelay: 500,\n};\n\n/**\n * Default parameters for dropdown hover directive\n */\nexport const TUI_DROPDOWN_HOVER_OPTIONS = tuiCreateToken(\n TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n);\n\nexport function tuiDropdownHoverOptionsProvider(\n options: Partial<TuiDropdownHoverOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_DROPDOWN_HOVER_OPTIONS,\n options,\n TUI_DROPDOWN_HOVER_DEFAULT_OPTIONS,\n );\n}\n","import {Directive, Inject, Input, Optional, SkipSelf} from '@angular/core';\nimport {TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, share, switchMap, tap} from 'rxjs/operators';\n\nimport {\n TUI_DROPDOWN_HOVER_OPTIONS,\n TuiDropdownHoverOptions,\n} from './dropdown-hover.options';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n tap(visible => {\n this.hovered = visible;\n }),\n share(),\n );\n\n @Input('tuiDropdownShowDelay')\n showDelay = this.options.showDelay;\n\n @Input('tuiDropdownHideDelay')\n hideDelay = this.options.hideDelay;\n\n hovered = false;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_DROPDOWN_HOVER_OPTIONS)\n private readonly options: TuiDropdownHoverOptions,\n @SkipSelf()\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly parentHover: TuiDropdownHoverDirective | null,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.parentHover?.toggle(visible);\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {\n TuiDropdownAlign,\n TuiDropdownWidth,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiDropdownAlign;\n readonly appearance: string;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly maxHeight: number;\n readonly minHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n appearance: '',\n};\n\n/**\n * Default parameters for dropdown directive\n */\nexport const TUI_DROPDOWN_OPTIONS = tuiCreateToken(TUI_DROPDOWN_DEFAULT_OPTIONS);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new Optional(), new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override, TUI_DROPDOWN_DEFAULT_OPTIONS),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n align = this.options.align;\n\n @Input('tuiDropdownAppearance')\n appearance = this.options.appearance;\n\n @Input('tuiDropdownDirection')\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {TuiDestroyService, tuiGetClosestFocusable, tuiPx} from '@taiga-ui/cdk';\nimport {\n tuiPositionAccessorFor,\n TuiRectAccessor,\n tuiRectAccessorFor,\n} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TuiPositionService, TuiVisualViewportService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {map, takeUntil} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * @description:\n * This component is used to show template in a portal\n * using default style of white rounded box with a shadow\n */\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n providers: [\n TuiDestroyService,\n TuiPositionService,\n tuiPositionAccessorFor('dropdown'),\n tuiRectAccessorFor('dropdown', TuiDropdownDirective),\n MODE_PROVIDER,\n ],\n animations: [tuiDropdownAnimation],\n host: {\n '[@tuiDropdownAnimation]': 'animation',\n '[attr.data-appearance]': 'options.appearance',\n '($.data-mode.attr)': 'mode$',\n },\n // @bad TODO: OnPush\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiDropdownComponent {\n constructor(\n @Inject(TuiVisualViewportService) visualViewportService: TuiVisualViewportService,\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_DROPDOWN_OPTIONS) readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$\n .pipe(\n map(point =>\n this.directive.position === 'fixed'\n ? visualViewportService.correct(point)\n : point,\n ),\n takeUntil(destroy$),\n )\n .subscribe(([top, left]) => {\n this.update(top, left);\n });\n\n this.updateWidth(this.accessor.getClientRect().width);\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.el.nativeElement;\n const {right} = this.el.nativeElement.getBoundingClientRect();\n const {maxHeight, offset} = this.options;\n const {innerHeight} = this.win;\n const clientRect = this.el.nativeElement.offsetParent?.getBoundingClientRect();\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -(clientRect?.left || 0);\n const offsetY = position === 'fixed' ? 0 : -(clientRect?.top || 0);\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n this.updateWidth(rect.width);\n }\n\n private updateWidth(width: number): void {\n const {style} = this.el.nativeElement;\n\n switch (this.options.limitWidth) {\n case 'min':\n style.minWidth = tuiPx(width);\n break;\n case 'fixed':\n style.width = tuiPx(width);\n break;\n case 'auto':\n break;\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const {nativeElement} = this.directive.el;\n const {ownerDocument} = nativeElement;\n const root = ownerDocument ? ownerDocument.body : nativeElement;\n let focusable = tuiGetClosestFocusable({initial: nativeElement, root, previous});\n\n while (focusable !== null && nativeElement.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<tui-scrollbar\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-scroll\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n</tui-scrollbar>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective, TuiDriver, TuiVehicle} from '@taiga-ui/core/abstract';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {\n readonly type = 'dropdown';\n\n // TODO: Figure out why this is necessary under nx test runner\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) drivers: TuiDriver[],\n @Inject(TuiVehicle) vehicles: TuiVehicle[],\n ) {\n super(destroy$, drivers, vehicles);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n readonly type = 'dropdown';\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {BehaviorSubject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new BehaviorSubject(false);\n\n @Input()\n tuiDropdownManual = false;\n\n readonly type = 'dropdown';\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {EMPTY_CLIENT_RECT, tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n tuiFallbackRectAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective extends TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiRectAccessor) private readonly accessors: readonly TuiRectAccessor[],\n @Inject(TuiDropdownDirective) private readonly directive: TuiDropdownDirective,\n ) {\n super();\n }\n\n getPosition({width, height}: ClientRect): TuiPoint {\n if (!width && !height) {\n this.previous = undefined;\n }\n\n const hostRect = this.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewportRect = this.viewport.getClientRect();\n const {minHeight, align, direction, offset} = this.options;\n const viewport = {\n top: viewportRect.top - offset,\n bottom: viewportRect.bottom + offset,\n right: viewportRect.right - offset,\n left: viewportRect.left + offset,\n } as const;\n const previous = this.previous || direction || 'bottom';\n const available = {\n top: hostRect.top - 2 * offset - viewport.top,\n bottom: viewport.bottom - hostRect.bottom - 2 * offset,\n } as const;\n const right = Math.max(hostRect.right - width, offset);\n const left = hostRect.left + width < viewport.right ? hostRect.left : right;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right: Math.max(viewport.left, right),\n center:\n hostRect.left + hostRect.width / 2 + width / 2 < viewport.right\n ? hostRect.left + hostRect.width / 2 - width / 2\n : right,\n left: Math.max(viewport.left, left),\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n\n @tuiPure\n get accessor(): TuiRectAccessor {\n return tuiFallbackRectAccessor('dropdown')(this.accessors, this.directive);\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_VIEWPORT} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective extends TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(TUI_VIEWPORT) private readonly viewport: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiDropdownPositionDirective,\n ) {\n super();\n }\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.vertical.accessor?.getClientRect() ?? EMPTY_CLIENT_RECT;\n const viewport = this.viewport.getClientRect();\n const {direction, minHeight, offset} = this.options;\n const align = this.options.align === 'center' ? 'left' : this.options.align;\n const available = {\n top: hostRect.bottom - viewport.top,\n left: hostRect.left - offset - viewport.left,\n right: viewport.right - hostRect.right - offset,\n bottom: viewport.bottom - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.el.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n readonly type = 'dropdown';\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly vcr: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.vcr.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const active = tuiGetNativeFocused(this.doc);\n const selection = this.doc.getSelection();\n\n if (active && tuiIsTextfield(active) && this.el.nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.el;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.doc.createRange();\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.doc.createElement('div');\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.vcr.element.nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOpenDirective} from './dropdown-open.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOpenDirective,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOpenDirective,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n"],"names":["i1"],"mappings":"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"}
@@ -20,12 +20,8 @@ import { Subject, merge, of, ReplaySubject, timer, BehaviorSubject } from 'rxjs'
20
20
  import { DOCUMENT, CommonModule } from '@angular/common';
21
21
  import { TUI_HINT_DIRECTIONS } from '@taiga-ui/core/constants';
22
22
 
23
- /**
24
- * A component to display a hint
25
- */
26
23
  const TUI_HINT_COMPONENT = tuiCreateTokenFromFactory(() => TuiHintComponent);
27
24
 
28
- /** Default values for hint options */
29
25
  const TUI_HINT_DEFAULT_OPTIONS = {
30
26
  direction: 'bottom-left',
31
27
  showDelay: 500,
@@ -33,9 +29,6 @@ const TUI_HINT_DEFAULT_OPTIONS = {
33
29
  appearance: '',
34
30
  icon: 'tuiIconHelpCircle',
35
31
  };
36
- /**
37
- * Default parameters for hint directive
38
- */
39
32
  const TUI_HINT_OPTIONS = tuiCreateToken(TUI_HINT_DEFAULT_OPTIONS);
40
33
  const tuiHintOptionsProvider = (override) => ({
41
34
  provide: TUI_HINT_OPTIONS,
@@ -181,7 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
181
174
  type: Input
182
175
  }] } });
183
176
 
184
- /* eslint-disable rxjs/no-unsafe-takeuntil */
185
177
  class TuiHintHoverDirective extends TuiDriver {
186
178
  constructor(hovered$, options, el) {
187
179
  super(subscriber => this.stream$.subscribe(subscriber));
@@ -453,7 +445,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
453
445
  }], element: [] } });
454
446
 
455
447
  class TuiHintDriverDirective extends AbstractTuiDriverDirective {
456
- // TODO: Figure out why this is necessary under nx test runner
457
448
  constructor(destroy$, drivers, vehicles) {
458
449
  super(destroy$, drivers, vehicles);
459
450
  this.type = 'hint';
@@ -544,7 +535,6 @@ class TuiHintPositionDirective extends TuiPositionAccessor {
544
535
  this.direction = this.options.direction;
545
536
  this.type = 'hint';
546
537
  }
547
- // eslint-disable-next-line max-statements
548
538
  getPosition({ width, height }) {
549
539
  var _a, _b;
550
540
  const hostRect = (_b = (_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getClientRect()) !== null && _b !== void 0 ? _b : EMPTY_CLIENT_RECT;
@@ -679,9 +669,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
679
669
  }]
680
670
  }] });
681
671
 
682
- /**
683
- * Generated bundle index. Do not edit.
684
- */
685
-
686
672
  export { TUI_HINT_COMPONENT, TUI_HINT_DEFAULT_OPTIONS, TUI_HINT_OPTIONS, TuiHintComponent, TuiHintDescribeDirective, TuiHintDirective, TuiHintDriverDirective, TuiHintHostDirective, TuiHintHoverDirective, TuiHintManualDirective, TuiHintModule, TuiHintOptionsDirective, TuiHintPointerDirective, TuiHintPositionDirective, tuiHintOptionsProvider };
687
673
  //# sourceMappingURL=taiga-ui-core-directives-hint.js.map