@taiga-ui/core 4.52.0-canary.c107f6a → 4.52.0-canary.c8448e0

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 (312) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +2 -2
  3. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  4. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  5. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  6. package/components/calendar/calendar-spin.component.d.ts +1 -0
  7. package/components/calendar/calendar-year.component.d.ts +1 -1
  8. package/components/calendar/calendar.options.d.ts +9 -0
  9. package/components/calendar/index.d.ts +3 -0
  10. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  11. package/components/data-list/data-list.component.d.ts +7 -11
  12. package/components/data-list/data-list.d.ts +3 -4
  13. package/components/data-list/data-list.tokens.d.ts +1 -23
  14. package/components/data-list/index.d.ts +3 -4
  15. package/components/data-list/opt-group.directive.d.ts +2 -2
  16. package/components/data-list/option-content.directive.d.ts +14 -0
  17. package/components/data-list/option-with-value.directive.d.ts +9 -0
  18. package/components/data-list/option.directive.d.ts +19 -0
  19. package/components/icon/icon.component.d.ts +2 -2
  20. package/components/index.d.ts +2 -4
  21. package/components/input/index.d.ts +2 -0
  22. package/components/input/input.d.ts +5 -0
  23. package/components/input/input.directive.d.ts +29 -0
  24. package/components/label/label.directive.d.ts +1 -1
  25. package/components/link/index.d.ts +0 -1
  26. package/components/link/link.directive.d.ts +8 -6
  27. package/components/loader/loader.options.d.ts +1 -3
  28. package/components/notification/index.d.ts +3 -0
  29. package/components/notification/notification.component.d.ts +14 -0
  30. package/components/notification/notification.d.ts +3 -0
  31. package/components/notification/notification.directive.d.ts +5 -6
  32. package/components/notification/notification.options.d.ts +10 -7
  33. package/components/notification/notification.service.d.ts +17 -0
  34. package/components/root/root.component.d.ts +1 -1
  35. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  36. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  37. package/components/spin-button/spin-button.component.d.ts +1 -1
  38. package/components/textfield/index.d.ts +0 -1
  39. package/components/textfield/select-like.directive.d.ts +1 -0
  40. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  41. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -13
  42. package/components/textfield/textfield.component.d.ts +20 -33
  43. package/components/textfield/textfield.d.ts +2 -3
  44. package/directives/appearance/appearance.directive.d.ts +1 -1
  45. package/directives/appearance/appearance.options.d.ts +1 -2
  46. package/directives/button-x/button-x.directive.d.ts +6 -0
  47. package/directives/button-x/index.d.ts +1 -0
  48. package/directives/group/group.directive.d.ts +7 -7
  49. package/directives/group/group.options.d.ts +1 -3
  50. package/directives/index.d.ts +1 -5
  51. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  52. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  53. package/fesm2022/taiga-ui-core-classes.mjs +9 -11
  54. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  56. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-core-components-calendar.mjs +138 -37
  58. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  60. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-components-data-list.mjs +109 -271
  62. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  64. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  66. package/fesm2022/taiga-ui-core-components-icon.mjs +9 -9
  67. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-components-input.mjs +100 -0
  69. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  70. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  71. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-link.mjs +13 -28
  73. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-loader.mjs +7 -12
  75. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-core-components-notification.mjs +99 -29
  77. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-root.mjs +9 -13
  79. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +43 -49
  81. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  83. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-textfield.mjs +128 -282
  85. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  86. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  87. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  88. package/fesm2022/taiga-ui-core-components.mjs +2 -4
  89. package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -15
  91. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-directives-button-x.mjs +51 -0
  93. package/fesm2022/taiga-ui-core-directives-button-x.mjs.map +1 -0
  94. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  95. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -35
  96. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -11
  98. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -37
  100. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  102. package/fesm2022/taiga-ui-core-directives.mjs +1 -5
  103. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
  105. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  107. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  109. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  110. package/fesm2022/taiga-ui-core-portals-dialog.mjs +159 -0
  111. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  112. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +220 -329
  113. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  114. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +102 -160
  115. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  116. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  117. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  118. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  119. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  120. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  121. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  122. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  123. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-tokens.mjs +35 -54
  125. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  127. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  129. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core.mjs +1 -1
  131. package/index.d.ts +1 -1
  132. package/package.json +40 -69
  133. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  134. package/pipes/index.d.ts +0 -7
  135. package/{directives/notification/notification.directive.d.ts → portals/alert/alert.directive.d.ts} +3 -3
  136. package/{directives/notification/notification.service.d.ts → portals/alert/alert.service.d.ts} +3 -3
  137. package/portals/alert/index.d.ts +2 -0
  138. package/{components → portals}/dialog/dialog.component.d.ts +2 -3
  139. package/{components → portals}/dialog/dialog.options.d.ts +2 -3
  140. package/{components → portals}/dialog/dialog.providers.d.ts +1 -2
  141. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  142. package/{components → portals}/dialog/index.d.ts +0 -1
  143. package/portals/dropdown/dropdown-close.directive.d.ts +15 -0
  144. package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -1
  145. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  146. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  147. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  148. package/portals/dropdown/dropdown-open.directive.d.ts +29 -0
  149. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +1 -5
  150. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  151. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +6 -6
  152. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  153. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  154. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  155. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  156. package/{directives → portals}/dropdown/index.d.ts +1 -1
  157. package/portals/hint/hint-options.directive.d.ts +17 -0
  158. package/{directives → portals}/hint/hint-position.directive.d.ts +5 -5
  159. package/{directives → portals}/hint/hint.d.ts +1 -2
  160. package/{directives → portals}/hint/hint.directive.d.ts +2 -2
  161. package/portals/index.d.ts +6 -0
  162. package/{components → portals}/modal/modal.component.d.ts +3 -3
  163. package/{components → portals}/modal/modal.service.d.ts +3 -3
  164. package/services/index.d.ts +0 -3
  165. package/styles/components/appearance.less +5 -0
  166. package/styles/components/button.less +10 -20
  167. package/styles/components/icon.less +11 -0
  168. package/styles/components/icons.less +2 -1
  169. package/styles/components/label.less +3 -12
  170. package/styles/components/link.less +9 -24
  171. package/styles/components/notification.less +31 -65
  172. package/styles/components/textfield.less +130 -211
  173. package/styles/components/title.less +8 -8
  174. package/styles/mixins/appearance.less +11 -26
  175. package/styles/mixins/appearance.scss +9 -24
  176. package/styles/mixins/date-picker.less +1 -1
  177. package/styles/mixins/mixins.less +0 -5
  178. package/styles/mixins/mixins.scss +0 -5
  179. package/styles/mixins/picker.less +1 -1
  180. package/styles/mixins/picker.scss +1 -1
  181. package/styles/mixins/slider.less +4 -10
  182. package/styles/mixins/slider.scss +23 -22
  183. package/styles/taiga-ui-local.less +0 -1
  184. package/styles/taiga-ui-local.scss +0 -1
  185. package/styles/taiga-ui-theme.less +0 -1
  186. package/styles/theme/appearance/outline.less +9 -18
  187. package/styles/theme/appearance/primary.less +2 -4
  188. package/styles/theme/appearance/secondary.less +6 -14
  189. package/styles/theme/appearance/status.less +0 -4
  190. package/styles/theme/appearance/table.less +36 -35
  191. package/styles/theme/appearance/textfield.less +26 -27
  192. package/styles/theme/appearance.less +0 -1
  193. package/styles/theme/variables.less +16 -19
  194. package/styles/variables/media.less +13 -18
  195. package/styles/variables/media.scss +13 -13
  196. package/tokens/breakpoint.d.ts +4 -0
  197. package/tokens/common-icons.d.ts +3 -3
  198. package/tokens/icons.d.ts +0 -4
  199. package/tokens/index.d.ts +1 -4
  200. package/types/direction.d.ts +1 -1
  201. package/types/index.d.ts +0 -2
  202. package/types/point.d.ts +1 -1
  203. package/types/size.d.ts +0 -11
  204. package/utils/format/index.d.ts +0 -1
  205. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  206. package/utils/miscellaneous/get-duration.d.ts +2 -0
  207. package/utils/miscellaneous/index.d.ts +1 -1
  208. package/animations/animations.d.ts +0 -109
  209. package/animations/index.d.ts +0 -1
  210. package/components/alert/alert.component.d.ts +0 -14
  211. package/components/alert/alert.directive.d.ts +0 -8
  212. package/components/alert/alert.interfaces.d.ts +0 -13
  213. package/components/alert/alert.service.d.ts +0 -11
  214. package/components/alert/alert.tokens.d.ts +0 -6
  215. package/components/alert/index.d.ts +0 -5
  216. package/components/data-list/data-list.directive.d.ts +0 -7
  217. package/components/data-list/option/option-content.d.ts +0 -16
  218. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  219. package/components/data-list/option/option.directive.d.ts +0 -27
  220. package/components/dialog/active-zone-adapter.directive.d.ts +0 -11
  221. package/components/dialog/dialogs.component.d.ts +0 -8
  222. package/components/header/header.directive.d.ts +0 -17
  223. package/components/header/index.d.ts +0 -1
  224. package/components/link/link.options.d.ts +0 -12
  225. package/components/textfield/textfield.directive.d.ts +0 -35
  226. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  227. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  228. package/directives/hint/hint-options.directive.d.ts +0 -36
  229. package/directives/notification/index.d.ts +0 -2
  230. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  231. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  232. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -110
  233. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  234. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -226
  235. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  236. package/fesm2022/taiga-ui-core-components-header.mjs +0 -42
  237. package/fesm2022/taiga-ui-core-components-header.mjs.map +0 -1
  238. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  239. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  240. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  241. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  242. package/fesm2022/taiga-ui-core-directives-notification.mjs +0 -73
  243. package/fesm2022/taiga-ui-core-directives-notification.mjs.map +0 -1
  244. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  245. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -24
  246. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  247. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -93
  248. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -31
  250. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  251. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -27
  252. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -28
  254. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  256. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -35
  258. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  259. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  260. package/pipes/auto-color/index.d.ts +0 -1
  261. package/pipes/calendar-sheet/index.d.ts +0 -1
  262. package/pipes/calendar-sheet/utils.d.ts +0 -20
  263. package/pipes/flag/flag.pipe.d.ts +0 -14
  264. package/pipes/flag/index.d.ts +0 -1
  265. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  266. package/pipes/format-date/index.d.ts +0 -1
  267. package/pipes/initials/index.d.ts +0 -1
  268. package/pipes/initials/initials.pipe.d.ts +0 -7
  269. package/pipes/month/index.d.ts +0 -1
  270. package/pipes/month/month.pipe.d.ts +0 -10
  271. package/pipes/order-week-days/index.d.ts +0 -1
  272. package/services/breakpoint.service.d.ts +0 -16
  273. package/services/dark-theme.service.d.ts +0 -10
  274. package/services/format-date.service.d.ts +0 -8
  275. package/styles/mixins/wrapper.less +0 -64
  276. package/styles/mixins/wrapper.scss +0 -61
  277. package/styles/theme/appearance/opposite.less +0 -17
  278. package/styles/theme/wrapper.less +0 -211
  279. package/tokens/day-type-handler.d.ts +0 -7
  280. package/tokens/first-day-of-week.d.ts +0 -5
  281. package/tokens/scroll-ref.d.ts +0 -2
  282. package/tokens/spin-icons.d.ts +0 -6
  283. package/types/range-state.d.ts +0 -4
  284. package/types/value-content-context.d.ts +0 -4
  285. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  286. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  287. /package/{directives → components}/title/index.d.ts +0 -0
  288. /package/{directives → components}/title/title.directive.d.ts +0 -0
  289. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  290. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  291. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  292. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  293. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  294. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  295. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  296. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  297. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  298. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  299. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  300. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  301. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  302. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  303. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  304. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  305. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  306. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  307. /package/{directives → portals}/hint/index.d.ts +0 -0
  308. /package/{components → portals}/modal/index.d.ts +0 -0
  309. /package/{directives → portals}/popup/index.d.ts +0 -0
  310. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  311. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  312. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -1,7 +1,6 @@
