@taiga-ui/kit 4.48.0 → 4.49.0-canary.c8a6f7d

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 (470) hide show
  1. package/components/accordion/accordion-item.component.d.ts +1 -1
  2. package/components/accordion/accordion.directive.d.ts +1 -1
  3. package/components/action-bar/action-bar.component.d.ts +2 -2
  4. package/components/avatar/avatar-stack.component.d.ts +1 -1
  5. package/components/avatar/avatar.component.d.ts +1 -1
  6. package/components/avatar/avatar.options.d.ts +3 -4
  7. package/components/badge/badge.options.d.ts +3 -4
  8. package/components/badge-notification/badge-notification.component.d.ts +1 -1
  9. package/components/badge-notification/badge-notification.options.d.ts +2 -3
  10. package/components/badged-content/badged-content.directive.d.ts +1 -1
  11. package/components/block/block.directive.d.ts +1 -1
  12. package/components/block/block.options.d.ts +3 -4
  13. package/components/breadcrumbs/breadcrumbs.component.d.ts +2 -3
  14. package/components/breadcrumbs/breadcrumbs.options.d.ts +2 -3
  15. package/components/button-loading/button-loading.component.d.ts +1 -1
  16. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  17. package/components/calendar-range/calculate-disabled-item-handler.d.ts +2 -3
  18. package/components/calendar-range/calendar-range.component.d.ts +6 -8
  19. package/components/calendar-range/day-caps-mapper.d.ts +2 -3
  20. package/components/calendar-range/day-range-period.d.ts +2 -2
  21. package/components/carousel/carousel.component.d.ts +2 -3
  22. package/components/checkbox/checkbox.component.d.ts +2 -2
  23. package/components/checkbox/checkbox.options.d.ts +3 -4
  24. package/components/chip/chip.directive.d.ts +1 -1
  25. package/components/chip/chip.options.d.ts +3 -4
  26. package/components/combo-box/combo-box.directive.d.ts +2 -2
  27. package/components/comment/comment.directive.d.ts +1 -1
  28. package/components/confirm/confirm.component.d.ts +2 -3
  29. package/components/confirm/confirm.service.d.ts +3 -3
  30. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -7
  31. package/components/drawer/drawer.component.d.ts +1 -1
  32. package/components/files/file/file.component.d.ts +6 -6
  33. package/components/files/file/file.options.d.ts +5 -5
  34. package/components/files/files/files.component.d.ts +1 -2
  35. package/components/files/files.types.d.ts +1 -1
  36. package/components/files/files.utils.d.ts +1 -1
  37. package/components/files/files.validators.d.ts +1 -1
  38. package/components/files/input-files/input-files-validator.directive.d.ts +1 -1
  39. package/components/files/input-files/input-files.component.d.ts +1 -1
  40. package/components/files/input-files/input-files.content.d.ts +1 -1
  41. package/components/files/input-files/input-files.directive.d.ts +2 -2
  42. package/components/files/input-files/input-files.options.d.ts +2 -3
  43. package/components/files/pipes/file-rejected.pipe.d.ts +3 -3
  44. package/components/filter/filter.component.d.ts +3 -3
  45. package/components/index.d.ts +1 -0
  46. package/components/input-chip/input-chip.component.d.ts +1 -1
  47. package/components/input-chip/input-chip.directive.d.ts +2 -3
  48. package/components/input-color/input-color.component.d.ts +2 -2
  49. package/components/input-color/input-color.options.d.ts +1 -1
  50. package/components/input-date/date-filler.d.ts +1 -1
  51. package/components/input-date/input-date.directive.d.ts +4 -5
  52. package/components/input-date/input-date.options.d.ts +4 -4
  53. package/components/input-date-range/input-date-range.directive.d.ts +2 -3
  54. package/components/input-date-range/input-date-range.options.d.ts +4 -5
  55. package/components/input-date-time/input-date-time.directive.d.ts +4 -4
  56. package/components/input-date-time/input-date-time.options.d.ts +5 -6
  57. package/components/input-month/input-month.directive.d.ts +1 -1
  58. package/components/input-month/input-month.options.d.ts +5 -6
  59. package/components/input-month-range/input-month-range.options.d.ts +5 -6
  60. package/components/input-number/index.d.ts +1 -0
  61. package/components/input-number/input-number.d.ts +2 -1
  62. package/components/input-number/input-number.directive.d.ts +1 -2
  63. package/components/input-number/input-number.options.d.ts +1 -1
  64. package/components/input-number/quantum.directive.d.ts +14 -0
  65. package/components/input-number/step/input-number-step.component.d.ts +1 -1
  66. package/components/input-password/input-password.options.d.ts +3 -4
  67. package/components/input-phone/index.d.ts +2 -0
  68. package/components/input-phone/input-phone.directive.d.ts +27 -0
  69. package/components/input-phone/input-phone.options.d.ts +8 -0
  70. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +9 -0
  71. package/components/input-phone/utils/create-phone-mask-expression.d.ts +7 -0
  72. package/components/input-phone-international/input-phone-international.component.d.ts +4 -4
  73. package/components/input-phone-international/input-phone-international.options.d.ts +4 -5
  74. package/components/input-pin/input-pin.component.d.ts +1 -1
  75. package/components/input-slider/input-slider.directive.d.ts +4 -4
  76. package/components/input-time/input-time.component.d.ts +2 -3
  77. package/components/input-time/input-time.directive.d.ts +3 -3
  78. package/components/input-time/input-time.options.d.ts +5 -5
  79. package/components/input-year/input-year.options.d.ts +3 -4
  80. package/components/items-with-more/items-with-more.component.d.ts +2 -3
  81. package/components/items-with-more/items-with-more.directive.d.ts +1 -1
  82. package/components/items-with-more/more.directive.d.ts +1 -1
  83. package/components/like/like.component.d.ts +3 -3
  84. package/components/like/like.options.d.ts +3 -3
  85. package/components/line-clamp/line-clamp-position.directive.d.ts +1 -1
  86. package/components/line-clamp/line-clamp.component.d.ts +3 -3
  87. package/components/line-clamp/line-clamp.options.d.ts +1 -2
  88. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  89. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -1
  90. package/components/multi-select/multi-select-option/multi-select-option.component.d.ts +1 -1
  91. package/components/pager/pager.component.d.ts +2 -2
  92. package/components/pagination/pagination.component.d.ts +3 -3
  93. package/components/pdf-viewer/pdf-viewer.component.d.ts +2 -2
  94. package/components/pdf-viewer/pdf-viewer.directive.d.ts +1 -1
  95. package/components/pdf-viewer/pdf-viewer.options.d.ts +2 -3
  96. package/components/pdf-viewer/pdf-viewer.service.d.ts +5 -6
  97. package/components/preview/dialog/preview-dialog.component.d.ts +1 -1
  98. package/components/preview/preview.component.d.ts +1 -1
  99. package/components/progress/progress-bar/progress-bar.component.d.ts +1 -1
  100. package/components/progress/progress-circle/progress-circle.component.d.ts +2 -2
  101. package/components/progress/progress.options.d.ts +2 -3
  102. package/components/push/push-alert.component.d.ts +2 -2
  103. package/components/push/push.options.d.ts +1 -2
  104. package/components/push/push.service.d.ts +1 -1
  105. package/components/radio/radio.component.d.ts +2 -2
  106. package/components/radio/radio.directive.d.ts +1 -1
  107. package/components/radio/radio.options.d.ts +3 -4
  108. package/components/radio-list/radio-list.component.d.ts +4 -4
  109. package/components/range/range.component.d.ts +3 -4
  110. package/components/rating/rating.component.d.ts +1 -1
  111. package/components/rating/rating.options.d.ts +3 -4
  112. package/components/routable-dialog/generate-dialogable-route.d.ts +3 -3
  113. package/components/segmented/segmented.component.d.ts +2 -3
  114. package/components/segmented/segmented.directive.d.ts +1 -1
  115. package/components/select/native-select/native-select.component.d.ts +2 -2
  116. package/components/select/select.directive.d.ts +1 -1
  117. package/components/slider/helpers/key-steps.d.ts +2 -2
  118. package/components/slider/helpers/slider-key-steps.directive.d.ts +2 -3
  119. package/components/slider/helpers/slider-readonly.directive.d.ts +1 -1
  120. package/components/slider/helpers/slider-thumb-label.component.d.ts +2 -2
  121. package/components/slider/slider.component.d.ts +1 -1
  122. package/components/slider/slider.options.d.ts +2 -3
  123. package/components/stepper/stepper.component.d.ts +3 -4
  124. package/components/switch/switch.component.d.ts +2 -2
  125. package/components/switch/switch.options.d.ts +3 -4
  126. package/components/tabs/tab.directive.d.ts +1 -1
  127. package/components/tabs/tabs-horizontal.directive.d.ts +1 -1
  128. package/components/tabs/tabs-vertical.directive.d.ts +1 -1
  129. package/components/tabs/tabs-with-more.component.d.ts +5 -6
  130. package/components/tabs/tabs.directive.d.ts +2 -3
  131. package/components/tabs/tabs.options.d.ts +2 -3
  132. package/components/tabs/tabs.providers.d.ts +2 -3
  133. package/components/textarea/textarea-limit.directive.d.ts +3 -3
  134. package/components/textarea/textarea.component.d.ts +2 -3
  135. package/components/textarea/textarea.options.d.ts +2 -2
  136. package/components/tiles/tile.component.d.ts +1 -1
  137. package/components/tiles/tile.service.d.ts +1 -1
  138. package/components/tree/components/tree/tree.component.d.ts +3 -3
  139. package/components/tree/components/tree-item/tree-item.component.d.ts +3 -3
  140. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +2 -2
  141. package/components/tree/directives/tree-children.directive.d.ts +1 -1
  142. package/components/tree/directives/tree-controller.directive.d.ts +2 -2
  143. package/components/tree/directives/tree-item-controller.directive.d.ts +2 -2
  144. package/components/tree/directives/tree-node.directive.d.ts +1 -1
  145. package/components/tree/misc/tree.constants.d.ts +1 -1
  146. package/components/tree/misc/tree.interfaces.d.ts +4 -4
  147. package/components/tree/misc/tree.tokens.d.ts +2 -2
  148. package/directives/button-select/button-select.directive.d.ts +1 -1
  149. package/directives/copy/copy.component.d.ts +1 -1
  150. package/directives/copy/copy.options.d.ts +2 -2
  151. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +1 -1
  152. package/directives/fade/fade.directive.d.ts +1 -1
  153. package/directives/fluid-typography/fluid-typography.directive.d.ts +1 -1
  154. package/directives/fluid-typography/fluid-typography.options.d.ts +1 -2
  155. package/directives/highlight/highlight.directive.d.ts +1 -1
  156. package/directives/lazy-loading/lazy-loading.directive.d.ts +1 -1
  157. package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
  158. package/directives/password/password.options.d.ts +2 -2
  159. package/directives/present/present.directive.d.ts +1 -1
  160. package/directives/shimmer/shimmer.directive.d.ts +1 -1
  161. package/directives/skeleton/skeleton.directive.d.ts +1 -1
  162. package/directives/tooltip/tooltip.directive.d.ts +2 -2
  163. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +1 -1
  164. package/directives/unfinished-validator/unfinished.validator.d.ts +2 -2
  165. package/directives/unmask-handler/unmask-handler.directive.d.ts +2 -2
  166. package/esm2022/components/accordion/accordion-item.component.mjs +1 -1
  167. package/esm2022/components/accordion/accordion.directive.mjs +2 -2
  168. package/esm2022/components/action-bar/action-bar.component.mjs +2 -2
  169. package/esm2022/components/avatar/avatar-stack.component.mjs +1 -1
  170. package/esm2022/components/avatar/avatar.component.mjs +1 -1
  171. package/esm2022/components/avatar/avatar.options.mjs +1 -1
  172. package/esm2022/components/badge/badge.options.mjs +1 -1
  173. package/esm2022/components/badge-notification/badge-notification.component.mjs +1 -1
  174. package/esm2022/components/badge-notification/badge-notification.options.mjs +1 -1
  175. package/esm2022/components/badged-content/badged-content.directive.mjs +1 -1
  176. package/esm2022/components/block/block.directive.mjs +1 -1
  177. package/esm2022/components/block/block.options.mjs +1 -1
  178. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +1 -1
  179. package/esm2022/components/breadcrumbs/breadcrumbs.options.mjs +1 -1
  180. package/esm2022/components/button-loading/button-loading.component.mjs +1 -1
  181. package/esm2022/components/calendar-month/calendar-month.component.mjs +1 -1
  182. package/esm2022/components/calendar-range/calculate-disabled-item-handler.mjs +1 -1
  183. package/esm2022/components/calendar-range/calendar-range.component.mjs +1 -1
  184. package/esm2022/components/calendar-range/day-caps-mapper.mjs +2 -2
  185. package/esm2022/components/calendar-range/day-range-period.mjs +1 -1
  186. package/esm2022/components/carousel/carousel.component.mjs +2 -2
  187. package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
  188. package/esm2022/components/checkbox/checkbox.options.mjs +1 -1
  189. package/esm2022/components/chip/chip.directive.mjs +1 -1
  190. package/esm2022/components/chip/chip.options.mjs +1 -1
  191. package/esm2022/components/combo-box/combo-box.directive.mjs +3 -3
  192. package/esm2022/components/comment/comment.directive.mjs +1 -1
  193. package/esm2022/components/confirm/confirm.component.mjs +1 -1
  194. package/esm2022/components/confirm/confirm.service.mjs +1 -1
  195. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +3 -3
  196. package/esm2022/components/drawer/drawer.component.mjs +1 -1
  197. package/esm2022/components/files/file/file.component.mjs +1 -1
  198. package/esm2022/components/files/file/file.options.mjs +1 -1
  199. package/esm2022/components/files/files/files.component.mjs +1 -1
  200. package/esm2022/components/files/files.types.mjs +1 -1
  201. package/esm2022/components/files/files.utils.mjs +1 -1
  202. package/esm2022/components/files/files.validators.mjs +1 -1
  203. package/esm2022/components/files/input-files/input-files-validator.directive.mjs +1 -1
  204. package/esm2022/components/files/input-files/input-files.component.mjs +1 -1
  205. package/esm2022/components/files/input-files/input-files.content.mjs +1 -1
  206. package/esm2022/components/files/input-files/input-files.directive.mjs +1 -1
  207. package/esm2022/components/files/input-files/input-files.options.mjs +1 -1
  208. package/esm2022/components/files/pipes/file-rejected.pipe.mjs +1 -1
  209. package/esm2022/components/filter/filter.component.mjs +2 -2
  210. package/esm2022/components/index.mjs +2 -1
  211. package/esm2022/components/input-chip/input-chip.component.mjs +2 -2
  212. package/esm2022/components/input-chip/input-chip.directive.mjs +2 -2
  213. package/esm2022/components/input-color/input-color.component.mjs +1 -1
  214. package/esm2022/components/input-color/input-color.options.mjs +1 -1
  215. package/esm2022/components/input-date/date-filler.mjs +1 -1
  216. package/esm2022/components/input-date/input-date.directive.mjs +3 -3
  217. package/esm2022/components/input-date/input-date.options.mjs +2 -2
  218. package/esm2022/components/input-date-range/input-date-range.directive.mjs +2 -2
  219. package/esm2022/components/input-date-range/input-date-range.options.mjs +2 -2
  220. package/esm2022/components/input-date-time/input-date-time.directive.mjs +1 -1
  221. package/esm2022/components/input-date-time/input-date-time.options.mjs +2 -2
  222. package/esm2022/components/input-month/input-month.directive.mjs +1 -1
  223. package/esm2022/components/input-month/input-month.options.mjs +2 -2
  224. package/esm2022/components/input-month-range/input-month-range.directive.mjs +2 -2
  225. package/esm2022/components/input-month-range/input-month-range.options.mjs +2 -2
  226. package/esm2022/components/input-number/index.mjs +2 -1
  227. package/esm2022/components/input-number/input-number.directive.mjs +7 -13
  228. package/esm2022/components/input-number/input-number.mjs +7 -2
  229. package/esm2022/components/input-number/input-number.options.mjs +1 -1
  230. package/esm2022/components/input-number/quantum.directive.mjs +56 -0
  231. package/esm2022/components/input-number/step/input-number-step.component.mjs +2 -2
  232. package/esm2022/components/input-password/input-password.options.mjs +1 -1
  233. package/esm2022/components/input-phone/index.mjs +3 -0
  234. package/esm2022/components/input-phone/input-phone.directive.mjs +137 -0
  235. package/esm2022/components/input-phone/input-phone.options.mjs +9 -0
  236. package/esm2022/components/input-phone/taiga-ui-kit-components-input-phone.mjs +5 -0
  237. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +41 -0
  238. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +17 -0
  239. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +2 -2
  240. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +1 -1
  241. package/esm2022/components/input-pin/input-pin.component.mjs +1 -1
  242. package/esm2022/components/input-slider/input-slider.directive.mjs +8 -12
  243. package/esm2022/components/input-time/input-time.component.mjs +1 -1
  244. package/esm2022/components/input-time/input-time.directive.mjs +1 -1
  245. package/esm2022/components/input-time/input-time.options.mjs +1 -1
  246. package/esm2022/components/input-year/input-year.options.mjs +2 -2
  247. package/esm2022/components/items-with-more/items-with-more.component.mjs +1 -1
  248. package/esm2022/components/items-with-more/items-with-more.directive.mjs +1 -1
  249. package/esm2022/components/items-with-more/more.directive.mjs +1 -1
  250. package/esm2022/components/like/like.component.mjs +1 -1
  251. package/esm2022/components/like/like.options.mjs +1 -1
  252. package/esm2022/components/line-clamp/line-clamp-position.directive.mjs +2 -2
  253. package/esm2022/components/line-clamp/line-clamp.component.mjs +1 -1
  254. package/esm2022/components/line-clamp/line-clamp.options.mjs +1 -1
  255. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +2 -2
  256. package/esm2022/components/multi-select/multi-select-native/multi-select-native.component.mjs +2 -2
  257. package/esm2022/components/multi-select/multi-select-option/multi-select-option.component.mjs +2 -2
  258. package/esm2022/components/pager/pager.component.mjs +1 -1
  259. package/esm2022/components/pagination/pagination.component.mjs +1 -1
  260. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +1 -1
  261. package/esm2022/components/pdf-viewer/pdf-viewer.directive.mjs +1 -1
  262. package/esm2022/components/pdf-viewer/pdf-viewer.options.mjs +1 -1
  263. package/esm2022/components/pdf-viewer/pdf-viewer.service.mjs +1 -1
  264. package/esm2022/components/preview/dialog/preview-dialog.component.mjs +1 -1
  265. package/esm2022/components/preview/preview.component.mjs +1 -1
  266. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +1 -1
  267. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +1 -1
  268. package/esm2022/components/progress/progress.options.mjs +1 -1
  269. package/esm2022/components/push/push-alert.component.mjs +1 -1
  270. package/esm2022/components/push/push.options.mjs +1 -1
  271. package/esm2022/components/push/push.service.mjs +1 -1
  272. package/esm2022/components/radio/radio.component.mjs +1 -1
  273. package/esm2022/components/radio/radio.directive.mjs +1 -1
  274. package/esm2022/components/radio/radio.options.mjs +1 -1
  275. package/esm2022/components/radio-list/radio-list.component.mjs +2 -2
  276. package/esm2022/components/range/range.component.mjs +3 -3
  277. package/esm2022/components/rating/rating.component.mjs +1 -1
  278. package/esm2022/components/rating/rating.options.mjs +1 -1
  279. package/esm2022/components/routable-dialog/generate-dialogable-route.mjs +1 -1
  280. package/esm2022/components/routable-dialog/routable-dialog.component.mjs +2 -2
  281. package/esm2022/components/segmented/segmented.component.mjs +1 -1
  282. package/esm2022/components/segmented/segmented.directive.mjs +2 -2
  283. package/esm2022/components/select/native-select/native-select.component.mjs +2 -2
  284. package/esm2022/components/select/select-option/select-option.component.mjs +2 -2
  285. package/esm2022/components/select/select.directive.mjs +2 -2
  286. package/esm2022/components/slider/helpers/key-steps.mjs +1 -1
  287. package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +1 -1
  288. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +1 -1
  289. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +2 -2
  290. package/esm2022/components/slider/slider.component.mjs +3 -3
  291. package/esm2022/components/slider/slider.options.mjs +1 -1
  292. package/esm2022/components/stepper/stepper.component.mjs +1 -1
  293. package/esm2022/components/switch/switch.component.mjs +1 -1
  294. package/esm2022/components/switch/switch.options.mjs +1 -1
  295. package/esm2022/components/tabs/tab.directive.mjs +1 -1
  296. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +2 -2
  297. package/esm2022/components/tabs/tabs-vertical.directive.mjs +1 -1
  298. package/esm2022/components/tabs/tabs-with-more.component.mjs +1 -1
  299. package/esm2022/components/tabs/tabs.directive.mjs +1 -1
  300. package/esm2022/components/tabs/tabs.options.mjs +1 -1
  301. package/esm2022/components/tabs/tabs.providers.mjs +2 -2
  302. package/esm2022/components/textarea/textarea-limit.directive.mjs +2 -2
  303. package/esm2022/components/textarea/textarea.component.mjs +3 -3
  304. package/esm2022/components/textarea/textarea.options.mjs +1 -1
  305. package/esm2022/components/tiles/tile.component.mjs +1 -1
  306. package/esm2022/components/tiles/tile.service.mjs +1 -1
  307. package/esm2022/components/tree/components/tree/tree.component.mjs +1 -1
  308. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +1 -1
  309. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +2 -2
  310. package/esm2022/components/tree/directives/tree-children.directive.mjs +1 -1
  311. package/esm2022/components/tree/directives/tree-controller.directive.mjs +1 -1
  312. package/esm2022/components/tree/directives/tree-item-controller.directive.mjs +1 -1
  313. package/esm2022/components/tree/directives/tree-node.directive.mjs +1 -1
  314. package/esm2022/components/tree/misc/tree.constants.mjs +1 -1
  315. package/esm2022/components/tree/misc/tree.interfaces.mjs +1 -1
  316. package/esm2022/components/tree/misc/tree.service.mjs +1 -1
  317. package/esm2022/components/tree/misc/tree.tokens.mjs +1 -1
  318. package/esm2022/directives/button-select/button-select.directive.mjs +2 -2
  319. package/esm2022/directives/copy/copy.component.mjs +1 -1
  320. package/esm2022/directives/copy/copy.options.mjs +1 -1
  321. package/esm2022/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.mjs +2 -2
  322. package/esm2022/directives/fade/fade.directive.mjs +1 -1
  323. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +1 -1
  324. package/esm2022/directives/fluid-typography/fluid-typography.options.mjs +1 -1
  325. package/esm2022/directives/highlight/highlight.directive.mjs +1 -1
  326. package/esm2022/directives/lazy-loading/lazy-loading.directive.mjs +1 -1
  327. package/esm2022/directives/lazy-loading/lazy-loading.service.mjs +1 -1
  328. package/esm2022/directives/password/password.options.mjs +1 -1
  329. package/esm2022/directives/present/present.directive.mjs +1 -1
  330. package/esm2022/directives/shimmer/shimmer.directive.mjs +1 -1
  331. package/esm2022/directives/skeleton/skeleton.directive.mjs +1 -1
  332. package/esm2022/directives/tooltip/tooltip.directive.mjs +1 -1
  333. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +1 -1
  334. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +1 -1
  335. package/esm2022/directives/unmask-handler/unmask-handler.directive.mjs +2 -2
  336. package/esm2022/pipes/emails/emails.pipe.mjs +1 -1
  337. package/esm2022/pipes/field-error/field-error-content-pipe.mjs +2 -2
  338. package/esm2022/pipes/field-error/field-error-pipe.mjs +2 -2
  339. package/esm2022/pipes/filter-by-input/filter-by-input.pipe.mjs +2 -2
  340. package/esm2022/pipes/hide-selected/hide-selected.pipe.mjs +1 -1
  341. package/esm2022/pipes/sort-countries/sort-countries.pipe.mjs +1 -1
  342. package/esm2022/pipes/stringify/stringify.pipe.mjs +1 -1
  343. package/esm2022/pipes/stringify-content/stringify-content.pipe.mjs +1 -1
  344. package/esm2022/tokens/calendar-date-stream.mjs +1 -1
  345. package/esm2022/tokens/date-inputs-value-transformers.mjs +2 -2
  346. package/esm2022/tokens/i18n.mjs +1 -1
  347. package/esm2022/tokens/input-date-options.mjs +1 -1
  348. package/esm2022/tokens/items-handlers.mjs +1 -1
  349. package/esm2022/tokens/mobile-calendar.mjs +1 -1
  350. package/esm2022/tokens/month-formatter.mjs +1 -1
  351. package/esm2022/tokens/preview-icons.mjs +1 -1
  352. package/esm2022/tokens/validation-errors.mjs +1 -1
  353. package/esm2022/utils/inject-value.mjs +1 -1
  354. package/esm2022/utils/maskito.binding.mjs +1 -1
  355. package/esm2022/utils/phone.mjs +1 -1
  356. package/esm2022/utils/toggle-day.mjs +1 -1
  357. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  358. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  359. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  360. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  361. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  362. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  363. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  364. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  365. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  366. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  367. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  368. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  369. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  370. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  371. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  372. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  373. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  374. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  375. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  376. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  377. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  378. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  379. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  380. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  381. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  382. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  383. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  384. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  385. package/fesm2022/taiga-ui-kit-components-input-number.mjs +63 -17
  386. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  387. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +1 -1
  388. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  389. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +206 -0
  390. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -0
  391. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  392. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +7 -11
  393. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  394. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  395. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  396. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  397. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  398. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  399. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  400. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  401. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  402. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
  403. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  404. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  405. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  406. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  407. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  408. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  409. package/fesm2022/taiga-ui-kit-components-range.mjs +2 -2
  410. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  411. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  412. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  413. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  414. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  415. package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
  416. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  417. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  418. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  419. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  420. package/fesm2022/taiga-ui-kit-components-textarea.mjs +2 -2
  421. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  422. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  423. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  424. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  425. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  426. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  427. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
  428. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  429. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  430. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  431. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  432. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  433. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  434. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  435. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  436. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  437. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  438. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  439. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  440. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  441. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +1 -1
  442. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  443. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  444. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  445. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  446. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  447. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  448. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  449. package/package.json +14 -8
  450. package/pipes/emails/emails.pipe.d.ts +1 -1
  451. package/pipes/field-error/field-error-content-pipe.d.ts +2 -2
  452. package/pipes/field-error/field-error-pipe.d.ts +2 -2
  453. package/pipes/filter-by-input/filter-by-input.pipe.d.ts +2 -2
  454. package/pipes/hide-selected/hide-selected.pipe.d.ts +1 -1
  455. package/pipes/sort-countries/sort-countries.pipe.d.ts +3 -3
  456. package/pipes/stringify/stringify.pipe.d.ts +2 -2
  457. package/pipes/stringify-content/stringify-content.pipe.d.ts +3 -3
  458. package/tokens/calendar-date-stream.d.ts +4 -5
  459. package/tokens/date-inputs-value-transformers.d.ts +2 -2
  460. package/tokens/i18n.d.ts +3 -3
  461. package/tokens/input-date-options.d.ts +4 -4
  462. package/tokens/items-handlers.d.ts +2 -3
  463. package/tokens/mobile-calendar.d.ts +1 -2
  464. package/tokens/month-formatter.d.ts +3 -3
  465. package/tokens/preview-icons.d.ts +1 -2
  466. package/tokens/validation-errors.d.ts +3 -4
  467. package/utils/inject-value.d.ts +1 -1
  468. package/utils/maskito.binding.d.ts +2 -2
  469. package/utils/phone.d.ts +2 -2
  470. package/utils/toggle-day.d.ts +1 -1
