@taiga-ui/core 4.52.0-canary.56739a2 → 4.52.0-canary.58fe47a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (527) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/classes/driver.d.ts +1 -1
  4. package/components/button/button.directive.d.ts +2 -3
  5. package/components/button/button.options.d.ts +1 -1
  6. package/components/calendar/calendar-sheet.component.d.ts +1 -6
  7. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  8. package/components/cell/cell.directive.d.ts +9 -0
  9. package/components/cell/cell.options.d.ts +6 -0
  10. package/components/cell/index.d.ts +2 -0
  11. package/components/data-list/data-list.component.d.ts +8 -12
  12. package/components/data-list/data-list.d.ts +2 -4
  13. package/components/data-list/data-list.tokens.d.ts +1 -5
  14. package/components/data-list/index.d.ts +0 -2
  15. package/components/data-list/opt-group.directive.d.ts +2 -2
  16. package/components/data-list/option/option-content.d.ts +6 -8
  17. package/components/data-list/option/option.directive.d.ts +7 -8
  18. package/components/dialog/dialog.component.d.ts +6 -12
  19. package/components/dialog/dialog.directive.d.ts +5 -4
  20. package/components/dialog/dialog.factory.d.ts +1 -1
  21. package/components/dialog/dialog.options.d.ts +25 -0
  22. package/components/dialog/{dialog-close.service.d.ts → dialog.providers.d.ts} +2 -0
  23. package/components/dialog/dialog.service.d.ts +6 -3
  24. package/components/dialog/index.d.ts +2 -4
  25. package/components/error/error.component.d.ts +6 -8
  26. package/components/error/error.d.ts +4 -0
  27. package/components/error/error.directive.d.ts +19 -0
  28. package/components/error/error.pipe.d.ts +10 -0
  29. package/components/error/index.d.ts +3 -0
  30. package/components/expand/expand.component.d.ts +9 -28
  31. package/components/expand/index.d.ts +0 -2
  32. package/components/icon/icon.component.d.ts +6 -11
  33. package/components/index.d.ts +2 -2
  34. package/components/link/link.directive.d.ts +2 -2
  35. package/components/link/link.options.d.ts +1 -3
  36. package/components/loader/loader.component.d.ts +7 -7
  37. package/components/loader/loader.options.d.ts +1 -3
  38. package/components/modal/index.d.ts +2 -0
  39. package/components/modal/modal.component.d.ts +17 -0
  40. package/components/modal/modal.service.d.ts +13 -0
  41. package/components/notification/index.d.ts +3 -0
  42. package/components/notification/notification.component.d.ts +14 -0
  43. package/components/notification/notification.d.ts +3 -0
  44. package/components/notification/notification.directive.d.ts +7 -12
  45. package/components/notification/notification.options.d.ts +10 -7
  46. package/components/notification/notification.service.d.ts +17 -0
  47. package/components/root/root.component.d.ts +4 -6
  48. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  49. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  50. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  51. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  52. package/components/spin-button/spin-button.component.d.ts +8 -9
  53. package/components/textfield/index.d.ts +1 -3
  54. package/components/textfield/textfield-content.directive.d.ts +3 -2
  55. package/components/textfield/textfield-icon.d.ts +3 -3
  56. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  57. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +9 -14
  58. package/components/textfield/textfield.component.d.ts +17 -29
  59. package/components/textfield/textfield.d.ts +2 -3
  60. package/components/textfield/textfield.directive.d.ts +13 -20
  61. package/components/textfield/textfield.options.d.ts +8 -11
  62. package/directives/alert/alert.directive.d.ts +11 -0
  63. package/directives/alert/alert.service.d.ts +12 -0
  64. package/directives/alert/index.d.ts +2 -0
  65. package/directives/appearance/appearance.directive.d.ts +5 -13
  66. package/directives/appearance/appearance.options.d.ts +1 -1
  67. package/directives/date-format/date-format.directive.d.ts +3 -7
  68. package/directives/dropdown/dropdown-content.directive.d.ts +9 -0
  69. package/directives/dropdown/dropdown-hover.options.d.ts +1 -3
  70. package/directives/dropdown/dropdown-position.directive.d.ts +1 -1
  71. package/directives/dropdown/dropdown.d.ts +2 -2
  72. package/directives/dropdown/dropdown.directive.d.ts +1 -2
  73. package/directives/dropdown/index.d.ts +1 -3
  74. package/directives/group/group.options.d.ts +1 -3
  75. package/directives/hint/hint-describe.directive.d.ts +4 -6
  76. package/directives/hint/hint-host.directive.d.ts +2 -2
  77. package/directives/hint/hint-hover.directive.d.ts +3 -4
  78. package/directives/hint/hint-manual.directive.d.ts +2 -2
  79. package/directives/hint/hint-options.directive.d.ts +3 -3
  80. package/directives/hint/hint-overflow.directive.d.ts +2 -2
  81. package/directives/hint/hint-position.directive.d.ts +4 -5
  82. package/directives/hint/hint-unstyled.component.d.ts +2 -7
  83. package/directives/hint/hint.component.d.ts +10 -11
  84. package/directives/hint/hint.directive.d.ts +9 -11
  85. package/directives/hint/index.d.ts +0 -2
  86. package/directives/icons/icons.bindings.d.ts +5 -0
  87. package/directives/icons/icons.directive.d.ts +8 -16
  88. package/directives/icons/index.d.ts +1 -0
  89. package/directives/index.d.ts +1 -1
  90. package/directives/number-format/number-format.directive.d.ts +3 -7
  91. package/directives/popup/popup.directive.d.ts +6 -5
  92. package/directives/popup/popup.service.d.ts +1 -1
  93. package/directives/popup/popups.component.d.ts +2 -2
  94. package/directives/title/title.directive.d.ts +2 -3
  95. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-classes.mjs +5 -5
  97. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-components-button.mjs +13 -21
  99. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-calendar.mjs +26 -36
  101. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  103. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  104. package/fesm2022/taiga-ui-core-components-data-list.mjs +57 -219
  105. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-core-components-dialog.mjs +75 -113
  107. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-core-components-error.mjs +110 -26
  109. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-core-components-expand.mjs +34 -132
  111. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-core-components-icon.mjs +22 -40
  113. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-core-components-label.mjs +10 -13
  115. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-core-components-link.mjs +16 -25
  117. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-core-components-loader.mjs +17 -36
  119. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-core-components-modal.mjs +89 -0
  121. package/fesm2022/taiga-ui-core-components-modal.mjs.map +1 -0
  122. package/fesm2022/taiga-ui-core-components-notification.mjs +107 -64
  123. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-core-components-root.mjs +21 -54
  125. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +58 -67
  127. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-core-components-spin-button.mjs +16 -29
  129. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-core-components-textfield.mjs +192 -405
  131. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-core-components.mjs +2 -2
  133. package/fesm2022/taiga-ui-core-directives-alert.mjs +73 -0
  134. package/fesm2022/taiga-ui-core-directives-alert.mjs.map +1 -0
  135. package/fesm2022/taiga-ui-core-directives-appearance.mjs +32 -69
  136. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-core-directives-date-format.mjs +26 -20
  138. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +110 -172
  140. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-core-directives-group.mjs +13 -20
  142. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-core-directives-hint.mjs +150 -251
  144. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-core-directives-icons.mjs +35 -45
  146. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +13 -16
  148. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-core-directives-number-format.mjs +32 -20
  150. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-core-directives-popup.mjs +20 -27
  152. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-core-directives-title.mjs +13 -19
  154. package/fesm2022/taiga-ui-core-directives-title.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-core-directives.mjs +1 -1
  156. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +3 -4
  157. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +3 -4
  159. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-core-pipes-flag.mjs +3 -4
  161. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +3 -4
  163. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +21 -15
  165. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-core-pipes-initials.mjs +3 -4
  167. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +1 -1
  168. package/fesm2022/taiga-ui-core-pipes-month.mjs +5 -5
  169. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +3 -4
  171. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-core-pipes.mjs +0 -1
  173. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-core-services.mjs +18 -18
  175. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-core-tokens.mjs +45 -48
  177. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -0
  180. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +50 -4
  182. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  183. package/package.json +68 -169
  184. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  185. package/pipes/index.d.ts +0 -1
  186. package/styles/components/appearance.less +6 -0
  187. package/styles/components/button.less +0 -2
  188. package/styles/components/icon.less +32 -22
  189. package/styles/components/icons.less +16 -12
  190. package/styles/components/link.less +2 -3
  191. package/styles/mixins/appearance.less +1 -1
  192. package/styles/mixins/mixins.less +1 -7
  193. package/styles/mixins/mixins.scss +1 -7
  194. package/styles/mixins/slider.less +21 -16
  195. package/styles/mixins/slider.scss +1 -2
  196. package/styles/theme/appearance/outline.less +1 -2
  197. package/styles/theme/appearance/textfield.less +1 -2
  198. package/styles/theme/variables.less +2 -4
  199. package/tokens/common-icons.d.ts +1 -3
  200. package/tokens/date-format.d.ts +2 -3
  201. package/tokens/i18n.d.ts +7 -7
  202. package/tokens/icon-resolver.d.ts +1 -5
  203. package/tokens/index.d.ts +1 -0
  204. package/tokens/number-format.d.ts +2 -3
  205. package/tokens/validation-errors.d.ts +4 -0
  206. package/types/index.d.ts +0 -2
  207. package/utils/miscellaneous/index.d.ts +1 -0
  208. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  209. package/components/alert/alert.component.d.ts +0 -15
  210. package/components/alert/alert.directive.d.ts +0 -7
  211. package/components/alert/alert.interfaces.d.ts +0 -12
  212. package/components/alert/alert.service.d.ts +0 -7
  213. package/components/alert/alert.tokens.d.ts +0 -12
  214. package/components/alert/alerts.component.d.ts +0 -12
  215. package/components/alert/index.d.ts +0 -6
  216. package/components/data-list/data-list.directive.d.ts +0 -7
  217. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  218. package/components/dialog/dialog.interfaces.d.ts +0 -34
  219. package/components/dialog/dialog.tokens.d.ts +0 -15
  220. package/components/dialog/dialogs.component.d.ts +0 -8
  221. package/components/expand/expand-content.directive.d.ts +0 -8
  222. package/components/expand/expand.d.ts +0 -6
  223. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  224. package/components/fullscreen/index.d.ts +0 -1
  225. package/components/textfield/select.directive.d.ts +0 -19
  226. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  227. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  228. package/directives/dropdown/dropdown.service.d.ts +0 -6
  229. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  230. package/directives/hint/hint.service.d.ts +0 -13
  231. package/directives/hint/hints.component.d.ts +0 -12
  232. package/directives/surface/index.d.ts +0 -1
  233. package/directives/surface/surface.directive.d.ts +0 -8
  234. package/esm2022/animations/animations.mjs +0 -363
  235. package/esm2022/animations/index.mjs +0 -2
  236. package/esm2022/animations/taiga-ui-core-animations.mjs +0 -5
  237. package/esm2022/classes/accessors.mjs +0 -31
  238. package/esm2022/classes/driver.mjs +0 -36
  239. package/esm2022/classes/index.mjs +0 -4
  240. package/esm2022/classes/taiga-ui-core-classes.mjs +0 -5
  241. package/esm2022/classes/vehicle.mjs +0 -7
  242. package/esm2022/components/alert/alert.component.mjs +0 -43
  243. package/esm2022/components/alert/alert.directive.mjs +0 -21
  244. package/esm2022/components/alert/alert.interfaces.mjs +0 -2
  245. package/esm2022/components/alert/alert.service.mjs +0 -18
  246. package/esm2022/components/alert/alert.tokens.mjs +0 -51
  247. package/esm2022/components/alert/alerts.component.mjs +0 -33
  248. package/esm2022/components/alert/index.mjs +0 -6
  249. package/esm2022/components/alert/taiga-ui-core-components-alert.mjs +0 -5
  250. package/esm2022/components/button/button.directive.mjs +0 -43
  251. package/esm2022/components/button/button.options.mjs +0 -7
  252. package/esm2022/components/button/index.mjs +0 -3
  253. package/esm2022/components/button/taiga-ui-core-components-button.mjs +0 -5
  254. package/esm2022/components/calendar/calendar-sheet.component.mjs +0 -168
  255. package/esm2022/components/calendar/calendar-sheet.options.mjs +0 -12
  256. package/esm2022/components/calendar/calendar-spin.component.mjs +0 -53
  257. package/esm2022/components/calendar/calendar-year.component.mjs +0 -128
  258. package/esm2022/components/calendar/calendar.component.mjs +0 -147
  259. package/esm2022/components/calendar/index.mjs +0 -6
  260. package/esm2022/components/calendar/taiga-ui-core-components-calendar.mjs +0 -5
  261. package/esm2022/components/data-list/data-list.component.mjs +0 -139
  262. package/esm2022/components/data-list/data-list.directive.mjs +0 -19
  263. package/esm2022/components/data-list/data-list.mjs +0 -14
  264. package/esm2022/components/data-list/data-list.tokens.mjs +0 -18
  265. package/esm2022/components/data-list/index.mjs +0 -9
  266. package/esm2022/components/data-list/opt-group.directive.mjs +0 -21
  267. package/esm2022/components/data-list/option/option-content.mjs +0 -36
  268. package/esm2022/components/data-list/option/option-legacy.component.mjs +0 -90
  269. package/esm2022/components/data-list/option/option.directive.mjs +0 -109
  270. package/esm2022/components/data-list/taiga-ui-core-components-data-list.mjs +0 -5
  271. package/esm2022/components/dialog/dialog-close.service.mjs +0 -41
  272. package/esm2022/components/dialog/dialog.component.mjs +0 -63
  273. package/esm2022/components/dialog/dialog.directive.mjs +0 -21
  274. package/esm2022/components/dialog/dialog.factory.mjs +0 -15
  275. package/esm2022/components/dialog/dialog.interfaces.mjs +0 -2
  276. package/esm2022/components/dialog/dialog.service.mjs +0 -18
  277. package/esm2022/components/dialog/dialog.tokens.mjs +0 -33
  278. package/esm2022/components/dialog/dialogs.component.mjs +0 -29
  279. package/esm2022/components/dialog/index.mjs +0 -8
  280. package/esm2022/components/dialog/taiga-ui-core-components-dialog.mjs +0 -5
  281. package/esm2022/components/error/error.component.mjs +0 -34
  282. package/esm2022/components/error/index.mjs +0 -2
  283. package/esm2022/components/error/taiga-ui-core-components-error.mjs +0 -5
  284. package/esm2022/components/expand/expand-content.directive.mjs +0 -18
  285. package/esm2022/components/expand/expand.component.mjs +0 -124
  286. package/esm2022/components/expand/expand.mjs +0 -7
  287. package/esm2022/components/expand/index.mjs +0 -4
  288. package/esm2022/components/expand/taiga-ui-core-components-expand.mjs +0 -5
  289. package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -60
  290. package/esm2022/components/fullscreen/index.mjs +0 -2
  291. package/esm2022/components/fullscreen/taiga-ui-core-components-fullscreen.mjs +0 -5
  292. package/esm2022/components/icon/icon.component.mjs +0 -44
  293. package/esm2022/components/icon/icon.pipe.mjs +0 -19
  294. package/esm2022/components/icon/index.mjs +0 -3
  295. package/esm2022/components/icon/taiga-ui-core-components-icon.mjs +0 -5
  296. package/esm2022/components/index.mjs +0 -18
  297. package/esm2022/components/label/index.mjs +0 -2
  298. package/esm2022/components/label/label.directive.mjs +0 -41
  299. package/esm2022/components/label/taiga-ui-core-components-label.mjs +0 -5
  300. package/esm2022/components/link/index.mjs +0 -3
  301. package/esm2022/components/link/link.directive.mjs +0 -47
  302. package/esm2022/components/link/link.options.mjs +0 -13
  303. package/esm2022/components/link/taiga-ui-core-components-link.mjs +0 -5
  304. package/esm2022/components/loader/index.mjs +0 -3
  305. package/esm2022/components/loader/loader.component.mjs +0 -46
  306. package/esm2022/components/loader/loader.options.mjs +0 -18
  307. package/esm2022/components/loader/taiga-ui-core-components-loader.mjs +0 -5
  308. package/esm2022/components/notification/index.mjs +0 -3
  309. package/esm2022/components/notification/notification.directive.mjs +0 -81
  310. package/esm2022/components/notification/notification.options.mjs +0 -23
  311. package/esm2022/components/notification/taiga-ui-core-components-notification.mjs +0 -5
  312. package/esm2022/components/root/index.mjs +0 -2
  313. package/esm2022/components/root/root.component.mjs +0 -85
  314. package/esm2022/components/root/taiga-ui-core-components-root.mjs +0 -5
  315. package/esm2022/components/scrollbar/index.mjs +0 -9
  316. package/esm2022/components/scrollbar/scroll-controls.component.mjs +0 -32
  317. package/esm2022/components/scrollbar/scroll-into-view.directive.mjs +0 -43
  318. package/esm2022/components/scrollbar/scroll-ref.directive.mjs +0 -19
  319. package/esm2022/components/scrollbar/scrollable.directive.mjs +0 -26
  320. package/esm2022/components/scrollbar/scrollbar.component.mjs +0 -72
  321. package/esm2022/components/scrollbar/scrollbar.directive.mjs +0 -93
  322. package/esm2022/components/scrollbar/scrollbar.options.mjs +0 -6
  323. package/esm2022/components/scrollbar/scrollbar.service.mjs +0 -46
  324. package/esm2022/components/scrollbar/taiga-ui-core-components-scrollbar.mjs +0 -5
  325. package/esm2022/components/spin-button/index.mjs +0 -2
  326. package/esm2022/components/spin-button/spin-button.component.mjs +0 -51
  327. package/esm2022/components/spin-button/taiga-ui-core-components-spin-button.mjs +0 -5
  328. package/esm2022/components/taiga-ui-core-components.mjs +0 -5
  329. package/esm2022/components/textfield/index.mjs +0 -16
  330. package/esm2022/components/textfield/select-like.directive.mjs +0 -42
  331. package/esm2022/components/textfield/select.directive.mjs +0 -64
  332. package/esm2022/components/textfield/taiga-ui-core-components-textfield.mjs +0 -5
  333. package/esm2022/components/textfield/textfield-accessor.mjs +0 -7
  334. package/esm2022/components/textfield/textfield-auxiliary.mjs +0 -7
  335. package/esm2022/components/textfield/textfield-content.directive.mjs +0 -22
  336. package/esm2022/components/textfield/textfield-dropdown.directive.mjs +0 -43
  337. package/esm2022/components/textfield/textfield-icon.mjs +0 -10
  338. package/esm2022/components/textfield/textfield-multi/textfield-item.component.mjs +0 -34
  339. package/esm2022/components/textfield/textfield-multi/textfield-multi.component.mjs +0 -137
  340. package/esm2022/components/textfield/textfield.component.mjs +0 -180
  341. package/esm2022/components/textfield/textfield.directive.mjs +0 -134
  342. package/esm2022/components/textfield/textfield.mjs +0 -19
  343. package/esm2022/components/textfield/textfield.options.mjs +0 -63
  344. package/esm2022/components/textfield/with-native-picker.directive.mjs +0 -24
  345. package/esm2022/directives/appearance/appearance.bindings.mjs +0 -15
  346. package/esm2022/directives/appearance/appearance.directive.mjs +0 -79
  347. package/esm2022/directives/appearance/appearance.options.mjs +0 -12
  348. package/esm2022/directives/appearance/index.mjs +0 -5
  349. package/esm2022/directives/appearance/taiga-ui-core-directives-appearance.mjs +0 -5
  350. package/esm2022/directives/appearance/with-appearance.mjs +0 -27
  351. package/esm2022/directives/date-format/date-format.directive.mjs +0 -31
  352. package/esm2022/directives/date-format/index.mjs +0 -2
  353. package/esm2022/directives/date-format/taiga-ui-core-directives-date-format.mjs +0 -5
  354. package/esm2022/directives/dropdown/dropdown-context.directive.mjs +0 -76
  355. package/esm2022/directives/dropdown/dropdown-hover.directive.mjs +0 -70
  356. package/esm2022/directives/dropdown/dropdown-hover.options.mjs +0 -17
  357. package/esm2022/directives/dropdown/dropdown-limit-width.mjs +0 -37
  358. package/esm2022/directives/dropdown/dropdown-manual.directive.mjs +0 -27
  359. package/esm2022/directives/dropdown/dropdown-open-legacy.directive.mjs +0 -33
  360. package/esm2022/directives/dropdown/dropdown-open.directive.mjs +0 -169
  361. package/esm2022/directives/dropdown/dropdown-options.directive.mjs +0 -73
  362. package/esm2022/directives/dropdown/dropdown-portal.directive.mjs +0 -34
  363. package/esm2022/directives/dropdown/dropdown-position-sided.directive.mjs +0 -69
  364. package/esm2022/directives/dropdown/dropdown-position.directive.mjs +0 -88
  365. package/esm2022/directives/dropdown/dropdown-selection.directive.mjs +0 -159
  366. package/esm2022/directives/dropdown/dropdown.bindings.mjs +0 -19
  367. package/esm2022/directives/dropdown/dropdown.component.mjs +0 -92
  368. package/esm2022/directives/dropdown/dropdown.directive.mjs +0 -110
  369. package/esm2022/directives/dropdown/dropdown.driver.mjs +0 -32
  370. package/esm2022/directives/dropdown/dropdown.mjs +0 -29
  371. package/esm2022/directives/dropdown/dropdown.providers.mjs +0 -10
  372. package/esm2022/directives/dropdown/dropdown.service.mjs +0 -15
  373. package/esm2022/directives/dropdown/dropdowns.component.mjs +0 -24
  374. package/esm2022/directives/dropdown/index.mjs +0 -22
  375. package/esm2022/directives/dropdown/taiga-ui-core-directives-dropdown.mjs +0 -5
  376. package/esm2022/directives/dropdown/with-dropdown-open.directive.mjs +0 -23
  377. package/esm2022/directives/group/group.directive.mjs +0 -53
  378. package/esm2022/directives/group/group.options.mjs +0 -15
  379. package/esm2022/directives/group/index.mjs +0 -3
  380. package/esm2022/directives/group/taiga-ui-core-directives-group.mjs +0 -5
  381. package/esm2022/directives/hint/hint-describe.directive.mjs +0 -50
  382. package/esm2022/directives/hint/hint-driver.directive.mjs +0 -19
  383. package/esm2022/directives/hint/hint-host.directive.mjs +0 -27
  384. package/esm2022/directives/hint/hint-hover.directive.mjs +0 -59
  385. package/esm2022/directives/hint/hint-manual.directive.mjs +0 -33
  386. package/esm2022/directives/hint/hint-options.directive.mjs +0 -86
  387. package/esm2022/directives/hint/hint-overflow.directive.mjs +0 -38
  388. package/esm2022/directives/hint/hint-pointer.directive.mjs +0 -33
  389. package/esm2022/directives/hint/hint-position.directive.mjs +0 -112
  390. package/esm2022/directives/hint/hint-unstyled.component.mjs +0 -39
  391. package/esm2022/directives/hint/hint.component.mjs +0 -127
  392. package/esm2022/directives/hint/hint.directive.mjs +0 -99
  393. package/esm2022/directives/hint/hint.mjs +0 -27
  394. package/esm2022/directives/hint/hint.providers.mjs +0 -9
  395. package/esm2022/directives/hint/hint.service.mjs +0 -29
  396. package/esm2022/directives/hint/hints.component.mjs +0 -34
  397. package/esm2022/directives/hint/index.mjs +0 -17
  398. package/esm2022/directives/hint/taiga-ui-core-directives-hint.mjs +0 -5
  399. package/esm2022/directives/icons/icons.directive.mjs +0 -66
  400. package/esm2022/directives/icons/index.mjs +0 -3
  401. package/esm2022/directives/icons/taiga-ui-core-directives-icons.mjs +0 -5
  402. package/esm2022/directives/icons/with-icons.mjs +0 -22
  403. package/esm2022/directives/index.mjs +0 -12
  404. package/esm2022/directives/items-handlers/index.mjs +0 -4
  405. package/esm2022/directives/items-handlers/items-handlers.directive.mjs +0 -63
  406. package/esm2022/directives/items-handlers/items-handlers.tokens.mjs +0 -27
  407. package/esm2022/directives/items-handlers/items-handlers.validator.mjs +0 -32
  408. package/esm2022/directives/items-handlers/taiga-ui-core-directives-items-handlers.mjs +0 -5
  409. package/esm2022/directives/number-format/index.mjs +0 -2
  410. package/esm2022/directives/number-format/number-format.directive.mjs +0 -31
  411. package/esm2022/directives/number-format/taiga-ui-core-directives-number-format.mjs +0 -5
  412. package/esm2022/directives/popup/index.mjs +0 -4
  413. package/esm2022/directives/popup/popup.directive.mjs +0 -31
  414. package/esm2022/directives/popup/popup.service.mjs +0 -15
  415. package/esm2022/directives/popup/popups.component.mjs +0 -20
  416. package/esm2022/directives/popup/taiga-ui-core-directives-popup.mjs +0 -5
  417. package/esm2022/directives/surface/index.mjs +0 -2
  418. package/esm2022/directives/surface/surface.directive.mjs +0 -44
  419. package/esm2022/directives/surface/taiga-ui-core-directives-surface.mjs +0 -5
  420. package/esm2022/directives/taiga-ui-core-directives.mjs +0 -5
  421. package/esm2022/directives/title/index.mjs +0 -2
  422. package/esm2022/directives/title/taiga-ui-core-directives-title.mjs +0 -5
  423. package/esm2022/directives/title/title.directive.mjs +0 -37
  424. package/esm2022/index.mjs +0 -9
  425. package/esm2022/pipes/auto-color/auto-color.pipe.mjs +0 -19
  426. package/esm2022/pipes/auto-color/index.mjs +0 -2
  427. package/esm2022/pipes/auto-color/taiga-ui-core-pipes-auto-color.mjs +0 -5
  428. package/esm2022/pipes/calendar-sheet/calendar-sheet.pipe.mjs +0 -54
  429. package/esm2022/pipes/calendar-sheet/index.mjs +0 -2
  430. package/esm2022/pipes/calendar-sheet/taiga-ui-core-pipes-calendar-sheet.mjs +0 -5
  431. package/esm2022/pipes/calendar-sheet/utils.mjs +0 -36
  432. package/esm2022/pipes/fallback-src/fallback-src.pipe.mjs +0 -23
  433. package/esm2022/pipes/fallback-src/index.mjs +0 -2
  434. package/esm2022/pipes/fallback-src/taiga-ui-core-pipes-fallback-src.mjs +0 -5
  435. package/esm2022/pipes/flag/flag.pipe.mjs +0 -26
  436. package/esm2022/pipes/flag/index.mjs +0 -2
  437. package/esm2022/pipes/flag/taiga-ui-core-pipes-flag.mjs +0 -5
  438. package/esm2022/pipes/format-date/format-date.pipe.mjs +0 -22
  439. package/esm2022/pipes/format-date/index.mjs +0 -2
  440. package/esm2022/pipes/format-date/taiga-ui-core-pipes-format-date.mjs +0 -5
  441. package/esm2022/pipes/format-number/format-number.pipe.mjs +0 -36
  442. package/esm2022/pipes/format-number/index.mjs +0 -2
  443. package/esm2022/pipes/format-number/taiga-ui-core-pipes-format-number.mjs +0 -5
  444. package/esm2022/pipes/index.mjs +0 -10
  445. package/esm2022/pipes/initials/index.mjs +0 -2
  446. package/esm2022/pipes/initials/initials.pipe.mjs +0 -23
  447. package/esm2022/pipes/initials/taiga-ui-core-pipes-initials.mjs +0 -5
  448. package/esm2022/pipes/month/index.mjs +0 -2
  449. package/esm2022/pipes/month/month.pipe.mjs +0 -23
  450. package/esm2022/pipes/month/taiga-ui-core-pipes-month.mjs +0 -5
  451. package/esm2022/pipes/order-week-days/index.mjs +0 -2
  452. package/esm2022/pipes/order-week-days/order-week-days.pipe.mjs +0 -30
  453. package/esm2022/pipes/order-week-days/taiga-ui-core-pipes-order-week-days.mjs +0 -5
  454. package/esm2022/pipes/taiga-ui-core-pipes.mjs +0 -5
  455. package/esm2022/services/breakpoint.service.mjs +0 -31
  456. package/esm2022/services/dark-theme.service.mjs +0 -24
  457. package/esm2022/services/format-date.service.mjs +0 -24
  458. package/esm2022/services/index.mjs +0 -6
  459. package/esm2022/services/position.service.mjs +0 -26
  460. package/esm2022/services/taiga-ui-core-services.mjs +0 -5
  461. package/esm2022/services/visual-viewport.service.mjs +0 -29
  462. package/esm2022/taiga-ui-core.mjs +0 -5
  463. package/esm2022/tokens/animations-speed.mjs +0 -9
  464. package/esm2022/tokens/assets-path.mjs +0 -11
  465. package/esm2022/tokens/auxiliary.mjs +0 -9
  466. package/esm2022/tokens/common-icons.mjs +0 -18
  467. package/esm2022/tokens/dark-mode.mjs +0 -41
  468. package/esm2022/tokens/date-format.mjs +0 -20
  469. package/esm2022/tokens/day-type-handler.mjs +0 -8
  470. package/esm2022/tokens/first-day-of-week.mjs +0 -9
  471. package/esm2022/tokens/i18n.mjs +0 -45
  472. package/esm2022/tokens/icon-resolver.mjs +0 -44
  473. package/esm2022/tokens/icon.mjs +0 -8
  474. package/esm2022/tokens/icons.mjs +0 -21
  475. package/esm2022/tokens/index.mjs +0 -21
  476. package/esm2022/tokens/media.mjs +0 -12
  477. package/esm2022/tokens/number-format.mjs +0 -24
  478. package/esm2022/tokens/reduced-motion.mjs +0 -7
  479. package/esm2022/tokens/scroll-ref.mjs +0 -6
  480. package/esm2022/tokens/selection-stream.mjs +0 -14
  481. package/esm2022/tokens/spin-icons.mjs +0 -8
  482. package/esm2022/tokens/taiga-ui-core-tokens.mjs +0 -5
  483. package/esm2022/tokens/theme.mjs +0 -5
  484. package/esm2022/tokens/viewport.mjs +0 -35
  485. package/esm2022/types/direction.mjs +0 -2
  486. package/esm2022/types/index.mjs +0 -2
  487. package/esm2022/types/interactive-state.mjs +0 -2
  488. package/esm2022/types/orientation.mjs +0 -2
  489. package/esm2022/types/point.mjs +0 -2
  490. package/esm2022/types/portal-item.mjs +0 -2
  491. package/esm2022/types/range-state.mjs +0 -2
  492. package/esm2022/types/size.mjs +0 -13
  493. package/esm2022/types/taiga-ui-core-types.mjs +0 -5
  494. package/esm2022/types/value-content-context.mjs +0 -2
  495. package/esm2022/utils/dom/check-fixed-position.mjs +0 -9
  496. package/esm2022/utils/dom/get-viewport.mjs +0 -24
  497. package/esm2022/utils/dom/get-word-range.mjs +0 -51
  498. package/esm2022/utils/dom/index.mjs +0 -4
  499. package/esm2022/utils/dom/taiga-ui-core-utils-dom.mjs +0 -5
  500. package/esm2022/utils/format/format-number.mjs +0 -47
  501. package/esm2022/utils/format/get-fractional-part-padded.mjs +0 -16
  502. package/esm2022/utils/format/index.mjs +0 -5
  503. package/esm2022/utils/format/number-to-string-without-exp.mjs +0 -18
  504. package/esm2022/utils/format/string-hash-to-hsl.mjs +0 -21
  505. package/esm2022/utils/format/taiga-ui-core-utils-format.mjs +0 -5
  506. package/esm2022/utils/index.mjs +0 -4
  507. package/esm2022/utils/miscellaneous/font-scaling.mjs +0 -11
  508. package/esm2022/utils/miscellaneous/index.mjs +0 -7
  509. package/esm2022/utils/miscellaneous/is-editing-key.mjs +0 -18
  510. package/esm2022/utils/miscellaneous/is-obscured.mjs +0 -8
  511. package/esm2022/utils/miscellaneous/override-options.mjs +0 -11
  512. package/esm2022/utils/miscellaneous/size-bigger.mjs +0 -19
  513. package/esm2022/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.mjs +0 -5
  514. package/esm2022/utils/miscellaneous/to-animation-options.mjs +0 -16
  515. package/esm2022/utils/taiga-ui-core-utils.mjs +0 -5
  516. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  517. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  518. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
  519. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  520. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  521. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  522. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  523. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  524. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  525. package/pipes/fallback-src/index.d.ts +0 -1
  526. package/types/portal-item.d.ts +0 -9
  527. package/types/value-content-context.d.ts +0 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-core-components-modal.mjs","sources":["../../../projects/core/components/modal/modal.component.ts","../../../projects/core/components/modal/modal.service.ts","../../../projects/core/components/modal/taiga-ui-core-components-modal.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n type OnDestroy,\n type OnInit,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiFocusTrap} from '@taiga-ui/cdk/directives/focus-trap';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiGetFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiScrollControls, TuiScrollRef} from '@taiga-ui/core/components/scrollbar';\nimport {\n injectContext,\n type PolymorpheusContent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\n\n@Component({\n selector: 'tui-modal',\n imports: [PolymorpheusOutlet, TuiScrollControls],\n template: `\n <ng-container *polymorpheusOutlet=\"component(); context: context\" />\n <tui-scroll-controls class=\"t-scrollbars\" />\n `,\n styleUrl: './modal.style.less',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiActiveZone, TuiFocusTrap, TuiScrollRef],\n host: {\n role: 'dialog',\n class: 'tui-enter',\n 'aria-modal': 'true',\n '[attr.aria-labelledby]': 'context.id',\n '(animationend.self)': '$event.target.classList.remove(\"tui-enter\")',\n },\n})\nexport class TuiModalComponent<T> implements OnDestroy, OnInit {\n private readonly current = inject(TuiActiveZone);\n private readonly parent = findActive(\n inject(TuiActiveZone, {skipSelf: true}),\n tuiGetFocused(inject(DOCUMENT)),\n );\n\n public readonly context = injectContext<TuiPortalContext<T>>();\n public readonly component = signal<PolymorpheusContent<TuiPortalContext<T>>>(null);\n\n public ngOnInit(): void {\n this.current.tuiActiveZoneParentSetter = this.parent;\n }\n\n public ngOnDestroy(): void {\n this.current.tuiActiveZoneParentSetter = null;\n }\n}\n\nfunction findActive(zone: TuiActiveZone, el: Element | null): TuiActiveZone | null {\n if (!el || !zone.contains(el)) {\n return null;\n }\n\n const active = zone.children.find(\n (child) => !child['el'].matches('[tuiActiveZoneAdapter]') && child.contains(el),\n );\n\n return active ? findActive(active, el) : zone;\n}\n","import {inject, Injectable, type Type} from '@angular/core';\nimport {TUI_LEAVE} from '@taiga-ui/cdk/directives/animated';\nimport {TuiPortal} from '@taiga-ui/cdk/portals';\nimport {TuiPopupService} from '@taiga-ui/core/directives/popup';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiModalComponent} from './modal.component';\n\n@Injectable()\nexport abstract class TuiModalService<T, K = void> extends TuiPortal<T, K> {\n protected abstract readonly content: Type<unknown>;\n protected readonly component = TuiModalComponent;\n\n constructor() {\n super(inject(TuiPopupService));\n }\n\n protected override add(\n component: PolymorpheusComponent<TuiModalComponent<T>>,\n ): () => void {\n const ref = this.service.add(component);\n const el: HTMLElement = ref.location.nativeElement;\n\n ref.instance.component.set(new PolymorpheusComponent(this.content));\n\n return () => {\n ref.instance.component.set(null);\n ref.changeDetectorRef.detectChanges();\n el.classList.add(TUI_LEAVE);\n\n Promise.allSettled(getAnimations(el))\n .then(async () => Promise.allSettled(getAnimations(el.firstElementChild)))\n .then(() => ref.destroy());\n };\n }\n}\n\nfunction getAnimations(el: Element | null): ReadonlyArray<Promise<unknown>> {\n return el?.getAnimations().map(async ({finished}) => finished) || [];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,25 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
2
+ import { InjectionToken, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, computed, input, Directive, Injectable } from '@angular/core';
3
3
  import { tuiWithStyles, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
4
- import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
4
+ import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button';
5
5
  import { tuiLinkOptionsProvider } from '@taiga-ui/core/components/link';
6
6
  import * as i2 from '@taiga-ui/core/directives/appearance';
7
7
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
8
8
  import * as i1 from '@taiga-ui/core/directives/icons';
9
- import { TuiIcons, TuiWithIcons } from '@taiga-ui/core/directives/icons';
9
+ import { tuiIconStart, TuiWithIcons } from '@taiga-ui/core/directives/icons';
10
10
  import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
11
+ import * as i1$2 from '@taiga-ui/cdk/portals';
12
+ import { tuiAsPortal, TuiPortalDirective } from '@taiga-ui/cdk/portals';
13
+ import * as i2$1 from '@taiga-ui/core/directives/alert';
14
+ import { TuiAlertDirective, TuiAlertService } from '@taiga-ui/core/directives/alert';
15
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
16
+ import * as i1$1 from '@taiga-ui/cdk/directives/animated';
17
+ import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
18
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
19
+ import { TuiTitle } from '@taiga-ui/core/directives/title';
20
+ import { TUI_COMMON_ICONS, TUI_CLOSE_WORD } from '@taiga-ui/core/tokens';
21
+ import { injectContext, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
22
+ import { of, switchMap, timer, EMPTY, takeUntil, fromEvent, repeat } from 'rxjs';
11
23
 
12
24
  const ICONS = {
13
25
  info: '@tui.info',
@@ -15,95 +27,126 @@ const ICONS = {
15
27
  negative: '@tui.circle-x',
16
28
  warning: '@tui.circle-alert',
17
29
  neutral: '@tui.info',
18
- /* TODO @deprecated remove in v5 */
19
- success: '@tui.circle-check',
20
- /* TODO @deprecated remove in v5 */
21
- error: '@tui.circle-x',
22
30
  };
23
- /** Default values for the notification options. */
24
31
  const TUI_NOTIFICATION_DEFAULT_OPTIONS = {
25
32
  appearance: 'info',
26
33
  icon: (appearance) => ICONS[appearance] ?? '',
27
34
  size: 'l',
35
+ data: undefined,
36
+ autoClose: 3000,
37
+ label: '',
38
+ closable: true,
39
+ block: 'start',
40
+ inline: 'end',
28
41
  };
29
- /**
30
- * Default parameters for notification alert component
31
- */
32
42
  const [TUI_NOTIFICATION_OPTIONS, tuiNotificationOptionsProvider] = tuiCreateOptions(TUI_NOTIFICATION_DEFAULT_OPTIONS);
43
+ const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(ngDevMode ? 'TUI_NOTIFICATION_CONCURRENCY' : '', { factory: () => 5 });
33
44
 
34
- class TuiNotificationStyles {
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNotificationStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-notification" }, ngImport: i0, template: '', isInline: true, styles: ["tui-notification,[tuiNotification]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:block;max-block-size:100%;color:var(--tui-text-primary);padding:1rem;font:var(--tui-font-text-m);line-height:1.5rem;border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-start: 0;--t-end: 0}tui-notification[style*=\"--t-icon-start:\"],[tuiNotification][style*=\"--t-icon-start:\"]{--t-start: 2rem}tui-notification[style*=\"--t-icon-end:\"],[tuiNotification][style*=\"--t-icon-end:\"]{--t-end: 1.5rem}tui-notification:before,[tuiNotification]:before{position:absolute;left:-1rem;inset-inline-start:-1rem}tui-notification:after,[tuiNotification]:after{position:absolute;top:50%;transform:translateY(-50%);right:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}@supports (inset-inline-end: 0){tui-notification:after,[tuiNotification]:after{right:unset;inset-inline-end:-.5rem}}tui-notification[data-size=s],[tuiNotification][data-size=s]{padding:.375rem .625rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=s][style*=\"--t-icon-start:\"],[tuiNotification][data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.5rem}tui-notification[data-size=s]:before,[tuiNotification][data-size=s]:before{top:.5rem;left:-.875rem;inset-inline-start:-.875rem;font-size:1rem}tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:-.875rem}@supports (inset-inline-end: 0){tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:unset;inset-inline-end:-.875rem}}tui-notification[data-size=s] tui-icon,[tuiNotification][data-size=s] tui-icon{font-size:1rem}tui-notification[data-size=s] [tuiTitle],[tuiNotification][data-size=s] [tuiTitle]{font:var(--tui-font-text-s);font-weight:700}tui-notification[data-size=s] [tuiSubtitle],[tuiNotification][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=s] [tuiSubtitle]+*,[tuiNotification][data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{top:0;right:0}@supports (inset-inline-end: 0){tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{right:unset;inset-inline-end:0}}tui-notification[data-size=m],[tuiNotification][data-size=m]{padding:.75rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=m][style*=\"--t-icon-start:\"],[tuiNotification][data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.625rem}tui-notification[data-size=m]:before,[tuiNotification][data-size=m]:before{left:-.875rem;inset-inline-start:-.875rem;font-size:1.25rem}tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:-.75rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:unset;inset-inline-end:-.75rem}}tui-notification[data-size=m] tui-icon,[tuiNotification][data-size=m] tui-icon{font-size:1.25rem}tui-notification[data-size=m] [tuiTitle],[tuiNotification][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-m);font-weight:700}tui-notification[data-size=m] [tuiSubtitle],[tuiNotification][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=m] [tuiSubtitle]+*,[tuiNotification][data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{top:.375rem;right:.5rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{right:unset;inset-inline-end:.5rem}}tui-notification [tuiTitle],[tuiNotification] [tuiTitle]{gap:.125rem;font:var(--tui-font-text-ui-l);font-weight:700}tui-notification [tuiSubtitle],[tuiNotification] [tuiSubtitle]{font:var(--tui-font-text-m)}tui-notification [tuiSubtitle]+*,[tuiNotification] [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-font-text-s)}tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{position:absolute;top:.75rem;right:.75rem;box-shadow:none!important;background:transparent!important}@supports (inset-inline-end: 0){tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{right:unset;inset-inline-end:.75rem}}[tuiNotification]{cursor:pointer}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
+ class Styles {
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: Styles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-notification" }, ngImport: i0, template: '', isInline: true, styles: ["tui-notification,[tuiNotification]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:block;max-block-size:100%;color:var(--tui-text-primary);padding:1rem;font:var(--tui-font-text-m);line-height:1.5rem;border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-start: 0;--t-end: 0}tui-notification[style*=\"--t-icon-start:\"],[tuiNotification][style*=\"--t-icon-start:\"]{--t-start: 2rem}tui-notification[style*=\"--t-icon-end:\"],[tuiNotification][style*=\"--t-icon-end:\"]{--t-end: 1.5rem}tui-notification:before,[tuiNotification]:before{position:absolute;left:-1rem;inset-inline-start:-1rem}tui-notification:after,[tuiNotification]:after{position:absolute;top:50%;transform:translateY(-50%);right:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}@supports (inset-inline-end: 0){tui-notification:after,[tuiNotification]:after{right:unset;inset-inline-end:-.5rem}}tui-notification[data-size=s],[tuiNotification][data-size=s]{padding:.375rem .625rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=s][style*=\"--t-icon-start:\"],[tuiNotification][data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.5rem}tui-notification[data-size=s]:before,[tuiNotification][data-size=s]:before{top:.5rem;left:-.875rem;inset-inline-start:-.875rem;font-size:1rem}tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:-.875rem}@supports (inset-inline-end: 0){tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:unset;inset-inline-end:-.875rem}}tui-notification[data-size=s] tui-icon,[tuiNotification][data-size=s] tui-icon{font-size:1rem}tui-notification[data-size=s] [tuiTitle],[tuiNotification][data-size=s] [tuiTitle]{font:var(--tui-font-text-s);font-weight:700}tui-notification[data-size=s] [tuiSubtitle],[tuiNotification][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=s] [tuiSubtitle]+*,[tuiNotification][data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{top:0;right:0}@supports (inset-inline-end: 0){tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{right:unset;inset-inline-end:0}}tui-notification[data-size=m],[tuiNotification][data-size=m]{padding:.75rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=m][style*=\"--t-icon-start:\"],[tuiNotification][data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.625rem}tui-notification[data-size=m]:before,[tuiNotification][data-size=m]:before{left:-.875rem;inset-inline-start:-.875rem;font-size:1.25rem}tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:-.75rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:unset;inset-inline-end:-.75rem}}tui-notification[data-size=m] tui-icon,[tuiNotification][data-size=m] tui-icon{font-size:1.25rem}tui-notification[data-size=m] [tuiTitle],[tuiNotification][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-m);font-weight:700}tui-notification[data-size=m] [tuiSubtitle],[tuiNotification][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=m] [tuiSubtitle]+*,[tuiNotification][data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{top:.375rem;right:.5rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{right:unset;inset-inline-end:.5rem}}tui-notification [tuiTitle],[tuiNotification] [tuiTitle]{gap:.125rem;font:var(--tui-font-text-ui-l);font-weight:700}tui-notification [tuiSubtitle],[tuiNotification] [tuiSubtitle]{font:var(--tui-font-text-m)}tui-notification [tuiSubtitle]+*,[tuiNotification] [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-font-text-s)}tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{position:absolute;top:.75rem;right:.75rem;box-shadow:none!important;background:transparent!important}@supports (inset-inline-end: 0){tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{right:unset;inset-inline-end:.75rem}}[tuiNotification]{cursor:pointer}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
48
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotificationStyles, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: Styles, decorators: [{
39
50
  type: Component,
40
- args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
41
- class: 'tui-notification',
42
- }, styles: ["tui-notification,[tuiNotification]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:block;max-block-size:100%;color:var(--tui-text-primary);padding:1rem;font:var(--tui-font-text-m);line-height:1.5rem;border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-start: 0;--t-end: 0}tui-notification[style*=\"--t-icon-start:\"],[tuiNotification][style*=\"--t-icon-start:\"]{--t-start: 2rem}tui-notification[style*=\"--t-icon-end:\"],[tuiNotification][style*=\"--t-icon-end:\"]{--t-end: 1.5rem}tui-notification:before,[tuiNotification]:before{position:absolute;left:-1rem;inset-inline-start:-1rem}tui-notification:after,[tuiNotification]:after{position:absolute;top:50%;transform:translateY(-50%);right:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}@supports (inset-inline-end: 0){tui-notification:after,[tuiNotification]:after{right:unset;inset-inline-end:-.5rem}}tui-notification[data-size=s],[tuiNotification][data-size=s]{padding:.375rem .625rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=s][style*=\"--t-icon-start:\"],[tuiNotification][data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.5rem}tui-notification[data-size=s]:before,[tuiNotification][data-size=s]:before{top:.5rem;left:-.875rem;inset-inline-start:-.875rem;font-size:1rem}tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:-.875rem}@supports (inset-inline-end: 0){tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:unset;inset-inline-end:-.875rem}}tui-notification[data-size=s] tui-icon,[tuiNotification][data-size=s] tui-icon{font-size:1rem}tui-notification[data-size=s] [tuiTitle],[tuiNotification][data-size=s] [tuiTitle]{font:var(--tui-font-text-s);font-weight:700}tui-notification[data-size=s] [tuiSubtitle],[tuiNotification][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=s] [tuiSubtitle]+*,[tuiNotification][data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{top:0;right:0}@supports (inset-inline-end: 0){tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{right:unset;inset-inline-end:0}}tui-notification[data-size=m],[tuiNotification][data-size=m]{padding:.75rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=m][style*=\"--t-icon-start:\"],[tuiNotification][data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.625rem}tui-notification[data-size=m]:before,[tuiNotification][data-size=m]:before{left:-.875rem;inset-inline-start:-.875rem;font-size:1.25rem}tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:-.75rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:unset;inset-inline-end:-.75rem}}tui-notification[data-size=m] tui-icon,[tuiNotification][data-size=m] tui-icon{font-size:1.25rem}tui-notification[data-size=m] [tuiTitle],[tuiNotification][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-m);font-weight:700}tui-notification[data-size=m] [tuiSubtitle],[tuiNotification][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=m] [tuiSubtitle]+*,[tuiNotification][data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{top:.375rem;right:.5rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{right:unset;inset-inline-end:.5rem}}tui-notification [tuiTitle],[tuiNotification] [tuiTitle]{gap:.125rem;font:var(--tui-font-text-ui-l);font-weight:700}tui-notification [tuiSubtitle],[tuiNotification] [tuiSubtitle]{font:var(--tui-font-text-m)}tui-notification [tuiSubtitle]+*,[tuiNotification] [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-font-text-s)}tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{position:absolute;top:.75rem;right:.75rem;box-shadow:none!important;background:transparent!important}@supports (inset-inline-end: 0){tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{right:unset;inset-inline-end:.75rem}}[tuiNotification]{cursor:pointer}\n"] }]
51
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'tui-notification' }, styles: ["tui-notification,[tuiNotification]{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;position:relative;display:block;max-block-size:100%;color:var(--tui-text-primary);padding:1rem;font:var(--tui-font-text-m);line-height:1.5rem;border-radius:var(--tui-radius-l);box-sizing:border-box;text-align:start;text-decoration:none;border-inline-start:var(--t-start) solid transparent;border-inline-end:var(--t-end) solid transparent;--t-start: 0;--t-end: 0}tui-notification[style*=\"--t-icon-start:\"],[tuiNotification][style*=\"--t-icon-start:\"]{--t-start: 2rem}tui-notification[style*=\"--t-icon-end:\"],[tuiNotification][style*=\"--t-icon-end:\"]{--t-end: 1.5rem}tui-notification:before,[tuiNotification]:before{position:absolute;left:-1rem;inset-inline-start:-1rem}tui-notification:after,[tuiNotification]:after{position:absolute;top:50%;transform:translateY(-50%);right:-.5rem;font-size:1rem;margin:0;margin-inline-end:-.25rem;margin-inline-start:auto;color:var(--tui-text-tertiary)!important}@supports (inset-inline-end: 0){tui-notification:after,[tuiNotification]:after{right:unset;inset-inline-end:-.5rem}}tui-notification[data-size=s],[tuiNotification][data-size=s]{padding:.375rem .625rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=s][style*=\"--t-icon-start:\"],[tuiNotification][data-size=s][style*=\"--t-icon-start:\"]{--t-start: 1.5rem}tui-notification[data-size=s]:before,[tuiNotification][data-size=s]:before{top:.5rem;left:-.875rem;inset-inline-start:-.875rem;font-size:1rem}tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:-.875rem}@supports (inset-inline-end: 0){tui-notification[data-size=s]:after,[tuiNotification][data-size=s]:after{right:unset;inset-inline-end:-.875rem}}tui-notification[data-size=s] tui-icon,[tuiNotification][data-size=s] tui-icon{font-size:1rem}tui-notification[data-size=s] [tuiTitle],[tuiNotification][data-size=s] [tuiTitle]{font:var(--tui-font-text-s);font-weight:700}tui-notification[data-size=s] [tuiSubtitle],[tuiNotification][data-size=s] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=s] [tuiSubtitle]+*,[tuiNotification][data-size=s] [tuiSubtitle]+*{gap:1rem;margin:.375rem 0 .25rem}tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{top:0;right:0}@supports (inset-inline-end: 0){tui-notification[data-size=s]>[tuiIconButton],[tuiNotification][data-size=s]>[tuiIconButton]{right:unset;inset-inline-end:0}}tui-notification[data-size=m],[tuiNotification][data-size=m]{padding:.75rem;font:var(--tui-font-text-s);line-height:1.25rem;border-radius:var(--tui-radius-m)}tui-notification[data-size=m][style*=\"--t-icon-start:\"],[tuiNotification][data-size=m][style*=\"--t-icon-start:\"]{--t-start: 1.625rem}tui-notification[data-size=m]:before,[tuiNotification][data-size=m]:before{left:-.875rem;inset-inline-start:-.875rem;font-size:1.25rem}tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:-.75rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]:after,[tuiNotification][data-size=m]:after{right:unset;inset-inline-end:-.75rem}}tui-notification[data-size=m] tui-icon,[tuiNotification][data-size=m] tui-icon{font-size:1.25rem}tui-notification[data-size=m] [tuiTitle],[tuiNotification][data-size=m] [tuiTitle]{font:var(--tui-font-text-ui-m);font-weight:700}tui-notification[data-size=m] [tuiSubtitle],[tuiNotification][data-size=m] [tuiSubtitle]{font:var(--tui-font-text-s)}tui-notification[data-size=m] [tuiSubtitle]+*,[tuiNotification][data-size=m] [tuiSubtitle]+*{gap:1rem;margin:.625rem 0 .25rem}tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{top:.375rem;right:.5rem}@supports (inset-inline-end: 0){tui-notification[data-size=m]>[tuiIconButton],[tuiNotification][data-size=m]>[tuiIconButton]{right:unset;inset-inline-end:.5rem}}tui-notification [tuiTitle],[tuiNotification] [tuiTitle]{gap:.125rem;font:var(--tui-font-text-ui-l);font-weight:700}tui-notification [tuiSubtitle],[tuiNotification] [tuiSubtitle]{font:var(--tui-font-text-m)}tui-notification [tuiSubtitle]+*,[tuiNotification] [tuiSubtitle]+*{display:flex;align-items:center;gap:1.25rem;margin-block-start:.625rem;font:var(--tui-font-text-s)}tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{position:absolute;top:.75rem;right:.75rem;box-shadow:none!important;background:transparent!important}@supports (inset-inline-end: 0){tui-notification>[tuiIconButton],[tuiNotification]>[tuiIconButton]{right:unset;inset-inline-end:.75rem}}[tuiNotification]{cursor:pointer}\n"] }]
43
52
  }] });
