@taiga-ui/core 2.34.0 → 2.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/abstract/abstract-dropdown.d.ts +3 -3
  2. package/abstract/abstract-hint.d.ts +1 -1
  3. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-button.umd.js +3 -3
  7. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-dialog.umd.js +2 -19
  11. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-dialog.umd.min.js +2 -2
  13. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +7 -10
  15. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +2 -2
  17. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-group.umd.js +23 -4
  21. package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-components-group.umd.min.js +2 -2
  23. package/bundles/taiga-ui-core-components-group.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -4
  25. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  27. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-loader.umd.js +27 -7
  29. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  31. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +2 -6
  35. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +2 -2
  37. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +4 -5
  39. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +2 -2
  43. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  44. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  45. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-root.umd.js +16 -10
  47. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-root.umd.min.js +2 -2
  49. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  51. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  52. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +2 -2
  53. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  55. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  57. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-directives-described-by.umd.js +4 -4
  59. package/bundles/taiga-ui-core-directives-described-by.umd.js.map +1 -1
  60. package/bundles/taiga-ui-core-directives-described-by.umd.min.js +1 -1
  61. package/bundles/taiga-ui-core-directives-described-by.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-core-modules-notifications.umd.js +4 -6
  63. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  64. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  65. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-core-tokens.umd.js +13 -0
  67. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-tokens.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-tokens.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-utils-dom.umd.js +1 -1
  71. package/bundles/taiga-ui-core-utils-dom.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-utils-dom.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-core-utils-format.umd.js +1 -1
  74. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-utils-format.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-core-utils-mask.umd.js +7 -2
  77. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  78. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  79. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js +2 -2
  81. package/bundles/taiga-ui-core-utils-miscellaneous.umd.js.map +1 -1
  82. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js +1 -1
  83. package/bundles/taiga-ui-core-utils-miscellaneous.umd.min.js.map +1 -1
  84. package/components/button/button-options.d.ts +1 -1
  85. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  86. package/components/dialog/dialog.component.d.ts +0 -1
  87. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  88. package/components/dropdown-box/dropdown-box.component.d.ts +2 -3
  89. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  90. package/components/expand/expand.component.d.ts +2 -1
  91. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  92. package/components/group/group-styles.component.d.ts +2 -0
  93. package/components/group/group.directive.d.ts +2 -0
  94. package/components/group/index.d.ts +1 -0
  95. package/components/group/taiga-ui-core-components-group.metadata.json +1 -1
  96. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +2 -3
  97. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  98. package/components/loader/index.d.ts +1 -0
  99. package/components/loader/loader-options.d.ts +11 -0
  100. package/components/loader/loader.component.d.ts +4 -3
  101. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  102. package/components/notification/notification.component.d.ts +3 -3
  103. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  104. package/components/primitive-calendar/primitive-calendar.component.d.ts +0 -1
  105. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  106. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  107. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +3 -3
  108. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  109. package/components/root/root.component.d.ts +3 -4
  110. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  111. package/components/tooltip/tooltip.component.d.ts +1 -1
  112. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  113. package/constants/version.d.ts +1 -1
  114. package/directives/described-by/taiga-ui-core-directives-described-by.metadata.json +1 -1
  115. package/esm2015/abstract/abstract-dropdown.js +2 -2
  116. package/esm2015/abstract/abstract-hint.js +1 -1
  117. package/esm2015/components/button/button-options.js +1 -1
  118. package/esm2015/components/button/button.component.js +4 -4
  119. package/esm2015/components/dialog/dialog.component.js +3 -16
  120. package/esm2015/components/dropdown-box/dropdown-box.component.js +6 -8
  121. package/esm2015/components/expand/expand.component.js +1 -1
  122. package/esm2015/components/group/group-styles.component.js +13 -0
  123. package/esm2015/components/group/group.directive.js +12 -6
  124. package/esm2015/components/group/group.module.js +4 -3
  125. package/esm2015/components/group/index.js +2 -1
  126. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -6
  127. package/esm2015/components/loader/index.js +2 -1
  128. package/esm2015/components/loader/loader-options.js +15 -0
  129. package/esm2015/components/loader/loader.component.js +11 -7
  130. package/esm2015/components/loader/loader.directive.js +2 -2
  131. package/esm2015/components/notification/notification.component.js +1 -1
  132. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +3 -7
  133. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +3 -3
  134. package/esm2015/components/primitive-textfield/primitive-textfield.module.js +2 -3
  135. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +3 -3
  136. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  137. package/esm2015/components/root/root.component.js +14 -8
  138. package/esm2015/components/root/root.module.js +3 -3
  139. package/esm2015/components/tooltip/tooltip.component.js +2 -2
  140. package/esm2015/constants/version.js +2 -2
  141. package/esm2015/directives/described-by/described-by.providers.js +6 -6
  142. package/esm2015/interfaces/dropdown-directive.js +1 -1
  143. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +4 -5
  144. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +3 -3
  145. package/esm2015/modules/notifications/notifications.service.js +2 -2
  146. package/esm2015/tokens/index.js +2 -1
  147. package/esm2015/tokens/notification-options.js +8 -1
  148. package/esm2015/tokens/theme.js +5 -0
  149. package/esm2015/utils/dom/process-icon.js +2 -2
  150. package/esm2015/utils/format/format-number.js +2 -2
  151. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +2 -2
  152. package/esm2015/utils/mask/create-number-mask.js +1 -2
  153. package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +5 -0
  154. package/esm2015/utils/mask/index.js +2 -1
  155. package/esm2015/utils/miscellaneous/icons-path-factory.js +2 -2
  156. package/esm2015/utils/miscellaneous/is-editing-key.js +2 -2
  157. package/esm5/abstract/abstract-dropdown.js +2 -2
  158. package/esm5/abstract/abstract-hint.js +1 -1
  159. package/esm5/components/button/button-options.js +1 -1
  160. package/esm5/components/button/button.component.js +4 -4
  161. package/esm5/components/dialog/dialog.component.js +3 -20
  162. package/esm5/components/dropdown-box/dropdown-box.component.js +6 -8
  163. package/esm5/components/expand/expand.component.js +1 -1
  164. package/esm5/components/group/group-styles.component.js +16 -0
  165. package/esm5/components/group/group.directive.js +12 -6
  166. package/esm5/components/group/group.module.js +4 -3
  167. package/esm5/components/group/index.js +2 -1
  168. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +3 -6
  169. package/esm5/components/loader/index.js +2 -1
  170. package/esm5/components/loader/loader-options.js +16 -0
  171. package/esm5/components/loader/loader.component.js +11 -7
  172. package/esm5/components/loader/loader.directive.js +2 -2
  173. package/esm5/components/notification/notification.component.js +1 -1
  174. package/esm5/components/primitive-calendar/primitive-calendar.component.js +3 -7
  175. package/esm5/components/primitive-textfield/primitive-textfield.component.js +3 -3
  176. package/esm5/components/primitive-textfield/primitive-textfield.module.js +2 -3
  177. package/esm5/components/primitive-textfield/textfield/textfield.component.js +3 -3
  178. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +3 -3
  179. package/esm5/components/root/root.component.js +15 -8
  180. package/esm5/components/root/root.module.js +3 -3
  181. package/esm5/components/tooltip/tooltip.component.js +2 -2
  182. package/esm5/constants/version.js +2 -2
  183. package/esm5/directives/described-by/described-by.providers.js +7 -7
  184. package/esm5/interfaces/dropdown-directive.js +1 -1
  185. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +4 -5
  186. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +3 -3
  187. package/esm5/modules/notifications/notifications.service.js +2 -2
  188. package/esm5/tokens/index.js +2 -1
  189. package/esm5/tokens/notification-options.js +9 -1
  190. package/esm5/tokens/theme.js +5 -0
  191. package/esm5/utils/dom/process-icon.js +2 -2
  192. package/esm5/utils/format/format-number.js +2 -2
  193. package/esm5/utils/mask/create-auto-corrected-money-pipe.js +2 -2
  194. package/esm5/utils/mask/create-number-mask.js +1 -2
  195. package/esm5/utils/mask/enable-auto-correct-decimal-symbol.js +6 -0
  196. package/esm5/utils/mask/index.js +2 -1
  197. package/esm5/utils/miscellaneous/icons-path-factory.js +2 -2
  198. package/esm5/utils/miscellaneous/is-editing-key.js +2 -2
  199. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  200. package/fesm2015/taiga-ui-core-components-button.js +3 -3
  201. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  202. package/fesm2015/taiga-ui-core-components-dialog.js +2 -15
  203. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  204. package/fesm2015/taiga-ui-core-components-dropdown-box.js +5 -7
  205. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  206. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  207. package/fesm2015/taiga-ui-core-components-group.js +23 -8
  208. package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
  209. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +2 -5
  210. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  211. package/fesm2015/taiga-ui-core-components-loader.js +26 -9
  212. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  213. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  214. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +2 -6
  215. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  216. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +5 -6
  217. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  218. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +2 -2
  219. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  220. package/fesm2015/taiga-ui-core-components-root.js +15 -10
  221. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  222. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  223. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  224. package/fesm2015/taiga-ui-core-constants.js +1 -1
  225. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  226. package/fesm2015/taiga-ui-core-directives-described-by.js +6 -6
  227. package/fesm2015/taiga-ui-core-directives-described-by.js.map +1 -1
  228. package/fesm2015/taiga-ui-core-modules-notifications.js +5 -6
  229. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  230. package/fesm2015/taiga-ui-core-tokens.js +12 -1
  231. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  232. package/fesm2015/taiga-ui-core-utils-dom.js +1 -1
  233. package/fesm2015/taiga-ui-core-utils-dom.js.map +1 -1
  234. package/fesm2015/taiga-ui-core-utils-format.js +1 -1
  235. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  236. package/fesm2015/taiga-ui-core-utils-mask.js +7 -4
  237. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  238. package/fesm2015/taiga-ui-core-utils-miscellaneous.js +2 -2
  239. package/fesm2015/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  240. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  241. package/fesm5/taiga-ui-core-components-button.js +3 -3
  242. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  243. package/fesm5/taiga-ui-core-components-dialog.js +2 -19
  244. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  245. package/fesm5/taiga-ui-core-components-dropdown-box.js +5 -7
  246. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  247. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  248. package/fesm5/taiga-ui-core-components-group.js +26 -8
  249. package/fesm5/taiga-ui-core-components-group.js.map +1 -1
  250. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +2 -5
  251. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  252. package/fesm5/taiga-ui-core-components-loader.js +27 -10
  253. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  254. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  255. package/fesm5/taiga-ui-core-components-primitive-calendar.js +2 -6
  256. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  257. package/fesm5/taiga-ui-core-components-primitive-textfield.js +5 -6
  258. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  259. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +2 -2
  260. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  261. package/fesm5/taiga-ui-core-components-root.js +16 -10
  262. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  263. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  264. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  265. package/fesm5/taiga-ui-core-constants.js +1 -1
  266. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  267. package/fesm5/taiga-ui-core-directives-described-by.js +7 -7
  268. package/fesm5/taiga-ui-core-directives-described-by.js.map +1 -1
  269. package/fesm5/taiga-ui-core-modules-notifications.js +5 -6
  270. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  271. package/fesm5/taiga-ui-core-tokens.js +13 -2
  272. package/fesm5/taiga-ui-core-tokens.js.map +1 -1
  273. package/fesm5/taiga-ui-core-utils-dom.js +1 -1
  274. package/fesm5/taiga-ui-core-utils-dom.js.map +1 -1
  275. package/fesm5/taiga-ui-core-utils-format.js +1 -1
  276. package/fesm5/taiga-ui-core-utils-format.js.map +1 -1
  277. package/fesm5/taiga-ui-core-utils-mask.js +8 -4
  278. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  279. package/fesm5/taiga-ui-core-utils-miscellaneous.js +2 -2
  280. package/fesm5/taiga-ui-core-utils-miscellaneous.js.map +1 -1
  281. package/interfaces/dropdown-directive.d.ts +2 -2
  282. package/modules/notifications/notification-alert/notification-alert.component.d.ts +3 -4
  283. package/modules/notifications/notifications.service.d.ts +3 -3
  284. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  285. package/package.json +4 -4
  286. package/styles/markup/tui-form.less +4 -9
  287. package/styles/markup/tui-group.less +4 -2
  288. package/styles/mixins/picker.less +10 -10
  289. package/styles/mixins/picker.scss +10 -10
  290. package/styles/mixins/slider.less +33 -0
  291. package/styles/mixins/slider.scss +34 -0
  292. package/styles/mixins/textfield.less +25 -22
  293. package/styles/taiga-ui-local.less +1 -0
  294. package/styles/taiga-ui-local.scss +1 -0
  295. package/styles/theme/variables.less +1 -0
  296. package/tokens/index.d.ts +1 -0
  297. package/tokens/notification-options.d.ts +10 -4
  298. package/tokens/taiga-ui-core-tokens.metadata.json +1 -1
  299. package/tokens/theme.d.ts +2 -0
  300. package/utils/format/format-number.d.ts +1 -1
  301. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
  302. package/utils/mask/create-number-mask.d.ts +0 -1
  303. package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +2 -0
  304. package/utils/mask/index.d.ts +1 -0
  305. package/utils/mask/taiga-ui-core-utils-mask.metadata.json +1 -1
  306. package/utils/miscellaneous/taiga-ui-core-utils-miscellaneous.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-tooltip.js","sources":["ng://@taiga-ui/core/components/tooltip/tooltip.component.ts","ng://@taiga-ui/core/components/tooltip/tooltip.module.ts","ng://@taiga-ui/core/components/tooltip/taiga-ui-core-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE, tuiDefaultProp, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from '@taiga-ui/core/directives';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-tooltip',\n templateUrl: './tooltip.template.html',\n styleUrls: ['./tooltip.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, MODE_PROVIDER],\n})\nexport class TuiTooltipComponent {\n private globalMode: TuiBrightness | null = null;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n mode: TuiHintOptions['mode'] = this.options.mode;\n\n @Input()\n @tuiDefaultProp()\n direction: TuiHintOptions['direction'] = this.options.direction;\n\n @Input()\n @tuiDefaultProp()\n showDelay: TuiHintOptions['tuiHintShowDelay'] = this.options.tuiHintShowDelay;\n\n @Input()\n @tuiDefaultProp()\n hideDelay: TuiHintOptions['tuiHintHideDelay'] = this.options.tuiHintHideDelay;\n\n @Input()\n @tuiDefaultProp()\n describeId = '';\n\n constructor(\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_MODE) mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n ) {\n mode$.pipe(takeUntil(destroy$)).subscribe(mode => {\n this.globalMode = mode;\n });\n }\n\n // TODO: Simplify\n @HostBinding('attr.data-mode')\n get computedMode(): TuiHintModeT | TuiBrightness | null {\n return this.mode || this.globalMode;\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('click', ['$event'])\n stopOnMobile(event: MouseEvent) {\n if (this.isMobile) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n get icon(): PolymorpheusContent {\n return this.options.tooltipIcon;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiHintModule} from '@taiga-ui/core/directives/hint';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTooltipComponent} from './tooltip.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiHintModule, PolymorpheusModule],\n declarations: [TuiTooltipComponent],\n exports: [TuiTooltipComponent],\n})\nexport class TuiTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;IAmDI,6BAC+B,QAA6B,EACtC,KAAuC,EACjB,QAAiB,EACd,OAAuB;QAJtE,iBASC;QAN2C,aAAQ,GAAR,QAAQ,CAAS;QACd,YAAO,GAAP,OAAO,CAAgB;QA9B9D,eAAU,GAAyB,IAAI,CAAC;QAIhD,YAAO,GAAwB,EAAE,CAAC;QAIlC,SAAI,GAA2B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAIjD,cAAS,GAAgC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAIhE,cAAS,GAAuC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAI9E,cAAS,GAAuC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAI9E,eAAU,GAAG,EAAE,CAAC;QAQZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;YAC1C,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B,CAAC,CAAC;KACN;IAID,sBAAI,6CAAY;;aAAhB;YACI,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;SACvC;;;OAAA;IAID,0CAAY,GAAZ,UAAa,KAAiB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SAC3B;KACJ;IAED,sBAAI,qCAAI;aAAR;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SACnC;;;OAAA;;gBA3BwC,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;gBACA,UAAU,uBAAlC,MAAM,SAAC,QAAQ;8CACf,MAAM,SAAC,aAAa;gDACpB,MAAM,SAAC,gBAAgB;;IA1B5B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wDACiB;IAIlC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;qDACgC;IAIjD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC+C;IAIhE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC6D;IAI9E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC6D;IAI9E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2DACD;IAehB;QADC,WAAW,CAAC,gBAAgB,CAAC;2DAG7B;IAID;QAFC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;QACrC,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;2DAMjC;IAnDQ,mBAAmB;QAP/B,SAAS,CAAC;YACP,QAAQ,EAAE,aAAa;YACvB,0bAAsC;YAEtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;;SAChD,CAAC;QA6BO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QACrB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;OA/BpB,mBAAmB,CAwD/B;IAAD,0BAAC;CAxDD;;;ICXA;KAAgC;IAAnB,gBAAgB;QAL5B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,CAAC;YACxE,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACbA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-tooltip.js","sources":["ng://@taiga-ui/core/components/tooltip/tooltip.component.ts","ng://@taiga-ui/core/components/tooltip/tooltip.module.ts","ng://@taiga-ui/core/components/tooltip/taiga-ui-core-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {TUI_IS_MOBILE, tuiDefaultProp, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TUI_HINT_OPTIONS, TuiHintOptions} from '@taiga-ui/core/directives';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-tooltip',\n templateUrl: './tooltip.template.html',\n styleUrls: ['./tooltip.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, MODE_PROVIDER],\n})\nexport class TuiTooltipComponent {\n private globalMode: TuiBrightness | null = null;\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n mode: TuiHintOptions['mode'] = this.options.mode;\n\n @Input()\n @tuiDefaultProp()\n direction: TuiHintOptions['direction'] = this.options.direction;\n\n @Input()\n @tuiDefaultProp()\n showDelay: TuiHintOptions['tuiHintShowDelay'] = this.options.tuiHintShowDelay;\n\n @Input()\n @tuiDefaultProp()\n hideDelay: TuiHintOptions['tuiHintHideDelay'] = this.options.tuiHintHideDelay;\n\n @Input()\n @tuiDefaultProp()\n describeId = '';\n\n constructor(\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TUI_MODE) mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_HINT_OPTIONS) private readonly options: TuiHintOptions,\n ) {\n mode$.pipe(takeUntil(destroy$)).subscribe(mode => {\n this.globalMode = mode;\n });\n }\n\n // TODO: Simplify\n @HostBinding('attr.data-mode')\n get computedMode(): TuiHintModeT | null {\n return this.mode || (this.globalMode === 'onDark' ? 'onDark' : null);\n }\n\n @HostListener('mousedown', ['$event'])\n @HostListener('click', ['$event'])\n stopOnMobile(event: MouseEvent) {\n if (this.isMobile) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n get icon(): PolymorpheusContent {\n return this.options.tooltipIcon;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiHintModule} from '@taiga-ui/core/directives/hint';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTooltipComponent} from './tooltip.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiHintModule, PolymorpheusModule],\n declarations: [TuiTooltipComponent],\n exports: [TuiTooltipComponent],\n})\nexport class TuiTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;IAmDI,6BAC+B,QAA6B,EACtC,KAAuC,EACjB,QAAiB,EACd,OAAuB;QAJtE,iBASC;QAN2C,aAAQ,GAAR,QAAQ,CAAS;QACd,YAAO,GAAP,OAAO,CAAgB;QA9B9D,eAAU,GAAyB,IAAI,CAAC;QAIhD,YAAO,GAAwB,EAAE,CAAC;QAIlC,SAAI,GAA2B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAIjD,cAAS,GAAgC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QAIhE,cAAS,GAAuC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAI9E,cAAS,GAAuC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAI9E,eAAU,GAAG,EAAE,CAAC;QAQZ,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAA,IAAI;YAC1C,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B,CAAC,CAAC;KACN;IAID,sBAAI,6CAAY;;aAAhB;YACI,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,KAAK,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;SACxE;;;OAAA;IAID,0CAAY,GAAZ,UAAa,KAAiB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;SAC3B;KACJ;IAED,sBAAI,qCAAI;aAAR;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SACnC;;;OAAA;;gBA3BwC,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;gBACA,UAAU,uBAAlC,MAAM,SAAC,QAAQ;8CACf,MAAM,SAAC,aAAa;gDACpB,MAAM,SAAC,gBAAgB;;IA1B5B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wDACiB;IAIlC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;qDACgC;IAIjD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC+C;IAIhE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC6D;IAI9E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;0DAC6D;IAI9E;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2DACD;IAehB;QADC,WAAW,CAAC,gBAAgB,CAAC;2DAG7B;IAID;QAFC,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;QACrC,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;2DAMjC;IAnDQ,mBAAmB;QAP/B,SAAS,CAAC;YACP,QAAQ,EAAE,aAAa;YACvB,0bAAsC;YAEtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;;SAChD,CAAC;QA6BO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QACrB,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;OA/BpB,mBAAmB,CAwD/B;IAAD,0BAAC;CAxDD;;;ICXA;KAAgC;IAAnB,gBAAgB;QAL5B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,CAAC;YACxE,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACbA;;;;;;"}
