@taiga-ui/core 3.18.0 → 3.19.0-dev.main-9e6bc23

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 (321) hide show
  1. package/abstract/abstract-driver.directive.d.ts +9 -2
  2. package/abstract/driver.d.ts +1 -0
  3. package/abstract/position-accessor.d.ts +3 -1
  4. package/abstract/rect-accessor.d.ts +4 -1
  5. package/abstract/vehicle.d.ts +1 -0
  6. package/bundles/taiga-ui-core-abstract.umd.js +59 -29
  7. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-alert.umd.js +14 -23
  9. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-button.umd.js +11 -20
  11. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-calendar.umd.js +11 -20
  13. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-data-list.umd.js +20 -29
  15. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-dialog.umd.js +20 -29
  17. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-error.umd.js +11 -20
  19. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-expand.umd.js +14 -23
  21. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-group.umd.js +14 -23
  23. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-hints-host.umd.js +7 -7
  25. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +14 -23
  26. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-label.umd.js +11 -20
  28. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-link.umd.js +12 -21
  30. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-loader.umd.js +11 -20
  32. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-notification.umd.js +11 -20
  34. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +11 -20
  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 +11 -20
  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 +11 -20
  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 +28 -34
  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 +11 -20
  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 +11 -20
  46. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +17 -26
  48. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-scrollbar.umd.js +17 -26
  50. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-svg.umd.js +11 -20
  52. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-theme-night.umd.js +11 -20
  54. package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-tooltip.umd.js +11 -20
  56. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  57. package/bundles/taiga-ui-core-directives-dropdown.umd.js +186 -147
  58. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-directives-hint.umd.js +258 -212
  60. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  61. package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +7 -7
  62. package/bundles/taiga-ui-core-directives-mode.umd.js +11 -20
  63. package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +11 -20
  65. package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
  66. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +100 -54
  67. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-directives-wrapper.umd.js +7 -7
  69. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +11 -20
  70. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +7 -7
  72. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +7 -7
  73. package/bundles/taiga-ui-core-pipes-flag.umd.js +96 -0
  74. package/bundles/taiga-ui-core-pipes-flag.umd.js.map +1 -0
  75. package/bundles/taiga-ui-core-pipes-format-date.umd.js +7 -7
  76. package/bundles/taiga-ui-core-pipes-format-number.umd.js +7 -7
  77. package/bundles/taiga-ui-core-pipes-format-phone.umd.js +7 -7
  78. package/bundles/taiga-ui-core-pipes-month.umd.js +7 -7
  79. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js +11 -20
  80. package/bundles/taiga-ui-core-pipes-order-week-days.umd.js.map +1 -1
  81. package/bundles/taiga-ui-core-pipes.umd.js +10 -4
  82. package/bundles/taiga-ui-core-pipes.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-services.umd.js +22 -31
  84. package/bundles/taiga-ui-core-services.umd.js.map +1 -1
  85. package/bundles/taiga-ui-core-tokens.umd.js +7 -13
  86. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  87. package/bundles/taiga-ui-core-utils-format.umd.js +4 -13
  88. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  89. package/bundles/taiga-ui-core-utils-mask.umd.js +4 -13
  90. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  91. package/components/primitive-textfield/primitive-textfield.component.d.ts +3 -3
  92. package/directives/dropdown/dropdown-context.directive.d.ts +1 -0
  93. package/directives/dropdown/dropdown-driver.directive.d.ts +5 -2
  94. package/directives/dropdown/dropdown-host.directive.d.ts +1 -0
  95. package/directives/dropdown/dropdown-hover.directive.d.ts +1 -0
  96. package/directives/dropdown/dropdown-manual.directive.d.ts +1 -0
  97. package/directives/dropdown/dropdown-position-sided.directive.d.ts +4 -3
  98. package/directives/dropdown/dropdown-position.directive.d.ts +7 -3
  99. package/directives/dropdown/dropdown-selection.directive.d.ts +1 -0
  100. package/directives/dropdown/dropdown.directive.d.ts +7 -4
  101. package/directives/hint/hint-describe.directive.d.ts +3 -5
  102. package/directives/hint/hint-driver.directive.d.ts +5 -2
  103. package/directives/hint/hint-host.directive.d.ts +1 -0
  104. package/directives/hint/hint-hover.directive.d.ts +2 -0
  105. package/directives/hint/hint-manual.directive.d.ts +3 -1
  106. package/directives/hint/hint-position.directive.d.ts +6 -3
  107. package/directives/hint/hint.directive.d.ts +3 -2
  108. package/directives/textfield-controller/index.d.ts +1 -0
  109. package/directives/textfield-controller/textfield-appearance.directive.d.ts +9 -0
  110. package/directives/textfield-controller/textfield-controller.module.d.ts +11 -10
  111. package/directives/textfield-controller/textfield.controller.d.ts +5 -1
  112. package/esm2015/abstract/abstract-driver.directive.js +18 -10
  113. package/esm2015/abstract/abstract-textfield-host.js +3 -3
  114. package/esm2015/abstract/driver.js +2 -1
  115. package/esm2015/abstract/position-accessor.js +10 -1
  116. package/esm2015/abstract/rect-accessor.js +14 -1
  117. package/esm2015/abstract/vehicle.js +2 -1
  118. package/esm2015/components/alert/alert.component.js +3 -3
  119. package/esm2015/components/alert/alert.module.js +4 -4
  120. package/esm2015/components/alert/alert.service.js +3 -3
  121. package/esm2015/components/button/button.component.js +3 -3
  122. package/esm2015/components/button/button.module.js +4 -4
  123. package/esm2015/components/calendar/calendar.component.js +3 -3
  124. package/esm2015/components/calendar/calendar.module.js +4 -4
  125. package/esm2015/components/data-list/data-list.component.js +3 -3
  126. package/esm2015/components/data-list/data-list.directive.js +3 -3
  127. package/esm2015/components/data-list/data-list.module.js +4 -4
  128. package/esm2015/components/data-list/opt-group.directive.js +3 -3
  129. package/esm2015/components/data-list/option/option.component.js +3 -3
  130. package/esm2015/components/dialog/dialog-close.service.js +3 -3
  131. package/esm2015/components/dialog/dialog.component.js +3 -3
  132. package/esm2015/components/dialog/dialog.directive.js +3 -3
  133. package/esm2015/components/dialog/dialog.module.js +4 -4
  134. package/esm2015/components/dialog/dialog.service.js +3 -3
  135. package/esm2015/components/error/error.component.js +3 -3
  136. package/esm2015/components/error/error.module.js +4 -4
  137. package/esm2015/components/expand/expand-content.directive.js +3 -3
  138. package/esm2015/components/expand/expand.component.js +3 -3
  139. package/esm2015/components/expand/expand.module.js +4 -4
  140. package/esm2015/components/group/group-styles.component.js +3 -3
  141. package/esm2015/components/group/group.directive.js +3 -3
  142. package/esm2015/components/group/group.module.js +4 -4
  143. package/esm2015/components/hints-host/hints-host.component.js +3 -3
  144. package/esm2015/components/hints-host/hints-host.module.js +4 -4
  145. package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +3 -3
  146. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -3
  147. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +4 -4
  148. package/esm2015/components/label/label.component.js +3 -3
  149. package/esm2015/components/label/label.module.js +4 -4
  150. package/esm2015/components/link/link.component.js +4 -4
  151. package/esm2015/components/link/link.module.js +4 -4
  152. package/esm2015/components/loader/loader.component.js +3 -3
  153. package/esm2015/components/loader/loader.module.js +4 -4
  154. package/esm2015/components/notification/notification.component.js +3 -3
  155. package/esm2015/components/notification/notification.module.js +4 -4
  156. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -3
  157. package/esm2015/components/primitive-calendar/primitive-calendar.module.js +4 -4
  158. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +3 -3
  159. package/esm2015/components/primitive-checkbox/primitive-checkbox.module.js +4 -4
  160. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  161. package/esm2015/components/primitive-spin-button/primitive-spin-button.module.js +4 -4
  162. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +9 -10
  163. package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +3 -3
  164. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +4 -4
  165. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +3 -3
  166. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -3
  167. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  168. package/esm2015/components/primitive-year-picker/primitive-year-picker.module.js +4 -4
  169. package/esm2015/components/root/root.component.js +3 -3
  170. package/esm2015/components/root/root.module.js +4 -4
  171. package/esm2015/components/scroll-controls/scroll-controls.component.js +3 -3
  172. package/esm2015/components/scroll-controls/scroll-controls.module.js +4 -4
  173. package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +3 -3
  174. package/esm2015/components/scroll-controls/scrollbar.directive.js +3 -3
  175. package/esm2015/components/scrollbar/scroll-ref.directive.js +3 -3
  176. package/esm2015/components/scrollbar/scrollable.directive.js +3 -3
  177. package/esm2015/components/scrollbar/scrollbar.component.js +3 -3
  178. package/esm2015/components/scrollbar/scrollbar.module.js +4 -4
  179. package/esm2015/components/svg/svg.component.js +3 -3
  180. package/esm2015/components/svg/svg.module.js +4 -4
  181. package/esm2015/components/theme-night/theme-night.component.js +3 -3
  182. package/esm2015/components/theme-night/theme-night.module.js +4 -4
  183. package/esm2015/components/tooltip/tooltip.component.js +3 -3
  184. package/esm2015/components/tooltip/tooltip.module.js +4 -4
  185. package/esm2015/directives/dropdown/dropdown-context.directive.js +5 -4
  186. package/esm2015/directives/dropdown/dropdown-driver.directive.js +24 -7
  187. package/esm2015/directives/dropdown/dropdown-host.directive.js +8 -4
  188. package/esm2015/directives/dropdown/dropdown-hover.directive.js +5 -4
  189. package/esm2015/directives/dropdown/dropdown-manual.directive.js +7 -6
  190. package/esm2015/directives/dropdown/dropdown-options.directive.js +3 -3
  191. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +15 -14
  192. package/esm2015/directives/dropdown/dropdown-position.directive.js +28 -11
  193. package/esm2015/directives/dropdown/dropdown-selection.directive.js +5 -4
  194. package/esm2015/directives/dropdown/dropdown.component.js +21 -11
  195. package/esm2015/directives/dropdown/dropdown.directive.js +16 -21
  196. package/esm2015/directives/dropdown/dropdown.module.js +4 -4
  197. package/esm2015/directives/hint/hint-describe.directive.js +7 -13
  198. package/esm2015/directives/hint/hint-driver.directive.js +24 -7
  199. package/esm2015/directives/hint/hint-host.directive.js +8 -4
  200. package/esm2015/directives/hint/hint-hover.directive.js +8 -6
  201. package/esm2015/directives/hint/hint-manual.directive.js +14 -7
  202. package/esm2015/directives/hint/hint-options.directive.js +3 -3
  203. package/esm2015/directives/hint/hint-pointer.directive.js +3 -3
  204. package/esm2015/directives/hint/hint-position.directive.js +25 -11
  205. package/esm2015/directives/hint/hint.component.js +20 -6
  206. package/esm2015/directives/hint/hint.directive.js +6 -4
  207. package/esm2015/directives/hint/hint.module.js +4 -4
  208. package/esm2015/directives/hint/hint.providers.js +2 -1
  209. package/esm2015/directives/mask-accessor/mask-accessor.directive.js +3 -3
  210. package/esm2015/directives/mask-accessor/mask-accessor.module.js +4 -4
  211. package/esm2015/directives/mode/mode.directive.js +3 -3
  212. package/esm2015/directives/mode/mode.module.js +4 -4
  213. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +3 -3
  214. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +4 -4
  215. package/esm2015/directives/textfield-controller/index.js +2 -1
  216. package/esm2015/directives/textfield-controller/textfield-appearance.directive.js +38 -0
  217. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +3 -3
  218. package/esm2015/directives/textfield-controller/textfield-controller.module.js +11 -6
  219. package/esm2015/directives/textfield-controller/textfield-controller.provider.js +7 -3
  220. package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +3 -3
  221. package/esm2015/directives/textfield-controller/textfield-filler.directive.js +3 -3
  222. package/esm2015/directives/textfield-controller/textfield-icon-left.directive.js +3 -3
  223. package/esm2015/directives/textfield-controller/textfield-icon.directive.js +3 -3
  224. package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +3 -3
  225. package/esm2015/directives/textfield-controller/textfield-postfix.directive.js +3 -3
  226. package/esm2015/directives/textfield-controller/textfield-prefix.directive.js +3 -3
  227. package/esm2015/directives/textfield-controller/textfield-size.directive.js +3 -3
  228. package/esm2015/directives/textfield-controller/textfield.controller.js +7 -2
  229. package/esm2015/directives/wrapper/wrapper.directive.js +3 -3
  230. package/esm2015/directives/wrapper/wrapper.module.js +4 -4
  231. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +3 -3
  232. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.module.js +4 -4
  233. package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +3 -3
  234. package/esm2015/internal/svg-defs-host/svg-defs-host.module.js +4 -4
  235. package/esm2015/pipes/calendar-sheet/calendar-sheet.module.js +4 -4
  236. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +3 -3
  237. package/esm2015/pipes/flag/flag.module.js +16 -0
  238. package/esm2015/pipes/flag/flag.pipe.js +44 -0
  239. package/esm2015/pipes/flag/index.js +3 -0
  240. package/esm2015/pipes/flag/taiga-ui-core-pipes-flag.js +5 -0
  241. package/esm2015/pipes/format-date/format-date.module.js +4 -4
  242. package/esm2015/pipes/format-date/format-date.pipe.js +3 -3
  243. package/esm2015/pipes/format-number/format-number.module.js +4 -4
  244. package/esm2015/pipes/format-number/format-number.pipe.js +3 -3
  245. package/esm2015/pipes/format-phone/format-phone.module.js +4 -4
  246. package/esm2015/pipes/format-phone/format-phone.pipe.js +3 -3
  247. package/esm2015/pipes/index.js +2 -1
  248. package/esm2015/pipes/month/month.module.js +4 -4
  249. package/esm2015/pipes/month/month.pipe.js +3 -3
  250. package/esm2015/pipes/order-week-days/order-week-days.module.js +4 -4
  251. package/esm2015/pipes/order-week-days/order-week-days.pipe.js +3 -3
  252. package/esm2015/services/format-date.service.js +3 -3
  253. package/esm2015/services/hint.service.js +3 -3
  254. package/esm2015/services/night-theme.service.js +3 -3
  255. package/esm2015/services/position.service.js +3 -3
  256. package/esm2015/services/router-link-active.service.js +3 -3
  257. package/esm2015/services/svg.service.js +3 -3
  258. package/esm2015/tokens/textfield-appearance.js +3 -1
  259. package/esm2015/tokens/viewport.js +2 -1
  260. package/fesm2015/taiga-ui-core-abstract.js +45 -15
  261. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  262. package/fesm2015/taiga-ui-core-components-alert.js +10 -10
  263. package/fesm2015/taiga-ui-core-components-button.js +7 -7
  264. package/fesm2015/taiga-ui-core-components-calendar.js +7 -7
  265. package/fesm2015/taiga-ui-core-components-data-list.js +16 -16
  266. package/fesm2015/taiga-ui-core-components-dialog.js +16 -16
  267. package/fesm2015/taiga-ui-core-components-error.js +7 -7
  268. package/fesm2015/taiga-ui-core-components-expand.js +10 -10
  269. package/fesm2015/taiga-ui-core-components-group.js +10 -10
  270. package/fesm2015/taiga-ui-core-components-hints-host.js +7 -7
  271. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +10 -10
  272. package/fesm2015/taiga-ui-core-components-label.js +7 -7
  273. package/fesm2015/taiga-ui-core-components-link.js +8 -8
  274. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  275. package/fesm2015/taiga-ui-core-components-loader.js +7 -7
  276. package/fesm2015/taiga-ui-core-components-notification.js +7 -7
  277. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +7 -7
  278. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +7 -7
  279. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +7 -7
  280. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +21 -22
  281. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  282. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +7 -7
  283. package/fesm2015/taiga-ui-core-components-root.js +7 -7
  284. package/fesm2015/taiga-ui-core-components-scroll-controls.js +13 -13
  285. package/fesm2015/taiga-ui-core-components-scrollbar.js +13 -13
  286. package/fesm2015/taiga-ui-core-components-svg.js +7 -7
  287. package/fesm2015/taiga-ui-core-components-theme-night.js +7 -7
  288. package/fesm2015/taiga-ui-core-components-tooltip.js +7 -7
  289. package/fesm2015/taiga-ui-core-directives-dropdown.js +123 -81
  290. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  291. package/fesm2015/taiga-ui-core-directives-hint.js +205 -156
  292. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  293. package/fesm2015/taiga-ui-core-directives-mask-accessor.js +7 -7
  294. package/fesm2015/taiga-ui-core-directives-mode.js +7 -7
  295. package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +7 -7
  296. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +83 -36
  297. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  298. package/fesm2015/taiga-ui-core-directives-wrapper.js +7 -7
  299. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +7 -7
  300. package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +7 -7
  301. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +7 -7
  302. package/fesm2015/taiga-ui-core-pipes-flag.js +64 -0
  303. package/fesm2015/taiga-ui-core-pipes-flag.js.map +1 -0
  304. package/fesm2015/taiga-ui-core-pipes-format-date.js +7 -7
  305. package/fesm2015/taiga-ui-core-pipes-format-number.js +7 -7
  306. package/fesm2015/taiga-ui-core-pipes-format-phone.js +7 -7
  307. package/fesm2015/taiga-ui-core-pipes-month.js +7 -7
  308. package/fesm2015/taiga-ui-core-pipes-order-week-days.js +7 -7
  309. package/fesm2015/taiga-ui-core-pipes.js +1 -0
  310. package/fesm2015/taiga-ui-core-pipes.js.map +1 -1
  311. package/fesm2015/taiga-ui-core-services.js +18 -18
  312. package/fesm2015/taiga-ui-core-tokens.js +3 -0
  313. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  314. package/package.json +4 -4
  315. package/pipes/flag/flag.module.d.ts +7 -0
  316. package/pipes/flag/flag.pipe.d.ts +13 -0
  317. package/pipes/flag/index.d.ts +2 -0
  318. package/pipes/flag/package.json +10 -0
  319. package/pipes/flag/taiga-ui-core-pipes-flag.d.ts +5 -0
  320. package/pipes/index.d.ts +1 -0
  321. package/tokens/textfield-appearance.d.ts +1 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk'), require('@taiga-ui/core/abstract'), require('@taiga-ui/core/animations'), require('@taiga-ui/core/services'), require('@taiga-ui/core/tokens'), require('rxjs/operators'), require('@taiga-ui/core/utils'), require('@tinkoff/ng-polymorpheus'), require('rxjs'), require('@taiga-ui/core/components/scrollbar'), require('@taiga-ui/core/directives/mode'), require('@tinkoff/ng-event-plugins'), require('@angular/common')) :
