@taiga-ui/kit 3.17.0 → 3.18.0-dev.main-05a0bf8

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 (518) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +20 -29
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +11 -20
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +7 -7
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js +11 -20
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-badge.umd.js +11 -20
  9. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-badged-content.umd.js +11 -20
  11. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +11 -20
  13. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +11 -20
  15. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +11 -20
  17. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-carousel.umd.js +23 -32
  19. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +11 -20
  21. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +11 -20
  23. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox.umd.js +11 -20
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-combo-box.umd.js +21 -27
  27. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -26
  29. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-elastic-container.umd.js +10 -10
  31. package/bundles/taiga-ui-kit-components-files.umd.js +15 -24
  32. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-filter.umd.js +11 -20
  34. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.js +18 -24
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +14 -23
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +18 -24
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +18 -24
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date.umd.js +18 -24
  44. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-files.umd.js +17 -26
  46. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-inline.umd.js +11 -20
  48. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +14 -23
  50. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-month.umd.js +14 -23
  52. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-number.umd.js +14 -23
  54. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-password.umd.js +20 -26
  56. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +31 -32
  58. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-phone.umd.js +14 -23
  60. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-range.umd.js +14 -23
  62. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-slider.umd.js +11 -20
  64. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-tag.umd.js +12 -21
  66. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-time.umd.js +12 -21
  68. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-year.umd.js +14 -23
  70. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input.umd.js +14 -23
  72. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-island.umd.js +11 -20
  74. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +20 -29
  76. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +18 -27
  78. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +11 -20
  80. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +11 -20
  82. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-multi-select.umd.js +24 -30
  84. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-pagination.umd.js +11 -20
  86. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +17 -26
  88. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-progress.umd.js +23 -32
  90. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-prompt.umd.js +98 -0
  92. package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -0
  93. package/bundles/taiga-ui-kit-components-push.umd.js +23 -32
  94. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-radio-block.umd.js +11 -20
  96. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-radio-group.umd.js +11 -20
  98. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +11 -20
  100. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-radio-list.umd.js +11 -20
  102. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-radio.umd.js +11 -20
  104. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-range.umd.js +14 -23
  106. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-rating.umd.js +13 -22
  108. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-select-option.umd.js +7 -7
  110. package/bundles/taiga-ui-kit-components-select.umd.js +27 -33
  111. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-slider.umd.js +20 -29
  113. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-stepper.umd.js +14 -23
  115. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-tabs.umd.js +26 -35
  117. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-tag.umd.js +11 -20
  119. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-text-area.umd.js +15 -24
  121. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-tiles.umd.js +17 -26
  123. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-toggle.umd.js +11 -20
  125. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-tree.umd.js +32 -41
  127. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  129. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-constants.umd.js +4 -13
  131. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +11 -20
  133. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-directives-highlight.umd.js +11 -20
  135. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  136. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +14 -23
  137. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-directives-mask.umd.js +7 -7
  139. package/bundles/taiga-ui-kit-directives-present.umd.js +7 -7
  140. package/bundles/taiga-ui-kit-directives-project-class.umd.js +11 -20
  141. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +7 -7
  143. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +7 -7
  144. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +11 -20
  145. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +14 -23
  147. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +14 -23
  149. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +11 -20
  151. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +7 -7
  153. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +7 -7
  154. package/bundles/taiga-ui-kit-pipes-to-year.umd.js +7 -7
  155. package/bundles/taiga-ui-kit-tokens.umd.js +4 -0
  156. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  157. package/bundles/taiga-ui-kit-utils-mask.umd.js +4 -13
  158. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-utils-math.umd.js +4 -13
  160. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +4 -13
  162. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  163. package/components/combo-box/combo-box.module.d.ts +1 -1
  164. package/components/index.d.ts +1 -0
  165. package/components/input-copy/input-copy.module.d.ts +1 -1
  166. package/components/input-date/input-date.module.d.ts +3 -3
  167. package/components/input-date-range/input-date-range.module.d.ts +1 -1
  168. package/components/input-date-time/input-date-time.module.d.ts +3 -3
  169. package/components/input-password/input-password.module.d.ts +1 -1
  170. package/components/input-phone-international/input-phone-international.component.d.ts +3 -3
  171. package/components/input-phone-international/input-phone-international.module.d.ts +1 -1
  172. package/components/multi-select/multi-select.module.d.ts +4 -4
  173. package/components/prompt/index.d.ts +2 -0
  174. package/components/prompt/package.json +10 -0
  175. package/components/prompt/prompt.component.d.ts +25 -0
  176. package/components/prompt/prompt.module.d.ts +10 -0
  177. package/components/prompt/taiga-ui-kit-components-prompt.d.ts +5 -0
  178. package/components/select/select.module.d.ts +1 -1
  179. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +3 -3
  180. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +3 -3
  181. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  182. package/esm2015/components/accordion/accordion.component.js +3 -3
  183. package/esm2015/components/accordion/accordion.module.js +4 -4
  184. package/esm2015/components/action/action.component.js +3 -3
  185. package/esm2015/components/action/action.module.js +4 -4
  186. package/esm2015/components/arrow/arrow.component.js +3 -3
  187. package/esm2015/components/arrow/arrow.module.js +4 -4
  188. package/esm2015/components/avatar/avatar.component.js +3 -3
  189. package/esm2015/components/avatar/avatar.module.js +4 -4
  190. package/esm2015/components/badge/badge.component.js +3 -3
  191. package/esm2015/components/badge/badge.module.js +4 -4
  192. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  193. package/esm2015/components/badged-content/badged-content.module.js +4 -4
  194. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  195. package/esm2015/components/breadcrumbs/breadcrumbs.module.js +4 -4
  196. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  197. package/esm2015/components/calendar-month/calendar-month.module.js +4 -4
  198. package/esm2015/components/calendar-range/calendar-range.component.js +3 -3
  199. package/esm2015/components/calendar-range/calendar-range.module.js +4 -4
  200. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  201. package/esm2015/components/carousel/carousel-buttons.directive.js +3 -3
  202. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  203. package/esm2015/components/carousel/carousel.component.js +3 -3
  204. package/esm2015/components/carousel/carousel.directive.js +3 -3
  205. package/esm2015/components/carousel/carousel.module.js +4 -4
  206. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  207. package/esm2015/components/checkbox/checkbox.module.js +4 -4
  208. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  209. package/esm2015/components/checkbox-block/checkbox-block.module.js +4 -4
  210. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  211. package/esm2015/components/checkbox-labeled/checkbox-labeled.module.js +4 -4
  212. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  213. package/esm2015/components/combo-box/combo-box.component.js +5 -5
  214. package/esm2015/components/combo-box/combo-box.directive.js +3 -3
  215. package/esm2015/components/combo-box/combo-box.module.js +9 -6
  216. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  217. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  218. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -3
  219. package/esm2015/components/data-list-wrapper/data-list-wrapper.module.js +4 -4
  220. package/esm2015/components/elastic-container/elastic-container.component.js +3 -3
  221. package/esm2015/components/elastic-container/elastic-container.directive.js +3 -3
  222. package/esm2015/components/elastic-container/elastic-container.module.js +4 -4
  223. package/esm2015/components/files/file/file.component.js +5 -5
  224. package/esm2015/components/files/files.component.js +3 -3
  225. package/esm2015/components/files/files.module.js +4 -4
  226. package/esm2015/components/filter/filter.component.js +3 -3
  227. package/esm2015/components/filter/filter.module.js +4 -4
  228. package/esm2015/components/index.js +2 -1
  229. package/esm2015/components/input/input.component.js +3 -3
  230. package/esm2015/components/input/input.directive.js +3 -3
  231. package/esm2015/components/input/input.module.js +4 -4
  232. package/esm2015/components/input-copy/input-copy.component.js +5 -5
  233. package/esm2015/components/input-copy/input-copy.directive.js +3 -3
  234. package/esm2015/components/input-copy/input-copy.module.js +9 -6
  235. package/esm2015/components/input-count/input-count.component.js +3 -3
  236. package/esm2015/components/input-count/input-count.directive.js +3 -3
  237. package/esm2015/components/input-count/input-count.module.js +4 -4
  238. package/esm2015/components/input-date/input-date.component.js +5 -5
  239. package/esm2015/components/input-date/input-date.directive.js +3 -3
  240. package/esm2015/components/input-date/input-date.module.js +9 -6
  241. package/esm2015/components/input-date-range/input-date-range.component.js +5 -5
  242. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  243. package/esm2015/components/input-date-range/input-date-range.module.js +9 -6
  244. package/esm2015/components/input-date-time/input-date-time.component.js +5 -5
  245. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  246. package/esm2015/components/input-date-time/input-date-time.module.js +9 -6
  247. package/esm2015/components/input-files/input-files.component.js +3 -3
  248. package/esm2015/components/input-files/input-files.directive.js +3 -3
  249. package/esm2015/components/input-files/input-files.module.js +4 -4
  250. package/esm2015/components/input-files/max-size-rejection-error.pipe.js +3 -3
  251. package/esm2015/components/input-inline/input-inline.component.js +3 -3
  252. package/esm2015/components/input-inline/input-inline.module.js +4 -4
  253. package/esm2015/components/input-month/input-month.component.js +3 -3
  254. package/esm2015/components/input-month/input-month.directive.js +3 -3
  255. package/esm2015/components/input-month/input-month.module.js +4 -4
  256. package/esm2015/components/input-month-range/input-month-range.component.js +3 -3
  257. package/esm2015/components/input-month-range/input-month-range.directive.js +3 -3
  258. package/esm2015/components/input-month-range/input-month-range.module.js +4 -4
  259. package/esm2015/components/input-number/input-number.component.js +3 -3
  260. package/esm2015/components/input-number/input-number.directive.js +3 -3
  261. package/esm2015/components/input-number/input-number.module.js +4 -4
  262. package/esm2015/components/input-password/input-password-options.js +3 -3
  263. package/esm2015/components/input-password/input-password.component.js +5 -5
  264. package/esm2015/components/input-password/input-password.directive.js +3 -3
  265. package/esm2015/components/input-password/input-password.module.js +9 -6
  266. package/esm2015/components/input-phone/input-phone.component.js +3 -3
  267. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  268. package/esm2015/components/input-phone/input-phone.module.js +4 -4
  269. package/esm2015/components/input-phone-international/input-phone-international.component.js +15 -11
  270. package/esm2015/components/input-phone-international/input-phone-international.module.js +9 -6
  271. package/esm2015/components/input-range/input-range.component.js +6 -6
  272. package/esm2015/components/input-range/input-range.module.js +4 -4
  273. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  274. package/esm2015/components/input-slider/input-slider.module.js +4 -4
  275. package/esm2015/components/input-tag/input-tag.component.js +5 -5
  276. package/esm2015/components/input-tag/input-tag.module.js +4 -4
  277. package/esm2015/components/input-time/input-time-options.js +2 -2
  278. package/esm2015/components/input-time/input-time.component.js +3 -3
  279. package/esm2015/components/input-time/input-time.module.js +4 -4
  280. package/esm2015/components/input-year/input-year.component.js +3 -3
  281. package/esm2015/components/input-year/input-year.directive.js +3 -3
  282. package/esm2015/components/input-year/input-year.module.js +4 -4
  283. package/esm2015/components/island/island.component.js +3 -3
  284. package/esm2015/components/island/island.module.js +4 -4
  285. package/esm2015/components/items-with-more/items-with-more.component.js +3 -3
  286. package/esm2015/components/items-with-more/items-with-more.directive.js +3 -3
  287. package/esm2015/components/items-with-more/items-with-more.module.js +4 -4
  288. package/esm2015/components/items-with-more/items-with-more.service.js +3 -3
  289. package/esm2015/components/items-with-more/more.directive.js +3 -3
  290. package/esm2015/components/line-clamp/line-clamp-box.component.js +3 -3
  291. package/esm2015/components/line-clamp/line-clamp-position.directive.js +3 -3
  292. package/esm2015/components/line-clamp/line-clamp.component.js +4 -4
  293. package/esm2015/components/line-clamp/line-clamp.module.js +4 -4
  294. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  295. package/esm2015/components/marker-icon/marker-icon.module.js +4 -4
  296. package/esm2015/components/multi-select/hide-selected.pipe.js +3 -3
  297. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  298. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +3 -3
  299. package/esm2015/components/multi-select/multi-select.component.js +5 -5
  300. package/esm2015/components/multi-select/multi-select.module.js +9 -6
  301. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  302. package/esm2015/components/multi-select-option/multi-select-option.module.js +4 -4
  303. package/esm2015/components/pagination/pagination.component.js +3 -3
  304. package/esm2015/components/pagination/pagination.module.js +4 -4
  305. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +3 -3
  306. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +3 -3
  307. package/esm2015/components/pdf-viewer/pdf-viewer.module.js +4 -4
  308. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +3 -3
  309. package/esm2015/components/progress/progress-bar/progress-bar.component.js +3 -3
  310. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +3 -3
  311. package/esm2015/components/progress/progress-circle/progress-circle.component.js +3 -3
  312. package/esm2015/components/progress/progress-label/progress-label.component.js +3 -3
  313. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -3
  314. package/esm2015/components/progress/progress.module.js +4 -4
  315. package/esm2015/components/prompt/index.js +3 -0
  316. package/esm2015/components/prompt/prompt.component.js +41 -0
  317. package/esm2015/components/prompt/prompt.module.js +20 -0
  318. package/esm2015/components/prompt/taiga-ui-kit-components-prompt.js +5 -0
  319. package/esm2015/components/push/push-alert.component.js +3 -3
  320. package/esm2015/components/push/push-alert.directive.js +3 -3
  321. package/esm2015/components/push/push.component.js +3 -3
  322. package/esm2015/components/push/push.directive.js +3 -3
  323. package/esm2015/components/push/push.module.js +4 -4
  324. package/esm2015/components/push/push.service.js +3 -3
  325. package/esm2015/components/radio/radio.component.js +3 -3
  326. package/esm2015/components/radio/radio.module.js +4 -4
  327. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  328. package/esm2015/components/radio-block/radio-block.module.js +4 -4
  329. package/esm2015/components/radio-group/radio-group.component.js +3 -3
  330. package/esm2015/components/radio-group/radio-group.module.js +4 -4
  331. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  332. package/esm2015/components/radio-labeled/radio-labeled.module.js +4 -4
  333. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  334. package/esm2015/components/radio-list/radio-list.module.js +4 -4
  335. package/esm2015/components/range/range-change.directive.js +3 -3
  336. package/esm2015/components/range/range.component.js +3 -3
  337. package/esm2015/components/range/range.module.js +4 -4
  338. package/esm2015/components/rating/rating-options.js +2 -2
  339. package/esm2015/components/rating/rating.component.js +4 -4
  340. package/esm2015/components/rating/rating.module.js +4 -4
  341. package/esm2015/components/select/native-select/native-select-group.component.js +3 -3
  342. package/esm2015/components/select/native-select/native-select.component.js +3 -3
  343. package/esm2015/components/select/native-select/native-select.js +3 -3
  344. package/esm2015/components/select/select.component.js +5 -5
  345. package/esm2015/components/select/select.directive.js +3 -3
  346. package/esm2015/components/select/select.module.js +9 -6
  347. package/esm2015/components/select-option/select-option.component.js +3 -3
  348. package/esm2015/components/select-option/select-option.module.js +4 -4
  349. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +3 -3
  350. package/esm2015/components/slider/helpers/slider-readonly.directive.js +3 -3
  351. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +3 -3
  352. package/esm2015/components/slider/slider.component.js +3 -3
  353. package/esm2015/components/slider/slider.module.js +4 -4
  354. package/esm2015/components/stepper/step/step.component.js +3 -3
  355. package/esm2015/components/stepper/stepper.component.js +3 -3
  356. package/esm2015/components/stepper/stepper.module.js +4 -4
  357. package/esm2015/components/tabs/tab/tab.component.js +3 -3
  358. package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
  359. package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +3 -3
  360. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  361. package/esm2015/components/tabs/tabs.directive.js +3 -3
  362. package/esm2015/components/tabs/tabs.module.js +4 -4
  363. package/esm2015/components/tabs/underline/underline.component.js +3 -3
  364. package/esm2015/components/tag/tag.component.js +3 -3
  365. package/esm2015/components/tag/tag.module.js +4 -4
  366. package/esm2015/components/text-area/text-area.component.js +5 -5
  367. package/esm2015/components/text-area/text-area.directive.js +3 -3
  368. package/esm2015/components/text-area/text-area.module.js +4 -4
  369. package/esm2015/components/tiles/tile-handle.directive.js +3 -3
  370. package/esm2015/components/tiles/tile.component.js +3 -3
  371. package/esm2015/components/tiles/tiles.component.js +3 -3
  372. package/esm2015/components/tiles/tiles.module.js +4 -4
  373. package/esm2015/components/toggle/toggle.component.js +3 -3
  374. package/esm2015/components/toggle/toggle.module.js +4 -4
  375. package/esm2015/components/tree/components/tree/tree.component.js +3 -3
  376. package/esm2015/components/tree/components/tree-item/tree-item.component.js +3 -3
  377. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  378. package/esm2015/components/tree/directives/tree-children.directive.js +3 -3
  379. package/esm2015/components/tree/directives/tree-controller.directive.js +3 -3
  380. package/esm2015/components/tree/directives/tree-item-controller.directive.js +3 -3
  381. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  382. package/esm2015/components/tree/misc/tree.service.js +3 -3
  383. package/esm2015/components/tree/tree.module.js +4 -4
  384. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +3 -3
  385. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.js +4 -4
  386. package/esm2015/directives/highlight/highlight.directive.js +3 -3
  387. package/esm2015/directives/highlight/highlight.module.js +4 -4
  388. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +3 -3
  389. package/esm2015/directives/lazy-loading/lazy-loading.module.js +4 -4
  390. package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
  391. package/esm2015/directives/mask/legacy-mask.js +7 -7
  392. package/esm2015/directives/present/present.directive.js +3 -3
  393. package/esm2015/directives/present/present.module.js +4 -4
  394. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  395. package/esm2015/directives/project-class/project-class.module.js +4 -4
  396. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +3 -3
  397. package/esm2015/directives/unfinished-validator/unfinished-validator.module.js +4 -4
  398. package/esm2015/directives/value-accessor/value-accessor.directive.js +3 -3
  399. package/esm2015/directives/value-accessor/value-accessor.module.js +4 -4
  400. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  401. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.module.js +4 -4
  402. package/esm2015/pipes/field-error/field-error-content-pipe.js +3 -3
  403. package/esm2015/pipes/field-error/field-error-pipe.js +3 -3
  404. package/esm2015/pipes/field-error/field-error.module.js +4 -4
  405. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +3 -3
  406. package/esm2015/pipes/filter-by-input/filter-by-input.module.js +4 -4
  407. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +3 -3
  408. package/esm2015/pipes/sort-countries/sort-countries.module.js +4 -4
  409. package/esm2015/pipes/sort-countries/sort-countries.pipe.js +3 -3
  410. package/esm2015/pipes/stringify/stringify.module.js +4 -4
  411. package/esm2015/pipes/stringify/stringify.pipe.js +3 -3
  412. package/esm2015/pipes/stringify-content/stringify-content.module.js +4 -4
  413. package/esm2015/pipes/stringify-content/stringify-content.pipe.js +3 -3
  414. package/esm2015/pipes/to-year/to-year.module.js +4 -4
  415. package/esm2015/pipes/to-year/to-year.pipe.js +3 -3
  416. package/esm2015/tokens/i18n.js +4 -1
  417. package/fesm2015/taiga-ui-kit-components-accordion.js +16 -16
  418. package/fesm2015/taiga-ui-kit-components-action.js +7 -7
  419. package/fesm2015/taiga-ui-kit-components-arrow.js +7 -7
  420. package/fesm2015/taiga-ui-kit-components-avatar.js +7 -7
  421. package/fesm2015/taiga-ui-kit-components-badge.js +7 -7
  422. package/fesm2015/taiga-ui-kit-components-badged-content.js +7 -7
  423. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +7 -7
  424. package/fesm2015/taiga-ui-kit-components-calendar-month.js +7 -7
  425. package/fesm2015/taiga-ui-kit-components-calendar-range.js +7 -7
  426. package/fesm2015/taiga-ui-kit-components-carousel.js +19 -19
  427. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +7 -7
  428. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +7 -7
  429. package/fesm2015/taiga-ui-kit-components-checkbox.js +7 -7
  430. package/fesm2015/taiga-ui-kit-components-combo-box.js +18 -15
  431. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  432. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +13 -13
  433. package/fesm2015/taiga-ui-kit-components-elastic-container.js +10 -10
  434. package/fesm2015/taiga-ui-kit-components-files.js +11 -11
  435. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  436. package/fesm2015/taiga-ui-kit-components-filter.js +7 -7
  437. package/fesm2015/taiga-ui-kit-components-input-copy.js +15 -12
  438. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  439. package/fesm2015/taiga-ui-kit-components-input-count.js +10 -10
  440. package/fesm2015/taiga-ui-kit-components-input-date-range.js +15 -12
  441. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  442. package/fesm2015/taiga-ui-kit-components-input-date-time.js +15 -12
  443. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  444. package/fesm2015/taiga-ui-kit-components-input-date.js +15 -12
  445. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  446. package/fesm2015/taiga-ui-kit-components-input-files.js +13 -13
  447. package/fesm2015/taiga-ui-kit-components-input-inline.js +7 -7
  448. package/fesm2015/taiga-ui-kit-components-input-month-range.js +10 -10
  449. package/fesm2015/taiga-ui-kit-components-input-month.js +10 -10
  450. package/fesm2015/taiga-ui-kit-components-input-number.js +10 -10
  451. package/fesm2015/taiga-ui-kit-components-input-password.js +17 -14
  452. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  453. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +21 -14
  454. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  455. package/fesm2015/taiga-ui-kit-components-input-phone.js +10 -10
  456. package/fesm2015/taiga-ui-kit-components-input-range.js +10 -10
  457. package/fesm2015/taiga-ui-kit-components-input-slider.js +7 -7
  458. package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -8
  459. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  460. package/fesm2015/taiga-ui-kit-components-input-time.js +8 -8
  461. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  462. package/fesm2015/taiga-ui-kit-components-input-year.js +10 -10
  463. package/fesm2015/taiga-ui-kit-components-input.js +10 -10
  464. package/fesm2015/taiga-ui-kit-components-island.js +7 -7
  465. package/fesm2015/taiga-ui-kit-components-items-with-more.js +16 -16
  466. package/fesm2015/taiga-ui-kit-components-line-clamp.js +14 -14
  467. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  468. package/fesm2015/taiga-ui-kit-components-marker-icon.js +7 -7
  469. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -7
  470. package/fesm2015/taiga-ui-kit-components-multi-select.js +21 -18
  471. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  472. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  473. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +13 -13
  474. package/fesm2015/taiga-ui-kit-components-progress.js +19 -19
  475. package/fesm2015/taiga-ui-kit-components-prompt.js +64 -0
  476. package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -0
  477. package/fesm2015/taiga-ui-kit-components-push.js +19 -19
  478. package/fesm2015/taiga-ui-kit-components-radio-block.js +7 -7
  479. package/fesm2015/taiga-ui-kit-components-radio-group.js +7 -7
  480. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -7
  481. package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -7
  482. package/fesm2015/taiga-ui-kit-components-radio.js +7 -7
  483. package/fesm2015/taiga-ui-kit-components-range.js +10 -10
  484. package/fesm2015/taiga-ui-kit-components-rating.js +9 -9
  485. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  486. package/fesm2015/taiga-ui-kit-components-select-option.js +7 -7
  487. package/fesm2015/taiga-ui-kit-components-select.js +24 -21
  488. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  489. package/fesm2015/taiga-ui-kit-components-slider.js +16 -16
  490. package/fesm2015/taiga-ui-kit-components-stepper.js +10 -10
  491. package/fesm2015/taiga-ui-kit-components-tabs.js +22 -22
  492. package/fesm2015/taiga-ui-kit-components-tag.js +7 -7
  493. package/fesm2015/taiga-ui-kit-components-text-area.js +11 -11
  494. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  495. package/fesm2015/taiga-ui-kit-components-tiles.js +13 -13
  496. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -7
  497. package/fesm2015/taiga-ui-kit-components-tree.js +28 -28
  498. package/fesm2015/taiga-ui-kit-components.js +1 -0
  499. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  500. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +7 -7
  501. package/fesm2015/taiga-ui-kit-directives-highlight.js +7 -7
  502. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +10 -10
  503. package/fesm2015/taiga-ui-kit-directives-mask.js +7 -7
  504. package/fesm2015/taiga-ui-kit-directives-present.js +7 -7
  505. package/fesm2015/taiga-ui-kit-directives-project-class.js +7 -7
  506. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +7 -7
  507. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +7 -7
  508. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +7 -7
  509. package/fesm2015/taiga-ui-kit-pipes-field-error.js +10 -10
  510. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +10 -10
  511. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js +7 -7
  512. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js +7 -7
  513. package/fesm2015/taiga-ui-kit-pipes-stringify.js +7 -7
  514. package/fesm2015/taiga-ui-kit-pipes-to-year.js +7 -7
  515. package/fesm2015/taiga-ui-kit-tokens.js +4 -1
  516. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  517. package/package.json +4 -4
  518. package/tokens/i18n.d.ts +4 -0
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostListener, Inject, Input, Optional, Output, Self, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { AbstractTuiControl, CHAR_PLUS, tuiAsControl, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
5
- import { TUI_ICONS_PATH, TUI_MASK_SYMBOLS_REGEXP, TUI_NON_DIGITS_REGEXP, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/core';
5
+ import { TUI_MASK_SYMBOLS_REGEXP, TUI_NON_DIGITS_REGEXP, TUI_SVG_OPTIONS, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/core';
6
6
  import { TuiCountryIsoCode } from '@taiga-ui/i18n';
7
7
  import { TUI_ARROW } from '@taiga-ui/kit/components/arrow';
8
8
  import { TuiInputPhoneComponent } from '@taiga-ui/kit/components/input-phone';
@@ -18,9 +18,10 @@ import * as i2 from "@taiga-ui/kit/components/input-phone";
18
18
  import * as i3 from "@angular/common";
19
19
  import * as i4 from "@taiga-ui/cdk";
20
20
  import * as i5 from "@angular/forms";
21
- import * as i6 from "rxjs";
21
+ import * as i6 from "@tinkoff/ng-polymorpheus";
22
+ import * as i7 from "rxjs";
22
23
  export class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
23
- constructor(control, changeDetectorRef, iconsPath, countriesNames$, countriesMasks, options) {
24
+ constructor(control, changeDetectorRef, { path }, countriesNames$, countriesMasks, options) {
24
25
  super(control, changeDetectorRef);
25
26
  this.countriesNames$ = countriesNames$;
26
27
  this.countriesMasks = countriesMasks;
@@ -32,10 +33,13 @@ export class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
32
33
  this.open = false;
33
34
  this.arrow = TUI_ARROW;
34
35
  this.isoToCountryCodeMapper = item => this.isoToCountryCode(item);
35
- this.staticPath = iconsPath('tuiIcon').replace('tuiIcon.svg#tuiIcon', '');
36
+ this.staticPath = path('tuiIcon').replace('tuiIcon.svg#tuiIcon', '');
36
37
  }
37
38
  set isoCode(code) {
38
39
  var _a;
40
+ if (this.countryIsoCode === code) {
41
+ return;
42
+ }
39
43
  (_a = this.inputPhoneComponent) === null || _a === void 0 ? void 0 : _a.writeValue(this.value);
40
44
  this.countryIsoCode = code;
41
45
  }
@@ -146,18 +150,18 @@ export class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
146
150
  });
147
151
  }
148
152
  }