@@ -65,7 +65,7 @@ var TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\/#!$%\\^&\\*;:{}=\\-_`~()]$/;
65
65
  var TUI_LATIN_REGEXP = /[A-z]/;
66
66
  var TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;
67
67
 
68
- var VERSION = '2.34.0';
68
+ var VERSION = '2.37.0';
69
69
 
70
70
  /**
71
71
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-constants.js","sources":["ng://@taiga-ui/core/constants/absolute-box-sizes.ts","ng://@taiga-ui/core/constants/decimal-symbols.ts","ng://@taiga-ui/core/constants/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/editing-keys.ts","ng://@taiga-ui/core/constants/events.ts","ng://@taiga-ui/core/constants/mask-caret-trap.ts","ng://@taiga-ui/core/constants/media.ts","ng://@taiga-ui/core/constants/regexp.ts","ng://@taiga-ui/core/constants/version.ts","ng://@taiga-ui/core/constants/taiga-ui-core-constants.ts"],"sourcesContent":["export const DEFAULT_MARGIN = 4;\nexport const DEFAULT_MIN_HEIGHT = 80;\nexport const DEFAULT_MAX_HEIGHT = 400;\nexport const DEFAULT_MAX_WIDTH = 600;\n","export const TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\n","import {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = name =>\n name.includes('.svg#') ? name : `#${name}`;\n","import {EMPTY_ARRAY} from '@taiga-ui/cdk';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\nexport const TUI_DEFAULT_MARKER_HANDLER: TuiMarkerHandler = () => EMPTY_ARRAY;\n","export const tuiEditingKeys: readonly string[] = [\n 'Spacebar',\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Left',\n 'Right',\n 'End',\n 'Home',\n];\n","/**\n * An event indicating that async data for expand has finished loading.\n * Dispatch to finish loading states for {@link TuiExpandComponent}.\n */\nexport const TUI_EXPAND_LOADED = 'tui-expand-loaded';\n\n/**\n * An event for scrolling an element into view within {@link TuiScrollbarComponent}.\n */\nexport const TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';\n\n/**\n * An event to notify {@link TuiScrollbarComponent} that\n * it should control a nested element.\n */\nexport const TUI_SCROLLABLE = 'tui-scrollable';\n\n/**\n * An event indicating and error during icon loading in {@link TuiSvgComponent}.\n */\nexport const TUI_ICON_ERROR = 'tui-icon-error';\n","export const MASK_CARET_TRAP = '[]';\n","/**\n * Media constants are exact the same as css media breakpoints\n * @deprecated use TUI_MEDIA token\n */\nexport const MEDIA = {\n mobile: 320,\n tablet: 600,\n desktopSmall: 1024,\n desktopLarge: 1280,\n};\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\nexport const TUI_LEADING_ZEROES_REGEXP = /^0+/;\nexport const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\\\/#!$%\\\\^&\\\\*;:{}=\\\\-_`~()]$/;\nexport const TUI_LATIN_REGEXP = /[A-z]/;\nexport const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;\n","export const VERSION = '2.34.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAAa,cAAc,GAAG,EAAE;IACnB,kBAAkB,GAAG,GAAG;IACxB,kBAAkB,GAAG,IAAI;IACzB,iBAAiB,GAAG;;ICHpB,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICEtD,kBAAkB,GAA6B,UAAA,IAAI;IAC5D,OAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,MAAI,IAAM;AAA1C;;ICAS,0BAA0B,GAAqB,cAAM,OAAA,WAAW;;ICHhE,cAAc,GAAsB;IAC7C,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;;;ACTV;;;;IAIa,iBAAiB,GAAG,oBAAoB;AAErD;;;IAGa,oBAAoB,GAAG,uBAAuB;AAE3D;;;;IAIa,cAAc,GAAG,iBAAiB;AAE/C;;;IAGa,cAAc,GAAG;;ICpBjB,eAAe,GAAG;;ACA/B;;;;IAIa,KAAK,GAAG;IACjB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;;;ICRT,gBAAgB,GAAG,KAAK;IACxB,oBAAoB,GAAG,KAAK;IAC5B,qBAAqB,GAAG,OAAO;IAC/B,yBAAyB,GAAG,MAAM;IAClC,gCAAgC,GAAG,mCAAmC;IACtE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICN/B,OAAO,GAAG;;ACAvB;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-constants.js","sources":["ng://@taiga-ui/core/constants/absolute-box-sizes.ts","ng://@taiga-ui/core/constants/decimal-symbols.ts","ng://@taiga-ui/core/constants/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/editing-keys.ts","ng://@taiga-ui/core/constants/events.ts","ng://@taiga-ui/core/constants/mask-caret-trap.ts","ng://@taiga-ui/core/constants/media.ts","ng://@taiga-ui/core/constants/regexp.ts","ng://@taiga-ui/core/constants/version.ts","ng://@taiga-ui/core/constants/taiga-ui-core-constants.ts"],"sourcesContent":["export const DEFAULT_MARGIN = 4;\nexport const DEFAULT_MIN_HEIGHT = 80;\nexport const DEFAULT_MAX_HEIGHT = 400;\nexport const DEFAULT_MAX_WIDTH = 600;\n","export const TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\n","import {TuiStringHandler} from '@taiga-ui/cdk';\n\nexport const DEFAULT_ICONS_PATH: TuiStringHandler<string> = name =>\n name.includes('.svg#') ? name : `#${name}`;\n","import {EMPTY_ARRAY} from '@taiga-ui/cdk';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\nexport const TUI_DEFAULT_MARKER_HANDLER: TuiMarkerHandler = () => EMPTY_ARRAY;\n","export const tuiEditingKeys: readonly string[] = [\n 'Spacebar',\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Left',\n 'Right',\n 'End',\n 'Home',\n];\n","/**\n * An event indicating that async data for expand has finished loading.\n * Dispatch to finish loading states for {@link TuiExpandComponent}.\n */\nexport const TUI_EXPAND_LOADED = 'tui-expand-loaded';\n\n/**\n * An event for scrolling an element into view within {@link TuiScrollbarComponent}.\n */\nexport const TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';\n\n/**\n * An event to notify {@link TuiScrollbarComponent} that\n * it should control a nested element.\n */\nexport const TUI_SCROLLABLE = 'tui-scrollable';\n\n/**\n * An event indicating and error during icon loading in {@link TuiSvgComponent}.\n */\nexport const TUI_ICON_ERROR = 'tui-icon-error';\n","export const MASK_CARET_TRAP = '[]';\n","/**\n * Media constants are exact the same as css media breakpoints\n * @deprecated use TUI_MEDIA token\n */\nexport const MEDIA = {\n mobile: 320,\n tablet: 600,\n desktopSmall: 1024,\n desktopLarge: 1280,\n};\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\nexport const TUI_LEADING_ZEROES_REGEXP = /^0+/;\nexport const TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\\\/#!$%\\\\^&\\\\*;:{}=\\\\-_`~()]$/;\nexport const TUI_LATIN_REGEXP = /[A-z]/;\nexport const TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;\n","export const VERSION = '2.37.0';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;IAAa,cAAc,GAAG,EAAE;IACnB,kBAAkB,GAAG,GAAG;IACxB,kBAAkB,GAAG,IAAI;IACzB,iBAAiB,GAAG;;ICHpB,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICEtD,kBAAkB,GAA6B,UAAA,IAAI;IAC5D,OAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,MAAI,IAAM;AAA1C;;ICAS,0BAA0B,GAAqB,cAAM,OAAA,WAAW;;ICHhE,cAAc,GAAsB;IAC7C,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;;;ACTV;;;;IAIa,iBAAiB,GAAG,oBAAoB;AAErD;;;IAGa,oBAAoB,GAAG,uBAAuB;AAE3D;;;;IAIa,cAAc,GAAG,iBAAiB;AAE/C;;;IAGa,cAAc,GAAG;;ICpBjB,eAAe,GAAG;;ACA/B;;;;IAIa,KAAK,GAAG;IACjB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,IAAI;;;ICRT,gBAAgB,GAAG,KAAK;IACxB,oBAAoB,GAAG,KAAK;IAC5B,qBAAqB,GAAG,OAAO;IAC/B,yBAAyB,GAAG,MAAM;IAClC,gCAAgC,GAAG,mCAAmC;IACtE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICN/B,OAAO,GAAG;;ACAvB;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, ElementRef, Inject, Input, HostBinding, Directive, NgModule } from '@angular/core';
3
- import { TuiDestroyService, TuiFocusVisibleService, typedFromEvent, tuiDefaultProp } from '@taiga-ui/cdk';
3
+ import { TuiDestroyService, TuiFocusVisibleService, typedFromEvent, stopPropagation, tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { TuiHintService } from '@taiga-ui/core/services';
5
- import { merge, timer, Observable } from 'rxjs';
6
- import { filter, switchMapTo, mapTo, takeUntil, take, tap, startWith, distinctUntilChanged } from 'rxjs/operators';
5
+ import { timer, merge, Observable } from 'rxjs';
6
+ import { filter, switchMapTo, mapTo, takeUntil, take, startWith, distinctUntilChanged } from 'rxjs/operators';
7
7
 
8
8
  var DELAY = 1000;
9
9
  var TUI_DESCRIBED_BY_SHOW = new InjectionToken('Accessible tooltip visibility stream');
@@ -18,12 +18,12 @@ var TUI_DESCRIBED_BY_PROVIDERS = [
18
18
  ];
19
19
  function describedByFactory(focusVisible$, _a) {
20
20
  var nativeElement = _a.nativeElement;
21
- return merge(focusVisible$.pipe(filter(function (v) { return v; }), switchMapTo(timer(DELAY).pipe(mapTo(true), takeUntil(typedFromEvent(nativeElement, 'keydown')))), switchMapTo(typedFromEvent(nativeElement, 'keydown').pipe(filter(function (_a) {
21
+ return focusVisible$
22
+ .pipe(filter(Boolean), switchMapTo(timer(DELAY).pipe(mapTo(true), takeUntil(merge(typedFromEvent(nativeElement, 'keydown'), typedFromEvent(nativeElement, 'blur'))))), switchMapTo(merge(typedFromEvent(nativeElement, 'keydown').pipe(filter(function (_a) {
22
23
  var key = _a.key;
23
24
  return key === 'Escape';
24
- }), take(1), tap(function (event) {
25
- event.stopPropagation();
26
- }), mapTo(false), startWith(true)))), typedFromEvent(nativeElement, 'blur').pipe(mapTo(false))).pipe(distinctUntilChanged());
25
+ }), take(1), stopPropagation(), mapTo(false), startWith(true)), typedFromEvent(nativeElement, 'blur').pipe(mapTo(false)))))
26
+ .pipe(distinctUntilChanged());
27
27
  }
28
28
 
29
29
  var DESCRIBED_BY = '_described-by';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-described-by.js","sources":["ng://@taiga-ui/core/directives/described-by/described-by.providers.ts","ng://@taiga-ui/core/directives/described-by/described-by.directive.ts","ng://@taiga-ui/core/directives/described-by/described-by.module.ts","ng://@taiga-ui/core/directives/described-by/taiga-ui-core-directives-described-by.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TuiDestroyService, TuiFocusVisibleService, typedFromEvent} from '@taiga-ui/cdk';\nimport {merge, Observable, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMapTo,\n take,\n takeUntil,\n tap,\n} from 'rxjs/operators';\n\nconst DELAY = 1000;\n\nexport const TUI_DESCRIBED_BY_SHOW = new InjectionToken<Observable<boolean>>(\n 'Accessible tooltip visibility stream',\n);\nexport const TUI_DESCRIBED_BY_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n {\n provide: TUI_DESCRIBED_BY_SHOW,\n deps: [TuiFocusVisibleService, ElementRef],\n useFactory: describedByFactory,\n },\n];\n\nexport function describedByFactory(\n focusVisible$: Observable<boolean>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<boolean> {\n return merge(\n focusVisible$.pipe(\n filter(v => v),\n switchMapTo(\n timer(DELAY).pipe(\n mapTo(true),\n takeUntil(typedFromEvent(nativeElement, 'keydown')),\n ),\n ),\n switchMapTo(\n typedFromEvent(nativeElement, 'keydown').pipe(\n filter(({key}) => key === 'Escape'),\n take(1),\n tap(event => {\n event.stopPropagation();\n }),\n mapTo(false),\n startWith(true),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'blur').pipe(mapTo(false)),\n ).pipe(distinctUntilChanged());\n}\n","import {Directive, HostBinding, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_DESCRIBED_BY_SHOW,\n} from './described-by.providers';\n\nexport const DESCRIBED_BY = '_described-by';\n\n/**\n * A directive linking focusable elements and hints for accessibility\n */\n@Directive({\n selector: '[tuiDescribedBy]:not(ng-container)',\n providers: TUI_DESCRIBED_BY_PROVIDERS,\n})\nexport class TuiDescribedByDirective {\n @Input()\n @tuiDefaultProp()\n tuiDescribedBy = '';\n\n constructor(\n @Inject(TuiHintService) hintService: TuiHintService,\n @Inject(TUI_DESCRIBED_BY_SHOW) visibility$: Observable<boolean>,\n ) {\n visibility$.subscribe(visible => {\n if (!this.tuiDescribedBy) {\n return;\n }\n\n if (visible) {\n hintService.showHintForId(this.tuiDescribedBy);\n } else {\n hintService.hideHintForId(this.tuiDescribedBy);\n }\n });\n }\n\n @HostBinding('attr.aria-describedby')\n get computedDescribedBy(): string | null {\n return this.tuiDescribedBy ? this.tuiDescribedBy + DESCRIBED_BY : null;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDescribedByDirective} from './described-by.directive';\n\n@NgModule({\n declarations: [TuiDescribedByDirective],\n exports: [TuiDescribedByDirective],\n})\nexport class TuiDescribedByModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAcA,IAAM,KAAK,GAAG,IAAI,CAAC;IAEN,qBAAqB,GAAG,IAAI,cAAc,CACnD,sCAAsC,EACxC;IACW,0BAA0B,GAAe;IAClD,iBAAiB;IACjB,sBAAsB;IACtB;QACI,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,CAAC,sBAAsB,EAAE,UAAU,CAAC;QAC1C,UAAU,EAAE,kBAAkB;KACjC;EACH;SAEc,kBAAkB,CAC9B,aAAkC,EAClC,EAAwC;QAAvC,gCAAa;IAEd,OAAO,KAAK,CACR,aAAa,CAAC,IAAI,CACd,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,GAAA,CAAC,EACd,WAAW,CACP,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACb,KAAK,CAAC,IAAI,CAAC,EACX,SAAS,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CACtD,CACJ,EACD,WAAW,CACP,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,UAAC,EAAK;YAAJ,YAAG;QAAM,OAAA,GAAG,KAAK,QAAQ;KAAA,CAAC,EACnC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,UAAA,KAAK;QACL,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B,CAAC,EACF,KAAK,CAAC,KAAK,CAAC,EACZ,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,EACD,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC3D,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACnC;;IC9Ca,YAAY,GAAG,gBAAgB;AAE5C;;;;IAYI,iCAC4B,WAA2B,EACpB,WAAgC;QAFnE,iBAeC;QAjBD,mBAAc,GAAG,EAAE,CAAC;QAMhB,WAAW,CAAC,SAAS,CAAC,UAAA,OAAO;YACzB,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE;gBACtB,OAAO;aACV;YAED,IAAI,OAAO,EAAE;gBACT,WAAW,CAAC,aAAa,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;aAClD;iBAAM;gBACH,WAAW,CAAC,aAAa,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;aAClD;SACJ,CAAC,CAAC;KACN;IAGD,sBAAI,wDAAmB;aAAvB;YACI,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC;SAC1E;;;OAAA;;gBAnBwC,cAAc,uBAAlD,MAAM,SAAC,cAAc;gBACsB,UAAU,uBAArD,MAAM,SAAC,qBAAqB;;IAJjC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;mEACG;IAoBpB;QADC,WAAW,CAAC,uBAAuB,CAAC;sEAGpC;IAzBQ,uBAAuB;QAJnC,SAAS,CAAC;YACP,QAAQ,EAAE,oCAAoC;YAC9C,SAAS,EAAE,0BAA0B;SACxC,CAAC;QAOO,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QACtB,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;OAPzB,uBAAuB,CA0BnC;IAAD,8BAAC;CA1BD;;;ICXA;KAAoC;IAAvB,oBAAoB;QAJhC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;ACRA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-directives-described-by.js","sources":["ng://@taiga-ui/core/directives/described-by/described-by.providers.ts","ng://@taiga-ui/core/directives/described-by/described-by.directive.ts","ng://@taiga-ui/core/directives/described-by/described-by.module.ts","ng://@taiga-ui/core/directives/described-by/taiga-ui-core-directives-described-by.ts"],"sourcesContent":["import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n stopPropagation,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {merge, Observable, timer} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n mapTo,\n startWith,\n switchMapTo,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nconst DELAY = 1000;\n\nexport const TUI_DESCRIBED_BY_SHOW = new InjectionToken<Observable<boolean>>(\n 'Accessible tooltip visibility stream',\n);\nexport const TUI_DESCRIBED_BY_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n {\n provide: TUI_DESCRIBED_BY_SHOW,\n deps: [TuiFocusVisibleService, ElementRef],\n useFactory: describedByFactory,\n },\n];\n\nexport function describedByFactory(\n focusVisible$: Observable<boolean>,\n {nativeElement}: ElementRef<HTMLElement>,\n): Observable<boolean> {\n return focusVisible$\n .pipe(\n filter(Boolean),\n switchMapTo(\n timer(DELAY).pipe(\n mapTo(true),\n takeUntil(\n merge(\n typedFromEvent(nativeElement, 'keydown'),\n typedFromEvent(nativeElement, 'blur'),\n ),\n ),\n ),\n ),\n switchMapTo(\n merge(\n typedFromEvent(nativeElement, 'keydown').pipe(\n filter(({key}) => key === 'Escape'),\n take(1),\n stopPropagation(),\n mapTo(false),\n startWith(true),\n ),\n typedFromEvent(nativeElement, 'blur').pipe(mapTo(false)),\n ),\n ),\n )\n .pipe(distinctUntilChanged());\n}\n","import {Directive, HostBinding, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_DESCRIBED_BY_SHOW,\n} from './described-by.providers';\n\nexport const DESCRIBED_BY = '_described-by';\n\n/**\n * A directive linking focusable elements and hints for accessibility\n */\n@Directive({\n selector: '[tuiDescribedBy]:not(ng-container)',\n providers: TUI_DESCRIBED_BY_PROVIDERS,\n})\nexport class TuiDescribedByDirective {\n @Input()\n @tuiDefaultProp()\n tuiDescribedBy = '';\n\n constructor(\n @Inject(TuiHintService) hintService: TuiHintService,\n @Inject(TUI_DESCRIBED_BY_SHOW) visibility$: Observable<boolean>,\n ) {\n visibility$.subscribe(visible => {\n if (!this.tuiDescribedBy) {\n return;\n }\n\n if (visible) {\n hintService.showHintForId(this.tuiDescribedBy);\n } else {\n hintService.hideHintForId(this.tuiDescribedBy);\n }\n });\n }\n\n @HostBinding('attr.aria-describedby')\n get computedDescribedBy(): string | null {\n return this.tuiDescribedBy ? this.tuiDescribedBy + DESCRIBED_BY : null;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDescribedByDirective} from './described-by.directive';\n\n@NgModule({\n declarations: [TuiDescribedByDirective],\n exports: [TuiDescribedByDirective],\n})\nexport class TuiDescribedByModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAkBA,IAAM,KAAK,GAAG,IAAI,CAAC;IAEN,qBAAqB,GAAG,IAAI,cAAc,CACnD,sCAAsC,EACxC;IACW,0BAA0B,GAAe;IAClD,iBAAiB;IACjB,sBAAsB;IACtB;QACI,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,CAAC,sBAAsB,EAAE,UAAU,CAAC;QAC1C,UAAU,EAAE,kBAAkB;KACjC;EACH;SAEc,kBAAkB,CAC9B,aAAkC,EAClC,EAAwC;QAAvC,gCAAa;IAEd,OAAO,aAAa;SACf,IAAI,CACD,MAAM,CAAC,OAAO,CAAC,EACf,WAAW,CACP,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACb,KAAK,CAAC,IAAI,CAAC,EACX,SAAS,CACL,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,EACxC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CACxC,CACJ,CACJ,CACJ,EACD,WAAW,CACP,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,UAAC,EAAK;YAAJ,YAAG;QAAM,OAAA,GAAG,KAAK,QAAQ;KAAA,CAAC,EACnC,IAAI,CAAC,CAAC,CAAC,EACP,eAAe,EAAE,EACjB,KAAK,CAAC,KAAK,CAAC,EACZ,SAAS,CAAC,IAAI,CAAC,CAClB,EACD,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC3D,CACJ,CACJ;SACA,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACtC;;ICvDa,YAAY,GAAG,gBAAgB;AAE5C;;;;IAYI,iCAC4B,WAA2B,EACpB,WAAgC;QAFnE,iBAeC;QAjBD,mBAAc,GAAG,EAAE,CAAC;QAMhB,WAAW,CAAC,SAAS,CAAC,UAAA,OAAO;YACzB,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE;gBACtB,OAAO;aACV;YAED,IAAI,OAAO,EAAE;gBACT,WAAW,CAAC,aAAa,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;aAClD;iBAAM;gBACH,WAAW,CAAC,aAAa,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;aAClD;SACJ,CAAC,CAAC;KACN;IAGD,sBAAI,wDAAmB;aAAvB;YACI,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC;SAC1E;;;OAAA;;gBAnBwC,cAAc,uBAAlD,MAAM,SAAC,cAAc;gBACsB,UAAU,uBAArD,MAAM,SAAC,qBAAqB;;IAJjC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;mEACG;IAoBpB;QADC,WAAW,CAAC,uBAAuB,CAAC;sEAGpC;IAzBQ,uBAAuB;QAJnC,SAAS,CAAC;YACP,QAAQ,EAAE,oCAAoC;YAC9C,SAAS,EAAE,0BAA0B;SACxC,CAAC;QAOO,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QACtB,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;OAPzB,uBAAuB,CA0BnC;IAAD,8BAAC;CA1BD;;;ICXA;KAAoC;IAAvB,oBAAoB;QAJhC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;ACRA;;;;;;"}
@@ -32,7 +32,6 @@ var NotificationAlert = /** @class */ (function () {
32
32
  return NotificationAlert;
33
33
  }());
34
34
 
35
- var DEFAULT_ALERT_AUTOCLOSE_TIMEOUT = 3000;
36
35
  var TuiNotificationAlertComponent = /** @class */ (function () {
37
36
  function TuiNotificationAlertComponent(elementRef, destroy$, options) {
38
37
  this.elementRef = elementRef;
@@ -77,7 +76,7 @@ var TuiNotificationAlertComponent = /** @class */ (function () {
77
76
  }
78
77
  timer(isNumber(this.item.autoClose)
79
78
  ? this.item.autoClose
80
- : DEFAULT_ALERT_AUTOCLOSE_TIMEOUT)
79
+ : this.options.defaultAutoCloseTime)
81
80
  .pipe(takeUntil(fromEvent(this.elementRef.nativeElement, 'mouseenter')), repeatWhen(function () { return fromEvent(_this.elementRef.nativeElement, 'mouseleave'); }), takeUntil(this.destroy$))
82
81
  .subscribe(function () { return _this.closeNotification(); });
83
82
  };
@@ -95,8 +94,8 @@ var TuiNotificationAlertComponent = /** @class */ (function () {
95
94
  TuiNotificationAlertComponent = __decorate([
96
95
  Component({
97
96
  selector: 'tui-notification-alert',
98
- changeDetection: ChangeDetectionStrategy.OnPush,
99
97
  template: "<tui-notification\n *ngIf=\"item.hasCloseButton; else noClose\"\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n polymorpheus-outlet\n automation-id=\"tui-notification-alert__heading\"\n class=\"heading\"\n [content]=\"item.label\"\n [context]=\"context\"\n ></label>\n <div\n polymorpheus-outlet\n automation-id=\"tui-notification-alert__content\"\n class=\"content\"\n [content]=\"item.content\"\n [context]=\"context\"\n ></div>\n</tui-notification>\n<ng-template #noClose>\n <tui-notification [status]=\"item.status\" [hasIcon]=\"item.hasIcon\">\n <label\n *ngIf=\"item.label\"\n polymorpheus-outlet\n automation-id=\"tui-notification-alert__heading\"\n class=\"heading\"\n [content]=\"item.label\"\n [context]=\"context\"\n ></label>\n <div\n polymorpheus-outlet\n automation-id=\"tui-notification-alert__content\"\n class=\"content\"\n [content]=\"item.content\"\n [context]=\"context\"\n ></div>\n </tui-notification>\n</ng-template>\n",
98
+ changeDetection: ChangeDetectionStrategy.OnPush,
100
99
  providers: [TuiDestroyService],
101
100
  styles: [":host{box-shadow:0 .5rem 1rem rgba(0,0,0,.16);display:block;border-radius:var(--tui-radius-m)}.heading{font:var(--tui-font-text-m);line-height:1.25rem;font-weight:700;margin:0}.content{color:var(--tui-text-01);word-wrap:break-word}.content:empty{display:none}"]
102
101
  }),
@@ -170,10 +169,10 @@ var TuiNotificationsHostComponent = /** @class */ (function () {
170
169
  TuiNotificationsHostComponent = __decorate([
171
170
  Component({
172
171
  selector: 'tui-notifications-host',
172
+ template: "<ng-container *tuiLet=\"service.items$ | async as items\">\n <div\n *ngIf=\"items.length\"\n class=\"t-wrapper\"\n [@tuiFadeInList]=\"getAnimation(items.length)\"\n [@tuiHeightCollapseList]=\"getAnimation(items.length)\"\n [@tuiSlideInRightList]=\"getAnimation(items.length)\"\n >\n <tui-notification-alert\n *ngFor=\"let item of items\"\n role=\"alert\"\n class=\"t-alert\"\n [item]=\"item\"\n ></tui-notification-alert>\n </div>\n</ng-container>\n",
173
173
  changeDetection: ChangeDetectionStrategy.OnPush,
174
- template: "<ng-container *tuiLet=\"service.items$ | async as items\">\n <div\n *ngIf=\"items.length\"\n class=\"wrapper\"\n [@tuiFadeInList]=\"getAnimation(items.length)\"\n [@tuiHeightCollapseList]=\"getAnimation(items.length)\"\n [@tuiSlideInRightList]=\"getAnimation(items.length)\"\n >\n <tui-notification-alert\n *ngFor=\"let item of items\"\n role=\"alert\"\n class=\"alert\"\n [item]=\"item\"\n ></tui-notification-alert>\n </div>\n</ng-container>\n",
175
174
  animations: [tuiFadeInList, tuiSlideInRightList, tuiHeightCollapseList],
176
- styles: [":host{position:fixed;top:0;left:0;width:100%;height:0}.wrapper{width:18rem;margin-left:auto;padding:2rem 3rem 0 0;pointer-events:none}:host-context(tui-root._mobile) .wrapper{padding:1rem 1rem 0 0}@media screen and (min-width:80em){.wrapper{width:23rem}}.alert{pointer-events:auto}.alert:not(:first-child){margin-top:.75rem}"]
175
+ styles: [":host{position:fixed;top:0;left:0;width:100%;height:0}.t-wrapper{width:18rem;margin-left:auto;padding:2rem 3rem 0 0;pointer-events:none}:host-context(tui-root._mobile) .t-wrapper{padding:1rem 1rem 0 0}@media screen and (min-width:80em){.t-wrapper{width:23rem}}.t-alert{pointer-events:auto}.t-alert:not(:first-child){margin-top:.75rem}"]
177
176
  }),
178
177
  __param(0, Inject(TUI_ANIMATION_OPTIONS)),
179
178
  __param(1, Inject(TuiNotificationsService))
@@ -207,5 +206,5 @@ var TuiNotificationsModule = /** @class */ (function () {
207
206
  * Generated bundle index. Do not edit.
208
207
  */
209
208
 
210
- export { DEFAULT_ALERT_AUTOCLOSE_TIMEOUT, NOTIFICATIONS_HOST, NotificationAlert, TuiNotificationAlertComponent, TuiNotificationAlertModule, TuiNotificationsHostComponent, TuiNotificationsModule, TuiNotificationsService };
209
+ export { NOTIFICATIONS_HOST, NotificationAlert, TuiNotificationAlertComponent, TuiNotificationAlertModule, TuiNotificationsHostComponent, TuiNotificationsModule, TuiNotificationsService };
211
210
  //# sourceMappingURL=taiga-ui-core-modules-notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-modules-notifications.js","sources":["ng://@taiga-ui/core/modules/notifications/notification-alert/Notification-alert.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/notification-alert.component.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/notification-alert.module.ts","ng://@taiga-ui/core/modules/notifications/notifications.service.ts","ng://@taiga-ui/core/modules/notifications/notifications-host/notifications-host.component.ts","ng://@taiga-ui/core/modules/notifications/notifications.module.ts","ng://@taiga-ui/core/modules/notifications/taiga-ui-core-modules-notifications.ts"],"sourcesContent":["import {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {\n TuiNotificationOptions,\n TuiNotificationOptionsWithData,\n} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observer} from 'rxjs';\n\nimport {TuiNotificationContentContext} from '../notification-content-context';\n\nexport class NotificationAlert<O, I> {\n readonly status = this.options.status;\n\n readonly hasIcon = this.options.hasIcon;\n\n readonly autoClose: boolean | number;\n\n readonly hasCloseButton = this.options.hasCloseButton;\n\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>> =\n this.options.label;\n\n readonly data!: I;\n\n constructor(\n readonly observer: Observer<O>,\n readonly content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n private readonly options: Required<\n TuiNotificationOptions | TuiNotificationOptionsWithData<I>\n >,\n ) {\n this.autoClose =\n typeof this.options.autoClose === 'function'\n ? this.options.autoClose(this.options.status)\n : this.options.autoClose;\n\n if (options && this.withData(options)) {\n this.data = options.data;\n }\n }\n\n private withData(\n options: TuiNotificationOptions | TuiNotificationOptionsWithData<I>,\n ): options is TuiNotificationOptionsWithData<I> {\n return 'data' in options;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n} from '@angular/core';\nimport {isNumber, TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {NotificationTokenOptions, TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\nimport {TuiNotificationContentContext} from '../notification-content-context';\nimport {NotificationAlert} from './Notification-alert';\n\nexport const DEFAULT_ALERT_AUTOCLOSE_TIMEOUT = 3000;\n\n@Component({\n selector: 'tui-notification-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './notification-alert.template.html',\n styleUrls: ['./notification-alert.style.less'],\n providers: [TuiDestroyService],\n})\nexport class TuiNotificationAlertComponent<O, I> implements OnInit {\n @Input()\n item!: NotificationAlert<O, I>;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: NotificationTokenOptions,\n ) {}\n\n ngOnInit() {\n this.initAutoClose();\n }\n\n get context(): TuiNotificationContentContext<O, I> {\n return this.calculateContext(this.item);\n }\n\n closeNotification() {\n this.item.observer.complete();\n }\n\n @tuiPure\n private calculateContext({\n status,\n data,\n label,\n observer,\n }: NotificationAlert<O, I>): TuiNotificationContentContext<O, I> {\n return {\n $implicit: status,\n data: data,\n label: label,\n closeHook: () => {\n observer.complete();\n },\n emitHook: (data: O) => {\n observer.next(data);\n },\n emitAndCloseHook: (data: O) => {\n observer.next(data);\n observer.complete();\n },\n };\n }\n\n private initAutoClose() {\n if (!this.item.autoClose) {\n return;\n }\n\n timer(\n isNumber(this.item.autoClose)\n ? this.item.autoClose\n : DEFAULT_ALERT_AUTOCLOSE_TIMEOUT,\n )\n .pipe(\n takeUntil(fromEvent(this.elementRef.nativeElement, 'mouseenter')),\n repeatWhen(() => fromEvent(this.elementRef.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiNotificationAlertComponent} from './notification-alert.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiNotificationAlertComponent],\n exports: [TuiNotificationAlertComponent],\n})\nexport class TuiNotificationAlertModule {}\n","import {Inject, Injectable} from '@angular/core';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {\n TuiNotificationOptions,\n TuiNotificationOptionsWithData,\n} from '@taiga-ui/core/interfaces';\nimport {NotificationTokenOptions, TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Observer} from 'rxjs';\n\nimport {NotificationAlert} from './notification-alert/Notification-alert';\nimport {TuiNotificationContentContext} from './notification-content-context';\n\nconst NO_HOST =\n 'Notifications are disabled, enable support by adding TuiNotificationsModule to your main app module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiNotificationsService {\n /** @internal */\n readonly items$ = new BehaviorSubject<ReadonlyArray<NotificationAlert<any, any>>>([]);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: NotificationTokenOptions,\n ) {}\n\n show<O = void>(\n content: PolymorpheusContent<TuiNotificationContentContext<O>>,\n ): Observable<O>;\n show<O = void>(\n content: PolymorpheusContent<TuiNotificationContentContext<O>>,\n options: TuiNotificationOptions,\n ): Observable<O>;\n show<O, I>(\n content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n options: TuiNotificationOptionsWithData<I>,\n ): Observable<O>;\n show<O, I>(\n content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n options: TuiNotificationOptions | TuiNotificationOptionsWithData<I> = {},\n ): Observable<O> {\n return new Observable((observer: Observer<O>) => {\n tuiAssert.assert(!!this.items$.observers.length, NO_HOST);\n\n const notification = new NotificationAlert(observer, content, {\n ...this.options,\n ...options,\n });\n\n this.items$.next([...this.items$.value, notification]);\n\n return () => {\n this.items$.next(this.items$.value.filter(item => item !== notification));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiFadeInList,\n tuiHeightCollapseList,\n tuiSlideInRightList,\n} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\n\nimport {TuiNotificationsService} from '../notifications.service';\n\n@Component({\n selector: 'tui-notifications-host',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './notifications-host.template.html',\n styleUrls: ['./notifications-host.style.less'],\n animations: [tuiFadeInList, tuiSlideInRightList, tuiHeightCollapseList],\n})\nexport class TuiNotificationsHostComponent {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TuiNotificationsService) readonly service: TuiNotificationsService,\n ) {}\n\n @tuiPure\n getAnimation(value: number): TuiAnimationOptions {\n return {\n value: String(value),\n ...this.options,\n };\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiNotificationAlertModule} from './notification-alert/notification-alert.module';\nimport {TuiNotificationsHostComponent} from './notifications-host/notifications-host.component';\n\n// TODO: remove in ivy compilation\nexport const NOTIFICATIONS_HOST = TuiNotificationsHostComponent;\n\n@NgModule({\n imports: [CommonModule, TuiNotificationAlertModule, TuiLetModule],\n declarations: [TuiNotificationsHostComponent],\n exports: [TuiNotificationsHostComponent],\n entryComponents: [TuiNotificationsHostComponent],\n providers: [\n {\n provide: TuiNotificationsHostComponent,\n useValue: NOTIFICATIONS_HOST,\n },\n ],\n})\nexport class TuiNotificationsModule {}\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-modules-notifications.js","sources":["ng://@taiga-ui/core/modules/notifications/notification-alert/Notification-alert.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/notification-alert.component.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/notification-alert.module.ts","ng://@taiga-ui/core/modules/notifications/notifications.service.ts","ng://@taiga-ui/core/modules/notifications/notifications-host/notifications-host.component.ts","ng://@taiga-ui/core/modules/notifications/notifications.module.ts","ng://@taiga-ui/core/modules/notifications/taiga-ui-core-modules-notifications.ts"],"sourcesContent":["import {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {\n TuiNotificationOptions,\n TuiNotificationOptionsWithData,\n} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observer} from 'rxjs';\n\nimport {TuiNotificationContentContext} from '../notification-content-context';\n\nexport class NotificationAlert<O, I> {\n readonly status = this.options.status;\n\n readonly hasIcon = this.options.hasIcon;\n\n readonly autoClose: boolean | number;\n\n readonly hasCloseButton = this.options.hasCloseButton;\n\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>> =\n this.options.label;\n\n readonly data!: I;\n\n constructor(\n readonly observer: Observer<O>,\n readonly content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n private readonly options: Required<\n TuiNotificationOptions | TuiNotificationOptionsWithData<I>\n >,\n ) {\n this.autoClose =\n typeof this.options.autoClose === 'function'\n ? this.options.autoClose(this.options.status)\n : this.options.autoClose;\n\n if (options && this.withData(options)) {\n this.data = options.data;\n }\n }\n\n private withData(\n options: TuiNotificationOptions | TuiNotificationOptionsWithData<I>,\n ): options is TuiNotificationOptionsWithData<I> {\n return 'data' in options;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n Input,\n OnInit,\n} from '@angular/core';\nimport {isNumber, TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\nimport {TuiNotificationContentContext} from '../notification-content-context';\nimport {NotificationAlert} from './Notification-alert';\n\n@Component({\n selector: 'tui-notification-alert',\n templateUrl: './notification-alert.template.html',\n styleUrls: ['./notification-alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiNotificationAlertComponent<O, I> implements OnInit {\n @Input()\n item!: NotificationAlert<O, I>;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: TuiNotificationDefaultOptions,\n ) {}\n\n ngOnInit() {\n this.initAutoClose();\n }\n\n get context(): TuiNotificationContentContext<O, I> {\n return this.calculateContext(this.item);\n }\n\n closeNotification() {\n this.item.observer.complete();\n }\n\n @tuiPure\n private calculateContext({\n status,\n data,\n label,\n observer,\n }: NotificationAlert<O, I>): TuiNotificationContentContext<O, I> {\n return {\n $implicit: status,\n data: data,\n label: label,\n closeHook: () => {\n observer.complete();\n },\n emitHook: (data: O) => {\n observer.next(data);\n },\n emitAndCloseHook: (data: O) => {\n observer.next(data);\n observer.complete();\n },\n };\n }\n\n private initAutoClose() {\n if (!this.item.autoClose) {\n return;\n }\n\n timer(\n isNumber(this.item.autoClose)\n ? this.item.autoClose\n : this.options.defaultAutoCloseTime,\n )\n .pipe(\n takeUntil(fromEvent(this.elementRef.nativeElement, 'mouseenter')),\n repeatWhen(() => fromEvent(this.elementRef.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiNotificationAlertComponent} from './notification-alert.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiNotificationAlertComponent],\n exports: [TuiNotificationAlertComponent],\n})\nexport class TuiNotificationAlertModule {}\n","import {Inject, Injectable} from '@angular/core';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {\n TuiNotificationOptions,\n TuiNotificationOptionsWithData,\n} from '@taiga-ui/core/interfaces';\nimport {\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Observer} from 'rxjs';\n\nimport {NotificationAlert} from './notification-alert/Notification-alert';\nimport {TuiNotificationContentContext} from './notification-content-context';\n\nconst NO_HOST =\n 'Notifications are disabled, enable support by adding TuiNotificationsModule to your main app module';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiNotificationsService {\n /** @internal */\n readonly items$ = new BehaviorSubject<ReadonlyArray<NotificationAlert<any, any>>>([]);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n readonly options: TuiNotificationDefaultOptions,\n ) {}\n\n show<O = void>(\n content: PolymorpheusContent<TuiNotificationContentContext<O>>,\n ): Observable<O>;\n show<O = void>(\n content: PolymorpheusContent<TuiNotificationContentContext<O>>,\n options: TuiNotificationOptions,\n ): Observable<O>;\n show<O, I>(\n content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n options: TuiNotificationOptionsWithData<I>,\n ): Observable<O>;\n show<O, I>(\n content: PolymorpheusContent<TuiNotificationContentContext<O, I>>,\n options: TuiNotificationOptions | TuiNotificationOptionsWithData<I> = {},\n ): Observable<O> {\n return new Observable((observer: Observer<O>) => {\n tuiAssert.assert(!!this.items$.observers.length, NO_HOST);\n\n const notification = new NotificationAlert(observer, content, {\n ...this.options,\n ...options,\n });\n\n this.items$.next([...this.items$.value, notification]);\n\n return () => {\n this.items$.next(this.items$.value.filter(item => item !== notification));\n };\n });\n }\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {\n tuiFadeInList,\n tuiHeightCollapseList,\n tuiSlideInRightList,\n} from '@taiga-ui/core/animations';\nimport {TuiAnimationOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\n\nimport {TuiNotificationsService} from '../notifications.service';\n\n@Component({\n selector: 'tui-notifications-host',\n templateUrl: './notifications-host.template.html',\n styleUrls: ['./notifications-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeInList, tuiSlideInRightList, tuiHeightCollapseList],\n})\nexport class TuiNotificationsHostComponent {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TuiNotificationsService) readonly service: TuiNotificationsService,\n ) {}\n\n @tuiPure\n getAnimation(value: number): TuiAnimationOptions {\n return {\n value: String(value),\n ...this.options,\n };\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiNotificationAlertModule} from './notification-alert/notification-alert.module';\nimport {TuiNotificationsHostComponent} from './notifications-host/notifications-host.component';\n\n// TODO: remove in ivy compilation\nexport const NOTIFICATIONS_HOST = TuiNotificationsHostComponent;\n\n@NgModule({\n imports: [CommonModule, TuiNotificationAlertModule, TuiLetModule],\n declarations: [TuiNotificationsHostComponent],\n exports: [TuiNotificationsHostComponent],\n entryComponents: [TuiNotificationsHostComponent],\n providers: [\n {\n provide: TuiNotificationsHostComponent,\n useValue: NOTIFICATIONS_HOST,\n },\n ],\n})\nexport class TuiNotificationsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { InjectionToken, inject, isDevMode } from '@angular/core';
2
2
  import { extractI18n } from '@taiga-ui/i18n';
3
3
  import { iconsPathFactory } from '@taiga-ui/core/utils';
4
+ import { __assign, __spread } from 'tslib';
4
5
  import { CHAR_NO_BREAK_SPACE, TUI_SANITIZER as TUI_SANITIZER$1 } from '@taiga-ui/cdk';
5
- import { __spread } from 'tslib';
6
6
  import { map } from 'rxjs/operators';
7
7
  import { identity } from 'rxjs';
8
8
 
@@ -82,10 +82,17 @@ var TUI_NOTIFICATION_DEFAULT_OPTIONS = {
82
82
  status: "info" /* Info */,
83
83
  hasIcon: true,
84
84
  hasCloseButton: true,
85
+ defaultAutoCloseTime: 3000,
85
86
  };
86
87
  var TUI_NOTIFICATION_OPTIONS = new InjectionToken('Default parameters for notification alert component', {
87
88
  factory: function () { return TUI_NOTIFICATION_DEFAULT_OPTIONS; },
88
89
  });
90
+ function tuiNotificationOptionsProvider(options) {
91
+ return {
92
+ provide: TUI_NOTIFICATION_OPTIONS,
93
+ useValue: __assign(__assign({}, TUI_NOTIFICATION_DEFAULT_OPTIONS), options),
94
+ };
95
+ }
89
96
 
90
97
  var TUI_NUMBER_FORMAT = new InjectionToken('Formatting configuration for displayed numbers', {
91
98
  factory: function () { return ({
@@ -127,11 +134,15 @@ var TUI_TEXTFIELD_APPEARANCE = new InjectionToken('Appearance for inputs', {
127
134
 
128
135
  var TUI_TEXTFIELD_HOST = new InjectionToken('An interface to communicate with textfield based controls');
129
136
 
137
+ var TUI_THEME = new InjectionToken('Theme name', {
138
+ factory: function () { return 'Taiga'; },
139
+ });
140
+
130
141
  var TUI_VALUE_ACCESSOR = new InjectionToken('Buffer token to pass NG_VALUE_ACCESSOR to a different Injector');
131
142
 
132
143
  /**
133
144
  * Generated bundle index. Do not edit.
134
145
  */
135
146
 
136
- export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIVE, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_VALUE_ACCESSOR, convertToSundayFirstWeekFormat };
147
+ export { TUI_ANIMATIONS_DURATION, TUI_ANIMATION_OPTIONS, TUI_ASSERT_ENABLED, TUI_CLOSE_WORD, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_DEFAULT_ERROR_MESSAGE, TUI_DOCUMENT_OR_SHADOW_ROOT, TUI_DROPDOWN_DIRECTIVE, TUI_ELEMENT_REF, TUI_FIRST_DAY_OF_WEEK, TUI_ICONS, TUI_ICONS_PATH, TUI_IS_MOBILE_RES, TUI_MEDIA, TUI_MODE, TUI_MONTHS, TUI_NOTHING_FOUND_MESSAGE, TUI_NOTIFICATION_DEFAULT_OPTIONS, TUI_NOTIFICATION_OPTIONS, TUI_NUMBER_FORMAT, TUI_OPTION_CONTENT, TUI_ORDERED_SHORT_WEEK_DAYS, TUI_SANITIZER, TUI_SCROLL_REF, TUI_SHORT_WEEK_DAYS, TUI_SPIN_TEXTS, TUI_SVG_SRC_PROCESSOR, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_HOST, TUI_THEME, TUI_VALUE_ACCESSOR, convertToSundayFirstWeekFormat, tuiNotificationOptionsProvider };
137
148
  //# sourceMappingURL=taiga-ui-core-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-tokens.js","sources":["ng://@taiga-ui/core/tokens/animations-duration.ts","ng://@taiga-ui/core/tokens/animation-options.ts","ng://@taiga-ui/core/tokens/assert-enabled.ts","ng://@taiga-ui/core/tokens/data-list-accessor.ts","ng://@taiga-ui/core/tokens/data-list-host.ts","ng://@taiga-ui/core/tokens/document-or-shadow-root.ts","ng://@taiga-ui/core/tokens/dropdown-directive.ts","ng://@taiga-ui/core/tokens/element-ref.ts","ng://@taiga-ui/core/tokens/first-day-of-week.ts","ng://@taiga-ui/core/tokens/i18n.ts","ng://@taiga-ui/core/tokens/icons.ts","ng://@taiga-ui/core/tokens/icons-path.ts","ng://@taiga-ui/core/tokens/is-mobile-resolution.ts","ng://@taiga-ui/core/tokens/media.ts","ng://@taiga-ui/core/tokens/mode.ts","ng://@taiga-ui/core/tokens/notification-options.ts","ng://@taiga-ui/core/tokens/number-format.ts","ng://@taiga-ui/core/tokens/option-content.ts","ng://@taiga-ui/core/tokens/ordered-short-week-days.ts","ng://@taiga-ui/core/tokens/sanitizer.ts","ng://@taiga-ui/core/tokens/scroll-ref.ts","ng://@taiga-ui/core/tokens/svg-src-processor.ts","ng://@taiga-ui/core/tokens/textfield-appearance.ts","ng://@taiga-ui/core/tokens/textfield-host.ts","ng://@taiga-ui/core/tokens/value-accessor.ts","ng://@taiga-ui/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n 'Duration of all Taiga UI animations in ms',\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n 'Options for Taiga UI animations',\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n 'Flag to enable assertions across Taiga UI',\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n 'Accessor for options',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<any>>(\n 'DataList controller',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n 'Document or ShadowRoot',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DROPDOWN_DIRECTIVE = new InjectionToken<TuiDropdown>(\n 'Directive controlling TuiDropdownBoxComponent',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n 'ElementRef when you cannot use @Input for single time injection',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n 'The first day of the week index',\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken('Localized months names', {\n factory: extractI18n('months'),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`i18n 'close' word`, {\n factory: extractI18n('close'),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `i18n 'Nothing found' message`,\n {\n factory: extractI18n('nothingFoundMessage'),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(`i18n of error message`, {\n factory: extractI18n('defaultErrorMessage'),\n});\n\nexport const TUI_SPIN_TEXTS = new InjectionToken('spin i18n texts', {\n factory: extractI18n('spinTexts'),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken('calendars i18n texts', {\n factory: extractI18n('shortWeekDays'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n 'A key/value dictionary of icon names and src to be defined with TuiSvgService',\n {\n factory: () => ({}),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {iconsPathFactory} from '@taiga-ui/core/utils';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n 'A handler to retrieve USE id for icon by name',\n {\n factory: () => iconsPathFactory('assets/taiga-ui/icons/'),\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n 'Mobile resolution stream for private providers',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>('Token for media constant', {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n 'Mode stream for private providers',\n );\n","import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiNotificationAutoClose} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface NotificationTokenOptions {\n readonly autoClose: TuiNotificationAutoClose;\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>>;\n readonly status: TuiNotification;\n readonly hasIcon: boolean;\n readonly hasCloseButton: boolean;\n}\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: NotificationTokenOptions = {\n autoClose: true,\n label: '',\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<NotificationTokenOptions>(\n 'Default parameters for notification alert component',\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<NumberFormatSettings>(\n 'Formatting configuration for displayed numbers',\n {\n factory: () => ({\n decimalSeparator: ',',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n zeroPadding: true,\n }),\n },\n);\n","import {InjectionToken, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<{}>>>\n>('Content for tuiOption component');\n","import {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK, TUI_SHORT_WEEK_DAYS} from './index';\n\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n// TODO: Remove export in ivy compiation\nexport const convertToSundayFirstWeekFormat = (weekDaysNames: WEEK_DAYS_NAMES) => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>('Ordered calendars i18n texts', {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {TUI_SANITIZER as TOKEN} from '@taiga-ui/cdk';\n\nexport const TUI_SANITIZER = TOKEN;\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n 'Scrollable container',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_SVG_SRC_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>('Source path processor for svg', {\n factory: () => identity,\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n 'Appearance for inputs',\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n 'An interface to communicate with textfield based controls',\n);\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n 'Buffer token to pass NG_VALUE_ACCESSOR to a different Injector',\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-tokens.js","sources":["ng://@taiga-ui/core/tokens/animations-duration.ts","ng://@taiga-ui/core/tokens/animation-options.ts","ng://@taiga-ui/core/tokens/assert-enabled.ts","ng://@taiga-ui/core/tokens/data-list-accessor.ts","ng://@taiga-ui/core/tokens/data-list-host.ts","ng://@taiga-ui/core/tokens/document-or-shadow-root.ts","ng://@taiga-ui/core/tokens/dropdown-directive.ts","ng://@taiga-ui/core/tokens/element-ref.ts","ng://@taiga-ui/core/tokens/first-day-of-week.ts","ng://@taiga-ui/core/tokens/i18n.ts","ng://@taiga-ui/core/tokens/icons.ts","ng://@taiga-ui/core/tokens/icons-path.ts","ng://@taiga-ui/core/tokens/is-mobile-resolution.ts","ng://@taiga-ui/core/tokens/media.ts","ng://@taiga-ui/core/tokens/mode.ts","ng://@taiga-ui/core/tokens/notification-options.ts","ng://@taiga-ui/core/tokens/number-format.ts","ng://@taiga-ui/core/tokens/option-content.ts","ng://@taiga-ui/core/tokens/ordered-short-week-days.ts","ng://@taiga-ui/core/tokens/sanitizer.ts","ng://@taiga-ui/core/tokens/scroll-ref.ts","ng://@taiga-ui/core/tokens/svg-src-processor.ts","ng://@taiga-ui/core/tokens/textfield-appearance.ts","ng://@taiga-ui/core/tokens/textfield-host.ts","ng://@taiga-ui/core/tokens/theme.ts","ng://@taiga-ui/core/tokens/value-accessor.ts","ng://@taiga-ui/core/tokens/taiga-ui-core-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\n\nexport const TUI_ANIMATIONS_DURATION = new InjectionToken<number>(\n 'Duration of all Taiga UI animations in ms',\n {\n factory: () => 300,\n },\n);\n","import {AnimationOptions} from '@angular/animations';\nimport {inject, InjectionToken} from '@angular/core';\n\nimport {TUI_ANIMATIONS_DURATION} from './animations-duration';\n\nexport const TUI_ANIMATION_OPTIONS = new InjectionToken<AnimationOptions>(\n 'Options for Taiga UI animations',\n {\n factory: () => ({\n params: {\n duration: inject(TUI_ANIMATIONS_DURATION),\n },\n }),\n },\n);\n","import {InjectionToken, isDevMode} from '@angular/core';\n\nexport const TUI_ASSERT_ENABLED = new InjectionToken(\n 'Flag to enable assertions across Taiga UI',\n {\n factory: () => isDevMode(),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_ACCESSOR = new InjectionToken<TuiDataListAccessor>(\n 'Accessor for options',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DATA_LIST_HOST = new InjectionToken<TuiDataListHost<any>>(\n 'DataList controller',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOCUMENT_OR_SHADOW_ROOT = new InjectionToken<DocumentOrShadowRoot>(\n 'Document or ShadowRoot',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\n\nexport const TUI_DROPDOWN_DIRECTIVE = new InjectionToken<TuiDropdown>(\n 'Directive controlling TuiDropdownBoxComponent',\n);\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_ELEMENT_REF = new InjectionToken<ElementRef>(\n 'ElementRef when you cannot use @Input for single time injection',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiDayOfWeek} from '@taiga-ui/cdk';\n\nexport const TUI_FIRST_DAY_OF_WEEK = new InjectionToken<TuiDayOfWeek>(\n 'The first day of the week index',\n {\n factory: () => TuiDayOfWeek.Monday,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {extractI18n} from '@taiga-ui/i18n';\n\nexport const TUI_MONTHS = new InjectionToken('Localized months names', {\n factory: extractI18n('months'),\n});\n\nexport const TUI_CLOSE_WORD = new InjectionToken(`i18n 'close' word`, {\n factory: extractI18n('close'),\n});\n\nexport const TUI_NOTHING_FOUND_MESSAGE = new InjectionToken(\n `i18n 'Nothing found' message`,\n {\n factory: extractI18n('nothingFoundMessage'),\n },\n);\n\nexport const TUI_DEFAULT_ERROR_MESSAGE = new InjectionToken(`i18n of error message`, {\n factory: extractI18n('defaultErrorMessage'),\n});\n\nexport const TUI_SPIN_TEXTS = new InjectionToken('spin i18n texts', {\n factory: extractI18n('spinTexts'),\n});\n\nexport const TUI_SHORT_WEEK_DAYS = new InjectionToken('calendars i18n texts', {\n factory: extractI18n('shortWeekDays'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_ICONS = new InjectionToken<Record<string, string>>(\n 'A key/value dictionary of icon names and src to be defined with TuiSvgService',\n {\n factory: () => ({}),\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {iconsPathFactory} from '@taiga-ui/core/utils';\n\nexport const TUI_ICONS_PATH: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>(\n 'A handler to retrieve USE id for icon by name',\n {\n factory: () => iconsPathFactory('assets/taiga-ui/icons/'),\n },\n );\n","import {InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nexport const TUI_IS_MOBILE_RES = new InjectionToken<Observable<boolean>>(\n 'Mobile resolution stream for private providers',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\n\nexport const TUI_MEDIA = new InjectionToken<TuiMedia>('Token for media constant', {\n factory: () => ({\n mobile: 768,\n desktopSmall: 1024,\n desktopLarge: 1280,\n }),\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MODE: InjectionToken<Observable<TuiBrightness | null>> =\n new InjectionToken<Observable<TuiBrightness | null>>(\n 'Mode stream for private providers',\n );\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiNotification} from '@taiga-ui/core/enums';\nimport {TuiNotificationAutoClose} from '@taiga-ui/core/interfaces';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiNotificationDefaultOptions {\n readonly autoClose: TuiNotificationAutoClose;\n readonly label: PolymorpheusContent<TuiContextWithImplicit<TuiNotification>>;\n readonly status: TuiNotification;\n readonly hasIcon: boolean;\n readonly hasCloseButton: boolean;\n readonly defaultAutoCloseTime: number;\n}\n\n/**\n * @deprecated: remove in v3.0, use TuiNotificationDefaultOptions\n */\nexport type NotificationTokenOptions = TuiNotificationDefaultOptions;\n\n/** Default values for the notification options. */\nexport const TUI_NOTIFICATION_DEFAULT_OPTIONS: TuiNotificationDefaultOptions = {\n autoClose: true,\n label: '',\n status: TuiNotification.Info,\n hasIcon: true,\n hasCloseButton: true,\n defaultAutoCloseTime: 3000,\n};\n\nexport const TUI_NOTIFICATION_OPTIONS = new InjectionToken<TuiNotificationDefaultOptions>(\n 'Default parameters for notification alert component',\n {\n factory: () => TUI_NOTIFICATION_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiNotificationOptionsProvider(\n options: Partial<TuiNotificationDefaultOptions>,\n): ValueProvider {\n return {\n provide: TUI_NOTIFICATION_OPTIONS,\n useValue: {...TUI_NOTIFICATION_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {InjectionToken} from '@angular/core';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {NumberFormatSettings} from '@taiga-ui/core/interfaces';\n\nexport const TUI_NUMBER_FORMAT = new InjectionToken<NumberFormatSettings>(\n 'Formatting configuration for displayed numbers',\n {\n factory: () => ({\n decimalSeparator: ',',\n thousandSeparator: CHAR_NO_BREAK_SPACE,\n zeroPadding: true,\n }),\n },\n);\n","import {InjectionToken, TemplateRef} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_OPTION_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<TemplateRef<{}>>>\n>('Content for tuiOption component');\n","import {inject, InjectionToken} from '@angular/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_FIRST_DAY_OF_WEEK, TUI_SHORT_WEEK_DAYS} from './index';\n\nexport type WEEK_DAYS_NAMES = [string, string, string, string, string, string, string];\n\n// TODO: Remove export in ivy compiation\nexport const convertToSundayFirstWeekFormat = (weekDaysNames: WEEK_DAYS_NAMES) => {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [\n weekDaysNames[sundayIndex],\n ...weekDaysNames.slice(0, sundayIndex),\n ] as WEEK_DAYS_NAMES;\n};\n\nexport const TUI_ORDERED_SHORT_WEEK_DAYS = new InjectionToken<\n Observable<WEEK_DAYS_NAMES>\n>('Ordered calendars i18n texts', {\n factory: () => {\n const firstDayOfWeekIndex = inject(TUI_FIRST_DAY_OF_WEEK);\n\n return inject(TUI_SHORT_WEEK_DAYS).pipe(\n map(convertToSundayFirstWeekFormat),\n map(\n weekDays =>\n [\n ...weekDays.slice(firstDayOfWeekIndex),\n ...weekDays.slice(0, firstDayOfWeekIndex),\n ] as WEEK_DAYS_NAMES,\n ),\n );\n },\n});\n","import {TUI_SANITIZER as TOKEN} from '@taiga-ui/cdk';\n\nexport const TUI_SANITIZER = TOKEN;\n","import {ElementRef, InjectionToken} from '@angular/core';\n\nexport const TUI_SCROLL_REF = new InjectionToken<ElementRef<HTMLElement>>(\n 'Scrollable container',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_SVG_SRC_PROCESSOR: InjectionToken<TuiStringHandler<string>> =\n new InjectionToken<TuiStringHandler<string>>('Source path processor for svg', {\n factory: () => identity,\n });\n","import {InjectionToken} from '@angular/core';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\n\nexport const TUI_TEXTFIELD_APPEARANCE = new InjectionToken<string>(\n 'Appearance for inputs',\n {\n factory: () => TuiAppearance.Textfield,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\nexport const TUI_TEXTFIELD_HOST = new InjectionToken<TuiTextfieldHost>(\n 'An interface to communicate with textfield based controls',\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_THEME = new InjectionToken<string>('Theme name', {\n factory: () => 'Taiga',\n});\n","import {InjectionToken} from '@angular/core';\nimport {ControlValueAccessor} from '@angular/forms';\n\nexport const TUI_VALUE_ACCESSOR = new InjectionToken<ControlValueAccessor>(\n 'Buffer token to pass NG_VALUE_ACCESSOR to a different Injector',\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TOKEN"],"mappings":"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"}
@@ -49,7 +49,7 @@ function processIcon(source, name) {
49
49
  if (!attributes ||
50
50
  !attributes.includes(WIDTH_SEARCH) ||
51
51
  !attributes.includes(HEIGHT_SEARCH)) {
52
- return (src.replace(START, "<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"" + name + "\" xmlns=\"http://www.w3.org/2000/svg\"><svg") + '</g></svg>');
52
+ return src.replace(START, "<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"" + name + "\" xmlns=\"http://www.w3.org/2000/svg\"><svg") + "</g></svg>";
53
53
  }
54
54
  var indexOfWidth = attributes.indexOf(WIDTH_SEARCH);
55
55
  var indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-dom.js","sources":["ng://@taiga-ui/core/utils/dom/are-css-vars-supported.ts","ng://@taiga-ui/core/utils/dom/check-fixed-position.ts","ng://@taiga-ui/core/utils/dom/get-safe-area-size.ts","ng://@taiga-ui/core/utils/dom/get-screen-width.ts","ng://@taiga-ui/core/utils/dom/process-icon.ts","ng://@taiga-ui/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {isEdgeOlderThan} from '@taiga-ui/cdk';\n\n/**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\nexport function areCssVarsSupported(cssRef: any, userAgent: string): boolean {\n return cssRef.supports('(--a: 0)') && !isEdgeOlderThan(17, userAgent);\n}\n","export function checkFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === 'undefined') {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue('position') === 'fixed' ||\n checkFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function getSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop!, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function getScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\nexport function processIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return (\n src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n ) + '</g></svg>'\n );\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%') ||\n widthString.includes('em') ||\n heightString.includes('em')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\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-utils-dom.js","sources":["ng://@taiga-ui/core/utils/dom/are-css-vars-supported.ts","ng://@taiga-ui/core/utils/dom/check-fixed-position.ts","ng://@taiga-ui/core/utils/dom/get-safe-area-size.ts","ng://@taiga-ui/core/utils/dom/get-screen-width.ts","ng://@taiga-ui/core/utils/dom/process-icon.ts","ng://@taiga-ui/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {isEdgeOlderThan} from '@taiga-ui/cdk';\n\n/**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\nexport function areCssVarsSupported(cssRef: any, userAgent: string): boolean {\n return cssRef.supports('(--a: 0)') && !isEdgeOlderThan(17, userAgent);\n}\n","export function checkFixedPosition(element: HTMLElement | null): boolean {\n if (!element || typeof getComputedStyle === 'undefined') {\n return false;\n }\n\n const style = getComputedStyle(element);\n\n return (\n style.getPropertyValue('position') === 'fixed' ||\n checkFixedPosition(element.parentElement)\n );\n}\n","/**\n * Calculates size of safe area on mobile devices (status bars)\n *\n * ATTENTION: Only use in browser environment\n */\nexport function getSafeAreaSize(): number {\n if (!CSS.supports('padding-top: env(safe-area-inset-top)')) {\n return 0;\n }\n\n const div = document.createElement('div');\n\n div.style.paddingTop = 'env(safe-area-inset-top)';\n document.body.appendChild(div);\n\n const safeAreaSize = parseInt(window.getComputedStyle(div).paddingTop!, 10) || 0;\n\n document.body.removeChild(div);\n\n return safeAreaSize;\n}\n","export function getScreenWidth(documentRef: Document): number {\n return Math.max(\n documentRef.documentElement.clientWidth,\n documentRef.defaultView ? documentRef.defaultView.innerWidth : 0,\n );\n}\n","const WIDTH_SEARCH = 'width=\"';\nconst HEIGHT_SEARCH = 'height=\"';\nconst START = '<svg';\n\nexport function processIcon(source: string, name: string): string {\n if (source.includes(`id=\"${name}\"`)) {\n return source;\n }\n\n const src = source.substring(source.indexOf(START));\n const attributes = src.substring(0, src.indexOf('>'));\n\n if (\n !attributes ||\n !attributes.includes(WIDTH_SEARCH) ||\n !attributes.includes(HEIGHT_SEARCH)\n ) {\n return `${src.replace(\n START,\n `<svg xmlns=\"http://www.w3.org/2000/svg\"><g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg`,\n )}</g></svg>`;\n }\n\n const indexOfWidth = attributes.indexOf(WIDTH_SEARCH);\n const indexOfHeight = attributes.indexOf(HEIGHT_SEARCH);\n const widthOffset = indexOfWidth + WIDTH_SEARCH.length;\n const heightOffset = indexOfHeight + HEIGHT_SEARCH.length;\n const widthString = attributes.substring(\n widthOffset,\n attributes.indexOf('\"', widthOffset),\n );\n const heightString = attributes.substring(\n heightOffset,\n attributes.indexOf('\"', heightOffset),\n );\n\n if (\n !heightString ||\n !widthString ||\n widthString.includes('%') ||\n heightString.includes('%') ||\n widthString.includes('em') ||\n heightString.includes('em')\n ) {\n return src.replace(START, `<svg id=\"${name}\"`);\n }\n\n const width = parseInt(widthString, 10);\n const height = parseInt(heightString, 10);\n\n return `<g id=\"${name}\" xmlns=\"http://www.w3.org/2000/svg\"><svg x=\"50%\" y=\"50%\" width=\"${\n width / 16\n }em\" height=\"${\n height / 16\n }em\" overflow=\"visible\" viewBox=\"0 0 ${width} ${height}\"><svg x=\"${-width / 2}\" y=\"${\n -height / 2\n }\">${src}</svg></svg></g>`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ function getFractionPartPadded(value, precision) {
45
45
  }
46
46
 
47
47
  /**
48
- * Formats number adding thousand separators and correct decimal separator
48
+ * Formats number adding a thousand separators and correct decimal separator
49
49
  * padding decimal part with zeroes to given length
50
50
  *
51
51
  * @param value the input number
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-format.js","sources":["ng://@taiga-ui/core/utils/format/capitalize.ts","ng://@taiga-ui/core/utils/format/number-to-string-without-exp.ts","ng://@taiga-ui/core/utils/format/get-fractional-part-padded.ts","ng://@taiga-ui/core/utils/format/format-number.ts","ng://@taiga-ui/core/utils/format/format-phone.ts","ng://@taiga-ui/core/utils/format/other-decimal-symbol.ts","ng://@taiga-ui/core/utils/format/pluralize.ts","ng://@taiga-ui/core/utils/format/pluralize-to-icu.ts","ng://@taiga-ui/core/utils/format/taiga-ui-core-utils-format.ts"],"sourcesContent":["/**\n * Capitalizes a given string, replacing it with a lowercase string and making\n * the first letter of each word uppercase.\n *\n * @param value the input string\n * @return the capitalized string\n */\nexport function capitalize(value: string): string {\n return value.toLowerCase().replace(/(?:^|\\s)\\S/g, char => char.toUpperCase());\n}\n","/**\n * Convert number to string with replacing exponent part on decimals\n *\n * @param value the number\n * @return string representation of a number\n */\nexport function numberToStringWithoutExp(value: number): string {\n const valueAsString = String(value);\n const [numberPart, expPart] = valueAsString.split('e-');\n\n let valueWithoutExp = valueAsString;\n\n if (expPart) {\n const [, fractionalPart] = numberPart.split('.');\n const decimalDigits = Number(expPart) + (fractionalPart?.length || 0);\n\n valueWithoutExp = value.toFixed(decimalDigits);\n }\n\n return valueWithoutExp;\n}\n","import {numberToStringWithoutExp} from './number-to-string-without-exp';\n\n/**\n * Return fractional part of number\n *\n * @param value the number\n * @param precision number of digits of decimal part, null to keep untouched\n * @return the fractional part of number\n */\nexport function getFractionPartPadded(value: number, precision?: number | null): string {\n const [, fractionPartPadded = ''] = numberToStringWithoutExp(value).split('.');\n\n return typeof precision === 'number'\n ? fractionPartPadded.substr(0, precision)\n : fractionPartPadded;\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\n\nimport {getFractionPartPadded} from './get-fractional-part-padded';\n\n/**\n * Formats number adding thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n *\n * @param value the input number\n * @param decimalLimit number of digits of decimal part, null to keep untouched\n * @param decimalSeparator separator between the integer and the decimal part\n * @param thousandSeparator separator between thousands\n * @param zeroPadding enable zeros at the end of decimal part\n * @return the formatted string\n */\nexport function formatNumber(\n value: number,\n decimalLimit: number | null = null,\n decimalSeparator: string = ',',\n thousandSeparator: string = CHAR_NO_BREAK_SPACE,\n zeroPadding: boolean = true,\n): string {\n const integerPartString = String(Math.floor(Math.abs(value)));\n\n let fractionPartPadded = getFractionPartPadded(value, decimalLimit);\n\n if (decimalLimit !== null) {\n const zeroPaddingSize: number = zeroPadding\n ? Math.max(decimalLimit - fractionPartPadded.length, 0)\n : 0;\n const zeroPartString = '0'.repeat(zeroPaddingSize);\n\n fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;\n }\n\n const remainder = integerPartString.length % 3;\n const sign = value < 0 ? '-' : '';\n let result = sign + integerPartString.charAt(0);\n\n for (let i = 1; i < integerPartString.length; i++) {\n if (i % 3 === remainder && integerPartString.length > 3) {\n result += thousandSeparator;\n }\n\n result += integerPartString.charAt(i);\n }\n\n return !!fractionPartPadded || decimalLimit\n ? result + decimalSeparator + fractionPartPadded\n : result;\n}\n","/**\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function formatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return '';\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replace(/[()]/g, '');\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace('+', '');\n }\n\n const splitPhoneMask = phoneMask.split('');\n const splitValue = value.slice(countryCode.length).split('');\n\n result += ' ';\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (let i = 0; i < splitPhoneMask.length; i++) {\n if (splitValue.length === 0) {\n break;\n }\n\n if (splitPhoneMask[i] === '#') {\n result += splitValue[0] || '';\n splitValue.splice(0, 1);\n } else {\n result += splitPhoneMask[i];\n }\n }\n\n return result;\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function otherDecimalSymbol(symbol: TuiDecimalSymbol): TuiDecimalSymbol {\n return symbol === '.' ? ',' : '.';\n}\n","import {TuiPluralize} from '@taiga-ui/core/types';\n\n/**\n * Selects the correct plural form to display.\n *\n * @param value the input number\n * @param args an array of three plural forms, e.g. ['год', 'года', 'лет']\n * @deprecated This implementation targets Russian.\n * Use https://angular.io/api/common/NgPlural for your implementations.\n */\nexport function pluralize(value: number, [one, few, many]: TuiPluralize): string {\n const ten = value % 10;\n const hundred = value % 100;\n\n // 1, 21, 101, 121, но не 11, 111, 211...\n if (ten === 1 && hundred !== 11) {\n return one;\n }\n\n // 2, 3, 4, 22, 33, 44, 152, 163, 174, но не 12, 13, 14, 112, 213, 314...\n if (ten >= 2 && ten <= 4 && (hundred < 10 || hundred >= 20)) {\n return few;\n }\n\n return many;\n}\n","import {TuiPluralize} from '@taiga-ui/core/types';\n\n// TODO: remove in 3.0\n\n/**\n * Temporary util for mapping TuiPluralize array to ICU format\n */\nexport function tuiPluralizeToICU(pluralize: TuiPluralize): Record<string, string> {\n return {\n one: pluralize[0],\n few: pluralize[1],\n many: pluralize[2],\n other: pluralize[2],\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-utils-format.js","sources":["ng://@taiga-ui/core/utils/format/capitalize.ts","ng://@taiga-ui/core/utils/format/number-to-string-without-exp.ts","ng://@taiga-ui/core/utils/format/get-fractional-part-padded.ts","ng://@taiga-ui/core/utils/format/format-number.ts","ng://@taiga-ui/core/utils/format/format-phone.ts","ng://@taiga-ui/core/utils/format/other-decimal-symbol.ts","ng://@taiga-ui/core/utils/format/pluralize.ts","ng://@taiga-ui/core/utils/format/pluralize-to-icu.ts","ng://@taiga-ui/core/utils/format/taiga-ui-core-utils-format.ts"],"sourcesContent":["/**\n * Capitalizes a given string, replacing it with a lowercase string and making\n * the first letter of each word uppercase.\n *\n * @param value the input string\n * @return the capitalized string\n */\nexport function capitalize(value: string): string {\n return value.toLowerCase().replace(/(?:^|\\s)\\S/g, char => char.toUpperCase());\n}\n","/**\n * Convert number to string with replacing exponent part on decimals\n *\n * @param value the number\n * @return string representation of a number\n */\nexport function numberToStringWithoutExp(value: number): string {\n const valueAsString = String(value);\n const [numberPart, expPart] = valueAsString.split('e-');\n\n let valueWithoutExp = valueAsString;\n\n if (expPart) {\n const [, fractionalPart] = numberPart.split('.');\n const decimalDigits = Number(expPart) + (fractionalPart?.length || 0);\n\n valueWithoutExp = value.toFixed(decimalDigits);\n }\n\n return valueWithoutExp;\n}\n","import {numberToStringWithoutExp} from './number-to-string-without-exp';\n\n/**\n * Return fractional part of number\n *\n * @param value the number\n * @param precision number of digits of decimal part, null to keep untouched\n * @return the fractional part of number\n */\nexport function getFractionPartPadded(value: number, precision?: number | null): string {\n const [, fractionPartPadded = ''] = numberToStringWithoutExp(value).split('.');\n\n return typeof precision === 'number'\n ? fractionPartPadded.substr(0, precision)\n : fractionPartPadded;\n}\n","import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\n\nimport {getFractionPartPadded} from './get-fractional-part-padded';\n\n/**\n * Formats number adding a thousand separators and correct decimal separator\n * padding decimal part with zeroes to given length\n *\n * @param value the input number\n * @param decimalLimit number of digits of decimal part, null to keep untouched\n * @param decimalSeparator separator between the integer and the decimal part\n * @param thousandSeparator separator between thousands\n * @param zeroPadding enable zeros at the end of decimal part\n * @return the formatted string\n */\nexport function formatNumber(\n value: number,\n decimalLimit: number | null = null,\n decimalSeparator: string = ',',\n thousandSeparator: string = CHAR_NO_BREAK_SPACE,\n zeroPadding: boolean = true,\n): string {\n const integerPartString = String(Math.floor(Math.abs(value)));\n\n let fractionPartPadded = getFractionPartPadded(value, decimalLimit);\n\n if (decimalLimit !== null) {\n const zeroPaddingSize: number = zeroPadding\n ? Math.max(decimalLimit - fractionPartPadded.length, 0)\n : 0;\n const zeroPartString = '0'.repeat(zeroPaddingSize);\n\n fractionPartPadded = `${fractionPartPadded}${zeroPartString}`;\n }\n\n const remainder = integerPartString.length % 3;\n const sign = value < 0 ? '-' : '';\n let result = sign + integerPartString.charAt(0);\n\n for (let i = 1; i < integerPartString.length; i++) {\n if (i % 3 === remainder && integerPartString.length > 3) {\n result += thousandSeparator;\n }\n\n result += integerPartString.charAt(i);\n }\n\n return !!fractionPartPadded || decimalLimit\n ? result + decimalSeparator + fractionPartPadded\n : result;\n}\n","/**\n * Formats a string with the phone format +7XXXXXXXXXXXX or XXXXXXXXXXXX,\n * adding parentheses and hyphens.\n *\n * @param value the input string\n * @param countryCode a country code\n * @param phoneMask a phone number mask\n * @return the formatted phone string of the form +7 XXX XXX-XX-XX\n */\nexport function formatPhone(\n value: string,\n countryCode: string,\n phoneMask: string,\n): string {\n if (!value) {\n return '';\n }\n\n let result = countryCode;\n\n countryCode = countryCode.replace(/[()]/g, '');\n\n if (!value.startsWith(countryCode)) {\n value = countryCode + value.replace('+', '');\n }\n\n const splitPhoneMask = phoneMask.split('');\n const splitValue = value.slice(countryCode.length).split('');\n\n result += ' ';\n\n if (splitValue.length === 0) {\n return result;\n }\n\n for (let i = 0; i < splitPhoneMask.length; i++) {\n if (splitValue.length === 0) {\n break;\n }\n\n if (splitPhoneMask[i] === '#') {\n result += splitValue[0] || '';\n splitValue.splice(0, 1);\n } else {\n result += splitPhoneMask[i];\n }\n }\n\n return result;\n}\n","import {TuiDecimalSymbol} from '@taiga-ui/core/types';\n\nexport function otherDecimalSymbol(symbol: TuiDecimalSymbol): TuiDecimalSymbol {\n return symbol === '.' ? ',' : '.';\n}\n","import {TuiPluralize} from '@taiga-ui/core/types';\n\n/**\n * Selects the correct plural form to display.\n *\n * @param value the input number\n * @param args an array of three plural forms, e.g. ['год', 'года', 'лет']\n * @deprecated This implementation targets Russian.\n * Use https://angular.io/api/common/NgPlural for your implementations.\n */\nexport function pluralize(value: number, [one, few, many]: TuiPluralize): string {\n const ten = value % 10;\n const hundred = value % 100;\n\n // 1, 21, 101, 121, но не 11, 111, 211...\n if (ten === 1 && hundred !== 11) {\n return one;\n }\n\n // 2, 3, 4, 22, 33, 44, 152, 163, 174, но не 12, 13, 14, 112, 213, 314...\n if (ten >= 2 && ten <= 4 && (hundred < 10 || hundred >= 20)) {\n return few;\n }\n\n return many;\n}\n","import {TuiPluralize} from '@taiga-ui/core/types';\n\n// TODO: remove in 3.0\n\n/**\n * Temporary util for mapping TuiPluralize array to ICU format\n */\nexport function tuiPluralizeToICU(pluralize: TuiPluralize): Record<string, string> {\n return {\n one: pluralize[0],\n few: pluralize[1],\n many: pluralize[2],\n other: pluralize[2],\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { CHAR_NO_BREAK_SPACE, tuiAssert, isSafari, isNativeFocused, getDocumentOrShadowRoot, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
2
  import { __spread, __read } from 'tslib';
3
- import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_LEADING_ZEROES_REGEXP } from '@taiga-ui/core/constants';
3
+ import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_DECIMAL_SYMBOLS } from '@taiga-ui/core/constants';
4
4
  import { otherDecimalSymbol } from '@taiga-ui/core/utils/format';
5
5
 
6
6
  /**
@@ -55,7 +55,7 @@ function tuiCreateAutoCorrectedNumberPipe(decimalLimit, decimalSymbol, thousandS
55
55
  }
56
56
  function addDecimalSymbolIfNeeded(value, decimalSymbol) {
57
57
  if (decimalSymbol === void 0) { decimalSymbol = ','; }
58
- return value.indexOf(decimalSymbol) === -1 ? value + decimalSymbol : value;
58
+ return !value.includes(decimalSymbol) ? value + decimalSymbol : value;
59
59
  }
60
60
  function calculateSafariCaret(previousValue, current, previousCaret, decimalSymbol) {
61
61
  if (previousValue === void 0) { previousValue = ''; }
@@ -127,7 +127,6 @@ function tuiCreateCorrectionMask(allowed, correctionHandler) {
127
127
  var NON_ZERO_DIGIT = /[1-9]/;
128
128
  /**
129
129
  * Adaptation for {@link https://github.com/text-mask/text-mask/tree/master/addons#createnumbermask `createNumberMask`}
130
- * @todo TODO: autocCorrectDecimalSymbol is no longer needed. Remove it in 3.0
131
130
  */
132
131
  function tuiCreateNumberMask(_a) {
133
132
  var _b = _a === void 0 ? {} : _a, _c = _b.allowDecimal, allowDecimal = _c === void 0 ? false : _c, _d = _b.decimalSymbol, decimalSymbol = _d === void 0 ? ',' : _d, _e = _b.thousandSymbol, thousandSymbol = _e === void 0 ? CHAR_NO_BREAK_SPACE : _e, _f = _b.autoCorrectDecimalSymbol, autoCorrectDecimalSymbol = _f === void 0 ? true : _f, _g = _b.decimalLimit, decimalLimit = _g === void 0 ? 2 : _g, _h = _b.requireDecimal, requireDecimal = _h === void 0 ? false : _h, _j = _b.allowNegative, allowNegative = _j === void 0 ? false : _j, _k = _b.integerLimit, integerLimit = _k === void 0 ? 0 : _k;
@@ -243,6 +242,11 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
243
242
  : strNumber;
244
243
  }
245
244
 
245
+ function tuiEnableAutoCorrectDecimalSymbol(_a) {
246
+ var thousandSeparator = _a.thousandSeparator;
247
+ return !TUI_DECIMAL_SYMBOLS.includes(thousandSeparator);
248
+ }
249
+
246
250
  function maskedMoneyValueIsEmpty(value) {
247
251
  switch (value) {
248
252
  case '':
@@ -263,5 +267,5 @@ function maskedNumberStringToNumber(value, decimalsSymbol, thousandSymbol) {
263
267
  * Generated bundle index. Do not edit.
264
268
  */
265
269
 
266
- export { maskedMoneyValueIsEmpty, maskedNumberStringToNumber, tuiCreateAutoCorrectedNumberPipe, tuiCreateCorrectionMask, tuiCreateNumberMask };
270
+ export { maskedMoneyValueIsEmpty, maskedNumberStringToNumber, tuiCreateAutoCorrectedNumberPipe, tuiCreateCorrectionMask, tuiCreateNumberMask, tuiEnableAutoCorrectDecimalSymbol };
267
271
  //# sourceMappingURL=taiga-ui-core-utils-mask.js.map