3
3
  typeof define === 'function' && define.amd ? define('@taiga-ui/core/directives/dropdown', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk', '@taiga-ui/core/abstract', '@taiga-ui/core/animations', '@taiga-ui/core/services', '@taiga-ui/core/tokens', 'rxjs/operators', '@taiga-ui/core/utils', '@tinkoff/ng-polymorpheus', 'rxjs', '@taiga-ui/core/components/scrollbar', '@taiga-ui/core/directives/mode', '@tinkoff/ng-event-plugins', '@angular/common'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].core = global["taiga-ui"].core || {}, global["taiga-ui"].core.directives = global["taiga-ui"].core.directives || {}, global["taiga-ui"].core.directives.dropdown = {}), global.ng.core, global.common, global.i2, global["taiga-ui"].core.abstract, global["taiga-ui"].core.animations, global["taiga-ui"].core.services, global["taiga-ui"].core.tokens, global.rxjs.operators, global["taiga-ui"].core.utils, global.i1, global.rxjs, global["taiga-ui"].core.components.scrollbar, global["taiga-ui"].core.directives.mode, global.ngEventPlugins, global.ng.common));
5
- })(this, (function (exports, i0, common, i2, i1$1, animations, services, tokens, operators, utils, i1, i5, i1$2, i3, ngEventPlugins, common$1) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].core = global["taiga-ui"].core || {}, global["taiga-ui"].core.directives = global["taiga-ui"].core.directives || {}, global["taiga-ui"].core.directives.dropdown = {}), global.ng.core, global.common, global.i2, global["taiga-ui"].core.abstract, global["taiga-ui"].core.animations, global["taiga-ui"].core.services, global["taiga-ui"].core.tokens, global.rxjs.operators, global["taiga-ui"].core.utils, global.i4, global.rxjs, global["taiga-ui"].core.components.scrollbar, global["taiga-ui"].core.directives.mode, global.ngEventPlugins, global.ng.common));
5
+ })(this, (function (exports, i0, common, i2, i1, animations, services, tokens, operators, utils, i4, i1$1, i1$2, i3, ngEventPlugins, common$1) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -24,13 +24,13 @@
24
24
 
25
25
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
26
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
27
- var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$1);
28
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
- var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
27
+ var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1);
28
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
29
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1$1);
30
30
  var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$2);