@@ -78,10 +78,10 @@ class TuiInputNumberDirective extends TuiControl {
78
78
  this.postfix = signal(this.options.postfix);
79
79
  }
80
80
  set minSetter(x) {
81
- this.updateMinMaxLimits(x, this.max());
81
+ this.updateMinMaxLimits(this.transformer.fromControlValue(x), this.max());
82
82
  }
83
83
  set maxSetter(x) {
84
- this.updateMinMaxLimits(this.min(), x);
84
+ this.updateMinMaxLimits(this.min(), this.transformer.fromControlValue(x));
85
85
  }
86
86
  // TODO(v5): replace with signal input
87
87
  set prefixSetter(x) {
@@ -98,12 +98,6 @@ class TuiInputNumberDirective extends TuiControl {
98
98
  setValue(value) {
99
99
  this.textfield.value.set(this.formatNumber(value));
100
100
  }
101
- onBlur() {
102
- this.onTouched();
103
- if (!this.unfinished()) {
104
- this.setValue(this.value());
105
- }
106
- }
107
101
  onFocus() {
108
102
  if (Number.isNaN(this.formatted()) && !this.readOnly()) {
109
103
  this.textfield.value.set(this.prefix() + this.postfix());
@@ -129,8 +123,8 @@ class TuiInputNumberDirective extends TuiControl {
129
123
  this.postfix());
130
124
  }
131
125
  updateMinMaxLimits(nullableMin, nullableMax) {
132
- const min = this.transformer.fromControlValue(nullableMin) ?? this.options.min;
133
- const max = this.transformer.fromControlValue(nullableMax) ?? this.options.max;
126
+ const min = nullableMin ?? this.options.min;
127
+ const max = nullableMax ?? this.options.max;
134
128
  this.min.set(Math.min(min, max));
135
129
  this.max.set(Math.max(min, max));
136
130
  }
@@ -155,7 +149,7 @@ class TuiInputNumberDirective extends TuiControl {
155
149
  };
156
150
  }
157
151
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
158
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberDirective, isStandalone: true, selector: "input[tuiInputNumber]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { listeners: { "blur": "onBlur()", "focus": "onFocus()" }, properties: { "disabled": "disabled()", "attr.inputMode": "inputMode()", "attr.maxLength": "element.maxLength > 0 ? element.maxLength : defaultMaxLength()" } }, providers: [
152
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberDirective, isStandalone: true, selector: "input[tuiInputNumber]", inputs: { minSetter: ["min", "minSetter"], maxSetter: ["max", "maxSetter"], prefixSetter: ["prefix", "prefixSetter"], postfixSetter: ["postfix", "postfixSetter"] }, host: { listeners: { "blur": "setValue(transformer.fromControlValue(control.value))", "focus": "onFocus()" }, properties: { "disabled": "disabled()", "attr.inputMode": "inputMode()", "attr.maxLength": "element.maxLength > 0 ? element.maxLength : defaultMaxLength()" } }, providers: [
159
153
  tuiAsControl(TuiInputNumberDirective),
160
154
  tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),
161
155
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
@@ -175,7 +169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
175
169
  '[disabled]': 'disabled()',
176
170
  '[attr.inputMode]': 'inputMode()',
177
171
  '[attr.maxLength]': 'element.maxLength > 0 ? element.maxLength : defaultMaxLength()',
178
- '(blur)': 'onBlur()',
172
+ '(blur)': 'setValue(transformer.fromControlValue(control.value))',
179
173
  '(focus)': 'onFocus()',
180
174
  },
181
175
  }]