1
- import { __decorate } from 'tslib';
2
1
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Directive, Optional, Self, SkipSelf, inject, Input, input, output, INJECTOR, ChangeDetectionStrategy, Component, TemplateRef, signal, computed } from '@angular/core';
4
- import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
2
+ import { InjectionToken, Directive, Optional, SkipSelf, inject, input, output, INJECTOR, ChangeDetectionStrategy, Component, TemplateRef, forwardRef, signal, computed } from '@angular/core';
3
+ import { outputFromObservable, takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
5
4
  import { EMPTY_CLIENT_RECT } from '@taiga-ui/cdk/constants';
6
5
  import * as i3 from '@taiga-ui/cdk/directives/active-zone';
7
6
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
@@ -11,17 +10,17 @@ import { TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
11
10
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
12
11
  import { tuiInjectElement, tuiPointToClientRect } from '@taiga-ui/cdk/utils/dom';
13
12
  import { tuiClamp } from '@taiga-ui/cdk/utils/math';
14
- import { tuiProvide, tuiPure, tuiSetSignal, tuiPx, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
15
- import { TuiDriverDirective, TuiDriver, tuiAsDriver, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor, tuiAsRectAccessor, tuiAsVehicle, tuiPositionAccessorFor, tuiRectAccessorFor } from '@taiga-ui/core/classes';
13
+ import { tuiSetSignal, tuiPx, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
14
+ import { TuiDriverDirective, TuiDriver, tuiAsDriver, TuiPositionAccessor, tuiFallbackAccessor, TuiRectAccessor, tuiAsVehicle, tuiAsRectAccessor, tuiPositionAccessorFor, tuiRectAccessorFor } from '@taiga-ui/core/classes';
16
15
  import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
17
16
  import * as i1 from '@taiga-ui/core/directives/appearance';
18
17
  import { tuiAppearance, TuiAppearance } from '@taiga-ui/core/directives/appearance';
19
18
  import { TuiPositionService, TuiVisualViewportService } from '@taiga-ui/core/services';
20
19
  import { TUI_VIEWPORT } from '@taiga-ui/core/tokens';
21
- import { tuiOverrideOptions, tuiIsObscured } from '@taiga-ui/core/utils';
20
+ import { tuiOverrideOptions, tuiIsObscured } from '@taiga-ui/core/utils/miscellaneous';
22
21
  import { PolymorpheusComponent, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
23
- import { Subject, merge, switchMap, of, delay, takeUntil, repeat, filter, map, tap, takeWhile, distinctUntilChanged, fromEvent, debounce, timer, startWith, skip, BehaviorSubject } from 'rxjs';
24
- import { TuiPopupService } from '@taiga-ui/core/directives/popup';
22
+ import { Subject, merge, switchMap, of, delay, takeUntil, repeat, filter, map, tap, distinctUntilChanged, takeWhile, fromEvent, debounce, timer, startWith, skip, BehaviorSubject } from 'rxjs';
23
+ import { TuiPopupService } from '@taiga-ui/core/portals/popup';
25
24
  import { DOCUMENT } from '@angular/common';
26
25
  import { tuiIfMap, tuiTypedFromEvent, tuiZoneOptimized } from '@taiga-ui/cdk/observables';
27
26
  import { tuiIsFocused } from '@taiga-ui/cdk/utils/focus';
@@ -38,30 +37,30 @@ class TuiHintDriver extends TuiDriverDirective {
38
37
  super(...arguments);
39
38
  this.type = 'hint';
40
39
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDriver, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintDriver, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDriver, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiHintDriver, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
43
42
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDriver, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDriver, decorators: [{
45
44
  type: Directive
46
45
  }] });
47
46
 
48
47
  const TUI_HINT_DIRECTIONS = [
49
- 'bottom-left',
48
+ 'bottom-start',
50
49
  'bottom',
51
- 'bottom-right',
52
- 'top-left',
50
+ 'bottom-end',
51
+ 'top-start',
53
52
  'top',
54
- 'top-right',
55
- 'left-top',
56
- 'left',
57
- 'left-bottom',
58
- 'right-top',
59
- 'right',
60
- 'right-bottom',
53
+ 'top-end',
54
+ 'start-top',
55
+ 'start',
56
+ 'start-bottom',
57
+ 'end-top',
58
+ 'end',
59
+ 'end-bottom',
61
60
  ];
62
61
  /** Default values for hint options */
63
62
  const TUI_HINT_DEFAULT_OPTIONS = {
64
- direction: 'bottom-left',
63
+ direction: 'bottom-start',
65
64
  showDelay: 500,
66
65
  hideDelay: 200,
67
66
  appearance: '',
@@ -76,53 +75,9 @@ const TUI_HINT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_HINT_OPTIONS' : '',
76
75
  });
77
76
  const tuiHintOptionsProvider = (override) => ({
78
77
  provide: TUI_HINT_OPTIONS,
79
- deps: [
80
- [new Optional(), new Self(), TuiHintOptionsDirective],
81
- [new Optional(), new SkipSelf(), TUI_HINT_OPTIONS],
82
- ],
78
+ deps: [[new Optional(), new SkipSelf(), TUI_HINT_OPTIONS]],
83
79
  useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),
84
80
  });
85
- /**
86
- * @deprecated: drop in 5.0
87
- */
88
- class TuiHintOptionsDirective {
89
- constructor() {
90
- this.options = inject(TUI_HINT_OPTIONS, { skipSelf: true });
91
- this.direction = this.options.direction;
92
- this.appearance = this.options.appearance;
93
- this.showDelay = this.options.showDelay;
94
- this.hideDelay = this.options.hideDelay;
95
- this.icon = this.options.icon;
96
- this.change$ = new Subject();
97
- }
98
- ngOnChanges() {
99
- this.change$.next();
100
- }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintOptionsDirective, isStandalone: true, selector: "[tuiHintContent]", inputs: { content: ["tuiHintContent", "content"], direction: ["tuiHintDirection", "direction"], appearance: ["tuiHintAppearance", "appearance"], showDelay: ["tuiHintShowDelay", "showDelay"], hideDelay: ["tuiHintHideDelay", "hideDelay"] }, providers: [tuiProvide(TUI_HINT_OPTIONS, TuiHintOptionsDirective)], usesOnChanges: true, ngImport: i0 }); }
103
- }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintOptionsDirective, decorators: [{
105
- type: Directive,
106
- args: [{
107
- selector: '[tuiHintContent]',
108
- providers: [tuiProvide(TUI_HINT_OPTIONS, TuiHintOptionsDirective)],
109
- }]
110
- }], propDecorators: { content: [{
111
- type: Input,
112
- args: ['tuiHintContent']
113
- }], direction: [{
114
- type: Input,
115
- args: ['tuiHintDirection']
116
- }], appearance: [{
117
- type: Input,
118
- args: ['tuiHintAppearance']
119
- }], showDelay: [{
120
- type: Input,
121
- args: ['tuiHintShowDelay']
122
- }], hideDelay: [{
123
- type: Input,
124
- args: ['tuiHintHideDelay']
125
- }] } });
126
81
 
