@taiga-ui/legacy 4.65.0 → 5.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.component.d.ts +20 -0
  3. package/components/dialog/dialog.directive.d.ts +8 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +30 -0
  6. package/components/dialog/dialog.service.d.ts +10 -0
  7. package/components/dialog/dialog.tokens.d.ts +6 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +3 -33
  10. package/components/mobile-dialog/index.d.ts +3 -0
  11. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  12. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  13. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  14. package/components/pdf-viewer/index.d.ts +4 -0
  15. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  16. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  17. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  18. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  19. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +136 -0
  20. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  22. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  24. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  25. package/fesm2022/taiga-ui-legacy-components.mjs +3 -33
  26. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-legacy.mjs +85 -6
  28. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  29. package/index.d.ts +1 -6
  30. package/package.json +22 -291
  31. package/pure.d.ts +23 -0
  32. package/classes/abstract-native-select.d.ts +0 -22
  33. package/classes/abstract-textfield-host.d.ts +0 -19
  34. package/classes/control.d.ts +0 -60
  35. package/classes/controller.d.ts +0 -9
  36. package/classes/index.d.ts +0 -9
  37. package/classes/interactive.d.ts +0 -34
  38. package/classes/multiple-control.d.ts +0 -11
  39. package/classes/named-day.d.ts +0 -11
  40. package/classes/nullable-control.d.ts +0 -10
  41. package/classes/stringifiable-item.d.ts +0 -11
  42. package/components/arrow/arrow.component.d.ts +0 -17
  43. package/components/arrow/arrow.options.d.ts +0 -19
  44. package/components/arrow/arrow.providers.d.ts +0 -23
  45. package/components/arrow/index.d.ts +0 -3
  46. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  47. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  48. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  49. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  50. package/components/color-selector/color-selector.component.d.ts +0 -47
  51. package/components/color-selector/color-selector.module.d.ts +0 -24
  52. package/components/color-selector/color-selector.options.d.ts +0 -25
  53. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  54. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  55. package/components/color-selector/index.d.ts +0 -16
  56. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  57. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  58. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  59. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  60. package/components/color-selector/palette/palette.component.d.ts +0 -10
  61. package/components/color-selector/palette/palette.module.d.ts +0 -13
  62. package/components/color-selector/services/picker.service.d.ts +0 -15
  63. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  64. package/components/combo-box/combo-box.component.d.ts +0 -52
  65. package/components/combo-box/combo-box.directive.d.ts +0 -13
  66. package/components/combo-box/combo-box.module.d.ts +0 -20
  67. package/components/combo-box/index.d.ts +0 -4
  68. package/components/input/index.d.ts +0 -3
  69. package/components/input/input.component.d.ts +0 -32
  70. package/components/input/input.directive.d.ts +0 -12
  71. package/components/input/input.module.d.ts +0 -16
  72. package/components/input-color/index.d.ts +0 -2
  73. package/components/input-color/input-color.component.d.ts +0 -30
  74. package/components/input-color/input-color.module.d.ts +0 -17
  75. package/components/input-copy/index.d.ts +0 -4
  76. package/components/input-copy/input-copy.component.d.ts +0 -33
  77. package/components/input-copy/input-copy.directive.d.ts +0 -11
  78. package/components/input-copy/input-copy.module.d.ts +0 -18
  79. package/components/input-copy/input-copy.options.d.ts +0 -26
  80. package/components/input-date/index.d.ts +0 -3
  81. package/components/input-date/input-date.component.d.ts +0 -62
  82. package/components/input-date/input-date.directive.d.ts +0 -19
  83. package/components/input-date/input-date.module.d.ts +0 -24
  84. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  85. package/components/input-date-multi/index.d.ts +0 -2
  86. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  87. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  88. package/components/input-date-range/index.d.ts +0 -3
  89. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  90. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  91. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  92. package/components/input-date-time/index.d.ts +0 -3
  93. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  94. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  95. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  96. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  97. package/components/input-month/index.d.ts +0 -3
  98. package/components/input-month/input-month.component.d.ts +0 -44
  99. package/components/input-month/input-month.directive.d.ts +0 -19
  100. package/components/input-month/input-month.module.d.ts +0 -19
  101. package/components/input-month-range/index.d.ts +0 -3
  102. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  103. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  104. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  105. package/components/input-number/index.d.ts +0 -4
  106. package/components/input-number/input-number.component.d.ts +0 -63
  107. package/components/input-number/input-number.directive.d.ts +0 -16
  108. package/components/input-number/input-number.module.d.ts +0 -18
  109. package/components/input-number/input-number.options.d.ts +0 -29
  110. package/components/input-password/index.d.ts +0 -4
  111. package/components/input-password/input-password.component.d.ts +0 -33
  112. package/components/input-password/input-password.directive.d.ts +0 -15
  113. package/components/input-password/input-password.module.d.ts +0 -19
  114. package/components/input-password/input-password.options.d.ts +0 -25
  115. package/components/input-phone/index.d.ts +0 -4
  116. package/components/input-phone/input-phone.component.d.ts +0 -52
  117. package/components/input-phone/input-phone.directive.d.ts +0 -16
  118. package/components/input-phone/input-phone.module.d.ts +0 -15
  119. package/components/input-phone/input-phone.options.d.ts +0 -22
  120. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  121. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  122. package/components/input-phone/utils/index.d.ts +0 -2
  123. package/components/input-phone-international/index.d.ts +0 -3
  124. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  125. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  126. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  127. package/components/input-range/index.d.ts +0 -2
  128. package/components/input-range/input-range.component.d.ts +0 -56
  129. package/components/input-range/input-range.module.d.ts +0 -19
  130. package/components/input-slider/index.d.ts +0 -2
  131. package/components/input-slider/input-slider.component.d.ts +0 -42
  132. package/components/input-slider/input-slider.module.d.ts +0 -18
  133. package/components/input-tag/index.d.ts +0 -3
  134. package/components/input-tag/input-tag.component.d.ts +0 -103
  135. package/components/input-tag/input-tag.module.d.ts +0 -22
  136. package/components/input-tag/input-tag.options.d.ts +0 -27
  137. package/components/input-time/index.d.ts +0 -4
  138. package/components/input-time/input-time.component.d.ts +0 -62
  139. package/components/input-time/input-time.directive.d.ts +0 -17
  140. package/components/input-time/input-time.module.d.ts +0 -23
  141. package/components/input-time/input-time.options.d.ts +0 -42
  142. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  143. package/components/input-year/index.d.ts +0 -3
  144. package/components/input-year/input-year.component.d.ts +0 -36
  145. package/components/input-year/input-year.directive.d.ts +0 -14
  146. package/components/input-year/input-year.module.d.ts +0 -18
  147. package/components/island/index.d.ts +0 -1
  148. package/components/island/island.directive.d.ts +0 -20
  149. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  150. package/components/multi-select/index.d.ts +0 -10
  151. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  152. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  153. package/components/multi-select/multi-select.component.d.ts +0 -71
  154. package/components/multi-select/multi-select.directive.d.ts +0 -14
  155. package/components/multi-select/multi-select.module.d.ts +0 -31
  156. package/components/multi-select/multi-select.options.d.ts +0 -14
  157. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  158. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  159. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  160. package/components/multi-select-option/index.d.ts +0 -2
  161. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  162. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  163. package/components/primitive-textfield/index.d.ts +0 -7
  164. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  165. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  166. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  167. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  168. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  169. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  170. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  171. package/components/select/index.d.ts +0 -6
  172. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  173. package/components/select/native-select/native-select.component.d.ts +0 -16
  174. package/components/select/select.component.d.ts +0 -45
  175. package/components/select/select.directive.d.ts +0 -16
  176. package/components/select/select.module.d.ts +0 -24
  177. package/components/select/select.options.d.ts +0 -25
  178. package/components/select-option/index.d.ts +0 -2
  179. package/components/select-option/select-option.component.d.ts +0 -27
  180. package/components/select-option/select-option.module.d.ts +0 -10
  181. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  182. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  183. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -10
  184. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  185. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  186. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  187. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  188. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  189. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  190. package/components/sheet/index.d.ts +0 -14
  191. package/components/sheet/sheet-options.d.ts +0 -27
  192. package/components/sheet/sheet-tokens.d.ts +0 -18
  193. package/components/sheet/sheet.d.ts +0 -21
  194. package/components/sheet/sheet.directive.d.ts +0 -17
  195. package/components/sheet/sheet.module.d.ts +0 -24
  196. package/components/sheet/sheet.service.d.ts +0 -17
  197. package/components/svg/content-processor.d.ts +0 -19
  198. package/components/svg/deprecated-icons.d.ts +0 -5
  199. package/components/svg/index.d.ts +0 -5
  200. package/components/svg/svg-options.d.ts +0 -50
  201. package/components/svg/svg.component.d.ts +0 -50
  202. package/components/svg/svg.service.d.ts +0 -21
  203. package/components/table-bar/index.d.ts +0 -4
  204. package/components/table-bar/table-bar.component.d.ts +0 -17
  205. package/components/table-bar/table-bar.directive.d.ts +0 -11
  206. package/components/table-bar/table-bar.options.d.ts +0 -31
  207. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  208. package/components/table-bar/table-bars.service.d.ts +0 -11
  209. package/components/tag/index.d.ts +0 -3
  210. package/components/tag/tag.component.d.ts +0 -44
  211. package/components/tag/tag.module.d.ts +0 -16
  212. package/components/tag/tag.options.d.ts +0 -27
  213. package/components/textarea/index.d.ts +0 -3
  214. package/components/textarea/textarea.component.d.ts +0 -54
  215. package/components/textarea/textarea.directive.d.ts +0 -12
  216. package/components/textarea/textarea.module.d.ts +0 -21
  217. package/components/tooltip/index.d.ts +0 -2
  218. package/components/tooltip/tooltip.component.d.ts +0 -12
  219. package/components/tooltip/tooltip.module.d.ts +0 -13
  220. package/directives/index.d.ts +0 -5
  221. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  222. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  223. package/directives/textfield-controller/index.d.ts +0 -14
  224. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  225. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  226. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  227. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  228. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  229. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  230. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  231. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  232. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  233. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  234. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  235. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  236. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  237. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  238. package/directives/unfinished-validator/index.d.ts +0 -2
  239. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  240. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  241. package/directives/value-accessor/index.d.ts +0 -3
  242. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  243. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  244. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  245. package/directives/wrapper/README.md +0 -19
  246. package/directives/wrapper/index.d.ts +0 -2
  247. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  248. package/directives/wrapper/wrapper.module.d.ts +0 -10
  249. package/esm2022/classes/abstract-native-select.mjs +0 -49
  250. package/esm2022/classes/abstract-textfield-host.mjs +0 -37
  251. package/esm2022/classes/control.mjs +0 -181
  252. package/esm2022/classes/controller.mjs +0 -18
  253. package/esm2022/classes/index.mjs +0 -10
  254. package/esm2022/classes/interactive.mjs +0 -82
  255. package/esm2022/classes/multiple-control.mjs +0 -21
  256. package/esm2022/classes/named-day.mjs +0 -14
  257. package/esm2022/classes/nullable-control.mjs +0 -18
  258. package/esm2022/classes/stringifiable-item.mjs +0 -14
  259. package/esm2022/classes/taiga-ui-legacy-classes.mjs +0 -5
  260. package/esm2022/components/arrow/arrow.component.mjs +0 -41
  261. package/esm2022/components/arrow/arrow.options.mjs +0 -20
  262. package/esm2022/components/arrow/arrow.providers.mjs +0 -23
  263. package/esm2022/components/arrow/index.mjs +0 -4
  264. package/esm2022/components/arrow/taiga-ui-legacy-components-arrow.mjs +0 -5
  265. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +0 -59
  266. package/esm2022/components/color-selector/color-edit/color-edit.module.mjs +0 -56
  267. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +0 -70
  268. package/esm2022/components/color-selector/color-picker/color-picker.module.mjs +0 -25
  269. package/esm2022/components/color-selector/color-selector.component.mjs +0 -191
  270. package/esm2022/components/color-selector/color-selector.module.mjs +0 -67
  271. package/esm2022/components/color-selector/color-selector.options.mjs +0 -78
  272. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +0 -34
  273. package/esm2022/components/color-selector/flat-picker/flat-picker.module.mjs +0 -23
  274. package/esm2022/components/color-selector/index.mjs +0 -17
  275. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +0 -61
  276. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.module.mjs +0 -23
  277. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +0 -31
  278. package/esm2022/components/color-selector/linear-picker/linear-picker.module.mjs +0 -23
  279. package/esm2022/components/color-selector/palette/palette.component.mjs +0 -23
  280. package/esm2022/components/color-selector/palette/palette.module.mjs +0 -25
  281. package/esm2022/components/color-selector/services/picker.service.mjs +0 -31
  282. package/esm2022/components/color-selector/taiga-ui-legacy-components-color-selector.mjs +0 -5
  283. package/esm2022/components/combo-box/combo-box-strict.directive.mjs +0 -34
  284. package/esm2022/components/combo-box/combo-box.component.mjs +0 -183
  285. package/esm2022/components/combo-box/combo-box.directive.mjs +0 -28
  286. package/esm2022/components/combo-box/combo-box.module.mjs +0 -71
  287. package/esm2022/components/combo-box/index.mjs +0 -5
  288. package/esm2022/components/combo-box/taiga-ui-legacy-components-combo-box.mjs +0 -5
  289. package/esm2022/components/index.mjs +0 -34
  290. package/esm2022/components/input/index.mjs +0 -4
  291. package/esm2022/components/input/input.component.mjs +0 -97
  292. package/esm2022/components/input/input.directive.mjs +0 -25
  293. package/esm2022/components/input/input.module.mjs +0 -42
  294. package/esm2022/components/input/taiga-ui-legacy-components-input.mjs +0 -5
  295. package/esm2022/components/input-color/index.mjs +0 -3
  296. package/esm2022/components/input-color/input-color.component.mjs +0 -85
  297. package/esm2022/components/input-color/input-color.module.mjs +0 -43
  298. package/esm2022/components/input-color/taiga-ui-legacy-components-input-color.mjs +0 -5
  299. package/esm2022/components/input-copy/index.mjs +0 -5
  300. package/esm2022/components/input-copy/input-copy.component.mjs +0 -105
  301. package/esm2022/components/input-copy/input-copy.directive.mjs +0 -24
  302. package/esm2022/components/input-copy/input-copy.module.mjs +0 -55
  303. package/esm2022/components/input-copy/input-copy.options.mjs +0 -24
  304. package/esm2022/components/input-copy/taiga-ui-legacy-components-input-copy.mjs +0 -5
  305. package/esm2022/components/input-date/index.mjs +0 -4
  306. package/esm2022/components/input-date/input-date.component.mjs +0 -220
  307. package/esm2022/components/input-date/input-date.directive.mjs +0 -40
  308. package/esm2022/components/input-date/input-date.module.mjs +0 -75
  309. package/esm2022/components/input-date/native-date/native-date.component.mjs +0 -53
  310. package/esm2022/components/input-date/taiga-ui-legacy-components-input-date.mjs +0 -5
  311. package/esm2022/components/input-date-multi/index.mjs +0 -3
  312. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +0 -207
  313. package/esm2022/components/input-date-multi/input-date-multi.module.mjs +0 -67
  314. package/esm2022/components/input-date-multi/taiga-ui-legacy-components-input-date-multi.mjs +0 -5
  315. package/esm2022/components/input-date-range/index.mjs +0 -4
  316. package/esm2022/components/input-date-range/input-date-range.component.mjs +0 -256
  317. package/esm2022/components/input-date-range/input-date-range.directive.mjs +0 -36
  318. package/esm2022/components/input-date-range/input-date-range.module.mjs +0 -71
  319. package/esm2022/components/input-date-range/taiga-ui-legacy-components-input-date-range.mjs +0 -5
  320. package/esm2022/components/input-date-time/index.mjs +0 -4
  321. package/esm2022/components/input-date-time/input-date-time.component.mjs +0 -315
  322. package/esm2022/components/input-date-time/input-date-time.directive.mjs +0 -37
  323. package/esm2022/components/input-date-time/input-date-time.module.mjs +0 -78
  324. package/esm2022/components/input-date-time/native-date-time/native-date-time.directive.mjs +0 -49
  325. package/esm2022/components/input-date-time/taiga-ui-legacy-components-input-date-time.mjs +0 -5
  326. package/esm2022/components/input-month/index.mjs +0 -4
  327. package/esm2022/components/input-month/input-month.component.mjs +0 -135
  328. package/esm2022/components/input-month/input-month.directive.mjs +0 -46
  329. package/esm2022/components/input-month/input-month.module.mjs +0 -57
  330. package/esm2022/components/input-month/taiga-ui-legacy-components-input-month.mjs +0 -5
  331. package/esm2022/components/input-month-range/index.mjs +0 -4
  332. package/esm2022/components/input-month-range/input-month-range.component.mjs +0 -123
  333. package/esm2022/components/input-month-range/input-month-range.directive.mjs +0 -52
  334. package/esm2022/components/input-month-range/input-month-range.module.mjs +0 -53
  335. package/esm2022/components/input-month-range/taiga-ui-legacy-components-input-month-range.mjs +0 -5
  336. package/esm2022/components/input-number/index.mjs +0 -5
  337. package/esm2022/components/input-number/input-number.component.mjs +0 -284
  338. package/esm2022/components/input-number/input-number.directive.mjs +0 -38
  339. package/esm2022/components/input-number/input-number.module.mjs +0 -48
  340. package/esm2022/components/input-number/input-number.options.mjs +0 -30
  341. package/esm2022/components/input-number/taiga-ui-legacy-components-input-number.mjs +0 -5
  342. package/esm2022/components/input-password/index.mjs +0 -5
  343. package/esm2022/components/input-password/input-password.component.mjs +0 -80
  344. package/esm2022/components/input-password/input-password.directive.mjs +0 -34
  345. package/esm2022/components/input-password/input-password.module.mjs +0 -59
  346. package/esm2022/components/input-password/input-password.options.mjs +0 -24
  347. package/esm2022/components/input-password/taiga-ui-legacy-components-input-password.mjs +0 -5
  348. package/esm2022/components/input-phone/index.mjs +0 -5
  349. package/esm2022/components/input-phone/input-phone.component.mjs +0 -219
  350. package/esm2022/components/input-phone/input-phone.directive.mjs +0 -37
  351. package/esm2022/components/input-phone/input-phone.module.mjs +0 -47
  352. package/esm2022/components/input-phone/input-phone.options.mjs +0 -24
  353. package/esm2022/components/input-phone/taiga-ui-legacy-components-input-phone.mjs +0 -5
  354. package/esm2022/components/input-phone/utils/complete-phone-insertion-preprocessor.mjs +0 -41
  355. package/esm2022/components/input-phone/utils/create-phone-mask-expression.mjs +0 -17
  356. package/esm2022/components/input-phone/utils/index.mjs +0 -3
  357. package/esm2022/components/input-phone-international/index.mjs +0 -4
  358. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +0 -178
  359. package/esm2022/components/input-phone-international/input-phone-international.options.mjs +0 -25
  360. package/esm2022/components/input-phone-international/taiga-ui-legacy-components-input-phone-international.mjs +0 -5
  361. package/esm2022/components/input-phone-international/utils/extract-value-from-event.mjs +0 -10
  362. package/esm2022/components/input-range/index.mjs +0 -3
  363. package/esm2022/components/input-range/input-range.component.mjs +0 -207
  364. package/esm2022/components/input-range/input-range.module.mjs +0 -55
  365. package/esm2022/components/input-range/taiga-ui-legacy-components-input-range.mjs +0 -5
  366. package/esm2022/components/input-slider/index.mjs +0 -3
  367. package/esm2022/components/input-slider/input-slider.component.mjs +0 -154
  368. package/esm2022/components/input-slider/input-slider.module.mjs +0 -48
  369. package/esm2022/components/input-slider/taiga-ui-legacy-components-input-slider.mjs +0 -5
  370. package/esm2022/components/input-tag/index.mjs +0 -4
  371. package/esm2022/components/input-tag/input-tag.component.mjs +0 -436
  372. package/esm2022/components/input-tag/input-tag.module.mjs +0 -67
  373. package/esm2022/components/input-tag/input-tag.options.mjs +0 -27
  374. package/esm2022/components/input-tag/taiga-ui-legacy-components-input-tag.mjs +0 -5
  375. package/esm2022/components/input-time/index.mjs +0 -5
  376. package/esm2022/components/input-time/input-time.component.mjs +0 -238
  377. package/esm2022/components/input-time/input-time.directive.mjs +0 -40
  378. package/esm2022/components/input-time/input-time.module.mjs +0 -71
  379. package/esm2022/components/input-time/input-time.options.mjs +0 -39
  380. package/esm2022/components/input-time/native-time/native-time.component.mjs +0 -67
  381. package/esm2022/components/input-time/taiga-ui-legacy-components-input-time.mjs +0 -5
  382. package/esm2022/components/input-year/index.mjs +0 -4
  383. package/esm2022/components/input-year/input-year.component.mjs +0 -110
  384. package/esm2022/components/input-year/input-year.directive.mjs +0 -32
  385. package/esm2022/components/input-year/input-year.module.mjs +0 -53
  386. package/esm2022/components/input-year/taiga-ui-legacy-components-input-year.mjs +0 -5
  387. package/esm2022/components/island/index.mjs +0 -2
  388. package/esm2022/components/island/island.directive.mjs +0 -62
  389. package/esm2022/components/island/taiga-ui-legacy-components-island.mjs +0 -5
  390. package/esm2022/components/multi-select/hide-selected.pipe.mjs +0 -44
  391. package/esm2022/components/multi-select/index.mjs +0 -11
  392. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +0 -98
  393. package/esm2022/components/multi-select/multi-select-group/multi-select-group.directive.mjs +0 -94
  394. package/esm2022/components/multi-select/multi-select.component.mjs +0 -233
  395. package/esm2022/components/multi-select/multi-select.directive.mjs +0 -32
  396. package/esm2022/components/multi-select/multi-select.module.mjs +0 -113
  397. package/esm2022/components/multi-select/multi-select.options.mjs +0 -17
  398. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +0 -60
  399. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +0 -56
  400. package/esm2022/components/multi-select/native-multi-select/native-multi-select.mjs +0 -19
  401. package/esm2022/components/multi-select/taiga-ui-legacy-components-multi-select.mjs +0 -5
  402. package/esm2022/components/multi-select-option/index.mjs +0 -3
  403. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +0 -25
  404. package/esm2022/components/multi-select-option/multi-select-option.module.mjs +0 -20
  405. package/esm2022/components/multi-select-option/taiga-ui-legacy-components-multi-select-option.mjs +0 -5
  406. package/esm2022/components/primitive-textfield/index.mjs +0 -7
  407. package/esm2022/components/primitive-textfield/primitive-textfield-options.mjs +0 -17
  408. package/esm2022/components/primitive-textfield/primitive-textfield-types.mjs +0 -2
  409. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +0 -254
  410. package/esm2022/components/primitive-textfield/primitive-textfield.directive.mjs +0 -33
  411. package/esm2022/components/primitive-textfield/primitive-textfield.module.mjs +0 -66
  412. package/esm2022/components/primitive-textfield/taiga-ui-legacy-components-primitive-textfield.mjs +0 -5
  413. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +0 -39
  414. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +0 -66
  415. package/esm2022/components/select/index.mjs +0 -7
  416. package/esm2022/components/select/native-select/native-select-group.component.mjs +0 -64
  417. package/esm2022/components/select/native-select/native-select.component.mjs +0 -60
  418. package/esm2022/components/select/select.component.mjs +0 -119
  419. package/esm2022/components/select/select.directive.mjs +0 -34
  420. package/esm2022/components/select/select.module.mjs +0 -87
  421. package/esm2022/components/select/select.options.mjs +0 -24
  422. package/esm2022/components/select/taiga-ui-legacy-components-select.mjs +0 -5
  423. package/esm2022/components/select-option/index.mjs +0 -3
  424. package/esm2022/components/select-option/select-option.component.mjs +0 -65
  425. package/esm2022/components/select-option/select-option.module.mjs +0 -21
  426. package/esm2022/components/select-option/taiga-ui-legacy-components-select-option.mjs +0 -5
  427. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +0 -117
  428. package/esm2022/components/sheet/components/sheet/sheet.providers.mjs +0 -42
  429. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +0 -27
  430. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +0 -31
  431. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +0 -46
  432. package/esm2022/components/sheet/directives/sheet-close/sheet-close.directive.mjs +0 -39
  433. package/esm2022/components/sheet/directives/sheet-stop/sheet-stop.directive.mjs +0 -38
  434. package/esm2022/components/sheet/directives/sheet-top/sheet-top.directive.mjs +0 -52
  435. package/esm2022/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.mjs +0 -77
  436. package/esm2022/components/sheet/index.mjs +0 -14
  437. package/esm2022/components/sheet/sheet-options.mjs +0 -24
  438. package/esm2022/components/sheet/sheet-tokens.mjs +0 -17
  439. package/esm2022/components/sheet/sheet.directive.mjs +0 -40
  440. package/esm2022/components/sheet/sheet.mjs +0 -2
  441. package/esm2022/components/sheet/sheet.module.mjs +0 -75
  442. package/esm2022/components/sheet/sheet.service.mjs +0 -52
  443. package/esm2022/components/sheet/taiga-ui-legacy-components-sheet.mjs +0 -5
  444. package/esm2022/components/svg/content-processor.mjs +0 -41
  445. package/esm2022/components/svg/deprecated-icons.mjs +0 -63
  446. package/esm2022/components/svg/index.mjs +0 -6
  447. package/esm2022/components/svg/svg-options.mjs +0 -83
  448. package/esm2022/components/svg/svg.component.mjs +0 -150
  449. package/esm2022/components/svg/svg.service.mjs +0 -64
  450. package/esm2022/components/svg/taiga-ui-legacy-components-svg.mjs +0 -5
  451. package/esm2022/components/table-bar/index.mjs +0 -5
  452. package/esm2022/components/table-bar/table-bar.component.mjs +0 -37
  453. package/esm2022/components/table-bar/table-bar.directive.mjs +0 -25
  454. package/esm2022/components/table-bar/table-bar.options.mjs +0 -34
  455. package/esm2022/components/table-bar/table-bars-host.component.mjs +0 -39
  456. package/esm2022/components/table-bar/table-bars.service.mjs +0 -22
  457. package/esm2022/components/table-bar/taiga-ui-legacy-components-table-bar.mjs +0 -5
  458. package/esm2022/components/tag/index.mjs +0 -4
  459. package/esm2022/components/tag/tag.component.mjs +0 -158
  460. package/esm2022/components/tag/tag.module.mjs +0 -42
  461. package/esm2022/components/tag/tag.options.mjs +0 -26
  462. package/esm2022/components/tag/taiga-ui-legacy-components-tag.mjs +0 -5
  463. package/esm2022/components/taiga-ui-legacy-components.mjs +0 -5
  464. package/esm2022/components/textarea/index.mjs +0 -4
  465. package/esm2022/components/textarea/taiga-ui-legacy-components-textarea.mjs +0 -5
  466. package/esm2022/components/textarea/textarea.component.mjs +0 -175
  467. package/esm2022/components/textarea/textarea.directive.mjs +0 -25
  468. package/esm2022/components/textarea/textarea.module.mjs +0 -68
  469. package/esm2022/components/tooltip/index.mjs +0 -3
  470. package/esm2022/components/tooltip/taiga-ui-legacy-components-tooltip.mjs +0 -5
  471. package/esm2022/components/tooltip/tooltip.component.mjs +0 -27
  472. package/esm2022/components/tooltip/tooltip.module.mjs +0 -24
  473. package/esm2022/directives/index.mjs +0 -6
  474. package/esm2022/directives/legacy-dropdown-open-monitor/index.mjs +0 -2
  475. package/esm2022/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.mjs +0 -44
  476. package/esm2022/directives/legacy-dropdown-open-monitor/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -5
  477. package/esm2022/directives/taiga-ui-legacy-directives.mjs +0 -5
  478. package/esm2022/directives/textfield-controller/index.mjs +0 -15
  479. package/esm2022/directives/textfield-controller/taiga-ui-legacy-directives-textfield-controller.mjs +0 -5
  480. package/esm2022/directives/textfield-controller/textfield-appearance.directive.mjs +0 -34
  481. package/esm2022/directives/textfield-controller/textfield-cleaner.directive.mjs +0 -28
  482. package/esm2022/directives/textfield-controller/textfield-controller.module.mjs +0 -72
  483. package/esm2022/directives/textfield-controller/textfield-controller.provider.mjs +0 -44
  484. package/esm2022/directives/textfield-controller/textfield-custom-content.directive.mjs +0 -28
  485. package/esm2022/directives/textfield-controller/textfield-filler.directive.mjs +0 -28
  486. package/esm2022/directives/textfield-controller/textfield-icon-left.directive.mjs +0 -24
  487. package/esm2022/directives/textfield-controller/textfield-icon.directive.mjs +0 -24
  488. package/esm2022/directives/textfield-controller/textfield-label-outside.directive.mjs +0 -32
  489. package/esm2022/directives/textfield-controller/textfield-postfix.directive.mjs +0 -28
  490. package/esm2022/directives/textfield-controller/textfield-prefix.directive.mjs +0 -28
  491. package/esm2022/directives/textfield-controller/textfield-size.directive.mjs +0 -28
  492. package/esm2022/directives/textfield-controller/textfield.controller.mjs +0 -49
  493. package/esm2022/directives/textfield-controller/textfield.options.mjs +0 -21
  494. package/esm2022/directives/unfinished-validator/index.mjs +0 -3
  495. package/esm2022/directives/unfinished-validator/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -5
  496. package/esm2022/directives/unfinished-validator/unfinished-validator.directive.mjs +0 -30
  497. package/esm2022/directives/unfinished-validator/unfinished.validator.mjs +0 -15
  498. package/esm2022/directives/value-accessor/index.mjs +0 -4
  499. package/esm2022/directives/value-accessor/taiga-ui-legacy-directives-value-accessor.mjs +0 -5
  500. package/esm2022/directives/value-accessor/value-accessor.directive.mjs +0 -17
  501. package/esm2022/directives/value-accessor/value-accessor.module.mjs +0 -17
  502. package/esm2022/directives/value-accessor/value-accessor.provider.mjs +0 -10
  503. package/esm2022/directives/wrapper/index.mjs +0 -3
  504. package/esm2022/directives/wrapper/taiga-ui-legacy-directives-wrapper.mjs +0 -5
  505. package/esm2022/directives/wrapper/wrapper.directive.mjs +0 -77
  506. package/esm2022/directives/wrapper/wrapper.module.mjs +0 -20
  507. package/esm2022/index.mjs +0 -8
  508. package/esm2022/pipes/format-phone/format-phone.pipe.mjs +0 -54
  509. package/esm2022/pipes/format-phone/index.mjs +0 -2
  510. package/esm2022/pipes/format-phone/taiga-ui-legacy-pipes-format-phone.mjs +0 -5
  511. package/esm2022/pipes/index.mjs +0 -4
  512. package/esm2022/pipes/iso-to-country-code/index.mjs +0 -2
  513. package/esm2022/pipes/iso-to-country-code/iso-to-country-code.pipe.mjs +0 -44
  514. package/esm2022/pipes/iso-to-country-code/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -5
  515. package/esm2022/pipes/taiga-ui-legacy-pipes.mjs +0 -5
  516. package/esm2022/pipes/to-country-code/index.mjs +0 -2
  517. package/esm2022/pipes/to-country-code/taiga-ui-legacy-pipes-to-country-code.mjs +0 -5
  518. package/esm2022/pipes/to-country-code/to-country-code.pipe.mjs +0 -74
  519. package/esm2022/services/index.mjs +0 -2
  520. package/esm2022/services/static-request.service.mjs +0 -36
  521. package/esm2022/services/taiga-ui-legacy-services.mjs +0 -5
  522. package/esm2022/taiga-ui-legacy.mjs +0 -5
  523. package/esm2022/tokens/countries-masks.mjs +0 -257
  524. package/esm2022/tokens/focusable-item-accessor.mjs +0 -14
  525. package/esm2022/tokens/fonts-ready.mjs +0 -10
  526. package/esm2022/tokens/icons.mjs +0 -9
  527. package/esm2022/tokens/index.mjs +0 -15
  528. package/esm2022/tokens/is-apple.mjs +0 -11
  529. package/esm2022/tokens/is-chromium.mjs +0 -10
  530. package/esm2022/tokens/is-firefox.mjs +0 -11
  531. package/esm2022/tokens/is-stackblitz.mjs +0 -9
  532. package/esm2022/tokens/month-formatter.mjs +0 -18
  533. package/esm2022/tokens/sanitizer.mjs +0 -7
  534. package/esm2022/tokens/taiga-ui-legacy-tokens.mjs +0 -5
  535. package/esm2022/tokens/textfield-appearance.mjs +0 -10
  536. package/esm2022/tokens/textfield-host.mjs +0 -14
  537. package/esm2022/tokens/touch-supported.mjs +0 -9
  538. package/esm2022/tokens/value-accessor.mjs +0 -7
  539. package/esm2022/utils/capitalize-first-letter.mjs +0 -7
  540. package/esm2022/utils/date-mode-maskito-adapter.mjs +0 -9
  541. package/esm2022/utils/format-phone.mjs +0 -60
  542. package/esm2022/utils/get-border.mjs +0 -23
  543. package/esm2022/utils/get-max-allowed-phone-length.mjs +0 -26
  544. package/esm2022/utils/get-safe-area-size.mjs +0 -18
  545. package/esm2022/utils/icons-path-factory.mjs +0 -22
  546. package/esm2022/utils/index.mjs +0 -14
  547. package/esm2022/utils/is-apple.mjs +0 -6
  548. package/esm2022/utils/is-presumed-html-string.mjs +0 -8
  549. package/esm2022/utils/iso-to-country-code.mjs +0 -16
  550. package/esm2022/utils/not-kz-region.mjs +0 -24
  551. package/esm2022/utils/process-icon.mjs +0 -34
  552. package/esm2022/utils/specific-dropdown-controllers.mjs +0 -9
  553. package/esm2022/utils/status.mjs +0 -2
  554. package/esm2022/utils/taiga-ui-legacy-utils.mjs +0 -5
  555. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -416
  556. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  557. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  558. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  559. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  560. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  561. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -301
  562. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  563. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  564. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  565. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  566. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  567. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  568. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  569. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  570. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  571. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  572. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  573. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  574. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  575. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  576. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  577. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  578. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  579. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  580. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  581. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  582. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  583. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  584. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  585. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -373
  586. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  587. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  588. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  589. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -200
  590. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  591. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  592. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  593. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -434
  594. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  595. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  596. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  597. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -156
  598. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  599. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  600. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  601. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  602. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  603. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  604. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  605. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  606. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  607. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  608. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  609. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -354
  610. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  611. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -574
  612. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  613. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -389
  614. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  615. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
  616. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  617. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -226
  618. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  619. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  620. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  621. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  622. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  623. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -50
  624. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  625. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  626. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  627. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -50
  628. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  629. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  630. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  631. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  632. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  633. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  634. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  635. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -60
  636. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  637. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  638. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  639. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  640. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  641. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  642. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  643. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  644. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  645. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  646. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  647. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -268
  648. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  649. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  650. package/pipes/format-phone/index.d.ts +0 -1
  651. package/pipes/index.d.ts +0 -3
  652. package/pipes/iso-to-country-code/index.d.ts +0 -1
  653. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  654. package/pipes/to-country-code/index.d.ts +0 -1
  655. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  656. package/services/index.d.ts +0 -1
  657. package/services/static-request.service.d.ts +0 -11
  658. package/styles/mixins/mixins.less +0 -239
  659. package/styles/mixins/mixins.scss +0 -224
  660. package/styles/mixins/textfield.less +0 -322
  661. package/styles/mixins/textfield.scss +0 -308
  662. package/styles/taiga-ui-local.less +0 -3
  663. package/styles/taiga-ui-local.scss +0 -3
  664. package/tokens/countries-masks.d.ts +0 -9
  665. package/tokens/focusable-item-accessor.d.ts +0 -25
  666. package/tokens/fonts-ready.d.ts +0 -6
  667. package/tokens/icons.d.ts +0 -6
  668. package/tokens/index.d.ts +0 -14
  669. package/tokens/is-apple.d.ts +0 -6
  670. package/tokens/is-chromium.d.ts +0 -6
  671. package/tokens/is-firefox.d.ts +0 -6
  672. package/tokens/is-stackblitz.d.ts +0 -5
  673. package/tokens/month-formatter.d.ts +0 -10
  674. package/tokens/sanitizer.d.ts +0 -6
  675. package/tokens/textfield-appearance.d.ts +0 -7
  676. package/tokens/textfield-host.d.ts +0 -23
  677. package/tokens/touch-supported.d.ts +0 -5
  678. package/tokens/value-accessor.d.ts +0 -7
  679. package/utils/capitalize-first-letter.d.ts +0 -4
  680. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  681. package/utils/format-phone.d.ts +0 -30
  682. package/utils/get-border.d.ts +0 -5
  683. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  684. package/utils/get-safe-area-size.d.ts +0 -7
  685. package/utils/icons-path-factory.d.ts +0 -13
  686. package/utils/index.d.ts +0 -14
  687. package/utils/is-apple.d.ts +0 -5
  688. package/utils/is-presumed-html-string.d.ts +0 -4
  689. package/utils/iso-to-country-code.d.ts +0 -13
  690. package/utils/not-kz-region.d.ts +0 -20
  691. package/utils/process-icon.d.ts +0 -4
  692. package/utils/specific-dropdown-controllers.d.ts +0 -4
  693. package/utils/status.d.ts +0 -4