@@ -192,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
192
186
  type: Input,
193
187
  args: ['postfix']
194
188
  }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsNkJBQTZCLEVBQzdCLGtCQUFrQixHQUNyQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9B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QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNQLFlBQVkseUJBQXlCO3dCQUNyQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEQ7b0JBQ0QsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3BELElBQUksRUFBRTt3QkFDRixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsa0JBQWtCLEVBQUUsYUFBYTt3QkFDakMsa0JBQWtCLEVBQ2QsZ0VBQWdFO3dCQUNwRSxRQUFRLEVBQUUsVUFBVTt3QkFDcEIsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQTZGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgdHlwZSB7TWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2lufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB0eXBlIHtNYXNraXRvTnVtYmVyUGFyYW1zfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICBtYXNraXRvUGFyc2VOdW1iZXIsXG59IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQge3R1aUFzQ29udHJvbCwgVHVpQ29udHJvbCwgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb219IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0NIQVJfSFlQSEVOLCBDSEFSX01JTlVTLCBUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpSXNTYWZlVG9Sb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7XG4gICAgVHVpVGV4dGZpZWxkRGlyZWN0aXZlLFxuICAgIFR1aVdpdGhUZXh0ZmllbGQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfTlVNQkVSX0ZPUk1BVCwgVFVJX05VTUJFUl9GT1JNQVR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUZvcm1hdE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7dHVpTWFza2l0b30gZnJvbSAnQHRhaWdhLXVpL2tpdC91dGlscyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX05VTUJFUl9PUFRJT05TfSBmcm9tICcuL2lucHV0LW51bWJlci5vcHRpb25zJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE51bWJlcl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtUdWlXaXRoVGV4dGZpZWxkLCBNYXNraXRvRGlyZWN0aXZlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnW2F0dHIuaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUoKScsXG4gICAgICAgICdbYXR0ci5tYXhMZW5ndGhdJzpcbiAgICAgICAgICAgICdlbGVtZW50Lm1heExlbmd0aCA+IDAgPyBlbGVtZW50Lm1heExlbmd0aCA6IGRlZmF1bHRNYXhMZW5ndGgoKScsXG4gICAgICAgICcoYmx1ciknOiAnb25CbHVyKCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlIGV4dGVuZHMgVHVpQ29udHJvbDxudW1iZXIgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzSU9TID0gaW5qZWN0KFRVSV9JU19JT1MpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0ID0gdG9TaWduYWwoaW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1hdHRlZCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIG1hc2tpdG9QYXJzZU51bWJlcih0aGlzLnRleHRmaWVsZC52YWx1ZSgpLCB0aGlzLm51bWJlckZvcm1hdCgpKSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmVjaXNpb24gPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBOdW1iZXIuaXNOYU4odGhpcy5udW1iZXJGb3JtYXQoKS5wcmVjaXNpb24pID8gMiA6IHRoaXMubnVtYmVyRm9ybWF0KCkucHJlY2lzaW9uLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuZmluaXNoZWQgPSBjb21wdXRlZCgodmFsdWUgPSB0aGlzLmZvcm1hdHRlZCgpKSA9PlxuICAgICAgICB2YWx1ZSA8IDAgPyB2YWx1ZSA+IHRoaXMubWF4KCkgOiB2YWx1ZSA8IHRoaXMubWluKCksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvbkNoYW5nZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtYXR0ZWQoKTtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkKCkgfHxcbiAgICAgICAgICAgIHZhbHVlIDwgdGhpcy5taW4oKSB8fFxuICAgICAgICAgICAgdmFsdWUgPiB0aGlzLm1heCgpIHx8XG4gICAgICAgICAgICB0aGlzLnZhbHVlKCkgPT09IHZhbHVlXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfSwgVFVJX0FMTE9XX1NJR05BTF9XUklURVMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1vZGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzSU9TKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5taW4oKSA8IDBcbiAgICAgICAgICAgICAgICA/ICd0ZXh0JyAvLyBpUGhvbmUgZG9lcyBub3QgaGF2ZSBtaW51cyBzaWduIGlmIGlucHV0TW9kZSBlcXVhbHMgdG8gJ251bWVyaWMnIC8gJ2RlY2ltYWwnXG4gICAgICAgICAgICAgICAgOiAnZGVjaW1hbCc7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogU2Ftc3VuZyBLZXlib2FyZCBkb2VzIG5vdCBtaW51cyBzaWduIGZvciBgaW5wdXRtb2RlPWRlY2ltYWxgXG4gICAgICAgICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RhaWdhLWZhbWlseS90YWlnYS11aS9pc3N1ZXMvMTEwNjEjaXNzdWVjb21tZW50LTI5MzkxMDM3OTJcbiAgICAgICAgICovXG4gICAgICAgIHJldHVybiAnbnVtZXJpYyc7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdE1heExlbmd0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qge2RlY2ltYWxTZXBhcmF0b3IsIHRob3VzYW5kU2VwYXJhdG9yfSA9IHRoaXMubnVtYmVyRm9ybWF0KCk7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID1cbiAgICAgICAgICAgICEhdGhpcy5wcmVjaXNpb24oKSAmJiB0aGlzLnRleHRmaWVsZC52YWx1ZSgpLmluY2x1ZGVzKGRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBwcmVjaXNpb24gPSBkZWNpbWFsUGFydCA/IE1hdGgubWluKHRoaXMucHJlY2lzaW9uKCkgKyAxLCAyMCkgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IHR1aU1hc2tpdG8oXG4gICAgICAgIGNvbXB1dGVkKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHtkZWNpbWFsTW9kZSwgLi4ubnVtYmVyRm9ybWF0fSA9IHRoaXMubnVtYmVyRm9ybWF0KCksXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzID0gdGhpcy5wcmVjaXNpb24oKSxcbiAgICAgICAgICAgICkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmNvbXB1dGVNYXNrKHtcbiAgICAgICAgICAgICAgICAgICAgLi4ubnVtYmVyRm9ybWF0LFxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHMsXG4gICAgICAgICAgICAgICAgICAgIG1pbjogdGhpcy5taW4oKSxcbiAgICAgICAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCgpLFxuICAgICAgICAgICAgICAgICAgICBwcmVmaXg6IHRoaXMucHJlZml4KCksXG4gICAgICAgICAgICAgICAgICAgIHBvc3RmaXg6IHRoaXMucG9zdGZpeCgpLFxuICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsTW9kZSA9PT0gJ2Fsd2F5cycgPyBtYXhpbXVtRnJhY3Rpb25EaWdpdHMgOiAwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWluID0gc2lnbmFsKHRoaXMub3B0aW9ucy5taW4pO1xuICAgIHB1YmxpYyByZWFkb25seSBtYXggPSBzaWduYWwodGhpcy5vcHRpb25zLm1heCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHByZWZpeCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMucHJlZml4KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcG9zdGZpeCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMucG9zdGZpeCk7XG5cbiAgICBASW5wdXQoJ21pbicpXG4gICAgcHVibGljIHNldCBtaW5TZXR0ZXIoeDogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbk1heExpbWl0cyh4LCB0aGlzLm1heCgpKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heCcpXG4gICAgcHVibGljIHNldCBtYXhTZXR0ZXIoeDogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbk1heExpbWl0cyh0aGlzLm1pbigpLCB4KTtcbiAgICB9XG5cbiAgICAvLyBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgncHJlZml4JylcbiAgICBwdWJsaWMgc2V0IHByZWZpeFNldHRlcih4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wcmVmaXguc2V0KHgpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdwb3N0Zml4JylcbiAgICBwdWJsaWMgc2V0IHBvc3RmaXhTZXR0ZXIoeDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucG9zdGZpeC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0VmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KHRoaXMuZm9ybWF0TnVtYmVyKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcblxuICAgICAgICBpZiAoIXRoaXMudW5maW5pc2hlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKHRoaXMudmFsdWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTih0aGlzLmZvcm1hdHRlZCgpKSAmJiAhdGhpcy5yZWFkT25seSgpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5wcmVmaXgoKSArIHRoaXMucG9zdGZpeCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5wcmVmaXgoKSAhPT0gQ0hBUl9NSU5VUyA/IHRoaXMucHJlZml4KCkgOiAnJykgK1xuICAgICAgICAgICAgdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5udW1iZXJGb3JtYXQoKSxcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBOdW1iZXIgY2FuIHNhdGlzZnkgaW50ZXJ2YWwgW051bWJlci5NSU5fU0FGRV9JTlRFR0VSOyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUl1cbiAgICAgICAgICAgICAgICAgKiBidXQgaXRzIHJvdW5kaW5nIGNhbiB2aW9sYXRlIGl0LlxuICAgICAgICAgICAgICAgICAqIEJlZm9yZSBCaWdJbnQgc3VwcG9ydCB0aGVyZSBpcyBubyBwZXJmZWN0IHNvbHV0aW9uIOKAkyBvbmx5IHRyYWRlIG9mZi5cbiAgICAgICAgICAgICAgICAgKiBObyByb3VuZGluZyBpcyBiZXR0ZXIgdGhhbiBsb3NlIHByZWNpc2lvbiBhbmQgaW5jb3JyZWN0IG11dGF0aW9uIG9mIGFscmVhZHkgdmFsaWQgdmFsdWUuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiB0dWlJc1NhZmVUb1JvdW5kKHZhbHVlLCB0aGlzLnByZWNpc2lvbigpKVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMucHJlY2lzaW9uKClcbiAgICAgICAgICAgICAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgICAgICAgIH0pLnJlcGxhY2UoQ0hBUl9IWVBIRU4sIENIQVJfTUlOVVMpICtcbiAgICAgICAgICAgIHRoaXMucG9zdGZpeCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNaW5NYXhMaW1pdHMoXG4gICAgICAgIG51bGxhYmxlTWluOiBudW1iZXIgfCBudWxsLFxuICAgICAgICBudWxsYWJsZU1heDogbnVtYmVyIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluID0gdGhpcy50cmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKG51bGxhYmxlTWluKSA/PyB0aGlzLm9wdGlvbnMubWluO1xuICAgICAgICBjb25zdCBtYXggPSB0aGlzLnRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUobnVsbGFibGVNYXgpID8/IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICAgICAgdGhpcy5taW4uc2V0KE1hdGgubWluKG1pbiwgbWF4KSk7XG4gICAgICAgIHRoaXMubWF4LnNldChNYXRoLm1heChtaW4sIG1heCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29tcHV0ZU1hc2socGFyYW1zOiBNYXNraXRvTnVtYmVyUGFyYW1zKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICBjb25zdCB7cHJlZml4ID0gJycsIHBvc3RmaXggPSAnJ30gPSBwYXJhbXM7XG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5vcHRpb25zfSA9IG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbiA9IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4oXG4gICAgICAgICAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgICAgICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAgICAgICAgICAgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9DYXJldEd1YXJkKCh2YWx1ZSkgPT4gW1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggLSBwb3N0Zml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLCtCQUErQixFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUU3QixrQkFBa0IsR0FDckIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLGdCQUFnQixHQUNuQixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxP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LFlBQVk7d0JBQzFCLGtCQUFrQixFQUFFLGFBQWE7d0JBQ2pDLGtCQUFrQixFQUNkLGdFQUFnRTt3QkFDcEUsUUFBUSxFQUFFLHVEQUF1RDt3QkFDakUsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKOzhCQTZGYyxTQUFTO3NCQURuQixLQUFLO3VCQUFDLEtBQUs7Z0JBTUQsU0FBUztzQkFEbkIsS0FBSzt1QkFBQyxLQUFLO2dCQU9ELFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsUUFBUTtnQkFPSixhQUFhO3NCQUR2QixLQUFLO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TWFza2l0b0RpcmVjdGl2ZX0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQge21hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sIHR5cGUgTWFza2l0b09wdGlvbnN9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBtYXNraXRvQ2FyZXRHdWFyZCxcbiAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcixcbiAgICB0eXBlIE1hc2tpdG9OdW1iZXJQYXJhbXMsXG4gICAgbWFza2l0b1BhcnNlTnVtYmVyLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUywgVFVJX0FMTE9XX1NJR05BTF9XUklURVN9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUlzU2FmZVRvUm91bmR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1xuICAgIFR1aVRleHRmaWVsZERpcmVjdGl2ZSxcbiAgICBUdWlXaXRoVGV4dGZpZWxkLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1RVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQsIFRVSV9OVU1CRVJfRk9STUFUfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlGb3JtYXROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge3R1aU1hc2tpdG99IGZyb20gJ0B0YWlnYS11aS9raXQvdXRpbHMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpSW5wdXROdW1iZXJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlKSxcbiAgICAgICAgdHVpVmFsdWVUcmFuc2Zvcm1lckZyb20oVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpV2l0aFRleHRmaWVsZCwgTWFza2l0b0RpcmVjdGl2ZV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJ1thdHRyLmlucHV0TW9kZV0nOiAnaW5wdXRNb2RlKCknLFxuICAgICAgICAnW2F0dHIubWF4TGVuZ3RoXSc6XG4gICAgICAgICAgICAnZWxlbWVudC5tYXhMZW5ndGggPiAwID8gZWxlbWVudC5tYXhMZW5ndGggOiBkZWZhdWx0TWF4TGVuZ3RoKCknLFxuICAgICAgICAnKGJsdXIpJzogJ3NldFZhbHVlKHRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUoY29udHJvbC52YWx1ZSkpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSBleHRlbmRzIFR1aUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkID0gaW5qZWN0KFR1aVRleHRmaWVsZERpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0lPUyA9IGluamVjdChUVUlfSVNfSU9TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdCA9IHRvU2lnbmFsKGluamVjdChUVUlfTlVNQkVSX0ZPUk1BVCksIHtcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtYXR0ZWQgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICBtYXNraXRvUGFyc2VOdW1iZXIodGhpcy50ZXh0ZmllbGQudmFsdWUoKSwgdGhpcy5udW1iZXJGb3JtYXQoKSksXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlY2lzaW9uID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgTnVtYmVyLmlzTmFOKHRoaXMubnVtYmVyRm9ybWF0KCkucHJlY2lzaW9uKSA/IDIgOiB0aGlzLm51bWJlckZvcm1hdCgpLnByZWNpc2lvbixcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bmZpbmlzaGVkID0gY29tcHV0ZWQoKHZhbHVlID0gdGhpcy5mb3JtYXR0ZWQoKSkgPT5cbiAgICAgICAgdmFsdWUgPCAwID8gdmFsdWUgPiB0aGlzLm1heCgpIDogdmFsdWUgPCB0aGlzLm1pbigpLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb25DaGFuZ2VFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybWF0dGVkKCk7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMudW5maW5pc2hlZCgpIHx8XG4gICAgICAgICAgICB2YWx1ZSA8IHRoaXMubWluKCkgfHxcbiAgICAgICAgICAgIHZhbHVlID4gdGhpcy5tYXgoKSB8fFxuICAgICAgICAgICAgdGhpcy52YWx1ZSgpID09PSB2YWx1ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnQgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRNb2RlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5pc0lPUykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWluKCkgPCAwXG4gICAgICAgICAgICAgICAgPyAndGV4dCcgLy8gaVBob25lIGRvZXMgbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgZXF1YWxzIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgICAgIDogJ2RlY2ltYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNhbXN1bmcgS2V5Ym9hcmQgZG9lcyBub3QgbWludXMgc2lnbiBmb3IgYGlucHV0bW9kZT1kZWNpbWFsYFxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlnYS1mYW1pbHkvdGFpZ2EtdWkvaXNzdWVzLzExMDYxI2lzc3VlY29tbWVudC0yOTM5MTAzNzkyXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gJ251bWVyaWMnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRNYXhMZW5ndGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHtkZWNpbWFsU2VwYXJhdG9yLCB0aG91c2FuZFNlcGFyYXRvcn0gPSB0aGlzLm51bWJlckZvcm1hdCgpO1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICAhIXRoaXMucHJlY2lzaW9uKCkgJiYgdGhpcy50ZXh0ZmllbGQudmFsdWUoKS5pbmNsdWRlcyhkZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyBNYXRoLm1pbih0aGlzLnByZWNpc2lvbigpICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2sgPSB0dWlNYXNraXRvKFxuICAgICAgICBjb21wdXRlZChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB7ZGVjaW1hbE1vZGUsIC4uLm51bWJlckZvcm1hdH0gPSB0aGlzLm51bWJlckZvcm1hdCgpLFxuICAgICAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHRoaXMucHJlY2lzaW9uKCksXG4gICAgICAgICAgICApID0+XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wdXRlTWFzayh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgICAgICAgICBtaW46IHRoaXMubWluKCksXG4gICAgICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgoKSxcbiAgICAgICAgICAgICAgICAgICAgcHJlZml4OiB0aGlzLnByZWZpeCgpLFxuICAgICAgICAgICAgICAgICAgICBwb3N0Zml4OiB0aGlzLnBvc3RmaXgoKSxcbiAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbE1vZGUgPT09ICdhbHdheXMnID8gbWF4aW11bUZyYWN0aW9uRGlnaXRzIDogMCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IG1pbiA9IHNpZ25hbCh0aGlzLm9wdGlvbnMubWluKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF4ID0gc2lnbmFsKHRoaXMub3B0aW9ucy5tYXgpO1xuICAgIHB1YmxpYyByZWFkb25seSBwcmVmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnByZWZpeCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHBvc3RmaXggPSBzaWduYWwodGhpcy5vcHRpb25zLnBvc3RmaXgpO1xuXG4gICAgQElucHV0KCdtaW4nKVxuICAgIHB1YmxpYyBzZXQgbWluU2V0dGVyKHg6IG51bWJlciB8IG51bGwpIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaW5NYXhMaW1pdHModGhpcy50cmFuc2Zvcm1lci5mcm9tQ29udHJvbFZhbHVlKHgpLCB0aGlzLm1heCgpKTtcbiAgICB9XG5cbiAgICBASW5wdXQoJ21heCcpXG4gICAgcHVibGljIHNldCBtYXhTZXR0ZXIoeDogbnVtYmVyIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbk1heExpbWl0cyh0aGlzLm1pbigpLCB0aGlzLnRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUoeCkpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdwcmVmaXgnKVxuICAgIHB1YmxpYyBzZXQgcHJlZml4U2V0dGVyKHg6IHN0cmluZykge1xuICAgICAgICB0aGlzLnByZWZpeC5zZXQoeCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3Bvc3RmaXgnKVxuICAgIHB1YmxpYyBzZXQgcG9zdGZpeFNldHRlcih4OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5wb3N0Zml4LnNldCh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5mb3JtYXROdW1iZXIodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKE51bWJlci5pc05hTih0aGlzLmZvcm1hdHRlZCgpKSAmJiAhdGhpcy5yZWFkT25seSgpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5wcmVmaXgoKSArIHRoaXMucG9zdGZpeCgpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKHZhbHVlOiBudW1iZXIgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsIHx8IE51bWJlci5pc05hTih2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAodGhpcy5wcmVmaXgoKSAhPT0gQ0hBUl9NSU5VUyA/IHRoaXMucHJlZml4KCkgOiAnJykgK1xuICAgICAgICAgICAgdHVpRm9ybWF0TnVtYmVyKHZhbHVlLCB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5udW1iZXJGb3JtYXQoKSxcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBOdW1iZXIgY2FuIHNhdGlzZnkgaW50ZXJ2YWwgW051bWJlci5NSU5fU0FGRV9JTlRFR0VSOyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUl1cbiAgICAgICAgICAgICAgICAgKiBidXQgaXRzIHJvdW5kaW5nIGNhbiB2aW9sYXRlIGl0LlxuICAgICAgICAgICAgICAgICAqIEJlZm9yZSBCaWdJbnQgc3VwcG9ydCB0aGVyZSBpcyBubyBwZXJmZWN0IHNvbHV0aW9uIOKAkyBvbmx5IHRyYWRlIG9mZi5cbiAgICAgICAgICAgICAgICAgKiBObyByb3VuZGluZyBpcyBiZXR0ZXIgdGhhbiBsb3NlIHByZWNpc2lvbiBhbmQgaW5jb3JyZWN0IG11dGF0aW9uIG9mIGFscmVhZHkgdmFsaWQgdmFsdWUuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiB0dWlJc1NhZmVUb1JvdW5kKHZhbHVlLCB0aGlzLnByZWNpc2lvbigpKVxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMucHJlY2lzaW9uKClcbiAgICAgICAgICAgICAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgICAgICAgIH0pLnJlcGxhY2UoQ0hBUl9IWVBIRU4sIENIQVJfTUlOVVMpICtcbiAgICAgICAgICAgIHRoaXMucG9zdGZpeCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNaW5NYXhMaW1pdHMoXG4gICAgICAgIG51bGxhYmxlTWluOiBudW1iZXIgfCBudWxsLFxuICAgICAgICBudWxsYWJsZU1heDogbnVtYmVyIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWluID0gbnVsbGFibGVNaW4gPz8gdGhpcy5vcHRpb25zLm1pbjtcbiAgICAgICAgY29uc3QgbWF4ID0gbnVsbGFibGVNYXggPz8gdGhpcy5vcHRpb25zLm1heDtcblxuICAgICAgICB0aGlzLm1pbi5zZXQoTWF0aC5taW4obWluLCBtYXgpKTtcbiAgICAgICAgdGhpcy5tYXguc2V0KE1hdGgubWF4KG1pbiwgbWF4KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb21wdXRlTWFzayhwYXJhbXM6IE1hc2tpdG9OdW1iZXJQYXJhbXMpOiBNYXNraXRvT3B0aW9ucyB7XG4gICAgICAgIGNvbnN0IHtwcmVmaXggPSAnJywgcG9zdGZpeCA9ICcnfSA9IHBhcmFtcztcbiAgICAgICAgY29uc3Qge3BsdWdpbnMsIC4uLm9wdGlvbnN9ID0gbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IocGFyYW1zKTtcbiAgICAgICAgY29uc3QgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luID0gbWFza2l0b0luaXRpYWxDYWxpYnJhdGlvblBsdWdpbihcbiAgICAgICAgICAgIG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgbWluOiBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgICAgICBtYXg6IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgLi4ucGx1Z2lucyxcbiAgICAgICAgICAgICAgICBpbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4sXG4gICAgICAgICAgICAgICAgbWFza2l0b0NhcmV0R3VhcmQoKHZhbHVlKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgIHByZWZpeC5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCAtIHBvc3RmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +1,9 @@