31
31
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
32
32
 
33
- /******************************************************************************
33
+ /*! *****************************************************************************
34
34
  Copyright (c) Microsoft Corporation.
35
35
 
36
36
  Permission to use, copy, modify, and/or distribute this software for any
@@ -128,7 +128,7 @@
128
128
  function step(op) {
129
129
  if (f)
130
130
  throw new TypeError("Generator is already executing.");
131
- while (g && (g = 0, op[0] && (_ = 0)), _)
131
+ while (_)
132
132
  try {
133
133
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
134
134
  return t;
@@ -192,11 +192,7 @@
192
192
  var __createBinding = Object.create ? (function (o, m, k, k2) {
193
193
  if (k2 === undefined)
194
194
  k2 = k;
195
- var desc = Object.getOwnPropertyDescriptor(m, k);
196
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
197
- desc = { enumerable: true, get: function () { return m[k]; } };
198
- }
199
- Object.defineProperty(o, k2, desc);
195
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
200
196
  }) : (function (o, m, k, k2) {
201
197
  if (k2 === undefined)
202
198
  k2 = k;
@@ -269,7 +265,7 @@
269
265
  ar[i] = from[i];
270
266
  }
271
267
  }
272
- return to.concat(ar || Array.prototype.slice.call(from));
268
+ return to.concat(ar || from);
273
269
  }
274
270
  function __await(v) {
275
271
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -351,23 +347,21 @@
351
347
  throw new TypeError("Cannot write private member to an object whose class did not declare it");
352
348
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
353
349
  }
354
- function __classPrivateFieldIn(state, receiver) {
355
- if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
356
- throw new TypeError("Cannot use 'in' operator on non-object");
357
- return typeof state === "function" ? receiver === state : state.has(receiver);
358
- }
359
350
 
360
351
  var TUI_DROPDOWN_COMPONENT = new i0.InjectionToken("[TUI_DROPDOWN_COMPONENT] A component to display a dropdown", {
361
352
  factory: function () { return TuiDropdownComponent; },
362
353
  });
363
354
 
364
355
  var TuiDropdownDirective = /** @class */ (function () {
365
- function TuiDropdownDirective(elementRef, component, dropdownService) {
356
+ function TuiDropdownDirective(elementRef, hapica, injector, dropdownService) {
366
357
  this.elementRef = elementRef;
367
- this.component = component;
358
+ this.hapica = hapica;
359
+ this.injector = injector;
368
360
  this.dropdownService = dropdownService;
369
361
  this.content = '';
370
362
  this.dropdownBoxRef = null;
363
+ this.type = 'dropdown';
364
+ this.component = new i4.PolymorpheusComponent(this.hapica, this.injector);
371
365
  }
372
366
  Object.defineProperty(TuiDropdownDirective.prototype, "position", {
373
367
  get: function () {
@@ -405,15 +399,10 @@
405
399
  };
406
400
  return TuiDropdownDirective;
407
401
  }());
408
- TuiDropdownDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownDirective, deps: [{ token: i0.ElementRef }, { token: i1.PolymorpheusComponent }, { token: i2.TuiDropdownPortalService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
409
- TuiDropdownDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: { content: ["tuiDropdown", "content"] }, providers: [
410
- i1$1.tuiAsRectAccessor(TuiDropdownDirective),
411
- i1$1.tuiAsVehicle(TuiDropdownDirective),
412
- {
413
- provide: i1.PolymorpheusComponent,
414
- deps: [TUI_DROPDOWN_COMPONENT, i0.INJECTOR],
415
- useClass: i1.PolymorpheusComponent,
416
- },
402
+ TuiDropdownDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownDirective, deps: [{ token: i0.ElementRef }, { token: TUI_DROPDOWN_COMPONENT }, { token: i0.INJECTOR }, { token: i2.TuiDropdownPortalService }], target: i0__namespace.ɵɵFactoryTarget.Directive });
403
+ TuiDropdownDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: { content: ["tuiDropdown", "content"] }, providers: [
404
+ i1.tuiAsRectAccessor(TuiDropdownDirective),
405
+ i1.tuiAsVehicle(TuiDropdownDirective),
417
406
  ], exportAs: ["tuiDropdown"], usesOnChanges: true, ngImport: i0__namespace });
418
407
  __decorate([
419
408
  i2.tuiDefaultProp()
@@ -421,28 +410,26 @@
421
410
  __decorate([
422
411
  i2.tuiPure
423
412
  ], TuiDropdownDirective.prototype, "position", null);
424
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownDirective, decorators: [{
413
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownDirective, decorators: [{
425
414
  type: i0.Directive,
426
415
  args: [{
427
416
  selector: '[tuiDropdown]:not(ng-container)',
428
417
  exportAs: 'tuiDropdown',
429
418
  providers: [
430
- i1$1.tuiAsRectAccessor(TuiDropdownDirective),
431
- i1$1.tuiAsVehicle(TuiDropdownDirective),
432
- {
433
- provide: i1.PolymorpheusComponent,
434
- deps: [TUI_DROPDOWN_COMPONENT, i0.INJECTOR],
435
- useClass: i1.PolymorpheusComponent,
436
- },
419
+ i1.tuiAsRectAccessor(TuiDropdownDirective),
420
+ i1.tuiAsVehicle(TuiDropdownDirective),
437
421
  ],
438
422
  }]
439
423
  }], ctorParameters: function () {
440
424
  return [{ type: i0__namespace.ElementRef, decorators: [{
441
425
  type: i0.Inject,
442
426
  args: [i0.ElementRef]
443
- }] }, { type: i1__namespace.PolymorpheusComponent, decorators: [{
427
+ }] }, { type: i0__namespace.Type, decorators: [{
428
+ type: i0.Inject,
429
+ args: [TUI_DROPDOWN_COMPONENT]
430
+ }] }, { type: i0__namespace.Injector, decorators: [{
444
431
  type: i0.Inject,
445
- args: [i1.PolymorpheusComponent]
432
+ args: [i0.INJECTOR]
446
433
  }] }, { type: i2__namespace.TuiDropdownPortalService, decorators: [{
447
434
  type: i0.Inject,
448
435
  args: [i2.TuiDropdownPortalService]
@@ -471,36 +458,37 @@
471
458
  var _this = _super.call(this, function (subscriber) { return _this.stream$.subscribe(subscriber); }) || this;
472
459
  _this.hovered$ = hovered$;
473
460
  _this.options = options;
474
- _this.toggle$ = new i5.Subject();
475
- _this.stream$ = i5.merge(_this.toggle$, _this.hovered$).pipe(operators.switchMap(function (visible) { return i5.of(visible).pipe(operators.delay(visible ? _this.showDelay : _this.hideDelay)); }), operators.tap(function (visible) {
461
+ _this.toggle$ = new i1$1.Subject();
462
+ _this.stream$ = i1$1.merge(_this.toggle$, _this.hovered$).pipe(operators.switchMap(function (visible) { return i1$1.of(visible).pipe(operators.delay(visible ? _this.showDelay : _this.hideDelay)); }), operators.tap(function (visible) {
476
463
  _this.hovered = visible;
477
464
  }), operators.share());
478
465
  _this.showDelay = _this.options.showDelay;
479
466
  _this.hideDelay = _this.options.hideDelay;
480
467
  _this.hovered = false;
468
+ _this.type = 'dropdown';
481
469
  return _this;
482
470
  }
483
471
  TuiDropdownHoverDirective.prototype.toggle = function (visible) {
484
472
  this.toggle$.next(visible);
485
473
  };
486
474
  return TuiDropdownHoverDirective;
487
- }(i1$1.TuiDriver));
488
- TuiDropdownHoverDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownHoverDirective, deps: [{ token: i2.TuiHoveredService }, { token: TUI_DROPDOWN_HOVER_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Directive });
489
- TuiDropdownHoverDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownHoverDirective, selector: "[tuiDropdownHover]:not(ng-container)", inputs: { showDelay: ["tuiDropdownShowDelay", "showDelay"], hideDelay: ["tuiDropdownHideDelay", "hideDelay"] }, providers: [i1$1.tuiAsDriver(TuiDropdownHoverDirective), i2.TuiHoveredService], usesInheritance: true, ngImport: i0__namespace });
475
+ }(i1.TuiDriver));
476
+ TuiDropdownHoverDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownHoverDirective, deps: [{ token: i2.TuiHoveredService }, { token: TUI_DROPDOWN_HOVER_OPTIONS }], target: i0__namespace.ɵɵFactoryTarget.Directive });
477
+ TuiDropdownHoverDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownHoverDirective, selector: "[tuiDropdownHover]:not(ng-container)", inputs: { showDelay: ["tuiDropdownShowDelay", "showDelay"], hideDelay: ["tuiDropdownHideDelay", "hideDelay"] }, providers: [i1.tuiAsDriver(TuiDropdownHoverDirective), i2.TuiHoveredService], usesInheritance: true, ngImport: i0__namespace });
490
478
  __decorate([
491
479
  i2.tuiDefaultProp()
492
480
  ], TuiDropdownHoverDirective.prototype, "showDelay", void 0);
493
481
  __decorate([
494
482
  i2.tuiDefaultProp()
495
483
  ], TuiDropdownHoverDirective.prototype, "hideDelay", void 0);
496
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownHoverDirective, decorators: [{
484
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownHoverDirective, decorators: [{
497
485
  type: i0.Directive,
498
486
  args: [{
499
487
  selector: '[tuiDropdownHover]:not(ng-container)',
500
- providers: [i1$1.tuiAsDriver(TuiDropdownHoverDirective), i2.TuiHoveredService],
488
+ providers: [i1.tuiAsDriver(TuiDropdownHoverDirective), i2.TuiHoveredService],
501
489
  }]
502
490
  }], ctorParameters: function () {
503
- return [{ type: i5__namespace.Observable, decorators: [{
491
+ return [{ type: i1__namespace.Observable, decorators: [{
504
492
  type: i0.Inject,
505
493
  args: [i2.TuiHoveredService]
506
494
  }] }, { type: undefined, decorators: [{
@@ -547,8 +535,8 @@
547
535
  }
548
536
  return TuiDropdownOptionsDirective;
549
537
  }());
550
- TuiDropdownOptionsDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownOptionsDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS, skipSelf: true }], target: i0__namespace.ɵɵFactoryTarget.Directive });
551
- TuiDropdownOptionsDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: { align: ["tuiDropdownAlign", "align"], direction: ["tuiDropdownDirection", "direction"], limitWidth: ["tuiDropdownLimitWidth", "limitWidth"], minHeight: ["tuiDropdownMinHeight", "minHeight"], maxHeight: ["tuiDropdownMaxHeight", "maxHeight"], offset: ["tuiDropdownOffset", "offset"] }, providers: [
538
+ TuiDropdownOptionsDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownOptionsDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS, skipSelf: true }], target: i0__namespace.ɵɵFactoryTarget.Directive });
539
+ TuiDropdownOptionsDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: { align: ["tuiDropdownAlign", "align"], direction: ["tuiDropdownDirection", "direction"], limitWidth: ["tuiDropdownLimitWidth", "limitWidth"], minHeight: ["tuiDropdownMinHeight", "minHeight"], maxHeight: ["tuiDropdownMaxHeight", "maxHeight"], offset: ["tuiDropdownOffset", "offset"] }, providers: [
552
540
  {
553
541
  provide: TUI_DROPDOWN_OPTIONS,
554
542
  useExisting: i0.forwardRef(function () { return TuiDropdownOptionsDirective; }),
@@ -572,7 +560,7 @@
572
560
  __decorate([
573
561
  i2.tuiDefaultProp()
574
562
  ], TuiDropdownOptionsDirective.prototype, "offset", void 0);
575
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownOptionsDirective, decorators: [{
563
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownOptionsDirective, decorators: [{
576
564
  type: i0.Directive,
577
565
  args: [{
578
566
  selector: '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',
@@ -684,36 +672,46 @@
684
672
  }
685
673
  };
686
674
  TuiDropdownComponent.prototype.moveFocusOutside = function (previous) {
687
- var host = document.createElement('div');
688
- var ownerDocument = host.ownerDocument;
689
- var root = ownerDocument ? ownerDocument.body : host;
690
- var focusable = i2.tuiGetClosestFocusable({ initial: host, root: root, previous: previous });
691
- while (focusable !== null && host.contains(focusable)) {
675
+ var nativeElement = this.directive.elementRef.nativeElement;
676
+ var ownerDocument = nativeElement.ownerDocument;
677
+ var root = ownerDocument ? ownerDocument.body : nativeElement;
678
+ var focusable = i2.tuiGetClosestFocusable({ initial: nativeElement, root: root, previous: previous });
679
+ while (focusable !== null && nativeElement.contains(focusable)) {
692
680
  focusable = i2.tuiGetClosestFocusable({ initial: focusable, root: root, previous: previous });
693
681
  }
694
682
  focusable === null || focusable === void 0 ? void 0 : focusable.focus();
695
683
  };
696
684
  return TuiDropdownComponent;
697
685
  }());
698
- TuiDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownComponent, deps: [{ token: services.TuiPositionService }, { token: i2.TuiDestroyService, self: true }, { token: TuiDropdownDirective }, { token: i0.ElementRef }, { token: i2.AbstractTuiPortalHostComponent }, { token: i1$1.TuiRectAccessor }, { token: common.WINDOW }, { token: tokens.TUI_ANIMATION_OPTIONS }, { token: TUI_DROPDOWN_OPTIONS }, { token: TuiDropdownHoverDirective, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
699
- TuiDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "this.dropdownAnimation" } }, providers: [i2.TuiDestroyService, services.TuiPositionService], ngImport: i0__namespace, template: "<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\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</div>\n", styles: [":host{position:relative;z-index:0;box-shadow:0 1.5rem 1rem rgba(0,0,0,.03),0 .75rem .75rem rgba(0,0,0,.04),0 .25rem .375rem rgba(0,0,0,.05);position:absolute;display:flex;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-04);box-sizing:border-box;max-width:calc(100% - 8px)}:host.ng-animating{pointer-events:none}:host:not([style*=\"top\"]){visibility:hidden}.t-wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.t-scroll{height:100%}.t-primitive{padding:1rem}\n"], components: [{ type: i1__namespace$1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }], directives: [{ type: i2__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2__namespace.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i3__namespace.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2__namespace.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i1__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [animations.tuiDropdownAnimation], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
700
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownComponent, decorators: [{
686
+ TuiDropdownComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownComponent, deps: [{ token: services.TuiPositionService }, { token: i2.TuiDestroyService, self: true }, { token: TuiDropdownDirective }, { token: i0.ElementRef }, { token: i2.AbstractTuiPortalHostComponent }, { token: i1.TuiRectAccessor }, { token: common.WINDOW }, { token: tokens.TUI_ANIMATION_OPTIONS }, { token: TUI_DROPDOWN_OPTIONS }, { token: TuiDropdownHoverDirective, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
687
+ TuiDropdownComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownComponent, selector: "tui-dropdown", host: { properties: { "@tuiDropdownAnimation": "this.dropdownAnimation" } }, providers: [
688
+ i2.TuiDestroyService,
689
+ services.TuiPositionService,
690
+ i1.tuiPositionAccessorFor('dropdown'),
691
+ i1.tuiRectAccessorFor('dropdown', TuiDropdownDirective),
692
+ ], ngImport: i0__namespace, template: "<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\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</div>\n", styles: [":host{position:relative;z-index:0;box-shadow:0 1.5rem 1rem rgba(0,0,0,.03),0 .75rem .75rem rgba(0,0,0,.04),0 .25rem .375rem rgba(0,0,0,.05);position:absolute;display:flex;background-color:var(--tui-elevation-01);border-radius:var(--tui-radius-m);overflow:hidden;border:1px solid var(--tui-base-04);box-sizing:border-box;max-width:calc(100% - 8px)}:host.ng-animating{pointer-events:none}:host:not([style*=\"top\"]){visibility:hidden}.t-wrapper{flex-grow:1;max-width:100%;max-height:inherit;overflow:visible}.t-scroll{height:100%}.t-primitive{padding:1rem}\n"], components: [{ type: i1__namespace$1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }], directives: [{ type: i2__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i2__namespace.TuiOverscrollDirective, selector: "[tuiOverscroll]", inputs: ["tuiOverscroll"] }, { type: i3__namespace.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2__namespace.TuiHoveredDirective, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { type: i4__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [animations.tuiDropdownAnimation], changeDetection: i0__namespace.ChangeDetectionStrategy.Default });
693
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownComponent, decorators: [{
701
694
  type: i0.Component,
702
695
  args: [{
703
696
  selector: 'tui-dropdown',
704
697
  templateUrl: './dropdown.template.html',
705
698
  styleUrls: ['./dropdown.style.less'],
706
- providers: [i2.TuiDestroyService, services.TuiPositionService],
699
+ providers: [
700
+ i2.TuiDestroyService,
701
+ services.TuiPositionService,
702
+ i1.tuiPositionAccessorFor('dropdown'),
703
+ i1.tuiRectAccessorFor('dropdown', TuiDropdownDirective),
704
+ ],
707
705
  animations: [animations.tuiDropdownAnimation],
708
706
  // @bad TODO: OnPush
709
707
  // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
710
708
  changeDetection: i0.ChangeDetectionStrategy.Default,
711
709
  }]
712
710
  }], ctorParameters: function () {
713
- return [{ type: i5__namespace.Observable, decorators: [{
711
+ return [{ type: i1__namespace.Observable, decorators: [{
714
712
  type: i0.Inject,
715
713
  args: [services.TuiPositionService]
716
- }] }, { type: i5__namespace.Observable, decorators: [{
714
+ }] }, { type: i1__namespace.Observable, decorators: [{
717
715
  type: i0.Self
718
716
  }, {
719
717
  type: i0.Inject,
@@ -729,7 +727,7 @@
729
727
  args: [i2.AbstractTuiPortalHostComponent]
730
728
  }] }, { type: i1__namespace$2.TuiRectAccessor, decorators: [{
731
729
  type: i0.Inject,
732
- args: [i1$1.TuiRectAccessor]
730
+ args: [i1.TuiRectAccessor]
733
731
  }] }, { type: Window, decorators: [{
734
732
  type: i0.Inject,
735
733
  args: [common.WINDOW]
@@ -758,8 +756,9 @@
758
756
  function TuiDropdownContextDirective(activeZone) {
759
757
  var _this = _super.call(this, function (subscriber) { return _this.stream$.subscribe(subscriber); }) || this;
760
758
  _this.activeZone = activeZone;
761
- _this.stream$ = new i5.Subject();
759
+ _this.stream$ = new i1$1.Subject();
762
760
  _this.currentRect = i2.EMPTY_CLIENT_RECT;
761
+ _this.type = 'dropdown';
763
762
  return _this;
764
763
  }
765
764
  TuiDropdownContextDirective.prototype.onContextMenu = function (x, y) {
@@ -773,24 +772,24 @@
773
772
  return this.currentRect;
774
773
  };
775
774
  return TuiDropdownContextDirective;
776
- }(i1$1.TuiDriver));
777
- TuiDropdownContextDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownContextDirective, deps: [{ token: i2.TuiActiveZoneDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
778
- TuiDropdownContextDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownContextDirective, selector: "[tuiDropdown][tuiDropdownContext]", host: { listeners: { "contextmenu.prevent.stop": "onContextMenu($event.clientX,$event.clientY)", "document:click.silent": "closeDropdown($event.target)", "document:contextmenu.capture.silent": "closeDropdown($event.target)", "document:keydown.esc": "closeDropdown($event.currentTarget)" } }, providers: [
775
+ }(i1.TuiDriver));
776
+ TuiDropdownContextDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownContextDirective, deps: [{ token: i2.TuiActiveZoneDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
777
+ TuiDropdownContextDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownContextDirective, selector: "[tuiDropdown][tuiDropdownContext]", host: { listeners: { "contextmenu.prevent.stop": "onContextMenu($event.clientX,$event.clientY)", "document:click.silent": "closeDropdown($event.target)", "document:contextmenu.capture.silent": "closeDropdown($event.target)", "document:keydown.esc": "closeDropdown($event.currentTarget)" } }, providers: [
779
778
  i2.TuiActiveZoneDirective,
780
- i1$1.tuiAsDriver(TuiDropdownContextDirective),
781
- i1$1.tuiAsRectAccessor(TuiDropdownContextDirective),
779
+ i1.tuiAsDriver(TuiDropdownContextDirective),
780
+ i1.tuiAsRectAccessor(TuiDropdownContextDirective),
782
781
  ], usesInheritance: true, ngImport: i0__namespace });
783
782
  __decorate([
784
783
  ngEventPlugins.shouldCall(activeZoneFilter)
785
784
  ], TuiDropdownContextDirective.prototype, "closeDropdown", null);
786
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownContextDirective, decorators: [{
785
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownContextDirective, decorators: [{
787
786
  type: i0.Directive,
788
787
  args: [{
789
788
  selector: '[tuiDropdown][tuiDropdownContext]',
790
789
  providers: [
791
790
  i2.TuiActiveZoneDirective,
792
- i1$1.tuiAsDriver(TuiDropdownContextDirective),
793
- i1$1.tuiAsRectAccessor(TuiDropdownContextDirective),
791
+ i1.tuiAsDriver(TuiDropdownContextDirective),
792
+ i1.tuiAsRectAccessor(TuiDropdownContextDirective),
794
793
  ],
795
794
  }]
796
795
  }], ctorParameters: function () {
@@ -814,39 +813,57 @@
814
813
 
815
814
  var TuiDropdownDriverDirective = /** @class */ (function (_super) {
816
815
  __extends(TuiDropdownDriverDirective, _super);
817
- function TuiDropdownDriverDirective() {
818
- return _super !== null && _super.apply(this, arguments) || this;
816
+ // TODO: Figure out why this is necessary under nx test runner
817
+ function TuiDropdownDriverDirective(destroy$, drivers, vehicles) {
818
+ var _this = _super.call(this, destroy$, drivers, vehicles) || this;
819
+ _this.type = 'dropdown';
820
+ return _this;
819
821
  }
820
822
  return TuiDropdownDriverDirective;
821
- }(i1$1.AbstractTuiDriverDirective));
822
- TuiDropdownDriverDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownDriverDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
823
- TuiDropdownDriverDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownDriverDirective, selector: "[tuiDropdown]", providers: [i2.TuiDestroyService], usesInheritance: true, ngImport: i0__namespace });
824
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownDriverDirective, decorators: [{
823
+ }(i1.AbstractTuiDriverDirective));
824
+ TuiDropdownDriverDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownDriverDirective, deps: [{ token: i2.TuiDestroyService, self: true }, { token: i1.TuiDriver }, { token: i1.TuiVehicle }], target: i0__namespace.ɵɵFactoryTarget.Directive });
825
+ TuiDropdownDriverDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownDriverDirective, selector: "[tuiDropdown]", providers: [i2.TuiDestroyService], usesInheritance: true, ngImport: i0__namespace });
826
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownDriverDirective, decorators: [{
825
827
  type: i0.Directive,
826
828
  args: [{
827
829
  selector: '[tuiDropdown]',
828
830
  providers: [i2.TuiDestroyService],
829
831
  }]
830
- }] });
832
+ }], ctorParameters: function () {
833
+ return [{ type: i1__namespace.Observable, decorators: [{
834
+ type: i0.Self
835
+ }, {
836
+ type: i0.Inject,
837
+ args: [i2.TuiDestroyService]
838
+ }] }, { type: undefined, decorators: [{
839
+ type: i0.Inject,
840
+ args: [i1.TuiDriver]
841
+ }] }, { type: undefined, decorators: [{
842
+ type: i0.Inject,
843
+ args: [i1.TuiVehicle]
844
+ }] }];
845
+ } });
831
846
 
832
847
  var TuiDropdownHostDirective = /** @class */ (function (_super) {
833
848
  __extends(TuiDropdownHostDirective, _super);
834
849
  function TuiDropdownHostDirective() {
835
- return _super !== null && _super.apply(this, arguments) || this;
850
+ var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
851
+ _this.type = 'dropdown';
852
+ return _this;
836
853
  }
837
854
  TuiDropdownHostDirective.prototype.getClientRect = function () {
838
855
  var _a;
839
856
  return ((_a = this.tuiDropdownHost) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || i2.EMPTY_CLIENT_RECT;
840
857
  };
841
858
  return TuiDropdownHostDirective;
842
- }(i1$1.TuiRectAccessor));
843
- TuiDropdownHostDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownHostDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
844
- TuiDropdownHostDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: { tuiDropdownHost: "tuiDropdownHost" }, providers: [i1$1.tuiAsRectAccessor(TuiDropdownHostDirective)], usesInheritance: true, ngImport: i0__namespace });
845
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownHostDirective, decorators: [{
859
+ }(i1.TuiRectAccessor));
860
+ TuiDropdownHostDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownHostDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
861
+ TuiDropdownHostDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownHostDirective, selector: "[tuiDropdown][tuiDropdownHost]", inputs: { tuiDropdownHost: "tuiDropdownHost" }, providers: [i1.tuiAsRectAccessor(TuiDropdownHostDirective)], usesInheritance: true, ngImport: i0__namespace });
862
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownHostDirective, decorators: [{
846
863
  type: i0.Directive,
847
864
  args: [{
848
865
  selector: '[tuiDropdown][tuiDropdownHost]',
849
- providers: [i1$1.tuiAsRectAccessor(TuiDropdownHostDirective)],
866
+ providers: [i1.tuiAsRectAccessor(TuiDropdownHostDirective)],
850
867
  }]
851
868
  }], propDecorators: { tuiDropdownHost: [{
852
869
  type: i0.Input
@@ -856,38 +873,45 @@
856
873
  __extends(TuiDropdownManualDirective, _super);
857
874
  function TuiDropdownManualDirective() {
858
875
  var _this = _super.call(this, function (subscriber) { return _this.stream$.subscribe(subscriber); }) || this;
859
- _this.stream$ = new i5.Subject();
876
+ _this.stream$ = new i1$1.BehaviorSubject(false);
860
877
  _this.tuiDropdownManual = false;
878
+ _this.type = 'dropdown';
861
879
  return _this;
862
880
  }
863
881
  TuiDropdownManualDirective.prototype.ngOnChanges = function () {
864
882
  this.stream$.next(this.tuiDropdownManual);
865
883
  };
866
884
  return TuiDropdownManualDirective;
867
- }(i1$1.TuiDriver));
868
- TuiDropdownManualDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownManualDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
869
- TuiDropdownManualDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: { tuiDropdownManual: "tuiDropdownManual" }, providers: [i1$1.tuiAsDriver(TuiDropdownManualDirective)], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace });
870
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownManualDirective, decorators: [{
885
+ }(i1.TuiDriver));
886
+ TuiDropdownManualDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownManualDirective, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
887
+ TuiDropdownManualDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: { tuiDropdownManual: "tuiDropdownManual" }, providers: [i1.tuiAsDriver(TuiDropdownManualDirective)], usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace });
888
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownManualDirective, decorators: [{
871
889
  type: i0.Directive,
872
890
  args: [{
873
891
  selector: '[tuiDropdown][tuiDropdownManual]',
874
- providers: [i1$1.tuiAsDriver(TuiDropdownManualDirective)],
892
+ providers: [i1.tuiAsDriver(TuiDropdownManualDirective)],
875
893
  }]
876
894
  }], ctorParameters: function () { return []; }, propDecorators: { tuiDropdownManual: [{
877
895
  type: i0.Input
878
896
  }] } });
879
897
 
880
- var TuiDropdownPositionDirective = /** @class */ (function () {
881
- function TuiDropdownPositionDirective(options, viewport, accessor) {
882
- this.options = options;
883
- this.viewport = viewport;
884
- this.accessor = accessor;
898
+ var TuiDropdownPositionDirective = /** @class */ (function (_super) {
899
+ __extends(TuiDropdownPositionDirective, _super);
900
+ function TuiDropdownPositionDirective(options, viewport, accessors, directive) {
901
+ var _this = _super.call(this) || this;
902
+ _this.options = options;
903
+ _this.viewport = viewport;
904
+ _this.accessors = accessors;
905
+ _this.directive = directive;
906
+ _this.type = 'dropdown';
907
+ return _this;
885
908
  }
886
- TuiDropdownPositionDirective.prototype.getPosition = function (_a) {
887
- var width = _a.width, height = _a.height;
888
- var hostRect = this.accessor.getClientRect();
909
+ TuiDropdownPositionDirective.prototype.getPosition = function (_c) {
910
+ var width = _c.width, height = _c.height;
911
+ var _a, _b;
912
+ var hostRect = (_b = (_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getClientRect()) !== null && _b !== void 0 ? _b : i2.EMPTY_CLIENT_RECT;
889
913
  var viewport = this.viewport.getClientRect();
890
- var _b = this.options, minHeight = _b.minHeight, align = _b.align, direction = _b.direction, offset = _b.offset;
914
+ var _d = this.options, minHeight = _d.minHeight, align = _d.align, direction = _d.direction, offset = _d.offset;
891
915
  var previous = this.previous || direction || 'bottom';
892
916
  var right = Math.max(hostRect.right - width, offset);
893
917
  var available = {
@@ -908,15 +932,25 @@
908
932
  this.previous = better;
909
933
  return [position[better], position[align]];
910
934
  };
935
+ Object.defineProperty(TuiDropdownPositionDirective.prototype, "accessor", {
936
+ get: function () {
937
+ return i1.tuiFallbackRectAccessor('dropdown')(this.accessors, this.directive);
938
+ },
939
+ enumerable: false,
940
+ configurable: true
941
+ });
911
942
  return TuiDropdownPositionDirective;
912
- }());
913
- TuiDropdownPositionDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownPositionDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: tokens.TUI_VIEWPORT }, { token: i1$1.TuiRectAccessor }], target: i0__namespace.ɵɵFactoryTarget.Directive });
914
- TuiDropdownPositionDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])", providers: [i1$1.tuiAsPositionAccessor(TuiDropdownPositionDirective)], ngImport: i0__namespace });
915
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownPositionDirective, decorators: [{
943
+ }(i1.TuiPositionAccessor));
944
+ TuiDropdownPositionDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownPositionDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: tokens.TUI_VIEWPORT }, { token: i1.TuiRectAccessor }, { token: TuiDropdownDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
945
+ TuiDropdownPositionDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])", providers: [i1.tuiAsPositionAccessor(TuiDropdownPositionDirective)], usesInheritance: true, ngImport: i0__namespace });
946
+ __decorate([
947
+ i2.tuiPure
948
+ ], TuiDropdownPositionDirective.prototype, "accessor", null);
949
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownPositionDirective, decorators: [{
916
950
  type: i0.Directive,
917
951
  args: [{
918
952
  selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',
919
- providers: [i1$1.tuiAsPositionAccessor(TuiDropdownPositionDirective)],
953
+ providers: [i1.tuiAsPositionAccessor(TuiDropdownPositionDirective)],
920
954
  }]
921
955
  }], ctorParameters: function () {
922
956
  return [{ type: undefined, decorators: [{
@@ -925,30 +959,37 @@
925
959
  }] }, { type: i1__namespace$2.TuiRectAccessor, decorators: [{
926
960
  type: i0.Inject,
927
961
  args: [tokens.TUI_VIEWPORT]
928
- }] }, { type: i1__namespace$2.TuiRectAccessor, decorators: [{
962
+ }] }, { type: undefined, decorators: [{
963
+ type: i0.Inject,
964
+ args: [i1.TuiRectAccessor]
965
+ }] }, { type: TuiDropdownDirective, decorators: [{
929
966
  type: i0.Inject,
930
- args: [i1$1.TuiRectAccessor]
967
+ args: [TuiDropdownDirective]
931
968
  }] }];
932
- } });
969
+ }, propDecorators: { accessor: [] } });
933
970
 
934
- var TuiDropdownPositionSidedDirective = /** @class */ (function () {
935
- function TuiDropdownPositionSidedDirective(options, viewport, accessor, vertical) {
936
- this.options = options;
937
- this.viewport = viewport;
938
- this.accessor = accessor;
939
- this.vertical = vertical;
940
- this.previous = this.options.direction || 'bottom';
941
- this.tuiDropdownSided = '';
942
- this.tuiDropdownSidedOffset = 4;
971
+ var TuiDropdownPositionSidedDirective = /** @class */ (function (_super) {
972
+ __extends(TuiDropdownPositionSidedDirective, _super);
973
+ function TuiDropdownPositionSidedDirective(options, viewport, vertical) {
974
+ var _this = _super.call(this) || this;
975
+ _this.options = options;
976
+ _this.viewport = viewport;
977
+ _this.vertical = vertical;
978
+ _this.previous = _this.options.direction || 'bottom';
979
+ _this.tuiDropdownSided = '';
980
+ _this.tuiDropdownSidedOffset = 4;
981
+ _this.type = 'dropdown';
982
+ return _this;
943
983
  }
944
984
  TuiDropdownPositionSidedDirective.prototype.getPosition = function (rect) {
985
+ var _a, _b;
945
986
  if (this.tuiDropdownSided === false) {
946
987
  return this.vertical.getPosition(rect);
947
988
  }
948
989
  var height = rect.height, width = rect.width;
949
- var hostRect = this.accessor.getClientRect();
990
+ var hostRect = (_b = (_a = this.vertical.accessor) === null || _a === void 0 ? void 0 : _a.getClientRect()) !== null && _b !== void 0 ? _b : i2.EMPTY_CLIENT_RECT;
950
991
  var viewport = this.viewport.getClientRect();
951
- var _a = this.options, align = _a.align, direction = _a.direction, minHeight = _a.minHeight, offset = _a.offset;
992
+ var _c = this.options, align = _c.align, direction = _c.direction, minHeight = _c.minHeight, offset = _c.offset;
952
993
  var available = {
953
994
  top: hostRect.bottom - viewport.top,
954
995
  left: hostRect.left - offset - viewport.left,
@@ -972,19 +1013,19 @@
972
1013
  return [position[better], left];
973
1014
  };
974
1015
  return TuiDropdownPositionSidedDirective;
975
- }());
976
- TuiDropdownPositionSidedDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownPositionSidedDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: tokens.TUI_VIEWPORT }, { token: i1$1.TuiRectAccessor }, { token: TuiDropdownPositionDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
977
- TuiDropdownPositionSidedDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [
1016
+ }(i1.TuiPositionAccessor));
1017
+ TuiDropdownPositionSidedDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownPositionSidedDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: tokens.TUI_VIEWPORT }, { token: TuiDropdownPositionDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1018
+ TuiDropdownPositionSidedDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [
978
1019
  TuiDropdownPositionDirective,
979
- i1$1.tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
980
- ], ngImport: i0__namespace });
981
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownPositionSidedDirective, decorators: [{
1020
+ i1.tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
1021
+ ], usesInheritance: true, ngImport: i0__namespace });
1022
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownPositionSidedDirective, decorators: [{
982
1023
  type: i0.Directive,
983
1024
  args: [{
984
1025
  selector: '[tuiDropdownSided]',
985
1026
  providers: [
986
1027
  TuiDropdownPositionDirective,
987
- i1$1.tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
1028
+ i1.tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
988
1029
  ],
989
1030
  }]
990
1031
  }], ctorParameters: function () {
@@ -994,10 +1035,7 @@
994
1035
  }] }, { type: i1__namespace$2.TuiRectAccessor, decorators: [{
995
1036
  type: i0.Inject,
996
1037
  args: [tokens.TUI_VIEWPORT]
997
- }] }, { type: i1__namespace$2.TuiRectAccessor, decorators: [{
998
- type: i0.Inject,
999
- args: [i1$1.TuiRectAccessor]
1000
- }] }, { type: i1__namespace$2.TuiPositionAccessor, decorators: [{
1038
+ }] }, { type: TuiDropdownPositionDirective, decorators: [{
1001
1039
  type: i0.Inject,
1002
1040
  args: [TuiDropdownPositionDirective]
1003
1041
  }] }];