@@ -1,17 +0,0 @@
1
- /**
2
- * Create {@link https://maskito.dev/core-concepts/mask-expression pattern mask expression} for phone number
3
- *
4
- * @example
5
- * tuiCreatePhoneMaskExpression('+1', '(###) ###-####');
6
- */
7
- export function tuiCreatePhoneMaskExpression(countryCode, phoneMaskAfterCountryCode) {
8
- return [
9
- ...countryCode.split(''),
10
- ' ',
11
- ...phoneMaskAfterCountryCode
12
- .replaceAll(/[^#\- ()]+/g, '')
13
- .split('')
14
- .map((item) => (item === '#' ? /\d/ : item)),
15
- ];
16
- }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXBob25lLW1hc2stZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBob25lL3V0aWxzL2NyZWF0ZS1waG9uZS1tYXNrLWV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFdBQW1CLEVBQ25CLHlCQUFpQztJQUVqQyxPQUFPO1FBQ0gsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixHQUFHO1FBQ0gsR0FBRyx5QkFBeUI7YUFDdkIsVUFBVSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7YUFDN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNULEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ25ELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDcmVhdGUge0BsaW5rIGh0dHBzOi8vbWFza2l0by5kZXYvY29yZS1jb25jZXB0cy9tYXNrLWV4cHJlc3Npb24gcGF0dGVybiBtYXNrIGV4cHJlc3Npb259IGZvciBwaG9uZSBudW1iZXJcbiAqXG4gKiBAZXhhbXBsZVxuICogdHVpQ3JlYXRlUGhvbmVNYXNrRXhwcmVzc2lvbignKzEnLCAnKCMjIykgIyMjLSMjIyMnKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZVBob25lTWFza0V4cHJlc3Npb24oXG4gICAgY291bnRyeUNvZGU6IHN0cmluZyxcbiAgICBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlOiBzdHJpbmcsXG4pOiBBcnJheTxSZWdFeHAgfCBzdHJpbmc+IHtcbiAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb3VudHJ5Q29kZS5zcGxpdCgnJyksXG4gICAgICAgICcgJyxcbiAgICAgICAgLi4ucGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZVxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoL1teI1xcLSAoKV0rL2csICcnKVxuICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgLm1hcCgoaXRlbSkgPT4gKGl0ZW0gPT09ICcjJyA/IC9cXGQvIDogaXRlbSkpLFxuICAgIF07XG59XG4iXX0=
@@ -1,3 +0,0 @@
1
- export * from './complete-phone-insertion-preprocessor';
2
- export * from './create-phone-mask-expression';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1waG9uZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBsZXRlLXBob25lLWluc2VydGlvbi1wcmVwcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtcGhvbmUtbWFzay1leHByZXNzaW9uJztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './input-phone-international.component';
2
- export * from './input-phone-international.options';
3
- export * from './utils/extract-value-from-event';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwub3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2V4dHJhY3QtdmFsdWUtZnJvbS1ldmVudCc7XG4iXX0=
@@ -1,178 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { CommonModule } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
4
- import { FormsModule } from '@angular/forms';
5
- import { CHAR_PLUS, TUI_NON_DIGITS_REGEXP } from '@taiga-ui/cdk/constants';
6
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiDataList } from '@taiga-ui/core/components/data-list';
8
- import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
9
- import { TuiDropdown, TuiDropdownFixed } from '@taiga-ui/core/directives/dropdown';
10
- import { TuiGroup } from '@taiga-ui/core/directives/group';
11
- import { TuiHint } from '@taiga-ui/core/directives/hint';
12
- import { TuiFlagPipe } from '@taiga-ui/core/pipes/flag';
13
- import { TUI_COUNTRIES } from '@taiga-ui/kit/tokens';
14
- import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
15
- import { TUI_ARROW } from '@taiga-ui/legacy/components/arrow';
16
- import { TuiInputPhoneComponent, TuiInputPhoneModule, } from '@taiga-ui/legacy/components/input-phone';
17
- import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, } from '@taiga-ui/legacy/components/primitive-textfield';
18
- import { TUI_TEXTFIELD_SIZE, TuiLegacyDropdownOpenMonitorDirective, TuiTextfieldControllerModule, } from '@taiga-ui/legacy/directives';
19
- import { TuiIsoToCountryCodePipe, TuiToCountryCodePipe } from '@taiga-ui/legacy/pipes';
20
- import { TUI_COUNTRIES_MASKS, tuiAsFocusableItemAccessor, } from '@taiga-ui/legacy/tokens';
21
- import { tuiGetMaxAllowedPhoneLength, tuiIsoToCountryCode } from '@taiga-ui/legacy/utils';
22
- import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
23
- import { TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS } from './input-phone-international.options';
24
- import { tuiExtractValueFromEvent } from './utils/extract-value-from-event';
25
- import * as i0 from "@angular/core";
26
- import * as i1 from "@taiga-ui/core/directives/dropdown";
27
- import * as i2 from "@angular/common";
28
- import * as i3 from "@angular/forms";
29
- import * as i4 from "@taiga-ui/core/components/data-list";
30
- import * as i5 from "@taiga-ui/core/directives/hint";
31
- import * as i6 from "@taiga-ui/legacy/components/input-phone";
32
- import * as i7 from "@taiga-ui/legacy/components/primitive-textfield";
33
- import * as i8 from "@taiga-ui/legacy/directives";
34
- const MASK_SYMBOLS = /[ \-_()]/g;
35
- /**
36
- * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
37
- * https://taiga-ui.dev/components/input-phone-international
38
- */
39
- class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
40
- constructor() {
41
- super(...arguments);
42
- this.options = inject(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS);
43
- this.extractCountryCodePipe = inject(TuiToCountryCodePipe);
44
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
45
- this.open = false;
46
- this.countriesNames$ = inject(TUI_COUNTRIES);
47
- this.countriesMasks = inject(TUI_COUNTRIES_MASKS);
48
- this.arrow = TUI_ARROW;
49
- this.countries = this.options.countries;
50
- this.countryIsoCodeChange = new EventEmitter();
51
- this.countryIsoCode = this.options.countryIsoCode;
52
- }
53
- set isoCode(code) {
54
- if (this.countryIsoCode === code) {
55
- return;
56
- }
57
- this.inputPhoneComponent?.writeValue(this.value);
58
- this.countryIsoCode = code;
59
- }
60
- get nativeFocusableElement() {
61
- return this.inputPhoneComponent && !this.computedDisabled
62
- ? this.inputPhoneComponent.nativeFocusableElement
63
- : null;
64
- }
65
- get focused() {
66
- return ((!!this.primitiveTextfield && this.primitiveTextfield.focused) ||
67
- (!!this.inputPhoneComponent && this.inputPhoneComponent.focused));
68
- }
69
- get inputPhoneCountryCode() {
70
- return tuiIsoToCountryCode(this.countriesMasks, this.countryIsoCode);
71
- }
72
- get phoneMaskAfterCountryCode() {
73
- const countryCode = this.inputPhoneCountryCode;
74
- return this.calculateMaskAfterCountryCode(this.countriesMasks[this.countryIsoCode], countryCode);
75
- }
76
- onPaste(event) {
77
- let value = tuiExtractValueFromEvent(event).replace(TUI_NON_DIGITS_REGEXP, '');
78
- const countryIsoCode = this.extractCountryCodePipe.transform(value, this.countries);
79
- if (!countryIsoCode) {
80
- this.value = `${this.inputPhoneCountryCode}${value}`
81
- .replaceAll(MASK_SYMBOLS, '')
82
- .slice(0, tuiGetMaxAllowedPhoneLength(this.countriesMasks, this.countryIsoCode));
83
- return;
84
- }
85
- if (countryIsoCode === 'RU') {
86
- value = value.replace(/^8/, '7');
87
- }
88
- this.updateCountryIsoCode(countryIsoCode);
89
- this.value = `${CHAR_PLUS}${value}`;
90
- }
91
- onItemClick(isoCode) {
92
- this.open = false;
93
- this.updateCountryIsoCode(isoCode);
94
- // recalculates mask inside inputPhone to prevent isoCode conflict
95
- this.cdr.detectChanges();
96
- const maxLength = tuiGetMaxAllowedPhoneLength(this.countriesMasks, isoCode);
97
- if (this.value.length > maxLength) {
98
- this.value = this.value.slice(0, maxLength);
99
- }
100
- if (this.nativeFocusableElement) {
101
- this.nativeFocusableElement.focus();
102
- }
103
- }
104
- setDisabledState() {
105
- super.setDisabledState();
106
- this.close();
107
- }
108
- get size() {
109
- return this.textfieldSize.size;
110
- }
111
- onActiveZone(active) {
112
- this.updateFocused(active);
113
- }
114
- getFallbackValue() {
115
- return '';
116
- }
117
- calculateMaskAfterCountryCode(mask, countryCode) {
118
- return mask.replace(countryCode, '').trim();
119
- }
120
- close() {
121
- this.open = false;
122
- }
123
- updateCountryIsoCode(code) {
124
- this.countryIsoCode = code;
125
- this.countryIsoCodeChange.emit(code);
126
- }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhoneInternationalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPhoneInternationalComponent, isStandalone: true, selector: "tui-input-phone-international", inputs: { countries: "countries", isoCode: ["countryIsoCode", "isoCode"] }, outputs: { countryIsoCodeChange: "countryIsoCodeChange" }, host: { listeners: { "paste.capture.prevent.stop": "onPaste($event)", "drop.capture.prevent.stop": "onPaste($event)" }, properties: { "attr.data-size": "size" } }, providers: [
129
- tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),
130
- tuiAsControl(TuiInputPhoneInternationalComponent),
131
- TuiToCountryCodePipe,
132
- ], viewQueries: [{ propertyName: "inputPhoneComponent", first: true, predicate: TuiInputPhoneComponent, descendants: true }, { propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\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 type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-country-select{inline-size: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]{inline-size:5.5rem}.t-country-select[data-size=s]{inline-size:2rem}.t-country-select[data-size=s] .t-flag{margin-inline-start:-1rem}.t-input-phone{flex:1}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%}.t-flag_select{margin-inline-start:-.5rem}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i4.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: TuiGroup, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "collapsed", "rounded", "size"] }, { kind: "directive", type: i5.TuiHintOptionsDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { kind: "ngmodule", type: TuiInputPhoneModule }, { kind: "component", type: i6.TuiInputPhoneComponent, selector: "tui-input-phone", inputs: ["phoneMaskAfterCountryCode", "allowText", "search", "countryCode"], outputs: ["searchChange"] }, { kind: "directive", type: i6.TuiInputPhoneDirective, selector: "tui-input-phone" }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "pipe", type: TuiIsoToCountryCodePipe, name: "tuiIsoToCountryCode" }, { kind: "directive", type: TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "ngmodule", type: TuiPrimitiveTextfieldModule }, { kind: "component", type: i7.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i7.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i8.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { kind: "directive", type: i8.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i8.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i8.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { kind: "directive", type: i8.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
133
- }
134
- __decorate([
135
- tuiPure
136
- ], TuiInputPhoneInternationalComponent.prototype, "calculateMaskAfterCountryCode", null);
137
- export { TuiInputPhoneInternationalComponent };
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPhoneInternationalComponent, decorators: [{
139
- type: Component,
140
- args: [{ standalone: true, selector: 'tui-input-phone-international', imports: [
141
- CommonModule,
142
- FormsModule,
143
- PolymorpheusOutlet,
144
- TuiAppearance,
145
- TuiDataList,
146
- TuiDropdown,
147
- TuiFlagPipe,
148
- TuiGroup,
149
- TuiHint,
150
- TuiInputPhoneModule,
151
- TuiIsoToCountryCodePipe,
152
- TuiLegacyDropdownOpenMonitorDirective,
153
- TuiPrimitiveTextfieldModule,
154
- TuiTextfieldControllerModule,
155
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
156
- tuiAsFocusableItemAccessor(TuiInputPhoneInternationalComponent),
157
- tuiAsControl(TuiInputPhoneInternationalComponent),
158
- TuiToCountryCodePipe,
159
- ], hostDirectives: [TuiDropdownFixed], host: {
160
- '[attr.data-size]': 'size',
161
- '(paste.capture.prevent.stop)': 'onPaste($event)',
162
- '(drop.capture.prevent.stop)': 'onPaste($event)',
163
- }, template: "<div\n *ngIf=\"countriesNames$ | async as countriesNames\"\n tuiDropdownOpenMonitor\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"!readOnly\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHintContent=\"\"\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n class=\"t-country-select\"\n [disabled]=\"disabled\"\n [editable]=\"false\"\n [focusable]=\"focusable\"\n [pseudoFocus]=\"open || null\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldIcon]=\"icon\"\n [tuiTextfieldLabelOutside]=\"true\"\n />\n <tui-input-phone\n class=\"t-input-phone\"\n [countryCode]=\"inputPhoneCountryCode\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [ngModelOptions]=\"{standalone: true}\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n [style.flex]=\"'0 0 auto'\"\n [(ngModel)]=\"value\"\n >\n <ng-content />\n <input\n autocomplete=\"new-password\"\n tuiTextfieldLegacy\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 type=\"button\"\n (click)=\"onItemClick(item)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"item | tuiFlag\"\n />\n <span class=\"t-country-item-name\">\n {{ countriesNames[item] }}\n </span>\n <span class=\"t-country-item-code\">\n {{ item | tuiIsoToCountryCode }}\n </span>\n </button>\n </tui-data-list>\n </ng-template>\n\n <ng-template #countryValueContent>\n <img\n class=\"t-flag t-flag_select\"\n [alt]=\"countriesNames[countryIsoCode]\"\n [src]=\"countryIsoCode | tuiFlag\"\n />\n </ng-template>\n\n <ng-template #icon>\n <div tuiAppearance=\"icon\">\n <ng-container *polymorpheusOutlet=\"arrow\" />\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-country-select{inline-size: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]{inline-size:5.5rem}.t-country-select[data-size=s]{inline-size:2rem}.t-country-select[data-size=s] .t-flag{margin-inline-start:-1rem}.t-input-phone{flex:1}.t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%}.t-flag_select{margin-inline-start:-.5rem}.t-country-item-name{margin-inline-start:.75rem;margin-inline-end:auto}.t-country-item-code{color:var(--tui-text-secondary);margin-inline-end:.25rem}\n"] }]
164
- }], propDecorators: { inputPhoneComponent: [{
165
- type: ViewChild,
166
- args: [TuiInputPhoneComponent]
167
- }], primitiveTextfield: [{
168
- type: ViewChild,
169
- args: [TuiPrimitiveTextfieldComponent]
170
- }], countries: [{
171
- type: Input
172
- }], countryIsoCodeChange: [{
173
- type: Output
174
- }], isoCode: [{
175
- type: Input,
176
- args: ['countryIsoCode']
177
- }], calculateMaskAfterCountryCode: [] } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsL2lucHV0LXBob25lLWludGVybmF0aW9uYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVELE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3RCLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUNILDhCQUE4QixFQUM5QiwyQkFBMkIsR0FDOUIsTUFBTSxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHFDQUFxQyxFQUNyQyw0QkFBNEIsR0FDL0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUU3QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQywyQkFBMkIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBMkIsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQUUxRSxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUM7QUFFakM7OztHQUdHO0FBQ0gsTUFrQ2EsbUNBQ1QsU0FBUSxrQkFBMEI7SUFuQ3RDOztRQTRDcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQ3hELDJCQUFzQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFbEQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNKLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDN0MsVUFBSyxHQUVwQixTQUFTLENBQUM7UUFHUCxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHMUIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFdEUsbUJBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQztLQStHdkQ7SUE3R0csSUFDVyxPQUFPLENBQUMsSUFBdUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQ3JELENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCO1lBQ2pELENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxDQUNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQ25FLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBVyxxQkFBcUI7UUFDNUIsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDaEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRS9DLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFDeEMsV0FBVyxDQUNkLENBQUM7SUFDTixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQWlDO1FBQzVDLElBQUksS0FBSyxHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUN4RCxLQUFLLEVBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FDakIsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLEVBQUU7aUJBQy9DLFVBQVUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO2lCQUM1QixLQUFLLENBQ0YsQ0FBQyxFQUNELDJCQUEyQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUN4RSxDQUFDO1lBRU4sT0FBTztTQUNWO1FBRUQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQ3pCLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsU0FBUyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBMEI7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLGtFQUFrRTtRQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXpCLE1BQU0sU0FBUyxHQUFHLDJCQUEyQixDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFNUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxTQUFTLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRWUsZ0JBQWdCO1FBQzVCLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBYyxJQUFJO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRVMsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUdPLDZCQUE2QixDQUFDLElBQVksRUFBRSxXQUFtQjtRQUNuRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQXVCO1FBQ2hELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0F6SVEsbUNBQW1DO21HQUFuQyxtQ0FBbUMsdVhBWmpDO1lBQ1AsMEJBQTBCLENBQUMsbUNBQW1DLENBQUM7WUFDL0QsWUFBWSxDQUFDLG1DQUFtQyxDQUFDO1lBQ2pELG9CQUFvQjtTQUN2QiwrRUFZVSxzQkFBc0IscUZBR3RCLDhCQUE4Qiw2SENqRzdDLGtzRkFtRkEsOHZCRHZCUSxZQUFZLG9UQUNaLFdBQVcsK1ZBQ1gsa0JBQWtCLDhIQUNsQixhQUFhLGl6QkFHYixXQUFXLGdEQUNYLFFBQVEscVVBRVIsbUJBQW1CLHdhQUNuQix1QkFBdUIsNERBQ3ZCLHFDQUFxQyxvRUFDckMsMkJBQTJCLG1WQUMzQiw0QkFBNEI7O0FBK0l4QjtJQURQLE9BQU87d0ZBR1A7U0FoSVEsbUNBQW1DOzRGQUFuQyxtQ0FBbUM7a0JBbEMvQyxTQUFTO2lDQUNNLElBQUksWUFDTiwrQkFBK0IsV0FDaEM7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxRQUFRO3dCQUNSLE9BQU87d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHFDQUFxQzt3QkFDckMsMkJBQTJCO3dCQUMzQiw0QkFBNEI7cUJBQy9CLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLDBCQUEwQixxQ0FBcUM7d0JBQy9ELFlBQVkscUNBQXFDO3dCQUNqRCxvQkFBb0I7cUJBQ3ZCLGtCQUNlLENBQUMsZ0JBQWdCLENBQUMsUUFDNUI7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIsOEJBQThCLEVBQUUsaUJBQWlCO3dCQUNqRCw2QkFBNkIsRUFBRSxpQkFBaUI7cUJBQ25EOzhCQU9nQixtQkFBbUI7c0JBRG5DLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUloQixrQkFBa0I7c0JBRGxDLFNBQVM7dUJBQUMsOEJBQThCO2dCQWVsQyxTQUFTO3NCQURmLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxNQUFNO2dCQU1JLE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQWlHZiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0NIQVJfUExVUywgVFVJX05PTl9ESUdJVFNfUkVHRVhQfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aUFwcGVhcmFuY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvYXBwZWFyYW5jZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duLCBUdWlEcm9wZG93bkZpeGVkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpR3JvdXB9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvZ3JvdXAnO1xuaW1wb3J0IHtUdWlIaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHtUdWlGbGFnUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZmxhZyc7XG5pbXBvcnQge3R5cGUgVHVpU2l6ZUwsIHR5cGUgVHVpU2l6ZU0sIHR5cGUgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHlwZSBUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdHlwZXMnO1xuaW1wb3J0IHtUVUlfQ09VTlRSSUVTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge0Fic3RyYWN0VHVpQ29udHJvbCwgdHVpQXNDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQVJST1d9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1xuICAgIFR1aUlucHV0UGhvbmVDb21wb25lbnQsXG4gICAgVHVpSW5wdXRQaG9uZU1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBob25lJztcbmltcG9ydCB7XG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUVUlfVEVYVEZJRUxEX1NJWkUsXG4gICAgVHVpTGVnYWN5RHJvcGRvd25PcGVuTW9uaXRvckRpcmVjdGl2ZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUdWlJc29Ub0NvdW50cnlDb2RlUGlwZSwgVHVpVG9Db3VudHJ5Q29kZVBpcGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvcGlwZXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfQ09VTlRSSUVTX01BU0tTLFxuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIHR5cGUgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldE1heEFsbG93ZWRQaG9uZUxlbmd0aCwgdHVpSXNvVG9Db3VudHJ5Q29kZX0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS91dGlscyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudCwgUG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9PUFRJT05TfSBmcm9tICcuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwub3B0aW9ucyc7XG5pbXBvcnQge3R1aUV4dHJhY3RWYWx1ZUZyb21FdmVudH0gZnJvbSAnLi91dGlscy9leHRyYWN0LXZhbHVlLWZyb20tZXZlbnQnO1xuXG5jb25zdCBNQVNLX1NZTUJPTFMgPSAvWyBcXC1fKCldL2c7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMCB1c2Uge0BsaW5rIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsfVxuICogaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbCcsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFR1aUFwcGVhcmFuY2UsXG4gICAgICAgIFR1aURhdGFMaXN0LFxuICAgICAgICBUdWlEcm9wZG93bixcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aUdyb3VwLFxuICAgICAgICBUdWlIaW50LFxuICAgICAgICBUdWlJbnB1dFBob25lTW9kdWxlLFxuICAgICAgICBUdWlJc29Ub0NvdW50cnlDb2RlUGlwZSxcbiAgICAgICAgVHVpTGVnYWN5RHJvcGRvd25PcGVuTW9uaXRvckRpcmVjdGl2ZSxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXBob25lLWludGVybmF0aW9uYWwudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsQ29tcG9uZW50KSxcbiAgICAgICAgVHVpVG9Db3VudHJ5Q29kZVBpcGUsXG4gICAgXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1R1aURyb3Bkb3duRml4ZWRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICcocGFzdGUuY2FwdHVyZS5wcmV2ZW50LnN0b3ApJzogJ29uUGFzdGUoJGV2ZW50KScsXG4gICAgICAgICcoZHJvcC5jYXB0dXJlLnByZXZlbnQuc3RvcCknOiAnb25QYXN0ZSgkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlDb250cm9sPHN0cmluZz5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpSW5wdXRQaG9uZUNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0UGhvbmVDb21wb25lbnQ/OiBUdWlJbnB1dFBob25lQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBleHRyYWN0Q291bnRyeUNvZGVQaXBlID0gaW5qZWN0KFR1aVRvQ291bnRyeUNvZGVQaXBlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKTtcblxuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvdW50cmllc05hbWVzJCA9IGluamVjdChUVUlfQ09VTlRSSUVTKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY291bnRyaWVzTWFza3MgPSBpbmplY3QoVFVJX0NPVU5UUklFU19NQVNLUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFycm93OiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0PFR1aVNpemVMIHwgVHVpU2l6ZU0gfCBUdWlTaXplUz5cbiAgICA+ID0gVFVJX0FSUk9XO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY291bnRyaWVzID0gdGhpcy5vcHRpb25zLmNvdW50cmllcztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBjb3VudHJ5SXNvQ29kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpQ291bnRyeUlzb0NvZGU+KCk7XG5cbiAgICBwdWJsaWMgY291bnRyeUlzb0NvZGUgPSB0aGlzLm9wdGlvbnMuY291bnRyeUlzb0NvZGU7XG5cbiAgICBASW5wdXQoJ2NvdW50cnlJc29Db2RlJylcbiAgICBwdWJsaWMgc2V0IGlzb0NvZGUoY29kZTogVHVpQ291bnRyeUlzb0NvZGUpIHtcbiAgICAgICAgaWYgKHRoaXMuY291bnRyeUlzb0NvZGUgPT09IGNvZGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRQaG9uZUNvbXBvbmVudD8ud3JpdGVWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZSA9IGNvZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0UGhvbmVDb21wb25lbnQgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyB0aGlzLmlucHV0UGhvbmVDb21wb25lbnQubmF0aXZlRm9jdXNhYmxlRWxlbWVudFxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkICYmIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLmZvY3VzZWQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmlucHV0UGhvbmVDb21wb25lbnQgJiYgdGhpcy5pbnB1dFBob25lQ29tcG9uZW50LmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpbnB1dFBob25lQ291bnRyeUNvZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzb1RvQ291bnRyeUNvZGUodGhpcy5jb3VudHJpZXNNYXNrcywgdGhpcy5jb3VudHJ5SXNvQ29kZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5pbnB1dFBob25lQ291bnRyeUNvZGU7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlTWFza0FmdGVyQ291bnRyeUNvZGUoXG4gICAgICAgICAgICB0aGlzLmNvdW50cmllc01hc2tzW3RoaXMuY291bnRyeUlzb0NvZGVdLFxuICAgICAgICAgICAgY291bnRyeUNvZGUsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUGFzdGUoZXZlbnQ6IENsaXBib2FyZEV2ZW50IHwgRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZSA9IHR1aUV4dHJhY3RWYWx1ZUZyb21FdmVudChldmVudCkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKTtcbiAgICAgICAgY29uc3QgY291bnRyeUlzb0NvZGUgPSB0aGlzLmV4dHJhY3RDb3VudHJ5Q29kZVBpcGUudHJhbnNmb3JtKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICB0aGlzLmNvdW50cmllcyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIWNvdW50cnlJc29Db2RlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gYCR7dGhpcy5pbnB1dFBob25lQ291bnRyeUNvZGV9JHt2YWx1ZX1gXG4gICAgICAgICAgICAgICAgLnJlcGxhY2VBbGwoTUFTS19TWU1CT0xTLCAnJylcbiAgICAgICAgICAgICAgICAuc2xpY2UoXG4gICAgICAgICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgICAgICAgIHR1aUdldE1heEFsbG93ZWRQaG9uZUxlbmd0aCh0aGlzLmNvdW50cmllc01hc2tzLCB0aGlzLmNvdW50cnlJc29Db2RlKSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY291bnRyeUlzb0NvZGUgPT09ICdSVScpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXjgvLCAnNycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVDb3VudHJ5SXNvQ29kZShjb3VudHJ5SXNvQ29kZSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSBgJHtDSEFSX1BMVVN9JHt2YWx1ZX1gO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkl0ZW1DbGljayhpc29Db2RlOiBUdWlDb3VudHJ5SXNvQ29kZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVDb3VudHJ5SXNvQ29kZShpc29Db2RlKTtcbiAgICAgICAgLy8gcmVjYWxjdWxhdGVzIG1hc2sgaW5zaWRlIGlucHV0UGhvbmUgdG8gcHJldmVudCBpc29Db2RlIGNvbmZsaWN0XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICBjb25zdCBtYXhMZW5ndGggPSB0dWlHZXRNYXhBbGxvd2VkUGhvbmVMZW5ndGgodGhpcy5jb3VudHJpZXNNYXNrcywgaXNvQ29kZSk7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZS5zbGljZSgwLCBtYXhMZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy50ZXh0ZmllbGRTaXplLnNpemU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVNYXNrQWZ0ZXJDb3VudHJ5Q29kZShtYXNrOiBzdHJpbmcsIGNvdW50cnlDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbWFzay5yZXBsYWNlKGNvdW50cnlDb2RlLCAnJykudHJpbSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ291bnRyeUlzb0NvZGUoY29kZTogVHVpQ291bnRyeUlzb0NvZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb3VudHJ5SXNvQ29kZSA9IGNvZGU7XG4gICAgICAgIHRoaXMuY291bnRyeUlzb0NvZGVDaGFuZ2UuZW1pdChjb2RlKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgKm5nSWY9XCJjb3VudHJpZXNOYW1lcyQgfCBhc3luYyBhcyBjb3VudHJpZXNOYW1lc1wiXG4gICAgdHVpRHJvcGRvd25PcGVuTW9uaXRvclxuICAgIFt0dWlEcm9wZG93bl09XCJkcm9wZG93blwiXG4gICAgW3R1aURyb3Bkb3duRW5hYmxlZF09XCIhcmVhZE9ubHlcIlxuICAgIFsodHVpRHJvcGRvd25PcGVuKV09XCJvcGVuXCJcbiAgICAodHVpQWN0aXZlWm9uZUNoYW5nZSk9XCJvbkFjdGl2ZVpvbmUoJGV2ZW50KVwiXG4+XG4gICAgPGRpdiB0dWlHcm91cD5cbiAgICAgICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICAgICB0dWlIaW50Q29udGVudD1cIlwiXG4gICAgICAgICAgICB0dWlUZXh0ZmllbGRQb3N0Zml4PVwiXCJcbiAgICAgICAgICAgIHR1aVRleHRmaWVsZFByZWZpeD1cIlwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY291bnRyeS1zZWxlY3RcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtlZGl0YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgICAgICAgICBbcHNldWRvRm9jdXNdPVwib3BlbiB8fCBudWxsXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICBbc3R5bGUuZmxleF09XCInMCAwIGF1dG8nXCJcbiAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDdXN0b21Db250ZW50XT1cImNvdW50cnlWYWx1ZUNvbnRlbnRcIlxuICAgICAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwiaWNvblwiXG4gICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAvPlxuICAgICAgICA8dHVpLWlucHV0LXBob25lXG4gICAgICAgICAgICBjbGFzcz1cInQtaW5wdXQtcGhvbmVcIlxuICAgICAgICAgICAgW2NvdW50cnlDb2RlXT1cImlucHV0UGhvbmVDb3VudHJ5Q29kZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgICAgICBbcGhvbmVNYXNrQWZ0ZXJDb3VudHJ5Q29kZV09XCJwaG9uZU1hc2tBZnRlckNvdW50cnlDb2RlXCJcbiAgICAgICAgICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICAgICAgW3BzZXVkb0ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgICAgICBbc3R5bGUuZmxleF09XCInMCAwIGF1dG8nXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRMZWdhY3lcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdHVpLWlucHV0LXBob25lPlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICAgICAgPHR1aS1kYXRhLWxpc3Q+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY291bnRyaWVzXCJcbiAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cIml0ZW0gfCB0dWlGbGFnXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidC1jb3VudHJ5LWl0ZW0tbmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBjb3VudHJpZXNOYW1lc1tpdGVtXSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtY291bnRyeS1pdGVtLWNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbSB8IHR1aUlzb1RvQ291bnRyeUNvZGUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NvdW50cnlWYWx1ZUNvbnRlbnQ+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnIHQtZmxhZ19zZWxlY3RcIlxuICAgICAgICAgICAgW2FsdF09XCJjb3VudHJpZXNOYW1lc1tjb3VudHJ5SXNvQ29kZV1cIlxuICAgICAgICAgICAgW3NyY109XCJjb3VudHJ5SXNvQ29kZSB8IHR1aUZsYWdcIlxuICAgICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2ljb24+XG4gICAgICAgIDxkaXYgdHVpQXBwZWFyYW5jZT1cImljb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -1,25 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
3
- /**
4
- * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
5
- * https://taiga-ui.dev/components/input-phone-international
6
- */
7
- export const TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS = {
8
- countries: [],
9
- countryIsoCode: 'RU',
10
- };
11
- /**
12
- * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
13
- * https://taiga-ui.dev/components/input-phone-international
14
- */
15
- export const TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS' : '', {
16
- factory: () => TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS,
17
- });
18
- /**
19
- * @deprecated: drop in v5.0 use {@link TuiInputPhoneInternational}
20
- * https://taiga-ui.dev/components/input-phone-international
21
- */
22
- export function tuiInputPhoneInternationalOptionsProvider(options) {
23
- return tuiProvideOptions(TUI_INPUT_PHONE_INTERNATIONAL_OPTIONS, options, TUI_INPUT_PHONE_INTERNATIONAL_DEFAULT_OPTIONS);
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFZcEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQ3REO0lBQ0ksU0FBUyxFQUFFLEVBQUU7SUFDYixjQUFjLEVBQUUsSUFBSTtDQUN2QixDQUFDO0FBRU47OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsSUFBSSxjQUFjLENBQ25FLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEQ7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNkNBQTZDO0NBQy9ELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sVUFBVSx5Q0FBeUMsQ0FDckQsT0FBbUQ7SUFFbkQsT0FBTyxpQkFBaUIsQ0FDcEIscUNBQXFDLEVBQ3JDLE9BQU8sRUFDUCw2Q0FBNkMsQ0FDaEQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCB0eXBlIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R5cGUgVHVpQ291bnRyeUlzb0NvZGV9IGZyb20gJ0B0YWlnYS11aS9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wIHVzZSB7QGxpbmsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWx9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGNvdW50cmllczogcmVhZG9ubHkgVHVpQ291bnRyeUlzb0NvZGVbXTtcbiAgICByZWFkb25seSBjb3VudHJ5SXNvQ29kZTogVHVpQ291bnRyeUlzb0NvZGU7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gdjUuMCB1c2Uge0BsaW5rIFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsfVxuICogaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1waG9uZS1pbnRlcm5hdGlvbmFsXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfUEhPTkVfSU5URVJOQVRJT05BTF9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9ucyA9XG4gICAge1xuICAgICAgICBjb3VudHJpZXM6IFtdLFxuICAgICAgICBjb3VudHJ5SXNvQ29kZTogJ1JVJyxcbiAgICB9O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiBkcm9wIGluIHY1LjAgdXNlIHtAbGluayBUdWlJbnB1dFBob25lSW50ZXJuYXRpb25hbH1cbiAqIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX1BIT05FX0lOVEVSTkFUSU9OQUxfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wIHVzZSB7QGxpbmsgVHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWx9XG4gKiBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aUlucHV0UGhvbmVJbnRlcm5hdGlvbmFsT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRQaG9uZUludGVybmF0aW9uYWxPcHRpb25zPixcbik6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZU9wdGlvbnMoXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9QSE9ORV9JTlRFUk5BVElPTkFMX0RFRkFVTFRfT1BUSU9OUyxcbiAgICApO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktbGVnYWN5LWNvbXBvbmVudHMtaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvdGFpZ2EtdWktbGVnYWN5LWNvbXBvbmVudHMtaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,10 +0,0 @@
1
- import { tuiGetClipboardDataText } from '@taiga-ui/cdk/utils/dom';
2
- /**
3
- * @deprecated: drop in v5.0
4
- */
5
- export function tuiExtractValueFromEvent(event) {
6
- return 'dataTransfer' in event
7
- ? event.dataTransfer?.getData('text/plain') || ''
8
- : tuiGetClipboardDataText(event);
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGhvbmUtaW50ZXJuYXRpb25hbC91dGlscy9leHRyYWN0LXZhbHVlLWZyb20tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBaUM7SUFDdEUsT0FBTyxjQUFjLElBQUksS0FBSztRQUMxQixDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtRQUNqRCxDQUFDLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpR2V0Q2xpcGJvYXJkRGF0YVRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiB2NS4wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnQoZXZlbnQ6IENsaXBib2FyZEV2ZW50IHwgRHJhZ0V2ZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ2RhdGFUcmFuc2ZlcicgaW4gZXZlbnRcbiAgICAgICAgPyBldmVudC5kYXRhVHJhbnNmZXI/LmdldERhdGEoJ3RleHQvcGxhaW4nKSB8fCAnJ1xuICAgICAgICA6IHR1aUdldENsaXBib2FyZERhdGFUZXh0KGV2ZW50KTtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './input-range.component';
2
- export * from './input-range.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1yYW5nZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lucHV0LXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LXJhbmdlLm1vZHVsZSc7XG4iXX0=
@@ -1,207 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewChild, ViewChildren, } from '@angular/core';
3
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
4
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
5
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiIsNativeFocused, tuiIsNativeFocusedIn } from '@taiga-ui/cdk/utils/focus';
7
- import { tuiClamp, tuiRound } from '@taiga-ui/cdk/utils/math';
8
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
9
- import { tuiGetFractionPartPadded } from '@taiga-ui/core/utils/format';
10
- import { TuiRange } from '@taiga-ui/kit/components/range';
11
- import { TUI_FLOATING_PRECISION, tuiSliderOptionsProvider, } from '@taiga-ui/kit/components/slider';
12
- import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
13
- import { TuiInputNumberComponent } from '@taiga-ui/legacy/components/input-number';
14
- import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_WATCHED_CONTROLLER, } from '@taiga-ui/legacy/directives';
15
- import { tuiAsFocusableItemAccessor, } from '@taiga-ui/legacy/tokens';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/common";
18
- import * as i2 from "@angular/forms";
19
- import * as i3 from "@taiga-ui/polymorpheus";
20
- import * as i4 from "@taiga-ui/cdk/directives/active-zone";
21
- import * as i5 from "@taiga-ui/legacy/components/input-number";
22
- import * as i6 from "@taiga-ui/kit/components/range";
23
- import * as i7 from "@taiga-ui/legacy/directives";
24
- import * as i8 from "@taiga-ui/core/directives/number-format";
25
- /**
26
- * TODO(v5): delete it
27
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-range TuiInputRange} (from @taiga-ui/kit) instead
28
- */
29
- class TuiInputRangeComponent extends AbstractTuiControl {
30
- constructor() {
31
- super(...arguments);
32
- this.inputNumberRefs = EMPTY_QUERY;
33
- this.isMobile = inject(TUI_IS_MOBILE);
34
- this.el = tuiInjectElement();
35
- this.leftTextfieldValue = this.safeCurrentValue[0];
36
- this.rightTextfieldValue = this.safeCurrentValue[1];
37
- this.lastActiveSide = 'left';
38
- this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
39
- this.min = 0;
40
- this.max = 100;
41
- this.quantum = 1;
42
- this.steps = 0;
43
- this.segments = 1;
44
- this.keySteps = null;
45
- this.pluralize = null;
46
- }
47
- get nativeFocusableElement() {
48
- return this.disabled
49
- ? null
50
- : this.leftFocusableElement || this.rightFocusableElement;
51
- }
52
- get focused() {
53
- return tuiIsNativeFocusedIn(this.el);
54
- }
55
- writeValue(value) {
56
- super.writeValue(value);
57
- this.updateTextfieldValues(this.value);
58
- }
59
- get leftFocusableElement() {
60
- return this.inputNumberRefs.first?.nativeFocusableElement || null;
61
- }
62
- get rightFocusableElement() {
63
- return this.inputNumberRefs.last?.nativeFocusableElement || null;
64
- }
65
- get appearance() {
66
- return this.controller.appearance;
67
- }
68
- get showLeftValueContent() {
69
- return Boolean(this.leftValueContent &&
70
- !tuiIsNativeFocused(this.leftFocusableElement) &&
71
- (!tuiIsNativeFocusedIn(this.range?.nativeElement) ||
72
- this.lastActiveSide !== 'left'));
73
- }
74
- get showRightValueContent() {
75
- return Boolean(this.rightValueContent &&
76
- !tuiIsNativeFocused(this.rightFocusableElement) &&
77
- (!tuiIsNativeFocusedIn(this.range?.nativeElement) ||
78
- this.lastActiveSide !== 'right'));
79
- }
80
- get precision() {
81
- return tuiGetFractionPartPadded(this.quantum).length;
82
- }
83
- get computedSteps() {
84
- return this.steps || (this.max - this.min) / this.quantum;
85
- }
86
- get step() {
87
- return (this.max - this.min) / this.computedSteps;
88
- }
89
- computeKeySteps(keySteps, min, max) {
90
- return (keySteps || [
91
- [0, min],
92
- [100, max],
93
- ]);
94
- }
95
- onActiveZone(active) {
96
- this.updateFocused(active);
97
- }
98
- onTextInputFocused(focused) {
99
- if (!focused) {
100
- this.updateTextfieldValues(this.value);
101
- }
102
- }
103
- changeByStep(event, [leftCoefficient, rightCoefficient]) {
104
- if (this.readOnly) {
105
- return;
106
- }
107
- event.preventDefault();
108
- const newValue = this.valueGuard([
109
- this.value[0] + leftCoefficient * this.step,
110
- this.value[1] + rightCoefficient * this.step,
111
- ]);
112
- if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {
113
- this.onExternalValueUpdate(newValue);
114
- }
115
- }
116
- onInputLeft(value) {
117
- this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);
118
- }
119
- onInputRight(value) {
120
- this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);
121
- }
122
- onExternalValueUpdate(value) {
123
- this.safelyUpdateValue(value);
124
- this.updateTextfieldValues(this.value);
125
- }
126
- focusToTextInput() {
127
- const element = this.lastActiveSide === 'left'
128
- ? this.leftFocusableElement
129
- : this.rightFocusableElement;
130
- if (!this.isMobile && element) {
131
- element.focus();
132
- }
133
- }
134
- onActiveThumbChange(activeThumb) {
135
- this.lastActiveSide = activeThumb;
136
- }
137
- getFallbackValue() {
138
- return [0, 0];
139
- }
140
- safelyUpdateValue(value) {
141
- this.value = this.valueGuard(value);
142
- }
143
- valueGuard([leftValue, rightValue]) {
144
- const leftCalibratedValue = this.calibrate(leftValue);
145
- const rightCalibratedValue = this.calibrate(rightValue);
146
- return [
147
- Math.min(leftCalibratedValue, this.value[1]),
148
- Math.max(rightCalibratedValue, this.value[0]),
149
- ];
150
- }
151
- calibrate(value) {
152
- const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
153
- return tuiClamp(roundedValue, this.min, this.max);
154
- }
155
- updateTextfieldValues([leftValue, rightValue]) {
156
- this.leftTextfieldValue = leftValue;
157
- this.rightTextfieldValue = rightValue;
158
- }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
160
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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
- tuiAsFocusableItemAccessor(TuiInputRangeComponent),
162
- tuiAsControl(TuiInputRangeComponent),
163
- tuiSliderOptionsProvider({ trackColor: 'transparent' }),
164
- TEXTFIELD_CONTROLLER_PROVIDER,
165
- ], viewQueries: [{ propertyName: "range", first: true, predicate: TuiRange, descendants: true, read: ElementRef }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{inline-size:100%}.t-right{position:absolute;right:0;top:0;display:flex;inline-size:50%;block-size:100%;text-align:end}:host{display:block;border-radius:var(--tui-radius-m)}:host :host-context(*:disabled){pointer-events:none}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiActiveZone, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { kind: "component", type: i5.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i5.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "component", type: i6.TuiRange, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps", "focusable", "margin", "limit"] }, { kind: "directive", type: i7.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { kind: "directive", type: i7.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { kind: "directive", type: i7.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i8.TuiNumberFormat, selector: "[tuiNumberFormat]", inputs: ["tuiNumberFormat"] }, { kind: "pipe", type: i1.I18nPluralPipe, name: "i18nPlural" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
166
- }
167
- __decorate([
168
- tuiPure
169
- ], TuiInputRangeComponent.prototype, "computeKeySteps", null);
170
- export { TuiInputRangeComponent };
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
172
- type: Component,
173
- args: [{ standalone: false, selector: 'tui-input-range', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
174
- tuiAsFocusableItemAccessor(TuiInputRangeComponent),
175
- tuiAsControl(TuiInputRangeComponent),
176
- tuiSliderOptionsProvider({ trackColor: 'transparent' }),
177
- TEXTFIELD_CONTROLLER_PROVIDER,
178
- ], host: {
179
- '[attr.data-size]': 'controller.size',
180
- '[class._label-outside]': 'controller.labelOutside',
181
- }, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content />\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [readOnly]=\"readOnly\"\n [tuiNumberFormat]=\"{precision}\"\n [tuiTextfieldPostfix]=\"pluralize ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (mousedown.prevent)=\"focusToTextInput()\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n />\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{inline-size:100%}.t-right{position:absolute;right:0;top:0;display:flex;inline-size:50%;block-size:100%;text-align:end}:host{display:block;border-radius:var(--tui-radius-m)}:host :host-context(*:disabled){pointer-events:none}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0}\n"] }]
182
- }], propDecorators: { inputNumberRefs: [{
183
- type: ViewChildren,
184
- args: [TuiInputNumberComponent]
185
- }], range: [{
186
- type: ViewChild,
187
- args: [TuiRange, { read: ElementRef }]
188
- }], min: [{
189
- type: Input
190
- }], max: [{
191
- type: Input
192
- }], quantum: [{
193
- type: Input
194
- }], steps: [{
195
- type: Input
196
- }], segments: [{
197
- type: Input
198
- }], keySteps: [{
199
- type: Input
200
- }], leftValueContent: [{
201
- type: Input
202
- }], rightValueContent: [{
203
- type: Input
204
- }], pluralize: [{
205
- type: Input
206
- }], computeKeySteps: [] } });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcmFuZ2UvaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcmFuZ2UvaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25GLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxPQUFPLEVBQ0gsc0JBQXNCLEVBRXRCLHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNq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QUNwQyx3QkFBd0IsQ0FBQyxFQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUMsQ0FBQztZQUNyRCw2QkFBNkI7U0FDaEMsaUVBYVUsUUFBUSwyQkFBUyxVQUFVLGtEQUh4Qix1QkFBdUIsdUVDOUR6QyxtNUZBa0ZBOztBRCtFYztJQURULE9BQU87NkRBWVA7U0FsSFEsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBakJsQyxTQUFTO2lDQUNNLEtBQUssWUFDUCxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDUCwwQkFBMEIsd0JBQXdCO3dCQUNsRCxZQUFZLHdCQUF3Qjt3QkFDcEMsd0JBQXdCLENBQUMsRUFBQyxVQUFVLEVBQUUsYUFBYSxFQUFDLENBQUM7d0JBQ3JELDZCQUE2QjtxQkFDaEMsUUFDSzt3QkFDRixrQkFBa0IsRUFBRSxpQkFBaUI7d0JBQ3JDLHdCQUF3QixFQUFFLHlCQUF5QjtxQkFDdEQ7OEJBT2dCLGVBQWU7c0JBRC9CLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUlwQixLQUFLO3NCQURyQixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBWWhDLEdBQUc7c0JBRFQsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQTZESSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgdHlwZSBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlJc05hdGl2ZUZvY3VzZWQsIHR1aUlzTmF0aXZlRm9jdXNlZElufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7dHVpQ2xhbXAsIHR1aVJvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge1R1aVJhbmdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuaW1wb3J0IHtcbiAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgIHR5cGUgVHVpS2V5U3RlcHMsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7QWJzdHJhY3RUdWlDb250cm9sLCB0dWlBc0NvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1xuICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yLFxuICAgIHR5cGUgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR5cGUgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHt0eXBlIFBvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG4vKipcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1yYW5nZSBUdWlJbnB1dFJhbmdlfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSBpbnN0ZWFkXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dFJhbmdlQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UmFuZ2VDb21wb25lbnQpLFxuICAgICAgICB0dWlTbGlkZXJPcHRpb25zUHJvdmlkZXIoe3RyYWNrQ29sb3I6ICd0cmFuc3BhcmVudCd9KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ2NvbnRyb2xsZXIuc2l6ZScsXG4gICAgICAgICdbY2xhc3MuX2xhYmVsLW91dHNpZGVdJzogJ2NvbnRyb2xsZXIubGFiZWxPdXRzaWRlJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFJhbmdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8W251bWJlciwgbnVtYmVyXT5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGRyZW4oVHVpSW5wdXROdW1iZXJDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dE51bWJlclJlZnM6IFF1ZXJ5TGlzdDxUdWlJbnB1dE51bWJlckNvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBWaWV3Q2hpbGQoVHVpUmFuZ2UsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhbmdlPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG5cbiAgICBwcm90ZWN0ZWQgbGVmdFRleHRmaWVsZFZhbHVlID0gdGhpcy5zYWZlQ3VycmVudFZhbHVlWzBdO1xuICAgIHByb3RlY3RlZCByaWdodFRleHRmaWVsZFZhbHVlID0gdGhpcy5zYWZlQ3VycmVudFZhbHVlWzFdO1xuICAgIHByb3RlY3RlZCBsYXN0QWN0aXZlU2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udHJvbGxlciA9IGluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUik7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbWF4ID0gMTAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGVwcyA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWdtZW50cyA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGxlZnRWYWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxudW1iZXI+PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJpZ2h0VmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8bnVtYmVyPj47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwbHVyYWxpemU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5sZWZ0Rm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0ZmllbGRWYWx1ZXModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBsZWZ0Rm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmcy5maXJzdD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgcmlnaHRGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXROdW1iZXJSZWZzLmxhc3Q/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5hcHBlYXJhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2hvd0xlZnRWYWx1ZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgICAgdGhpcy5sZWZ0VmFsdWVDb250ZW50ICYmXG4gICAgICAgICAgICAgICAgIXR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICghdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5yYW5nZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0QWN0aXZlU2lkZSAhPT0gJ2xlZnQnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNob3dSaWdodFZhbHVlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgICAgICB0aGlzLnJpZ2h0VmFsdWVDb250ZW50ICYmXG4gICAgICAgICAgICAgICAgIXR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAoIXR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMucmFuZ2U/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFzdEFjdGl2ZVNpZGUgIT09ICdyaWdodCcpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZFN0ZXBzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzIHx8ICh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMucXVhbnR1bTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0ZXAoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMuY29tcHV0ZWRTdGVwcztcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByb3RlY3RlZCBjb21wdXRlS2V5U3RlcHMoXG4gICAgICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyB8IG51bGwsXG4gICAgICAgIG1pbjogbnVtYmVyLFxuICAgICAgICBtYXg6IG51bWJlcixcbiAgICApOiBUdWlLZXlTdGVwcyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBrZXlTdGVwcyB8fCBbXG4gICAgICAgICAgICAgICAgWzAsIG1pbl0sXG4gICAgICAgICAgICAgICAgWzEwMCwgbWF4XSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25UZXh0SW5wdXRGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFmb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRmaWVsZFZhbHVlcyh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGFuZ2VCeVN0ZXAoXG4gICAgICAgIGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQsXG4gICAgICAgIFtsZWZ0Q29lZmZpY2llbnQsIHJpZ2h0Q29lZmZpY2llbnRdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWVHdWFyZChbXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdICsgbGVmdENvZWZmaWNpZW50ICogdGhpcy5zdGVwLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSArIHJpZ2h0Q29lZmZpY2llbnQgKiB0aGlzLnN0ZXAsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIGlmIChuZXdWYWx1ZVswXSAhPT0gdGhpcy52YWx1ZVswXSB8fCBuZXdWYWx1ZVsxXSAhPT0gdGhpcy52YWx1ZVsxXSkge1xuICAgICAgICAgICAgdGhpcy5vbkV4dGVybmFsVmFsdWVVcGRhdGUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uSW5wdXRMZWZ0KHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUoW3ZhbHVlID8/IHRoaXMuc2FmZUN1cnJlbnRWYWx1ZVswXSwgdGhpcy52YWx1ZVsxXV0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbklucHV0UmlnaHQodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgdmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlWzFdXSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRXh0ZXJuYWxWYWx1ZVVwZGF0ZSh2YWx1ZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0ZmllbGRWYWx1ZXModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZvY3VzVG9UZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ2xlZnQnXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgOiB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQWN0aXZlVGh1bWJDaGFuZ2UoYWN0aXZlVGh1bWI6ICdsZWZ0JyB8ICdyaWdodCcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXN0QWN0aXZlU2lkZSA9IGFjdGl2ZVRodW1iO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICByZXR1cm4gWzAsIDBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZWx5VXBkYXRlVmFsdWUodmFsdWU6IFtudW1iZXIsIG51bWJlcl0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWVHdWFyZCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWx1ZUd1YXJkKFtsZWZ0VmFsdWUsIHJpZ2h0VmFsdWVdOiBbbnVtYmVyLCBudW1iZXJdKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIGNvbnN0IGxlZnRDYWxpYnJhdGVkVmFsdWUgPSB0aGlzLmNhbGlicmF0ZShsZWZ0VmFsdWUpO1xuICAgICAgICBjb25zdCByaWdodENhbGlicmF0ZWRWYWx1ZSA9IHRoaXMuY2FsaWJyYXRlKHJpZ2h0VmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBNYXRoLm1pbihsZWZ0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzFdKSxcbiAgICAgICAgICAgIE1hdGgubWF4KHJpZ2h0Q2FsaWJyYXRlZFZhbHVlLCB0aGlzLnZhbHVlWzBdKSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGlicmF0ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gdHVpUm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHR1aUNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRmaWVsZFZhbHVlcyhbbGVmdFZhbHVlLCByaWdodFZhbHVlXTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxlZnRUZXh0ZmllbGRWYWx1ZSA9IGxlZnRWYWx1ZTtcbiAgICAgICAgdGhpcy5yaWdodFRleHRmaWVsZFZhbHVlID0gcmlnaHRWYWx1ZTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgdHVpV3JhcHBlclxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtmb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgIFtob3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLWlucHV0LW51bWJlclxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWlucHV0LXJhbmdlX19sZWZ0LWlucHV0XCJcbiAgICAgICAgdHVpVGV4dGZpZWxkQXBwZWFyYW5jZT1cIm5vbmVcIlxuICAgICAgICBjbGFzcz1cInQtbGVmdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICAgICAgW21heF09XCJ2YWx1ZVsxXVwiXG4gICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFt0dWlOdW1iZXJGb3JtYXRdPVwie3ByZWNpc2lvbn1cIlxuICAgICAgICBbdHVpVGV4dGZpZWxkUG9zdGZpeF09XCJwbHVyYWxpemUgPyAodmFsdWVbMF0gfCBpMThuUGx1cmFsOiBwbHVyYWxpemUpIDogJydcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImxlZnRUZXh0ZmllbGRWYWx1ZVwiXG4gICAgICAgIChmb2N1c2VkQ2hhbmdlKT1cIm9uVGV4dElucHV0Rm9jdXNlZCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cImNoYW5nZUJ5U3RlcCgkZXZlbnQsIFstMSwgMF0pXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJjaGFuZ2VCeVN0ZXAoJGV2ZW50LCBbMSwgMF0pXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dExlZnQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNob3dMZWZ0VmFsdWVDb250ZW50XCJcbiAgICAgICAgICAgIG5nUHJvamVjdEFzPVwidHVpQ29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImxlZnRWYWx1ZUNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogdmFsdWVbMF19XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvdHVpLWlucHV0LW51bWJlcj5cblxuICAgIDx0dWktaW5wdXQtbnVtYmVyXG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtcmFuZ2VfX3JpZ2h0LWlucHV0XCJcbiAgICAgICAgdHVpVGV4dGZpZWxkQXBwZWFyYW5jZT1cIm5vbmVcIlxuICAgICAgICBjbGFzcz1cInQtcmlnaHRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW21pbl09XCJ2YWx1ZVswXVwiXG4gICAgICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgICAgICBbdHVpTnVtYmVyRm9ybWF0XT1cIntwcmVjaXNpb259XCJcbiAgICAgICAgW3R1aVRleHRmaWVsZFBvc3RmaXhdPVwicGx1cmFsaXplID8gKHZhbHVlWzFdIHwgaTE4blBsdXJhbDogcGx1cmFsaXplKSA6ICcnXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJyaWdodFRleHRmaWVsZFZhbHVlXCJcbiAgICAgICAgKGZvY3VzZWRDaGFuZ2UpPVwib25UZXh0SW5wdXRGb2N1c2VkKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24pPVwiY2hhbmdlQnlTdGVwKCRldmVudCwgWzAsIC0xXSlcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cImNoYW5nZUJ5U3RlcCgkZXZlbnQsIFswLCAxXSlcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbklucHV0UmlnaHQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInNob3dSaWdodFZhbHVlQ29udGVudFwiXG4gICAgICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJyaWdodFZhbHVlQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZVsxXX1cIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC90dWktaW5wdXQtbnVtYmVyPlxuXG4gICAgPHR1aS1yYW5nZVxuICAgICAgICBjbGFzcz1cInQtcmFuZ2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicmVhZE9ubHkgfHwgZGlzYWJsZWRcIlxuICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2tleVN0ZXBzXT1cImNvbXB1dGVLZXlTdGVwcyhrZXlTdGVwcywgbWluLCBtYXgpXCJcbiAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgICAgIFtzZWdtZW50c109XCJzZWdtZW50c1wiXG4gICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICAoYWN0aXZlVGh1bWJDaGFuZ2UpPVwib25BY3RpdmVUaHVtYkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cImZvY3VzVG9UZXh0SW5wdXQoKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRXh0ZXJuYWxWYWx1ZVVwZGF0ZSgkZXZlbnQpXCJcbiAgICAvPlxuPC9kaXY+XG4iXX0=