44
- class TuiNotification {
53
+ class TuiNotificationDirective {
45
54
  constructor() {
46
55
  this.options = inject(TUI_NOTIFICATION_OPTIONS);
47
- this.nothing = tuiWithStyles(TuiNotificationStyles);
48
- this.icons = inject(TuiIcons);
49
- this.appearance = this.options.appearance;
50
- this.icon = this.options.icon;
51
- this.size = this.options.size;
52
- }
53
- ngOnInit() {
54
- this.refresh();
55
- }
56
- ngOnChanges() {
57
- this.refresh();
56
+ this.nothing = tuiWithStyles(Styles);
57
+ this.icons = tuiIconStart(computed((icon = this.icon()) => tuiIsString(icon) ? icon : icon(this.appearance())));
58
+ this.appearance = input(this.options.appearance);
59
+ this.size = input(this.options.size);
60
+ this.icon = input(this.options.icon);
58
61
  }
59
- refresh() {
60
- this.icons.iconStart.set(tuiIsString(this.icon) ? this.icon : this.icon(this.appearance));
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotification, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiNotification, isStandalone: true, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: { appearance: "appearance", icon: "icon", size: "size" }, host: { properties: { "attr.data-size": "size" } }, providers: [
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiNotificationDirective, isStandalone: true, selector: "tui-notification,[tuiNotification]:not(ng-template)", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [
64
64
  tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),
65
- tuiLinkOptionsProvider({
66
- appearance: '',
67
- pseudo: true,
68
- }),
69
- tuiButtonOptionsProvider({
70
- appearance: 'outline-grayscale',
71
- size: 's',
72
- }),
73
- ], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiWithIcons }, { directive: i2.TuiWithAppearance }], ngImport: i0 }); }
65
+ tuiLinkOptionsProvider({ appearance: '', pseudo: true }),
66
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale', size: 's' }),
67
+ ], hostDirectives: [{ directive: i1.TuiWithIcons }, { directive: i2.TuiWithAppearance }], ngImport: i0 }); }
74
68
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNotification, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationDirective, decorators: [{
76
70
  type: Directive,
77
71
  args: [{
78
- standalone: true,
79
- selector: 'tui-notification,a[tuiNotification],button[tuiNotification]',
72
+ selector: 'tui-notification,[tuiNotification]:not(ng-template)',
80
73
  providers: [
81
74
  tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),
82
- tuiLinkOptionsProvider({
83
- appearance: '',
84
- pseudo: true,
85
- }),
86
- tuiButtonOptionsProvider({
87
- appearance: 'outline-grayscale',
88
- size: 's',
89
- }),
75
+ tuiLinkOptionsProvider({ appearance: '', pseudo: true }),
76
+ tuiButtonOptionsProvider({ appearance: 'outline-grayscale', size: 's' }),
90
77
  ],
91
78
  hostDirectives: [TuiWithIcons, TuiWithAppearance],
92
79
  host: {
93
- '[attr.data-size]': 'size',
80
+ '[attr.data-size]': 'size()',
94
81
  },
95
82
  }]
96
- }], propDecorators: { appearance: [{
97
- type: Input
98
- }], icon: [{
99
- type: Input
100
- }], size: [{
101
- type: Input
102
- }] } });
83
+ }] });
84
+
85
+ class TuiNotificationComponent {
86
+ constructor() {
87
+ this.el = tuiInjectElement();
88
+ this.icons = inject(TUI_COMMON_ICONS);
89
+ this.close = inject(TUI_CLOSE_WORD);
90
+ this.item = injectContext();
91
+ this.sub = of(typeof this.item.autoClose === 'function'
92
+ ? this.item.autoClose(this.item.appearance)
93
+ : this.item.autoClose)
94
+ .pipe(switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)), takeUntil(fromEvent(this.el, 'mouseenter')), repeat({ delay: () => fromEvent(this.el, 'mouseleave') }), takeUntilDestroyed())
95
+ .subscribe(() => this.item.$implicit.complete());
96
+ }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiNotificationComponent, isStandalone: true, selector: "tui-notification-alert", host: { attributes: { "role": "alert" } }, hostDirectives: [{ directive: i1$1.TuiAnimated }, { directive: i2$1.TuiAlertDirective }], ngImport: i0, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closable]=\"item.closable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n @if (item.closable) {\n <button\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n }\n </tui-notification>\n</div>\n", styles: [":host{inline-size:18rem;margin:1.625rem 3rem;word-break:break-word;transform:translateZ(0);filter:drop-shadow(0 .375rem 1rem rgba(0,0,0,.12))}:host :host-context(tui-root._mobile){margin:.625rem 1rem}.t-wrapper{background:var(--tui-background-base);clip-path:inset(.375rem 0 round var(--tui-radius-m))}.t-closable{padding-inline-end:2.5rem}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiNotificationDirective, selector: "tui-notification,[tuiNotification]:not(ng-template)", inputs: ["appearance", "size", "icon"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ }
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationComponent, decorators: [{
101
+ type: Component,
102
+ args: [{ selector: 'tui-notification-alert', imports: [PolymorpheusOutlet, TuiButton, TuiNotificationDirective, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated, TuiAlertDirective], host: { role: 'alert' }, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closable]=\"item.closable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n @if (item.closable) {\n <button\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n }\n </tui-notification>\n</div>\n", styles: [":host{inline-size:18rem;margin:1.625rem 3rem;word-break:break-word;transform:translateZ(0);filter:drop-shadow(0 .375rem 1rem rgba(0,0,0,.12))}:host :host-context(tui-root._mobile){margin:.625rem 1rem}.t-wrapper{background:var(--tui-background-base);clip-path:inset(.375rem 0 round var(--tui-radius-m))}.t-closable{padding-inline-end:2.5rem}\n"] }]
103
+ }] });
104
+
105
+ class TuiNotificationService extends TuiAlertService {
106
+ constructor() {
107
+ super(inject(TUI_NOTIFICATION_CONCURRENCY));
108
+ this.options = inject(TUI_NOTIFICATION_OPTIONS);
109
+ this.component = TuiNotificationComponent;
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
112
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationService, providedIn: 'root' }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationService, decorators: [{
115
+ type: Injectable,
116
+ args: [{
117
+ providedIn: 'root',
118
+ }]
119
+ }], ctorParameters: () => [] });
120
+ class TuiNotificationTemplate {
121
+ constructor() {
122
+ this.tuiNotificationOptions = input({});
123
+ }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
125
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: TuiNotificationTemplate, isStandalone: true, selector: "ng-template[tuiNotification]", inputs: { tuiNotificationOptions: { classPropertyName: "tuiNotificationOptions", publicName: "tuiNotificationOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationService)], hostDirectives: [{ directive: i1$2.TuiPortalDirective, inputs: ["options", "tuiNotificationOptions", "open", "tuiNotification"], outputs: ["openChange", "tuiNotificationChange"] }], ngImport: i0 }); }
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNotificationTemplate, decorators: [{
128
+ type: Directive,
129
+ args: [{
130
+ selector: 'ng-template[tuiNotification]',
131
+ providers: [tuiAsPortal(TuiNotificationService)],
132
+ hostDirectives: [
133
+ {
134
+ directive: TuiPortalDirective,
135
+ inputs: ['options: tuiNotificationOptions', 'open: tuiNotification'],
136
+ outputs: ['openChange: tuiNotificationChange'],
137
+ },
138
+ ],
139
+ }]
140
+ }] });
141
+
142
+ const TuiNotification = [
143
+ TuiNotificationDirective,
144
+ TuiNotificationTemplate,
145
+ ];
103
146
 
104
147
  /**
105
148
  * Generated bundle index. Do not edit.
106
149
  */
107
150
 
108
- export { TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TuiNotification, tuiNotificationOptionsProvider };
151
+ export { TUI_NOTIFICATION_CONCURRENCY, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TuiNotification, TuiNotificationComponent, TuiNotificationDirective, TuiNotificationService, TuiNotificationTemplate, tuiNotificationOptionsProvider };
109
152
  //# sourceMappingURL=taiga-ui-core-components-notification.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-notification.mjs","sources":["../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/notification/notification.directive.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationOptions extends TuiAppearanceOptions {\n readonly icon: TuiStringHandler<string> | string;\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nconst ICONS: Record<string, string> = {\n info: '@tui.info',\n positive: '@tui.circle-check',\n negative: '@tui.circle-x',\n warning: '@tui.circle-alert',\n neutral: '@tui.info',\n /* TODO @deprecated remove in v5 */\n success: '@tui.circle-check',\n /* TODO @deprecated remove in v5 */\n error: '@tui.circle-x',\n};\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationOptions = {\n appearance: 'info',\n icon: (appearance) => ICONS[appearance] ?? '',\n size: 'l',\n};\n\n/**\n * Default parameters for notification alert component\n */\nexport const [TUI_NOTIFICATION_OPTIONS, tuiNotificationOptionsProvider] =\n tuiCreateOptions(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n type OnChanges,\n type OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiIcons, TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n standalone: true,\n template: '',\n styles: ['@import \"@taiga-ui/core/styles/components/notification.less\";'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-notification',\n },\n})\nclass TuiNotificationStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-notification,a[tuiNotification],button[tuiNotification]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),\n tuiLinkOptionsProvider({\n appearance: '',\n pseudo: true,\n }),\n tuiButtonOptionsProvider({\n appearance: 'outline-grayscale',\n size: 's',\n }),\n ],\n hostDirectives: [TuiWithIcons, TuiWithAppearance],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiNotification implements OnChanges, OnInit {\n private readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(TuiNotificationStyles);\n protected readonly icons = inject(TuiIcons);\n\n @Input()\n public appearance = this.options.appearance;\n\n @Input()\n public icon: TuiStringHandler<string> | string = this.options.icon;\n\n @Input()\n public size = this.options.size;\n\n public ngOnInit(): void {\n this.refresh();\n }\n\n public ngOnChanges(): void {\n this.refresh();\n }\n\n private refresh(): void {\n this.icons.iconStart.set(\n tuiIsString(this.icon) ? this.icon : this.icon(this.appearance),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-notification.mjs","sources":["../../../projects/core/components/notification/notification.options.ts","../../../projects/core/components/notification/notification.directive.ts","../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.service.ts","../../../projects/core/components/notification/notification.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {type TuiNumberHandler, type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPositionOptions} from '@taiga-ui/core/directives/alert';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiNotificationOptions<I = undefined>\n extends TuiAppearanceOptions,\n TuiPositionOptions {\n readonly icon: TuiStringHandler<string> | string;\n readonly size: TuiSizeL | TuiSizeS;\n readonly autoClose: TuiNumberHandler<string> | number;\n readonly closable: boolean;\n readonly label: string;\n readonly data: I;\n}\n\nconst ICONS: Record<string, string> = {\n info: '@tui.info',\n positive: '@tui.circle-check',\n negative: '@tui.circle-x',\n warning: '@tui.circle-alert',\n neutral: '@tui.info',\n};\n\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationOptions = {\n appearance: 'info',\n icon: (appearance) => ICONS[appearance] ?? '',\n size: 'l',\n data: undefined,\n autoClose: 3000,\n label: '',\n closable: true,\n block: 'start',\n inline: 'end',\n};\n\nexport const [TUI_NOTIFICATION_OPTIONS, tuiNotificationOptionsProvider] =\n tuiCreateOptions(TUI_NOTIFICATION_DEFAULT_OPTIONS);\n\nexport const TUI_NOTIFICATION_CONCURRENCY = new InjectionToken(\n ngDevMode ? 'TUI_NOTIFICATION_CONCURRENCY' : '',\n {factory: () => 5},\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsString, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiLinkOptionsProvider} from '@taiga-ui/core/components/link';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {tuiIconStart, TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_NOTIFICATION_OPTIONS} from './notification.options';\n\n@Component({\n template: '',\n styles: '@import \"@taiga-ui/core/styles/components/notification.less\";',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {class: 'tui-notification'},\n})\nclass Styles {}\n\n@Directive({\n selector: 'tui-notification,[tuiNotification]:not(ng-template)',\n providers: [\n tuiAppearanceOptionsProvider(TUI_NOTIFICATION_OPTIONS),\n tuiLinkOptionsProvider({appearance: '', pseudo: true}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale', size: 's'}),\n ],\n hostDirectives: [TuiWithIcons, TuiWithAppearance],\n host: {\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiNotificationDirective {\n private readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly icons = tuiIconStart(\n computed((icon = this.icon()) =>\n tuiIsString(icon) ? icon : icon(this.appearance()),\n ),\n );\n\n public readonly appearance = input(this.options.appearance);\n public readonly size = input(this.options.size);\n public readonly icon = input<TuiStringHandler<string> | string>(this.options.icon);\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiAlertDirective} from '@taiga-ui/core/directives/alert';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, fromEvent, of, repeat, switchMap, takeUntil, timer} from 'rxjs';\n\nimport {TuiNotificationDirective} from './notification.directive';\nimport {type TuiNotificationOptions} from './notification.options';\n\n@Component({\n selector: 'tui-notification-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiNotificationDirective, TuiTitle],\n templateUrl: './notification.template.html',\n styleUrl: './notification.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiAlertDirective],\n host: {role: 'alert'},\n})\nexport class TuiNotificationComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = inject(TUI_CLOSE_WORD);\n protected readonly item =\n injectContext<TuiPortalContext<TuiNotificationOptions<I>, O>>();\n\n protected readonly sub = of(\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.appearance)\n : this.item.autoClose,\n )\n .pipe(\n switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)),\n takeUntil(fromEvent(this.el, 'mouseenter')),\n repeat({delay: () => fromEvent(this.el, 'mouseleave')}),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.item.$implicit.complete());\n}\n","<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closable]=\"item.closable\"\n [icon]=\"item.icon\"\n >\n <span tuiTitle>\n <ng-container *polymorpheusOutlet=\"item.label as text; context: item\">\n {{ text }}\n </ng-container>\n <span tuiSubtitle>\n <span\n *polymorpheusOutlet=\"item.content as text; context: item\"\n [innerHTML]=\"text\"\n ></span>\n </span>\n </span>\n @if (item.closable) {\n <button\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click)=\"item.$implicit.complete()\"\n >\n {{ close() }}\n </button>\n }\n </tui-notification>\n</div>\n","import {Directive, inject, Injectable, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\nimport {TuiAlertService} from '@taiga-ui/core/directives/alert';\n\nimport {TuiNotificationComponent} from './notification.component';\nimport {\n TUI_NOTIFICATION_CONCURRENCY,\n TUI_NOTIFICATION_OPTIONS,\n type TuiNotificationOptions,\n} from './notification.options';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiNotificationService extends TuiAlertService<TuiNotificationOptions<any>> {\n protected override readonly options = inject(TUI_NOTIFICATION_OPTIONS);\n protected override readonly component = TuiNotificationComponent;\n\n constructor() {\n super(inject(TUI_NOTIFICATION_CONCURRENCY));\n }\n}\n\n@Directive({\n selector: 'ng-template[tuiNotification]',\n providers: [tuiAsPortal(TuiNotificationService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['options: tuiNotificationOptions', 'open: tuiNotification'],\n outputs: ['openChange: tuiNotificationChange'],\n },\n ],\n})\nexport class TuiNotificationTemplate<T> {\n public readonly tuiNotificationOptions = input<Partial<TuiNotificationOptions<T>>>(\n {},\n );\n}\n","import {TuiNotificationDirective} from './notification.directive';\nimport {TuiNotificationTemplate} from './notification.service';\n\nexport const TuiNotification = [\n TuiNotificationDirective,\n TuiNotificationTemplate,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { DOCUMENT, NgIf } from '@angular/common';
1
+ import { DOCUMENT } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, signal, RendererFactory2, Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
3
+ import { inject, signal, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
- import { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
6
5
  import { TUI_VERSION } from '@taiga-ui/cdk/constants';
7
6
  import * as i3 from '@taiga-ui/cdk/directives/font-size';
8
7
  import { TuiFontSize } from '@taiga-ui/cdk/directives/font-size';
@@ -10,78 +9,46 @@ import * as i1 from '@taiga-ui/cdk/directives/platform';
10
9
  import { TuiPlatform } from '@taiga-ui/cdk/directives/platform';
11
10
  import * as i2 from '@taiga-ui/cdk/directives/visual-viewport';
12
11
  import { TuiVisualViewport } from '@taiga-ui/cdk/directives/visual-viewport';
13
- import { tuiWatch } from '@taiga-ui/cdk/observables';
14
12
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
15
13
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
16
- import { TuiAlerts } from '@taiga-ui/core/components/alert';
17
- import { TuiDialogs } from '@taiga-ui/core/components/dialog';
18
14
  import { TUI_SCROLLBAR_OPTIONS, TuiScrollControls } from '@taiga-ui/core/components/scrollbar';
19
- import { TuiDropdowns } from '@taiga-ui/core/directives/dropdown';
20
- import { TuiHints } from '@taiga-ui/core/directives/hint';
21
15
  import { TuiPopups } from '@taiga-ui/core/directives/popup';
22
16
  import { TuiBreakpointService } from '@taiga-ui/core/services';
23
- import { TUI_REDUCED_MOTION, TUI_ANIMATIONS_SPEED, TUI_THEME } from '@taiga-ui/core/tokens';
24
- import { tuiGetDuration } from '@taiga-ui/core/utils';
25
- import { PreventEventPlugin } from '@taiga-ui/event-plugins';
26
- import { map } from 'rxjs';
17
+ import { TUI_REDUCED_MOTION, TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
18
+ import { tuiGetDuration, TUI_OPTIONS } from '@taiga-ui/core/utils/miscellaneous';
27
19
 
28
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
29
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
30
20
  class TuiRoot {
31
21
  constructor() {
32
22
  this.doc = inject(DOCUMENT);
33
23
  this.el = tuiInjectElement();
24
+ this.child = !!inject(TuiRoot, { optional: true, skipSelf: true });
34
25
  this.reducedMotion = inject(TUI_REDUCED_MOTION);
35
26
  this.duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));
36
- this.isChildRoot = !!inject(TuiRoot, { optional: true, skipSelf: true });
37
- this.top = signal(!this.isChildRoot);
38
- this.isMobileRes = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile'), tuiWatch()), { initialValue: false });
39
- this.nativeScrollbar = inject(TUI_SCROLLBAR_OPTIONS).mode === 'native';
40
- this.scrollbars = !this.nativeScrollbar && !inject(TUI_IS_MOBILE) && !this.isChildRoot;
41
- // TODO move to provideTaiga in v5
42
- const factory = inject(RendererFactory2);
43
- factory.removeStylesOnCompDestroy = false;
44
- if (factory.delegate) {
45
- factory.delegate.removeStylesOnCompDestroy = false;
46
- }
47
- if (!this.top()) {
48
- return;
49
- }
50
- this.doc.documentElement.setAttribute('data-tui-theme', inject(TUI_THEME).toLowerCase());
51
- if (!this.nativeScrollbar) {
52
- this.doc.defaultView?.document.documentElement.classList.add('tui-zero-scrollbar');
53
- }
54
- ngDevMode &&
55
- console.assert(!!inject(EVENT_MANAGER_PLUGINS).find((plugin) => plugin instanceof PreventEventPlugin), 'NG_EVENT_PLUGINS is missing from global providers');
27
+ this.top = signal(this.parent);
28
+ this.breakpoint = toSignal(inject(TuiBreakpointService));
29
+ this.scrollbars = !inject(TUI_IS_MOBILE) &&
30
+ !this.child &&
31
+ inject(TUI_SCROLLBAR_OPTIONS).mode !== 'native' &&
32
+ inject(TUI_OPTIONS).scrollbars !== 'native';
56
33
  }
57
- get isTopLayer() {
58
- return this.doc.fullscreenElement?.matches('tui-root')
59
- ? this.doc.fullscreenElement === this.el
60
- : !this.isChildRoot;
34
+ get parent() {
35
+ return this.doc.fullscreenElement === this.el || !this.child;
61
36
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.52.0-canary.56739a2" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(isTopLayer)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiSkeletonVibe{to{opacity:.5}}@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}:root{--tui-inline-start: left;--tui-inline-end: right;--tui-inline: 1}[dir=rtl]{--tui-inline-start: right;--tui-inline-end: left;--tui-inline: -1}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.52.0-canary.58fe47a" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(parent)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "breakpoint() === \"mobile\"" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\n}\n", styles: ["@keyframes tuiSkeletonVibe{to{opacity:.5}}@keyframes tuiPresent{to{opacity:.99999}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}:root{--tui-inline-start: left;--tui-inline-end: right;--tui-inline: 1}[dir=rtl]{--tui-inline-start: right;--tui-inline-end: left;--tui-inline: -1}tui-root>.t-root-scrollbar{position:fixed;z-index:0;inset:0}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
64
39
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiRoot, decorators: [{
66
41
  type: Component,
67
- args: [{ standalone: true, selector: 'tui-root', imports: [
68
- NgIf,
69
- TuiAlerts,
70
- TuiDialogs,
71
- TuiDropdowns,
72
- TuiHints,
73
- TuiPopups,
74
- TuiScrollControls,
75
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize], host: {
42
+ args: [{ selector: 'tui-root', imports: [TuiPopups, TuiScrollControls], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize], host: {
76
43
  'data-tui-version': TUI_VERSION,
77
44
  '[style.--tui-duration.ms]': 'duration',
78
45
  '[style.--tui-scroll-behavior]': 'reducedMotion ? "auto" : "smooth"',
79
- '[class._mobile]': 'isMobileRes()',
46
+ '[class._mobile]': 'breakpoint() === "mobile"',
80
47
  // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490
81
48
  '(touchstart.passive.zoneless)': '0',
82
- '(document:fullscreenchange)': 'top.set(isTopLayer)',
83
- }, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiSkeletonVibe{to{opacity:.5}}@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}:root{--tui-inline-start: left;--tui-inline-end: right;--tui-inline: 1}[dir=rtl]{--tui-inline-start: right;--tui-inline-end: left;--tui-inline: -1}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
84
- }], ctorParameters: function () { return []; } });
49
+ '(document:fullscreenchange)': 'top.set(parent)',
50
+ }, template: "<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\n}\n", styles: ["@keyframes tuiSkeletonVibe{to{opacity:.5}}@keyframes tuiPresent{to{opacity:.99999}}@keyframes tuiFade{0%{opacity:0}}@keyframes tuiSlide{0%{transform:var(--tui-from, translateY(100%))}}@keyframes tuiScale{0%{transform:scale(var(--tui-scale, 0))}}@keyframes tuiCollapse{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}.tui-enter,.tui-leave{animation-duration:var(--tui-duration);animation-timing-function:ease-in-out;pointer-events:none}.tui-leave{animation-direction:reverse}\n", ".tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}:root{--tui-inline-start: left;--tui-inline-end: right;--tui-inline: 1}[dir=rtl]{--tui-inline-start: right;--tui-inline-end: left;--tui-inline: -1}tui-root>.t-root-scrollbar{position:fixed;z-index:0;inset:0}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"] }]
51
+ }] });
85
52
 
