@taiga-ui/core 4.52.0-canary.6c67ccf → 4.52.0-canary.6de148b

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 (318) hide show
  1. package/README.md +1 -1
  2. package/classes/accessors.d.ts +1 -1
  3. package/components/button/button.directive.d.ts +2 -2
  4. package/components/button/button.options.d.ts +1 -1
  5. package/components/calendar/calendar-sheet.options.d.ts +1 -3
  6. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +1 -1
  7. package/components/calendar/calendar-spin.component.d.ts +1 -0
  8. package/components/calendar/calendar-year.component.d.ts +1 -1
  9. package/components/calendar/index.d.ts +2 -0
  10. package/components/cell/cell.directive.d.ts +9 -0
  11. package/components/cell/cell.options.d.ts +6 -0
  12. package/components/cell/index.d.ts +2 -0
  13. package/components/data-list/data-list.component.d.ts +8 -12
  14. package/components/data-list/data-list.d.ts +3 -4
  15. package/components/data-list/data-list.tokens.d.ts +1 -23
  16. package/components/data-list/index.d.ts +3 -4
  17. package/components/data-list/opt-group.directive.d.ts +2 -2
  18. package/components/data-list/option-content.directive.d.ts +14 -0
  19. package/components/data-list/option-with-value.directive.d.ts +9 -0
  20. package/components/data-list/option.directive.d.ts +19 -0
  21. package/components/error/error.component.d.ts +6 -8
  22. package/components/error/error.d.ts +4 -0
  23. package/components/error/error.directive.d.ts +19 -0
  24. package/components/error/error.pipe.d.ts +10 -0
  25. package/components/error/index.d.ts +3 -0
  26. package/components/expand/expand.component.d.ts +9 -28
  27. package/components/expand/index.d.ts +0 -2
  28. package/components/icon/icon.component.d.ts +3 -3
  29. package/components/index.d.ts +3 -3
  30. package/components/input/index.d.ts +2 -0
  31. package/components/input/input.d.ts +2 -0
  32. package/components/input/input.directive.d.ts +30 -0
  33. package/components/link/link.directive.d.ts +2 -2
  34. package/components/link/link.options.d.ts +1 -3
  35. package/components/loader/loader.component.d.ts +7 -7
  36. package/components/loader/loader.options.d.ts +1 -3
  37. package/components/notification/index.d.ts +3 -0
  38. package/components/notification/notification.component.d.ts +14 -0
  39. package/components/notification/notification.d.ts +3 -0
  40. package/components/notification/notification.directive.d.ts +7 -12
  41. package/components/notification/notification.options.d.ts +10 -7
  42. package/components/notification/notification.service.d.ts +17 -0
  43. package/components/root/root.component.d.ts +4 -6
  44. package/components/scrollbar/scroll-into-view.directive.d.ts +3 -2
  45. package/components/scrollbar/scrollbar.component.d.ts +2 -2
  46. package/components/scrollbar/scrollbar.directive.d.ts +2 -2
  47. package/components/scrollbar/scrollbar.options.d.ts +1 -1
  48. package/components/spin-button/spin-button.component.d.ts +8 -9
  49. package/components/textfield/index.d.ts +1 -4
  50. package/components/textfield/textfield-icon.d.ts +3 -3
  51. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  52. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +10 -15
  53. package/components/textfield/textfield.component.d.ts +23 -37
  54. package/components/textfield/textfield.d.ts +2 -4
  55. package/components/textfield/textfield.options.d.ts +8 -11
  56. package/{directives → components}/title/title.directive.d.ts +2 -3
  57. package/directives/appearance/appearance.directive.d.ts +5 -13
  58. package/directives/appearance/appearance.options.d.ts +1 -1
  59. package/directives/date-format/date-format.directive.d.ts +3 -7
  60. package/directives/group/group.directive.d.ts +7 -7
  61. package/directives/group/group.options.d.ts +1 -3
  62. package/directives/icons/icons.bindings.d.ts +5 -0
  63. package/directives/icons/icons.directive.d.ts +6 -14
  64. package/directives/icons/index.d.ts +1 -0
  65. package/directives/index.d.ts +0 -5
  66. package/directives/number-format/number-format.directive.d.ts +3 -7
  67. package/fesm2022/taiga-ui-core-animations.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-classes.mjs +6 -8
  69. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-button.mjs +11 -18
  71. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-calendar.mjs +125 -27
  73. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-core-components-cell.mjs +45 -0
  75. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -0
  76. package/fesm2022/taiga-ui-core-components-data-list.mjs +106 -275
  77. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-core-components-error.mjs +109 -24
  79. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-core-components-expand.mjs +33 -131
  81. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-components-icon.mjs +5 -6
  83. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-components-input.mjs +95 -0
  85. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  86. package/fesm2022/taiga-ui-core-components-label.mjs +6 -9
  87. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-core-components-link.mjs +14 -23
  89. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-core-components-loader.mjs +14 -32
  91. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-core-components-notification.mjs +107 -64
  93. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-core-components-root.mjs +19 -50
  95. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +36 -45
  97. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-core-components-spin-button.mjs +14 -27
  99. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-core-components-textfield.mjs +109 -408
  101. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-core-components-title.mjs +37 -0
  103. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -0
  104. package/fesm2022/taiga-ui-core-components.mjs +3 -3
  105. package/fesm2022/taiga-ui-core-directives-appearance.mjs +27 -64
  106. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-core-directives-date-format.mjs +24 -18
  108. package/fesm2022/taiga-ui-core-directives-date-format.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-directives-group.mjs +23 -38
  110. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-directives-icons.mjs +30 -40
  112. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +3 -6
  114. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core-directives-number-format.mjs +30 -18
  116. package/fesm2022/taiga-ui-core-directives-number-format.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  118. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +19 -13
  120. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-core-pipes.mjs +0 -8
  122. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-core-portals-alert.mjs +73 -0
  124. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  125. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  126. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  127. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +137 -289
  128. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  129. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +119 -219
  130. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  131. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  132. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  133. package/fesm2022/taiga-ui-core-portals-popup.mjs +56 -0
  134. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  135. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  136. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  137. package/fesm2022/taiga-ui-core-services.mjs +3 -23
  138. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-core-tokens.mjs +28 -26
  140. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -22
  143. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +55 -18
  145. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-core.mjs +1 -0
  147. package/fesm2022/taiga-ui-core.mjs.map +1 -1
  148. package/index.d.ts +1 -0
  149. package/package.json +83 -104
  150. package/pipes/format-number/format-number.pipe.d.ts +6 -4
  151. package/pipes/index.d.ts +0 -8
  152. package/portals/alert/alert.directive.d.ts +11 -0
  153. package/portals/alert/alert.service.d.ts +12 -0
  154. package/portals/alert/index.d.ts +2 -0
  155. package/portals/dialog/dialog.component.d.ts +14 -0
  156. package/portals/dialog/dialog.directive.d.ts +8 -0
  157. package/{components → portals}/dialog/dialog.factory.d.ts +1 -1
  158. package/portals/dialog/dialog.options.d.ts +25 -0
  159. package/{components/dialog/dialog-close.service.d.ts → portals/dialog/dialog.providers.d.ts} +2 -0
  160. package/portals/dialog/dialog.service.d.ts +10 -0
  161. package/portals/dialog/index.d.ts +6 -0
  162. package/portals/dropdown/dropdown-content.directive.d.ts +9 -0
  163. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  164. package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +1 -3
  165. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  166. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  167. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  168. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +5 -5
  169. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  170. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  171. package/{directives → portals}/dropdown/dropdown.d.ts +2 -3
  172. package/{directives → portals}/dropdown/dropdown.directive.d.ts +6 -8
  173. package/{directives → portals}/dropdown/index.d.ts +1 -4
  174. package/{directives → portals}/hint/hint-describe.directive.d.ts +4 -6
  175. package/{directives → portals}/hint/hint-host.directive.d.ts +2 -2
  176. package/{directives → portals}/hint/hint-hover.directive.d.ts +3 -4
  177. package/{directives → portals}/hint/hint-manual.directive.d.ts +2 -2
  178. package/{directives → portals}/hint/hint-options.directive.d.ts +3 -3
  179. package/{directives → portals}/hint/hint-overflow.directive.d.ts +2 -2
  180. package/{directives → portals}/hint/hint-position.directive.d.ts +4 -5
  181. package/{directives → portals}/hint/hint-unstyled.component.d.ts +2 -7
  182. package/portals/hint/hint.component.d.ts +29 -0
  183. package/portals/hint/hint.directive.d.ts +24 -0
  184. package/{directives → portals}/hint/index.d.ts +0 -2
  185. package/portals/index.d.ts +6 -0
  186. package/portals/modal/index.d.ts +2 -0
  187. package/portals/modal/modal.component.d.ts +17 -0
  188. package/portals/modal/modal.service.d.ts +13 -0
  189. package/portals/popup/popup.directive.d.ts +12 -0
  190. package/{directives → portals}/popup/popup.service.d.ts +1 -1
  191. package/{directives → portals}/popup/popups.component.d.ts +2 -2
  192. package/services/index.d.ts +0 -1
  193. package/styles/components/button.less +0 -2
  194. package/styles/components/icons.less +4 -4
  195. package/styles/components/link.less +1 -0
  196. package/styles/components/textfield.less +10 -7
  197. package/styles/mixins/appearance.less +1 -1
  198. package/styles/mixins/mixins.less +0 -6
  199. package/styles/mixins/mixins.scss +0 -6
  200. package/styles/mixins/slider.less +21 -16
  201. package/styles/mixins/slider.scss +1 -2
  202. package/styles/theme/variables.less +2 -4
  203. package/tokens/common-icons.d.ts +1 -3
  204. package/tokens/date-format.d.ts +2 -3
  205. package/tokens/i18n.d.ts +7 -7
  206. package/tokens/icon-resolver.d.ts +0 -4
  207. package/tokens/icons.d.ts +0 -4
  208. package/tokens/index.d.ts +1 -0
  209. package/tokens/number-format.d.ts +2 -3
  210. package/tokens/validation-errors.d.ts +4 -0
  211. package/types/index.d.ts +0 -3
  212. package/types/size.d.ts +0 -11
  213. package/utils/format/index.d.ts +0 -1
  214. package/utils/miscellaneous/get-duration.d.ts +2 -0
  215. package/utils/miscellaneous/index.d.ts +2 -1
  216. package/utils/miscellaneous/provide-taiga.d.ts +13 -0
  217. package/components/alert/alert.component.d.ts +0 -15
  218. package/components/alert/alert.directive.d.ts +0 -7
  219. package/components/alert/alert.interfaces.d.ts +0 -12
  220. package/components/alert/alert.service.d.ts +0 -7
  221. package/components/alert/alert.tokens.d.ts +0 -12
  222. package/components/alert/alerts.component.d.ts +0 -12
  223. package/components/alert/index.d.ts +0 -6
  224. package/components/data-list/data-list.directive.d.ts +0 -7
  225. package/components/data-list/option/option-content.d.ts +0 -16
  226. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  227. package/components/data-list/option/option.directive.d.ts +0 -27
  228. package/components/dialog/dialog.component.d.ts +0 -20
  229. package/components/dialog/dialog.directive.d.ts +0 -7
  230. package/components/dialog/dialog.interfaces.d.ts +0 -34
  231. package/components/dialog/dialog.service.d.ts +0 -7
  232. package/components/dialog/dialog.tokens.d.ts +0 -15
  233. package/components/dialog/dialogs.component.d.ts +0 -8
  234. package/components/dialog/index.d.ts +0 -8
  235. package/components/expand/expand-content.directive.d.ts +0 -8
  236. package/components/expand/expand.d.ts +0 -6
  237. package/components/fullscreen/fullscreen.component.d.ts +0 -14
  238. package/components/fullscreen/index.d.ts +0 -1
  239. package/components/textfield/select.directive.d.ts +0 -19
  240. package/components/textfield/textfield-dropdown.directive.d.ts +0 -16
  241. package/components/textfield/textfield.directive.d.ts +0 -38
  242. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  243. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  244. package/directives/dropdown/dropdown-portal.directive.d.ts +0 -14
  245. package/directives/dropdown/dropdown.service.d.ts +0 -6
  246. package/directives/dropdown/dropdowns.component.d.ts +0 -9
  247. package/directives/hint/hint.component.d.ts +0 -30
  248. package/directives/hint/hint.directive.d.ts +0 -26
  249. package/directives/hint/hint.service.d.ts +0 -13
  250. package/directives/hint/hints.component.d.ts +0 -12
  251. package/directives/popup/popup.directive.d.ts +0 -11
  252. package/directives/surface/index.d.ts +0 -1
  253. package/directives/surface/surface.directive.d.ts +0 -8
  254. package/fesm2022/taiga-ui-core-components-alert.mjs +0 -149
  255. package/fesm2022/taiga-ui-core-components-alert.mjs.map +0 -1
  256. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -195
  257. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  258. package/fesm2022/taiga-ui-core-components-fullscreen.mjs +0 -66
  259. package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +0 -1
  260. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  262. package/fesm2022/taiga-ui-core-directives-popup.mjs +0 -63
  263. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  264. package/fesm2022/taiga-ui-core-directives-surface.mjs +0 -50
  265. package/fesm2022/taiga-ui-core-directives-surface.mjs.map +0 -1
  266. package/fesm2022/taiga-ui-core-directives-title.mjs +0 -43
  267. package/fesm2022/taiga-ui-core-directives-title.mjs.map +0 -1
  268. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -25
  269. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  270. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -94
  271. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  272. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs +0 -29
  273. package/fesm2022/taiga-ui-core-pipes-fallback-src.mjs.map +0 -1
  274. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -32
  275. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  276. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -28
  277. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  278. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -29
  279. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  280. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  281. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  282. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -36
  283. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  284. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  285. package/pipes/auto-color/index.d.ts +0 -1
  286. package/pipes/calendar-sheet/index.d.ts +0 -1
  287. package/pipes/calendar-sheet/utils.d.ts +0 -20
  288. package/pipes/fallback-src/fallback-src.pipe.d.ts +0 -9
  289. package/pipes/fallback-src/index.d.ts +0 -1
  290. package/pipes/flag/flag.pipe.d.ts +0 -14
  291. package/pipes/flag/index.d.ts +0 -1
  292. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  293. package/pipes/format-date/index.d.ts +0 -1
  294. package/pipes/initials/index.d.ts +0 -1
  295. package/pipes/initials/initials.pipe.d.ts +0 -7
  296. package/pipes/month/index.d.ts +0 -1
  297. package/pipes/month/month.pipe.d.ts +0 -10
  298. package/pipes/order-week-days/index.d.ts +0 -1
  299. package/services/format-date.service.d.ts +0 -8
  300. package/types/portal-item.d.ts +0 -9
  301. package/types/range-state.d.ts +0 -4
  302. package/types/value-content-context.d.ts +0 -4
  303. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  304. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  305. /package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +0 -0
  306. /package/{directives → components}/title/index.d.ts +0 -0
  307. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  308. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  309. /package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -0
  310. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  311. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  312. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  313. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  314. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  315. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  316. /package/{directives → portals}/hint/hint.d.ts +0 -0
  317. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  318. /package/{directives → portals}/popup/index.d.ts +0 -0