127
82
  class TuiHintHover extends TuiDriver {
128
83
  constructor() {
@@ -136,7 +91,7 @@ class TuiHintHover extends TuiDriver {
136
91
  this.stream$ = merge(this.toggle$.pipe(switchMap((show) => this.isMobile
137
92
  ? of(show)
138
93
  : of(show).pipe(delay(show ? 0 : this.hideDelay()))), takeUntil(this.hovered$), repeat()), this.hovered$.pipe(switchMap((show) => this.isMobile
139
- ? of(show)
94
+ ? of(show).pipe(delay(0))
140
95
  : of(show).pipe(delay(show ? this.showDelay() : this.hideDelay()))), takeUntil(this.toggle$), repeat())).pipe(filter(() => this.enabled), map((value) => value &&
141
96
  (this.el.hasAttribute('tuiHintPointer') || !tuiIsObscured(this.el))), tap((visible) => {
142
97
  this.visible = visible;
@@ -161,10 +116,10 @@ class TuiHintHover extends TuiDriver {
161
116
  close() {
162
117
  this.toggle$.next(false);
163
118
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
165
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintHover, isStandalone: true, inputs: { showDelay: { classPropertyName: "showDelay", publicName: "tuiHintShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "tuiHintHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintHover), TuiHoveredService], exportAs: ["tuiHintHover"], usesInheritance: true, ngImport: i0 }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
120
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintHover, isStandalone: true, inputs: { showDelay: { classPropertyName: "showDelay", publicName: "tuiHintShowDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "tuiHintHideDelay", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintHover), TuiHoveredService], exportAs: ["tuiHintHover"], usesInheritance: true, ngImport: i0 }); }
166
121
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintHover, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintHover, decorators: [{
168
123
  type: Directive,
169
124
  args: [{
170
125
  providers: [tuiAsDriver(TuiHintHover), TuiHoveredService],
@@ -174,66 +129,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
174
129
 
175
130
  const GAP$1 = 8;
176
131
  const ARROW_OFFSET = 24;
177
- const TOP = 0;
178
- const LEFT = 1;
132
+ const TOP = 1;
133
+ const LEFT = 0;
179
134
  class TuiHintPosition extends TuiPositionAccessor {
180
135
  constructor() {
181
136
  super(...arguments);
182
137
  this.el = tuiInjectElement();
183
- this.offset = inject(TUI_IS_MOBILE) ? 16 : 8;
184
138
  this.viewport = inject(TUI_VIEWPORT);
185
- this.accessor = tuiFallbackAccessor('hint')(inject(TuiRectAccessor), inject(TuiHintDirective));
139
+ this.directionChange = new Subject();
140
+ this.accessor = tuiFallbackAccessor('hint')(inject(TuiRectAccessor, { optional: true }), { getClientRect: () => this.el.getBoundingClientRect() });
186
141
  this.points = TUI_HINT_DIRECTIONS.reduce((acc, direction) => ({ ...acc, [direction]: [0, 0] }), {});
187
142
  this.direction = input(inject(TUI_HINT_OPTIONS).direction, {
188
143
  alias: 'tuiHintDirection',
189
144
  });
190
- this.directionChange = output({
191
- alias: 'tuiHintDirectionChange',
145
+ this.offset = input(inject(TUI_IS_MOBILE) ? 16 : 8, {
146
+ alias: 'tuiHintOffset',
192
147
  });
148
+ this.tuiHintDirectionChange = outputFromObservable(this.directionChange.pipe(distinctUntilChanged()));
193
149
  this.type = 'hint';
194
150
  }
195
- emitDirection(direction) {
196
- this.directionChange.emit(direction);
197
- }
198
- getPosition(rect, el) {
151
+ getPosition({ width, height }) {
199
152
  const direction = this.direction();
200
- const width = el?.clientWidth ?? rect.width;
201
- const height = el?.clientHeight ?? rect.height;
202
- const hostRect = this.accessor.getClientRect() ?? EMPTY_CLIENT_RECT;
153
+ const hostRect = this.accessor.getClientRect();
203
154
  const leftCenter = hostRect.left + hostRect.width / 2;
204
155
  const topCenter = hostRect.top + hostRect.height / 2;
205
156
  const rtl = this.el.matches('[dir="rtl"] :scope');
206
- this.points['top-left'][TOP] = hostRect.top - height - this.offset;
207
- this.points['top-left'][LEFT] = leftCenter - width + ARROW_OFFSET;
208
- this.points.top[TOP] = this.points['top-left'][TOP];
157
+ this.points['top-start'][TOP] = hostRect.top - height - this.offset();
158
+ this.points['top-start'][LEFT] = leftCenter - width + ARROW_OFFSET;
159
+ this.points.top[TOP] = this.points['top-start'][TOP];
209
160
  this.points.top[LEFT] = leftCenter - width / 2;
210
- this.points['top-right'][TOP] = this.points['top-left'][TOP];
211
- this.points['top-right'][LEFT] = leftCenter - ARROW_OFFSET;
212
- this.points['bottom-left'][TOP] = hostRect.bottom + this.offset;
213
- this.points['bottom-left'][LEFT] = this.points['top-left'][LEFT];
214
- this.points.bottom[TOP] = this.points['bottom-left'][TOP];
161
+ this.points['top-end'][TOP] = this.points['top-start'][TOP];
162
+ this.points['top-end'][LEFT] = leftCenter - ARROW_OFFSET;
163
+ this.points['bottom-start'][TOP] = hostRect.bottom + this.offset();
164
+ this.points['bottom-start'][LEFT] = this.points['top-start'][LEFT];
165
+ this.points.bottom[TOP] = this.points['bottom-start'][TOP];
215
166
  this.points.bottom[LEFT] = this.points.top[LEFT];
216
- this.points['bottom-right'][TOP] = this.points['bottom-left'][TOP];
217
- this.points['bottom-right'][LEFT] = this.points['top-right'][LEFT];
218
- this.points['left-top'][TOP] = topCenter - height + ARROW_OFFSET;
219
- this.points['left-top'][LEFT] = hostRect.left - width - this.offset;
220
- this.points.left[TOP] = topCenter - height / 2;
221
- this.points.left[LEFT] = this.points['left-top'][LEFT];
222
- this.points['left-bottom'][TOP] = topCenter - ARROW_OFFSET;
223
- this.points['left-bottom'][LEFT] = this.points['left-top'][LEFT];
224
- this.points['right-top'][TOP] = this.points['left-top'][TOP];
225
- this.points['right-top'][LEFT] = hostRect.right + this.offset;
226
- this.points.right[TOP] = this.points.left[TOP];
227
- this.points.right[LEFT] = this.points['right-top'][LEFT];
228
- this.points['right-bottom'][TOP] = this.points['left-bottom'][TOP];
229
- this.points['right-bottom'][LEFT] = this.points['right-top'][LEFT];
167
+ this.points['bottom-end'][TOP] = this.points['bottom-start'][TOP];
168
+ this.points['bottom-end'][LEFT] = this.points['top-end'][LEFT];
169
+ this.points['start-top'][TOP] = topCenter - height + ARROW_OFFSET;
170
+ this.points['start-top'][LEFT] = hostRect.left - width - this.offset();
171
+ this.points.start[TOP] = topCenter - height / 2;
172
+ this.points.start[LEFT] = this.points['start-top'][LEFT];
173
+ this.points['start-bottom'][TOP] = topCenter - ARROW_OFFSET;
174
+ this.points['start-bottom'][LEFT] = this.points['start-top'][LEFT];
175
+ this.points['end-top'][TOP] = this.points['start-top'][TOP];
176
+ this.points['end-top'][LEFT] = hostRect.right + this.offset();
177
+ this.points.end[TOP] = this.points.start[TOP];
178
+ this.points.end[LEFT] = this.points['end-top'][LEFT];
179
+ this.points['end-bottom'][TOP] = this.points['start-bottom'][TOP];
180
+ this.points['end-bottom'][LEFT] = this.points['end-top'][LEFT];
230
181
  const array = Array.isArray(direction) ? direction : [direction];
231
182
  const priority = array.map((direction) => adjust(direction, rtl));
232
183
  const updated = priority
233
184
  .concat(TUI_HINT_DIRECTIONS)
234
185
  .find((dir) => this.checkPosition(this.points[dir], width, height)) ||
235
186
  this.fallback;
236
- this.emitDirection(adjust(updated, rtl));
187
+ this.directionChange.next(adjust(updated, rtl));
237
188
  return this.points[updated];
238
189
  }
239
190
  get fallback() {
@@ -242,22 +193,19 @@ class TuiHintPosition extends TuiPositionAccessor {
242
193
  ? 'top'
243
194
  : 'bottom';
244
195
  }
245
- checkPosition([top, left], width, height) {
196
+ checkPosition([left, top], width, height) {
246
197
  const viewport = this.viewport.getClientRect();
247
198
  return (top > viewport.top + GAP$1 &&
248
199
  left > viewport.left + GAP$1 &&
249
200
  top + height < viewport.bottom - GAP$1 &&
250
201
  left + width < viewport.right - GAP$1);
251
202
  }
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
253
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintPosition, isStandalone: true, inputs: { direction: { classPropertyName: "direction", publicName: "tuiHintDirection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { directionChange: "tuiHintDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
203
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
204
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintPosition, isStandalone: true, inputs: { direction: { classPropertyName: "direction", publicName: "tuiHintDirection", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "tuiHintOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tuiHintDirectionChange: "tuiHintDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
254
205
  }
255
- __decorate([
256
- tuiPure
257
- ], TuiHintPosition.prototype, "emitDirection", null);
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintPosition, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintPosition, decorators: [{
259
207
  type: Directive
260
- }], propDecorators: { emitDirection: [] } });
208
+ }] });
261
209
  function adjust(direction, rtl) {
262
210
  if (rtl && direction.includes('left')) {
263
211
  return direction.replace('left', 'right');
@@ -303,23 +251,21 @@ class TuiHintDirective {
303
251
  this.visible.emit(false);
304
252
  }
305
253
  }
306
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
307
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintDirective, isStandalone: true, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: { content: { classPropertyName: "content", publicName: "tuiHint", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "tuiHintContext", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "tuiHintAppearance", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "tuiHintVisible" }, providers: [
308
- tuiAsRectAccessor(TuiHintDirective),
254
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
255
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintDirective, isStandalone: true, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: { content: { classPropertyName: "content", publicName: "tuiHint", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "tuiHintContext", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "tuiHintAppearance", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { visible: "tuiHintVisible" }, providers: [
309
256
  tuiAsVehicle(TuiHintDirective),
310
257
  {
311
258
  provide: PolymorpheusComponent,
312
259
  deps: [TUI_HINT_COMPONENT, INJECTOR],
313
260
  useClass: PolymorpheusComponent,
314
261
  },
315
- ], usesOnChanges: true, hostDirectives: [{ directive: TuiHintDriver }, { directive: TuiHintHover, inputs: ["tuiHintHideDelay", "tuiHintHideDelay", "tuiHintShowDelay", "tuiHintShowDelay"] }, { directive: TuiHintPosition, inputs: ["tuiHintDirection", "tuiHintDirection"], outputs: ["tuiHintDirectionChange", "tuiHintDirectionChange"] }], ngImport: i0 }); }
262
+ ], usesOnChanges: true, hostDirectives: [{ directive: TuiHintDriver }, { directive: TuiHintHover, inputs: ["tuiHintHideDelay", "tuiHintHideDelay", "tuiHintShowDelay", "tuiHintShowDelay"] }, { directive: TuiHintPosition, inputs: ["tuiHintDirection", "tuiHintDirection", "tuiHintOffset", "tuiHintOffset"], outputs: ["tuiHintDirectionChange", "tuiHintDirectionChange"] }], ngImport: i0 }); }
316
263
  }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDirective, decorators: [{
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDirective, decorators: [{
318
265
  type: Directive,
319
266
  args: [{
320
267
  selector: '[tuiHint]:not(ng-container):not(ng-template)',
321
268
  providers: [
322
- tuiAsRectAccessor(TuiHintDirective),
323
269
  tuiAsVehicle(TuiHintDirective),
324
270
  {
325
271
  provide: PolymorpheusComponent,
@@ -335,7 +281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
335
281
  },
336
282
  {
337
283
  directive: TuiHintPosition,
338
- inputs: ['tuiHintDirection'],
284
+ inputs: ['tuiHintDirection', 'tuiHintOffset'],
339
285
  outputs: ['tuiHintDirectionChange'],
340
286
  },
341
287
  ],
@@ -353,10 +299,10 @@ class TuiHintPointer extends TuiHintHover {
353
299
  onMove({ clientX, clientY }) {
354
300
  this.currentRect = tuiPointToClientRect(clientX, clientY);
355
301
  }
356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintPointer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
357
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintPointer, isStandalone: true, selector: "[tuiHint][tuiHintPointer]", host: { listeners: { "mousemove.zoneless": "onMove($event)" } }, providers: [tuiAsRectAccessor(TuiHintPointer), tuiAsDriver(TuiHintPointer)], usesInheritance: true, ngImport: i0 }); }
302
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintPointer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
303
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiHintPointer, isStandalone: true, selector: "[tuiHint][tuiHintPointer]", host: { listeners: { "mousemove.zoneless": "onMove($event)" } }, providers: [tuiAsRectAccessor(TuiHintPointer), tuiAsDriver(TuiHintPointer)], usesInheritance: true, ngImport: i0 }); }
358
304
  }
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintPointer, decorators: [{
305
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintPointer, decorators: [{
360
306
  type: Directive,
361
307
  args: [{
362
308
  selector: '[tuiHint][tuiHintPointer]',
@@ -371,10 +317,10 @@ class TuiHintUnstyledComponent {
371
317
  constructor() {
372
318
  this.hint = inject(TuiHintDirective);
373
319
  }
374
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintUnstyledComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
375
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintUnstyledComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '<ng-container *polymorpheusOutlet="hint.content()" />', isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintUnstyledComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiHintUnstyledComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '<ng-container *polymorpheusOutlet="hint.content()" />', isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
376
322
  }
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintUnstyledComponent, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintUnstyledComponent, decorators: [{
378
324
  type: Component,
379
325
  args: [{
380
326
  imports: [PolymorpheusOutlet],
@@ -388,10 +334,10 @@ class TuiHintUnstyled {
388
334
  tuiSetSignal(hint.content, inject((TemplateRef)));
389
335
  hint.component = new PolymorpheusComponent(TuiHintUnstyledComponent, inject(INJECTOR));
390
336
  }
391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintUnstyled, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
392
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintUnstyled, isStandalone: true, selector: "ng-template[tuiHint]", ngImport: i0 }); }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintUnstyled, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
338
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.17", type: TuiHintUnstyled, isStandalone: true, selector: "ng-template[tuiHint]", ngImport: i0 }); }
393
339
  }
394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintUnstyled, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintUnstyled, decorators: [{
395
341
  type: Directive,
396
342
  args: [{
397
343
  selector: 'ng-template[tuiHint]',
@@ -402,7 +348,7 @@ const TUI_HINT_PROVIDERS = [
402
348
  TuiPositionService,
403
349
  TuiHoveredService,
404
350
  tuiPositionAccessorFor('hint', TuiHintPosition),
405
- tuiRectAccessorFor('hint', TuiHintDirective),
351
+ tuiRectAccessorFor('hint', forwardRef(() => TuiHintDirective)),
406
352
  ];
407
353
  const GAP = 8;
408
354
  class TuiHintComponent {
@@ -425,7 +371,7 @@ class TuiHintComponent {
425
371
  inject(TuiPositionService)
426
372
  .pipe(takeWhile(() => this.hint.el.isConnected), map((point) => this.vvs.correct(point)), takeUntilDestroyed())
427
373
  .subscribe({
428
- next: ([top, left]) => this.update(top, left),
374
+ next: (point) => this.update(...point),
429
375
  complete: () => this.hover.close(),
430
376
  });
431
377
  inject(TuiHoveredService)
@@ -439,13 +385,13 @@ class TuiHintComponent {
439
385
  }
440
386
  }
441
387
  apply(top, left, beakTop, beakLeft) {
442
- this.el.style.top = top;
443
- this.el.style.left = left;
388
+ this.el.style.setProperty('top', top);
389
+ this.el.style.setProperty('left', left);
444
390
  this.el.style.setProperty('--t-top', `${beakTop}%`);
445
391
  this.el.style.setProperty('--t-left', `${beakLeft}%`);
446
392
  this.el.style.setProperty('--t-rotate', !beakLeft || Math.ceil(beakLeft) === 100 ? '90deg' : '0deg');
447
393
  }
448
- update(top, left) {
394
+ update(left, top) {
449
395
  const { clientHeight, clientWidth } = this.el;
450
396
  const rect = this.accessor.getClientRect();
451
397
  if (rect === EMPTY_CLIENT_RECT || !clientHeight || !clientWidth) {
@@ -459,19 +405,16 @@ class TuiHintComponent {
459
405
  ]);
460
406
  this.apply(tuiPx(Math.round(top)), tuiPx(Math.round(safeLeft)), Math.round((tuiClamp(beakTop, 0, clientHeight) / clientHeight) * 100), Math.round((tuiClamp(beakLeft, 0, clientWidth) / clientWidth) * 100));
461
407
  }
462
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintComponent, isStandalone: true, selector: "tui-hint", host: { attributes: { "role": "tooltip" }, listeners: { "document:click": "onClick($event.target)" }, properties: { "class._untouchable": "pointer", "class._mobile": "isMobile", "attr.tuiTheme": "theme" } }, providers: [TUI_HINT_PROVIDERS, tuiButtonOptionsProvider({ size: 's' })], hostDirectives: [{ directive: i1.TuiAppearance }, { directive: i2.TuiAnimated }, { directive: i3.TuiActiveZone }], ngImport: i0, template: `
408
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
409
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TuiHintComponent, isStandalone: true, selector: "tui-hint", host: { attributes: { "role": "tooltip" }, listeners: { "document:click": "onClick($event.target)" }, properties: { "class._untouchable": "pointer", "class._mobile": "isMobile", "attr.tuiTheme": "theme" } }, providers: [TUI_HINT_PROVIDERS, tuiButtonOptionsProvider({ size: 's' })], hostDirectives: [{ directive: i1.TuiAppearance }, { directive: i2.TuiAnimated }, { directive: i3.TuiActiveZone }], ngImport: i0, template: `
464
410
  <ng-content />
465
411
  <span
466
412
  *polymorpheusOutlet="content() as text; context: hint.context()"
467
413
  [innerHTML]="text"
468
414
  ></span>
469
- `, isInline: true, styles: [":host{position:absolute;max-inline-size:min(20rem,calc(100% - 1rem));padding:.75rem 1rem;background:var(--tui-background-accent-1);border-radius:var(--tui-radius-l);color:var(--tui-text-primary-on-accent-1);box-sizing:border-box;font:var(--tui-font-text-s);white-space:pre-line;overflow-wrap:break-word;transform-origin:var(--t-left) var(--t-top);--tui-background-elevation-2: var(--tui-background-elevation-3)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}:host :host-context(tui-root._mobile).tui-enter{animation:tuiFade var(--tui-duration) ease-in-out,tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host :host-context(tui-root._mobile).tui-leave{animation:tuiFade var(--tui-duration) ease-in-out reverse,tuiScale var(--tui-duration) ease-in-out reverse}:host:before{content:\"\";position:absolute;top:var(--t-top);left:var(--t-left);inline-size:.75rem;block-size:.5rem;background:inherit;-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');transition:none;transform:translate(-50%,-50%) rotate(var(--t-rotate))}:host._mobile{font:var(--tui-font-text-m)}:host._mobile:before{inline-size:1.5rem;block-size:1.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>')}:host:not([style*=top]){visibility:hidden}:host._untouchable{pointer-events:none}:host ::ng-deep [tuiTitle]{margin-block-end:.75rem}:host ::ng-deep [tuiTitle]+footer{margin-block-start:.75rem}:host ::ng-deep [tuiIconButton][data-appearance=icon][data-size=xs]{float:inline-end;margin-inline-end:-.25rem}:host ::ng-deep img{display:block;border-radius:var(--tui-radius-m)}:host ::ng-deep footer{display:flex;justify-content:flex-end;gap:.5rem;inline-size:18rem;max-inline-size:100%;margin:1rem 0 .25rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
415
+ `, isInline: true, styles: [":host{position:absolute;max-inline-size:min(20rem,calc(100% - 1rem));padding:.75rem 1rem;background:var(--tui-background-accent-1);border-radius:var(--tui-radius-l);color:var(--tui-text-primary-on-accent-1);box-sizing:border-box;font:var(--tui-font-body-s);white-space:pre-line;overflow-wrap:break-word;transform-origin:var(--t-left) var(--t-top);--tui-background-elevation-2: var(--tui-background-elevation-3)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}:host :host-context(tui-root._mobile).tui-enter{animation:tuiFade var(--tui-duration) ease-in-out,tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host :host-context(tui-root._mobile).tui-leave{animation:tuiFade var(--tui-duration) ease-in-out reverse,tuiScale var(--tui-duration) ease-in-out reverse}:host:before{content:\"\";position:absolute;top:var(--t-top);left:var(--t-left);inline-size:.75rem;block-size:.5rem;background:inherit;-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');transition:none;transform:translate(-50%,-50%) rotate(var(--t-rotate))}:host._mobile{font:var(--tui-font-body-m)}:host._mobile:before{inline-size:1.5rem;block-size:1.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>')}:host:not([style*=top]){visibility:hidden}:host._untouchable{pointer-events:none}:host ::ng-deep [tuiTitle]{margin-block-end:.75rem}:host ::ng-deep [tuiTitle]+footer{margin-block-start:.75rem}:host ::ng-deep [tuiIconButton][data-appearance=icon][data-size=xs]{float:inline-end;margin-inline-end:-.25rem}:host ::ng-deep img{display:block;border-radius:var(--tui-radius-m)}:host ::ng-deep footer{display:flex;justify-content:flex-end;gap:.5rem;inline-size:18rem;max-inline-size:100%;margin:1rem 0 .25rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
470
416
  }
471
- __decorate([
472
- tuiPure
473
- ], TuiHintComponent.prototype, "apply", null);
474
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintComponent, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintComponent, decorators: [{
475
418
  type: Component,
476
419
  args: [{ selector: 'tui-hint', imports: [PolymorpheusOutlet], template: `
477
420
  <ng-content />
@@ -485,8 +428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
485
428
  '[class._mobile]': 'isMobile',
486
429
  '[attr.tuiTheme]': 'theme',
487
430
  '(document:click)': 'onClick($event.target)',
488
- }, styles: [":host{position:absolute;max-inline-size:min(20rem,calc(100% - 1rem));padding:.75rem 1rem;background:var(--tui-background-accent-1);border-radius:var(--tui-radius-l);color:var(--tui-text-primary-on-accent-1);box-sizing:border-box;font:var(--tui-font-text-s);white-space:pre-line;overflow-wrap:break-word;transform-origin:var(--t-left) var(--t-top);--tui-background-elevation-2: var(--tui-background-elevation-3)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}:host :host-context(tui-root._mobile).tui-enter{animation:tuiFade var(--tui-duration) ease-in-out,tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host :host-context(tui-root._mobile).tui-leave{animation:tuiFade var(--tui-duration) ease-in-out reverse,tuiScale var(--tui-duration) ease-in-out reverse}:host:before{content:\"\";position:absolute;top:var(--t-top);left:var(--t-left);inline-size:.75rem;block-size:.5rem;background:inherit;-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');transition:none;transform:translate(-50%,-50%) rotate(var(--t-rotate))}:host._mobile{font:var(--tui-font-text-m)}:host._mobile:before{inline-size:1.5rem;block-size:1.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>')}:host:not([style*=top]){visibility:hidden}:host._untouchable{pointer-events:none}:host ::ng-deep [tuiTitle]{margin-block-end:.75rem}:host ::ng-deep [tuiTitle]+footer{margin-block-start:.75rem}:host ::ng-deep [tuiIconButton][data-appearance=icon][data-size=xs]{float:inline-end;margin-inline-end:-.25rem}:host ::ng-deep img{display:block;border-radius:var(--tui-radius-m)}:host ::ng-deep footer{display:flex;justify-content:flex-end;gap:.5rem;inline-size:18rem;max-inline-size:100%;margin:1rem 0 .25rem}\n"] }]
489
- }], ctorParameters: () => [], propDecorators: { apply: [] } });
431
+ }, styles: [":host{position:absolute;max-inline-size:min(20rem,calc(100% - 1rem));padding:.75rem 1rem;background:var(--tui-background-accent-1);border-radius:var(--tui-radius-l);color:var(--tui-text-primary-on-accent-1);box-sizing:border-box;font:var(--tui-font-body-s);white-space:pre-line;overflow-wrap:break-word;transform-origin:var(--t-left) var(--t-top);--tui-background-elevation-2: var(--tui-background-elevation-3)}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}:host :host-context(tui-root._mobile).tui-enter{animation:tuiFade var(--tui-duration) ease-in-out,tuiScale var(--tui-duration) cubic-bezier(.34,1.56,.64,1)}:host :host-context(tui-root._mobile).tui-leave{animation:tuiFade var(--tui-duration) ease-in-out reverse,tuiScale var(--tui-duration) ease-in-out reverse}:host:before{content:\"\";position:absolute;top:var(--t-top);left:var(--t-left);inline-size:.75rem;block-size:.5rem;background:inherit;-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');transition:none;transform:translate(-50%,-50%) rotate(var(--t-rotate))}:host._mobile{font:var(--tui-font-body-m)}:host._mobile:before{inline-size:1.5rem;block-size:1.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>')}:host:not([style*=top]){visibility:hidden}:host._untouchable{pointer-events:none}:host ::ng-deep [tuiTitle]{margin-block-end:.75rem}:host ::ng-deep [tuiTitle]+footer{margin-block-start:.75rem}:host ::ng-deep [tuiIconButton][data-appearance=icon][data-size=xs]{float:inline-end;margin-inline-end:-.25rem}:host ::ng-deep img{display:block;border-radius:var(--tui-radius-m)}:host ::ng-deep footer{display:flex;justify-content:flex-end;gap:.5rem;inline-size:18rem;max-inline-size:100%;margin:1rem 0 .25rem}\n"] }]
432
+ }], ctorParameters: () => [] });
490
433
 
491
434
  class TuiHintDescribe extends TuiDriver {
492
435
  constructor() {
@@ -503,10 +446,10 @@ class TuiHintDescribe extends TuiDriver {
503
446
  get focused() {
504
447
  return tuiIsFocused(this.element());
505
448
  }
506
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDescribe, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
507
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintDescribe, isStandalone: true, selector: "[tuiHintDescribe]", inputs: { id: { classPropertyName: "id", publicName: "tuiHintDescribe", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintDescribe)], usesInheritance: true, ngImport: i0 }); }
449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDescribe, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
450
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintDescribe, isStandalone: true, selector: "[tuiHintDescribe]", inputs: { id: { classPropertyName: "id", publicName: "tuiHintDescribe", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintDescribe)], usesInheritance: true, ngImport: i0 }); }
508
451
  }
509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintDescribe, decorators: [{
452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintDescribe, decorators: [{
510
453
  type: Directive,
511
454
  args: [{
512
455
  selector: '[tuiHintDescribe]',
@@ -523,10 +466,10 @@ class TuiHintHost extends TuiRectAccessor {
523
466
  getClientRect() {
524
467
  return this.tuiHintHost()?.getBoundingClientRect() || EMPTY_CLIENT_RECT;
525
468
  }
526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintHost, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
527
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintHost, isStandalone: true, selector: "[tuiHint][tuiHintHost]", inputs: { tuiHintHost: { classPropertyName: "tuiHintHost", publicName: "tuiHintHost", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsRectAccessor(TuiHintHost)], usesInheritance: true, ngImport: i0 }); }
469
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintHost, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
470
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintHost, isStandalone: true, selector: "[tuiHint][tuiHintHost]", inputs: { tuiHintHost: { classPropertyName: "tuiHintHost", publicName: "tuiHintHost", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsRectAccessor(TuiHintHost)], usesInheritance: true, ngImport: i0 }); }
528
471
  }
529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintHost, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintHost, decorators: [{
530
473
  type: Directive,
531
474
  args: [{
532
475
  selector: '[tuiHint][tuiHintHost]',
@@ -547,10 +490,10 @@ class TuiHintManual extends TuiDriver {
547
490
  this.stream$.next(!!this.visible());
548
491
  this.hover.enabled = this.visible() === null;
549
492
  }
550
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
551
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintManual, isStandalone: true, selector: "[tuiHint][tuiHintManual]", inputs: { visible: { classPropertyName: "visible", publicName: "tuiHintManual", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintManual)], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
493
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintManual, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
494
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintManual, isStandalone: true, selector: "[tuiHint][tuiHintManual]", inputs: { visible: { classPropertyName: "visible", publicName: "tuiHintManual", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsDriver(TuiHintManual)], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
552
495
  }
553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintManual, decorators: [{
496
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintManual, decorators: [{
554
497
  type: Directive,
555
498
  args: [{
556
499
  selector: '[tuiHint][tuiHintManual]',
@@ -568,10 +511,10 @@ class TuiHintOverflow {
568
511
  ? this.content() || textContent
569
512
  : '');
570
513
  }
571
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintOverflow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
572
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiHintOverflow, isStandalone: true, selector: "[tuiHintOverflow]", inputs: { content: { classPropertyName: "content", publicName: "tuiHintOverflow", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter($event.currentTarget)" } }, hostDirectives: [{ directive: TuiHintDirective, inputs: ["tuiHintAppearance", "tuiHintAppearance"] }], ngImport: i0 }); }
514
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintOverflow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
515
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiHintOverflow, isStandalone: true, selector: "[tuiHintOverflow]", inputs: { content: { classPropertyName: "content", publicName: "tuiHintOverflow", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mouseenter": "onMouseEnter($event.currentTarget)" } }, hostDirectives: [{ directive: TuiHintDirective, inputs: ["tuiHintAppearance", "tuiHintAppearance"] }], ngImport: i0 }); }
573
516
  }
574
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintOverflow, decorators: [{
517
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiHintOverflow, decorators: [{
575
518
  type: Directive,
576
519
  args: [{
577
520
  selector: '[tuiHintOverflow]',
@@ -590,7 +533,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
590
533
  const TuiHint = [
591
534
  TuiHintComponent,
592
535
  TuiHintDirective,
593
- TuiHintOptionsDirective,
594
536
  TuiHintUnstyled,
595
537
  TuiHintDriver,
596
538
  TuiHintPosition,
@@ -606,5 +548,5 @@ const TuiHint = [
606
548
  * Generated bundle index. Do not edit.
607
549
  */
608
550
 
609
- export { TUI_HINT_COMPONENT, TUI_HINT_DEFAULT_OPTIONS, TUI_HINT_DIRECTIONS, TUI_HINT_OPTIONS, TUI_HINT_PROVIDERS, TuiHint, TuiHintComponent, TuiHintDescribe, TuiHintDirective, TuiHintDriver, TuiHintHost, TuiHintHover, TuiHintManual, TuiHintOptionsDirective, TuiHintOverflow, TuiHintPointer, TuiHintPosition, TuiHintUnstyled, TuiHintUnstyledComponent, tuiHintOptionsProvider };
610
- //# sourceMappingURL=taiga-ui-core-directives-hint.mjs.map
551
+ export { TUI_HINT_COMPONENT, TUI_HINT_DEFAULT_OPTIONS, TUI_HINT_DIRECTIONS, TUI_HINT_OPTIONS, TUI_HINT_PROVIDERS, TuiHint, TuiHintComponent, TuiHintDescribe, TuiHintDirective, TuiHintDriver, TuiHintHost, TuiHintHover, TuiHintManual, TuiHintOverflow, TuiHintPointer, TuiHintPosition, TuiHintUnstyled, TuiHintUnstyledComponent, tuiHintOptionsProvider };
552
+ //# sourceMappingURL=taiga-ui-core-portals-hint.mjs.map