149
- TuiInputPhoneInternationalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_ICONS_PATH }, { token: TUI_COUNTRIES }, { token: TUI_COUNTRIES_MASKS }, { token: TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
150
- TuiInputPhoneInternationalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputPhoneInternationalComponent, selector: "tui-input-phone-international", inputs: { isoCode: ["countryIsoCode", "isoCode"], countries: "countries" }, outputs: { countryIsoCodeChange: "countryIsoCodeChange" }, host: { listeners: { "paste.capture.prevent.stop": "onPaste($event)", "drop.capture.prevent.stop": "onPaste($event)" } }, providers: [
153
+ TuiInputPhoneInternationalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_SVG_OPTIONS }, { token: TUI_COUNTRIES }, { token: TUI_COUNTRIES_MASKS }, { token: TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
154
+ TuiInputPhoneInternationalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputPhoneInternationalComponent, selector: "tui-input-phone-international", inputs: { isoCode: ["countryIsoCode", "isoCode"], countries: "countries" }, outputs: { countryIsoCodeChange: "countryIsoCodeChange" }, host: { listeners: { "paste.capture.prevent.stop": "onPaste($event)", "drop.capture.prevent.stop": "onPaste($event)" } }, providers: [
151
155
  tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),
152
156
  tuiAsControl(TuiInputPhoneInternationalComponent),
153
- ], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"arrow\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"getFlagPath(item)\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryFlagPath\"\n />\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block}:host._disabled{pointer-events:none}.t-hosted-dropdown{display:block}.t-country-select{width:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{width:5.5rem}.t-country-select[data-size=s]{width:2rem}.t-country-select[data-size=s] .t-flag{margin-left:-1rem}.t-arrow-icon{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-arrow-icon:hover{color:var(--tui-text-02)}:host._readonly .t-arrow-icon,:host._disabled .t-arrow-icon{pointer-events:none}:host[data-mode=onDark] .t-arrow-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow-icon:hover{color:var(--tui-text-01-night)}.t-arrow-icon_open{transform:rotate(180deg)}.t-input-phone{flex:1}.t-flag{width:1.75rem;height:1.25rem;margin-left:-.5rem}.t-country-item-flag{width:1.75rem;height:1.25rem}.t-country-item-name{margin-left:.75rem;margin-right:auto}.t-country-item-code{color:var(--tui-text-02);margin-right:.25rem}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["countryCode", "phoneMaskAfterCountryCode", "allowText", "search"], outputs: ["searchChange"] }, { type: i1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i1.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i1.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i1.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { type: i1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.TuiInputPhoneDirective, selector: "tui-input-phone" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3.AsyncPipe, "tuiMapper": i4.TuiMapperPipe }, viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
+ ], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n *ngIf=\"countriesNames$ | async as countriesNames\"\n class=\"t-hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPrefix=\"\"\n tuiTextfieldPostfix=\"\"\n class=\"t-country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldIcon]=\"icon\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"t-input-phone tui-group__auto-width-item\"\n [ngModel]=\"value\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"computedInvalid\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n (ngModelChange)=\"onModelChange($event)\"\n >\n <ng-content></ng-content>\n <input\n tuiTextfield\n autocomplete=\"new-password\"\n />\n </tui-input-phone>\n </div>\n\n <ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-country-item-flag\"\n [src]=\"getFlagPath(item)\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiMapper : isoToCountryCodeMapper }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <!-- eslint-disable @html-eslint/require-img-alt -->\n <img\n class=\"t-flag\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryFlagPath\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div\n tuiWrapper\n appearance=\"icon\"\n >\n <ng-container *polymorpheusOutlet=\"arrow\"></ng-container>\n </div>\n </ng-template>\n</tui-hosted-dropdown>\n", styles: [":host{display:block}:host._disabled{pointer-events:none}.t-hosted-dropdown{display:block}.t-country-select{width:5.625rem}.t-country-select:not(._readonly) ::ng-deep input:not(:disabled){cursor:pointer}.t-country-select._readonly ::ng-deep input{cursor:default}.t-country-select[data-size=m]{width:5.5rem}.t-country-select[data-size=s]{width:2rem}.t-country-select[data-size=s] .t-flag{margin-left:-1rem}.t-arrow-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-arrow-icon,:host._disabled .t-arrow-icon{pointer-events:none}.t-arrow-icon_open{transform:rotate(180deg)}.t-input-phone{flex:1}.t-flag{width:1.75rem;height:1.25rem;margin-left:-.5rem}.t-country-item-flag{width:1.75rem;height:1.25rem}.t-country-item-name{margin-left:.75rem;margin-right:auto}.t-country-item-code{color:var(--tui-text-02);margin-right:.25rem}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "sided", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["countryCode", "phoneMaskAfterCountryCode", "allowText", "search"], outputs: ["searchChange"] }, { type: i1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i1.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i1.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i1.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { type: i1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i2.TuiInputPhoneDirective, selector: "tui-input-phone" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe, "tuiMapper": i4.TuiMapperPipe }, viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
154
158
  __decorate([
155
159
  tuiDefaultProp()
156
160
  ], TuiInputPhoneInternationalComponent.prototype, "isoCode", null);
157
161
  __decorate([
158
162
  tuiPure
159
163
  ], TuiInputPhoneInternationalComponent.prototype, "calculateMaskAfterCountryCode", null);
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalComponent, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalComponent, decorators: [{
161
165
  type: Component,
162
166
  args: [{
163
167
  selector: 'tui-input-phone-international',
@@ -182,8 +186,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
182
186
  args: [ChangeDetectorRef]
183
187
  }] }, { type: undefined, decorators: [{
184
188
  type: Inject,
185
- args: [TUI_ICONS_PATH]
186
- }] }, { type: i6.Observable, decorators: [{
189
+ args: [TUI_SVG_OPTIONS]
190
+ }] }, { type: i7.Observable, decorators: [{
187
191
  type: Inject,
188
192
  args: [TUI_COUNTRIES]
189
193
  }] }, { type: undefined, decorators: [{
@@ -212,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
212
216
  type: HostListener,
213
217
  args: ['drop.capture.prevent.stop', ['$event']]
214
218
  }], calculateMaskAfterCountryCode: [] } });
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxZQUFZLEVBQ1osMEJBQTBCLEVBRTFCLGNBQWMsRUFHZCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLDhCQUE4QixHQUlqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1B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QW1CO3NCQURuQyxTQUFTO3VCQUFDLHNCQUFzQjtnQkFJaEIsa0JBQWtCO3NCQURsQyxTQUFTO3VCQUFDLDhCQUE4QjtnQkFPckMsT0FBTztzQkFGVixLQUFLO3VCQUFDLGdCQUFnQjtnQkFRdkIsU0FBUztzQkFEUixLQUFLO2dCQUlHLG9CQUFvQjtzQkFENUIsTUFBTTtnQkErRFAsT0FBTztzQkFGTixZQUFZO3VCQUFDLDRCQUE0QixFQUFFLENBQUMsUUFBUSxDQUFDOztzQkFDckQsWUFBWTt1QkFBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFxRjdDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQ0hBUl9QTFVTLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlNYXBwZXIsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0lDT05TX1BBVEgsXG4gICAgVFVJX01BU0tfU1lNQk9MU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplTSxcbiAgICBUdWlTaXplUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuaW1wb3J0IHtUVUlfQVJST1d9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0UGhvbmVDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZSc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0NPVU5UUklFU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNQVNLX0FGVEVSX0NPREVfUkVHRVhQfSBmcm9tICcuL2NvbnN0L21hc2stYWZ0ZXItY29kZS1yZWdleHAnO1xuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TLFxuICAgIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyxcbn0gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfQ09VTlRSSUVTX01BU0tTfSBmcm9tICcuL3Rva2Vucy9jb3VudHJpZXMtbWFza3MnO1xuaW1wb3J0IHt0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnR9IGZyb20gJy4vdXRpbHMvZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aUlucHV0UGhvbmVDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFBob25lQ29tcG9uZW50PzogVHVpSW5wdXRQaG9uZUNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgnY291bnRyeUlzb0NvZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGlzb0NvZGUoY29kZTogVHVpQ291bnRyeUlzb0NvZGUpIHtcbiAgICAgICAgdGhpcy5pbnB1dFBob25lQ29tcG9uZW50Py53cml0ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlID0gY29kZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvdW50cmllcyA9IHRoaXMub3B0aW9ucy5jb3VudHJpZXM7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBjb3VudHJ5SXNvQ29kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpQ291bnRyeUlzb0NvZGU+KCk7XG5cbiAgICBjb3VudHJ5SXNvQ29kZSA9IHRoaXMub3B0aW9ucy5jb3VudHJ5SXNvQ29kZTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IGFycm93OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVMIHwgVHVpU2l6ZU0gfCBUdWlTaXplUz5cbiAgICA+ID0gVFVJX0FSUk9XO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfSUNPTlNfUEFUSClcbiAgICAgICAgaWNvbnNQYXRoOiBUdWlTdHJpbmdIYW5kbGVyPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPVU5UUklFUylcbiAgICAgICAgcmVhZG9ubHkgY291bnRyaWVzTmFtZXMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPVU5UUklFU19NQVNLUylcbiAgICAgICAgcmVhZG9ubHkgY291bnRyaWVzTWFza3M6IFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHRoaXMuc3RhdGljUGF0aCA9IGljb25zUGF0aCgndHVpSWNvbicpLnJlcGxhY2UoJ3R1aUljb24uc3ZnI3R1aUljb24nLCAnJyk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudCAmJiAhdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IHRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudC5uYXRpdmVGb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoISF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCAmJiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5mb2N1c2VkKSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5pbnB1dFBob25lQ29tcG9uZW50ICYmIHRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudC5mb2N1c2VkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBpbnB1dFBob25lQ291bnRyeUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNvVG9Db3VudHJ5Q29kZSh0aGlzLmNvdW50cnlJc29Db2RlKTtcbiAgICB9XG5cbiAgICBnZXQgcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjb3VudHJ5Q29kZSA9IHRoaXMuaXNvVG9Db3VudHJ5Q29kZSh0aGlzLmNvdW50cnlJc29Db2RlKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrQWZ0ZXJDb3VudHJ5Q29kZShcbiAgICAgICAgICAgIHRoaXMuY291bnRyaWVzTWFza3NbdGhpcy5jb3VudHJ5SXNvQ29kZV0sXG4gICAgICAgICAgICBjb3VudHJ5Q29kZSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY291bnRyeUZsYWdQYXRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZsYWdQYXRoKHRoaXMuY291bnRyeUlzb0NvZGUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlLmNhcHR1cmUucHJldmVudC5zdG9wJywgWyckZXZlbnQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkcm9wLmNhcHR1cmUucHJldmVudC5zdG9wJywgWyckZXZlbnQnXSlcbiAgICBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCB8IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgdmFsdWUgPSB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnQoZXZlbnQpLnJlcGxhY2UoVFVJX05PTl9ESUdJVFNfUkVHRVhQLCAnJyk7XG4gICAgICAgIGNvbnN0IGNvdW50cnlJc29Db2RlID0gdGhpcy5leHRyYWN0Q291bnRyeUNvZGUodmFsdWUpO1xuXG4gICAgICAgIGlmICghY291bnRyeUlzb0NvZGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5pbnB1dFBob25lQ291bnRyeUNvZGV9JHt2YWx1ZX1gXG4gICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKFRVSV9NQVNLX1NZTUJPTFNfUkVHRVhQLCAnJylcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMuZ2V0TWF4QWxsb3dlZExlbmd0aCh0aGlzLmNvdW50cnlJc29Db2RlKSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY291bnRyeUlzb0NvZGUgPT09IFR1aUNvdW50cnlJc29Db2RlLlJVKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL144LywgJzcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlQ291bnRyeUlzb0NvZGUoY291bnRyeUlzb0NvZGUpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGAke0NIQVJfUExVU30ke3ZhbHVlfWApO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGlzb1RvQ291bnRyeUNvZGVNYXBwZXI6IFR1aU1hcHBlcjxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPiA9IGl0ZW0gPT5cbiAgICAgICAgdGhpcy5pc29Ub0NvdW50cnlDb2RlKGl0ZW0pO1xuXG4gICAgZ2V0RmxhZ1BhdGgoY29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKGNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuQkw6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLkJROlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5DVzpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuR0Y6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLkdQOlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5NRjpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuTVE6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLk5DOlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5SRTpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuWVQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuc3RhdGljUGF0aH0ke1R1aUNvdW50cnlJc29Db2RlLkZSfS5wbmdgO1xuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5TWDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zdGF0aWNQYXRofSR7VHVpQ291bnRyeUlzb0NvZGUuTkx9LnBuZ2A7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnN0YXRpY1BhdGh9JHtjb2RlfS5wbmdgO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtQ2xpY2soaXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlQ291bnRyeUlzb0NvZGUoaXNvQ29kZSk7XG4gICAgICAgIC8vIHJlY2FsY3VsYXRlcyBtYXNrIGluc2lkZSBpbnB1dFBob25lIHRvIHByZXZlbnQgaXNvQ29kZSBjb25mbGljdFxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICBjb25zdCBtYXhMZW5ndGggPSB0aGlzLmdldE1heEFsbG93ZWRMZW5ndGgoaXNvQ29kZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuc2xpY2UoMCwgbWF4TGVuZ3RoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIGlzb1RvQ291bnRyeUNvZGUoaXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNNYXNrc1tpc29Db2RlXS5yZXBsYWNlKE1BU0tfQUZURVJfQ09ERV9SRUdFWFAsICcnKTtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZU1hc2tBZnRlckNvdW50cnlDb2RlKG1hc2s6IHN0cmluZywgY291bnRyeUNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBtYXNrLnJlcGxhY2UoY291bnRyeUNvZGUsICcnKS50cmltKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhBbGxvd2VkTGVuZ3RoKGlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnRyaWVzTWFza3NbaXNvQ29kZV0ucmVwbGFjZSgvWygpXFwtIF0vZywgJycpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNvdW50cnlJc29Db2RlKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGUgPSBjb2RlO1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlQ2hhbmdlLmVtaXQoY29kZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0Q291bnRyeUNvZGUodmFsdWU6IHN0cmluZyk6IFR1aUNvdW50cnlJc29Db2RlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnRyaWVzLmZpbmQoY291bnRyeUlzb0NvZGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgcnVDb2RlVGVzdCA9XG4gICAgICAgICAgICAgICAgY291bnRyeUlzb0NvZGUgPT09IFR1aUNvdW50cnlJc29Db2RlLlJVICYmXG4gICAgICAgICAgICAgICAgL15bNyB8IDhdLy50ZXN0KHZhbHVlKSAmJlxuICAgICAgICAgICAgICAgIC9eKD8hODgwWzEtOSBdKS8udGVzdCh2YWx1ZSkgJiZcbiAgICAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggKyAxID09PSB0aGlzLmdldE1heEFsbG93ZWRMZW5ndGgoVHVpQ291bnRyeUlzb0NvZGUuUlUpO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIHJ1Q29kZVRlc3QgfHxcbiAgICAgICAgICAgICAgICAodmFsdWUuc3RhcnRzV2l0aChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc29Ub0NvdW50cnlDb2RlKGNvdW50cnlJc29Db2RlKS5yZXBsYWNlKENIQVJfUExVUywgJycpLFxuICAgICAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoICsgMSA9PT0gdGhpcy5nZXRNYXhBbGxvd2VkTGVuZ3RoKGNvdW50cnlJc29Db2RlKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgKm5nSWY9XCJjb3VudHJpZXNOYW1lcyQgfCBhc3luYyBhcyBjb3VudHJpZXNOYW1lc1wiXG4gICAgY2xhc3M9XCJ0LWhvc3RlZC1kcm9wZG93blwiXG4gICAgW2NvbnRlbnRdPVwiZHJvcGRvd25cIlxuICAgIFtjYW5PcGVuXT1cIiFyZWFkT25seVwiXG4gICAgWyhvcGVuKV09XCJvcGVuXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPGRpdiB0dWlHcm91cD5cbiAgICAgICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICAgICB0dWlIaW50Q29udGVudD1cIlwiXG4gICAgICAgICAgICB0dWlUZXh0ZmllbGRQcmVmaXg9XCJcIlxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkUG9zdGZpeD1cIlwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY291bnRyeS1zZWxlY3QgdHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZEN1c3RvbUNvbnRlbnRdPVwiY291bnRyeVZhbHVlQ29udGVudFwiXG4gICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiYXJyb3dcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcHNldWRvRm9jdXNdPVwib3BlbiB8fCBudWxsXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgID48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuICAgICAgICA8dHVpLWlucHV0LXBob25lXG4gICAgICAgICAgICBjbGFzcz1cInQtaW5wdXQtcGhvbmUgdHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgICAgIFtjb3VudHJ5Q29kZV09XCJpbnB1dFBob25lQ291bnRyeUNvZGVcIlxuICAgICAgICAgICAgW3Bob25lTWFza0FmdGVyQ291bnRyeUNvZGVdPVwicGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZVwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgW3BzZXVkb0ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdHVpLWlucHV0LXBob25lPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1kYXRhLWxpc3Q+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY291bnRyaWVzXCJcbiAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRGbGFnUGF0aChpdGVtKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtY291bnRyeS1pdGVtLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY291bnRyaWVzTmFtZXNbaXRlbV0gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfCB0dWlNYXBwZXIgOiBpc29Ub0NvdW50cnlDb2RlTWFwcGVyIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdHVpLWRhdGEtbGlzdD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb3VudHJ5VmFsdWVDb250ZW50PlxuICAgICAgICA8IS0tIGVzbGludC1kaXNhYmxlIEBodG1sLWVzbGludC9yZXF1aXJlLWltZy1hbHQgLS0+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgIFthbHRdPVwiY291bnRyaWVzTmFtZXNbY291bnRyeUlzb0NvZGVdXCJcbiAgICAgICAgICAgIFtzcmNdPVwiY291bnRyeUZsYWdQYXRoXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktaG9zdGVkLWRyb3Bkb3duPlxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxZQUFZLEVBQ1osMEJBQTBCLEVBRTFCLGNBQWMsRUFHZCxPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHVCQUF1QixFQUN2QixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLDhCQUE4QixHQUtqQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1B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YUFBYTs7MEJBRXBCLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsTUFBTTsyQkFBQyxxQ0FBcUM7NENBM0NoQyxtQkFBbUI7c0JBRG5DLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUloQixrQkFBa0I7c0JBRGxDLFNBQVM7dUJBQUMsOEJBQThCO2dCQU9yQyxPQUFPO3NCQUZWLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVl2QixTQUFTO3NCQURSLEtBQUs7Z0JBSUcsb0JBQW9CO3NCQUQ1QixNQUFNO2dCQThEUCxPQUFPO3NCQUZOLFlBQVk7dUJBQUMsNEJBQTRCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNyRCxZQUFZO3VCQUFDLDJCQUEyQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXFGN0MsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBDSEFSX1BMVVMsXG4gICAgdHVpQXNDb250cm9sLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU1hcHBlcixcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX01BU0tfU1lNQk9MU19SRUdFWFAsXG4gICAgVFVJX05PTl9ESUdJVFNfUkVHRVhQLFxuICAgIFRVSV9TVkdfT1BUSU9OUyxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZU0sXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU3ZnT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuaW1wb3J0IHtUVUlfQVJST1d9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0UGhvbmVDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZSc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0NPVU5UUklFU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNQVNLX0FGVEVSX0NPREVfUkVHRVhQfSBmcm9tICcuL2NvbnN0L21hc2stYWZ0ZXItY29kZS1yZWdleHAnO1xuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TLFxuICAgIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyxcbn0gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfQ09VTlRSSUVTX01BU0tTfSBmcm9tICcuL3Rva2Vucy9jb3VudHJpZXMtbWFza3MnO1xuaW1wb3J0IHt0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnR9IGZyb20gJy4vdXRpbHMvZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aUlucHV0UGhvbmVDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dFBob25lQ29tcG9uZW50PzogVHVpSW5wdXRQaG9uZUNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0aWNQYXRoOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgnY291bnRyeUlzb0NvZGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IGlzb0NvZGUoY29kZTogVHVpQ291bnRyeUlzb0NvZGUpIHtcbiAgICAgICAgaWYgKHRoaXMuY291bnRyeUlzb0NvZGUgPT09IGNvZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudD8ud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZSA9IGNvZGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb3VudHJpZXMgPSB0aGlzLm9wdGlvbnMuY291bnRyaWVzO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY291bnRyeUlzb0NvZGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aUNvdW50cnlJc29Db2RlPigpO1xuXG4gICAgY291bnRyeUlzb0NvZGUgPSB0aGlzLm9wdGlvbnMuY291bnRyeUlzb0NvZGU7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBhcnJvdzogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVNIHwgVHVpU2l6ZVM+XG4gICAgPiA9IFRVSV9BUlJPVztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1NWR19PUFRJT05TKSB7cGF0aH06IFR1aVN2Z09wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX0NPVU5UUklFUylcbiAgICAgICAgcmVhZG9ubHkgY291bnRyaWVzTmFtZXMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPVU5UUklFU19NQVNLUylcbiAgICAgICAgcmVhZG9ubHkgY291bnRyaWVzTWFza3M6IFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHRoaXMuc3RhdGljUGF0aCA9IHBhdGgoJ3R1aUljb24nKS5yZXBsYWNlKCd0dWlJY29uLnN2ZyN0dWlJY29uJywgJycpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0UGhvbmVDb21wb25lbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyB0aGlzLmlucHV0UGhvbmVDb21wb25lbnQubmF0aXZlRm9jdXNhYmxlRWxlbWVudFxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCEhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgJiYgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQuZm9jdXNlZCkgfHxcbiAgICAgICAgICAgICghIXRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudCAmJiB0aGlzLmlucHV0UGhvbmVDb21wb25lbnQuZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRQaG9uZUNvdW50cnlDb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzb1RvQ291bnRyeUNvZGUodGhpcy5jb3VudHJ5SXNvQ29kZSk7XG4gICAgfVxuXG4gICAgZ2V0IHBob25lTWFza0FmdGVyQ291bnRyeUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY291bnRyeUNvZGUgPSB0aGlzLmlzb1RvQ291bnRyeUNvZGUodGhpcy5jb3VudHJ5SXNvQ29kZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFza0FmdGVyQ291bnRyeUNvZGUoXG4gICAgICAgICAgICB0aGlzLmNvdW50cmllc01hc2tzW3RoaXMuY291bnRyeUlzb0NvZGVdLFxuICAgICAgICAgICAgY291bnRyeUNvZGUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvdW50cnlGbGFnUGF0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGbGFnUGF0aCh0aGlzLmNvdW50cnlJc29Db2RlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZS5jYXB0dXJlLnByZXZlbnQuc3RvcCcsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcC5jYXB0dXJlLnByZXZlbnQuc3RvcCcsIFsnJGV2ZW50J10pXG4gICAgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQgfCBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlID0gdHVpRXh0cmFjdFZhbHVlRnJvbUV2ZW50KGV2ZW50KS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpO1xuICAgICAgICBjb25zdCBjb3VudHJ5SXNvQ29kZSA9IHRoaXMuZXh0cmFjdENvdW50cnlDb2RlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIWNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgICAgIGAke3RoaXMuaW5wdXRQaG9uZUNvdW50cnlDb2RlfSR7dmFsdWV9YFxuICAgICAgICAgICAgICAgICAgICAucmVwbGFjZShUVUlfTUFTS19TWU1CT0xTX1JFR0VYUCwgJycpXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCB0aGlzLmdldE1heEFsbG93ZWRMZW5ndGgodGhpcy5jb3VudHJ5SXNvQ29kZSkpLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvdW50cnlJc29Db2RlID09PSBUdWlDb3VudHJ5SXNvQ29kZS5SVSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9eOC8sICc3Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUNvdW50cnlJc29Db2RlKGNvdW50cnlJc29Db2RlKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShgJHtDSEFSX1BMVVN9JHt2YWx1ZX1gKTtcbiAgICB9XG5cbiAgICByZWFkb25seSBpc29Ub0NvdW50cnlDb2RlTWFwcGVyOiBUdWlNYXBwZXI8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4gPSBpdGVtID0+XG4gICAgICAgIHRoaXMuaXNvVG9Db3VudHJ5Q29kZShpdGVtKTtcblxuICAgIGdldEZsYWdQYXRoKGNvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogc3RyaW5nIHtcbiAgICAgICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLkJMOlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5CUTpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuQ1c6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLkdGOlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5HUDpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuTUY6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLk1ROlxuICAgICAgICAgICAgY2FzZSBUdWlDb3VudHJ5SXNvQ29kZS5OQzpcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuUkU6XG4gICAgICAgICAgICBjYXNlIFR1aUNvdW50cnlJc29Db2RlLllUOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0aGlzLnN0YXRpY1BhdGh9JHtUdWlDb3VudHJ5SXNvQ29kZS5GUn0ucG5nYDtcbiAgICAgICAgICAgIGNhc2UgVHVpQ291bnRyeUlzb0NvZGUuU1g6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuc3RhdGljUGF0aH0ke1R1aUNvdW50cnlJc29Db2RlLk5MfS5wbmdgO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zdGF0aWNQYXRofSR7Y29kZX0ucG5nYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSXRlbUNsaWNrKGlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnVwZGF0ZUNvdW50cnlJc29Db2RlKGlzb0NvZGUpO1xuICAgICAgICAvLyByZWNhbGN1bGF0ZXMgbWFzayBpbnNpZGUgaW5wdXRQaG9uZSB0byBwcmV2ZW50IGlzb0NvZGUgY29uZmxpY3RcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5nZXRNYXhBbGxvd2VkTGVuZ3RoKGlzb0NvZGUpO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLnNsaWNlKDAsIG1heExlbmd0aCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpc29Ub0NvdW50cnlDb2RlKGlzb0NvZGU6IFR1aUNvdW50cnlJc29Db2RlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY291bnRyaWVzTWFza3NbaXNvQ29kZV0ucmVwbGFjZShNQVNLX0FGVEVSX0NPREVfUkVHRVhQLCAnJyk7XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrQWZ0ZXJDb3VudHJ5Q29kZShtYXNrOiBzdHJpbmcsIGNvdW50cnlDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbWFzay5yZXBsYWNlKGNvdW50cnlDb2RlLCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4QWxsb3dlZExlbmd0aChpc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50cmllc01hc2tzW2lzb0NvZGVdLnJlcGxhY2UoL1soKVxcLSBdL2csICcnKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb3VudHJ5SXNvQ29kZShjb2RlOiBUdWlDb3VudHJ5SXNvQ29kZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvdW50cnlJc29Db2RlID0gY29kZTtcbiAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZUNoYW5nZS5lbWl0KGNvZGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdENvdW50cnlDb2RlKHZhbHVlOiBzdHJpbmcpOiBUdWlDb3VudHJ5SXNvQ29kZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvdW50cmllcy5maW5kKGNvdW50cnlJc29Db2RlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJ1Q29kZVRlc3QgPVxuICAgICAgICAgICAgICAgIGNvdW50cnlJc29Db2RlID09PSBUdWlDb3VudHJ5SXNvQ29kZS5SVSAmJlxuICAgICAgICAgICAgICAgIC9eWzcgfCA4XS8udGVzdCh2YWx1ZSkgJiZcbiAgICAgICAgICAgICAgICAvXig/ITg4MFsxLTkgXSkvLnRlc3QodmFsdWUpICYmXG4gICAgICAgICAgICAgICAgdmFsdWUubGVuZ3RoICsgMSA9PT0gdGhpcy5nZXRNYXhBbGxvd2VkTGVuZ3RoKFR1aUNvdW50cnlJc29Db2RlLlJVKTtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBydUNvZGVUZXN0IHx8XG4gICAgICAgICAgICAgICAgKHZhbHVlLnN0YXJ0c1dpdGgoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNvVG9Db3VudHJ5Q29kZShjb3VudHJ5SXNvQ29kZSkucmVwbGFjZShDSEFSX1BMVVMsICcnKSxcbiAgICAgICAgICAgICAgICApICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmxlbmd0aCArIDEgPT09IHRoaXMuZ2V0TWF4QWxsb3dlZExlbmd0aChjb3VudHJ5SXNvQ29kZSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dHVpLWhvc3RlZC1kcm9wZG93blxuICAgICpuZ0lmPVwiY291bnRyaWVzTmFtZXMkIHwgYXN5bmMgYXMgY291bnRyaWVzTmFtZXNcIlxuICAgIGNsYXNzPVwidC1ob3N0ZWQtZHJvcGRvd25cIlxuICAgIFtjb250ZW50XT1cImRyb3Bkb3duXCJcbiAgICBbY2FuT3Blbl09XCIhcmVhZE9ubHlcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDxkaXYgdHVpR3JvdXA+XG4gICAgICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAgICAgdHVpSGludENvbnRlbnQ9XCJcIlxuICAgICAgICAgICAgdHVpVGV4dGZpZWxkUHJlZml4PVwiXCJcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFBvc3RmaXg9XCJcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvdW50cnktc2VsZWN0IHR1aS1ncm91cF9fYXV0by13aWR0aC1pdGVtXCJcbiAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50XT1cImNvdW50cnlWYWx1ZUNvbnRlbnRcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cImljb25cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICBbcHNldWRvRm9jdXNdPVwib3BlbiB8fCBudWxsXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgID48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuICAgICAgICA8dHVpLWlucHV0LXBob25lXG4gICAgICAgICAgICBjbGFzcz1cInQtaW5wdXQtcGhvbmUgdHVpLWdyb3VwX19hdXRvLXdpZHRoLWl0ZW1cIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgICAgICAgIFtjb3VudHJ5Q29kZV09XCJpbnB1dFBob25lQ291bnRyeUNvZGVcIlxuICAgICAgICAgICAgW3Bob25lTWFza0FmdGVyQ291bnRyeUNvZGVdPVwicGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZVwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICAgICAgW3BzZXVkb0ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdHVpLWlucHV0LXBob25lPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1kYXRhLWxpc3Q+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY291bnRyaWVzXCJcbiAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJnZXRGbGFnUGF0aChpdGVtKVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtY291bnRyeS1pdGVtLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY291bnRyaWVzTmFtZXNbaXRlbV0gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWNvdW50cnktaXRlbS1jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfCB0dWlNYXBwZXIgOiBpc29Ub0NvdW50cnlDb2RlTWFwcGVyIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdHVpLWRhdGEtbGlzdD5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNjb3VudHJ5VmFsdWVDb250ZW50PlxuICAgICAgICA8IS0tIGVzbGludC1kaXNhYmxlIEBodG1sLWVzbGludC9yZXF1aXJlLWltZy1hbHQgLS0+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgIFthbHRdPVwiY291bnRyaWVzTmFtZXNbY291bnRyeUlzb0NvZGVdXCJcbiAgICAgICAgICAgIFtzcmNdPVwiY291bnRyeUZsYWdQYXRoXCJcbiAgICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpY29uPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICB0dWlXcmFwcGVyXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
@@ -2,7 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { TuiActiveZoneModule, TuiLetModule, TuiMapperPipeModule } from '@taiga-ui/cdk';
5
- import { TuiDataListModule, TuiGroupModule, TuiHintModule, TuiHostedDropdownModule, TuiPrimitiveTextfieldModule, TuiSvgModule, TuiTextfieldControllerModule, } from '@taiga-ui/core';
5
+ import { TuiDataListModule, TuiGroupModule, TuiHintModule, TuiHostedDropdownModule, TuiPrimitiveTextfieldModule, TuiSvgModule, TuiTextfieldControllerModule, TuiWrapperModule, } from '@taiga-ui/core';
6
6
  import { TuiArrowModule } from '@taiga-ui/kit/components/arrow';