@@ -1017,8 +1055,8 @@
1017
1055
  _this.elementRef = elementRef;
1018
1056
  _this.viewContainerRef = viewContainerRef;
1019
1057
  _this.dropdown = dropdown;
1020
- _this.handler$ = new i5.BehaviorSubject(i2.ALWAYS_TRUE_HANDLER);
1021
- _this.stream$ = i5.combineLatest([
1058
+ _this.handler$ = new i1$1.BehaviorSubject(i2.ALWAYS_TRUE_HANDLER);
1059
+ _this.stream$ = i1$1.combineLatest([
1022
1060
  _this.handler$,
1023
1061
  _this.selection$.pipe(operators.map(function () { return _this.getRange(); }), operators.distinctUntilChanged()),
1024
1062
  ]).pipe(operators.map(function (_b) {
@@ -1031,6 +1069,7 @@
1031
1069
  return (contained && handler(_this.range)) || _this.inDropdown(range);
1032
1070
  }));
1033
1071
  _this.position = 'selection';
1072
+ _this.type = 'dropdown';
1034
1073
  return _this;
1035
1074
  }
1036
1075
  Object.defineProperty(TuiDropdownSelectionDirective.prototype, "tuiDropdownSelection", {
@@ -1126,22 +1165,22 @@
1126
1165
  return ghost;
1127
1166
  };
1128
1167
  return TuiDropdownSelectionDirective;
1129
- }(i1$1.TuiDriver));
1130
- TuiDropdownSelectionDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownSelectionDirective, deps: [{ token: i2.TUI_RANGE }, { token: common$1.DOCUMENT }, { token: tokens.TUI_SELECTION_STREAM }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: TuiDropdownDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1131
- TuiDropdownSelectionDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownSelectionDirective, selector: "[tuiDropdown][tuiDropdownSelection]", inputs: { position: ["tuiDropdownSelectionPosition", "position"], tuiDropdownSelection: "tuiDropdownSelection" }, providers: [
1132
- i1$1.tuiAsDriver(TuiDropdownSelectionDirective),
1133
- i1$1.tuiAsRectAccessor(TuiDropdownSelectionDirective),
1168
+ }(i1.TuiDriver));
1169
+ TuiDropdownSelectionDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownSelectionDirective, deps: [{ token: i2.TUI_RANGE }, { token: common$1.DOCUMENT }, { token: tokens.TUI_SELECTION_STREAM }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: TuiDropdownDirective }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1170
+ TuiDropdownSelectionDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDropdownSelectionDirective, selector: "[tuiDropdown][tuiDropdownSelection]", inputs: { position: ["tuiDropdownSelectionPosition", "position"], tuiDropdownSelection: "tuiDropdownSelection" }, providers: [
1171
+ i1.tuiAsDriver(TuiDropdownSelectionDirective),
1172
+ i1.tuiAsRectAccessor(TuiDropdownSelectionDirective),
1134
1173
  ], usesInheritance: true, ngImport: i0__namespace });
