@taiga-ui/kit 2.32.0 → 2.33.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 (428) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  7. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-combo-box.umd.js +59 -22
  9. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  11. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-input-copy.umd.js +47 -17
  13. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +2 -2
  15. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-count.umd.js +36 -3
  17. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  19. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +69 -25
  21. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  23. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +70 -26
  25. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  27. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-date.umd.js +65 -25
  29. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  31. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +52 -3
  33. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  35. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-input-month.umd.js +48 -3
  37. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  39. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-input-number.umd.js +44 -4
  41. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  43. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-password.umd.js +44 -3
  45. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +14 -5
  49. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-phone.umd.js +58 -22
  53. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  57. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  58. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  61. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  63. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  65. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input.umd.js +32 -3
  67. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  69. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -0
  71. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  73. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-select.umd.js +66 -22
  75. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  77. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  79. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  81. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  83. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  87. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-text-area.umd.js +6 -4
  91. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-providers.umd.js +6 -5
  95. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-utils-mask.umd.js +8 -11
  99. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -1
  103. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  106. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  107. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  108. package/components/combo-box/combo-box.component.d.ts +1 -2
  109. package/components/combo-box/combo-box.directive.d.ts +6 -0
  110. package/components/combo-box/combo-box.providers.d.ts +2 -0
  111. package/components/combo-box/index.d.ts +2 -0
  112. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  113. package/components/input/index.d.ts +1 -0
  114. package/components/input/input.directive.d.ts +5 -0
  115. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  116. package/components/input-copy/index.d.ts +2 -0
  117. package/components/input-copy/input-copy.directive.d.ts +5 -0
  118. package/components/input-copy/input-copy.providers.d.ts +2 -0
  119. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  120. package/components/input-count/index.d.ts +1 -0
  121. package/components/input-count/input-count.directive.d.ts +6 -0
  122. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  123. package/components/input-date/index.d.ts +2 -0
  124. package/components/input-date/input-date.component.d.ts +0 -1
  125. package/components/input-date/input-date.directive.d.ts +7 -0
  126. package/components/input-date/input-date.providers.d.ts +4 -0
  127. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  128. package/components/input-date-range/index.d.ts +2 -0
  129. package/components/input-date-range/input-date-range.component.d.ts +0 -1
  130. package/components/input-date-range/input-date-range.directive.d.ts +7 -0
  131. package/components/input-date-range/input-date-range.providers.d.ts +4 -0
  132. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  133. package/components/input-date-time/index.d.ts +2 -0
  134. package/components/input-date-time/input-date-time.component.d.ts +0 -1
  135. package/components/input-date-time/input-date-time.directive.d.ts +7 -0
  136. package/components/input-date-time/input-date-time.providers.d.ts +4 -0
  137. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  138. package/components/input-month/index.d.ts +1 -0
  139. package/components/input-month/input-month.component.d.ts +2 -2
  140. package/components/input-month/input-month.directive.d.ts +7 -0
  141. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  142. package/components/input-month-range/index.d.ts +1 -0
  143. package/components/input-month-range/input-month-range.component.d.ts +2 -2
  144. package/components/input-month-range/input-month-range.directive.d.ts +7 -0
  145. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  146. package/components/input-number/index.d.ts +1 -0
  147. package/components/input-number/input-number.component.d.ts +1 -1
  148. package/components/input-number/input-number.directive.d.ts +7 -0
  149. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  150. package/components/input-password/index.d.ts +1 -0
  151. package/components/input-password/input-password.directive.d.ts +8 -0
  152. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  153. package/components/input-phone/index.d.ts +1 -0
  154. package/components/input-phone/input-phone.component.d.ts +1 -1
  155. package/components/input-phone/input-phone.directive.d.ts +7 -0
  156. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  157. package/components/input-phone-international/input-phone-international.component.d.ts +2 -1
  158. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  159. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  160. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  161. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  162. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  163. package/components/select/index.d.ts +2 -0
  164. package/components/select/select.component.d.ts +0 -1
  165. package/components/select/select.directive.d.ts +7 -0
  166. package/components/select/select.providers.d.ts +2 -0
  167. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  168. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  169. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  170. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  171. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  172. package/esm2015/components/accordion/accordion.component.js +3 -3
  173. package/esm2015/components/avatar/avatar.component.js +1 -1
  174. package/esm2015/components/combo-box/combo-box.component.js +10 -28
  175. package/esm2015/components/combo-box/combo-box.directive.js +25 -0
  176. package/esm2015/components/combo-box/combo-box.module.js +5 -4
  177. package/esm2015/components/combo-box/combo-box.providers.js +28 -0
  178. package/esm2015/components/combo-box/index.js +3 -1
  179. package/esm2015/components/input/index.js +2 -1
  180. package/esm2015/components/input/input.component.js +2 -2
  181. package/esm2015/components/input/input.directive.js +22 -0
  182. package/esm2015/components/input/input.module.js +5 -4
  183. package/esm2015/components/input/input.providers.js +6 -2
  184. package/esm2015/components/input-copy/index.js +3 -1
  185. package/esm2015/components/input-copy/input-copy.component.js +8 -15
  186. package/esm2015/components/input-copy/input-copy.directive.js +22 -0
  187. package/esm2015/components/input-copy/input-copy.module.js +5 -4
  188. package/esm2015/components/input-copy/input-copy.providers.js +16 -0
  189. package/esm2015/components/input-count/index.js +2 -1
  190. package/esm2015/components/input-count/input-count.component.js +6 -2
  191. package/esm2015/components/input-count/input-count.directive.js +26 -0
  192. package/esm2015/components/input-count/input-count.module.js +5 -4
  193. package/esm2015/components/input-date/index.js +3 -1
  194. package/esm2015/components/input-date/input-date.component.js +9 -27
  195. package/esm2015/components/input-date/input-date.directive.js +28 -0
  196. package/esm2015/components/input-date/input-date.module.js +5 -4
  197. package/esm2015/components/input-date/input-date.providers.js +29 -0
  198. package/esm2015/components/input-date-range/index.js +3 -1
  199. package/esm2015/components/input-date-range/input-date-range.component.js +9 -27
  200. package/esm2015/components/input-date-range/input-date-range.directive.js +28 -0
  201. package/esm2015/components/input-date-range/input-date-range.module.js +9 -4
  202. package/esm2015/components/input-date-range/input-date-range.providers.js +29 -0
  203. package/esm2015/components/input-date-time/index.js +3 -1
  204. package/esm2015/components/input-date-time/input-date-time.component.js +10 -28
  205. package/esm2015/components/input-date-time/input-date-time.directive.js +28 -0
  206. package/esm2015/components/input-date-time/input-date-time.module.js +9 -4
  207. package/esm2015/components/input-date-time/input-date-time.providers.js +29 -0
  208. package/esm2015/components/input-month/index.js +2 -1
  209. package/esm2015/components/input-month/input-month.component.js +7 -3
  210. package/esm2015/components/input-month/input-month.directive.js +30 -0
  211. package/esm2015/components/input-month/input-month.module.js +5 -4
  212. package/esm2015/components/input-month-range/index.js +2 -1
  213. package/esm2015/components/input-month-range/input-month-range.component.js +7 -3
  214. package/esm2015/components/input-month-range/input-month-range.directive.js +30 -0
  215. package/esm2015/components/input-month-range/input-month-range.module.js +9 -4
  216. package/esm2015/components/input-number/index.js +2 -1
  217. package/esm2015/components/input-number/input-number.component.js +8 -4
  218. package/esm2015/components/input-number/input-number.directive.js +29 -0
  219. package/esm2015/components/input-number/input-number.module.js +5 -4
  220. package/esm2015/components/input-password/index.js +2 -1
  221. package/esm2015/components/input-password/input-password.component.js +6 -2
  222. package/esm2015/components/input-password/input-password.directive.js +30 -0
  223. package/esm2015/components/input-password/input-password.module.js +9 -4
  224. package/esm2015/components/input-phone/index.js +2 -1
  225. package/esm2015/components/input-phone/input-phone.component.js +13 -24
  226. package/esm2015/components/input-phone/input-phone.directive.js +29 -0
  227. package/esm2015/components/input-phone/input-phone.module.js +5 -4
  228. package/esm2015/components/input-phone/input-phone.providers.js +17 -3
  229. package/esm2015/components/input-phone-international/input-phone-international.component.js +11 -6
  230. package/esm2015/components/input-range/input-range.component.js +1 -1
  231. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  232. package/esm2015/components/input-tag/input-tag.component.js +3 -3
  233. package/esm2015/components/multi-select/multi-select.module.js +3 -1
  234. package/esm2015/components/select/index.js +3 -1
  235. package/esm2015/components/select/select.component.js +10 -28
  236. package/esm2015/components/select/select.directive.js +28 -0
  237. package/esm2015/components/select/select.module.js +5 -4
  238. package/esm2015/components/select/select.providers.js +28 -0
  239. package/esm2015/components/stepper/step/step.component.js +3 -3
  240. package/esm2015/components/tabs/tab/tab.providers.js +3 -3
  241. package/esm2015/components/tag/tag.component.js +3 -3
  242. package/esm2015/components/text-area/text-area.component.js +7 -4
  243. package/esm2015/components/text-area/text-area.module.js +2 -3
  244. package/esm2015/providers/value-accessor.provider.js +3 -2
  245. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +6 -8
  246. package/esm2015/utils/mask/create-time-mask.js +8 -11
  247. package/esm2015/utils/miscellaneous/get-precision.js +2 -2
  248. package/esm5/components/accordion/accordion.component.js +3 -3
  249. package/esm5/components/avatar/avatar.component.js +1 -1
  250. package/esm5/components/combo-box/combo-box.component.js +9 -28
  251. package/esm5/components/combo-box/combo-box.directive.js +35 -0
  252. package/esm5/components/combo-box/combo-box.module.js +5 -4
  253. package/esm5/components/combo-box/combo-box.providers.js +28 -0
  254. package/esm5/components/combo-box/index.js +3 -1
  255. package/esm5/components/input/index.js +2 -1
  256. package/esm5/components/input/input.component.js +2 -2
  257. package/esm5/components/input/input.directive.js +28 -0
  258. package/esm5/components/input/input.module.js +5 -4
  259. package/esm5/components/input/input.providers.js +6 -2
  260. package/esm5/components/input-copy/index.js +3 -1
  261. package/esm5/components/input-copy/input-copy.component.js +7 -15
  262. package/esm5/components/input-copy/input-copy.directive.js +28 -0
  263. package/esm5/components/input-copy/input-copy.module.js +5 -4
  264. package/esm5/components/input-copy/input-copy.providers.js +16 -0
  265. package/esm5/components/input-count/index.js +2 -1
  266. package/esm5/components/input-count/input-count.component.js +6 -2
  267. package/esm5/components/input-count/input-count.directive.js +32 -0
  268. package/esm5/components/input-count/input-count.module.js +5 -4
  269. package/esm5/components/input-date/index.js +3 -1
  270. package/esm5/components/input-date/input-date.component.js +8 -27
  271. package/esm5/components/input-date/input-date.directive.js +38 -0
  272. package/esm5/components/input-date/input-date.module.js +5 -4
  273. package/esm5/components/input-date/input-date.providers.js +29 -0
  274. package/esm5/components/input-date-range/index.js +3 -1
  275. package/esm5/components/input-date-range/input-date-range.component.js +8 -27
  276. package/esm5/components/input-date-range/input-date-range.directive.js +38 -0
  277. package/esm5/components/input-date-range/input-date-range.module.js +9 -4
  278. package/esm5/components/input-date-range/input-date-range.providers.js +29 -0
  279. package/esm5/components/input-date-time/index.js +3 -1
  280. package/esm5/components/input-date-time/input-date-time.component.js +9 -28
  281. package/esm5/components/input-date-time/input-date-time.directive.js +38 -0
  282. package/esm5/components/input-date-time/input-date-time.module.js +9 -4
  283. package/esm5/components/input-date-time/input-date-time.providers.js +29 -0
  284. package/esm5/components/input-month/index.js +2 -1
  285. package/esm5/components/input-month/input-month.component.js +7 -3
  286. package/esm5/components/input-month/input-month.directive.js +44 -0
  287. package/esm5/components/input-month/input-month.module.js +5 -4
  288. package/esm5/components/input-month-range/index.js +2 -1
  289. package/esm5/components/input-month-range/input-month-range.component.js +7 -3
  290. package/esm5/components/input-month-range/input-month-range.directive.js +44 -0
  291. package/esm5/components/input-month-range/input-month-range.module.js +9 -4
  292. package/esm5/components/input-number/index.js +2 -1
  293. package/esm5/components/input-number/input-number.component.js +8 -4
  294. package/esm5/components/input-number/input-number.directive.js +39 -0
  295. package/esm5/components/input-number/input-number.module.js +5 -4
  296. package/esm5/components/input-password/index.js +2 -1
  297. package/esm5/components/input-password/input-password.component.js +6 -2
  298. package/esm5/components/input-password/input-password.directive.js +36 -0
  299. package/esm5/components/input-password/input-password.module.js +9 -4
  300. package/esm5/components/input-phone/index.js +2 -1
  301. package/esm5/components/input-phone/input-phone.component.js +12 -24
  302. package/esm5/components/input-phone/input-phone.directive.js +39 -0
  303. package/esm5/components/input-phone/input-phone.module.js +5 -4
  304. package/esm5/components/input-phone/input-phone.providers.js +17 -3
  305. package/esm5/components/input-phone-international/input-phone-international.component.js +15 -6
  306. package/esm5/components/input-range/input-range.component.js +1 -1
  307. package/esm5/components/input-slider/input-slider.component.js +1 -1
  308. package/esm5/components/input-tag/input-tag.component.js +3 -3
  309. package/esm5/components/multi-select/multi-select.module.js +3 -1
  310. package/esm5/components/select/index.js +3 -1
  311. package/esm5/components/select/select.component.js +9 -28
  312. package/esm5/components/select/select.directive.js +42 -0
  313. package/esm5/components/select/select.module.js +5 -4
  314. package/esm5/components/select/select.providers.js +28 -0
  315. package/esm5/components/stepper/step/step.component.js +3 -3
  316. package/esm5/components/tabs/tab/tab.providers.js +3 -3
  317. package/esm5/components/tag/tag.component.js +3 -3
  318. package/esm5/components/text-area/text-area.component.js +7 -4
  319. package/esm5/components/text-area/text-area.module.js +2 -3
  320. package/esm5/providers/value-accessor.provider.js +3 -2
  321. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +5 -5
  322. package/esm5/utils/mask/create-time-mask.js +5 -8
  323. package/esm5/utils/miscellaneous/get-precision.js +2 -2
  324. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  325. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  327. package/fesm2015/taiga-ui-kit-components-combo-box.js +52 -26
  328. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  329. package/fesm2015/taiga-ui-kit-components-input-copy.js +41 -18
  330. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  331. package/fesm2015/taiga-ui-kit-components-input-count.js +32 -6
  332. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  333. package/fesm2015/taiga-ui-kit-components-input-date-range.js +61 -28
  334. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-input-date-time.js +62 -29
  336. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-input-date.js +57 -28
  338. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-input-month-range.js +41 -7
  340. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-input-month.js +37 -7
  342. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-input-number.js +37 -8
  344. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-input-password.js +40 -6
  346. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +10 -5
  348. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-input-phone.js +52 -26
  350. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
  352. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
  354. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-input.js +28 -6
  356. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
  358. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-select.js +55 -26
  360. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  362. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  363. package/fesm2015/taiga-ui-kit-components-tabs.js +2 -2
  364. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  365. package/fesm2015/taiga-ui-kit-components-tag.js +2 -2
  366. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  367. package/fesm2015/taiga-ui-kit-components-text-area.js +7 -5
  368. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  369. package/fesm2015/taiga-ui-kit-providers.js +2 -1
  370. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  371. package/fesm2015/taiga-ui-kit-utils-mask.js +12 -17
  372. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  373. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +1 -1
  374. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  375. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  376. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  377. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  378. package/fesm5/taiga-ui-kit-components-combo-box.js +61 -26
  379. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  380. package/fesm5/taiga-ui-kit-components-input-copy.js +46 -18
  381. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  382. package/fesm5/taiga-ui-kit-components-input-count.js +38 -6
  383. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  384. package/fesm5/taiga-ui-kit-components-input-date-range.js +70 -28
  385. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  386. package/fesm5/taiga-ui-kit-components-input-date-time.js +71 -29
  387. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  388. package/fesm5/taiga-ui-kit-components-input-date.js +66 -28
  389. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  390. package/fesm5/taiga-ui-kit-components-input-month-range.js +55 -7
  391. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  392. package/fesm5/taiga-ui-kit-components-input-month.js +51 -7
  393. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  394. package/fesm5/taiga-ui-kit-components-input-number.js +47 -8
  395. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  396. package/fesm5/taiga-ui-kit-components-input-password.js +46 -6
  397. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-components-input-phone-international.js +14 -5
  399. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-components-input-phone.js +61 -26
  401. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
  403. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  404. package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
  405. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-components-input.js +35 -7
  407. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
  409. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  410. package/fesm5/taiga-ui-kit-components-select.js +68 -26
  411. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  412. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  413. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  414. package/fesm5/taiga-ui-kit-components-tabs.js +2 -2
  415. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  416. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  417. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  418. package/fesm5/taiga-ui-kit-components-text-area.js +7 -5
  419. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  420. package/fesm5/taiga-ui-kit-providers.js +2 -1
  421. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  422. package/fesm5/taiga-ui-kit-utils-mask.js +8 -11
  423. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  424. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +1 -1
  425. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  426. package/package.json +6 -6
  427. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  428. package/providers/value-accessor.provider.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-number.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-number/input-number.component.ts","ng://@taiga-ui/kit/components/input-number/input-number.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n getFractionPartPadded,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_DECIMAL_SYMBOLS,\n TUI_NUMBER_FORMAT,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiDecimalT,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n// @dynamic\n@Component({\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n ],\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n min = -Infinity;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return !!this.primitiveTextfield && this.primitiveTextfield.focused;\n }\n\n get isNegativeAllowed(): boolean {\n return this.min < 0;\n }\n\n get inputMode(): TuiInputModeT {\n return this.decimal === 'never' ? 'numeric' : 'decimal';\n }\n\n get calculatedMaxLength(): number {\n const decimalPart =\n this.decimal !== 'never' &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? this.precision + 1 : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n get formattedValue(): string {\n const value = this.value || 0;\n const absValue = Math.abs(value);\n const hasFraction = absValue % 1 > 0;\n let limit = this.decimal === 'always' || hasFraction ? this.precision : 0;\n\n const fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';\n\n if (this.focused && this.decimal !== 'always') {\n limit = fraction.length;\n }\n\n return formatNumber(\n value,\n limit,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.numberFormat.zeroPadding,\n );\n }\n\n get computedValue(): string {\n if (this.focused) {\n return this.nativeValue;\n }\n\n return this.value === null ? '' : this.formattedValue;\n }\n\n @HostListener('keydown.0', ['$event'])\n onZero(event: KeyboardEvent) {\n const decimal =\n this.nativeValue.split(this.numberFormat.decimalSeparator)[1] || '';\n const {nativeFocusableElement} = this;\n\n if (\n decimal.length < this.precision ||\n !nativeFocusableElement ||\n !nativeFocusableElement.selectionStart ||\n this.nativeValue[nativeFocusableElement.selectionStart] !== '0'\n ) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.selectionStart++;\n }\n\n mask: TuiMapper<boolean, TuiTextMaskOptions> = (\n allowNegative: boolean,\n decimal: TuiDecimalT,\n decimalLimit: number,\n nativeFocusableElement: HTMLInputElement | null,\n ) => ({\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalLimit,\n allowDecimal: decimal !== 'never',\n requireDecimal: decimal === 'always',\n autoCorrectDecimalSymbol: false,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n decimal === 'always' ? decimalLimit : 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n nativeFocusableElement || undefined,\n allowNegative,\n ),\n guide: false,\n });\n\n onValue(value: string) {\n if (maskedMoneyValueIsEmpty(value)) {\n this.updateValue(null);\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n return;\n }\n\n const capped = this.absoluteCapInputValue(value);\n\n if (capped === null || isNaN(capped)) {\n return;\n }\n\n this.updateValue(capped);\n\n if (\n capped !==\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n )\n ) {\n this.nativeValue = this.formattedValue;\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (TUI_DECIMAL_SYMBOLS.indexOf(event.key) === -1) {\n return;\n }\n\n if (this.decimal === 'never') {\n event.preventDefault();\n\n return;\n }\n\n if (this.nativeValue.includes(this.numberFormat.decimalSeparator)) {\n event.preventDefault();\n this.setCaretAfterComma();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const nativeNumberValue = this.nativeNumberValue;\n\n if (isNaN(nativeNumberValue)) {\n this.clear();\n\n return;\n }\n\n const clamped = Math.min(this.max, Math.max(this.min, nativeNumberValue));\n\n this.updateValue(clamped);\n this.nativeValue = this.formattedValue;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n private get isNativeValueNotFinished(): boolean {\n const nativeNumberValue = this.nativeNumberValue;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private get nativeNumberValue(): number {\n return maskedNumberStringToNumber(\n this.nativeValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private set nativeValue(value: string) {\n if (!this.primitiveTextfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.primitiveTextfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n private clear() {\n this.nativeValue = '';\n this.updateValue(null);\n }\n\n private absoluteCapInputValue(inputValue: string): number | null {\n const value = maskedNumberStringToNumber(\n inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const capped =\n value < 0\n ? Math.max(Math.max(this.min, Number.MIN_SAFE_INTEGER), value)\n : Math.min(value, Math.min(this.max, Number.MAX_SAFE_INTEGER));\n const ineligibleValue = isNaN(capped) || capped < this.min || capped > this.max;\n\n return ineligibleValue ? null : capped;\n }\n\n private setCaretAfterComma() {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n const afterCommaPosition = this.nativeValue.length - this.precision;\n\n this.nativeFocusableElement.setSelectionRange(\n afterCommaPosition,\n afterCommaPosition,\n );\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputNumberComponent} from './input-number.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiMapperPipeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputNumberComponent],\n exports: [TuiInputNumberComponent],\n})\nexport class TuiInputNumberModule {}\n"],"names":["tuiCreateNumberMask","tuiCreateAutoCorrectedNumberPipe","getFractionPartPadded","formatNumber","maskedMoneyValueIsEmpty","maskedNumberStringToNumber","TUI_DECIMAL_SYMBOLS","NgControl","Optional","Self","Inject","ChangeDetectorRef","TUI_NUMBER_FORMAT","ViewChild","TuiPrimitiveTextfieldComponent","Input","tuiDefaultProp","HostListener","Component","ChangeDetectionStrategy","TUI_FOCUSABLE_ITEM_ACCESSOR","forwardRef","AbstractTuiNullableControl","NgModule","TextMaskModule","TuiMapperPipeModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-number.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-number/input-number.component.ts","ng://@taiga-ui/kit/components/input-number/input-number.directive.ts","ng://@taiga-ui/kit/components/input-number/input-number.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n AbstractTuiNullableControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n getFractionPartPadded,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_DECIMAL_SYMBOLS,\n TUI_NUMBER_FORMAT,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiDecimalT,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n// @dynamic\n@Component({\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n ],\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n min = -Infinity;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return !!this.primitiveTextfield && this.primitiveTextfield.focused;\n }\n\n get isNegativeAllowed(): boolean {\n return this.min < 0;\n }\n\n get inputMode(): TuiInputModeT {\n return this.decimal === 'never' ? 'numeric' : 'decimal';\n }\n\n get calculatedMaxLength(): number {\n const decimalPart =\n this.decimal !== 'never' &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? this.precision + 1 : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n get formattedValue(): string {\n const value = this.value || 0;\n const absValue = Math.abs(value);\n const hasFraction = absValue % 1 > 0;\n let limit = this.decimal === 'always' || hasFraction ? this.precision : 0;\n\n const fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';\n\n if (this.focused && this.decimal !== 'always') {\n limit = fraction.length;\n }\n\n return formatNumber(\n value,\n limit,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.numberFormat.zeroPadding,\n );\n }\n\n get computedValue(): string {\n if (this.focused) {\n return this.nativeValue;\n }\n\n return this.value === null ? '' : this.formattedValue;\n }\n\n @HostListener('keydown.0', ['$event'])\n onZero(event: KeyboardEvent) {\n const decimal =\n this.nativeValue.split(this.numberFormat.decimalSeparator)[1] || '';\n const {nativeFocusableElement} = this;\n\n if (\n decimal.length < this.precision ||\n !nativeFocusableElement ||\n !nativeFocusableElement.selectionStart ||\n this.nativeValue[nativeFocusableElement.selectionStart] !== '0'\n ) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.selectionStart++;\n }\n\n mask: TuiMapper<boolean, TuiTextMaskOptions> = (\n allowNegative: boolean,\n decimal: TuiDecimalT,\n decimalLimit: number,\n nativeFocusableElement: HTMLInputElement | null,\n ) => ({\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalLimit,\n allowDecimal: decimal !== 'never',\n requireDecimal: decimal === 'always',\n autoCorrectDecimalSymbol: false,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n decimal === 'always' ? decimalLimit : 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n nativeFocusableElement || undefined,\n allowNegative,\n ),\n guide: false,\n });\n\n onValueChange(value: string) {\n if (maskedMoneyValueIsEmpty(value)) {\n this.updateValue(null);\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n return;\n }\n\n const capped = this.absoluteCapInputValue(value);\n\n if (capped === null || isNaN(capped)) {\n return;\n }\n\n this.updateValue(capped);\n\n if (\n capped !==\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n )\n ) {\n this.nativeValue = this.formattedValue;\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (TUI_DECIMAL_SYMBOLS.indexOf(event.key) === -1) {\n return;\n }\n\n if (this.decimal === 'never') {\n event.preventDefault();\n\n return;\n }\n\n if (this.nativeValue.includes(this.numberFormat.decimalSeparator)) {\n event.preventDefault();\n this.setCaretAfterComma();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const nativeNumberValue = this.nativeNumberValue;\n\n if (isNaN(nativeNumberValue)) {\n this.clear();\n\n return;\n }\n\n const clamped = Math.min(this.max, Math.max(this.min, nativeNumberValue));\n\n this.updateValue(clamped);\n this.nativeValue = this.formattedValue;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n private get isNativeValueNotFinished(): boolean {\n const nativeNumberValue = this.nativeNumberValue;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private get nativeNumberValue(): number {\n return maskedNumberStringToNumber(\n this.nativeValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private set nativeValue(value: string) {\n if (!this.primitiveTextfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.primitiveTextfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n private clear() {\n this.nativeValue = '';\n this.updateValue(null);\n }\n\n private absoluteCapInputValue(inputValue: string): number | null {\n const value = maskedNumberStringToNumber(\n inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const capped =\n value < 0\n ? Math.max(Math.max(this.min, Number.MIN_SAFE_INTEGER), value)\n : Math.min(value, Math.min(this.max, Number.MAX_SAFE_INTEGER));\n const ineligibleValue = isNaN(capped) || capped < this.min || capped > this.max;\n\n return ineligibleValue ? null : capped;\n }\n\n private setCaretAfterComma() {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n const afterCommaPosition = this.nativeValue.length - this.precision;\n\n this.nativeFocusableElement.setSelectionRange(\n afterCommaPosition,\n afterCommaPosition,\n );\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputNumberComponent} from './input-number.component';\n\n@Directive({\n selector: 'tui-input-number',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputNumberDirective),\n },\n ],\n})\nexport class TuiInputNumberDirective extends TuiAbstractTextfieldHost<TuiInputNumberComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement) {\n input.inputMode = 'decimal';\n // TODO maxLength?\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiMapperPipeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\n"],"names":["tuiCreateNumberMask","tuiCreateAutoCorrectedNumberPipe","getFractionPartPadded","formatNumber","maskedMoneyValueIsEmpty","maskedNumberStringToNumber","TUI_DECIMAL_SYMBOLS","NgControl","Optional","Self","Inject","ChangeDetectorRef","TUI_NUMBER_FORMAT","ViewChild","TuiPrimitiveTextfieldComponent","Input","tuiDefaultProp","HostListener","Component","ChangeDetectionStrategy","TUI_FOCUSABLE_ITEM_ACCESSOR","forwardRef","AbstractTuiControl","AbstractTuiNullableControl","Directive","TUI_TEXTFIELD_HOST","TuiAbstractTextfieldHost","NgModule","TextMaskModule","TuiMapperPipeModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule","TuiTextfieldComponent"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@taiga-ui/cdk"),require("@taiga-ui/core"),require("@taiga-ui/kit/directives"),require("angular2-text-mask")):"function"==typeof define&&define.amd?define("@taiga-ui/kit/components/input-number",["exports","@angular/core","@angular/forms","@taiga-ui/cdk","@taiga-ui/core","@taiga-ui/kit/directives","angular2-text-mask"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].kit=e["taiga-ui"].kit||{},e["taiga-ui"].kit.components=e["taiga-ui"].kit.components||{},e["taiga-ui"].kit.components["input-number"]={}),e.ng.core,e.ng.forms,e.cdk,e.core$1,e["taiga-ui"].kit.directives,e.angular2TextMask)}(this,(function(e,t,i,r,n,a,o){"use strict";
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("@taiga-ui/cdk"),require("@taiga-ui/core"),require("@taiga-ui/kit/directives"),require("angular2-text-mask")):"function"==typeof define&&define.amd?define("@taiga-ui/kit/components/input-number",["exports","@angular/core","@angular/forms","@taiga-ui/cdk","@taiga-ui/core","@taiga-ui/kit/directives","angular2-text-mask"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].kit=e["taiga-ui"].kit||{},e["taiga-ui"].kit.components=e["taiga-ui"].kit.components||{},e["taiga-ui"].kit.components["input-number"]={}),e.ng.core,e.ng.forms,e.cdk,e.core$1,e["taiga-ui"].kit.directives,e.angular2TextMask)}(this,(function(e,t,i,n,r,o,a){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};function l(e,t,i,r){var n,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var u=e.length-1;u>=0;u--)(n=e[u])&&(o=(a<3?n(o):a>3?n(t,i,o):n(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o}function s(e,t){return function(i,r){t(i,r,e)}}var p=function(e){function a(t,i,r){var a=e.call(this,t,i)||this;return a.numberFormat=r,a.min=-1/0,a.max=1/0,a.decimal="not-zero",a.precision=2,a.prefix="",a.postfix="",a.mask=function(e,t,i,r){return{mask:n.tuiCreateNumberMask({allowNegative:e,decimalLimit:i,allowDecimal:"never"!==t,requireDecimal:"always"===t,autoCorrectDecimalSymbol:!1,decimalSymbol:a.numberFormat.decimalSeparator,thousandSymbol:a.numberFormat.thousandSeparator}),pipe:n.tuiCreateAutoCorrectedNumberPipe("always"===t?i:0,a.numberFormat.decimalSeparator,a.numberFormat.thousandSeparator,r||void 0,e),guide:!1}},a}var o;return function(e,t){function i(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(a,e),o=a,Object.defineProperty(a.prototype,"nativeFocusableElement",{get:function(){return!this.primitiveTextfield||this.computedDisabled?null:this.primitiveTextfield.nativeFocusableElement},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"focused",{get:function(){return!!this.primitiveTextfield&&this.primitiveTextfield.focused},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"isNegativeAllowed",{get:function(){return this.min<0},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"inputMode",{get:function(){return"never"===this.decimal?"numeric":"decimal"},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"calculatedMaxLength",{get:function(){return 18+("never"!==this.decimal&&this.nativeValue.includes(this.numberFormat.decimalSeparator)?this.precision+1:0)+this.numberFormat.thousandSeparator.repeat(5).length},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"formattedValue",{get:function(){var e=this.value||0,t=Math.abs(e)%1>0,i="always"===this.decimal||t?this.precision:0,r=t?n.getFractionPartPadded(e,this.precision):"";return this.focused&&"always"!==this.decimal&&(i=r.length),n.formatNumber(e,i,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator,this.numberFormat.zeroPadding)},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"computedValue",{get:function(){return this.focused?this.nativeValue:null===this.value?"":this.formattedValue},enumerable:!0,configurable:!0}),a.prototype.onZero=function(e){var t=this.nativeValue.split(this.numberFormat.decimalSeparator)[1]||"",i=this.nativeFocusableElement;t.length<this.precision||!i||!i.selectionStart||"0"!==this.nativeValue[i.selectionStart]||(e.preventDefault(),i.selectionStart++)},a.prototype.onValue=function(e){if(n.maskedMoneyValueIsEmpty(e))this.updateValue(null);else if(!this.isNativeValueNotFinished){var t=this.absoluteCapInputValue(e);null===t||isNaN(t)||(this.updateValue(t),t!==n.maskedNumberStringToNumber(e,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator)&&(this.nativeValue=this.formattedValue))}},a.prototype.onKeyDown=function(e){-1!==n.TUI_DECIMAL_SYMBOLS.indexOf(e.key)&&("never"!==this.decimal?this.nativeValue.includes(this.numberFormat.decimalSeparator)&&(e.preventDefault(),this.setCaretAfterComma()):e.preventDefault())},a.prototype.onFocused=function(e){if(this.updateFocused(e),!e){var t=this.nativeNumberValue;if(isNaN(t))this.clear();else{var i=Math.min(this.max,Math.max(this.min,t));this.updateValue(i),this.nativeValue=this.formattedValue}}},a.prototype.onHovered=function(e){this.updateHovered(e)},a.prototype.onPressed=function(e){this.updatePressed(e)},Object.defineProperty(a.prototype,"isNativeValueNotFinished",{get:function(){var e=this.nativeNumberValue;return e<0?e>this.max:e<this.min},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"nativeValue",{get:function(){return this.nativeFocusableElement?this.nativeFocusableElement.value:""},set:function(e){this.primitiveTextfield&&this.nativeFocusableElement&&(this.primitiveTextfield.value=e,this.nativeFocusableElement.value=e)},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"nativeNumberValue",{get:function(){return n.maskedNumberStringToNumber(this.nativeValue,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator)},enumerable:!0,configurable:!0}),a.prototype.clear=function(){this.nativeValue="",this.updateValue(null)},a.prototype.absoluteCapInputValue=function(e){var t=n.maskedNumberStringToNumber(e,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator),i=t<0?Math.max(Math.max(this.min,Number.MIN_SAFE_INTEGER),t):Math.min(t,Math.min(this.max,Number.MAX_SAFE_INTEGER));return isNaN(i)||i<this.min||i>this.max?null:i},a.prototype.setCaretAfterComma=function(){if(this.nativeFocusableElement){var e=this.nativeValue.length-this.precision;this.nativeFocusableElement.setSelectionRange(e,e)}},a.ctorParameters=function(){return[{type:i.NgControl,decorators:[{type:t.Optional},{type:t.Self},{type:t.Inject,args:[i.NgControl]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:void 0,decorators:[{type:t.Inject,args:[n.TUI_NUMBER_FORMAT]}]}]},l([t.ViewChild(n.TuiPrimitiveTextfieldComponent)],a.prototype,"primitiveTextfield",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"min",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"max",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"decimal",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"precision",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"prefix",void 0),l([t.Input(),r.tuiDefaultProp()],a.prototype,"postfix",void 0),l([t.HostListener("keydown.0",["$event"])],a.prototype,"onZero",null),a=o=l([t.Component({selector:"tui-input-number",template:'<tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode="decimal"\n class="textfield"\n [pseudoHovered]="pseudoHovered"\n [pseudoFocused]="computedFocused"\n [invalid]="computedInvalid"\n [tuiTextfieldMaxLength]="calculatedMaxLength"\n [readOnly]="readOnly"\n [disabled]="computedDisabled"\n [textMask]="isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement"\n [value]="computedValue"\n [prefix]="prefix"\n [postfix]="postfix"\n [focusable]="focusable"\n (valueChange)="onValue($event)"\n (hoveredChange)="onHovered($event)"\n (focusedChange)="onFocused($event)"\n (pressedChange)="onPressed($event)"\n (keydown)="onKeyDown($event)"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[{provide:r.TUI_FOCUSABLE_ITEM_ACCESSOR,useExisting:t.forwardRef((function(){return o}))}],styles:[":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.textfield{border-radius:inherit;text-align:inherit}"]}),s(0,t.Optional()),s(0,t.Self()),s(0,t.Inject(i.NgControl)),s(1,t.Inject(t.ChangeDetectorRef)),s(2,t.Inject(n.TUI_NUMBER_FORMAT))],a)}(r.AbstractTuiNullableControl),c=function(){function e(){}return e=l([t.NgModule({imports:[o.TextMaskModule,r.TuiMapperPipeModule,n.TuiPrimitiveTextfieldModule,n.TuiTextfieldControllerModule,a.TuiValueAccessorModule],declarations:[p],exports:[p]})],e)}();e.TuiInputNumberComponent=p,e.TuiInputNumberModule=c,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};function l(e,t){function i(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}function s(e,t,i,n){var r,o=arguments.length,a=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,n);else for(var u=e.length-1;u>=0;u--)(r=e[u])&&(a=(o<3?r(a):o>3?r(t,i,a):r(t,i))||a);return o>3&&a&&Object.defineProperty(t,i,a),a}function p(e,t){return function(i,n){t(i,n,e)}}var c=function(e){function o(t,i,n){var o=e.call(this,t,i)||this;return o.numberFormat=n,o.min=-1/0,o.max=1/0,o.decimal="not-zero",o.precision=2,o.prefix="",o.postfix="",o.mask=function(e,t,i,n){return{mask:r.tuiCreateNumberMask({allowNegative:e,decimalLimit:i,allowDecimal:"never"!==t,requireDecimal:"always"===t,autoCorrectDecimalSymbol:!1,decimalSymbol:o.numberFormat.decimalSeparator,thousandSymbol:o.numberFormat.thousandSeparator}),pipe:r.tuiCreateAutoCorrectedNumberPipe("always"===t?i:0,o.numberFormat.decimalSeparator,o.numberFormat.thousandSeparator,n||void 0,e),guide:!1}},o}var a;return l(o,e),a=o,Object.defineProperty(o.prototype,"nativeFocusableElement",{get:function(){return!this.primitiveTextfield||this.computedDisabled?null:this.primitiveTextfield.nativeFocusableElement},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"focused",{get:function(){return!!this.primitiveTextfield&&this.primitiveTextfield.focused},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"isNegativeAllowed",{get:function(){return this.min<0},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"inputMode",{get:function(){return"never"===this.decimal?"numeric":"decimal"},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"calculatedMaxLength",{get:function(){return 18+("never"!==this.decimal&&this.nativeValue.includes(this.numberFormat.decimalSeparator)?this.precision+1:0)+this.numberFormat.thousandSeparator.repeat(5).length},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"formattedValue",{get:function(){var e=this.value||0,t=Math.abs(e)%1>0,i="always"===this.decimal||t?this.precision:0,n=t?r.getFractionPartPadded(e,this.precision):"";return this.focused&&"always"!==this.decimal&&(i=n.length),r.formatNumber(e,i,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator,this.numberFormat.zeroPadding)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"computedValue",{get:function(){return this.focused?this.nativeValue:null===this.value?"":this.formattedValue},enumerable:!0,configurable:!0}),o.prototype.onZero=function(e){var t=this.nativeValue.split(this.numberFormat.decimalSeparator)[1]||"",i=this.nativeFocusableElement;t.length<this.precision||!i||!i.selectionStart||"0"!==this.nativeValue[i.selectionStart]||(e.preventDefault(),i.selectionStart++)},o.prototype.onValueChange=function(e){if(r.maskedMoneyValueIsEmpty(e))this.updateValue(null);else if(!this.isNativeValueNotFinished){var t=this.absoluteCapInputValue(e);null===t||isNaN(t)||(this.updateValue(t),t!==r.maskedNumberStringToNumber(e,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator)&&(this.nativeValue=this.formattedValue))}},o.prototype.onKeyDown=function(e){-1!==r.TUI_DECIMAL_SYMBOLS.indexOf(e.key)&&("never"!==this.decimal?this.nativeValue.includes(this.numberFormat.decimalSeparator)&&(e.preventDefault(),this.setCaretAfterComma()):e.preventDefault())},o.prototype.onFocused=function(e){if(this.updateFocused(e),!e){var t=this.nativeNumberValue;if(isNaN(t))this.clear();else{var i=Math.min(this.max,Math.max(this.min,t));this.updateValue(i),this.nativeValue=this.formattedValue}}},o.prototype.onHovered=function(e){this.updateHovered(e)},o.prototype.onPressed=function(e){this.updatePressed(e)},Object.defineProperty(o.prototype,"isNativeValueNotFinished",{get:function(){var e=this.nativeNumberValue;return e<0?e>this.max:e<this.min},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"nativeValue",{get:function(){return this.nativeFocusableElement?this.nativeFocusableElement.value:""},set:function(e){this.primitiveTextfield&&this.nativeFocusableElement&&(this.primitiveTextfield.value=e,this.nativeFocusableElement.value=e)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"nativeNumberValue",{get:function(){return r.maskedNumberStringToNumber(this.nativeValue,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator)},enumerable:!0,configurable:!0}),o.prototype.clear=function(){this.nativeValue="",this.updateValue(null)},o.prototype.absoluteCapInputValue=function(e){var t=r.maskedNumberStringToNumber(e,this.numberFormat.decimalSeparator,this.numberFormat.thousandSeparator),i=t<0?Math.max(Math.max(this.min,Number.MIN_SAFE_INTEGER),t):Math.min(t,Math.min(this.max,Number.MAX_SAFE_INTEGER));return isNaN(i)||i<this.min||i>this.max?null:i},o.prototype.setCaretAfterComma=function(){if(this.nativeFocusableElement){var e=this.nativeValue.length-this.precision;this.nativeFocusableElement.setSelectionRange(e,e)}},o.ctorParameters=function(){return[{type:i.NgControl,decorators:[{type:t.Optional},{type:t.Self},{type:t.Inject,args:[i.NgControl]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:void 0,decorators:[{type:t.Inject,args:[r.TUI_NUMBER_FORMAT]}]}]},s([t.ViewChild(r.TuiPrimitiveTextfieldComponent)],o.prototype,"primitiveTextfield",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"min",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"max",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"decimal",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"precision",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"prefix",void 0),s([t.Input(),n.tuiDefaultProp()],o.prototype,"postfix",void 0),s([t.HostListener("keydown.0",["$event"])],o.prototype,"onZero",null),o=a=s([t.Component({selector:"tui-input-number",template:'<tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode="decimal"\n class="textfield"\n [pseudoHovered]="pseudoHovered"\n [pseudoFocused]="computedFocused"\n [invalid]="computedInvalid"\n [tuiTextfieldMaxLength]="calculatedMaxLength"\n [readOnly]="readOnly"\n [disabled]="computedDisabled"\n [textMask]="isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement"\n [value]="computedValue"\n [prefix]="prefix"\n [postfix]="postfix"\n [focusable]="focusable"\n (valueChange)="onValueChange($event)"\n (hoveredChange)="onHovered($event)"\n (focusedChange)="onFocused($event)"\n (pressedChange)="onPressed($event)"\n (keydown)="onKeyDown($event)"\n>\n <ng-content></ng-content>\n <ng-content select="input" ngProjectAs="input"></ng-content>\n</tui-primitive-textfield>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[{provide:n.TUI_FOCUSABLE_ITEM_ACCESSOR,useExisting:t.forwardRef((function(){return a}))},{provide:n.AbstractTuiControl,useExisting:t.forwardRef((function(){return a}))}],styles:[":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.textfield{border-radius:inherit;text-align:inherit}"]}),p(0,t.Optional()),p(0,t.Self()),p(0,t.Inject(i.NgControl)),p(1,t.Inject(t.ChangeDetectorRef)),p(2,t.Inject(r.TUI_NUMBER_FORMAT))],o)}(n.AbstractTuiNullableControl),d=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}var n;return l(i,e),n=i,Object.defineProperty(i.prototype,"value",{get:function(){return this.host.computedValue},enumerable:!0,configurable:!0}),i.prototype.onValueChange=function(e){this.host.onValueChange(e)},i.prototype.process=function(e){e.inputMode="decimal"},i=n=s([t.Directive({selector:"tui-input-number",providers:[{provide:r.TUI_TEXTFIELD_HOST,useExisting:t.forwardRef((function(){return n}))}]})],i)}(r.TuiAbstractTextfieldHost),m=function(){function e(){}return e=s([t.NgModule({imports:[a.TextMaskModule,n.TuiMapperPipeModule,r.TuiPrimitiveTextfieldModule,r.TuiTextfieldControllerModule,o.TuiValueAccessorModule],declarations:[c,d],exports:[c,d,r.TuiTextfieldComponent]})],e)}();e.TuiInputNumberComponent=c,e.TuiInputNumberDirective=d,e.TuiInputNumberModule=m,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-kit-components-input-number.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-number/input-number.component.ts","ng://@taiga-ui/kit/components/input-number/input-number.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TuiInputNumberComponent","control","changeDetectorRef","numberFormat","_this","_super","call","this","min","Infinity","max","decimal","precision","prefix","postfix","mask","allowNegative","decimalLimit","nativeFocusableElement","tuiCreateNumberMask","allowDecimal","requireDecimal","autoCorrectDecimalSymbol","decimalSymbol","decimalSeparator","thousandSymbol","thousandSeparator","pipe","tuiCreateAutoCorrectedNumberPipe","undefined","guide","__","constructor","prototype","create","__extends","primitiveTextfield","computedDisabled","focused","nativeValue","includes","repeat","value","hasFraction","Math","abs","limit","fraction","getFractionPartPadded","formatNumber","zeroPadding","formattedValue","onZero","event","split","selectionStart","preventDefault","onValue","maskedMoneyValueIsEmpty","updateValue","isNativeValueNotFinished","capped","absoluteCapInputValue","isNaN","maskedNumberStringToNumber","onKeyDown","TUI_DECIMAL_SYMBOLS","indexOf","setCaretAfterComma","onFocused","updateFocused","nativeNumberValue","clear","clamped","onHovered","hovered","updateHovered","onPressed","pressed","updatePressed","inputValue","Number","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","afterCommaPosition","setSelectionRange","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TUI_NUMBER_FORMAT","ViewChild","TuiPrimitiveTextfieldComponent","Input","tuiDefaultProp","HostListener","TuiInputNumberComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiNullableControl","TuiInputNumberModule","NgModule","imports","TextMaskModule","TuiMapperPipeModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n getFractionPartPadded,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_DECIMAL_SYMBOLS,\n TUI_NUMBER_FORMAT,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiDecimalT,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n// @dynamic\n@Component({\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n ],\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n min = -Infinity;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return !!this.primitiveTextfield && this.primitiveTextfield.focused;\n }\n\n get isNegativeAllowed(): boolean {\n return this.min < 0;\n }\n\n get inputMode(): TuiInputModeT {\n return this.decimal === 'never' ? 'numeric' : 'decimal';\n }\n\n get calculatedMaxLength(): number {\n const decimalPart =\n this.decimal !== 'never' &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? this.precision + 1 : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n get formattedValue(): string {\n const value = this.value || 0;\n const absValue = Math.abs(value);\n const hasFraction = absValue % 1 > 0;\n let limit = this.decimal === 'always' || hasFraction ? this.precision : 0;\n\n const fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';\n\n if (this.focused && this.decimal !== 'always') {\n limit = fraction.length;\n }\n\n return formatNumber(\n value,\n limit,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.numberFormat.zeroPadding,\n );\n }\n\n get computedValue(): string {\n if (this.focused) {\n return this.nativeValue;\n }\n\n return this.value === null ? '' : this.formattedValue;\n }\n\n @HostListener('keydown.0', ['$event'])\n onZero(event: KeyboardEvent) {\n const decimal =\n this.nativeValue.split(this.numberFormat.decimalSeparator)[1] || '';\n const {nativeFocusableElement} = this;\n\n if (\n decimal.length < this.precision ||\n !nativeFocusableElement ||\n !nativeFocusableElement.selectionStart ||\n this.nativeValue[nativeFocusableElement.selectionStart] !== '0'\n ) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.selectionStart++;\n }\n\n mask: TuiMapper<boolean, TuiTextMaskOptions> = (\n allowNegative: boolean,\n decimal: TuiDecimalT,\n decimalLimit: number,\n nativeFocusableElement: HTMLInputElement | null,\n ) => ({\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalLimit,\n allowDecimal: decimal !== 'never',\n requireDecimal: decimal === 'always',\n autoCorrectDecimalSymbol: false,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n decimal === 'always' ? decimalLimit : 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n nativeFocusableElement || undefined,\n allowNegative,\n ),\n guide: false,\n });\n\n onValue(value: string) {\n if (maskedMoneyValueIsEmpty(value)) {\n this.updateValue(null);\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n return;\n }\n\n const capped = this.absoluteCapInputValue(value);\n\n if (capped === null || isNaN(capped)) {\n return;\n }\n\n this.updateValue(capped);\n\n if (\n capped !==\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n )\n ) {\n this.nativeValue = this.formattedValue;\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (TUI_DECIMAL_SYMBOLS.indexOf(event.key) === -1) {\n return;\n }\n\n if (this.decimal === 'never') {\n event.preventDefault();\n\n return;\n }\n\n if (this.nativeValue.includes(this.numberFormat.decimalSeparator)) {\n event.preventDefault();\n this.setCaretAfterComma();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const nativeNumberValue = this.nativeNumberValue;\n\n if (isNaN(nativeNumberValue)) {\n this.clear();\n\n return;\n }\n\n const clamped = Math.min(this.max, Math.max(this.min, nativeNumberValue));\n\n this.updateValue(clamped);\n this.nativeValue = this.formattedValue;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n private get isNativeValueNotFinished(): boolean {\n const nativeNumberValue = this.nativeNumberValue;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private get nativeNumberValue(): number {\n return maskedNumberStringToNumber(\n this.nativeValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private set nativeValue(value: string) {\n if (!this.primitiveTextfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.primitiveTextfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n private clear() {\n this.nativeValue = '';\n this.updateValue(null);\n }\n\n private absoluteCapInputValue(inputValue: string): number | null {\n const value = maskedNumberStringToNumber(\n inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const capped =\n value < 0\n ? Math.max(Math.max(this.min, Number.MIN_SAFE_INTEGER), value)\n : Math.min(value, Math.min(this.max, Number.MAX_SAFE_INTEGER));\n const ineligibleValue = isNaN(capped) || capped < this.min || capped > this.max;\n\n return ineligibleValue ? null : capped;\n }\n\n private setCaretAfterComma() {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n const afterCommaPosition = this.nativeValue.length - this.precision;\n\n this.nativeFocusableElement.setSelectionRange(\n afterCommaPosition,\n afterCommaPosition,\n );\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputNumberComponent} from './input-number.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiMapperPipeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputNumberComponent],\n exports: [TuiInputNumberComponent],\n})\nexport class TuiInputNumberModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-number/input-number.component.ts","ng://@taiga-ui/kit/components/input-number/input-number.directive.ts","ng://@taiga-ui/kit/components/input-number/input-number.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TuiInputNumberComponent","control","changeDetectorRef","numberFormat","_this","_super","call","min","Infinity","max","decimal","precision","prefix","postfix","mask","allowNegative","decimalLimit","nativeFocusableElement","tuiCreateNumberMask","allowDecimal","requireDecimal","autoCorrectDecimalSymbol","decimalSymbol","decimalSeparator","thousandSymbol","thousandSeparator","pipe","tuiCreateAutoCorrectedNumberPipe","undefined","guide","primitiveTextfield","computedDisabled","focused","nativeValue","includes","repeat","value","hasFraction","Math","abs","limit","fraction","getFractionPartPadded","formatNumber","zeroPadding","formattedValue","onZero","event","split","selectionStart","preventDefault","onValueChange","maskedMoneyValueIsEmpty","updateValue","isNativeValueNotFinished","capped","absoluteCapInputValue","isNaN","maskedNumberStringToNumber","onKeyDown","TUI_DECIMAL_SYMBOLS","indexOf","setCaretAfterComma","onFocused","updateFocused","nativeNumberValue","clear","clamped","onHovered","hovered","updateHovered","onPressed","pressed","updatePressed","inputValue","Number","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","afterCommaPosition","setSelectionRange","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TUI_NUMBER_FORMAT","ViewChild","TuiPrimitiveTextfieldComponent","Input","tuiDefaultProp","HostListener","TuiInputNumberComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiControl","AbstractTuiNullableControl","TuiInputNumberDirective","host","computedValue","process","input","inputMode","TuiInputNumberDirective_1","Directive","TUI_TEXTFIELD_HOST","TuiAbstractTextfieldHost","TuiInputNumberModule","NgModule","imports","TextMaskModule","TuiMapperPipeModule","TuiPrimitiveTextfieldModule","TuiTextfieldControllerModule","TuiValueAccessorModule","declarations","exports","TuiTextfieldComponent"],"mappings":";;;;;;;;;;;;;;oFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IAGrB,SAASO,EAAUR,EAAGC,GAEzB,SAASQ,IAAOC,KAAKC,YAAcX,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEY,UAAkB,OAANX,EAAaC,OAAOW,OAAOZ,IAAMQ,EAAGG,UAAYX,EAAEW,UAAW,IAAIH,GA0B5E,SAASK,EAAWC,EAAYC,EAAQC,EAAKC,GAChD,IAA2HlB,EAAvHmB,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAOhB,OAAOqB,yBAAyBP,EAAQC,GAAOC,EACrH,GAAuB,iBAAZM,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASV,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIQ,EAAIX,EAAWM,OAAS,EAAGK,GAAK,EAAGA,KAAS1B,EAAIe,EAAWW,MAAIJ,GAAKH,EAAI,EAAInB,EAAEsB,GAAKH,EAAI,EAAInB,EAAEgB,EAAQC,EAAKK,GAAKtB,EAAEgB,EAAQC,KAASK,GAChJ,OAAOH,EAAI,GAAKG,GAAKpB,OAAOyB,eAAeX,EAAQC,EAAKK,GAAIA,EAGzD,SAASM,EAAQC,EAAYC,GAChC,OAAO,SAAUd,EAAQC,GAAOa,EAAUd,EAAQC,EAAKY,ICvB3D,kBAkDI,SAAAE,EAIIC,EAEAC,EAEiBC,GARrB,IAAAC,EAUIC,EAAAC,KAAA3B,KAAMsB,EAASC,IAAkBvB,YAFhByB,EAAAD,aAAAA,EA9BrBC,EAAAG,KAAOC,EAAAA,EAIPJ,EAAAK,IAAMD,EAAAA,EAINJ,EAAAM,QAAuB,WAIvBN,EAAAO,UAAY,EAIZP,EAAAQ,OAAS,GAITR,EAAAS,QAAU,GA2FVT,EAAAU,KAA+C,SAC3CC,EACAL,EACAM,EACAC,GACC,MAAA,CACDH,KAAMI,EAAAA,oBAAoB,CACtBH,cAAaA,EACbC,aAAYA,EACZG,aAA0B,UAAZT,EACdU,eAA4B,WAAZV,EAChBW,0BAA0B,EAC1BC,cAAelB,EAAKD,aAAaoB,iBACjCC,eAAgBpB,EAAKD,aAAasB,oBAEtCC,KAAMC,EAAAA,iCACU,WAAZjB,EAAuBM,EAAe,EACtCZ,EAAKD,aAAaoB,iBAClBnB,EAAKD,aAAasB,kBAClBR,QAA0BW,EAC1Bb,GAEJc,OAAO,YA6If,OA1RYpD,EAAAuB,EAAAK,KADCL,EA4CT7B,OAAAyB,eAAII,EAAAnB,UAAA,yBAAsB,KAA1B,WACI,OAAQF,KAAKmD,oBAAsBnD,KAAKoD,iBAClC,KACApD,KAAKmD,mBAAmBb,wDAGlC9C,OAAAyB,eAAII,EAAAnB,UAAA,UAAO,KAAX,WACI,QAASF,KAAKmD,oBAAsBnD,KAAKmD,mBAAmBE,yCAGhE7D,OAAAyB,eAAII,EAAAnB,UAAA,oBAAiB,KAArB,WACI,OAAOF,KAAK4B,IAAM,mCAGtBpC,OAAAyB,eAAII,EAAAnB,UAAA,YAAS,KAAb,WACI,MAAwB,UAAjBF,KAAK+B,QAAsB,UAAY,2CAGlDvC,OAAAyB,eAAII,EAAAnB,UAAA,sBAAmB,KAAvB,WAOI,OAxFmB,IAmFE,UAAjBF,KAAK+B,SACL/B,KAAKsD,YAAYC,SAASvD,KAAKwB,aAAaoB,kBAChB5C,KAAKgC,UAAY,EAAI,GAChChC,KAAKwB,aAAasB,kBAAkBU,OAAO,GAAG7C,wCAKvEnB,OAAAyB,eAAII,EAAAnB,UAAA,iBAAc,KAAlB,WACI,IAAMuD,EAAQzD,KAAKyD,OAAS,EAEtBC,EADWC,KAAKC,IAAIH,GACK,EAAI,EAC/BI,EAAyB,WAAjB7D,KAAK+B,SAAwB2B,EAAc1D,KAAKgC,UAAY,EAElE8B,EAAWJ,EAAcK,EAAAA,sBAAsBN,EAAOzD,KAAKgC,WAAa,GAM9E,OAJIhC,KAAKqD,SAA4B,WAAjBrD,KAAK+B,UACrB8B,EAAQC,EAASnD,QAGdqD,EAAAA,aACHP,EACAI,EACA7D,KAAKwB,aAAaoB,iBAClB5C,KAAKwB,aAAasB,kBAClB9C,KAAKwB,aAAayC,8CAI1BzE,OAAAyB,eAAII,EAAAnB,UAAA,gBAAa,KAAjB,WACI,OAAIF,KAAKqD,QACErD,KAAKsD,YAGM,OAAftD,KAAKyD,MAAiB,GAAKzD,KAAKkE,gDAI3C7C,EAAAnB,UAAAiE,OAAA,SAAOC,GACH,IAAMrC,EACF/B,KAAKsD,YAAYe,MAAMrE,KAAKwB,aAAaoB,kBAAkB,IAAM,GAC9DN,EAAAtC,KAAAsC,uBAGHP,EAAQpB,OAASX,KAAKgC,YACrBM,IACAA,EAAuBgC,gBACoC,MAA5DtE,KAAKsD,YAAYhB,EAAuBgC,kBAK5CF,EAAMG,iBACNjC,EAAuBgC,mBA4B3BjD,EAAAnB,UAAAsE,cAAA,SAAcf,GACV,GAAIgB,EAAAA,wBAAwBhB,GACxBzD,KAAK0E,YAAY,WAKrB,IAAI1E,KAAK2E,yBAAT,CAIA,IAAMC,EAAS5E,KAAK6E,sBAAsBpB,GAE3B,OAAXmB,GAAmBE,MAAMF,KAI7B5E,KAAK0E,YAAYE,GAGbA,IACAG,EAAAA,2BACItB,EACAzD,KAAKwB,aAAaoB,iBAClB5C,KAAKwB,aAAasB,qBAGtB9C,KAAKsD,YAActD,KAAKkE,mBAIhC7C,EAAAnB,UAAA8E,UAAA,SAAUZ,IAC0C,IAA5Ca,EAAAA,oBAAoBC,QAAQd,EAAM7D,OAIjB,UAAjBP,KAAK+B,QAML/B,KAAKsD,YAAYC,SAASvD,KAAKwB,aAAaoB,oBAC5CwB,EAAMG,iBACNvE,KAAKmF,sBAPLf,EAAMG,mBAWdlD,EAAAnB,UAAAkF,UAAA,SAAU/B,GAGN,GAFArD,KAAKqF,cAAchC,IAEfA,EAAJ,CAIA,IAAMiC,EAAoBtF,KAAKsF,kBAE/B,GAAIR,MAAMQ,GACNtF,KAAKuF,YADT,CAMA,IAAMC,EAAU7B,KAAK/B,IAAI5B,KAAK8B,IAAK6B,KAAK7B,IAAI9B,KAAK4B,IAAK0D,IAEtDtF,KAAK0E,YAAYc,GACjBxF,KAAKsD,YAActD,KAAKkE,kBAG5B7C,EAAAnB,UAAAuF,UAAA,SAAUC,GACN1F,KAAK2F,cAAcD,IAGvBrE,EAAAnB,UAAA0F,UAAA,SAAUC,GACN7F,KAAK8F,cAAcD,IAGvBrG,OAAAyB,eAAYI,EAAAnB,UAAA,2BAAwB,KAApC,WACI,IAAMoF,EAAoBtF,KAAKsF,kBAE/B,OAAOA,EAAoB,EACrBA,EAAoBtF,KAAK8B,IACzBwD,EAAoBtF,KAAK4B,qCAGnCpC,OAAAyB,eAAYI,EAAAnB,UAAA,cAAW,KAAvB,WACI,OAAOF,KAAKsC,uBAAyBtC,KAAKsC,uBAAuBmB,MAAQ,QAW7E,SAAwBA,GACfzD,KAAKmD,oBAAuBnD,KAAKsC,yBAItCtC,KAAKmD,mBAAmBM,MAAQA,EAChCzD,KAAKsC,uBAAuBmB,MAAQA,oCAdxCjE,OAAAyB,eAAYI,EAAAnB,UAAA,oBAAiB,KAA7B,WACI,OAAO6E,EAAAA,2BACH/E,KAAKsD,YACLtD,KAAKwB,aAAaoB,iBAClB5C,KAAKwB,aAAasB,oDAalBzB,EAAAnB,UAAAqF,MAAR,WACIvF,KAAKsD,YAAc,GACnBtD,KAAK0E,YAAY,OAGbrD,EAAAnB,UAAA2E,sBAAR,SAA8BkB,GAC1B,IAAMtC,EAAQsB,EAAAA,2BACVgB,EACA/F,KAAKwB,aAAaoB,iBAClB5C,KAAKwB,aAAasB,mBAEhB8B,EACFnB,EAAQ,EACFE,KAAK7B,IAAI6B,KAAK7B,IAAI9B,KAAK4B,IAAKoE,OAAOC,kBAAmBxC,GACtDE,KAAK/B,IAAI6B,EAAOE,KAAK/B,IAAI5B,KAAK8B,IAAKkE,OAAOE,mBAGpD,OAFwBpB,MAAMF,IAAWA,EAAS5E,KAAK4B,KAAOgD,EAAS5E,KAAK8B,IAEnD,KAAO8C,GAG5BvD,EAAAnB,UAAAiF,mBAAR,WACI,GAAKnF,KAAKsC,uBAAV,CAIA,IAAM6D,EAAqBnG,KAAKsD,YAAY3C,OAASX,KAAKgC,UAE1DhC,KAAKsC,uBAAuB8D,kBACxBD,EACAA,8CArPKE,EAAAA,UAAShG,WAAA,CAAA,CAAAiG,KAHjBC,EAAAA,UAAQ,CAAAD,KACRE,EAAAA,MAAI,CAAAF,KACJG,EAAAA,OAAMC,KAAA,CAACL,EAAAA,oBAGWM,EAAAA,kBAAiBtG,WAAA,CAAA,CAAAiG,KADnCG,EAAAA,OAAMC,KAAA,CAACC,EAAAA,qDAEPF,EAAAA,OAAMC,KAAA,CAACE,EAAAA,wBAjCZxG,EAAA,CADCyG,EAAAA,UAAUC,EAAAA,0EAKX1G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,4CAKD5G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,4CAKD5G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,gDAKD5G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,kDAKD5G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,+CAKD5G,EAAA,CAFC2G,EAAAA,QACAC,EAAAA,gDA0ED5G,EAAA,CADC6G,EAAAA,aAAa,YAAa,CAAC,uCArGnB5F,EAAuB6F,EAAA9G,EAAA,CAhBnC+G,EAAAA,UAAU,CACPC,SAAU,mBACVC,SAAA,+1BAEAC,gBAAiBC,EAAAA,wBAAwBC,OACzCC,UAAW,CACP,CACIC,QAASC,EAAAA,4BACTC,YAAaC,EAAAA,YAAW,WAAM,OAAAX,MAElC,CACIQ,QAASI,EAAAA,mBACTF,YAAaC,EAAAA,YAAW,WAAM,OAAAX,+IAoCjChG,EAAA,EAAAqF,EAAAA,YACArF,EAAA,EAAAsF,EAAAA,QACAtF,EAAA,EAAAuF,EAAAA,OAAOJ,EAAAA,YAEPnF,EAAA,EAAAuF,EAAAA,OAAOE,EAAAA,oBAEPzF,EAAA,EAAAuF,EAAAA,OAAOG,EAAAA,qBAtCHvF,IACD0G,EAAAA,0CC3CZ,SAAAC,yDAaA,OAb6ClI,EAAAkI,EAAAtG,KAAhCsG,EACTxI,OAAAyB,eAAI+G,EAAA9H,UAAA,QAAK,KAAT,WACI,OAAOF,KAAKiI,KAAKC,+CAGrBF,EAAA9H,UAAAsE,cAAA,SAAcf,GACVzD,KAAKiI,KAAKzD,cAAcf,IAG5BuE,EAAA9H,UAAAiI,QAAA,SAAQC,GACJA,EAAMC,UAAY,WAVbL,EAAuBM,EAAAlI,EAAA,CATnCmI,EAAAA,UAAU,CACPnB,SAAU,mBACVK,UAAW,CACP,CACIC,QAASc,EAAAA,mBACTZ,YAAaC,EAAAA,YAAW,WAAM,OAAAS,UAI7BN,IAAgCS,EAAAA,uCCU7C,SAAAC,KAAmC,OAAtBA,EAAoBtI,EAAA,CAXhCuI,EAAAA,SAAS,CACNC,QAAS,CACLC,EAAAA,eACAC,EAAAA,oBACAC,EAAAA,4BACAC,EAAAA,6BACAC,EAAAA,wBAEJC,aAAc,CAAC7H,EAAyB2G,GACxCmB,QAAS,CAAC9H,EAAyB2G,EAAyBoB,EAAAA,0BAEnDV","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n AbstractTuiNullableControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n getFractionPartPadded,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_DECIMAL_SYMBOLS,\n TUI_NUMBER_FORMAT,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiDecimalT,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n// @dynamic\n@Component({\n selector: 'tui-input-number',\n templateUrl: './input-number.template.html',\n styleUrls: ['./input-number.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiInputNumberComponent),\n },\n ],\n})\nexport class TuiInputNumberComponent\n extends AbstractTuiNullableControl<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n min = -Infinity;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return !!this.primitiveTextfield && this.primitiveTextfield.focused;\n }\n\n get isNegativeAllowed(): boolean {\n return this.min < 0;\n }\n\n get inputMode(): TuiInputModeT {\n return this.decimal === 'never' ? 'numeric' : 'decimal';\n }\n\n get calculatedMaxLength(): number {\n const decimalPart =\n this.decimal !== 'never' &&\n this.nativeValue.includes(this.numberFormat.decimalSeparator);\n const precision = decimalPart ? this.precision + 1 : 0;\n const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n }\n\n get formattedValue(): string {\n const value = this.value || 0;\n const absValue = Math.abs(value);\n const hasFraction = absValue % 1 > 0;\n let limit = this.decimal === 'always' || hasFraction ? this.precision : 0;\n\n const fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';\n\n if (this.focused && this.decimal !== 'always') {\n limit = fraction.length;\n }\n\n return formatNumber(\n value,\n limit,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n this.numberFormat.zeroPadding,\n );\n }\n\n get computedValue(): string {\n if (this.focused) {\n return this.nativeValue;\n }\n\n return this.value === null ? '' : this.formattedValue;\n }\n\n @HostListener('keydown.0', ['$event'])\n onZero(event: KeyboardEvent) {\n const decimal =\n this.nativeValue.split(this.numberFormat.decimalSeparator)[1] || '';\n const {nativeFocusableElement} = this;\n\n if (\n decimal.length < this.precision ||\n !nativeFocusableElement ||\n !nativeFocusableElement.selectionStart ||\n this.nativeValue[nativeFocusableElement.selectionStart] !== '0'\n ) {\n return;\n }\n\n event.preventDefault();\n nativeFocusableElement.selectionStart++;\n }\n\n mask: TuiMapper<boolean, TuiTextMaskOptions> = (\n allowNegative: boolean,\n decimal: TuiDecimalT,\n decimalLimit: number,\n nativeFocusableElement: HTMLInputElement | null,\n ) => ({\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalLimit,\n allowDecimal: decimal !== 'never',\n requireDecimal: decimal === 'always',\n autoCorrectDecimalSymbol: false,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n decimal === 'always' ? decimalLimit : 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n nativeFocusableElement || undefined,\n allowNegative,\n ),\n guide: false,\n });\n\n onValueChange(value: string) {\n if (maskedMoneyValueIsEmpty(value)) {\n this.updateValue(null);\n\n return;\n }\n\n if (this.isNativeValueNotFinished) {\n return;\n }\n\n const capped = this.absoluteCapInputValue(value);\n\n if (capped === null || isNaN(capped)) {\n return;\n }\n\n this.updateValue(capped);\n\n if (\n capped !==\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n )\n ) {\n this.nativeValue = this.formattedValue;\n }\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (TUI_DECIMAL_SYMBOLS.indexOf(event.key) === -1) {\n return;\n }\n\n if (this.decimal === 'never') {\n event.preventDefault();\n\n return;\n }\n\n if (this.nativeValue.includes(this.numberFormat.decimalSeparator)) {\n event.preventDefault();\n this.setCaretAfterComma();\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const nativeNumberValue = this.nativeNumberValue;\n\n if (isNaN(nativeNumberValue)) {\n this.clear();\n\n return;\n }\n\n const clamped = Math.min(this.max, Math.max(this.min, nativeNumberValue));\n\n this.updateValue(clamped);\n this.nativeValue = this.formattedValue;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n private get isNativeValueNotFinished(): boolean {\n const nativeNumberValue = this.nativeNumberValue;\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private get nativeNumberValue(): number {\n return maskedNumberStringToNumber(\n this.nativeValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private set nativeValue(value: string) {\n if (!this.primitiveTextfield || !this.nativeFocusableElement) {\n return;\n }\n\n this.primitiveTextfield.value = value;\n this.nativeFocusableElement.value = value;\n }\n\n private clear() {\n this.nativeValue = '';\n this.updateValue(null);\n }\n\n private absoluteCapInputValue(inputValue: string): number | null {\n const value = maskedNumberStringToNumber(\n inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const capped =\n value < 0\n ? Math.max(Math.max(this.min, Number.MIN_SAFE_INTEGER), value)\n : Math.min(value, Math.min(this.max, Number.MAX_SAFE_INTEGER));\n const ineligibleValue = isNaN(capped) || capped < this.min || capped > this.max;\n\n return ineligibleValue ? null : capped;\n }\n\n private setCaretAfterComma() {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n const afterCommaPosition = this.nativeValue.length - this.precision;\n\n this.nativeFocusableElement.setSelectionRange(\n afterCommaPosition,\n afterCommaPosition,\n );\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputNumberComponent} from './input-number.component';\n\n@Directive({\n selector: 'tui-input-number',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiInputNumberDirective),\n },\n ],\n})\nexport class TuiInputNumberDirective extends TuiAbstractTextfieldHost<TuiInputNumberComponent> {\n get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n\n process(input: HTMLInputElement) {\n input.inputMode = 'decimal';\n // TODO maxLength?\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputNumberComponent} from './input-number.component';\nimport {TuiInputNumberDirective} from './input-number.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiMapperPipeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputNumberComponent, TuiInputNumberDirective],\n exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],\n})\nexport class TuiInputNumberModule {}\n"]}
@@ -341,13 +341,17 @@
341
341
  TuiInputPasswordComponent = TuiInputPasswordComponent_1 = __decorate([
342
342
  core.Component({
343
343
  selector: 'tui-input-password',
344
- template: "<tui-primitive-textfield\n class=\"textfield\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [tuiTextfieldType]=\"inputType\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"interactive ? iconContent : null\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n\n<ng-template #iconContent=\"polymorpheus\" polymorpheus>\n <span\n *tuiLet=\"passwordTexts$ | async as texts\"\n polymorpheus-outlet\n [content]=\"icon\"\n [context]=\"context\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-password__icon\"\n tuiHintId=\"not_required\"\n class=\"icon\"\n [tuiHint]=\"texts[0] && texts[1] && hintContent\"\n [tuiHintDirection]=\"hintController.direction\"\n [tuiHintMode]=\"computedMode$ | async\"\n [src]=\"icon\"\n (click)=\"togglePasswordVisibility()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #hintContent=\"polymorpheus\" polymorpheus>\n {{ isPasswordHidden ? texts[0] : texts[1] }}\n </ng-template>\n </span>\n</ng-template>\n",
344
+ template: "<tui-primitive-textfield\n class=\"textfield\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [tuiTextfieldType]=\"inputType\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [iconContent]=\"interactive ? iconContent : null\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n>\n <ng-content></ng-content>\n <ng-content select=\"input\" ngProjectAs=\"input\"></ng-content>\n</tui-primitive-textfield>\n\n<ng-template #iconContent=\"polymorpheus\" polymorpheus>\n <span\n *tuiLet=\"passwordTexts$ | async as texts\"\n polymorpheus-outlet\n [content]=\"icon\"\n [context]=\"context\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-password__icon\"\n tuiHintId=\"not_required\"\n class=\"icon\"\n [tuiHint]=\"texts[0] && texts[1] && hintContent\"\n [tuiHintDirection]=\"hintController.direction\"\n [tuiHintMode]=\"computedMode$ | async\"\n [src]=\"icon\"\n (click)=\"togglePasswordVisibility()\"\n ></tui-svg>\n </ng-template>\n\n <ng-template #hintContent=\"polymorpheus\" polymorpheus>\n {{ isPasswordHidden ? texts[0] : texts[1] }}\n </ng-template>\n </span>\n</ng-template>\n",
345
345
  changeDetection: core.ChangeDetectionStrategy.OnPush,
346
346
  providers: [
347
347
  {
348
348
  provide: cdk.TUI_FOCUSABLE_ITEM_ACCESSOR,
349
349
  useExisting: core.forwardRef(function () { return TuiInputPasswordComponent_1; }),
350
350
  },
351
+ {
352
+ provide: cdk.AbstractTuiControl,
353
+ useExisting: core.forwardRef(function () { return TuiInputPasswordComponent_1; }),
354
+ },
351
355
  core$1.HINT_CONTROLLER_PROVIDER,
352
356
  core$1.MODE_PROVIDER,
353
357
  ],
@@ -366,6 +370,38 @@
366
370
  return TuiInputPasswordComponent;
367
371
  }(cdk.AbstractTuiControl));
368
372
 
373
+ var TuiInputPasswordDirective = /** @class */ (function (_super) {
374
+ __extends(TuiInputPasswordDirective, _super);
375
+ function TuiInputPasswordDirective() {
376
+ return _super !== null && _super.apply(this, arguments) || this;
377
+ }
378
+ TuiInputPasswordDirective_1 = TuiInputPasswordDirective;
379
+ TuiInputPasswordDirective.prototype.onValueChange = function (value) {
380
+ this.host.onValueChange(value);
381
+ };
382
+ TuiInputPasswordDirective.prototype.process = function (input) {
383
+ this.input = input;
384
+ };
385
+ TuiInputPasswordDirective.prototype.ngDoCheck = function () {
386
+ if (this.input) {
387
+ this.input.type = this.host.isPasswordHidden ? 'password' : 'text';
388
+ }
389
+ };
390
+ var TuiInputPasswordDirective_1;
391
+ TuiInputPasswordDirective = TuiInputPasswordDirective_1 = __decorate([
392
+ core.Directive({
393
+ selector: 'tui-input-password',
394
+ providers: [
395
+ {
396
+ provide: core$1.TUI_TEXTFIELD_HOST,
397
+ useExisting: core.forwardRef(function () { return TuiInputPasswordDirective_1; }),
398
+ },
399
+ ],
400
+ })
401
+ ], TuiInputPasswordDirective);
402
+ return TuiInputPasswordDirective;
403
+ }(core$1.TuiAbstractTextfieldHost));
404
+
369
405
  var TuiInputPasswordModule = /** @class */ (function () {
370
406
  function TuiInputPasswordModule() {
371
407
  }
@@ -381,8 +417,12 @@
381
417
  core$1.TuiPrimitiveTextfieldModule,
382
418
  core$1.TuiTextfieldControllerModule,
383
419
  ],
384
- declarations: [TuiInputPasswordComponent],
385
- exports: [TuiInputPasswordComponent],
420
+ declarations: [TuiInputPasswordComponent, TuiInputPasswordDirective],
421
+ exports: [
422
+ TuiInputPasswordComponent,
423
+ TuiInputPasswordDirective,
424
+ core$1.TuiTextfieldComponent,
425
+ ],
386
426
  })
387
427
  ], TuiInputPasswordModule);
388
428
  return TuiInputPasswordModule;
@@ -393,6 +433,7 @@
393
433
  exports.TUI_INPUT_PASSWORD_DEFAULT_OPTIONS = TUI_INPUT_PASSWORD_DEFAULT_OPTIONS;
394
434
  exports.TUI_INPUT_PASSWORD_OPTIONS = TUI_INPUT_PASSWORD_OPTIONS;
395
435
  exports.TuiInputPasswordComponent = TuiInputPasswordComponent;
436
+ exports.TuiInputPasswordDirective = TuiInputPasswordDirective;
396
437
  exports.TuiInputPasswordModule = TuiInputPasswordModule;
397
438
 
398
439
  Object.defineProperty(exports, '__esModule', { value: true });