7
7
  import { TuiInputPhoneModule } from '@taiga-ui/kit/components/input-phone';
8
8
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
@@ -10,8 +10,8 @@ import { TuiInputPhoneInternationalComponent } from './input-phone-international
10
10
  import * as i0 from "@angular/core";
11
11
  export class TuiInputPhoneInternationalModule {
12
12
  }
13
- TuiInputPhoneInternationalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- TuiInputPhoneInternationalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalModule, declarations: [TuiInputPhoneInternationalComponent], imports: [CommonModule,
13
+ TuiInputPhoneInternationalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ TuiInputPhoneInternationalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalModule, declarations: [TuiInputPhoneInternationalComponent], imports: [CommonModule,
15
15
  FormsModule,
16
16
  PolymorpheusModule,
17
17
  TuiSvgModule,
@@ -23,10 +23,11 @@ TuiInputPhoneInternationalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion:
23
23
  TuiHostedDropdownModule,
24
24
  TuiDataListModule,
25
25
  TuiArrowModule,
26
+ TuiWrapperModule,
26
27
  TuiLetModule,
27
28
  TuiMapperPipeModule,
28
29
  TuiActiveZoneModule], exports: [TuiInputPhoneInternationalComponent] });
29
- TuiInputPhoneInternationalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalModule, imports: [[
30
+ TuiInputPhoneInternationalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalModule, imports: [[
30
31
  CommonModule,
31
32
  FormsModule,
32
33
  PolymorpheusModule,
@@ -39,11 +40,12 @@ TuiInputPhoneInternationalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion:
39
40
  TuiHostedDropdownModule,
40
41
  TuiDataListModule,
41
42
  TuiArrowModule,
43
+ TuiWrapperModule,
42
44
  TuiLetModule,
43
45
  TuiMapperPipeModule,
44
46
  TuiActiveZoneModule,
45
47
  ]] });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneInternationalModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputPhoneInternationalModule, decorators: [{
47
49
  type: NgModule,
48
50
  args: [{
49
51
  imports: [
@@ -59,6 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
59
61
  TuiHostedDropdownModule,
60
62
  TuiDataListModule,
61
63
  TuiArrowModule,
64
+ TuiWrapperModule,
62
65
  TuiLetModule,
63
66
  TuiMapperPipeModule,
64
67
  TuiActiveZoneModule,
@@ -67,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
67
70
  exports: [TuiInputPhoneInternationalComponent],
68
71
  }]
69
72
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7O0FBdUIxRixNQUFNLE9BQU8sZ0NBQWdDOzs4SEFBaEMsZ0NBQWdDOytIQUFoQyxnQ0FBZ0MsaUJBSDFCLG1DQUFtQyxhQWhCOUMsWUFBWTtRQUNaLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixtQkFBbUIsYUFHYixtQ0FBbUM7K0hBRXBDLGdDQUFnQyxZQXBCaEM7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLGFBQWE7WUFDYix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGNBQWM7WUFDZCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtTQUN0Qjs0RkFJUSxnQ0FBZ0M7a0JBckI1QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztvQkFDbkQsT0FBTyxFQUFFLENBQUMsbUNBQW1DLENBQUM7aUJBQ2pEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZU1vZHVsZSwgVHVpTGV0TW9kdWxlLCBUdWlNYXBwZXJQaXBlTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgVHVpSGludE1vZHVsZSxcbiAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQXJyb3dNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0UGhvbmVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRQaG9uZU1vZHVsZSxcbiAgICAgICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpSGludE1vZHVsZSxcbiAgICAgICAgVHVpSG9zdGVkRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlBcnJvd01vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlNYXBwZXJQaXBlTW9kdWxlLFxuICAgICAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsTW9kdWxlIHt9XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLFlBQVksRUFDWiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLHVDQUF1QyxDQUFDOztBQXdCMUYsTUFBTSxPQUFPLGdDQUFnQzs7OEhBQWhDLGdDQUFnQzsrSEFBaEMsZ0NBQWdDLGlCQUgxQixtQ0FBbUMsYUFqQjlDLFlBQVk7UUFDWixXQUFXO1FBQ1gsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLDJCQUEyQjtRQUMzQiw0QkFBNEI7UUFDNUIsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLG1CQUFtQixhQUdiLG1DQUFtQzsrSEFFcEMsZ0NBQWdDLFlBckJoQztZQUNMLFlBQVk7WUFDWixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsYUFBYTtZQUNiLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG1CQUFtQjtTQUN0Qjs0RkFJUSxnQ0FBZ0M7a0JBdEI1QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixtQkFBbUI7cUJBQ3RCO29CQUNELFlBQVksRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUNuRCxPQUFPLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQztpQkFDakQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lTW9kdWxlLCBUdWlMZXRNb2R1bGUsIFR1aU1hcHBlclBpcGVNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlEYXRhTGlzdE1vZHVsZSxcbiAgICBUdWlHcm91cE1vZHVsZSxcbiAgICBUdWlIaW50TW9kdWxlLFxuICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlTdmdNb2R1bGUsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICBUdWlXcmFwcGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUFycm93TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUdWlJbnB1dFBob25lTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0UGhvbmVNb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aUhpbnRNb2R1bGUsXG4gICAgICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdE1vZHVsZSxcbiAgICAgICAgVHVpQXJyb3dNb2R1bGUsXG4gICAgICAgIFR1aVdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aUxldE1vZHVsZSxcbiAgICAgICAgVHVpTWFwcGVyUGlwZU1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE1vZHVsZSB7fVxuIl19
@@ -158,8 +158,8 @@ export class TuiInputRangeComponent extends AbstractTuiControl {
158
158
  }
159
159
  }
160
160
  }
161
- TuiInputRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: TUI_TEXTFIELD_APPEARANCE }, { token: ElementRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
162
- TuiInputRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputRangeComponent, selector: "tui-input-range", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", leftValueContent: "leftValueContent", rightValueContent: "rightValueContent", pluralize: "pluralize" }, host: { properties: { "attr.data-size": "controller.size", "class._label-outside": "controller.labelOutside" } }, providers: [
161
+ TuiInputRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: TUI_TEXTFIELD_APPEARANCE }, { token: ElementRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
162
+ TuiInputRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputRangeComponent, selector: "tui-input-range", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", leftValueContent: "leftValueContent", rightValueContent: "rightValueContent", pluralize: "pluralize" }, host: { properties: { "attr.data-size": "controller.size", "class._label-outside": "controller.labelOutside" } }, providers: [
163
163
  tuiAsFocusableItemAccessor(TuiInputRangeComponent),
164
164
  tuiAsControl(TuiInputRangeComponent),
165
165
  TEXTFIELD_CONTROLLER_PROVIDER,
@@ -194,7 +194,7 @@ __decorate([
194
194
  __decorate([
195
195
  tuiPure
196
196
  ], TuiInputRangeComponent.prototype, "computeKeySteps", null);
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
198
198
  type: Component,
199
199
  args: [{
200
200
  selector: 'tui-input-range',
@@ -260,15 +260,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
260
260
  }], computeKeySteps: [] } });