1135
1174
  __decorate([
1136
1175
  i2.tuiDefaultProp()
1137
1176
  ], TuiDropdownSelectionDirective.prototype, "position", void 0);
1138
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownSelectionDirective, decorators: [{
1177
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownSelectionDirective, decorators: [{
1139
1178
  type: i0.Directive,
1140
1179
  args: [{
1141
1180
  selector: '[tuiDropdown][tuiDropdownSelection]',
1142
1181
  providers: [
1143
- i1$1.tuiAsDriver(TuiDropdownSelectionDirective),
1144
- i1$1.tuiAsRectAccessor(TuiDropdownSelectionDirective),
1182
+ i1.tuiAsDriver(TuiDropdownSelectionDirective),
1183
+ i1.tuiAsRectAccessor(TuiDropdownSelectionDirective),
1145
1184
  ],
1146
1185
  }]
1147
1186
  }], ctorParameters: function () {
@@ -1151,7 +1190,7 @@
1151
1190
  }] }, { type: Document, decorators: [{
1152
1191
  type: i0.Inject,
1153
1192
  args: [common$1.DOCUMENT]
1154
- }] }, { type: i5__namespace.Observable, decorators: [{
1193
+ }] }, { type: i1__namespace.Observable, decorators: [{
1155
1194
  type: i0.Inject,
1156
1195
  args: [tokens.TUI_SELECTION_STREAM]
1157
1196
  }] }, { type: i0__namespace.ElementRef, decorators: [{
@@ -1176,8 +1215,8 @@
1176
1215
  }
1177
1216
  return TuiDropdownModule;
1178
1217
  }());