1
1
  import { TuiInputNumberDirective } from './input-number.directive';
2
+ import { TuiQuantumValueTransformer } from './quantum.directive';
2
3
  import { TuiInputNumberStep } from './step/input-number-step.component';
3
- export const TuiInputNumber = [TuiInputNumberDirective, TuiInputNumberStep];
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlJbnB1dE51bWJlckRpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1udW1iZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJTdGVwfSBmcm9tICcuL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFR1aUlucHV0TnVtYmVyID0gW1R1aUlucHV0TnVtYmVyRGlyZWN0aXZlLCBUdWlJbnB1dE51bWJlclN0ZXBdIGFzIGNvbnN0O1xuIl19
4
+ export const TuiInputNumber = [
5
+ TuiInputNumberDirective,
6
+ TuiInputNumberStep,
7
+ TuiQuantumValueTransformer,
8
+ ];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDMUIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQiwwQkFBMEI7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpSW5wdXROdW1iZXJEaXJlY3RpdmV9IGZyb20gJy4vaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICcuL3F1YW50dW0uZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJTdGVwfSBmcm9tICcuL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFR1aUlucHV0TnVtYmVyID0gW1xuICAgIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlLFxuICAgIFR1aUlucHV0TnVtYmVyU3RlcCxcbiAgICBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcixcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -12,4 +12,4 @@ export const TUI_INPUT_NUMBER_DEFAULT_OPTIONS = {
12
12
  valueTransformer: null,
13
13
  };
