@taiga-ui/core 2.23.0 → 2.24.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 (272) hide show
  1. package/README.md +7 -3
  2. package/bundles/taiga-ui-core-components-button.umd.js +21 -7
  3. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-button.umd.min.js +1 -1
  5. package/bundles/taiga-ui-core-components-button.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-calendar.umd.js +1 -1
  7. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  9. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-data-list.umd.js +4 -3
  11. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-data-list.umd.min.js +2 -2
  13. package/bundles/taiga-ui-core-components-data-list.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  15. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  17. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +1 -1
  19. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  20. package/bundles/taiga-ui-core-components-error.umd.js +1 -1
  21. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  22. package/bundles/taiga-ui-core-components-expand.umd.js +1 -1
  23. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  24. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  25. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-core-components-hints-host.umd.js +2 -2
  27. package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
  28. package/bundles/taiga-ui-core-components-hints-host.umd.min.js +1 -1
  29. package/bundles/taiga-ui-core-components-hints-host.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +1 -14
  31. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  32. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  33. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-core-components-label.umd.js +1 -1
  35. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  36. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  37. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-core-components-loader.umd.js +2 -2
  39. package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
  40. package/bundles/taiga-ui-core-components-loader.umd.min.js +1 -1
  41. package/bundles/taiga-ui-core-components-loader.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-core-components-notification.umd.js +1 -1
  43. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  44. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +1 -1
  45. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  46. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js +1 -1
  47. package/bundles/taiga-ui-core-components-primitive-calendar.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +1 -1
  49. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  50. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +3 -3
  51. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  52. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  53. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +1 -1
  55. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  56. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js +1 -1
  57. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  59. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
  60. package/bundles/taiga-ui-core-components-scrollbar.umd.js +34 -24
  61. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  62. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +2 -2
  63. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-core-components-tooltip.umd.js +1 -1
  65. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  66. package/bundles/taiga-ui-core-constants.umd.js +9 -1
  67. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  68. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  69. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +9 -3
  71. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  72. package/bundles/taiga-ui-core-directives-textfield-controller.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  74. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  75. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js +1 -1
  76. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-core-modules-notifications.umd.js +2 -2
  78. package/bundles/taiga-ui-core-modules-notifications.umd.js.map +1 -1
  79. package/bundles/taiga-ui-core-modules-notifications.umd.min.js +1 -1
  80. package/bundles/taiga-ui-core-modules-notifications.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-core-utils-mask.umd.js +27 -8
  82. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  83. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  84. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  85. package/components/button/button-options.d.ts +10 -0
  86. package/components/button/button.component.d.ts +8 -7
  87. package/components/button/index.d.ts +1 -0
  88. package/components/button/taiga-ui-core-components-button.metadata.json +1 -1
  89. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  90. package/components/data-list/taiga-ui-core-components-data-list.metadata.json +1 -1
  91. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  92. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  93. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  94. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  95. package/components/hints-host/taiga-ui-core-components-hints-host.metadata.json +1 -1
  96. package/components/hosted-dropdown/hosted-dropdown.component.d.ts +1 -3
  97. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  98. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  99. package/components/loader/taiga-ui-core-components-loader.metadata.json +1 -1
  100. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  101. package/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.metadata.json +1 -1
  102. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  103. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  104. package/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.metadata.json +1 -1
  105. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  106. package/components/scrollbar/scrollable.directive.d.ts +5 -1
  107. package/components/scrollbar/scrollbar.component.d.ts +4 -3
  108. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  109. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  110. package/constants/events.d.ts +5 -0
  111. package/constants/regexp.d.ts +1 -0
  112. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  113. package/constants/version.d.ts +1 -1
  114. package/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.metadata.json +1 -1
  115. package/esm2015/components/button/button-options.js +10 -0
  116. package/esm2015/components/button/button.component.js +12 -8
  117. package/esm2015/components/button/index.js +2 -1
  118. package/esm2015/components/calendar/calendar.component.js +2 -2
  119. package/esm2015/components/data-list/data-list.component.js +3 -2
  120. package/esm2015/components/data-list/option/option.component.js +3 -3
  121. package/esm2015/components/dialog/dialog.component.js +2 -2
  122. package/esm2015/components/dropdown-box/dropdown-box.component.js +1 -1
  123. package/esm2015/components/error/error.component.js +1 -1
  124. package/esm2015/components/expand/expand.component.js +2 -2
  125. package/esm2015/components/hints-host/hint-box/hint-box.component.js +1 -1
  126. package/esm2015/components/hints-host/hints-host.component.js +2 -2
  127. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -12
  128. package/esm2015/components/label/label.component.js +2 -2
  129. package/esm2015/components/loader/loader.component.js +3 -3
  130. package/esm2015/components/notification/notification.component.js +1 -1
  131. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +2 -2
  132. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +1 -1
  133. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +3 -3
  134. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +2 -2
  135. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +2 -2
  136. package/esm2015/components/scroll-controls/scroll-controls.component.js +1 -1
  137. package/esm2015/components/scrollbar/scrollable.directive.js +18 -4
  138. package/esm2015/components/scrollbar/scrollbar.component.js +20 -18
  139. package/esm2015/components/tooltip/tooltip.component.js +1 -1
  140. package/esm2015/constants/events.js +6 -1
  141. package/esm2015/constants/regexp.js +2 -1
  142. package/esm2015/constants/version.js +2 -2
  143. package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  144. package/esm2015/directives/textfield-controller/textfield-size.directive.js +4 -2
  145. package/esm2015/directives/textfield-controller/textfield-type.directive.js +4 -2
  146. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  147. package/esm2015/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  148. package/esm2015/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  149. package/esm2015/utils/mask/create-number-mask.js +27 -10
  150. package/esm5/components/button/button-options.js +10 -0
  151. package/esm5/components/button/button.component.js +12 -8
  152. package/esm5/components/button/index.js +2 -1
  153. package/esm5/components/calendar/calendar.component.js +2 -2
  154. package/esm5/components/data-list/data-list.component.js +3 -2
  155. package/esm5/components/data-list/option/option.component.js +3 -3
  156. package/esm5/components/dialog/dialog.component.js +2 -2
  157. package/esm5/components/dropdown-box/dropdown-box.component.js +1 -1
  158. package/esm5/components/error/error.component.js +1 -1
  159. package/esm5/components/expand/expand.component.js +2 -2
  160. package/esm5/components/hints-host/hint-box/hint-box.component.js +1 -1
  161. package/esm5/components/hints-host/hints-host.component.js +2 -2
  162. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +3 -16
  163. package/esm5/components/label/label.component.js +2 -2
  164. package/esm5/components/loader/loader.component.js +3 -3
  165. package/esm5/components/notification/notification.component.js +1 -1
  166. package/esm5/components/primitive-calendar/primitive-calendar.component.js +2 -2
  167. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +1 -1
  168. package/esm5/components/primitive-textfield/primitive-textfield.component.js +3 -3
  169. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +2 -2
  170. package/esm5/components/primitive-year-picker/primitive-year-picker.component.js +2 -2
  171. package/esm5/components/scroll-controls/scroll-controls.component.js +1 -1
  172. package/esm5/components/scrollbar/scrollable.directive.js +17 -5
  173. package/esm5/components/scrollbar/scrollbar.component.js +20 -22
  174. package/esm5/components/tooltip/tooltip.component.js +1 -1
  175. package/esm5/constants/events.js +6 -1
  176. package/esm5/constants/regexp.js +2 -1
  177. package/esm5/constants/version.js +2 -2
  178. package/esm5/directives/textfield-controller/textfield-cleaner.directive.js +4 -2
  179. package/esm5/directives/textfield-controller/textfield-size.directive.js +4 -2
  180. package/esm5/directives/textfield-controller/textfield-type.directive.js +4 -2
  181. package/esm5/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +2 -2
  182. package/esm5/modules/notifications/notification-alert/notification-alert.component.js +2 -2
  183. package/esm5/modules/notifications/notifications-host/notifications-host.component.js +1 -1
  184. package/esm5/utils/mask/create-number-mask.js +29 -10
  185. package/fesm2015/taiga-ui-core-components-button.js +21 -9
  186. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  187. package/fesm2015/taiga-ui-core-components-calendar.js +1 -1
  188. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  189. package/fesm2015/taiga-ui-core-components-data-list.js +4 -3
  190. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  191. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  192. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  193. package/fesm2015/taiga-ui-core-components-dropdown-box.js +1 -1
  194. package/fesm2015/taiga-ui-core-components-error.js +1 -1
  195. package/fesm2015/taiga-ui-core-components-expand.js +1 -1
  196. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  197. package/fesm2015/taiga-ui-core-components-hints-host.js +2 -2
  198. package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
  199. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +2 -11
  200. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  201. package/fesm2015/taiga-ui-core-components-label.js +1 -1
  202. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  203. package/fesm2015/taiga-ui-core-components-loader.js +2 -2
  204. package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
  205. package/fesm2015/taiga-ui-core-components-notification.js +1 -1
  206. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +1 -1
  207. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  208. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +1 -1
  209. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +3 -3
  210. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  211. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +1 -1
  212. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  213. package/fesm2015/taiga-ui-core-components-scroll-controls.js +1 -1
  214. package/fesm2015/taiga-ui-core-components-scrollbar.js +33 -17
  215. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  216. package/fesm2015/taiga-ui-core-components-tooltip.js +1 -1
  217. package/fesm2015/taiga-ui-core-constants.js +8 -2
  218. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  219. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +9 -3
  220. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  221. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  222. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  223. package/fesm2015/taiga-ui-core-modules-notifications.js +2 -2
  224. package/fesm2015/taiga-ui-core-modules-notifications.js.map +1 -1
  225. package/fesm2015/taiga-ui-core-utils-mask.js +26 -9
  226. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  227. package/fesm5/taiga-ui-core-components-button.js +21 -9
  228. package/fesm5/taiga-ui-core-components-button.js.map +1 -1
  229. package/fesm5/taiga-ui-core-components-calendar.js +1 -1
  230. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  231. package/fesm5/taiga-ui-core-components-data-list.js +4 -3
  232. package/fesm5/taiga-ui-core-components-data-list.js.map +1 -1
  233. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  234. package/fesm5/taiga-ui-core-components-dialog.js.map +1 -1
  235. package/fesm5/taiga-ui-core-components-dropdown-box.js +1 -1
  236. package/fesm5/taiga-ui-core-components-error.js +1 -1
  237. package/fesm5/taiga-ui-core-components-expand.js +1 -1
  238. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  239. package/fesm5/taiga-ui-core-components-hints-host.js +2 -2
  240. package/fesm5/taiga-ui-core-components-hints-host.js.map +1 -1
  241. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +2 -15
  242. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  243. package/fesm5/taiga-ui-core-components-label.js +1 -1
  244. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  245. package/fesm5/taiga-ui-core-components-loader.js +2 -2
  246. package/fesm5/taiga-ui-core-components-loader.js.map +1 -1
  247. package/fesm5/taiga-ui-core-components-notification.js +1 -1
  248. package/fesm5/taiga-ui-core-components-primitive-calendar.js +1 -1
  249. package/fesm5/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  250. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +1 -1
  251. package/fesm5/taiga-ui-core-components-primitive-textfield.js +3 -3
  252. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  253. package/fesm5/taiga-ui-core-components-primitive-year-picker.js +1 -1
  254. package/fesm5/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  255. package/fesm5/taiga-ui-core-components-scroll-controls.js +1 -1
  256. package/fesm5/taiga-ui-core-components-scrollbar.js +32 -22
  257. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  258. package/fesm5/taiga-ui-core-components-tooltip.js +1 -1
  259. package/fesm5/taiga-ui-core-constants.js +8 -2
  260. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  261. package/fesm5/taiga-ui-core-directives-textfield-controller.js +9 -3
  262. package/fesm5/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  263. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  264. package/fesm5/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  265. package/fesm5/taiga-ui-core-modules-notifications.js +2 -2
  266. package/fesm5/taiga-ui-core-modules-notifications.js.map +1 -1
  267. package/fesm5/taiga-ui-core-utils-mask.js +29 -10
  268. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  269. package/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.metadata.json +1 -1
  270. package/modules/notifications/taiga-ui-core-modules-notifications.metadata.json +1 -1
  271. package/package.json +4 -4
  272. package/styles/mixins/textfield.less +1 -0