1179
- TuiDropdownModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1180
- TuiDropdownModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownModule, declarations: [TuiDropdownDirective,
1218
+ TuiDropdownModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1219
+ TuiDropdownModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownModule, declarations: [TuiDropdownDirective,
1181
1220
  TuiDropdownComponent,
1182
1221
  TuiDropdownOptionsDirective,
1183
1222
  TuiDropdownHostDirective,
@@ -1187,7 +1226,7 @@
1187
1226
  TuiDropdownContextDirective,
1188
1227
  TuiDropdownPositionDirective,
1189
1228
  TuiDropdownPositionSidedDirective,
1190
- TuiDropdownSelectionDirective], imports: [i1.PolymorpheusModule,
1229
+ TuiDropdownSelectionDirective], imports: [i4.PolymorpheusModule,
1191
1230
  i2.TuiActiveZoneModule,
1192
1231
  i2.TuiOverscrollModule,
1193
1232
  i1$2.TuiScrollbarModule,
@@ -1203,19 +1242,19 @@
1203
1242
  TuiDropdownPositionDirective,
1204
1243
  TuiDropdownPositionSidedDirective,
1205
1244
  TuiDropdownSelectionDirective] });
1206
- TuiDropdownModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownModule, imports: [[
1207
- i1.PolymorpheusModule,
1245
+ TuiDropdownModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownModule, imports: [[
1246
+ i4.PolymorpheusModule,
1208
1247
  i2.TuiActiveZoneModule,
1209
1248
  i2.TuiOverscrollModule,
1210
1249
  i1$2.TuiScrollbarModule,
1211
1250
  i3.TuiModeModule,
1212
1251
  i2.TuiHoveredModule,
1213
1252
  ]] });
1214
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownModule, decorators: [{
1253
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiDropdownModule, decorators: [{
1215
1254
  type: i0.NgModule,
1216
1255
  args: [{
1217
1256
  imports: [
1218
- i1.PolymorpheusModule,
1257
+ i4.PolymorpheusModule,
1219
1258
  i2.TuiActiveZoneModule,
1220
1259
  i2.TuiOverscrollModule,
1221
1260
  i1$2.TuiScrollbarModule,