14
14
  export const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFleEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTBCO0lBQ25FLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRTtRQUNILFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFFBQVEsRUFBRSxZQUFZO0tBQ3pCO0lBQ0QsZ0JBQWdCLEVBQUUsSUFBSTtDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQyxHQUFHLGdCQUFnQixDQUNyRixnQ0FBZ0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RpJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IG1pbjogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgZGVjcmVhc2U6IHN0cmluZztcbiAgICAgICAgaW5jcmVhc2U6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGwsIGFueT4gfCBudWxsO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgcHJlZml4OiAnJyxcbiAgICBwb3N0Zml4OiAnJyxcbiAgICBzdGVwOiAwLFxuICAgIGljb25zOiB7XG4gICAgICAgIGluY3JlYXNlOiAnQHR1aS5wbHVzJyxcbiAgICAgICAgZGVjcmVhc2U6ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIHZhbHVlVHJhbnNmb3JtZXI6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3QgW1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUywgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJdID0gdHVpQ3JlYXRlT3B0aW9ucyhcbiAgICBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OUyxcbik7XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFleEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTBCO0lBQ25FLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRTtRQUNILFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFFBQVEsRUFBRSxZQUFZO0tBQ3pCO0lBQ0QsZ0JBQWdCLEVBQUUsSUFBSTtDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQyxHQUFHLGdCQUFnQixDQUNyRixnQ0FBZ0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RpJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IG1pbjogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgZGVjcmVhc2U6IHN0cmluZztcbiAgICAgICAgaW5jcmVhc2U6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGwsIGFueT4gfCBudWxsO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgcHJlZml4OiAnJyxcbiAgICBwb3N0Zml4OiAnJyxcbiAgICBzdGVwOiAwLFxuICAgIGljb25zOiB7XG4gICAgICAgIGluY3JlYXNlOiAnQHR1aS5wbHVzJyxcbiAgICAgICAgZGVjcmVhc2U6ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIHZhbHVlVHJhbnNmb3JtZXI6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3QgW1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUywgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJdID0gdHVpQ3JlYXRlT3B0aW9ucyhcbiAgICBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OUyxcbik7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { Directive, inject, Input } from '@angular/core';
2
+ import { TuiValueTransformer } from '@taiga-ui/cdk/classes';
3
+ import { tuiIsSafeToRound, tuiRound } from '@taiga-ui/cdk/utils/math';
4
+ import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
5
+ import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
6
+ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/components/slider';
7
+ import { TUI_INPUT_NUMBER_OPTIONS } from './input-number.options';
8
+ import * as i0 from "@angular/core";
9
+ class TuiQuantumValueTransformer extends TuiValueTransformer {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.parent = inject(TUI_INPUT_NUMBER_OPTIONS).valueTransformer;
13
+ this.quantum = 1;
14
+ }
15
+ fromControlValue(controlValue) {
16
+ return this.parent?.fromControlValue(controlValue) ?? controlValue;
17
+ }
18
+ toControlValue(internalValue) {
19
+ const value = this.parent?.toControlValue(internalValue) ?? internalValue;
20
+ return value != null &&
21
+ tuiIsSafeToRound(value, tuiGetFractionPartPadded(this.quantum).length)
22
+ ? tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION)
23
+ : value;
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiQuantumValueTransformer, isStandalone: true, selector: "[tuiInputNumber][quantum], [tuiInputSlider][quantum]", inputs: { quantum: "quantum" }, providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)], usesInheritance: true, ngImport: i0 }); }
27
+ }
28
+ export { TuiQuantumValueTransformer };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ standalone: true,
33
+ selector: '[tuiInputNumber][quantum], [tuiInputSlider][quantum]',
34
+ providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)],
35
+ }]
36
+ }], propDecorators: { quantum: [{
37
+ type: Input
38
+ }] } });
39
+ class TuiWithQuantumValueTransformer {
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithQuantumValueTransformer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiWithQuantumValueTransformer, isStandalone: true, hostDirectives: [{ directive: TuiQuantumValueTransformer, inputs: ["quantum", "quantum"] }], ngImport: i0 }); }
42
+ }
43
+ export { TuiWithQuantumValueTransformer };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiWithQuantumValueTransformer, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ standalone: true,
48
+ hostDirectives: [
49
+ {
50
+ directive: TuiQuantumValueTransformer,
51
+ inputs: ['quantum'],
52
+ },
53
+ ],
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvcXVhbnR1bS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDN0QsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFdkUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBRWhFLE1BS2EsMEJBQTJCLFNBQVEsbUJBRy9DO0lBUkQ7O1FBU3FCLFdBQU0sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUdyRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO0tBaUJ0QjtJQWZtQixnQkFBZ0IsQ0FBQyxZQUEyQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxjQUFjLENBQUMsYUFBNEI7UUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksYUFBYSxDQUFDO1FBRTFFLE9BQU8sS0FBSyxJQUFJLElBQUk7WUFDaEIsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEUsQ0FBQyxDQUFDLFFBQVEsQ0FDSixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFDL0Msc0JBQXNCLENBQ3pCO1lBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNoQixDQUFDOytHQXZCUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixtSUFGeEIsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsMEJBQTBCLENBQUMsQ0FBQzs7U0FFL0QsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzREFBc0Q7b0JBQ2hFLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsNkJBQTZCLENBQUM7aUJBQzNFOzhCQVFVLE9BQU87c0JBRGIsS0FBSzs7QUFvQlYsTUFTYSw4QkFBOEI7K0dBQTlCLDhCQUE4QjttR0FBOUIsOEJBQThCLG9EQW5DOUIsMEJBQTBCOztTQW1DMUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBVDFDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7eUJBQ3RCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlJc1NhZmVUb1JvdW5kLCB0dWlSb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfTlVNQkVSX09QVElPTlN9IGZyb20gJy4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUlucHV0TnVtYmVyXVtxdWFudHVtXSwgW3R1aUlucHV0U2xpZGVyXVtxdWFudHVtXScsXG4gICAgcHJvdmlkZXJzOiBbdHVpUHJvdmlkZShUdWlWYWx1ZVRyYW5zZm9ybWVyLCBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcildLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lciBleHRlbmRzIFR1aVZhbHVlVHJhbnNmb3JtZXI8XG4gICAgbnVtYmVyIHwgbnVsbCxcbiAgICBudW1iZXIgfCBudWxsXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMpLnZhbHVlVHJhbnNmb3JtZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBxdWFudHVtID0gMTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBmcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZTogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnQ/LmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKSA/PyBjb250cm9sVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHRvQ29udHJvbFZhbHVlKGludGVybmFsVmFsdWU6IG51bWJlciB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnBhcmVudD8udG9Db250cm9sVmFsdWUoaW50ZXJuYWxWYWx1ZSkgPz8gaW50ZXJuYWxWYWx1ZTtcblxuICAgICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJlxuICAgICAgICAgICAgdHVpSXNTYWZlVG9Sb3VuZCh2YWx1ZSwgdHVpR2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHRoaXMucXVhbnR1bSkubGVuZ3RoKVxuICAgICAgICAgICAgPyB0dWlSb3VuZChcbiAgICAgICAgICAgICAgICAgIE1hdGgucm91bmQodmFsdWUgLyB0aGlzLnF1YW50dW0pICogdGhpcy5xdWFudHVtLFxuICAgICAgICAgICAgICAgICAgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTixcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcixcbiAgICAgICAgICAgIGlucHV0czogWydxdWFudHVtJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpV2l0aFF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyIHt9XG4iXX0=
@@ -7,7 +7,7 @@ import { TuiButton } from '@taiga-ui/core/components/button';
7
7
  import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, } from '@taiga-ui/core/components/textfield';
8
8
  import { expand, fromEvent, map, merge, Subject, switchMap, takeUntil, timer } from 'rxjs';
9
9
  import { TuiInputNumberDirective } from '../input-number.directive';
10
- import { TUI_INPUT_NUMBER_OPTIONS } from '../input-number.options';
10
+ import { TUI_INPUT_NUMBER_OPTIONS, } from '../input-number.options';
11
11
  import * as i0 from "@angular/core";
12
12
  const INITIAL_DELAY = 300;