@@ -208,7 +208,7 @@ var TuiScrollControlsComponent = /** @class */ (function () {
208
208
  TuiScrollControlsComponent = __decorate([
209
209
  Component({
210
210
  selector: 'tui-scroll-controls',
211
- template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [class.bar_has-horizontal]=\"bars[1]\"\n [@tuiFadeIn]=\"animation\"\n >\n <div tuiScrollbar=\"vertical\" class=\"thumb\"></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [class.bar_has-vertical]=\"bars[0]\"\n [@tuiFadeIn]=\"animation\"\n >\n <div tuiScrollbar=\"horizontal\" class=\"thumb\"></div>\n </div>\n</ng-container>\n",
211
+ template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-horizontal]=\"bars[1]\"\n >\n <div tuiScrollbar=\"vertical\" class=\"thumb\"></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-vertical]=\"bars[0]\"\n >\n <div tuiScrollbar=\"horizontal\" class=\"thumb\"></div>\n </div>\n</ng-container>\n",
212
212
  changeDetection: ChangeDetectionStrategy.OnPush,
213
213
  animations: [tuiFadeIn],
214
214
  providers: [MODE_PROVIDER],
@@ -1,19 +1,30 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { Directive, Inject, ElementRef, Input, HostBinding, ContentChild, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { ElementRef, Inject, Directive, Input, HostBinding, HostListener, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW } from '@taiga-ui/core/constants';
3
4
  import { CSS, USER_AGENT } from '@ng-web-apis/common';
4
5
  import { isFirefox, getElementOffset, TUI_IS_IOS, tuiDefaultProp } from '@taiga-ui/cdk';
5
- import { TUI_SCROLL_INTO_VIEW } from '@taiga-ui/core/constants';
6
6
  import { TUI_SCROLL_REF } from '@taiga-ui/core/tokens';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { TuiScrollControlsModule } from '@taiga-ui/core/components/scroll-controls';
9
9
 
10
10
  var TuiScrollableDirective = /** @class */ (function () {
11
- function TuiScrollableDirective() {
11
+ function TuiScrollableDirective(elementRef) {
12
+ this.elementRef = elementRef;
12
13
  }
14
+ TuiScrollableDirective.prototype.ngOnInit = function () {
15
+ this.elementRef.nativeElement.dispatchEvent(new CustomEvent(TUI_SCROLLABLE, {
16
+ bubbles: true,
17
+ detail: this.elementRef.nativeElement,
18
+ }));
19
+ };
20
+ TuiScrollableDirective.ctorParameters = function () { return [
21
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
22
+ ]; };
13
23
  TuiScrollableDirective = __decorate([
14
24
  Directive({
15
25
  selector: '[tuiScrollable]',
16
- })
26
+ }),
27
+ __param(0, Inject(ElementRef))
17
28
  ], TuiScrollableDirective);
18
29
  return TuiScrollableDirective;
19
30
  }());
@@ -34,35 +45,35 @@ var TuiScrollbarComponent = /** @class */ (function () {
34
45
  this.userAgent = userAgent;
35
46
  this.isIos = isIos;
36
47
  this.hidden = false;
48
+ this.browserScrollRef = new ElementRef(this.elementRef.nativeElement);
49
+ this.delegated = false;
37
50
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
38
51
  (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));
39
52
  }
40
53
  TuiScrollbarComponent_1 = TuiScrollbarComponent;
41
54
  Object.defineProperty(TuiScrollbarComponent.prototype, "showScrollbars", {
42
55
  get: function () {
43
- return !this.hidden && !this.isIos && (!this.isLegacy || !!this.scrollable);
44
- },
45
- enumerable: true,
46
- configurable: true
47
- });
48
- Object.defineProperty(TuiScrollbarComponent.prototype, "browserScrollRef", {
49
- get: function () {
50
- return this.scrollable || this.elementRef;
56
+ return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);
51
57
  },
52
58
  enumerable: true,
53
59
  configurable: true
54
60
  });
55
61
  Object.defineProperty(TuiScrollbarComponent.prototype, "showNative", {
56
62
  get: function () {
57
- return this.isLegacy && !this.hidden && !this.scrollable;
63
+ return this.isLegacy && !this.hidden && !this.delegated;
58
64
  },
59
65
  enumerable: true,
60
66
  configurable: true
61
67
  });
62
- TuiScrollbarComponent.prototype.scrollIntoView = function (event) {
63
- var detail = event.detail;
68
+ TuiScrollbarComponent.prototype.onScrollable = function (element) {
69
+ this.delegated = true;
70
+ this.browserScrollRef.nativeElement = element;
71
+ };
72
+ TuiScrollbarComponent.prototype.scrollIntoView = function (detail) {
73
+ if (this.delegated) {
74
+ return;
75
+ }
64
76
  var nativeElement = this.browserScrollRef.nativeElement;
65
- event.stopPropagation();
66
77
  var _a = getElementOffset(nativeElement, detail), offsetTop = _a.offsetTop, offsetLeft = _a.offsetLeft;
67
78
  nativeElement.scrollTop =
68
79
  offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;
@@ -80,15 +91,14 @@ var TuiScrollbarComponent = /** @class */ (function () {
80
91
  Input(),
81
92
  tuiDefaultProp()
82
93
  ], TuiScrollbarComponent.prototype, "hidden", void 0);
83
- __decorate([
84
- HostBinding('class._container'),
85
- ContentChild(TuiScrollableDirective, { read: ElementRef })
86
- ], TuiScrollbarComponent.prototype, "scrollable", void 0);
87
94
  __decorate([
88
95
  HostBinding('class._legacy')
89
96
  ], TuiScrollbarComponent.prototype, "showNative", null);
90
97
  __decorate([
91
- HostListener(TUI_SCROLL_INTO_VIEW, ['$event'])
98
+ HostListener(TUI_SCROLLABLE + ".stop", ['$event.detail'])
99
+ ], TuiScrollbarComponent.prototype, "onScrollable", null);
100
+ __decorate([
101
+ HostListener(TUI_SCROLL_INTO_VIEW + ".stop", ['$event.detail'])
92
102
  ], TuiScrollbarComponent.prototype, "scrollIntoView", null);
93
103
  TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
94
104
  Component({
@@ -102,7 +112,7 @@ var TuiScrollbarComponent = /** @class */ (function () {
102
112
  useFactory: scrollRefFactory,
103
113
  },
104
114
  ],
105
- styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._container tui-scroll-controls{position:absolute}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
115
+ styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
106
116
  }),
107
117
  __param(0, Inject(CSS)),
108
118
  __param(1, Inject(ElementRef)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiScrollableDirective} from './scrollable.directive';\n\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n @HostBinding('class._container')\n @ContentChild(TuiScrollableDirective, {read: ElementRef})\n readonly scrollable?: ElementRef<HTMLDivElement>;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));\n\n constructor(\n /**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || !!this.scrollable);\n }\n\n get browserScrollRef(): ElementRef<HTMLElement> {\n return this.scrollable || this.elementRef;\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.scrollable;\n }\n\n @HostListener(TUI_SCROLL_INTO_VIEW, ['$event'])\n scrollIntoView(event: CustomEvent<HTMLElement>) {\n const {detail} = event;\n const {nativeElement} = this.browserScrollRef;\n\n event.stopPropagation();\n\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit() {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (isFirefox(this.userAgent) && !this.cssRef.supports('scrollbar-width', 'none'));\n\n constructor(\n /**\n * TODO: remove \"any\" in new TS version; https://github.com/ng-web-apis/common/pull/6\n */\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement) {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement) {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ var TuiTooltipComponent = /** @class */ (function () {
77
77
  TuiTooltipComponent = __decorate([
78
78
  Component({
79
79
  selector: 'tui-tooltip',
80
- template: "<tui-svg\n class=\"icon\"\n src=\"tuiIconTooltipLarge\"\n automation-id=\"tui-tooltip__icon\"\n [tuiHintId]=\"describeId\"\n [tuiHint]=\"content\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintMode]=\"computedMode\"\n></tui-svg>\n",
80
+ template: "<tui-svg\n src=\"tuiIconTooltipLarge\"\n automation-id=\"tui-tooltip__icon\"\n class=\"icon\"\n [tuiHintId]=\"describeId\"\n [tuiHint]=\"content\"\n [tuiHintDirection]=\"direction\"\n [tuiHintShowDelay]=\"showDelay\"\n [tuiHintHideDelay]=\"hideDelay\"\n [tuiHintMode]=\"computedMode\"\n></tui-svg>\n",
81
81
  changeDetection: ChangeDetectionStrategy.OnPush,
82
82
  providers: [TuiDestroyService, MODE_PROVIDER],
83
83
  styles: [":host{transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:relative;display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;font-size:0;line-height:0;cursor:pointer;color:var(--tui-text-03)}:host:hover{color:var(--tui-text-02)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-01)}:host[data-mode=error]{color:var(--tui-error-fill)}.icon{transition-property:opacity,color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;height:100%}:host:not([data-mode]) .icon._hint_hovered{color:var(--tui-text-02)}:host[data-mode=onDark] .icon,:host[data-mode=onLight] .icon{opacity:var(--tui-disabled-opacity)}:host[data-mode=onDark] .icon._hint_hovered,:host[data-mode=onDark] .icon:hover,:host[data-mode=onLight] .icon._hint_hovered,:host[data-mode=onLight] .icon:hover{opacity:1}"]
@@ -34,6 +34,11 @@ var TUI_EXPAND_LOADED = 'tui-expand-loaded';
34
34
  * An event for scrolling an element into view within {@link TuiScrollbarComponent}.
35
35
  */
36
36
  var TUI_SCROLL_INTO_VIEW = 'tui-scroll-into-view';
37
+ /**
38
+ * An event to notify {@link TuiScrollbarComponent} that
39
+ * it should control a nested element.
40
+ */
41
+ var TUI_SCROLLABLE = 'tui-scrollable';
37
42
  /**
38
43
  * An event indicating and error during icon loading in {@link TuiSvgComponent}.
39
44
  */
@@ -55,15 +60,16 @@ var MEDIA = {
55
60
  var TUI_DIGIT_REGEXP = /\d/;
56
61
  var TUI_NON_DIGIT_REGEXP = /\D/;
57
62
  var TUI_NON_DIGITS_REGEXP = /\D+/g;
63
+ var TUI_LEADING_ZEROES_REGEXP = /^0+/;
58
64
  var TUI_LAST_PUNCTUATION_MARK_REGEXP = /[.,\\/#!$%\\^&\\*;:{}=\\-_\`~()]$/;
59
65
  var TUI_LATIN_REGEXP = /[A-z]/;
60
66
  var TUI_LATIN_AND_NUMBERS_REGEXP = /[A-z|0-9]/;
61
67
 
62
- var VERSION = '2.23.0';
68
+ var VERSION = '2.24.0';
63
69
 
64
70
  /**
65
71
  * Generated bundle index. Do not edit.
66
72
  */
67
73
 
68
- export { DEFAULT_ICONS_PATH, DEFAULT_MARGIN, DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH, DEFAULT_MIN_HEIGHT, MASK_CARET_TRAP, MEDIA, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLL_INTO_VIEW, VERSION, tuiEditingKeys };
74
+ export { DEFAULT_ICONS_PATH, DEFAULT_MARGIN, DEFAULT_MAX_HEIGHT, DEFAULT_MAX_WIDTH, DEFAULT_MIN_HEIGHT, MASK_CARET_TRAP, MEDIA, TUI_DECIMAL_SYMBOLS, TUI_DEFAULT_MARKER_HANDLER, TUI_DIGIT_REGEXP, TUI_EXPAND_LOADED, TUI_ICON_ERROR, TUI_LAST_PUNCTUATION_MARK_REGEXP, TUI_LATIN_AND_NUMBERS_REGEXP, TUI_LATIN_REGEXP, TUI_LEADING_ZEROES_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_SCROLLABLE, TUI_SCROLL_INTO_VIEW, VERSION, tuiEditingKeys };
69
75
  //# sourceMappingURL=taiga-ui-core-constants.js.map
@@ -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/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/decimal-symbols.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","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 TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\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 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_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.23.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;;ICDpB,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,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICAtD,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;;;IAGa,cAAc,GAAG;;ICdjB,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,gCAAgC,GAAG,oCAAoC;IACvE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICL/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/default-icons-path.ts","ng://@taiga-ui/core/constants/default-marker-handler.ts","ng://@taiga-ui/core/constants/decimal-symbols.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","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 TUI_DECIMAL_SYMBOLS: ReadonlyArray<string> = [',', '.'];\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.24.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;;ICDpB,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,mBAAmB,GAA0B,CAAC,GAAG,EAAE,GAAG;;ICAtD,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,oCAAoC;IACvE,gBAAgB,GAAG,QAAQ;IAC3B,4BAA4B,GAAG;;ICN/B,OAAO,GAAG;;ACAvB;;;;;;"}
@@ -115,7 +115,9 @@ function autocompleteDirectiveFactory() {
115
115
  return new TuiTextfieldAutocompleteDirective();
116
116
  }
117
117
 
118
- var TUI_TEXTFIELD_CLEANER = new InjectionToken('tuiTextfieldCleaner', { factory: cleanerDirectiveFactory });
118
+ var TUI_TEXTFIELD_CLEANER = new InjectionToken('tuiTextfieldCleaner', {
119
+ factory: cleanerDirectiveFactory,
120
+ });
119
121
  var TuiTextfieldCleanerDirective = /** @class */ (function (_super) {
120
122
  __extends(TuiTextfieldCleanerDirective, _super);
121
123
  function TuiTextfieldCleanerDirective() {
@@ -306,7 +308,9 @@ function maxLengthDirectiveFactory() {
306
308
  return new TuiTextfieldMaxLengthDirective();
307
309
  }
308
310
 
309
- var TUI_TEXTFIELD_SIZE = new InjectionToken('tuiTextfieldSize', { factory: sizeDirectiveFactory });
311
+ var TUI_TEXTFIELD_SIZE = new InjectionToken('tuiTextfieldSize', {
312
+ factory: sizeDirectiveFactory,
313
+ });
310
314
  var TuiTextfieldSizeDirective = /** @class */ (function (_super) {
311
315
  __extends(TuiTextfieldSizeDirective, _super);
312
316
  function TuiTextfieldSizeDirective() {
@@ -336,7 +340,9 @@ function sizeDirectiveFactory() {
336
340
  return new TuiTextfieldSizeDirective();
337
341
  }
338
342
 
339
- var TUI_TEXTFIELD_TYPE = new InjectionToken('tuiTextfieldType', { factory: typeDirectiveFactory });
343
+ var TUI_TEXTFIELD_TYPE = new InjectionToken('tuiTextfieldType', {
344
+ factory: typeDirectiveFactory,
345
+ });
340
346
  var TuiTextfieldTypeDirective = /** @class */ (function (_super) {
341
347
  __extends(TuiTextfieldTypeDirective, _super);
342
348
  function TuiTextfieldTypeDirective() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-textfield-controller.js","sources":["ng://@taiga-ui/core/directives/textfield-controller/textfield.controller.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-autocomplete.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-cleaner.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-custom-content.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-example-text.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-input-mode.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-label-outside.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-max-length.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-size.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-type.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-controller.module.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-controller.provider.ts","ng://@taiga-ui/core/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.ts"],"sourcesContent":["import {TuiAutofillFieldName, TuiInputModeT, TuiInputTypeT} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {TuiTextfieldAutocompleteDirective} from './textfield-autocomplete.directive';\nimport {TuiTextfieldCleanerDirective} from './textfield-cleaner.directive';\nimport {TuiTextfieldCustomContentDirective} from './textfield-custom-content.directive';\nimport {TuiTextfieldExampleTextDirective} from './textfield-example-text.directive';\nimport {TuiTextfieldInputModeDirective} from './textfield-input-mode.directive';\nimport {TuiTextfieldLabelOutsideDirective} from './textfield-label-outside.directive';\nimport {TuiTextfieldMaxLengthDirective} from './textfield-max-length.directive';\nimport {TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TuiTextfieldTypeDirective} from './textfield-type.directive';\n\nexport class TuiTextfieldController {\n constructor(\n readonly change$: Observable<void>,\n private readonly autocompleteDirective: TuiTextfieldAutocompleteDirective,\n private readonly cleanerDirective: TuiTextfieldCleanerDirective,\n private readonly customContentDirective: TuiTextfieldCustomContentDirective,\n private readonly exampleTextDirective: TuiTextfieldExampleTextDirective,\n private readonly inputModeDirective: TuiTextfieldInputModeDirective,\n private readonly labelOutsideDirective: TuiTextfieldLabelOutsideDirective,\n private readonly maxLengthDirective: TuiTextfieldMaxLengthDirective,\n private readonly sizeDirective: TuiTextfieldSizeDirective,\n private readonly typeDirective: TuiTextfieldTypeDirective,\n ) {}\n\n get autocomplete(): TuiAutofillFieldName | '' {\n return this.autocompleteDirective.autocomplete;\n }\n\n get cleaner(): boolean {\n return this.cleanerDirective.cleaner;\n }\n\n get customContent(): PolymorpheusContent {\n return this.customContentDirective.customContent || '';\n }\n\n get exampleText(): string {\n return this.exampleTextDirective.exampleText;\n }\n\n get inputMode(): TuiInputModeT {\n return this.inputModeDirective.inputMode;\n }\n\n get labelOutside(): boolean {\n return this.labelOutsideDirective.labelOutside;\n }\n\n get maxLength(): number | null {\n return this.maxLengthDirective.maxLength;\n }\n\n get size(): TuiSizeS | TuiSizeL {\n return this.sizeDirective.size;\n }\n\n get type(): TuiInputTypeT {\n return this.typeDirective.type;\n }\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiAutofillFieldName, TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_AUTOCOMPLETE =\n new InjectionToken<TuiTextfieldAutocompleteDirective>('tuiTextfieldAutocomplete', {\n factory: autocompleteDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldAutocomplete]',\n providers: [\n {\n provide: TUI_TEXTFIELD_AUTOCOMPLETE,\n useExisting: forwardRef(() => TuiTextfieldAutocompleteDirective),\n },\n ],\n})\nexport class TuiTextfieldAutocompleteDirective extends TuiController {\n @Input('tuiTextfieldAutocomplete')\n autocomplete: TuiAutofillFieldName | '' = '';\n}\n\nexport function autocompleteDirectiveFactory(): TuiTextfieldAutocompleteDirective {\n return new TuiTextfieldAutocompleteDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_CLEANER = new InjectionToken<TuiTextfieldCleanerDirective>(\n 'tuiTextfieldCleaner',\n {factory: cleanerDirectiveFactory},\n);\n\n@Directive({\n selector: '[tuiTextfieldCleaner]',\n providers: [\n {\n provide: TUI_TEXTFIELD_CLEANER,\n useExisting: forwardRef(() => TuiTextfieldCleanerDirective),\n },\n ],\n})\nexport class TuiTextfieldCleanerDirective extends TuiController {\n @Input('tuiTextfieldCleaner')\n cleaner = false;\n}\n\nexport function cleanerDirectiveFactory(): TuiTextfieldCleanerDirective {\n return new TuiTextfieldCleanerDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_TEXTFIELD_CUSTOM_CONTENT =\n new InjectionToken<TuiTextfieldCustomContentDirective>('tuiTextfieldCustomContent', {\n factory: customContentDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldCustomContent]',\n providers: [\n {\n provide: TUI_TEXTFIELD_CUSTOM_CONTENT,\n useExisting: forwardRef(() => TuiTextfieldCustomContentDirective),\n },\n ],\n})\nexport class TuiTextfieldCustomContentDirective extends TuiController {\n // TODO: Remove null in 3.0\n @Input('tuiTextfieldCustomContent')\n customContent: PolymorpheusContent | null = null;\n}\n\nexport function customContentDirectiveFactory(): TuiTextfieldCustomContentDirective {\n return new TuiTextfieldCustomContentDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_EXAMPLE_TEXT =\n new InjectionToken<TuiTextfieldExampleTextDirective>('tuiTextfieldExampleText', {\n factory: exampleTextDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldExampleText]',\n providers: [\n {\n provide: TUI_TEXTFIELD_EXAMPLE_TEXT,\n useExisting: forwardRef(() => TuiTextfieldExampleTextDirective),\n },\n ],\n})\nexport class TuiTextfieldExampleTextDirective extends TuiController {\n @Input('tuiTextfieldExampleText')\n exampleText = '';\n}\n\nexport function exampleTextDirectiveFactory(): TuiTextfieldExampleTextDirective {\n return new TuiTextfieldExampleTextDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController, TuiInputModeT} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_INPUT_MODE =\n new InjectionToken<TuiTextfieldInputModeDirective>('tuiTextfieldInputMode', {\n factory: inputModeDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldInputMode]',\n providers: [\n {\n provide: TUI_TEXTFIELD_INPUT_MODE,\n useExisting: forwardRef(() => TuiTextfieldInputModeDirective),\n },\n ],\n})\nexport class TuiTextfieldInputModeDirective extends TuiController {\n @Input('tuiTextfieldInputMode')\n inputMode: TuiInputModeT = 'text';\n}\n\nexport function inputModeDirectiveFactory(): TuiTextfieldInputModeDirective {\n return new TuiTextfieldInputModeDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_LABEL_OUTSIDE =\n new InjectionToken<TuiTextfieldLabelOutsideDirective>('tuiTextfieldLabelOutside', {\n factory: labelOutsideDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldLabelOutside]',\n providers: [\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useExisting: forwardRef(() => TuiTextfieldLabelOutsideDirective),\n },\n ],\n})\nexport class TuiTextfieldLabelOutsideDirective extends TuiController {\n @Input('tuiTextfieldLabelOutside')\n labelOutside = false;\n}\n\nexport function labelOutsideDirectiveFactory(): TuiTextfieldLabelOutsideDirective {\n return new TuiTextfieldLabelOutsideDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_MAX_LENGTH =\n new InjectionToken<TuiTextfieldMaxLengthDirective>('tuiTextfieldMaxLength', {\n factory: maxLengthDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldMaxLength]',\n providers: [\n {\n provide: TUI_TEXTFIELD_MAX_LENGTH,\n useExisting: forwardRef(() => TuiTextfieldMaxLengthDirective),\n },\n ],\n})\nexport class TuiTextfieldMaxLengthDirective extends TuiController {\n @Input('tuiTextfieldMaxLength')\n maxLength: number | null = null;\n}\n\nexport function maxLengthDirectiveFactory(): TuiTextfieldMaxLengthDirective {\n return new TuiTextfieldMaxLengthDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport const TUI_TEXTFIELD_SIZE = new InjectionToken<TuiTextfieldSizeDirective>(\n 'tuiTextfieldSize',\n {factory: sizeDirectiveFactory},\n);\n\n@Directive({\n selector: '[tuiTextfieldSize]',\n providers: [\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTextfieldSizeDirective),\n },\n ],\n})\nexport class TuiTextfieldSizeDirective extends TuiController {\n @Input('tuiTextfieldSize')\n size: TuiSizeS | TuiSizeL = 'l';\n}\n\nexport function sizeDirectiveFactory(): TuiTextfieldSizeDirective {\n return new TuiTextfieldSizeDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController, TuiInputTypeT} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_TYPE = new InjectionToken<TuiTextfieldTypeDirective>(\n 'tuiTextfieldType',\n {factory: typeDirectiveFactory},\n);\n\n@Directive({\n selector: '[tuiTextfieldType]',\n providers: [\n {\n provide: TUI_TEXTFIELD_TYPE,\n useExisting: forwardRef(() => TuiTextfieldTypeDirective),\n },\n ],\n})\nexport class TuiTextfieldTypeDirective extends TuiController {\n @Input('tuiTextfieldType')\n type: TuiInputTypeT = 'text';\n}\n\nexport function typeDirectiveFactory(): TuiTextfieldTypeDirective {\n return new TuiTextfieldTypeDirective();\n}\n","import {NgModule} from '@angular/core';\nimport {TuiTextfieldAutocompleteDirective} from './textfield-autocomplete.directive';\nimport {TuiTextfieldCleanerDirective} from './textfield-cleaner.directive';\nimport {TuiTextfieldCustomContentDirective} from './textfield-custom-content.directive';\nimport {TuiTextfieldExampleTextDirective} from './textfield-example-text.directive';\nimport {TuiTextfieldInputModeDirective} from './textfield-input-mode.directive';\nimport {TuiTextfieldLabelOutsideDirective} from './textfield-label-outside.directive';\nimport {TuiTextfieldMaxLengthDirective} from './textfield-max-length.directive';\nimport {TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TuiTextfieldTypeDirective} from './textfield-type.directive';\n\n@NgModule({\n declarations: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n TuiTextfieldTypeDirective,\n ],\n exports: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n TuiTextfieldTypeDirective,\n ],\n})\nexport class TuiTextfieldControllerModule {}\n","import {ChangeDetectorRef, InjectionToken, Provider} from '@angular/core';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {merge, NEVER, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {\n TUI_TEXTFIELD_AUTOCOMPLETE,\n TuiTextfieldAutocompleteDirective,\n} from './textfield-autocomplete.directive';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiTextfieldCleanerDirective,\n} from './textfield-cleaner.directive';\nimport {\n TUI_TEXTFIELD_CUSTOM_CONTENT,\n TuiTextfieldCustomContentDirective,\n} from './textfield-custom-content.directive';\nimport {\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TuiTextfieldExampleTextDirective,\n} from './textfield-example-text.directive';\nimport {\n TUI_TEXTFIELD_INPUT_MODE,\n TuiTextfieldInputModeDirective,\n} from './textfield-input-mode.directive';\nimport {\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TuiTextfieldLabelOutsideDirective,\n} from './textfield-label-outside.directive';\nimport {\n TUI_TEXTFIELD_MAX_LENGTH,\n TuiTextfieldMaxLengthDirective,\n} from './textfield-max-length.directive';\nimport {TUI_TEXTFIELD_SIZE, TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TUI_TEXTFIELD_TYPE, TuiTextfieldTypeDirective} from './textfield-type.directive';\nimport {TuiTextfieldController} from './textfield.controller';\n\nexport const TUI_TEXTFIELD_WATCHED_CONTROLLER =\n new InjectionToken<TuiTextfieldController>('watched textfield controller');\n\nexport function textfieldWatchedControllerFactory(\n changeDetectorRef: ChangeDetectorRef,\n destroy$: Observable<void>,\n ...controllers: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n // @ts-ignore remove after TS update\n TuiTextfieldTypeDirective,\n ]\n): TuiTextfieldController {\n const change$ = merge(...controllers.map(({change$}) => change$ || NEVER)).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n\n change$.subscribe();\n\n return new TuiTextfieldController(change$, ...controllers);\n}\n\nexport const TEXTFIELD_CONTROLLER_PROVIDER: Provider = [\n TuiDestroyService,\n {\n provide: TUI_TEXTFIELD_WATCHED_CONTROLLER,\n deps: [\n ChangeDetectorRef,\n TuiDestroyService,\n TUI_TEXTFIELD_AUTOCOMPLETE,\n TUI_TEXTFIELD_CLEANER,\n TUI_TEXTFIELD_CUSTOM_CONTENT,\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TUI_TEXTFIELD_INPUT_MODE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_MAX_LENGTH,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_TYPE,\n ],\n useFactory: textfieldWatchedControllerFactory,\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-directives-textfield-controller.js","sources":["ng://@taiga-ui/core/directives/textfield-controller/textfield.controller.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-autocomplete.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-cleaner.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-custom-content.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-example-text.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-input-mode.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-label-outside.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-max-length.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-size.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-type.directive.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-controller.module.ts","ng://@taiga-ui/core/directives/textfield-controller/textfield-controller.provider.ts","ng://@taiga-ui/core/directives/textfield-controller/taiga-ui-core-directives-textfield-controller.ts"],"sourcesContent":["import {TuiAutofillFieldName, TuiInputModeT, TuiInputTypeT} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {TuiTextfieldAutocompleteDirective} from './textfield-autocomplete.directive';\nimport {TuiTextfieldCleanerDirective} from './textfield-cleaner.directive';\nimport {TuiTextfieldCustomContentDirective} from './textfield-custom-content.directive';\nimport {TuiTextfieldExampleTextDirective} from './textfield-example-text.directive';\nimport {TuiTextfieldInputModeDirective} from './textfield-input-mode.directive';\nimport {TuiTextfieldLabelOutsideDirective} from './textfield-label-outside.directive';\nimport {TuiTextfieldMaxLengthDirective} from './textfield-max-length.directive';\nimport {TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TuiTextfieldTypeDirective} from './textfield-type.directive';\n\nexport class TuiTextfieldController {\n constructor(\n readonly change$: Observable<void>,\n private readonly autocompleteDirective: TuiTextfieldAutocompleteDirective,\n private readonly cleanerDirective: TuiTextfieldCleanerDirective,\n private readonly customContentDirective: TuiTextfieldCustomContentDirective,\n private readonly exampleTextDirective: TuiTextfieldExampleTextDirective,\n private readonly inputModeDirective: TuiTextfieldInputModeDirective,\n private readonly labelOutsideDirective: TuiTextfieldLabelOutsideDirective,\n private readonly maxLengthDirective: TuiTextfieldMaxLengthDirective,\n private readonly sizeDirective: TuiTextfieldSizeDirective,\n private readonly typeDirective: TuiTextfieldTypeDirective,\n ) {}\n\n get autocomplete(): TuiAutofillFieldName | '' {\n return this.autocompleteDirective.autocomplete;\n }\n\n get cleaner(): boolean {\n return this.cleanerDirective.cleaner;\n }\n\n get customContent(): PolymorpheusContent {\n return this.customContentDirective.customContent || '';\n }\n\n get exampleText(): string {\n return this.exampleTextDirective.exampleText;\n }\n\n get inputMode(): TuiInputModeT {\n return this.inputModeDirective.inputMode;\n }\n\n get labelOutside(): boolean {\n return this.labelOutsideDirective.labelOutside;\n }\n\n get maxLength(): number | null {\n return this.maxLengthDirective.maxLength;\n }\n\n get size(): TuiSizeS | TuiSizeL {\n return this.sizeDirective.size;\n }\n\n get type(): TuiInputTypeT {\n return this.typeDirective.type;\n }\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiAutofillFieldName, TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_AUTOCOMPLETE =\n new InjectionToken<TuiTextfieldAutocompleteDirective>('tuiTextfieldAutocomplete', {\n factory: autocompleteDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldAutocomplete]',\n providers: [\n {\n provide: TUI_TEXTFIELD_AUTOCOMPLETE,\n useExisting: forwardRef(() => TuiTextfieldAutocompleteDirective),\n },\n ],\n})\nexport class TuiTextfieldAutocompleteDirective extends TuiController {\n @Input('tuiTextfieldAutocomplete')\n autocomplete: TuiAutofillFieldName | '' = '';\n}\n\nexport function autocompleteDirectiveFactory(): TuiTextfieldAutocompleteDirective {\n return new TuiTextfieldAutocompleteDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_CLEANER = new InjectionToken<TuiTextfieldCleanerDirective>(\n 'tuiTextfieldCleaner',\n {\n factory: cleanerDirectiveFactory,\n },\n);\n\n@Directive({\n selector: '[tuiTextfieldCleaner]',\n providers: [\n {\n provide: TUI_TEXTFIELD_CLEANER,\n useExisting: forwardRef(() => TuiTextfieldCleanerDirective),\n },\n ],\n})\nexport class TuiTextfieldCleanerDirective extends TuiController {\n @Input('tuiTextfieldCleaner')\n cleaner = false;\n}\n\nexport function cleanerDirectiveFactory(): TuiTextfieldCleanerDirective {\n return new TuiTextfieldCleanerDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_TEXTFIELD_CUSTOM_CONTENT =\n new InjectionToken<TuiTextfieldCustomContentDirective>('tuiTextfieldCustomContent', {\n factory: customContentDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldCustomContent]',\n providers: [\n {\n provide: TUI_TEXTFIELD_CUSTOM_CONTENT,\n useExisting: forwardRef(() => TuiTextfieldCustomContentDirective),\n },\n ],\n})\nexport class TuiTextfieldCustomContentDirective extends TuiController {\n // TODO: Remove null in 3.0\n @Input('tuiTextfieldCustomContent')\n customContent: PolymorpheusContent | null = null;\n}\n\nexport function customContentDirectiveFactory(): TuiTextfieldCustomContentDirective {\n return new TuiTextfieldCustomContentDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_EXAMPLE_TEXT =\n new InjectionToken<TuiTextfieldExampleTextDirective>('tuiTextfieldExampleText', {\n factory: exampleTextDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldExampleText]',\n providers: [\n {\n provide: TUI_TEXTFIELD_EXAMPLE_TEXT,\n useExisting: forwardRef(() => TuiTextfieldExampleTextDirective),\n },\n ],\n})\nexport class TuiTextfieldExampleTextDirective extends TuiController {\n @Input('tuiTextfieldExampleText')\n exampleText = '';\n}\n\nexport function exampleTextDirectiveFactory(): TuiTextfieldExampleTextDirective {\n return new TuiTextfieldExampleTextDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController, TuiInputModeT} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_INPUT_MODE =\n new InjectionToken<TuiTextfieldInputModeDirective>('tuiTextfieldInputMode', {\n factory: inputModeDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldInputMode]',\n providers: [\n {\n provide: TUI_TEXTFIELD_INPUT_MODE,\n useExisting: forwardRef(() => TuiTextfieldInputModeDirective),\n },\n ],\n})\nexport class TuiTextfieldInputModeDirective extends TuiController {\n @Input('tuiTextfieldInputMode')\n inputMode: TuiInputModeT = 'text';\n}\n\nexport function inputModeDirectiveFactory(): TuiTextfieldInputModeDirective {\n return new TuiTextfieldInputModeDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_LABEL_OUTSIDE =\n new InjectionToken<TuiTextfieldLabelOutsideDirective>('tuiTextfieldLabelOutside', {\n factory: labelOutsideDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldLabelOutside]',\n providers: [\n {\n provide: TUI_TEXTFIELD_LABEL_OUTSIDE,\n useExisting: forwardRef(() => TuiTextfieldLabelOutsideDirective),\n },\n ],\n})\nexport class TuiTextfieldLabelOutsideDirective extends TuiController {\n @Input('tuiTextfieldLabelOutside')\n labelOutside = false;\n}\n\nexport function labelOutsideDirectiveFactory(): TuiTextfieldLabelOutsideDirective {\n return new TuiTextfieldLabelOutsideDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_MAX_LENGTH =\n new InjectionToken<TuiTextfieldMaxLengthDirective>('tuiTextfieldMaxLength', {\n factory: maxLengthDirectiveFactory,\n });\n\n@Directive({\n selector: '[tuiTextfieldMaxLength]',\n providers: [\n {\n provide: TUI_TEXTFIELD_MAX_LENGTH,\n useExisting: forwardRef(() => TuiTextfieldMaxLengthDirective),\n },\n ],\n})\nexport class TuiTextfieldMaxLengthDirective extends TuiController {\n @Input('tuiTextfieldMaxLength')\n maxLength: number | null = null;\n}\n\nexport function maxLengthDirectiveFactory(): TuiTextfieldMaxLengthDirective {\n return new TuiTextfieldMaxLengthDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport const TUI_TEXTFIELD_SIZE = new InjectionToken<TuiTextfieldSizeDirective>(\n 'tuiTextfieldSize',\n {\n factory: sizeDirectiveFactory,\n },\n);\n\n@Directive({\n selector: '[tuiTextfieldSize]',\n providers: [\n {\n provide: TUI_TEXTFIELD_SIZE,\n useExisting: forwardRef(() => TuiTextfieldSizeDirective),\n },\n ],\n})\nexport class TuiTextfieldSizeDirective extends TuiController {\n @Input('tuiTextfieldSize')\n size: TuiSizeS | TuiSizeL = 'l';\n}\n\nexport function sizeDirectiveFactory(): TuiTextfieldSizeDirective {\n return new TuiTextfieldSizeDirective();\n}\n","import {Directive, forwardRef, InjectionToken, Input} from '@angular/core';\nimport {TuiController, TuiInputTypeT} from '@taiga-ui/cdk';\n\nexport const TUI_TEXTFIELD_TYPE = new InjectionToken<TuiTextfieldTypeDirective>(\n 'tuiTextfieldType',\n {\n factory: typeDirectiveFactory,\n },\n);\n\n@Directive({\n selector: '[tuiTextfieldType]',\n providers: [\n {\n provide: TUI_TEXTFIELD_TYPE,\n useExisting: forwardRef(() => TuiTextfieldTypeDirective),\n },\n ],\n})\nexport class TuiTextfieldTypeDirective extends TuiController {\n @Input('tuiTextfieldType')\n type: TuiInputTypeT = 'text';\n}\n\nexport function typeDirectiveFactory(): TuiTextfieldTypeDirective {\n return new TuiTextfieldTypeDirective();\n}\n","import {NgModule} from '@angular/core';\nimport {TuiTextfieldAutocompleteDirective} from './textfield-autocomplete.directive';\nimport {TuiTextfieldCleanerDirective} from './textfield-cleaner.directive';\nimport {TuiTextfieldCustomContentDirective} from './textfield-custom-content.directive';\nimport {TuiTextfieldExampleTextDirective} from './textfield-example-text.directive';\nimport {TuiTextfieldInputModeDirective} from './textfield-input-mode.directive';\nimport {TuiTextfieldLabelOutsideDirective} from './textfield-label-outside.directive';\nimport {TuiTextfieldMaxLengthDirective} from './textfield-max-length.directive';\nimport {TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TuiTextfieldTypeDirective} from './textfield-type.directive';\n\n@NgModule({\n declarations: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n TuiTextfieldTypeDirective,\n ],\n exports: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n TuiTextfieldTypeDirective,\n ],\n})\nexport class TuiTextfieldControllerModule {}\n","import {ChangeDetectorRef, InjectionToken, Provider} from '@angular/core';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {merge, NEVER, Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {\n TUI_TEXTFIELD_AUTOCOMPLETE,\n TuiTextfieldAutocompleteDirective,\n} from './textfield-autocomplete.directive';\nimport {\n TUI_TEXTFIELD_CLEANER,\n TuiTextfieldCleanerDirective,\n} from './textfield-cleaner.directive';\nimport {\n TUI_TEXTFIELD_CUSTOM_CONTENT,\n TuiTextfieldCustomContentDirective,\n} from './textfield-custom-content.directive';\nimport {\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TuiTextfieldExampleTextDirective,\n} from './textfield-example-text.directive';\nimport {\n TUI_TEXTFIELD_INPUT_MODE,\n TuiTextfieldInputModeDirective,\n} from './textfield-input-mode.directive';\nimport {\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TuiTextfieldLabelOutsideDirective,\n} from './textfield-label-outside.directive';\nimport {\n TUI_TEXTFIELD_MAX_LENGTH,\n TuiTextfieldMaxLengthDirective,\n} from './textfield-max-length.directive';\nimport {TUI_TEXTFIELD_SIZE, TuiTextfieldSizeDirective} from './textfield-size.directive';\nimport {TUI_TEXTFIELD_TYPE, TuiTextfieldTypeDirective} from './textfield-type.directive';\nimport {TuiTextfieldController} from './textfield.controller';\n\nexport const TUI_TEXTFIELD_WATCHED_CONTROLLER =\n new InjectionToken<TuiTextfieldController>('watched textfield controller');\n\nexport function textfieldWatchedControllerFactory(\n changeDetectorRef: ChangeDetectorRef,\n destroy$: Observable<void>,\n ...controllers: [\n TuiTextfieldAutocompleteDirective,\n TuiTextfieldCleanerDirective,\n TuiTextfieldCustomContentDirective,\n TuiTextfieldExampleTextDirective,\n TuiTextfieldInputModeDirective,\n TuiTextfieldLabelOutsideDirective,\n TuiTextfieldMaxLengthDirective,\n TuiTextfieldSizeDirective,\n // @ts-ignore remove after TS update\n TuiTextfieldTypeDirective,\n ]\n): TuiTextfieldController {\n const change$ = merge(...controllers.map(({change$}) => change$ || NEVER)).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n\n change$.subscribe();\n\n return new TuiTextfieldController(change$, ...controllers);\n}\n\nexport const TEXTFIELD_CONTROLLER_PROVIDER: Provider = [\n TuiDestroyService,\n {\n provide: TUI_TEXTFIELD_WATCHED_CONTROLLER,\n deps: [\n ChangeDetectorRef,\n TuiDestroyService,\n TUI_TEXTFIELD_AUTOCOMPLETE,\n TUI_TEXTFIELD_CLEANER,\n TUI_TEXTFIELD_CUSTOM_CONTENT,\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TUI_TEXTFIELD_INPUT_MODE,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TUI_TEXTFIELD_MAX_LENGTH,\n TUI_TEXTFIELD_SIZE,\n TUI_TEXTFIELD_TYPE,\n ],\n useFactory: textfieldWatchedControllerFactory,\n },\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ var TuiPrimitiveYearMonthPaginationComponent = /** @class */ (function () {
84
84
  TuiPrimitiveYearMonthPaginationComponent = __decorate([
85
85
  Component({
86
86
  selector: 'tui-primitive-year-month-pagination',
87
- template: "<tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"prevMonthDisabled\"\n [rightDisabled]=\"nextMonthDisabled\"\n (leftClick)=\"onPrevMonthClick()\"\n (rightClick)=\"onNextMonthClick()\"\n>\n {{value | tuiMonth | async}}\n <ng-container *ngIf=\"oneYear; else button\">\n {{value.formattedYear}}\n </ng-container>\n <ng-template #button>\n <button\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tuiLink\n type=\"button\"\n [tuiFocusable]=\"false\"\n (click)=\"onYearClick()\"\n >\n {{value.formattedYear}}\n </button>\n </ng-template>\n</tui-primitive-spin-button>\n",
87
+ template: "<tui-primitive-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"prevMonthDisabled\"\n [rightDisabled]=\"nextMonthDisabled\"\n (leftClick)=\"onPrevMonthClick()\"\n (rightClick)=\"onNextMonthClick()\"\n>\n {{ value | tuiMonth | async }}\n <ng-container *ngIf=\"oneYear; else button\">\n {{ value.formattedYear }}\n </ng-container>\n <ng-template #button>\n <button\n automation-id=\"tui-primitive-year-month-pagination__year-button\"\n tuiLink\n type=\"button\"\n [tuiFocusable]=\"false\"\n (click)=\"onYearClick()\"\n >\n {{ value.formattedYear }}\n </button>\n </ng-template>\n</tui-primitive-spin-button>\n",
88
88
  styles: [":host{display:block}"]
89
89
  })
90
90
  ], TuiPrimitiveYearMonthPaginationComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-internal-primitive-year-month-pagination.js","sources":["ng://@taiga-ui/core/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.ts","ng://@taiga-ui/core/internal/primitive-year-month-pagination/primitive-year-month-pagination.module.ts","ng://@taiga-ui/core/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.ts"],"sourcesContent":["import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthLike,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\n\n@Component({\n selector: 'tui-primitive-year-month-pagination',\n templateUrl: './primitive-year-month-pagination.template.html',\n styleUrls: ['./primitive-year-month-pagination.style.less'],\n})\nexport class TuiPrimitiveYearMonthPaginationComponent\n implements TuiWithOptionalMinMax<TuiMonth>\n{\n @Input()\n @tuiDefaultProp()\n value = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear>();\n\n get prevMonthDisabled(): boolean {\n return this.value.monthSameOrBefore(this.min);\n }\n\n get nextMonthDisabled(): boolean {\n return this.value.monthSameOrAfter(this.max);\n }\n\n get oneYear(): boolean {\n return this.min.year === this.max.year;\n }\n\n onYearClick() {\n this.yearClick.next(this.value);\n }\n\n onPrevMonthClick() {\n this.appendValueWithLimit({month: -1});\n }\n\n onNextMonthClick() {\n this.appendValueWithLimit({month: 1});\n }\n\n private appendValueWithLimit(date: TuiMonthLike) {\n const newMonth: TuiMonth = this.value.append(date);\n\n if (this.min.monthSameOrAfter(newMonth)) {\n this.updateValue(this.min);\n\n return;\n }\n\n if (this.max.monthSameOrBefore(newMonth)) {\n this.updateValue(this.max);\n\n return;\n }\n\n this.updateValue(newMonth);\n }\n\n private updateValue(value: TuiMonth) {\n if (this.value.monthSame(value)) {\n return;\n }\n\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiLinkModule} from '@taiga-ui/core/components/link';\nimport {TuiPrimitiveSpinButtonModule} from '@taiga-ui/core/components/primitive-spin-button';\nimport {TuiMonthPipeModule} from '@taiga-ui/core/pipes';\n\nimport {TuiPrimitiveYearMonthPaginationComponent} from './primitive-year-month-pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiPrimitiveSpinButtonModule,\n TuiLinkModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiPrimitiveYearMonthPaginationComponent],\n exports: [TuiPrimitiveYearMonthPaginationComponent],\n})\nexport class TuiPrimitiveYearMonthPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAgBA;QAKI,UAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAIhC,QAAG,GAAa,aAAa,CAAC;QAI9B,QAAG,GAAa,YAAY,CAAC;QAGpB,gBAAW,GAAG,IAAI,YAAY,EAAY,CAAC;QAG3C,cAAS,GAAG,IAAI,YAAY,EAAW,CAAC;KAoDpD;IAlDG,sBAAI,uEAAiB;aAArB;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjD;;;OAAA;IAED,sBAAI,uEAAiB;aAArB;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChD;;;OAAA;IAED,sBAAI,6DAAO;aAAX;YACI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;SAC1C;;;OAAA;IAED,8DAAW,GAAX;QACI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,mEAAgB,GAAhB;QACI,IAAI,CAAC,oBAAoB,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;KAC1C;IAED,mEAAgB,GAAhB;QACI,IAAI,CAAC,oBAAoB,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;KACzC;IAEO,uEAAoB,GAA5B,UAA6B,IAAkB;QAC3C,IAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAEO,8DAAW,GAAnB,UAAoB,KAAe;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;SACV;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAjED;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2EACe;IAIhC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yEACa;IAI9B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yEACY;IAG7B;QADC,MAAM,EAAE;iFAC2C;IAGpD;QADC,MAAM,EAAE;+EACwC;IAnBxC,wCAAwC;QALpD,SAAS,CAAC;YACP,QAAQ,EAAE,qCAAqC;YAC/C,uuBAA8D;;SAEjE,CAAC;OACW,wCAAwC,CAuEpD;IAAD,+CAAC;CAvED;;;ICIA;KAAqD;IAAxC,qCAAqC;QAXjD,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,4BAA4B;gBAC5B,aAAa;gBACb,kBAAkB;aACrB;YACD,YAAY,EAAE,CAAC,wCAAwC,CAAC;YACxD,OAAO,EAAE,CAAC,wCAAwC,CAAC;SACtD,CAAC;OACW,qCAAqC,CAAG;IAAD,4CAAC;CAArD;;ACpBA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-internal-primitive-year-month-pagination.js","sources":["ng://@taiga-ui/core/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.ts","ng://@taiga-ui/core/internal/primitive-year-month-pagination/primitive-year-month-pagination.module.ts","ng://@taiga-ui/core/internal/primitive-year-month-pagination/taiga-ui-core-internal-primitive-year-month-pagination.ts"],"sourcesContent":["import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthLike,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\n\n@Component({\n selector: 'tui-primitive-year-month-pagination',\n templateUrl: './primitive-year-month-pagination.template.html',\n styleUrls: ['./primitive-year-month-pagination.style.less'],\n})\nexport class TuiPrimitiveYearMonthPaginationComponent\n implements TuiWithOptionalMinMax<TuiMonth>\n{\n @Input()\n @tuiDefaultProp()\n value = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly valueChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear>();\n\n get prevMonthDisabled(): boolean {\n return this.value.monthSameOrBefore(this.min);\n }\n\n get nextMonthDisabled(): boolean {\n return this.value.monthSameOrAfter(this.max);\n }\n\n get oneYear(): boolean {\n return this.min.year === this.max.year;\n }\n\n onYearClick() {\n this.yearClick.next(this.value);\n }\n\n onPrevMonthClick() {\n this.appendValueWithLimit({month: -1});\n }\n\n onNextMonthClick() {\n this.appendValueWithLimit({month: 1});\n }\n\n private appendValueWithLimit(date: TuiMonthLike) {\n const newMonth: TuiMonth = this.value.append(date);\n\n if (this.min.monthSameOrAfter(newMonth)) {\n this.updateValue(this.min);\n\n return;\n }\n\n if (this.max.monthSameOrBefore(newMonth)) {\n this.updateValue(this.max);\n\n return;\n }\n\n this.updateValue(newMonth);\n }\n\n private updateValue(value: TuiMonth) {\n if (this.value.monthSame(value)) {\n return;\n }\n\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiLinkModule} from '@taiga-ui/core/components/link';\nimport {TuiPrimitiveSpinButtonModule} from '@taiga-ui/core/components/primitive-spin-button';\nimport {TuiMonthPipeModule} from '@taiga-ui/core/pipes';\n\nimport {TuiPrimitiveYearMonthPaginationComponent} from './primitive-year-month-pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusableModule,\n TuiPrimitiveSpinButtonModule,\n TuiLinkModule,\n TuiMonthPipeModule,\n ],\n declarations: [TuiPrimitiveYearMonthPaginationComponent],\n exports: [TuiPrimitiveYearMonthPaginationComponent],\n})\nexport class TuiPrimitiveYearMonthPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAgBA;QAKI,UAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAIhC,QAAG,GAAa,aAAa,CAAC;QAI9B,QAAG,GAAa,YAAY,CAAC;QAGpB,gBAAW,GAAG,IAAI,YAAY,EAAY,CAAC;QAG3C,cAAS,GAAG,IAAI,YAAY,EAAW,CAAC;KAoDpD;IAlDG,sBAAI,uEAAiB;aAArB;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjD;;;OAAA;IAED,sBAAI,uEAAiB;aAArB;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAChD;;;OAAA;IAED,sBAAI,6DAAO;aAAX;YACI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;SAC1C;;;OAAA;IAED,8DAAW,GAAX;QACI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,mEAAgB,GAAhB;QACI,IAAI,CAAC,oBAAoB,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;KAC1C;IAED,mEAAgB,GAAhB;QACI,IAAI,CAAC,oBAAoB,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;KACzC;IAEO,uEAAoB,GAA5B,UAA6B,IAAkB;QAC3C,IAAM,QAAQ,GAAa,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;SACV;QAED,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3B,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KAC9B;IAEO,8DAAW,GAAnB,UAAoB,KAAe;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC7B,OAAO;SACV;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAjED;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2EACe;IAIhC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yEACa;IAI9B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yEACY;IAG7B;QADC,MAAM,EAAE;iFAC2C;IAGpD;QADC,MAAM,EAAE;+EACwC;IAnBxC,wCAAwC;QALpD,SAAS,CAAC;YACP,QAAQ,EAAE,qCAAqC;YAC/C,6uBAA8D;;SAEjE,CAAC;OACW,wCAAwC,CAuEpD;IAAD,+CAAC;CAvED;;;ICIA;KAAqD;IAAxC,qCAAqC;QAXjD,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,4BAA4B;gBAC5B,aAAa;gBACb,kBAAkB;aACrB;YACD,YAAY,EAAE,CAAC,wCAAwC,CAAC;YACxD,OAAO,EAAE,CAAC,wCAAwC,CAAC;SACtD,CAAC;OACW,qCAAqC,CAAG;IAAD,4CAAC;CAArD;;ACpBA;;;;;;"}
@@ -73,7 +73,7 @@ var TuiNotificationAlertComponent = /** @class */ (function () {
73
73
  Component({
74
74
  selector: 'tui-notification-alert',
75
75
  changeDetection: ChangeDetectionStrategy.OnPush,
76
- 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 >\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 >\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",
76
+ 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",
77
77
  providers: [TuiDestroyService],
78
78
  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}"]
79
79
  }),
@@ -171,7 +171,7 @@ var TuiNotificationsHostComponent = /** @class */ (function () {
171
171
  Component({
172
172
  selector: 'tui-notifications-host',
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 class=\"alert\"\n role=\"alert\"\n [item]=\"item\"\n ></tui-notification-alert>\n </div>\n</ng-container>\n",
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
175
  animations: [tuiFadeInList, tuiSlideInRightList, tuiHeightCollapseList],
176
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}@media screen and (max-width:47.9375em){.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}"]
177
177
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-modules-notifications.js","sources":["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/notification-alert/Notification-alert.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 {\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';\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 public 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 {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';\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 {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';\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 public 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';\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';\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.component.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/notification-alert.module.ts","ng://@taiga-ui/core/modules/notifications/notification-alert/Notification-alert.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 {\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';\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 public 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 {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';\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 {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';\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 public 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';\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';\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,6 +1,6 @@
1
1
  import { CHAR_NO_BREAK_SPACE, tuiAssert, isSafari, isNativeFocused, getDocumentOrShadowRoot, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
- import { __spread } from 'tslib';
3
- import { MASK_CARET_TRAP, TUI_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP } from '@taiga-ui/core/constants';
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';
4
4
  import { otherDecimalSymbol } from '@taiga-ui/core/utils/format';
5
5
 
6
6
  /**
@@ -161,10 +161,13 @@ function tuiCreateNumberMask(_a) {
161
161
  var integerCapped = integerLimit
162
162
  ? integer.slice(0, integerLimit + thousandSeparators.length)
163
163
  : integer;
164
- var integerCappedClean = integerCapped
165
- .replace(TUI_NON_DIGITS_REGEXP, '')
166
- .replace(/^0+(?!\.|$)/, '0');
167
- var withSeparator = addThousandsSeparator(integerCappedClean, thousandSymbol);
164
+ var integerCappedClean = integerCapped.replace(TUI_NON_DIGITS_REGEXP, '');
165
+ var _b = __read(integerCappedClean.match(TUI_LEADING_ZEROES_REGEXP) || [''], 1), leadingZerosMatch = _b[0];
166
+ var leadingZerosAmount = leadingZerosMatch.length;
167
+ var integerCappedZerosClean = integerCappedClean
168
+ .replace(/^0+(?!\.|$)/, '')
169
+ .trim();
170
+ var withSeparator = addThousandsSeparator(integerCappedZerosClean, thousandSymbol);
168
171
  var mask = convertToMask(withSeparator);
169
172
  if ((hasDecimal && allowDecimal) || requireDecimal) {
170
173
  var fraction = hasDecimal
@@ -181,20 +184,36 @@ function tuiCreateNumberMask(_a) {
181
184
  mask.push(TUI_DIGIT_REGEXP);
182
185
  }
183
186
  }
187
+ var isOnlyZeroDigit = mask.length === 1 && integerCappedZerosClean === '0';
184
188
  if (isNegative) {
185
189
  if (mask.length === 0) {
186
190
  mask.push(TUI_DIGIT_REGEXP);
187
191
  }
188
192
  mask.unshift('-');
189
193
  }
190
- return preventLeadingZeroes(mask);
194
+ return preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount);
191
195
  };
192
196
  }
193
- function preventLeadingZeroes(mask) {
197
+ function preventLeadingZeroes(mask, isOnlyZeroDigit, leadingZerosAmount) {
198
+ if (isOnlyZeroDigit === void 0) { isOnlyZeroDigit = false; }
199
+ if (leadingZerosAmount === void 0) { leadingZerosAmount = 0; }
200
+ if (isOnlyZeroDigit || leadingZerosAmount === 0) {
201
+ return mask;
202
+ }
194
203
  var firstDigitIndex = mask.indexOf(TUI_DIGIT_REGEXP);
195
- if (firstDigitIndex !== -1 && mask[firstDigitIndex + 1] === TUI_DIGIT_REGEXP) {
196
- mask[firstDigitIndex] = NON_ZERO_DIGIT;
204
+ if (firstDigitIndex === -1) {
205
+ return mask;
206
+ }
207
+ var secondMaskDigit = mask[firstDigitIndex + 1];
208
+ var isCaretTrap = secondMaskDigit === MASK_CARET_TRAP;
209
+ if (isCaretTrap && leadingZerosAmount === 1) {
210
+ return mask;
211
+ }
212
+ else if (isCaretTrap) {
213
+ mask.unshift(NON_ZERO_DIGIT);
214
+ return mask;
197
215
  }
216
+ mask[firstDigitIndex] = NON_ZERO_DIGIT;
198
217
  return mask;
199
218
  }
200
219
  function getDecimalSymbolIndex(str, decimalSymbol, autoCorrectDecimalSymbol) {