@@ -1,14 +0,0 @@
1
- import { type OnDestroy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @deprecated use {@link TuiPopup} directive instead
5
- */
6
- export declare class TuiDropdownPortal implements OnDestroy {
7
- private readonly template;
8
- private readonly service;
9
- private viewRef?;
10
- set tuiDropdown(show: boolean);
11
- ngOnDestroy(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownPortal, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownPortal, "ng-template[tuiDropdown]", never, { "tuiDropdown": { "alias": "tuiDropdown"; "required": false; }; }, {}, never, never, true, never>;
14
- }
@@ -1,6 +0,0 @@
1
- import { TuiPortalService } from '@taiga-ui/cdk/classes';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiDropdownService extends TuiPortalService {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownService, never>;
5
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiDropdownService>;
6
- }
@@ -1,9 +0,0 @@
1
- import { TuiPortals } from '@taiga-ui/cdk/classes';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.
5
- */
6
- export declare class TuiDropdowns extends TuiPortals {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdowns, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiDropdowns, "tui-dropdowns", never, {}, {}, never, never, true, never>;
9
- }
@@ -1,30 +0,0 @@
1
- import { TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
2
- import { TuiRectAccessor } from '@taiga-ui/core/classes';
3
- import { TuiPositionService } from '@taiga-ui/core/services';
4
- import { TuiHintDirective } from './hint.directive';
5
- import { TuiHintPointer } from './hint-pointer.directive';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@taiga-ui/cdk/directives/animated";
8
- export declare const TUI_HINT_PROVIDERS: (import("@angular/core").FactoryProvider | typeof TuiHoveredService | typeof TuiPositionService)[];
9
- export declare class TuiHintBaseComponent<C = any> {
10
- private readonly el;
11
- private readonly hover;
12
- private readonly vvs;
13
- private readonly viewport;
14
- protected readonly pointer: TuiHintPointer | null;
15
- protected readonly accessor: TuiRectAccessor;
16
- protected readonly hint: TuiHintDirective<C>;
17
- protected readonly isMobile: boolean;
18
- protected readonly content: import("@angular/core").WritableSignal<import("@taiga-ui/polymorpheus").PolymorpheusContent<C>>;
19
- protected readonly appearance: string | null | undefined;
20
- constructor();
21
- protected onClick(target: HTMLElement): void;
22
- private apply;
23
- private update;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintBaseComponent<any>, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiHintBaseComponent<any>, "ng-component", never, {}, {}, never, never, true, never>;
26
- }
27
- export declare class TuiHintComponent<C = any> extends TuiHintBaseComponent<C> {
28
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintComponent<any>, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiHintComponent<any>, "tui-hint", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
30
- }
@@ -1,26 +0,0 @@
1
- import { EventEmitter, type OnDestroy } from '@angular/core';
2
- import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
3
- import { type TuiRectAccessor, type TuiVehicle } from '@taiga-ui/core/classes';
4
- import { type TuiPortalItem } from '@taiga-ui/core/types';
5
- import { PolymorpheusComponent, type PolymorpheusContent } from '@taiga-ui/polymorpheus';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./hint-driver.directive";
8
- import * as i2 from "./hint-hover.directive";
9
- import * as i3 from "./hint-position.directive";
10
- export declare class TuiHintDirective<C> implements OnDestroy, TuiPortalItem<C>, TuiRectAccessor, TuiVehicle {
11
- private readonly service;
12
- context?: C;
13
- appearance: string;
14
- readonly visible: EventEmitter<boolean>;
15
- content: import("@angular/core").WritableSignal<PolymorpheusContent<C>>;
16
- component: PolymorpheusComponent<any>;
17
- readonly el: HTMLElement;
18
- readonly activeZone?: TuiActiveZone | null | undefined;
19
- readonly type = "hint";
20
- set tuiHint(content: PolymorpheusContent<C>);
21
- ngOnDestroy(): void;
22
- getClientRect(): DOMRect;
23
- toggle(show: boolean): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintDirective<any>, never>;
25
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintDirective<any>, "[tuiHint]:not(ng-container):not(ng-template)", never, { "context": { "alias": "tuiHintContext"; "required": false; }; "appearance": { "alias": "tuiHintAppearance"; "required": false; }; "tuiHint": { "alias": "tuiHint"; "required": false; }; }, { "visible": "tuiHintVisible"; }, never, never, true, [{ directive: typeof i1.TuiHintDriver; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiHintHover; inputs: { "tuiHintHideDelay": "tuiHintHideDelay"; "tuiHintShowDelay": "tuiHintShowDelay"; }; outputs: {}; }, { directive: typeof i3.TuiHintPosition; inputs: { "tuiHintDirection": "tuiHintDirection"; }; outputs: { "tuiHintDirectionChange": "tuiHintDirectionChange"; }; }]>;
26
- }
@@ -1,13 +0,0 @@
1
- import { type TuiPortalItem } from '@taiga-ui/core/types';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Service for displaying hints/tooltips
6
- */
7
- export declare class TuiHintService extends BehaviorSubject<readonly TuiPortalItem[]> {
8
- constructor();
9
- add(directive: TuiPortalItem): void;
10
- remove(directive: TuiPortalItem): void;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiHintService>;
13
- }
@@ -1,12 +0,0 @@
1
- import { type OnInit } from '@angular/core';
2
- import { type TuiPortalItem } from '@taiga-ui/core/types';
3
- import * as i0 from "@angular/core";
4
- export declare class TuiHints implements OnInit {
5
- private readonly hints$;
6
- private readonly destroyRef;
7
- private readonly cdr;
8
- protected hints: readonly TuiPortalItem[];
9
- ngOnInit(): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiHints, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiHints, "tui-hints", never, {}, {}, never, never, true, never>;
12
- }
@@ -1,11 +0,0 @@
1
- import { type OnDestroy } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiPopup implements OnDestroy {
4
- private readonly template;
5
- private readonly service;
6
- private viewRef?;
7
- set tuiPopup(show: boolean);
8
- ngOnDestroy(): void;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiPopup, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPopup, "ng-template[tuiPopup]", never, { "tuiPopup": { "alias": "tuiPopup"; "required": false; }; }, {}, never, never, true, never>;
11
- }
@@ -1 +0,0 @@
1
- export * from './surface.directive';
@@ -1,8 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@taiga-ui/core/directives/appearance";
3
- export declare class TuiSurface {
4
- protected readonly nothing: undefined;
5
- tuiSurface: string;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSurface, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSurface, "[tuiSurface]", never, { "tuiSurface": { "alias": "tuiSurface"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiAppearance; inputs: { "tuiAppearance": "tuiSurface"; }; outputs: {}; }]>;
8
- }
@@ -1,149 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ChangeDetectionStrategy, Component, Injectable, Directive, INJECTOR, Injector, ViewEncapsulation } from '@angular/core';
3
- import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import * as i1 from '@taiga-ui/cdk/directives/animated';
5
- import { TuiAnimated, TuiAnimatedParent } from '@taiga-ui/cdk/directives/animated';
6
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
7
- import { TuiButton } from '@taiga-ui/core/components/button';
8
- import { TUI_NOTIFICATION_OPTIONS, TuiNotification } from '@taiga-ui/core/components/notification';
9
- import { TuiTitle } from '@taiga-ui/core/directives/title';
10
- import { TUI_COMMON_ICONS, TUI_CLOSE_WORD } from '@taiga-ui/core/tokens';
11
- import { injectContext, PolymorpheusOutlet, POLYMORPHEUS_CONTEXT } from '@taiga-ui/polymorpheus';
12
- import { BehaviorSubject, combineLatest, of, map, switchMap, timer, EMPTY, takeUntil, fromEvent, repeat, identity } from 'rxjs';
13
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
14
- import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
15
- import { TuiPopoverService, tuiAsPopover } from '@taiga-ui/cdk/services';
16
- import { AsyncPipe, NgComponentOutlet } from '@angular/common';
17
- import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
18
-
19
- const TUI_ALERT_DEFAULT_OPTIONS = {
20
- autoClose: 3000,
21
- label: '',
22
- closeable: true,
23
- data: undefined,
24
- };
25
- const TUI_ALERT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_ALERT_OPTIONS' : '', {
26
- factory: () => ({
27
- ...TUI_ALERT_DEFAULT_OPTIONS,
28
- ...inject(TUI_NOTIFICATION_OPTIONS),
29
- }),
30
- });
31
- const TUI_ALERT_POSITION = new InjectionToken(ngDevMode ? 'TUI_ALERT_POSITION' : '', {
32
- factory: () => (inject(TUI_IS_MOBILE) ? '1rem 1rem 0 auto' : '2rem 3rem 0 auto'),
33
- });
34
- const TUI_ALERTS = new InjectionToken(ngDevMode ? 'TUI_ALERTS' : '', {
35
- factory: () => new BehaviorSubject([]),
36
- });
37
- /**
38
- * Grouping alerts by their component
39
- */
40
- const TUI_ALERTS_GROUPED = new InjectionToken(ngDevMode ? 'TUI_ALERTS_GROUPED' : '', {
41
- factory: () => combineLatest([
42
- of(new Map()),
43
- inject(TUI_ALERTS),
44
- ]).pipe(map(([map, alerts]) => {
45
- map.forEach((_, key) => map.set(key, []));
46
- alerts.forEach((alert) => {
47
- const key = alert.component.component;
48
- const value = map.get(key) || [];
49
- map.set(key, [...value, alert]);
50
- });
51
- return Array.from(map.values());
52
- })),
53
- });
54
- function tuiAlertOptionsProvider(options) {
55
- return {
56
- provide: TUI_ALERT_OPTIONS,
57
- useFactory: () => ({
58
- ...TUI_ALERT_DEFAULT_OPTIONS,
59
- ...(inject(TUI_ALERT_OPTIONS, { optional: true, skipSelf: true }) ||
60
- inject(TUI_NOTIFICATION_OPTIONS)),
61
- ...options,
62
- }),
63
- };
64
- }
65
-
66
- class TuiAlertComponent {
67
- constructor() {
68
- this.el = tuiInjectElement();
69
- this.icons = inject(TUI_COMMON_ICONS);
70
- this.close = toSignal(inject(TUI_CLOSE_WORD));
71
- this.position = inject(TUI_ALERT_POSITION);
72
- this.item = injectContext();
73
- this.sub = of(typeof this.item.autoClose === 'function'
74
- ? this.item.autoClose(this.item.appearance)
75
- : this.item.autoClose)
76
- .pipe(switchMap((autoClose) => (autoClose ? timer(autoClose) : EMPTY)), takeUntil(fromEvent(this.el, 'mouseenter')), repeat({ delay: () => fromEvent(this.el, 'mouseleave') }), takeUntilDestroyed())
77
- .subscribe(() => this.item.$implicit.complete());
78
- }
79
- get from() {
80
- return this.position.endsWith('auto') ? 'translateX(100%)' : 'translateX(-100%)';
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiAlertComponent, isStandalone: true, selector: "tui-alert", host: { attributes: { "role": "alert" }, properties: { "style.margin": "position", "style.--tui-from": "from" } }, hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\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.closeable) {\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{display:grid;inline-size:18rem;flex-shrink:0;word-break:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}:host:not(:first-child){margin-block-start:0!important}:host:not(:last-child){margin-block-end:0!important}.t-wrapper{transition-property:margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;margin-block-end:.75rem;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host.tui-leave .t-wrapper{margin:0}.t-closeable{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: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertComponent, decorators: [{
86
- type: Component,
87
- args: [{ selector: 'tui-alert', imports: [PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiAnimated], host: {
88
- role: 'alert',
89
- '[style.margin]': 'position',
90
- '[style.--tui-from]': 'from',
91
- }, template: "<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\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.closeable) {\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{display:grid;inline-size:18rem;flex-shrink:0;word-break:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide,tuiCollapse}:host:not(:first-child){margin-block-start:0!important}:host:not(:last-child){margin-block-end:0!important}.t-wrapper{transition-property:margin;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;margin-block-end:.75rem;background:var(--tui-background-base);border-radius:var(--tui-radius-m);box-shadow:var(--tui-shadow-medium)}:host.tui-leave .t-wrapper{margin:0}.t-closeable{padding-inline-end:2.5rem}\n"] }]
92
- }] });
93
-
94
- class TuiAlertService extends TuiPopoverService {
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
96
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService, providedIn: 'root', useFactory: () => new TuiAlertService(TUI_ALERTS, TuiAlertComponent, inject(TUI_ALERT_OPTIONS)) }); }
97
- }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlertService, decorators: [{
99
- type: Injectable,
100
- args: [{
101
- providedIn: 'root',
102
- useFactory: () => new TuiAlertService(TUI_ALERTS, TuiAlertComponent, inject(TUI_ALERT_OPTIONS)),
103
- }]
104
- }] });
105
-
106
- class TuiAlert extends TuiPopoverDirective {
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlert, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
108
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAlert, isStandalone: true, selector: "ng-template[tuiAlert]", inputs: { options: ["tuiAlertOptions", "options"], open: ["tuiAlert", "open"] }, outputs: { openChange: "tuiAlertChange" }, providers: [tuiAsPopover(TuiAlertService)], usesInheritance: true, ngImport: i0 }); }
109
- }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlert, decorators: [{
111
- type: Directive,
112
- args: [{
113
- standalone: true,
114
- selector: 'ng-template[tuiAlert]',
115
- inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],
116
- outputs: ['openChange: tuiAlertChange'],
117
- providers: [tuiAsPopover(TuiAlertService)],
118
- }]
119
- }] });
120
-
121
- class TuiAlerts {
122
- constructor() {
123
- this.injector = inject(INJECTOR);
124
- this.alerts$ = inject(TUI_ALERTS_GROUPED);
125
- this.trackBy = identity;
126
- this.mapper = (useValue) => Injector.create({
127
- providers: [
128
- {
129
- provide: POLYMORPHEUS_CONTEXT,
130
- useValue,
131
- },
132
- ],
133
- parent: this.injector,
134
- });
135
- }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlerts, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiAlerts, isStandalone: true, selector: "tui-alerts", ngImport: i0, template: "@for (group of alerts$ | async; track trackBy(group)) {\n <div\n tuiAnimatedParent\n class=\"t-wrapper\"\n >\n @for (item of group; track item) {\n <ng-container\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n }\n </div>\n}\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
138
- }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAlerts, decorators: [{
140
- type: Component,
141
- args: [{ selector: 'tui-alerts', imports: [AsyncPipe, NgComponentOutlet, TuiAnimatedParent, TuiMapperPipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "@for (group of alerts$ | async; track trackBy(group)) {\n <div\n tuiAnimatedParent\n class=\"t-wrapper\"\n >\n @for (item of group; track item) {\n <ng-container\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n }\n </div>\n}\n", styles: ["tui-alerts>.t-wrapper{position:fixed;top:0;left:0;inline-size:100%;display:flex;flex-direction:column;pointer-events:none;box-sizing:border-box;block-size:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}tui-alerts>.t-wrapper>*{pointer-events:auto}\n"] }]
142
- }] });
143
-
144
- /**
145
- * Generated bundle index. Do not edit.
146
- */
147
-
148
- export { TUI_ALERTS, TUI_ALERTS_GROUPED, TUI_ALERT_DEFAULT_OPTIONS, TUI_ALERT_OPTIONS, TUI_ALERT_POSITION, TuiAlert, TuiAlertComponent, TuiAlertService, TuiAlerts, tuiAlertOptionsProvider };
149
- //# sourceMappingURL=taiga-ui-core-components-alert.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-core-components-alert.mjs","sources":["../../../projects/core/components/alert/alert.tokens.ts","../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alerts.component.ts","../../../projects/core/components/alert/alerts.template.html","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken, type Type} from '@angular/core';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/components/notification';\nimport {BehaviorSubject, combineLatest, map, of} from 'rxjs';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\n\nexport const TUI_ALERT_DEFAULT_OPTIONS: Omit<TuiAlertOptions, 'appearance' | 'icon'> = {\n autoClose: 3000,\n label: '',\n closeable: true,\n data: undefined,\n};\n\nexport const TUI_ALERT_OPTIONS = new InjectionToken<TuiAlertOptions>(\n ngDevMode ? 'TUI_ALERT_OPTIONS' : '',\n {\n factory: () => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...inject(TUI_NOTIFICATION_OPTIONS),\n }),\n },\n);\n\nexport const TUI_ALERT_POSITION = new InjectionToken<string>(\n ngDevMode ? 'TUI_ALERT_POSITION' : '',\n {\n factory: () => (inject(TUI_IS_MOBILE) ? '1rem 1rem 0 auto' : '2rem 3rem 0 auto'),\n },\n);\n\nexport const TUI_ALERTS = new InjectionToken(ngDevMode ? 'TUI_ALERTS' : '', {\n factory: () => new BehaviorSubject<ReadonlyArray<TuiPopover<any, any>>>([]),\n});\n\n/**\n * Grouping alerts by their component\n */\nexport const TUI_ALERTS_GROUPED = new InjectionToken(\n ngDevMode ? 'TUI_ALERTS_GROUPED' : '',\n {\n factory: () =>\n combineLatest([\n of(new Map<Type<any>, ReadonlyArray<TuiPopover<any, any>>>()),\n inject(TUI_ALERTS),\n ]).pipe(\n map(([map, alerts]) => {\n map.forEach((_, key) => map.set(key, []));\n\n alerts.forEach((alert) => {\n const key = alert.component.component;\n const value = map.get(key) || [];\n\n map.set(key, [...value, alert]);\n });\n\n return Array.from(map.values());\n }),\n ),\n },\n);\n\nexport function tuiAlertOptionsProvider(\n options: Partial<TuiAlertOptions>,\n): FactoryProvider {\n return {\n provide: TUI_ALERT_OPTIONS,\n useFactory: (): TuiAlertOptions => ({\n ...TUI_ALERT_DEFAULT_OPTIONS,\n ...(inject(TUI_ALERT_OPTIONS, {optional: true, skipSelf: true}) ||\n inject(TUI_NOTIFICATION_OPTIONS)),\n ...options,\n }),\n };\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiNotification} from '@taiga-ui/core/components/notification';\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 {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_POSITION} from './alert.tokens';\n\n@Component({\n selector: 'tui-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiNotification, TuiTitle],\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated],\n host: {\n role: 'alert',\n '[style.margin]': 'position',\n '[style.--tui-from]': 'from',\n },\n})\nexport class TuiAlertComponent<O, I> {\n private readonly el = tuiInjectElement();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly close = toSignal(inject(TUI_CLOSE_WORD));\n protected readonly position = inject(TUI_ALERT_POSITION);\n protected readonly item = injectContext<TuiPopover<TuiAlertOptions<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 public get from(): string {\n return this.position.endsWith('auto') ? 'translateX(100%)' : 'translateX(-100%)';\n }\n}\n","<div class=\"t-wrapper\">\n <tui-notification\n size=\"m\"\n [appearance]=\"item.appearance\"\n [class.t-closeable]=\"item.closeable\"\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.closeable) {\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 {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TUI_ALERT_OPTIONS, TUI_ALERTS} from './alert.tokens';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiAlertService(TUI_ALERTS, TuiAlertComponent, inject(TUI_ALERT_OPTIONS)),\n})\nexport class TuiAlertService extends TuiPopoverService<TuiAlertOptions<any>> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiAlertOptions} from './alert.interfaces';\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiAlert]',\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n providers: [tuiAsPopover(TuiAlertService)],\n})\nexport class TuiAlert<T> extends TuiPopoverDirective<TuiAlertOptions<T>> {}\n","import {AsyncPipe, NgComponentOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n INJECTOR,\n Injector,\n type Type,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiAnimatedParent} from '@taiga-ui/cdk/directives/animated';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiMapper} from '@taiga-ui/cdk/types';\n// eslint-disable-next-line no-restricted-imports\nimport {POLYMORPHEUS_CONTEXT} from '@taiga-ui/polymorpheus';\nimport {identity} from 'rxjs';\n\nimport {TUI_ALERTS_GROUPED} from './alert.tokens';\n\n@Component({\n selector: 'tui-alerts',\n imports: [AsyncPipe, NgComponentOutlet, TuiAnimatedParent, TuiMapperPipe],\n templateUrl: './alerts.template.html',\n styleUrls: ['./alerts.style.less'],\n encapsulation: ViewEncapsulation.None,\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiAlerts {\n private readonly injector = inject(INJECTOR);\n\n protected readonly alerts$ = inject(TUI_ALERTS_GROUPED);\n protected readonly trackBy = identity;\n protected readonly mapper: TuiMapper<[Type<any>], Injector> = (useValue) =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","@for (group of alerts$ | async; track trackBy(group)) {\n <div\n tuiAnimatedParent\n class=\"t-wrapper\"\n >\n @for (item of group; track item) {\n <ng-container\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper: mapper\"\n />\n }\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAQa,MAAA,yBAAyB,GAAiD;AACnF,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,SAAS,EAAE,IAAI;AACf,IAAA,IAAI,EAAE,SAAS;;AAGN,MAAA,iBAAiB,GAAG,IAAI,cAAc,CAC/C,SAAS,GAAG,mBAAmB,GAAG,EAAE,EACpC;AACI,IAAA,OAAO,EAAE,OAAO;AACZ,QAAA,GAAG,yBAAyB;QAC5B,GAAG,MAAM,CAAC,wBAAwB,CAAC;KACtC,CAAC;AACL,CAAA;AAGQ,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAChD,SAAS,GAAG,oBAAoB,GAAG,EAAE,EACrC;AACI,IAAA,OAAO,EAAE,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AACnF,CAAA;AAGQ,MAAA,UAAU,GAAG,IAAI,cAAc,CAAC,SAAS,GAAG,YAAY,GAAG,EAAE,EAAE;IACxE,OAAO,EAAE,MAAM,IAAI,eAAe,CAAsC,EAAE,CAAC;AAC9E,CAAA;AAED;;AAEG;AACU,MAAA,kBAAkB,GAAG,IAAI,cAAc,CAChD,SAAS,GAAG,oBAAoB,GAAG,EAAE,EACrC;AACI,IAAA,OAAO,EAAE,MACL,aAAa,CAAC;AACV,QAAA,EAAE,CAAC,IAAI,GAAG,EAAkD,CAAC;QAC7D,MAAM,CAAC,UAAU,CAAC;AACrB,KAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAI;AAClB,QAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAEzC,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACrB,YAAA,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;AAEhC,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC;AACnC,SAAC,CAAC;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;AACnC,KAAC,CAAC,CACL;AACR,CAAA;AAGC,SAAU,uBAAuB,CACnC,OAAiC,EAAA;IAEjC,OAAO;AACH,QAAA,OAAO,EAAE,iBAAiB;AAC1B,QAAA,UAAU,EAAE,OAAwB;AAChC,YAAA,GAAG,yBAAyB;AAC5B,YAAA,IAAI,MAAM,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;gBAC3D,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACrC,YAAA,GAAG,OAAO;SACb,CAAC;KACL;AACL;;MC/Ca,iBAAiB,CAAA;AAb9B,IAAA,WAAA,GAAA;QAcqB,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAE;AAErB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChC,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACxC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACrC,IAAI,CAAA,IAAA,GAAG,aAAa,EAAqC;QAEzD,IAAG,CAAA,GAAA,GAAG,EAAE,CACvB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK;AAC3B,cAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;AAC1C,cAAE,IAAI,CAAC,IAAI,CAAC,SAAS;aAExB,IAAI,CACD,SAAS,CAAC,CAAC,SAAS,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,EAChE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,EAC3C,MAAM,CAAC,EAAC,KAAK,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAC,CAAC,EACvD,kBAAkB,EAAE;AAEvB,aAAA,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;AAKvD;AAHG,IAAA,IAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,kBAAkB,GAAG,mBAAmB;;+GAtB3E,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5B9B,26BA8BA,EDbc,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,8HAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,6DAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAWzD,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,WACZ,CAAC,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAA,eAAA,EAGlD,uBAAuB,CAAC,MAAM,kBAC/B,CAAC,WAAW,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,gBAAgB,EAAE,UAAU;AAC5B,wBAAA,oBAAoB,EAAE,MAAM;AAC/B,qBAAA,EAAA,QAAA,EAAA,26BAAA,EAAA,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA;;;AEdC,MAAO,eAAgB,SAAQ,iBAAuC,CAAA;+GAA/D,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAJZ,MAAM,EAAA,UAAA,EACN,MACR,IAAI,eAAe,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAA,CAAA,CAAA;;4FAExE,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,UAAU,EAAE,MACR,IAAoB,eAAA,CAAA,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACpF,iBAAA;;;ACGK,MAAO,QAAY,SAAQ,mBAAuC,CAAA;+GAA3D,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,gMAFN,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEjC,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAPpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,MAAM,EAAE,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;oBACtD,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACvC,oBAAA,SAAS,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;AAC7C,iBAAA;;;MCgBY,SAAS,CAAA;AAVtB,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpC,IAAO,CAAA,OAAA,GAAG,QAAQ;QAClB,IAAM,CAAA,MAAA,GAAqC,CAAC,QAAQ,KACnE,QAAQ,CAAC,MAAM,CAAC;AACZ,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,oBAAoB;oBAC7B,QAAQ;AACX,iBAAA;AACJ,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC;AACT;+GAfY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC7BtB,iYAaA,EDQc,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,8CAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,kCAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAQ/D,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,CAAC,iBAG1D,iBAAiB,CAAC,IAAI,EAGpB,eAAA,EAAA,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,iYAAA,EAAA,MAAA,EAAA,CAAA,+QAAA,CAAA,EAAA;;;AE3BpD;;AAEG;;;;"}
@@ -1,195 +0,0 @@
1
- import { DOCUMENT, AsyncPipe } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, Injectable, computed, ChangeDetectionStrategy, Component, Directive, assertInInjectionContext, INJECTOR } from '@angular/core';
4
- import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
6
- import * as i1 from '@taiga-ui/cdk/directives/animated';
7
- import { TuiAnimated, TuiAnimatedParent } from '@taiga-ui/cdk/directives/animated';
8
- import { TuiAutoFocus } from '@taiga-ui/cdk/directives/auto-focus';
9
- import { TuiButton } from '@taiga-ui/core/components/button';
10
- import { TuiBreakpointService } from '@taiga-ui/core/services';
11
- import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
12
- import { injectContext, PolymorpheusOutlet, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
13
- import { BehaviorSubject, EMPTY, Observable, merge, filter, switchMap, take, map, of, isObservable, Subject, exhaustMap } from 'rxjs';
14
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
15
- import { WA_WINDOW } from '@ng-web-apis/common';
16
- import { tuiCloseWatcher, tuiZonefull, tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
17
- import { tuiInjectElement, tuiGetActualTarget, tuiIsElement, tuiContainsOrAfter } from '@taiga-ui/cdk/utils/dom';
18
- import { tuiGetViewportWidth } from '@taiga-ui/core/utils';
19
- import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
20
- import { TuiPopoverService, tuiAsPopover } from '@taiga-ui/cdk/services';
21
- import { TuiFocusTrap } from '@taiga-ui/cdk/directives/focus-trap';
22
- import { TuiScrollControls, TuiScrollRef } from '@taiga-ui/core/components/scrollbar';
23
-
24
- const TUI_DIALOGS = new InjectionToken(ngDevMode ? 'TUI_DIALOGS' : '', {
25
- factory: () => new BehaviorSubject([]),
26
- });
27
- const TUI_DIALOG_DEFAULT_OPTIONS = {
28
- appearance: '',
29
- size: 'm',
30
- required: false,
31
- closeable: true,
32
- dismissible: true,
33
- label: '',
34
- header: '',
35
- data: undefined,
36
- };
37
- /**
38
- * A stream to close dialogs
39
- * TODO: use router.events in v5
40
- */
41
- const TUI_DIALOGS_CLOSE = new InjectionToken(ngDevMode ? 'TUI_DIALOGS_CLOSE' : '', {
42
- factory: () => EMPTY,
43
- });
44
- /**
45
- * Default parameters for dialog component
46
- */
47
- const TUI_DIALOG_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_DIALOG_OPTIONS' : '', {
48
- factory: () => TUI_DIALOG_DEFAULT_OPTIONS,
49
- });
50
- function tuiDialogOptionsProvider(options) {
51
- return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, TUI_DIALOG_DEFAULT_OPTIONS);
52
- }
53
-
54
- const SCROLLBAR_PLACEHOLDER = 17;
55
- class TuiDialogCloseService extends Observable {
56
- constructor() {
57
- super((subscriber) => merge(this.esc$, this.mousedown$, tuiCloseWatcher().pipe(tuiZonefull())).subscribe(subscriber));
58
- this.win = inject(WA_WINDOW);
59
- this.doc = inject(DOCUMENT);
60
- this.el = tuiInjectElement();
61
- this.esc$ = tuiTypedFromEvent(this.doc, 'keydown').pipe(filter((event) => {
62
- const target = tuiGetActualTarget(event);
63
- return (
64
- // @ts-ignore
65
- typeof CloseWatcher === 'undefined' &&
66
- event.key?.toLowerCase() === 'escape' &&
67
- !event.defaultPrevented &&
68
- (this.el.contains(target) || this.isOutside(target)));
69
- }));
70
- this.mousedown$ = tuiTypedFromEvent(this.doc, 'mousedown').pipe(filter((event) => tuiGetViewportWidth(this.win) - event.clientX > SCROLLBAR_PLACEHOLDER &&
71
- this.isOutside(tuiGetActualTarget(event))), switchMap(() => tuiTypedFromEvent(this.doc, 'mouseup').pipe(take(1), map(tuiGetActualTarget), filter((target) => this.isOutside(target)))));
72
- }
73
- isOutside(target) {
74
- return (tuiIsElement(target) &&
75
- (!tuiContainsOrAfter(this.el, target) ||
76
- // TODO: Drop 'new' attribute in v5
77
- (target === this.el && !this.el.hasAttribute('new'))));
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogCloseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
80
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogCloseService }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogCloseService, decorators: [{
83
- type: Injectable
84
- }], ctorParameters: () => [] });
85
-
86
- const REQUIRED_ERROR = new Error('Required dialog was dismissed');
87
- function toObservable(valueOrStream) {
88
- return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
89
- }
90
- class TuiDialogComponent {
91
- constructor() {
92
- this.close$ = new Subject();
93
- this.context = injectContext();
94
- this.closeWord$ = inject(TUI_CLOSE_WORD);
95
- this.icons = inject(TUI_COMMON_ICONS);
96
- this.from = computed(() => this.size === 'fullscreen' || this.size === 'page' || this.isMobile()
97
- ? 'translateY(100vh)'
98
- : 'translateY(2.5rem)');
99
- this.isMobile = toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')));
100
- merge(this.close$.pipe(switchMap(() => toObservable(this.context.closeable))), inject(TuiDialogCloseService).pipe(exhaustMap(() => toObservable(this.context.dismissible).pipe(take(1)))), inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)))
101
- .pipe(filter(Boolean), takeUntilDestroyed())
102
- .subscribe(() => {
103
- this.close();
104
- });
105
- }
106
- get size() {
107
- return this.context.size;
108
- }
109
- get header() {
110
- return this.context.header;
111
- }
112
- close() {
113
- if (this.context.required) {
114
- this.context.$implicit.error(REQUIRED_ERROR);
115
- }
116
- else {
117
- this.context.$implicit.complete();
118
- }
119
- }
120
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
121
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDialogComponent, isStandalone: true, selector: "tui-dialog", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "size", "class._centered": "header", "style.--tui-from": "from()" } }, providers: [TuiDialogCloseService], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closeable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closeable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closeable === Observable<false>` by design -->\n@if (context.closeable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord$ | async }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1.5rem;border:2.5rem solid transparent}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:42.5rem}:host[data-size=l]{inline-size:55rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, decorators: [{
124
- type: Component,
125
- args: [{ selector: 'tui-dialog', imports: [AsyncPipe, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.Default, providers: [TuiDialogCloseService], hostDirectives: [TuiAnimated], host: {
126
- '[attr.data-appearance]': 'context.appearance',
127
- '[attr.data-size]': 'size',
128
- '[class._centered]': 'header',
129
- '[style.--tui-from]': 'from()',
130
- }, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closeable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closeable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closeable === Observable<false>` by design -->\n@if (context.closeable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord$ | async }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1.5rem;border:2.5rem solid transparent}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:30rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:42.5rem}:host[data-size=l]{inline-size:55rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"] }]
131
- }], ctorParameters: () => [] });
132
-
133
- class TuiDialogService extends TuiPopoverService {
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
135
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, providedIn: 'root', useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)) }); }
136
- }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogService, decorators: [{
138
- type: Injectable,
139
- args: [{
140
- providedIn: 'root',
141
- useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)),
142
- }]
143
- }] });
144
-
145
- class TuiDialog extends TuiPopoverDirective {
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialog, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
147
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiDialog, isStandalone: true, selector: "ng-template[tuiDialog]", inputs: { options: ["tuiDialogOptions", "options"], open: ["tuiDialog", "open"] }, outputs: { openChange: "tuiDialogChange" }, providers: [tuiAsPopover(TuiDialogService)], usesInheritance: true, ngImport: i0 }); }
148
- }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialog, decorators: [{
150
- type: Directive,
151
- args: [{
152
- standalone: true,
153
- selector: 'ng-template[tuiDialog]',
154
- inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],
155
- outputs: ['openChange: tuiDialogChange'],
156
- providers: [tuiAsPopover(TuiDialogService)],
157
- }]
158
- }] });
159
-
160
- function tuiDialog(component, { injector, ...options } = {}) {
161
- if (!injector) {
162
- assertInInjectionContext(tuiDialog);
163
- injector = inject(INJECTOR);
164
- }
165
- const dialogService = injector.get(TuiDialogService);
166
- return (data) => dialogService.open(new PolymorpheusComponent(component, injector), {
167
- ...options,
168
- data,
169
- });
170
- }
171
-
172
- class TuiDialogs {
173
- constructor() {
174
- this.dialogs = toSignal(inject(TUI_DIALOGS), { initialValue: [] });
175
- }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogs, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDialogs, isStandalone: true, selector: "tui-dialogs", ngImport: i0, template: "<div\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs().length\"\n></div>\n<!--TODO: Rename to <article> in v5-->\n@for (item of dialogs(); track item) {\n <section\n aria-modal=\"true\"\n role=\"dialog\"\n tuiAnimatedParent\n tuiFocusTrap\n tuiScrollRef\n class=\"t-dialog\"\n [attr.aria-labelledby]=\"item.id\"\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n <tui-scroll-controls class=\"t-scrollbars\" />\n </section>\n}\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;scrollbar-width:none;-ms-overflow-style:none;pointer-events:none;overflow:hidden;overscroll-behavior:none;overflow-wrap:break-word;margin-block-start:var(--t-root-top)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:has(section){pointer-events:auto;overflow:auto}:host:has(section:only-of-type ::ng-deep tui-dialog[new][data-appearance~=fullscreen])>.t-overlay,:host:has(section:only-of-type ::ng-deep tui-notification-middle)>.t-overlay{opacity:0}:host:before{content:\"\";display:block;block-size:200%}.t-overlay,.t-dialog{transition-property:filter;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;bottom:0;right:0;display:flex;block-size:100%;align-items:flex-start;outline:none;overflow:auto}.t-overlay::-webkit-scrollbar,.t-dialog::-webkit-scrollbar,.t-overlay::-webkit-scrollbar-thumb,.t-dialog::-webkit-scrollbar-thumb{display:none}.t-dialog{position:sticky;overscroll-behavior:none;filter:brightness(.25)}.t-dialog:has(tui-dialog[new]){display:grid;place-items:center}.t-dialog ::ng-deep>.tui-enter+.t-scrollbars .t-bar_vertical,.t-dialog ::ng-deep>.tui-leave+.t-scrollbars .t-bar_vertical{display:none}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-service-backdrop);-webkit-backdrop-filter:var(--tui-backdrop, none);backdrop-filter:var(--tui-backdrop, none);opacity:0;transition-timing-function:ease-in}.t-overlay_visible{opacity:1;transition-timing-function:ease-out}.t-dialog:last-child{pointer-events:auto;filter:none}:host-context(tui-root:has(tui-dropdown-mobile._sheet)) .t-dialog:last-child{filter:brightness(.5)}.t-scrollbars{position:fixed;top:0;left:0;bottom:0;right:0;margin:0;color:#747474}.t-scrollbars ::ng-deep .t-bar_horizontal,.t-scrollbars ::ng-deep .t-bar_vertical .t-thumb[style*=\"height: 100%\"]{display:none}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "directive", type: TuiFocusTrap, selector: "[tuiFocusTrap]" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }, { kind: "directive", type: TuiScrollRef, selector: "[tuiScrollRef]" }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
178
- }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogs, decorators: [{
180
- type: Component,
181
- args: [{ selector: 'tui-dialogs', imports: [
182
- PolymorpheusOutlet,
183
- TuiAnimatedParent,
184
- TuiFocusTrap,
185
- TuiScrollControls,
186
- TuiScrollRef,
187
- ], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs().length\"\n></div>\n<!--TODO: Rename to <article> in v5-->\n@for (item of dialogs(); track item) {\n <section\n aria-modal=\"true\"\n role=\"dialog\"\n tuiAnimatedParent\n tuiFocusTrap\n tuiScrollRef\n class=\"t-dialog\"\n [attr.aria-labelledby]=\"item.id\"\n >\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n <tui-scroll-controls class=\"t-scrollbars\" />\n </section>\n}\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;scrollbar-width:none;-ms-overflow-style:none;pointer-events:none;overflow:hidden;overscroll-behavior:none;overflow-wrap:break-word;margin-block-start:var(--t-root-top)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:has(section){pointer-events:auto;overflow:auto}:host:has(section:only-of-type ::ng-deep tui-dialog[new][data-appearance~=fullscreen])>.t-overlay,:host:has(section:only-of-type ::ng-deep tui-notification-middle)>.t-overlay{opacity:0}:host:before{content:\"\";display:block;block-size:200%}.t-overlay,.t-dialog{transition-property:filter;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;bottom:0;right:0;display:flex;block-size:100%;align-items:flex-start;outline:none;overflow:auto}.t-overlay::-webkit-scrollbar,.t-dialog::-webkit-scrollbar,.t-overlay::-webkit-scrollbar-thumb,.t-dialog::-webkit-scrollbar-thumb{display:none}.t-dialog{position:sticky;overscroll-behavior:none;filter:brightness(.25)}.t-dialog:has(tui-dialog[new]){display:grid;place-items:center}.t-dialog ::ng-deep>.tui-enter+.t-scrollbars .t-bar_vertical,.t-dialog ::ng-deep>.tui-leave+.t-scrollbars .t-bar_vertical{display:none}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-service-backdrop);-webkit-backdrop-filter:var(--tui-backdrop, none);backdrop-filter:var(--tui-backdrop, none);opacity:0;transition-timing-function:ease-in}.t-overlay_visible{opacity:1;transition-timing-function:ease-out}.t-dialog:last-child{pointer-events:auto;filter:none}:host-context(tui-root:has(tui-dropdown-mobile._sheet)) .t-dialog:last-child{filter:brightness(.5)}.t-scrollbars{position:fixed;top:0;left:0;bottom:0;right:0;margin:0;color:#747474}.t-scrollbars ::ng-deep .t-bar_horizontal,.t-scrollbars ::ng-deep .t-bar_vertical .t-thumb[style*=\"height: 100%\"]{display:none}\n"] }]
188
- }] });
189
-
190
- /**
191
- * Generated bundle index. Do not edit.
192
- */
193
-
194
- export { TUI_DIALOGS, TUI_DIALOGS_CLOSE, TUI_DIALOG_DEFAULT_OPTIONS, TUI_DIALOG_OPTIONS, TuiDialog, TuiDialogCloseService, TuiDialogComponent, TuiDialogService, TuiDialogs, tuiDialog, tuiDialogOptionsProvider };
195
- //# sourceMappingURL=taiga-ui-core-components-dialog.mjs.map