13
13
  const DELAY_DECREMENT = 15;
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
55
55
  function getDelay(index) {
56
56
  return Math.max(INITIAL_DELAY - index * DELAY_DECREMENT, MIN_DELAY);
57
57
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQUVqRSxNQUFNLGFB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d0JBQ3ZCLDZCQUE2QixFQUFFLGlCQUFpQjt3QkFDaEQsMkJBQTJCLEVBQUUsZ0JBQWdCO3dCQUM3Qyx1QkFBdUIsRUFBRSxRQUFRO3FCQUNwQzs4QkFpQ1UsVUFBVTtzQkFEcEIsS0FBSzt1QkFBQyxNQUFNOztBQWFqQixTQUFTLFFBQVEsQ0FBQyxLQUFhO0lBQzNCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEdBQUcsS0FBSyxHQUFHLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVCwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICAgIFRVSV9URVhURklFTERfT1BUSU9OUyxcbiAgICBUdWlUZXh0ZmllbGRDb250ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge2V4cGFuZCwgZnJvbUV2ZW50LCBtYXAsIG1lcmdlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUlucHV0TnVtYmVyRGlyZWN0aXZlfSBmcm9tICcuLi9pbnB1dC1udW1iZXIuZGlyZWN0aXZlJztcbmltcG9ydCB0eXBlIHtUdWlJbnB1dE51bWJlck9wdGlvbnN9IGZyb20gJy4uL2lucHV0LW51bWJlci5vcHRpb25zJztcbmltcG9ydCB7VFVJX0lOUFVUX05VTUJFUl9PUFRJT05TfSBmcm9tICcuLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbmNvbnN0IElOSVRJQUxfREVMQVkgPSAzMDA7XG5jb25zdCBERUxBWV9ERUNSRU1FTlQgPSAxNTtcbmNvbnN0IE1JTl9ERUxBWSA9IDEwMDtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0TnVtYmVyXVtzdGVwXScsXG4gICAgaW1wb3J0czogW05nSWYsIFR1aUJ1dHRvbiwgVHVpVGV4dGZpZWxkQ29udGVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci1zdGVwLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LW51bWJlci1zdGVwLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgbmdTa2lwSHlkcmF0aW9uOiAndHJ1ZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCknOiAnb25TdGVwKC1zdGVwKCkpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXAucHJldmVudCknOiAnb25TdGVwKHN0ZXAoKSknLFxuICAgICAgICAnW2NsYXNzLl93aXRoLWJ1dHRvbnNdJzogJ3N0ZXAoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXROdW1iZXJTdGVwIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKS5hcHBlYXJhbmNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0PFR1aUlucHV0TnVtYmVyT3B0aW9ucz4oVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQgPSBpbmplY3QoVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUsIHtzZWxmOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXAgPSBzaWduYWwodGhpcy5vcHRpb25zLnN0ZXApO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXQudmFsdWUoKSA/PyBOYU4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdG9wJCA9IG1lcmdlKFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVydXAnKSxcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZG9jLCAncG9pbnRlcmxlYXZlJyksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLmRvYywgJ3BvaW50ZXJjYW5jZWwnKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBwaW5nID0gdGhpcy5zdGVwJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgICAgICAgdGltZXIoSU5JVElBTF9ERUxBWSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZXhwYW5kKChfLCBpbmRleCkgPT4gdGltZXIoZ2V0RGVsYXkoaW5kZXgpKSksXG4gICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnN0b3AkKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uU3RlcCh2YWx1ZSkpO1xuXG4gICAgLy8gVE9ETyh2NSk6IHJlcGxhY2Ugd2l0aCBzaWduYWwgaW5wdXRcbiAgICBASW5wdXQoJ3N0ZXAnKVxuICAgIHB1YmxpYyBzZXQgc3RlcFNldHRlcih4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zdGVwLnNldCh4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TdGVwKHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5pbnB1dC52YWx1ZSgpID8/IDA7XG5cbiAgICAgICAgdGhpcy5pbnB1dC5zZXRWYWx1ZSh0dWlDbGFtcChjdXJyZW50ICsgc3RlcCwgdGhpcy5pbnB1dC5taW4oKSwgdGhpcy5pbnB1dC5tYXgoKSkpO1xuICAgICAgICB0aGlzLmVsLnNldFNlbGVjdGlvblJhbmdlKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBnZXREZWxheShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5tYXgoSU5JVElBTF9ERUxBWSAtIGluZGV4ICogREVMQVlfREVDUkVNRU5ULCBNSU5fREVMQVkpO1xufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpVGV4dGZpZWxkQ29udGVudD5cbiAgICA8c2VjdGlvblxuICAgICAgICAqbmdJZj1cInN0ZXAoKVwiXG4gICAgICAgIGNsYXNzPVwidC1pbnB1dC1udW1iZXItYnV0dG9uc1wiXG4gICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpbnB1dC5pbnRlcmFjdGl2ZSgpIHx8IHZhbHVlKCkgPj0gaW5wdXQubWF4KClcIlxuICAgICAgICAgICAgW2ljb25TdGFydF09XCJvcHRpb25zLmljb25zLmluY3JlYXNlXCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uU3RlcChzdGVwKCkpXCJcbiAgICAgICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cInN0ZXAkLm5leHQoc3RlcCgpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgICtcbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW5wdXQuaW50ZXJhY3RpdmUoKSB8fCB2YWx1ZSgpIDw9IGlucHV0Lm1pbigpXCJcbiAgICAgICAgICAgIFtpY29uU3RhcnRdPVwib3B0aW9ucy5pY29ucy5kZWNyZWFzZVwiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvblN0ZXAoLXN0ZXAoKSlcIlxuICAgICAgICAgICAgKHBvaW50ZXJkb3duLnByZXZlbnQpPVwic3RlcCQubmV4dCgtc3RlcCgpKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIC1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zZWN0aW9uPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3N0ZXAvaW5wdXQtbnVtYmVyLXN0ZXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUN0QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXpGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCx3QkFBd0IsR0FFM0IsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFakMsTUFBTSxh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O3dCQUN2Qiw2QkFBNkIsRUFBRSxpQkFBaUI7d0JBQ2hELDJCQUEyQixFQUFFLGdCQUFnQjt3QkFDN0MsdUJBQXVCLEVBQUUsUUFBUTtxQkFDcEM7OEJBaUNVLFVBQVU7c0JBRHBCLEtBQUs7dUJBQUMsTUFBTTs7QUFhakIsU0FBUyxRQUFRLENBQUMsS0FBYTtJQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEtBQUssR0FBRyxlQUFlLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlQsIE5nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQ2xhbXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX09QVElPTlMsXG4gICAgVHVpVGV4dGZpZWxkQ29udGVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtleHBhbmQsIGZyb21FdmVudCwgbWFwLCBtZXJnZSwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRpbWVyfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlJbnB1dE51bWJlckRpcmVjdGl2ZX0gZnJvbSAnLi4vaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyxcbiAgICB0eXBlIFR1aUlucHV0TnVtYmVyT3B0aW9ucyxcbn0gZnJvbSAnLi4vaW5wdXQtbnVtYmVyLm9wdGlvbnMnO1xuXG5jb25zdCBJTklUSUFMX0RFTEFZID0gMzAwO1xuY29uc3QgREVMQVlfREVDUkVNRU5UID0gMTU7XG5jb25zdCBNSU5fREVMQVkgPSAxMDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dE51bWJlcl1bc3RlcF0nLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUdWlCdXR0b24sIFR1aVRleHRmaWVsZENvbnRlbnRdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXItc3RlcC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXItc3RlcC5zdHlsZS5sZXNzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIG5nU2tpcEh5ZHJhdGlvbjogJ3RydWUnLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duLnByZXZlbnQpJzogJ29uU3RlcCgtc3RlcCgpKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpJzogJ29uU3RlcChzdGVwKCkpJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC1idXR0b25zXSc6ICdzdGVwKCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyU3RlcCB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudDxIVE1MSW5wdXRFbGVtZW50PigpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhcHBlYXJhbmNlID0gaW5qZWN0KFRVSV9URVhURklFTERfT1BUSU9OUykuYXBwZWFyYW5jZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdDxUdWlJbnB1dE51bWJlck9wdGlvbnM+KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0ID0gaW5qZWN0KFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlLCB7c2VsZjogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwID0gc2lnbmFsKHRoaXMub3B0aW9ucy5zdGVwKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0LnZhbHVlKCkgPz8gTmFOKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RlcCQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvYyA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcCQgPSBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZG9jLCAncG9pbnRlcnVwJyksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLmRvYywgJ3BvaW50ZXJsZWF2ZScpLFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5kb2MsICdwb2ludGVyY2FuY2VsJyksXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzdGVwcGluZyA9IHRoaXMuc3RlcCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgIHRpbWVyKElOSVRJQUxfREVMQVkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGV4cGFuZCgoXywgaW5kZXgpID0+IHRpbWVyKGdldERlbGF5KGluZGV4KSkpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdG9wJCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vblN0ZXAodmFsdWUpKTtcblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdzdGVwJylcbiAgICBwdWJsaWMgc2V0IHN0ZXBTZXR0ZXIoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc3RlcC5zZXQoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uU3RlcChzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuaW5wdXQudmFsdWUoKSA/PyAwO1xuXG4gICAgICAgIHRoaXMuaW5wdXQuc2V0VmFsdWUodHVpQ2xhbXAoY3VycmVudCArIHN0ZXAsIHRoaXMuaW5wdXQubWluKCksIHRoaXMuaW5wdXQubWF4KCkpKTtcbiAgICAgICAgdGhpcy5lbC5zZXRTZWxlY3Rpb25SYW5nZShOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVsYXkoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWF4KElOSVRJQUxfREVMQVkgLSBpbmRleCAqIERFTEFZX0RFQ1JFTUVOVCwgTUlOX0RFTEFZKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKnR1aVRleHRmaWVsZENvbnRlbnQ+XG4gICAgPHNlY3Rpb25cbiAgICAgICAgKm5nSWY9XCJzdGVwKClcIlxuICAgICAgICBjbGFzcz1cInQtaW5wdXQtbnVtYmVyLWJ1dHRvbnNcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b25cIlxuICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaW5wdXQuaW50ZXJhY3RpdmUoKSB8fCB2YWx1ZSgpID49IGlucHV0Lm1heCgpXCJcbiAgICAgICAgICAgIFtpY29uU3RhcnRdPVwib3B0aW9ucy5pY29ucy5pbmNyZWFzZVwiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvblN0ZXAoc3RlcCgpKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24ucHJldmVudCk9XCJzdGVwJC5uZXh0KHN0ZXAoKSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICArXG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlucHV0LmludGVyYWN0aXZlKCkgfHwgdmFsdWUoKSA8PSBpbnB1dC5taW4oKVwiXG4gICAgICAgICAgICBbaWNvblN0YXJ0XT1cIm9wdGlvbnMuaWNvbnMuZGVjcmVhc2VcIlxuICAgICAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25TdGVwKC1zdGVwKCkpXCJcbiAgICAgICAgICAgIChwb2ludGVyZG93bi5wcmV2ZW50KT1cInN0ZXAkLm5leHQoLXN0ZXAoKSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICAtXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvc2VjdGlvbj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -21,4 +21,4 @@ export const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_IN
21
21
  export function tuiInputPasswordOptionsProvider(options) {
22
22
  return tuiProvideOptions(TUI_INPUT_PASSWORD_OPTIONS, options, TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWFwRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUE0QjtJQUN2RSxLQUFLLEVBQUU7UUFDSCxJQUFJLEVBQUUsY0FBYztRQUNwQixJQUFJLEVBQUUsVUFBVTtLQUNuQjtDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUN4RCxTQUFTLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGtDQUFrQztDQUNwRCxDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FDM0MsT0FBeUM7SUFFekMsT0FBTyxpQkFBaUIsQ0FDcEIsMEJBQTBCLEVBQzFCLE9BQU8sRUFDUCxrQ0FBa0MsQ0FDckMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgaGlkZTogVHVpU3RyaW5nSGFuZGxlcjxUdWlTaXplTCB8IFR1aVNpemVTPiB8IHN0cmluZztcbiAgICAgICAgc2hvdzogVHVpU3RyaW5nSGFuZGxlcjxUdWlTaXplTCB8IFR1aVNpemVTPiB8IHN0cmluZztcbiAgICB9Pjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICBoaWRlOiAnQHR1aS5leWUtb2ZmJyxcbiAgICAgICAgc2hvdzogJ0B0dWkuZXllJyxcbiAgICB9LFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0UGFzc3dvcmRPcHRpb25zUHJvdmlkZXIoXG4gICAgb3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFBhc3N3b3JkT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0lOUFVUX1BBU1NXT1JEX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBhc3N3b3JkL2lucHV0LXBhc3N3b3JkLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFhcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBNEI7SUFDdkUsS0FBSyxFQUFFO1FBQ0gsSUFBSSxFQUFFLGNBQWM7UUFDcEIsSUFBSSxFQUFFLFVBQVU7S0FDbkI7Q0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM3QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0M7Q0FDcEQsQ0FDSixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQzNDLE9BQXlDO0lBRXpDLE9BQU8saUJBQWlCLENBQ3BCLDBCQUEwQixFQUMxQixPQUFPLEVBQ1Asa0NBQWtDLENBQ3JDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVByb3ZpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0UGFzc3dvcmRPcHRpb25zIHtcbiAgICByZWFkb25seSBpY29uczogUmVhZG9ubHk8e1xuICAgICAgICBoaWRlOiBUdWlTdHJpbmdIYW5kbGVyPFR1aVNpemVMIHwgVHVpU2l6ZVM+IHwgc3RyaW5nO1xuICAgICAgICBzaG93OiBUdWlTdHJpbmdIYW5kbGVyPFR1aVNpemVMIHwgVHVpU2l6ZVM+IHwgc3RyaW5nO1xuICAgIH0+O1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QQVNTV09SRF9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0UGFzc3dvcmRPcHRpb25zID0ge1xuICAgIGljb25zOiB7XG4gICAgICAgIGhpZGU6ICdAdHVpLmV5ZS1vZmYnLFxuICAgICAgICBzaG93OiAnQHR1aS5leWUnLFxuICAgIH0sXG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgVHVpUGFzc3dvcmR9IHdpdGgge0BsaW5rIFR1aVRleHRmaWVsZH1cbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9QQVNTV09SRF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9QQVNTV09SRF9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBUdWlQYXNzd29yZH0gd2l0aCB7QGxpbmsgVHVpVGV4dGZpZWxkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpSW5wdXRQYXNzd29yZE9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0UGFzc3dvcmRPcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9QQVNTV09SRF9PUFRJT05TLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBUVUlfSU5QVVRfUEFTU1dPUkRfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './input-phone.directive';
2
+ export * from './input-phone.options';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lLm9wdGlvbnMnO1xuIl19
@@ -0,0 +1,137 @@
1
+ import { computed, Directive, effect, inject, Input, signal, untracked, } from '@angular/core';
2
+ import { MaskitoDirective } from '@maskito/angular';
3
+ import { MASKITO_DEFAULT_OPTIONS, maskitoTransform, } from '@maskito/core';
4
+ import { maskitoCaretGuard, maskitoPrefixPostprocessorGenerator } from '@maskito/kit';
5
+ import { tuiAsControl, TuiControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
6
+ import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
7
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
8
+ import { TuiTextfieldComponent, TuiTextfieldDirective, TuiWithTextfield, } from '@taiga-ui/core/components/textfield';
9
+ import { tuiMaskito } from '@taiga-ui/kit/utils';
10
+ import { TUI_INPUT_PHONE_OPTIONS } from './input-phone.options';
11
+ import { tuiCreateCompletePhoneInsertionPreprocessor } from './utils/complete-phone-insertion-preprocessor';
12
+ import { tuiCreatePhoneMaskExpression } from './utils/create-phone-mask-expression';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@taiga-ui/core/components/textfield";
15
+ import * as i2 from "@maskito/angular";
16
+ const MASK_SYMBOLS = /[ \-_()]/g;
17
+ function isText(value) {
18
+ return Number.isNaN(parseInt(value.replaceAll(MASK_SYMBOLS, ''), 10));
19
+ }
20
+ class TuiInputPhone extends TuiControl {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.textfield = inject(TuiTextfieldDirective);
24
+ this.host = inject(TuiTextfieldComponent);
25
+ this.nonRemovablePrefix = computed(() => `${this.countryCode()} `);
26
+ this.inputMode = computed(() => (this.allowText() ? 'text' : 'numeric'));
27
+ this.valueEffect = effect(() => {
28
+ const value = this.value() ?? '';
29
+ if (!value) {
30
+ return;
31
+ }
32
+ this.textfield.value.set(maskitoTransform(value, this.mask()));
33
+ }, TUI_ALLOW_SIGNAL_WRITES);
34
+ this.blurEffect = effect(() => {
35
+ const incomplete = untracked(() => !this.value());
36
+ if (!this.host.focused() && incomplete) {
37
+ this.textfield.value.set('');
38
+ }
39
+ if (this.host.focused() && incomplete && !this.allowText()) {
40
+ this.textfield.value.set(this.nonRemovablePrefix());
41
+ }
42
+ }, TUI_ALLOW_SIGNAL_WRITES);
43
+ this.options = inject(TUI_INPUT_PHONE_OPTIONS);
44
+ this.el = tuiInjectElement();
45
+ this.mask = computed(() => this.calculateMask(this.countryCode(), this.phoneMask(), this.nonRemovablePrefix(), this.allowText()));
46
+ this.maskito = tuiMaskito(computed(() => this.mask()));
47
+ this.countryCode = signal(extractCountryCode(this.options.mask));
48
+ this.allowText = signal(this.options.allowText);
49
+ this.phoneMask = signal(extractMask(this.options.mask));
50
+ }
51
+ // TODO(v5): replace with signal input
52
+ set allowTextSetter(allow) {
53
+ this.allowText.set(allow);
54
+ }
55
+ // TODO(v5): replace with signal input
56
+ set maskSetter(mask) {
57
+ this.countryCode.set(extractCountryCode(mask));
58
+ this.phoneMask.set(extractMask(mask));
59
+ }
60
+ onInput(value) {
61
+ if (!value && !this.allowText()) {
62
+ this.textfield.value.set(this.nonRemovablePrefix());
63
+ }
64
+ const parsed = isText(value)
65
+ ? value
66
+ : value.replaceAll(MASK_SYMBOLS, '').slice(0, this.maxPhoneLength);
67
+ this.onChange(parsed === this.countryCode() || isText(parsed) ? '' : parsed);
68
+ }
69
+ get maxPhoneLength() {
70
+ return (this.countryCode().length + this.phoneMask().replaceAll(/[^#]+/g, '').length);
71
+ }
72
+ calculateMask(countryCode, phoneMaskAfterCountryCode, nonRemovablePrefix, allowText) {
73
+ const mask = tuiCreatePhoneMaskExpression(countryCode, phoneMaskAfterCountryCode);
74
+ const preprocessors = [
75
+ tuiCreateCompletePhoneInsertionPreprocessor(countryCode, phoneMaskAfterCountryCode),
76
+ ];
77
+ return allowText
78
+ ? {
79
+ mask: ({ value }) => isText(value) && value !== '+'
80
+ ? MASKITO_DEFAULT_OPTIONS.mask
81
+ : mask,
82
+ preprocessors,
83
+ }
84
+ : {
85
+ mask,
86
+ preprocessors,
87
+ postprocessors: [
88
+ maskitoPrefixPostprocessorGenerator(nonRemovablePrefix),
89
+ ],
90
+ plugins: [
91
+ maskitoCaretGuard((value, [from, to]) => [
92
+ from === to ? nonRemovablePrefix.length : 0,
93
+ value.length,
94
+ ]),
95
+ ],
96
+ };
97
+ }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhone, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPhone, isStandalone: true, selector: "input[tuiInputPhone]", inputs: { allowTextSetter: ["allowText", "allowTextSetter"], maskSetter: ["mask", "maskSetter"] }, host: { attributes: { "type": "tel" }, listeners: { "input": "onInput($event.target.value)" }, properties: { "inputMode": "inputMode()", "disabled": "disabled()" } }, providers: [
100
+ tuiAsControl(TuiInputPhone),
101
+ tuiValueTransformerFrom(TUI_INPUT_PHONE_OPTIONS),
102
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithTextfield }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
103
+ }
104
+ export { TuiInputPhone };
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhone, decorators: [{
106
+ type: Directive,
107
+ args: [{
108
+ standalone: true,
109
+ selector: 'input[tuiInputPhone]',
110
+ providers: [
111
+ tuiAsControl(TuiInputPhone),
112
+ tuiValueTransformerFrom(TUI_INPUT_PHONE_OPTIONS),
113
+ ],
114
+ hostDirectives: [TuiWithTextfield, MaskitoDirective],
115
+ host: {
116
+ type: 'tel',
117
+ '[inputMode]': 'inputMode()',
118
+ '[disabled]': 'disabled()',
119
+ '(input)': 'onInput($event.target.value)',
120
+ },
121
+ }]
122
+ }], propDecorators: { allowTextSetter: [{
123
+ type: Input,
124
+ args: ['allowText']
125
+ }], maskSetter: [{
126
+ type: Input,
127
+ args: ['mask']
128
+ }] } });
129
+ function extractCountryCode(mask) {
130
+ const match = /^(\+\d+)/.exec(mask);
131
+ return match?.[1] || '';
132
+ }
133
+ function extractMask(mask) {
134
+ const match = /^\+\d+(.*)$/.exec(mask);
135
+ return match?.[1]?.trim() || '';
136
+ }
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUvaW5wdXQtcGhvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG1DQUFtQyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLHVCQUF1QixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUNILHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsZ0JBQWdCLEdBQ25CLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzFHLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBRWxGLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQztBQUVqQyxTQUFTLE1BQU0sQ0FBQyxLQUFhO0lB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RSxnQkFBZ0IsQ0FBQztvQkFDcEQsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxLQUFLO3dCQUNYLGFBQWEsRUFBRSxhQUFhO3dCQUM1QixZQUFZLEVBQUUsWUFBWTt3QkFDMUIsU0FBUyxFQUFFLDhCQUE4QjtxQkFDNUM7aUJBQ0o7OEJBa0RjLGVBQWU7c0JBRHpCLEtBQUs7dUJBQUMsV0FBVztnQkFPUCxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE1BQU07O0FBOERqQixTQUFTLGtCQUFrQixDQUFDLElBQVk7SUFDcEMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUM3QixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXNraXRvRGlyZWN0aXZlfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7XG4gICAgTUFTS0lUT19ERUZBVUxUX09QVElPTlMsXG4gICAgdHlwZSBNYXNraXRvT3B0aW9ucyxcbiAgICBtYXNraXRvVHJhbnNmb3JtLFxufSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7bWFza2l0b0NhcmV0R3VhcmQsIG1hc2tpdG9QcmVmaXhQb3N0cHJvY2Vzc29yR2VuZXJhdG9yfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IHt0dWlBc0NvbnRyb2wsIFR1aUNvbnRyb2wsIHR1aVZhbHVlVHJhbnNmb3JtZXJGcm9tfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQUxMT1dfU0lHTkFMX1dSSVRFU30gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGREaXJlY3RpdmUsXG4gICAgVHVpV2l0aFRleHRmaWVsZCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfUEhPTkVfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1waG9uZS5vcHRpb25zJztcbmltcG9ydCB7dHVpQ3JlYXRlQ29tcGxldGVQaG9uZUluc2VydGlvblByZXByb2Nlc3Nvcn0gZnJvbSAnLi91dGlscy9jb21wbGV0ZS1waG9uZS1pbnNlcnRpb24tcHJlcHJvY2Vzc29yJztcbmltcG9ydCB7dHVpQ3JlYXRlUGhvbmVNYXNrRXhwcmVzc2lvbn0gZnJvbSAnLi91dGlscy9jcmVhdGUtcGhvbmUtbWFzay1leHByZXNzaW9uJztcblxuY29uc3QgTUFTS19TWU1CT0xTID0gL1sgXFwtXygpXS9nO1xuXG5mdW5jdGlvbiBpc1RleHQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBOdW1iZXIuaXNOYU4ocGFyc2VJbnQodmFsdWUucmVwbGFjZUFsbChNQVNLX1NZTUJPTFMsICcnKSwgMTApKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0UGhvbmVdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmUpLFxuICAgICAgICB0dWlWYWx1ZVRyYW5zZm9ybWVyRnJvbShUVUlfSU5QVVRfUEhPTkVfT1BUSU9OUyksXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aVdpdGhUZXh0ZmllbGQsIE1hc2tpdG9EaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdHlwZTogJ3RlbCcsXG4gICAgICAgICdbaW5wdXRNb2RlXSc6ICdpbnB1dE1vZGUoKScsXG4gICAgICAgICdbZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICAgICAnKGlucHV0KSc6ICdvbklucHV0KCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lIGV4dGVuZHMgVHVpQ29udHJvbDxzdHJpbmcgfCBudWxsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQgPSBpbmplY3QoVHVpVGV4dGZpZWxkRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aVRleHRmaWVsZENvbXBvbmVudDxzdHJpbmc+ID0gaW5qZWN0KFR1aVRleHRmaWVsZENvbXBvbmVudCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9uUmVtb3ZhYmxlUHJlZml4ID0gY29tcHV0ZWQoKCkgPT4gYCR7dGhpcy5jb3VudHJ5Q29kZSgpfSBgKTtcbiAgICBwcm90ZWN0ZWQgaW5wdXRNb2RlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuYWxsb3dUZXh0KCkgPyAndGV4dCcgOiAnbnVtZXJpYycpKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpID8/ICcnO1xuXG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldChtYXNraXRvVHJhbnNmb3JtKHZhbHVlLCB0aGlzLm1hc2soKSkpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBibHVyRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5jb21wbGV0ZSA9IHVudHJhY2tlZCgoKSA9PiAhdGhpcy52YWx1ZSgpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaG9zdC5mb2N1c2VkKCkgJiYgaW5jb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUuc2V0KCcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhvc3QuZm9jdXNlZCgpICYmIGluY29tcGxldGUgJiYgIXRoaXMuYWxsb3dUZXh0KCkpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dGZpZWxkLnZhbHVlLnNldCh0aGlzLm5vblJlbW92YWJsZVByZWZpeCgpKTtcbiAgICAgICAgfVxuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9QSE9ORV9PUFRJT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWFzayA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuY2FsY3VsYXRlTWFzayhcbiAgICAgICAgICAgIHRoaXMuY291bnRyeUNvZGUoKSxcbiAgICAgICAgICAgIHRoaXMucGhvbmVNYXNrKCksXG4gICAgICAgICAgICB0aGlzLm5vblJlbW92YWJsZVByZWZpeCgpLFxuICAgICAgICAgICAgdGhpcy5hbGxvd1RleHQoKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1hc2tpdG8gPSB0dWlNYXNraXRvKGNvbXB1dGVkKCgpID0+IHRoaXMubWFzaygpKSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY291bnRyeUNvZGUgPSBzaWduYWwoZXh0cmFjdENvdW50cnlDb2RlKHRoaXMub3B0aW9ucy5tYXNrKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGFsbG93VGV4dCA9IHNpZ25hbCh0aGlzLm9wdGlvbnMuYWxsb3dUZXh0KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGhvbmVNYXNrID0gc2lnbmFsKGV4dHJhY3RNYXNrKHRoaXMub3B0aW9ucy5tYXNrKSk7XG5cbiAgICAvLyBUT0RPKHY1KTogcmVwbGFjZSB3aXRoIHNpZ25hbCBpbnB1dFxuICAgIEBJbnB1dCgnYWxsb3dUZXh0JylcbiAgICBwdWJsaWMgc2V0IGFsbG93VGV4dFNldHRlcihhbGxvdzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFsbG93VGV4dC5zZXQoYWxsb3cpO1xuICAgIH1cblxuICAgIC8vIFRPRE8odjUpOiByZXBsYWNlIHdpdGggc2lnbmFsIGlucHV0XG4gICAgQElucHV0KCdtYXNrJylcbiAgICBwdWJsaWMgc2V0IG1hc2tTZXR0ZXIobWFzazogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY291bnRyeUNvZGUuc2V0KGV4dHJhY3RDb3VudHJ5Q29kZShtYXNrKSk7XG4gICAgICAgIHRoaXMucGhvbmVNYXNrLnNldChleHRyYWN0TWFzayhtYXNrKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXQodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmFsbG93VGV4dCgpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRmaWVsZC52YWx1ZS5zZXQodGhpcy5ub25SZW1vdmFibGVQcmVmaXgoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBpc1RleHQodmFsdWUpXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICA6IHZhbHVlLnJlcGxhY2VBbGwoTUFTS19TWU1CT0xTLCAnJykuc2xpY2UoMCwgdGhpcy5tYXhQaG9uZUxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZShwYXJzZWQgPT09IHRoaXMuY291bnRyeUNvZGUoKSB8fCBpc1RleHQocGFyc2VkKSA/ICcnIDogcGFyc2VkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtYXhQaG9uZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb3VudHJ5Q29kZSgpLmxlbmd0aCArIHRoaXMucGhvbmVNYXNrKCkucmVwbGFjZUFsbCgvW14jXSsvZywgJycpLmxlbmd0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICAgICAgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZTogc3RyaW5nLFxuICAgICAgICBub25SZW1vdmFibGVQcmVmaXg6IHN0cmluZyxcbiAgICAgICAgYWxsb3dUZXh0OiBib29sZWFuLFxuICAgICk6IE1hc2tpdG9PcHRpb25zIHtcbiAgICAgICAgY29uc3QgbWFzayA9IHR1aUNyZWF0ZVBob25lTWFza0V4cHJlc3Npb24oY291bnRyeUNvZGUsIHBob25lTWFza0FmdGVyQ291bnRyeUNvZGUpO1xuICAgICAgICBjb25zdCBwcmVwcm9jZXNzb3JzID0gW1xuICAgICAgICAgICAgdHVpQ3JlYXRlQ29tcGxldGVQaG9uZUluc2VydGlvblByZXByb2Nlc3NvcihcbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZSxcbiAgICAgICAgICAgICAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gYWxsb3dUZXh0XG4gICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgIG1hc2s6ICh7dmFsdWV9KSA9PlxuICAgICAgICAgICAgICAgICAgICAgIGlzVGV4dCh2YWx1ZSkgJiYgdmFsdWUgIT09ICcrJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICA/IChNQVNLSVRPX0RFRkFVTFRfT1BUSU9OUy5tYXNrIGFzIFJlZ0V4cClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBtYXNrLFxuICAgICAgICAgICAgICAgICAgcHJlcHJvY2Vzc29ycyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBtYXNrLFxuICAgICAgICAgICAgICAgICAgcHJlcHJvY2Vzc29ycyxcbiAgICAgICAgICAgICAgICAgIHBvc3Rwcm9jZXNzb3JzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgbWFza2l0b1ByZWZpeFBvc3Rwcm9jZXNzb3JHZW5lcmF0b3Iobm9uUmVtb3ZhYmxlUHJlZml4KSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXG4gICAgICAgICAgICAgICAgICAgICAgbWFza2l0b0NhcmV0R3VhcmQoKHZhbHVlLCBbZnJvbSwgdG9dKSA9PiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gPT09IHRvID8gbm9uUmVtb3ZhYmxlUHJlZml4Lmxlbmd0aCA6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH07XG4gICAgfVxufVxuXG5mdW5jdGlvbiBleHRyYWN0Q291bnRyeUNvZGUobWFzazogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtYXRjaCA9IC9eKFxcK1xcZCspLy5leGVjKG1hc2spO1xuXG4gICAgcmV0dXJuIG1hdGNoPy5bMV0gfHwgJyc7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RNYXNrKG1hc2s6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF0Y2ggPSAvXlxcK1xcZCsoLiopJC8uZXhlYyhtYXNrKTtcblxuICAgIHJldHVybiBtYXRjaD8uWzFdPy50cmltKCkgfHwgJyc7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { TUI_IDENTITY_VALUE_TRANSFORMER, } from '@taiga-ui/cdk/classes';
2
+ import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
3
+ export const TUI_INPUT_PHONE_DEFAULT_OPTIONS = {
4
+ mask: '+1 ### ###-####',
5
+ allowText: false,
6
+ valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,
7
+ };
8
+ export const [TUI_INPUT_PHONE_OPTIONS, tuiInputPhoneOptionsProvider] = tuiCreateOptions(TUI_INPUT_PHONE_DEFAULT_OPTIONS);
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL2lucHV0LXBob25lLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILDhCQUE4QixHQUVqQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBUXhELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUF5QjtJQUNqRSxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGdCQUFnQixFQUFFLDhCQUE4QjtDQUNuRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSw0QkFBNEIsQ0FBQyxHQUFHLGdCQUFnQixDQUNuRiwrQkFBK0IsQ0FDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgVFVJX0lERU5USVRZX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgIHR5cGUgVHVpVmFsdWVUcmFuc2Zvcm1lcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHVpQ3JlYXRlT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpSW5wdXRQaG9uZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGFsbG93VGV4dDogYm9vbGVhbjtcbiAgICByZWFkb25seSBtYXNrOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcjogVHVpVmFsdWVUcmFuc2Zvcm1lcjxzdHJpbmcgfCBudWxsLCBhbnk+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0RFRkFVTFRfT1BUSU9OUzogVHVpSW5wdXRQaG9uZU9wdGlvbnMgPSB7XG4gICAgbWFzazogJysxICMjIyAjIyMtIyMjIycsXG4gICAgYWxsb3dUZXh0OiBmYWxzZSxcbiAgICB2YWx1ZVRyYW5zZm9ybWVyOiBUVUlfSURFTlRJVFlfVkFMVUVfVFJBTlNGT1JNRVIsXG59O1xuXG5leHBvcnQgY29uc3QgW1RVSV9JTlBVVF9QSE9ORV9PUFRJT05TLCB0dWlJbnB1dFBob25lT3B0aW9uc1Byb3ZpZGVyXSA9IHR1aUNyZWF0ZU9wdGlvbnMoXG4gICAgVFVJX0lOUFVUX1BIT05FX0RFRkFVTFRfT1BUSU9OUyxcbik7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtcGhvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS90YWlnYS11aS1raXQtY29tcG9uZW50cy1pbnB1dC1waG9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ const countDigits = (value) => value.replaceAll(/\D/g, '').length;
2
+ /**
3
+ * `InputPhone` component sets country code as non-removable prefix.
4
+ * This prefix appears on focus and cannot be erased.
5
+ * But users sometimes can copy complete phone number (from any different source)
6
+ * and try to insert the whole string inside our `InputPhone` textfield.
7
+ * This preprocessor helps to avoid country prefix duplication on paste/drop/autofill events.
8
+ */
9
+ export function tuiCreateCompletePhoneInsertionPreprocessor(countryCode, phoneMaskAfterCountryCode) {
10
+ const completePhoneLength = (countryCode + phoneMaskAfterCountryCode).replaceAll(/[^#\d]+/g, '').length;
11
+ const trimCountryPrefix = (value) => countryCode === '+7'
12
+ ? value.replace(/^(\+?\s*7?\s?8?)\s?/, '')
13
+ : value.replace(new RegExp(`^(\\+?\\s*${countryCode.replace('+', '')}?)\\s?`), '');
14
+ return ({ elementState, data }) => {
15
+ const { value, selection } = elementState;
16
+ return {
17
+ elementState: {
18
+ selection,
19
+ value:
20
+ /**
21
+ * The only possible case when `value` includes digits more
22
+ * than mask expression allows – browser autofill.
23
+ * It means that we are inside `input`-event
24
+ * and mask are ready to reject "extra" characters.
25
+ * We should cut leading country prefix to save trailing characters!
26
+ */
27
+ countDigits(value) > completePhoneLength
28
+ ? trimCountryPrefix(value)
29
+ : value,
30
+ },
31
+ data: countDigits(data) >= completePhoneLength || data.startsWith(countryCode)
32
+ ? /**
33
+ * User tries to insert/drop the complete phone number (with country prefix).
34
+ * We should drop already existing non-removable prefix.
35
+ */
36
+ trimCountryPrefix(data)
37
+ : data,
38
+ };
39
+ };
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGxldGUtcGhvbmUtaW5zZXJ0aW9uLXByZXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL3V0aWxzL2NvbXBsZXRlLXBob25lLWluc2VydGlvbi1wcmVwcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUVsRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsMkNBQTJDLENBQ3ZELFdBQW1CLEVBQ25CLHlCQUFpQztJQUVqQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDLENBQUMsVUFBVSxDQUM1RSxVQUFVLEVBQ1YsRUFBRSxDQUNMLENBQUMsTUFBTSxDQUFDO0lBRVQsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQ2hELFdBQVcsS0FBSyxJQUFJO1FBQ2hCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDVCxJQUFJLE1BQU0sQ0FBQyxhQUFhLFdBQVcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDN0QsRUFBRSxDQUNMLENBQUM7SUFFWixPQUFPLENBQUMsRUFBQyxZQUFZLEVBQUUsSUFBSSxFQUFDLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxHQUFHLFlBQVksQ0FBQztRQUV4QyxPQUFPO1lBQ0gsWUFBWSxFQUFFO2dCQUNWLFNBQVM7Z0JBQ1QsS0FBSztnQkFDRDs7Ozs7O21CQU1HO2dCQUNILFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxtQkFBbUI7b0JBQ3BDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7b0JBQzFCLENBQUMsQ0FBQyxLQUFLO2FBQ2xCO1lBQ0QsSUFBSSxFQUNBLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztnQkFDcEUsQ0FBQyxDQUFDOzs7cUJBR0c7b0JBQ0gsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixDQUFDLENBQUMsSUFBSTtTQUNqQixDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBNYXNraXRvUHJlcHJvY2Vzc29yfSBmcm9tICdAbWFza2l0by9jb3JlJztcblxuY29uc3QgY291bnREaWdpdHMgPSAodmFsdWU6IHN0cmluZyk6IG51bWJlciA9PiB2YWx1ZS5yZXBsYWNlQWxsKC9cXEQvZywgJycpLmxlbmd0aDtcblxuLyoqXG4gKiBgSW5wdXRQaG9uZWAgY29tcG9uZW50IHNldHMgY291bnRyeSBjb2RlIGFzIG5vbi1yZW1vdmFibGUgcHJlZml4LlxuICogVGhpcyBwcmVmaXggYXBwZWFycyBvbiBmb2N1cyBhbmQgY2Fubm90IGJlIGVyYXNlZC5cbiAqIEJ1dCB1c2VycyBzb21ldGltZXMgY2FuIGNvcHkgY29tcGxldGUgcGhvbmUgbnVtYmVyIChmcm9tIGFueSBkaWZmZXJlbnQgc291cmNlKVxuICogYW5kIHRyeSB0byBpbnNlcnQgdGhlIHdob2xlIHN0cmluZyBpbnNpZGUgb3VyIGBJbnB1dFBob25lYCB0ZXh0ZmllbGQuXG4gKiBUaGlzIHByZXByb2Nlc3NvciBoZWxwcyB0byBhdm9pZCBjb3VudHJ5IHByZWZpeCBkdXBsaWNhdGlvbiBvbiBwYXN0ZS9kcm9wL2F1dG9maWxsIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUNvbXBsZXRlUGhvbmVJbnNlcnRpb25QcmVwcm9jZXNzb3IoXG4gICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmcsXG4pOiBNYXNraXRvUHJlcHJvY2Vzc29yIHtcbiAgICBjb25zdCBjb21wbGV0ZVBob25lTGVuZ3RoID0gKGNvdW50cnlDb2RlICsgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZSkucmVwbGFjZUFsbChcbiAgICAgICAgL1teI1xcZF0rL2csXG4gICAgICAgICcnLFxuICAgICkubGVuZ3RoO1xuXG4gICAgY29uc3QgdHJpbUNvdW50cnlQcmVmaXggPSAodmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgICBjb3VudHJ5Q29kZSA9PT0gJys3J1xuICAgICAgICAgICAgPyB2YWx1ZS5yZXBsYWNlKC9eKFxcKz9cXHMqNz9cXHM/OD8pXFxzPy8sICcnKVxuICAgICAgICAgICAgOiB2YWx1ZS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cChgXihcXFxcKz9cXFxccyoke2NvdW50cnlDb2RlLnJlcGxhY2UoJysnLCAnJyl9PylcXFxccz9gKSxcbiAgICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICApO1xuXG4gICAgcmV0dXJuICh7ZWxlbWVudFN0YXRlLCBkYXRhfSkgPT4ge1xuICAgICAgICBjb25zdCB7dmFsdWUsIHNlbGVjdGlvbn0gPSBlbGVtZW50U3RhdGU7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVsZW1lbnRTdGF0ZToge1xuICAgICAgICAgICAgICAgIHNlbGVjdGlvbixcbiAgICAgICAgICAgICAgICB2YWx1ZTpcbiAgICAgICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICAgICAqIFRoZSBvbmx5IHBvc3NpYmxlIGNhc2Ugd2hlbiBgdmFsdWVgIGluY2x1ZGVzIGRpZ2l0cyBtb3JlXG4gICAgICAgICAgICAgICAgICAgICAqIHRoYW4gbWFzayBleHByZXNzaW9uIGFsbG93cyDigJMgYnJvd3NlciBhdXRvZmlsbC5cbiAgICAgICAgICAgICAgICAgICAgICogSXQgbWVhbnMgdGhhdCB3ZSBhcmUgaW5zaWRlIGBpbnB1dGAtZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICogYW5kIG1hc2sgYXJlIHJlYWR5IHRvIHJlamVjdCBcImV4dHJhXCIgY2hhcmFjdGVycy5cbiAgICAgICAgICAgICAgICAgICAgICogV2Ugc2hvdWxkIGN1dCBsZWFkaW5nIGNvdW50cnkgcHJlZml4IHRvIHNhdmUgdHJhaWxpbmcgY2hhcmFjdGVycyFcbiAgICAgICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgICAgIGNvdW50RGlnaXRzKHZhbHVlKSA+IGNvbXBsZXRlUGhvbmVMZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdHJpbUNvdW50cnlQcmVmaXgodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGE6XG4gICAgICAgICAgICAgICAgY291bnREaWdpdHMoZGF0YSkgPj0gY29tcGxldGVQaG9uZUxlbmd0aCB8fCBkYXRhLnN0YXJ0c1dpdGgoY291bnRyeUNvZGUpXG4gICAgICAgICAgICAgICAgICAgID8gLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICogVXNlciB0cmllcyB0byBpbnNlcnQvZHJvcCB0aGUgY29tcGxldGUgcGhvbmUgbnVtYmVyICh3aXRoIGNvdW50cnkgcHJlZml4KS5cbiAgICAgICAgICAgICAgICAgICAgICAgKiBXZSBzaG91bGQgZHJvcCBhbHJlYWR5IGV4aXN0aW5nIG5vbi1yZW1vdmFibGUgcHJlZml4LlxuICAgICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgICAgICAgIHRyaW1Db3VudHJ5UHJlZml4KGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIDogZGF0YSxcbiAgICAgICAgfTtcbiAgICB9O1xufVxuIl19
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Create {@link https://maskito.dev/core-concepts/mask-expression pattern mask expression} for phone number
3
+ *
4
+ * @example
5
+ * tuiCreatePhoneMaskExpression('+1', '(###) ###-####');
6
+ */
7
+ export function tuiCreatePhoneMaskExpression(countryCode, phoneMaskAfterCountryCode) {
8
+ return [
9
+ ...countryCode.split(''),
10
+ ' ',
11
+ ...phoneMaskAfterCountryCode
12
+ .replaceAll(/[^#\- ()]+/g, '')
13
+ .split('')
14
+ .map((item) => (item === '#' ? /\d/ : item)),
15
+ ];
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBob25lLW1hc2stZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lL3V0aWxzL2NyZWF0ZS1waG9uZS1tYXNrLWV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFdBQW1CLEVBQ25CLHlCQUFpQztJQUVqQyxPQUFPO1FBQ0gsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixHQUFHO1FBQ0gsR0FBRyx5QkFBeUI7YUFDdkIsVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGUge0BsaW5rIGh0dHBzOi8vbWFza2l0by5kZXYvY29yZS1jb25jZXB0cy9tYXNrLWV4cHJlc3Npb24gcGF0dGVybiBtYXNrIGV4cHJlc3Npb259IGZvciBwaG9uZSBudW1iZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogdHVpQ3JlYXRlUGhvbmVNYXNrRXhwcmVzc2lvbignKzEnLCAnKCMjIykgIyMjLSMjIyMnKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZVBob25lTWFza0V4cHJlc3Npb24oXG4gICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmcsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb3VudHJ5Q29kZS5zcGxpdCgnJyksXG4gICAgICAgICcgJyxcbiAgICAgICAgLi4ucGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZVxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL1teI1xcLSAoKV0rL2csICcnKVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gKGl0ZW0gPT09ICcjJyA/IC9cXGQvIDogaXRlbSkpLFxuICAgIF07XG59XG4iXX0=