86
53
  /**
87
54
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {DOCUMENT, NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n RendererFactory2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {EVENT_MANAGER_PLUGINS} from '@angular/platform-browser';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiFontSize} from '@taiga-ui/cdk/directives/font-size';\nimport {TuiPlatform} from '@taiga-ui/cdk/directives/platform';\nimport {TuiVisualViewport} from '@taiga-ui/cdk/directives/visual-viewport';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiAlerts} from '@taiga-ui/core/components/alert';\nimport {TuiDialogs} from '@taiga-ui/core/components/dialog';\nimport {\n TUI_SCROLLBAR_OPTIONS,\n TuiScrollControls,\n} from '@taiga-ui/core/components/scrollbar';\nimport {TuiDropdowns} from '@taiga-ui/core/directives/dropdown';\nimport {TuiHints} from '@taiga-ui/core/directives/hint';\nimport {TuiPopups} from '@taiga-ui/core/directives/popup';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATIONS_SPEED, TUI_REDUCED_MOTION, TUI_THEME} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration} from '@taiga-ui/core/utils';\nimport {PreventEventPlugin} from '@taiga-ui/event-plugins';\nimport {map} from 'rxjs';\n\n@Component({\n standalone: true,\n selector: 'tui-root',\n imports: [\n NgIf,\n TuiAlerts,\n TuiDialogs,\n TuiDropdowns,\n TuiHints,\n TuiPopups,\n TuiScrollControls,\n ],\n templateUrl: './root.template.html',\n styleUrls: ['./animations.less', './root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '[style.--tui-scroll-behavior]': 'reducedMotion ? \"auto\" : \"smooth\"',\n '[class._mobile]': 'isMobileRes()',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.zoneless)': '0',\n '(document:fullscreenchange)': 'top.set(isTopLayer)',\n },\n})\nexport class TuiRoot {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n protected readonly isChildRoot = !!inject(TuiRoot, {optional: true, skipSelf: true});\n protected readonly top = signal(!this.isChildRoot);\n protected readonly isMobileRes = toSignal(\n inject(TuiBreakpointService).pipe(\n map((breakpoint) => breakpoint === 'mobile'),\n tuiWatch(),\n ),\n {initialValue: false},\n );\n\n protected readonly nativeScrollbar = inject(TUI_SCROLLBAR_OPTIONS).mode === 'native';\n\n protected readonly scrollbars =\n !this.nativeScrollbar && !inject(TUI_IS_MOBILE) && !this.isChildRoot;\n\n constructor() {\n // TODO move to provideTaiga in v5\n const factory = inject<any>(RendererFactory2);\n\n factory.removeStylesOnCompDestroy = false;\n\n if (factory.delegate) {\n factory.delegate.removeStylesOnCompDestroy = false;\n }\n\n if (!this.top()) {\n return;\n }\n\n this.doc.documentElement.setAttribute(\n 'data-tui-theme',\n inject(TUI_THEME).toLowerCase(),\n );\n\n if (!this.nativeScrollbar) {\n this.doc.defaultView?.document.documentElement.classList.add(\n 'tui-zero-scrollbar',\n );\n }\n\n ngDevMode &&\n console.assert(\n !!inject<unknown[]>(EVENT_MANAGER_PLUGINS).find(\n (plugin) => plugin instanceof PreventEventPlugin,\n ),\n 'NG_EVENT_PLUGINS is missing from global providers',\n );\n }\n\n protected get isTopLayer(): boolean {\n return this.doc.fullscreenElement?.matches('tui-root')\n ? this.doc.fullscreenElement === this.el\n : !this.isChildRoot;\n }\n}\n","<div class=\"t-root-content\">\n <ng-content />\n</div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAkCA,MA4Ba,OAAO,CAAA;AAoBhB,IAAA,WAAA,GAAA;AAnBiB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE,CAAC;AACtB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,IAAQ,CAAA,QAAA,GAAG,cAAc,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,IAAG,CAAA,GAAA,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CACrC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAC7B,GAAG,CAAC,CAAC,UAAU,KAAK,UAAU,KAAK,QAAQ,CAAC,EAC5C,QAAQ,EAAE,CACb,EACD,EAAC,YAAY,EAAE,KAAK,EAAC,CACxB,CAAC;QAEiB,IAAe,CAAA,eAAA,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AAElE,QAAA,IAAA,CAAA,UAAU,GACzB,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;AAIrE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAM,gBAAgB,CAAC,CAAC;AAE9C,QAAA,OAAO,CAAC,yBAAyB,GAAG,KAAK,CAAC;QAE1C,IAAI,OAAO,CAAC,QAAQ,EAAE;AAClB,YAAA,OAAO,CAAC,QAAQ,CAAC,yBAAyB,GAAG,KAAK,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE;YACb,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CACjC,gBAAgB,EAChB,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAClC,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;AACvB,YAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CACxD,oBAAoB,CACvB,CAAC;AACL,SAAA;QAED,SAAS;YACL,OAAO,CAAC,MAAM,CACV,CAAC,CAAC,MAAM,CAAY,qBAAqB,CAAC,CAAC,IAAI,CAC3C,CAAC,MAAM,KAAK,MAAM,YAAY,kBAAkB,CACnD,EACD,mDAAmD,CACtD,CAAC;KACT;AAED,IAAA,IAAc,UAAU,GAAA;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC;cAChD,IAAI,CAAC,GAAG,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE;AACxC,cAAE,CAAC,IAAI,CAAC,WAAW,CAAC;KAC3B;+GA1DQ,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAP,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,OAAO,EC9DpB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAAA,EAAA,6BAAA,EAAA,GAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,6BAAA,EAAA,uCAAA,EAAA,eAAA,EAAA,eAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+hBAmBA,EDmBQ,MAAA,EAAA,CAAA,ieAAA,EAAA,k4BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FACJ,SAAS,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACT,UAAU,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACV,YAAY,EACZ,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAQ,EACR,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,SAAS,uDACT,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAkBZ,OAAO,EAAA,UAAA,EAAA,CAAA;kBA5BnB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,UAAU,EACX,OAAA,EAAA;wBACL,IAAI;wBACJ,SAAS;wBACT,UAAU;wBACV,YAAY;wBACZ,QAAQ;wBACR,SAAS;wBACT,iBAAiB;AACpB,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,EAAA,eAAA,EAEpB,uBAAuB,CAAC,OAAO,EAChC,cAAA,EAAA,CAAC,WAAW,EAAE,iBAAiB,EAAE,WAAW,CAAC,EACvD,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,WAAW;AAC/B,wBAAA,2BAA2B,EAAE,UAAU;AACvC,wBAAA,+BAA+B,EAAE,mCAAmC;AACpE,wBAAA,iBAAiB,EAAE,eAAe;;AAElC,wBAAA,+BAA+B,EAAE,GAAG;AACpC,wBAAA,6BAA6B,EAAE,qBAAqB;AACvD,qBAAA,EAAA,QAAA,EAAA,+hBAAA,EAAA,MAAA,EAAA,CAAA,ieAAA,EAAA,k4BAAA,CAAA,EAAA,CAAA;;;AE5DL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-root.mjs","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiFontSize} from '@taiga-ui/cdk/directives/font-size';\nimport {TuiPlatform} from '@taiga-ui/cdk/directives/platform';\nimport {TuiVisualViewport} from '@taiga-ui/cdk/directives/visual-viewport';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {\n TUI_SCROLLBAR_OPTIONS,\n TuiScrollControls,\n} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPopups} from '@taiga-ui/core/directives/popup';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATIONS_SPEED, TUI_REDUCED_MOTION} from '@taiga-ui/core/tokens';\nimport {TUI_OPTIONS, tuiGetDuration} from '@taiga-ui/core/utils/miscellaneous';\n\n@Component({\n selector: 'tui-root',\n imports: [TuiPopups, TuiScrollControls],\n templateUrl: './root.template.html',\n styleUrls: ['./animations.less', './root.style.less'],\n encapsulation: ViewEncapsulation.None,\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n hostDirectives: [TuiPlatform, TuiVisualViewport, TuiFontSize],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '[style.--tui-scroll-behavior]': 'reducedMotion ? \"auto\" : \"smooth\"',\n '[class._mobile]': 'breakpoint() === \"mobile\"',\n // Required for the :active state to work in Safari. https://stackoverflow.com/a/33681490\n '(touchstart.passive.zoneless)': '0',\n '(document:fullscreenchange)': 'top.set(parent)',\n },\n})\nexport class TuiRoot {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly child = !!inject(TuiRoot, {optional: true, skipSelf: true});\n\n protected readonly reducedMotion = inject(TUI_REDUCED_MOTION);\n protected readonly duration = tuiGetDuration(inject(TUI_ANIMATIONS_SPEED));\n protected readonly top = signal(this.parent);\n protected readonly breakpoint = toSignal(inject(TuiBreakpointService));\n\n protected readonly scrollbars =\n !inject(TUI_IS_MOBILE) &&\n !this.child &&\n inject(TUI_SCROLLBAR_OPTIONS).mode !== 'native' &&\n inject(TUI_OPTIONS).scrollbars !== 'native';\n\n protected get parent(): boolean {\n return this.doc.fullscreenElement === this.el || !this.child;\n }\n}\n","<div class=\"t-root-content\">\n <ng-content />\n</div>\n@if (top()) {\n @if (scrollbars) {\n <tui-scroll-controls class=\"t-root-scrollbar\" />\n }\n <tui-popups>\n <ng-content select=\"tuiOverContent\" />\n </tui-popups>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}