261
261
  export class TuiTextfieldAppearanceDirective {
262
262
  }
263
- TuiTextfieldAppearanceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldAppearanceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
264
- TuiTextfieldAppearanceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", providers: [
263
+ TuiTextfieldAppearanceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldAppearanceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
264
+ TuiTextfieldAppearanceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", providers: [
265
265
  {
266
266
  provide: TUI_TEXTFIELD_APPEARANCE,
267
267
  deps: [ElementRef],
268
268
  useFactory: ({ nativeElement }) => nativeElement.getAttribute('tuiTextfieldAppearance'),
269
269
  },
270
270
  ], ngImport: i0 });
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldAppearanceDirective, decorators: [{
271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldAppearanceDirective, decorators: [{
272
272
  type: Directive,
273
273
  args: [{
274
274
  selector: '[tuiTextfieldAppearance]',
@@ -10,8 +10,8 @@ import { TuiInputRangeComponent, TuiTextfieldAppearanceDirective, } from './inpu
10
10
  import * as i0 from "@angular/core";
11
11
  export class TuiInputRangeModule {
12
12
  }
13
- TuiInputRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- TuiInputRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeModule, declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective], imports: [CommonModule,
13
+ TuiInputRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ TuiInputRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeModule, declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective], imports: [CommonModule,
15
15
  FormsModule,
16
16
  PolymorpheusModule,
17
17
  TuiActiveZoneModule,
@@ -19,7 +19,7 @@ TuiInputRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
19
19
  TuiPressedModule,
20
20
  TuiRangeModule,
21
21
  TuiWrapperModule], exports: [TuiInputRangeComponent] });
22
- TuiInputRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeModule, imports: [[
22
+ TuiInputRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeModule, imports: [[
23
23
  CommonModule,
24
24
  FormsModule,
25
25
  PolymorpheusModule,
@@ -29,7 +29,7 @@ TuiInputRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
29
29
  TuiRangeModule,
30
30
  TuiWrapperModule,
31
31
  ]] });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  imports: [
@@ -117,8 +117,8 @@ export class TuiInputSliderComponent extends AbstractTuiControl {
117
117
  }
118
118
  }
119
119
  }
120
- TuiInputSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
121
- TuiInputSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputSliderComponent, selector: "tui-input-slider", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", valueContent: "valueContent", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"] }, providers: [
120
+ TuiInputSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
121
+ TuiInputSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputSliderComponent, selector: "tui-input-slider", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", valueContent: "valueContent", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"] }, providers: [
122
122
  tuiAsFocusableItemAccessor(TuiInputSliderComponent),
123
123
  tuiAsControl(TuiInputSliderComponent),
124
124
  tuiSliderOptionsProvider({ trackColor: 'transparent' }),
@@ -154,7 +154,7 @@ __decorate([
154
154
  __decorate([
155
155
  tuiPure
156
156
  ], TuiInputSliderComponent.prototype, "computeKeySteps", null);
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderComponent, decorators: [{
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderComponent, decorators: [{
158
158
  type: Component,
159
159
  args: [{
160
160
  selector: 'tui-input-slider',
@@ -10,15 +10,15 @@ import { TuiInputSliderComponent } from './input-slider.component';
10
10
  import * as i0 from "@angular/core";
11
11
  export class TuiInputSliderModule {
12
12
  }
13
- TuiInputSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- TuiInputSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderModule, declarations: [TuiInputSliderComponent], imports: [CommonModule,
13
+ TuiInputSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ TuiInputSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderModule, declarations: [TuiInputSliderComponent], imports: [CommonModule,
15
15
  FormsModule,
16
16
  PolymorpheusModule,
17
17
  TuiFocusableModule,
18
18
  TuiInputNumberModule,
19
19
  TuiSliderModule,
20
20
  TuiTextfieldControllerModule], exports: [TuiInputSliderComponent] });
21
- TuiInputSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderModule, imports: [[
21
+ TuiInputSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderModule, imports: [[
22
22
  CommonModule,
23
23
  FormsModule,
24
24
  PolymorpheusModule,
@@ -27,7 +27,7 @@ TuiInputSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
27
27
  TuiSliderModule,
28
28
  TuiTextfieldControllerModule,
29
29
  ]] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputSliderModule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  imports: [