@taiga-ui/legacy 4.66.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,284 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ContentChildren, inject, InjectionToken, Input, ViewChild, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { maskitoInitialCalibrationPlugin } from '@maskito/core';
5
- import { maskitoCaretGuard, maskitoNumberOptionsGenerator, maskitoParseNumber, } from '@maskito/kit';
6
- import { CHAR_HYPHEN, CHAR_MINUS, EMPTY_QUERY } from '@taiga-ui/cdk/constants';
7
- import { tuiWatch } from '@taiga-ui/cdk/observables';
8
- import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
9
- import { tuiClamp, tuiIsSafeToRound } from '@taiga-ui/cdk/utils/math';
10
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
11
- import { TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT, } from '@taiga-ui/core/tokens';
12
- import { tuiFormatNumber } from '@taiga-ui/core/utils/format';
13
- import { AbstractTuiNullableControl, tuiAsControl } from '@taiga-ui/legacy/classes';
14
- import { TuiPrimitiveTextfieldComponent } from '@taiga-ui/legacy/components/primitive-textfield';
15
- import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_TEXTFIELD_SIZE, TUI_TEXTFIELD_WATCHED_CONTROLLER, } from '@taiga-ui/legacy/directives';
16
- import { tuiAsFocusableItemAccessor, } from '@taiga-ui/legacy/tokens';
17
- import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
18
- import { TUI_INPUT_NUMBER_OPTIONS, } from './input-number.options';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@angular/common";
21
- import * as i2 from "@maskito/angular";
22
- import * as i3 from "@taiga-ui/legacy/components/primitive-textfield";
23
- import * as i4 from "@taiga-ui/legacy/directives";
24
- import * as i5 from "@taiga-ui/polymorpheus";
25
- import * as i6 from "@taiga-ui/core/components/button";
26
- const DEFAULT_MAX_LENGTH = 18;
27
- /**
28
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number tuiInputNumberOptionsProvider} (from @taiga-ui/kit) (property `valueTransformer`) instead
29
- * TODO(v5): delete it
30
- */
31
- export const TUI_NUMBER_VALUE_TRANSFORMER = new InjectionToken(ngDevMode ? 'TUI_NUMBER_VALUE_TRANSFORMER' : '');
32
- /**
33
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead
34
- * TODO(v5): delete it
35
- */
36
- class TuiInputNumberComponent extends AbstractTuiNullableControl {
37
- constructor() {
38
- super(...arguments);
39
- this.isIOS = inject(TUI_IS_IOS);
40
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
41
- this.options = inject(TUI_INPUT_NUMBER_OPTIONS);
42
- this.unfinishedValue = '';
43
- this.polymorpheusValueContent = EMPTY_QUERY;
44
- this.valueTransformer = inject(TUI_NUMBER_VALUE_TRANSFORMER, { optional: true });
45
- this.numberFormat = TUI_DEFAULT_NUMBER_FORMAT;
46
- this.controller = inject(TUI_TEXTFIELD_WATCHED_CONTROLLER);
47
- this.numberFormat$ = inject(TUI_NUMBER_FORMAT)
48
- .pipe(tuiWatch(this.cdr), takeUntilDestroyed())
49
- .subscribe((format) => {
50
- this.numberFormat = format;
51
- });
52
- this.min = this.options.min;
53
- this.max = this.options.max;
54
- this.step = this.options.step;
55
- }
56
- get nativeFocusableElement() {
57
- return !this.textfield || this.computedDisabled
58
- ? null
59
- : this.textfield.nativeFocusableElement;
60
- }
61
- get focused() {
62
- return !!this.textfield?.focused;
63
- }
64
- get inputMode() {
65
- if (this.isIOS) {
66
- return this.isNegativeAllowed
67
- ? 'text' // iPhone does not have minus sign if inputMode equals to 'numeric' / 'decimal'
68
- : 'decimal';
69
- }
70
- /**
71
- * Samsung Keyboard does not minus sign for `inputmode=decimal`
72
- * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792
73
- */
74
- return 'numeric';
75
- }
76
- get calculatedMaxLength() {
77
- const decimalPart = !!this.precision &&
78
- this.nativeValue.includes(this.numberFormat.decimalSeparator);
79
- const precision = decimalPart ? Math.min(this.precision + 1, 20) : 0;
80
- const takeThousand = this.numberFormat.thousandSeparator.repeat(5).length;
81
- return DEFAULT_MAX_LENGTH + precision + takeThousand;
82
- }
83
- get computedValue() {
84
- return this.focused ? this.nativeValue : this.formattedValue;
85
- }
86
- onValueChange(nativeValue) {
87
- const parsedValue = maskitoParseNumber(nativeValue, this.numberFormat);
88
- this.unfinishedValue = null;
89
- if (Number.isNaN(parsedValue)) {
90
- this.value = null;
91
- return;
92
- }
93
- if (this.isNativeValueNotFinished) {
94
- this.unfinishedValue = nativeValue;
95
- this.cdr.markForCheck();
96
- return;
97
- }
98
- if (parsedValue < this.computedMin || parsedValue > this.computedMax) {
99
- return;
100
- }
101
- this.value = parsedValue;
102
- }
103
- writeValue(value) {
104
- super.writeValue(value);
105
- this.nativeValue = this.formattedValue;
106
- }
107
- get size() {
108
- return this.textfieldSize.size;
109
- }
110
- get icons() {
111
- return this.options.icons;
112
- }
113
- get computedMin() {
114
- return this.computeMin(this.min, this.max);
115
- }
116
- get computedMax() {
117
- return this.computeMax(this.min, this.max);
118
- }
119
- get isNegativeAllowed() {
120
- return this.computedMin < 0;
121
- }
122
- get formattedValue() {
123
- return this.value !== null ? this.getFormattedValue(this.value || 0) : '';
124
- }
125
- get canDecrement() {
126
- return this.interactive && (this.value || 0) > this.computedMin;
127
- }
128
- get canIncrement() {
129
- return this.interactive && (this.value || 0) < this.computedMax;
130
- }
131
- get computedPrefix() {
132
- return this.controller.prefix;
133
- }
134
- get computedPostfix() {
135
- const { postfix } = this.controller;
136
- return postfix && ` ${postfix}`;
137
- }
138
- get mask() {
139
- return this.calculateMask(this.precision, this.numberFormat.decimalMode, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator, this.computedMin, this.computedMax, this.computedPrefix, this.computedPostfix);
140
- }
141
- get nativeValue() {
142
- return this.nativeFocusableElement?.value || '';
143
- }
144
- set nativeValue(value) {
145
- if (!this.textfield || !this.nativeFocusableElement) {
146
- return;
147
- }
148
- this.textfield.value = value;
149
- this.nativeFocusableElement.value = value;
150
- }
151
- onArrow(step) {
152
- if (!step) {
153
- return;
154
- }
155
- this.value = tuiClamp((this.value || 0) + step, this.computedMin, this.computedMax);
156
- this.nativeValue = this.formattedValue;
157
- }
158
- onFocused(focused) {
159
- this.updateFocused(focused);
160
- const nativeNumberValue = this.unfinishedValue
161
- ? maskitoParseNumber(this.unfinishedValue, this.numberFormat)
162
- : this.nativeNumberValue;
163
- this.unfinishedValue = null;
164
- if (Number.isNaN(nativeNumberValue)) {
165
- this.nativeValue =
166
- focused && !this.readOnly
167
- ? this.computedPrefix + this.computedPostfix
168
- : '';
169
- this.value = null;
170
- return;
171
- }
172
- if (!focused) {
173
- this.value = nativeNumberValue;
174
- this.nativeValue = this.formattedValue;
175
- }
176
- }
177
- getFormattedValue(value) {
178
- return (this.computedPrefix +
179
- tuiFormatNumber(value, {
180
- ...this.numberFormat,
181
- /**
182
- * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]
183
- * but its rounding can violate it.
184
- * Before BigInt support there is no perfect solution – only trade off.
185
- * No rounding is better than lose precision and incorrect mutation of already valid value.
186
- */
187
- precision: tuiIsSafeToRound(value, this.precision)
188
- ? this.precision
189
- : Infinity,
190
- }).replace(CHAR_HYPHEN, CHAR_MINUS) +
191
- this.computedPostfix);
192
- }
193
- get isNativeValueNotFinished() {
194
- const { nativeNumberValue } = this;
195
- return nativeNumberValue < 0
196
- ? nativeNumberValue > this.computedMax
197
- : nativeNumberValue < this.computedMin;
198
- }
199
- get nativeNumberValue() {
200
- return maskitoParseNumber(this.nativeValue, this.numberFormat);
201
- }
202
- get precision() {
203
- return Number.isNaN(this.numberFormat.precision)
204
- ? 2
205
- : this.numberFormat.precision;
206
- }
207
- computeMin(min, max) {
208
- return Math.min(this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min, this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max);
209
- }
210
- computeMax(min, max) {
211
- return Math.max(this.valueTransformer?.fromControlValue(min) ?? min ?? this.options.min, this.valueTransformer?.fromControlValue(max) ?? max ?? this.options.max);
212
- }
213
- // eslint-disable-next-line @typescript-eslint/max-params,max-params
214
- calculateMask(precision, decimalMode, decimalSeparator, thousandSeparator, min, max, prefix, postfix) {
215
- const params = {
216
- decimalSeparator,
217
- thousandSeparator,
218
- min,
219
- max,
220
- prefix,
221
- postfix,
222
- maximumFractionDigits: precision,
223
- minimumFractionDigits: decimalMode === 'always' ? precision : 0,
224
- };
225
- const { plugins, ...options } = maskitoNumberOptionsGenerator(params);
226
- const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(maskitoNumberOptionsGenerator({
227
- ...params,
228
- min: Number.MIN_SAFE_INTEGER,
229
- max: Number.MAX_SAFE_INTEGER,
230
- }));
231
- return {
232
- ...options,
233
- plugins: [
234
- ...plugins,
235
- initialCalibrationPlugin,
236
- maskitoCaretGuard((value) => [
237
- prefix.length,
238
- value.length - postfix.length,
239
- ]),
240
- ],
241
- };
242
- }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberComponent, selector: "tui-input-number", inputs: { min: "min", max: "max", step: "step" }, host: { listeners: { "keydown.arrowDown": "onArrow(-step)", "keydown.arrowUp": "onArrow(step)" }, properties: { "attr.data-size": "size" } }, providers: [
245
- tuiAsFocusableItemAccessor(TuiInputNumberComponent),
246
- tuiAsControl(TuiInputNumberComponent),
247
- TEXTFIELD_CONTROLLER_PROVIDER,
248
- ], queries: [{ propertyName: "polymorpheusValueContent", predicate: PolymorpheusOutlet, descendants: true }], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n</tui-primitive-textfield>\n\n<section\n *ngIf=\"step\"\n class=\"t-buttons\"\n>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n</section>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\" />\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n", styles: [":host{display:flex;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-textfield{flex:1;min-inline-size:0;max-inline-size:100%;border-radius:inherit;text-align:inherit}.t-textfield:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.t-value-content{inline-size:100%}.t-buttons{display:flex;flex-direction:column;align-items:stretch;margin-inline-start:.125rem;border-radius:inherit}[data-size=s]+.t-buttons{flex-direction:row-reverse}[data-size=s]+.t-buttons .t-button:first-child{margin:0 0 0 .125rem;border-top-right-radius:inherit;border-bottom-right-radius:inherit}[data-size=s]+.t-buttons .t-button:last-child{border-radius:0}[data-size=m]+.t-buttons .t-button{inline-size:calc(var(--tui-height-m) * .75)}[data-size=l]+.t-buttons .t-button{inline-size:calc(var(--tui-height-l) * .75)}.t-buttons .t-button{display:flex;flex:1;block-size:auto;align-items:center;justify-content:center;border-radius:0}.t-buttons .t-button:first-child{margin-block-end:.125rem;border-top-right-radius:inherit}.t-buttons .t-button:last-child{border-bottom-right-radius:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { kind: "directive", type: i4.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { kind: "directive", type: i5.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i6.TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
249
- }
250
- __decorate([
251
- tuiPure
252
- ], TuiInputNumberComponent.prototype, "computeMin", null);
253
- __decorate([
254
- tuiPure
255
- ], TuiInputNumberComponent.prototype, "computeMax", null);
256
- __decorate([
257
- tuiPure
258
- ], TuiInputNumberComponent.prototype, "calculateMask", null);
259
- export { TuiInputNumberComponent };
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberComponent, decorators: [{
261
- type: Component,
262
- args: [{ standalone: false, selector: 'tui-input-number', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
263
- tuiAsFocusableItemAccessor(TuiInputNumberComponent),
264
- tuiAsControl(TuiInputNumberComponent),
265
- TEXTFIELD_CONTROLLER_PROVIDER,
266
- ], host: {
267
- '[attr.data-size]': 'size',
268
- '(keydown.arrowDown)': 'onArrow(-step)',
269
- '(keydown.arrowUp)': 'onArrow(step)',
270
- }, template: "<tui-primitive-textfield\n #textfield\n tuiTextfieldPostfix=\"\"\n tuiTextfieldPrefix=\"\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"mask\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n ngProjectAs=\"tuiContent\"\n class=\"t-value-content\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text\">\n {{ text }}\n </ng-container>\n </div>\n</tui-primitive-textfield>\n\n<section\n *ngIf=\"step\"\n class=\"t-buttons\"\n>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canIncrement\"\n [iconStart]=\"icons.up\"\n (click.prevent)=\"onArrow(step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n +\n </button>\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfield.appearance\"\n [disabled]=\"!canDecrement\"\n [iconStart]=\"icons.down\"\n (click.prevent)=\"onArrow(-step)\"\n (mousedown.prevent)=\"nativeFocusableElement?.focus()\"\n >\n -\n </button>\n</section>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\" />\n\n<ng-template #valueContent>\n <ng-content select=\"tuiContent\" />\n</ng-template>\n", styles: [":host{display:flex;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-textfield{flex:1;min-inline-size:0;max-inline-size:100%;border-radius:inherit;text-align:inherit}.t-textfield:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.t-value-content{inline-size:100%}.t-buttons{display:flex;flex-direction:column;align-items:stretch;margin-inline-start:.125rem;border-radius:inherit}[data-size=s]+.t-buttons{flex-direction:row-reverse}[data-size=s]+.t-buttons .t-button:first-child{margin:0 0 0 .125rem;border-top-right-radius:inherit;border-bottom-right-radius:inherit}[data-size=s]+.t-buttons .t-button:last-child{border-radius:0}[data-size=m]+.t-buttons .t-button{inline-size:calc(var(--tui-height-m) * .75)}[data-size=l]+.t-buttons .t-button{inline-size:calc(var(--tui-height-l) * .75)}.t-buttons .t-button{display:flex;flex:1;block-size:auto;align-items:center;justify-content:center;border-radius:0}.t-buttons .t-button:first-child{margin-block-end:.125rem;border-top-right-radius:inherit}.t-buttons .t-button:last-child{border-bottom-right-radius:inherit}\n"] }]
271
- }], propDecorators: { textfield: [{
272
- type: ViewChild,
273
- args: [TuiPrimitiveTextfieldComponent]
274
- }], polymorpheusValueContent: [{
275
- type: ContentChildren,
276
- args: [PolymorpheusOutlet, { descendants: true }]
277
- }], min: [{
278
- type: Input
279
- }], max: [{
280
- type: Input
281
- }], step: [{
282
- type: Input
283
- }], computeMin: [], computeMax: [], calculateMask: [] } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQywrQkFBK0IsRUFBc0IsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUNILGlCQUFpQixFQUNqQiw2QkFBNkIsRUFFN0Isa0JBQWtCLEdBQ3JCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRCxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLGlCQUFpQixHQUVwQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMEJBQTBC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ckMsNkJBQTZCO1NBQ2hDLG1FQW1CZ0Isa0JBQWtCLDJGQVJ4Qiw4QkFBOEIsdUVDcEY3QywyNkRBeUVBOztBRCtQWTtJQURQLE9BQU87eURBTVA7QUFHTztJQURQLE9BQU87eURBTVA7QUFJTztJQURQLE9BQU87NERBeUNQO1NBalRRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQWpCbkMsU0FBUztpQ0FDTSxLQUFLLFlBQ1Asa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsMEJBQTBCLHlCQUF5Qjt3QkFDbkQsWUFBWSx5QkFBeUI7d0JBQ3JDLDZCQUE2QjtxQkFDaEMsUUFDSzt3QkFDRixrQkFBa0IsRUFBRSxNQUFNO3dCQUMxQixxQkFBcUIsRUFBRSxnQkFBZ0I7d0JBQ3ZDLG1CQUFtQixFQUFFLGVBQWU7cUJBQ3ZDOzhCQU9nQixTQUFTO3NCQUR6QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFTdEIsd0JBQXdCO3NCQUQxQyxlQUFlO3VCQUFDLGtCQUFrQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBQztnQkFnQmpELEdBQUc7c0JBRFQsS0FBSztnQkFJQyxHQUFHO3NCQURULEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQXVORSxVQUFVLE1BUVYsVUFBVSxNQVNWLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIHR5cGUgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHttYXNraXRvSW5pdGlhbENhbGlicmF0aW9uUGx1Z2luLCB0eXBlIE1hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7XG4gICAgbWFza2l0b0NhcmV0R3VhcmQsXG4gICAgbWFza2l0b051bWJlck9wdGlvbnNHZW5lcmF0b3IsXG4gICAgdHlwZSBNYXNraXRvTnVtYmVyUGFyYW1zLFxuICAgIG1hc2tpdG9QYXJzZU51bWJlcixcbn0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCB7dHlwZSBUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUywgRU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpV2F0Y2h9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlJc1NhZmVUb1JvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIHR5cGUgVHVpRGVjaW1hbE1vZGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R5cGUgVHVpU2l6ZUwsIHR5cGUgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHVpRm9ybWF0TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCwgdHVpQXNDb250cm9sfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9wcmltaXRpdmUtdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9TSVpFLFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0eXBlIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyxcbiAgICB0eXBlIFR1aUlucHV0TnVtYmVyT3B0aW9ucyxcbn0gZnJvbSAnLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0xFTkdUSCA9IDE4O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBuZXcgdmVyc2lvbiBvZiB7QGxpbmsgaHR0cHM6Ly90YWlnYS11aS5kZXYvY29tcG9uZW50cy9pbnB1dC1udW1iZXIgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJ9IChmcm9tIEB0YWlnYS11aS9raXQpIChwcm9wZXJ0eSBgdmFsdWVUcmFuc2Zvcm1lcmApIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpVmFsdWVUcmFuc2Zvcm1lcjxudW1iZXIgfCBudWxsPlxuPihuZ0Rldk1vZGUgPyAnVFVJX05VTUJFUl9WQUxVRV9UUkFOU0ZPUk1FUicgOiAnJyk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LW51bWJlciBUdWlJbnB1dE51bWJlcn0gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB0dWlBc0NvbnRyb2woVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd0Rvd24pJzogJ29uQXJyb3coLXN0ZXApJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXApJzogJ29uQXJyb3coc3RlcCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0TnVtYmVyQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3JcbntcbiAgICBAVmlld0NoaWxkKFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZD86IFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNJT1MgPSBpbmplY3QoVFVJX0lTX0lPUyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRTaXplID0gaW5qZWN0KFRVSV9URVhURklFTERfU0laRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSB1bmZpbmlzaGVkVmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0LCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQ6IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXIgPSBpbmplY3Q8XG4gICAgICAgIFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyIHwgbnVsbD5cbiAgICA+KFRVSV9OVU1CRVJfVkFMVUVfVFJBTlNGT1JNRVIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJvdGVjdGVkIG51bWJlckZvcm1hdCA9IFRVSV9ERUZBVUxUX05VTUJFUl9GT1JNQVQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRyb2xsZXIgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBudW1iZXJGb3JtYXQkID0gaW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICAucGlwZSh0dWlXYXRjaCh0aGlzLmNkciksIHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKChmb3JtYXQpID0+IHtcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0ID0gZm9ybWF0O1xuICAgICAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG1pbjogbnVtYmVyIHwgbnVsbCA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtYXg6IG51bWJlciB8IG51bGwgPSB0aGlzLm9wdGlvbnMubWF4O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgcHVibGljIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy50ZXh0ZmllbGQ/LmZvY3VzZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpbnB1dE1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzTmVnYXRpdmVBbGxvd2VkXG4gICAgICAgICAgICAgICAgPyAndGV4dCcgLy8gaVBob25lIGRvZXMgbm90IGhhdmUgbWludXMgc2lnbiBpZiBpbnB1dE1vZGUgZXF1YWxzIHRvICdudW1lcmljJyAvICdkZWNpbWFsJ1xuICAgICAgICAgICAgICAgIDogJ2RlY2ltYWwnO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNhbXN1bmcgS2V5Ym9hcmQgZG9lcyBub3QgbWludXMgc2lnbiBmb3IgYGlucHV0bW9kZT1kZWNpbWFsYFxuICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlnYS1mYW1pbHkvdGFpZ2EtdWkvaXNzdWVzLzExMDYxI2lzc3VlY29tbWVudC0yOTM5MTAzNzkyXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gJ251bWVyaWMnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2FsY3VsYXRlZE1heExlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkZWNpbWFsUGFydCA9XG4gICAgICAgICAgICAhIXRoaXMucHJlY2lzaW9uICYmXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCBwcmVjaXNpb24gPSBkZWNpbWFsUGFydCA/IE1hdGgubWluKHRoaXMucHJlY2lzaW9uICsgMSwgMjApIDogMDtcbiAgICAgICAgY29uc3QgdGFrZVRob3VzYW5kID0gdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IucmVwZWF0KDUpLmxlbmd0aDtcblxuICAgICAgICByZXR1cm4gREVGQVVMVF9NQVhfTEVOR1RIICsgcHJlY2lzaW9uICsgdGFrZVRob3VzYW5kO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkID8gdGhpcy5uYXRpdmVWYWx1ZSA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UobmF0aXZlVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IG1hc2tpdG9QYXJzZU51bWJlcihuYXRpdmVWYWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQpO1xuXG4gICAgICAgIHRoaXMudW5maW5pc2hlZFZhbHVlID0gbnVsbDtcblxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgdGhpcy51bmZpbmlzaGVkVmFsdWUgPSBuYXRpdmVWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VkVmFsdWUgPCB0aGlzLmNvbXB1dGVkTWluIHx8IHBhcnNlZFZhbHVlID4gdGhpcy5jb21wdXRlZE1heCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHBhcnNlZFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZFNpemUuc2l6ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGljb25zKCk6IFR1aUlucHV0TnVtYmVyT3B0aW9uc1snaWNvbnMnXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWluKHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZE1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlTWF4KHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRNaW4gPCAwO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgZm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09IG51bGwgPyB0aGlzLmdldEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUgfHwgMCkgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNhbkRlY3JlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgJiYgKHRoaXMudmFsdWUgfHwgMCkgPiB0aGlzLmNvbXB1dGVkTWluO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FuSW5jcmVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAodGhpcy52YWx1ZSB8fCAwKSA8IHRoaXMuY29tcHV0ZWRNYXg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb21wdXRlZFByZWZpeCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnByZWZpeDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGNvbXB1dGVkUG9zdGZpeCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7cG9zdGZpeH0gPSB0aGlzLmNvbnRyb2xsZXI7XG5cbiAgICAgICAgcmV0dXJuIHBvc3RmaXggJiYgYCAke3Bvc3RmaXh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IG1hc2soKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVNYXNrKFxuICAgICAgICAgICAgdGhpcy5wcmVjaXNpb24sXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsTW9kZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWF4LFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFByZWZpeCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRQb3N0Zml4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgbmF0aXZlVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudD8udmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy50ZXh0ZmllbGQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50ZXh0ZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3coc3RlcDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB0dWlDbGFtcChcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIHx8IDApICsgc3RlcCxcbiAgICAgICAgICAgIHRoaXMuY29tcHV0ZWRNaW4sXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkTWF4LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuXG4gICAgICAgIGNvbnN0IG5hdGl2ZU51bWJlclZhbHVlID0gdGhpcy51bmZpbmlzaGVkVmFsdWVcbiAgICAgICAgICAgID8gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMudW5maW5pc2hlZFZhbHVlLCB0aGlzLm51bWJlckZvcm1hdClcbiAgICAgICAgICAgIDogdGhpcy5uYXRpdmVOdW1iZXJWYWx1ZTtcblxuICAgICAgICB0aGlzLnVuZmluaXNoZWRWYWx1ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIGZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNvbXB1dGVkUHJlZml4ICsgdGhpcy5jb21wdXRlZFBvc3RmaXhcbiAgICAgICAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuYXRpdmVOdW1iZXJWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFByZWZpeCArXG4gICAgICAgICAgICB0dWlGb3JtYXROdW1iZXIodmFsdWUsIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAgICAgKiBOdW1iZXIgY2FuIHNhdGlzZnkgaW50ZXJ2YWwgW051bWJlci5NSU5fU0FGRV9JTlRFR0VSOyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUl1cbiAgICAgICAgICAgICAgICAgKiBidXQgaXRzIHJvdW5kaW5nIGNhbiB2aW9sYXRlIGl0LlxuICAgICAgICAgICAgICAgICAqIEJlZm9yZSBCaWdJbnQgc3VwcG9ydCB0aGVyZSBpcyBubyBwZXJmZWN0IHNvbHV0aW9uIOKAkyBvbmx5IHRyYWRlIG9mZi5cbiAgICAgICAgICAgICAgICAgKiBObyByb3VuZGluZyBpcyBiZXR0ZXIgdGhhbiBsb3NlIHByZWNpc2lvbiBhbmQgaW5jb3JyZWN0IG11dGF0aW9uIG9mIGFscmVhZHkgdmFsaWQgdmFsdWUuXG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgcHJlY2lzaW9uOiB0dWlJc1NhZmVUb1JvdW5kKHZhbHVlLCB0aGlzLnByZWNpc2lvbilcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnByZWNpc2lvblxuICAgICAgICAgICAgICAgICAgICA6IEluZmluaXR5LFxuICAgICAgICAgICAgfSkucmVwbGFjZShDSEFSX0hZUEhFTiwgQ0hBUl9NSU5VUykgK1xuICAgICAgICAgICAgdGhpcy5jb21wdXRlZFBvc3RmaXhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc05hdGl2ZVZhbHVlTm90RmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVOdW1iZXJWYWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLmNvbXB1dGVkTWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5jb21wdXRlZE1pbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2l0b1BhcnNlTnVtYmVyKHRoaXMubmF0aXZlVmFsdWUsIHRoaXMubnVtYmVyRm9ybWF0KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBwcmVjaXNpb24oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTih0aGlzLm51bWJlckZvcm1hdC5wcmVjaXNpb24pXG4gICAgICAgICAgICA/IDJcbiAgICAgICAgICAgIDogdGhpcy5udW1iZXJGb3JtYXQucHJlY2lzaW9uO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlTWluKG1pbjogbnVtYmVyIHwgbnVsbCwgbWF4OiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1pbikgPz8gbWluID8/IHRoaXMub3B0aW9ucy5taW4sXG4gICAgICAgICAgICB0aGlzLnZhbHVlVHJhbnNmb3JtZXI/LmZyb21Db250cm9sVmFsdWUobWF4KSA/PyBtYXggPz8gdGhpcy5vcHRpb25zLm1heCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY29tcHV0ZU1heChtaW46IG51bWJlciB8IG51bGwsIG1heDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgICAgIHRoaXMudmFsdWVUcmFuc2Zvcm1lcj8uZnJvbUNvbnRyb2xWYWx1ZShtaW4pID8/IG1pbiA/PyB0aGlzLm9wdGlvbnMubWluLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVRyYW5zZm9ybWVyPy5mcm9tQ29udHJvbFZhbHVlKG1heCkgPz8gbWF4ID8/IHRoaXMub3B0aW9ucy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tYXgtcGFyYW1zLG1heC1wYXJhbXNcbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlTWFzayhcbiAgICAgICAgcHJlY2lzaW9uOiBudW1iZXIsXG4gICAgICAgIGRlY2ltYWxNb2RlOiBUdWlEZWNpbWFsTW9kZSxcbiAgICAgICAgZGVjaW1hbFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICB0aG91c2FuZFNlcGFyYXRvcjogc3RyaW5nLFxuICAgICAgICBtaW46IG51bWJlcixcbiAgICAgICAgbWF4OiBudW1iZXIsXG4gICAgICAgIHByZWZpeDogc3RyaW5nLFxuICAgICAgICBwb3N0Zml4OiBzdHJpbmcsXG4gICAgKTogTWFza2l0b09wdGlvbnMge1xuICAgICAgICBjb25zdCBwYXJhbXM6IE1hc2tpdG9OdW1iZXJQYXJhbXMgPSB7XG4gICAgICAgICAgICBkZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICBtaW4sXG4gICAgICAgICAgICBtYXgsXG4gICAgICAgICAgICBwcmVmaXgsXG4gICAgICAgICAgICBwb3N0Zml4LFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBwcmVjaXNpb24sXG4gICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxNb2RlID09PSAnYWx3YXlzJyA/IHByZWNpc2lvbiA6IDAsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHtwbHVnaW5zLCAuLi5vcHRpb25zfSA9IG1hc2tpdG9OdW1iZXJPcHRpb25zR2VuZXJhdG9yKHBhcmFtcyk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxDYWxpYnJhdGlvblBsdWdpbiA9IG1hc2tpdG9Jbml0aWFsQ2FsaWJyYXRpb25QbHVnaW4oXG4gICAgICAgICAgICBtYXNraXRvTnVtYmVyT3B0aW9uc0dlbmVyYXRvcih7XG4gICAgICAgICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgICAgICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgICAgICAgICAgICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgcGx1Z2luczogW1xuICAgICAgICAgICAgICAgIC4uLnBsdWdpbnMsXG4gICAgICAgICAgICAgICAgaW5pdGlhbENhbGlicmF0aW9uUGx1Z2luLFxuICAgICAgICAgICAgICAgIG1hc2tpdG9DYXJldEd1YXJkKCh2YWx1ZSkgPT4gW1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXgubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZS5sZW5ndGggLSBwb3N0Zml4Lmxlbmd0aCxcbiAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgI3RleHRmaWVsZFxuICAgIHR1aVRleHRmaWVsZFBvc3RmaXg9XCJcIlxuICAgIHR1aVRleHRmaWVsZFByZWZpeD1cIlwiXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW2ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICBbbWFza2l0b109XCJtYXNrXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW3BzZXVkb0ZvY3VzXT1cImNvbXB1dGVkRm9jdXNlZFwiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAoZm9jdXNlZENoYW5nZSk9XCJvbkZvY3VzZWQoJGV2ZW50KVwiXG4gICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8bmctY29udGVudFxuICAgICAgICBuZ1Byb2plY3RBcz1cImlucHV0XCJcbiAgICAgICAgc2VsZWN0PVwiaW5wdXRcIlxuICAgIC8+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5sZW5ndGhcIlxuICAgICAgICBuZ1Byb2plY3RBcz1cInR1aUNvbnRlbnRcIlxuICAgICAgICBjbGFzcz1cInQtdmFsdWUtY29udGVudFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJ2YWx1ZUNvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbjxzZWN0aW9uXG4gICAgKm5nSWY9XCJzdGVwXCJcbiAgICBjbGFzcz1cInQtYnV0dG9uc1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwidGV4dGZpZWxkLmFwcGVhcmFuY2VcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkluY3JlbWVudFwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMudXBcIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KHN0ZXApXCJcbiAgICAgICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cIm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgID5cbiAgICAgICAgK1xuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvblwiXG4gICAgICAgIFthcHBlYXJhbmNlXT1cInRleHRmaWVsZC5hcHBlYXJhbmNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5EZWNyZW1lbnRcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmRvd25cIlxuICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93KC1zdGVwKVwiXG4gICAgICAgIChtb3VzZWRvd24ucHJldmVudCk9XCJuYXRpdmVGb2N1c2FibGVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgIC1cbiAgICA8L2J1dHRvbj5cbjwvc2VjdGlvbj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvbHltb3JwaGV1c1ZhbHVlQ29udGVudC5jaGFuZ2VzIHwgYXN5bmNcIiAvPlxuXG48bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlDb250ZW50XCIgLz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
3
- import { tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead
7
- * TODO(v5): delete it
8
- */
9
- class TuiInputNumberDirective extends AbstractTuiTextfieldHost {
10
- get value() {
11
- return this.host.computedValue;
12
- }
13
- onValueChange(value) {
14
- this.host.onValueChange(value);
15
- }
16
- ngDoCheck() {
17
- if (!this.host.nativeFocusableElement) {
18
- return;
19
- }
20
- this.host.nativeFocusableElement.inputMode = this.host.inputMode;
21
- this.host.nativeFocusableElement.maxLength =
22
- this.host.nativeFocusableElement.maxLength > 0
23
- ? this.host.nativeFocusableElement.maxLength
24
- : this.host.calculatedMaxLength;
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputNumberDirective, selector: "tui-input-number", providers: [tuiAsTextfieldHost(TuiInputNumberDirective)], usesInheritance: true, ngImport: i0 }); }
28
- }
29
- export { TuiInputNumberDirective };
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberDirective, decorators: [{
31
- type: Directive,
32
- args: [{
33
- standalone: false,
34
- selector: 'tui-input-number',
35
- providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBSTNEOzs7R0FHRztBQUNILE1BS2EsdUJBQ1QsU0FBUSx3QkFBaUQ7SUFLekQsSUFBb0IsS0FBSztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sU0FBUztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ25DLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUztZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTO2dCQUM1QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUM1QyxDQUFDOytHQXhCUSx1QkFBdUI7bUdBQXZCLHVCQUF1QiwyQ0FGckIsQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDOztTQUUvQyx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsS0FBSztvQkFDakIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFLENBQUMsa0JBQWtCLHlCQUF5QixDQUFDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCB0eXBlIERvQ2hlY2t9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aVRleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUFzVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS90b2tlbnMnO1xuXG5pbXBvcnQge3R5cGUgVHVpSW5wdXROdW1iZXJDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBodHRwczovL3RhaWdhLXVpLmRldi9jb21wb25lbnRzL2lucHV0LW51bWJlciBUdWlJbnB1dE51bWJlcn0gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHByb3ZpZGVyczogW3R1aUFzVGV4dGZpZWxkSG9zdChUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0PFR1aUlucHV0TnVtYmVyQ29tcG9uZW50PlxuICAgIGltcGxlbWVudHMgRG9DaGVja1xue1xuICAgIHByb3RlY3RlZCBpbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3QuY29tcHV0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaG9zdC5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5pbnB1dE1vZGUgPSB0aGlzLmhvc3QuaW5wdXRNb2RlO1xuICAgICAgICB0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5tYXhMZW5ndGggPVxuICAgICAgICAgICAgdGhpcy5ob3N0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQubWF4TGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgID8gdGhpcy5ob3N0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQubWF4TGVuZ3RoXG4gICAgICAgICAgICAgICAgOiB0aGlzLmhvc3QuY2FsY3VsYXRlZE1heExlbmd0aDtcbiAgICB9XG59XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { MaskitoDirective } from '@maskito/angular';
4
- import { TuiButton } from '@taiga-ui/core/components/button';
5
- import { TuiPrimitiveTextfieldModule, TuiTextfieldComponent, } from '@taiga-ui/legacy/components/primitive-textfield';
6
- import { TuiTextfieldControllerModule, TuiValueAccessorModule, } from '@taiga-ui/legacy/directives';
7
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
8
- import { TuiInputNumberComponent } from './input-number.component';
9
- import { TuiInputNumberDirective } from './input-number.directive';
10
- import * as i0 from "@angular/core";
11
- /**
12
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-number TuiInputNumber} (from @taiga-ui/kit) instead
13
- * TODO(v5): delete it
14
- */
15
- class TuiInputNumberModule {
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
17
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberModule, declarations: [TuiInputNumberComponent, TuiInputNumberDirective], imports: [CommonModule,
18
- MaskitoDirective,
19
- TuiPrimitiveTextfieldModule,
20
- TuiTextfieldControllerModule,
21
- TuiValueAccessorModule,
22
- PolymorpheusOutlet,
23
- PolymorpheusTemplate,
24
- TuiButton], exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent] }); }
25
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberModule, imports: [CommonModule,
26
- TuiPrimitiveTextfieldModule,
27
- TuiTextfieldControllerModule,
28
- TuiValueAccessorModule] }); }
29
- }
30
- export { TuiInputNumberModule };
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputNumberModule, decorators: [{
32
- type: NgModule,
33
- args: [{
34
- imports: [
35
- CommonModule,
36
- MaskitoDirective,
37
- TuiPrimitiveTextfieldModule,
38
- TuiTextfieldControllerModule,
39
- TuiValueAccessorModule,
40
- PolymorpheusOutlet,
41
- PolymorpheusTemplate,
42
- TuiButton,
43
- ],
44
- declarations: [TuiInputNumberComponent, TuiInputNumberDirective],
45
- exports: [TuiInputNumberComponent, TuiInputNumberDirective, TuiTextfieldComponent],
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xlZ2FjeS9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLHFCQUFxQixHQUN4QixNQUFNLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsc0JBQXNCLEdBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDakUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBRWpFOzs7R0FHRztBQUNILE1BY2Esb0JBQW9COytHQUFwQixvQkFBb0I7Z0hBQXBCLG9CQUFvQixpQkFIZCx1QkFBdUIsRUFBRSx1QkFBdUIsYUFUM0QsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQiwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLHNCQUFzQjtZQUN0QixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLFNBQVMsYUFHSCx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUI7Z0hBRXhFLG9CQUFvQixZQVp6QixZQUFZO1lBRVosMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixzQkFBc0I7O1NBUWpCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQWRoQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLFNBQVM7cUJBQ1o7b0JBQ0QsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsdUJBQXVCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixDQUFDO2lCQUNyRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7XG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jb21wb25lbnRzL3ByaW1pdGl2ZS10ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIFR1aVZhbHVlQWNjZXNzb3JNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldCwgUG9seW1vcnBoZXVzVGVtcGxhdGV9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckRpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1udW1iZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIGh0dHBzOi8vdGFpZ2EtdWkuZGV2L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyIFR1aUlucHV0TnVtYmVyfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSBpbnN0ZWFkXG4gKiBUT0RPKHY1KTogZGVsZXRlIGl0XG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hc2tpdG9EaXJlY3RpdmUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpVmFsdWVBY2Nlc3Nvck1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpSW5wdXROdW1iZXJDb21wb25lbnQsIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbVHVpSW5wdXROdW1iZXJDb21wb25lbnQsIFR1aUlucHV0TnVtYmVyRGlyZWN0aXZlLCBUdWlUZXh0ZmllbGRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlck1vZHVsZSB7fVxuIl19
@@ -1,30 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
3
- /**
4
- * @deprecated use new version of {@link TUI_INPUT_NUMBER_DEFAULT_OPTIONS} (from @taiga-ui/kit) instead
5
- * TODO(v5): delete it
6
- */
7
- export const TUI_INPUT_NUMBER_DEFAULT_OPTIONS = {
8
- icons: {
9
- up: '@tui.plus',
10
- down: '@tui.minus',
11
- },
12
- min: Number.MIN_SAFE_INTEGER,
13
- max: Number.MAX_SAFE_INTEGER,
14
- step: 0,
15
- };
16
- /**
17
- * @deprecated use new version of {@link TUI_INPUT_NUMBER_OPTIONS} (from @taiga-ui/kit) instead
18
- * TODO(v5): delete it
19
- */
20
- export const TUI_INPUT_NUMBER_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_NUMBER_OPTIONS' : '', {
21
- factory: () => TUI_INPUT_NUMBER_DEFAULT_OPTIONS,
22
- });
23
- /**
24
- * @deprecated use new version of {@link tuiInputNumberOptionsProvider} (from @taiga-ui/kit) instead
25
- * TODO(v5): delete it
26
- */
27
- export function tuiInputNumberOptionsProvider(options) {
28
- return tuiProvideOptions(TUI_INPUT_NUMBER_OPTIONS, options, TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFnQnBFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUEwQjtJQUNuRSxLQUFLLEVBQUU7UUFDSCxFQUFFLEVBQUUsV0FBVztRQUNmLElBQUksRUFBRSxZQUFZO0tBQ3JCO0lBQ0QsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7SUFDNUIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0I7SUFDNUIsSUFBSSxFQUFFLENBQUM7Q0FDVixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQ3RELFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDM0M7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0NBQWdDO0NBQ2xELENBQ0osQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FDekMsT0FBdUM7SUFFdkMsT0FBTyxpQkFBaUIsQ0FDcEIsd0JBQXdCLEVBQ3hCLE9BQU8sRUFDUCxnQ0FBZ0MsQ0FDbkMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCB0eXBlIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUdWlJbnB1dE51bWJlck9wdGlvbnN9IChmcm9tIEB0YWlnYS11aS9raXQpIGluc3RlYWRcbiAqIFRPRE8odjUpOiBkZWxldGUgaXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb25zOiBSZWFkb25seTx7XG4gICAgICAgIGRvd246IHN0cmluZztcbiAgICAgICAgdXA6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgICByZWFkb25seSBtaW46IG51bWJlcjtcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIG5ldyB2ZXJzaW9uIG9mIHtAbGluayBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBpY29uczoge1xuICAgICAgICB1cDogJ0B0dWkucGx1cycsXG4gICAgICAgIGRvd246ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIG1pbjogTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIsXG4gICAgbWF4OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUixcbiAgICBzdGVwOiAwLFxufTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gKGZyb20gQHRhaWdhLXVpL2tpdCkgaW5zdGVhZFxuICogVE9ETyh2NSk6IGRlbGV0ZSBpdFxuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgbmV3IHZlcnNpb24gb2Yge0BsaW5rIHR1aUlucHV0TnVtYmVyT3B0aW9uc1Byb3ZpZGVyfSAoZnJvbSBAdGFpZ2EtdWkva2l0KSBpbnN0ZWFkXG4gKiBUT0RPKHY1KTogZGVsZXRlIGl0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlJbnB1dE51bWJlck9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUlucHV0TnVtYmVyT3B0aW9ucz4sXG4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFxuICAgICAgICBUVUlfSU5QVVRfTlVNQkVSX09QVElPTlMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIFRVSV9JTlBVVF9OVU1CRVJfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktbGVnYWN5LWNvbXBvbmVudHMtaW5wdXQtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtbnVtYmVyL3RhaWdhLXVpLWxlZ2FjeS1jb21wb25lbnRzLWlucHV0LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './input-password.component';
2
- export * from './input-password.directive';
3
- export * from './input-password.module';
4
- export * from './input-password.options';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1wYXNzd29yZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5vcHRpb25zJztcbiJdfQ==
@@ -1,80 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, ViewChild } from '@angular/core';
2
- import { TuiHintOptionsDirective } from '@taiga-ui/core/directives/hint';
3
- import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
4
- import { AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
5
- import { TuiPrimitiveTextfieldComponent } from '@taiga-ui/legacy/components/primitive-textfield';
6
- import { TUI_TEXTFIELD_SIZE } from '@taiga-ui/legacy/directives';
7
- import { tuiAsFocusableItemAccessor, } from '@taiga-ui/legacy/tokens';
8
- import { EMPTY, map, startWith } from 'rxjs';
9
- import { TUI_INPUT_PASSWORD_OPTIONS } from './input-password.options';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@taiga-ui/core/directives/hint";
12
- import * as i2 from "@angular/common";
13
- import * as i3 from "@taiga-ui/polymorpheus";
14
- import * as i4 from "@taiga-ui/legacy/components/primitive-textfield";
15
- import * as i5 from "@taiga-ui/legacy/directives";
16
- import * as i6 from "@taiga-ui/core/directives/appearance";
17
- import * as i7 from "@taiga-ui/core/components/icon";
18
- /**
19
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
20
- */
21
- class TuiInputPasswordComponent extends AbstractTuiControl {
22
- constructor() {
23
- super(...arguments);
24
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
25
- this.hintOptions = inject(TuiHintOptionsDirective, { optional: true });
26
- this.directive$ = this.hintOptions?.change$ || EMPTY;
27
- this.isPasswordHidden = true;
28
- this.computedAppearance$ = this.directive$.pipe(startWith(null), map(() => this.hintOptions?.appearance || ''), startWith(''));
29
- this.passwordTexts$ = inject(TUI_PASSWORD_TEXTS);
30
- this.options = inject(TUI_INPUT_PASSWORD_OPTIONS);
31
- }
32
- get nativeFocusableElement() {
33
- return this.computedDisabled || !this.textfield
34
- ? null
35
- : this.textfield.nativeFocusableElement;
36
- }
37
- get focused() {
38
- return !!this.textfield?.focused;
39
- }
40
- get inputType() {
41
- return this.isPasswordHidden || this.computedDisabled ? 'password' : 'text';
42
- }
43
- onValueChange(textValue) {
44
- this.value = textValue;
45
- }
46
- get size() {
47
- return this.textfieldSize.size;
48
- }
49
- get icon() {
50
- return this.isPasswordHidden ? this.options.icons.show : this.options.icons.hide;
51
- }
52
- onFocused(focused) {
53
- this.updateFocused(focused);
54
- }
55
- togglePasswordVisibility() {
56
- this.isPasswordHidden = !this.isPasswordHidden;
57
- }
58
- getFallbackValue() {
59
- return '';
60
- }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPasswordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputPasswordComponent, selector: "tui-input-password", host: { properties: { "attr.data-size": "size" } }, providers: [
63
- tuiAsFocusableItemAccessor(TuiInputPasswordComponent),
64
- tuiAsControl(TuiInputPasswordComponent),
65
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!computedDisabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template\n #iconContent=\"polymorpheus\"\n [polymorpheus]=\"type\"\n>\n <ng-container *ngIf=\"passwordTexts$ | async as texts\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-password__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiHint]=\"texts[0] && texts[1] && hintContent\"\n [tuiHintAppearance]=\"(computedAppearance$ | async) || ''\"\n [tuiHintDirection]=\"hintOptions?.direction || 'bottom-left'\"\n (click)=\"togglePasswordVisibility()\"\n (mousedown.zoneless.prevent)=\"(0)\"\n (mouseup.zoneless.prevent)=\"(0)\"\n />\n\n <ng-template\n #hintContent=\"polymorpheus\"\n polymorpheus\n >\n {{ isPasswordHidden ? texts[0] : texts[1] }}\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-icon{cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i5.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i6.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
- }
67
- export { TuiInputPasswordComponent };
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputPasswordComponent, decorators: [{
69
- type: Component,
70
- args: [{ standalone: false, selector: 'tui-input-password', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
71
- tuiAsFocusableItemAccessor(TuiInputPasswordComponent),
72
- tuiAsControl(TuiInputPasswordComponent),
73
- ], host: {
74
- '[attr.data-size]': 'size',
75
- }, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldIcon]=\"!computedDisabled ? iconContent : ''\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n</tui-primitive-textfield>\n\n<ng-template\n #iconContent=\"polymorpheus\"\n [polymorpheus]=\"type\"\n>\n <ng-container *ngIf=\"passwordTexts$ | async as texts\">\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n automation-id=\"tui-password__icon\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n [tuiHint]=\"texts[0] && texts[1] && hintContent\"\n [tuiHintAppearance]=\"(computedAppearance$ | async) || ''\"\n [tuiHintDirection]=\"hintOptions?.direction || 'bottom-left'\"\n (click)=\"togglePasswordVisibility()\"\n (mousedown.zoneless.prevent)=\"(0)\"\n (mouseup.zoneless.prevent)=\"(0)\"\n />\n\n <ng-template\n #hintContent=\"polymorpheus\"\n polymorpheus\n >\n {{ isPasswordHidden ? texts[0] : texts[1] }}\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-icon{cursor:pointer;pointer-events:auto}.t-icon_small{border-width:.25rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
76
- }], propDecorators: { textfield: [{
77
- type: ViewChild,
78
- args: [TuiPrimitiveTextfieldComponent]
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGVnYWN5L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzFFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFDSCwwQkFBMEIsR0FHN0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBbUIsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFFcEU7O0dBRUc7QUFDSCxNQWNhLHlCQUNULFNBQVEsa0JBQTBCO0lBZnRDOztRQXFCcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN6QyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ2hFLGVBQVUsR0FBb0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDO1FBRTFFLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUVmLHdCQUFtQixHQUF1QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDN0UsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFDN0MsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUNoQixDQUFDO1FBRWlCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsWUFBTyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0tBd0NuRTtJQXJDRyxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQzNDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRixDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDZCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDckYsQ0FBQztJQUVTLFNBQVMsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7SUFFUyxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDOytHQTNEUSx5QkFBeUI7bUdBQXpCLHlCQUF5QixpR0FSdkI7WUFDUCwwQkFBMEIsQ0FBQyx5QkFBeUIsQ0FBQztZQUNyRCxZQUFZLENBQUMseUJBQXlCLENBQUM7U0FDMUMscUVBU1UsOEJBQThCLHVFQ3ZDN0MsaW1EQWlEQTs7U0RkYSx5QkFBeUI7NEZBQXpCLHlCQUF5QjtrQkFkckMsU0FBUztpQ0FDTSxLQUFLLFlBQ1Asb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1AsMEJBQTBCLDJCQUEyQjt3QkFDckQsWUFBWSwyQkFBMkI7cUJBQzFDLFFBQ0s7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7OEJBT2dCLFNBQVM7c0JBRHpCLFNBQVM7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGUgVHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1R1aUhpbnRPcHRpb25zRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2hpbnQnO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVMLCB0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1RVSV9QQVNTV09SRF9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUNvbnRyb2wsIHR1aUFzQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9jbGFzc2VzJztcbmltcG9ydCB7VHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvcHJpbWl0aXZlLXRleHRmaWVsZCc7XG5pbXBvcnQge1RVSV9URVhURklFTERfU0laRX0gZnJvbSAnQHRhaWdhLXVpL2xlZ2FjeS9kaXJlY3RpdmVzJztcbmltcG9ydCB7XG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHlwZSBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHlwZSBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L3Rva2Vucyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge0VNUFRZLCBtYXAsIHR5cGUgT2JzZXJ2YWJsZSwgc3RhcnRXaXRofSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfUEFTU1dPUkRfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1wYXNzd29yZC5vcHRpb25zJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIFR1aVBhc3N3b3JkfSB3aXRoIHtAbGluayBUdWlUZXh0ZmllbGR9XG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IGZhbHNlLFxuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcGFzc3dvcmQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcGFzc3dvcmQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0UGFzc3dvcmRDb21wb25lbnQpLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdzaXplJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFBhc3N3b3JkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8c3RyaW5nPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHRleHRmaWVsZFNpemUgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9TSVpFKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGludE9wdGlvbnMgPSBpbmplY3QoVHVpSGludE9wdGlvbnNEaXJlY3RpdmUsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkaXJlY3RpdmUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmhpbnRPcHRpb25zPy5jaGFuZ2UkIHx8IEVNUFRZO1xuXG4gICAgcHJvdGVjdGVkIGlzUGFzc3dvcmRIaWRkZW4gPSB0cnVlO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbXB1dGVkQXBwZWFyYW5jZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuZGlyZWN0aXZlJC5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmhpbnRPcHRpb25zPy5hcHBlYXJhbmNlIHx8ICcnKSxcbiAgICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhc3N3b3JkVGV4dHMkID0gaW5qZWN0KFRVSV9QQVNTV09SRF9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0lOUFVUX1BBU1NXT1JEX09QVElPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0eXBlITogVHVpQ29udGV4dDxUdWlTaXplTCB8IFR1aVNpemVTPjtcblxuICAgIHB1YmxpYyBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkRGlzYWJsZWQgfHwgIXRoaXMudGV4dGZpZWxkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy50ZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudGV4dGZpZWxkPy5mb2N1c2VkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaW5wdXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gfHwgdGhpcy5jb21wdXRlZERpc2FibGVkID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0JztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25WYWx1ZUNoYW5nZSh0ZXh0VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGV4dFZhbHVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dGZpZWxkU2l6ZS5zaXplO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHQ8VHVpU2l6ZUwgfCBUdWlTaXplUz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNQYXNzd29yZEhpZGRlbiA/IHRoaXMub3B0aW9ucy5pY29ucy5zaG93IDogdGhpcy5vcHRpb25zLmljb25zLmhpZGU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdG9nZ2xlUGFzc3dvcmRWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRIaWRkZW4gPSAhdGhpcy5pc1Bhc3N3b3JkSGlkZGVuO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRGYWxsYmFja1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtpbnZhbGlkXT1cImNvbXB1dGVkSW52YWxpZFwiXG4gICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW3BzZXVkb0ZvY3VzXT1cInBzZXVkb0ZvY3VzXCJcbiAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgW3R1aVRleHRmaWVsZEljb25dPVwiIWNvbXB1dGVkRGlzYWJsZWQgPyBpY29uQ29udGVudCA6ICcnXCJcbiAgICBbKHZhbHVlKV09XCJ2YWx1ZVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG4gICAgPG5nLWNvbnRlbnRcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAvPlxuPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2ljb25Db250ZW50PVwicG9seW1vcnBoZXVzXCJcbiAgICBbcG9seW1vcnBoZXVzXT1cInR5cGVcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwYXNzd29yZFRleHRzJCB8IGFzeW5jIGFzIHRleHRzXCI+XG4gICAgICAgIDx0dWktaWNvblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImljb24gYXMgc3JjOyBjb250ZXh0OiB7JGltcGxpY2l0OiBzaXplfVwiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLXBhc3N3b3JkX19pY29uXCJcbiAgICAgICAgICAgIHR1aUFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWljb25fc21hbGxdPVwic2l6ZSA9PT0gJ3MnXCJcbiAgICAgICAgICAgIFtpY29uXT1cInNyYy50b1N0cmluZygpXCJcbiAgICAgICAgICAgIFt0dWlIaW50XT1cInRleHRzWzBdICYmIHRleHRzWzFdICYmIGhpbnRDb250ZW50XCJcbiAgICAgICAgICAgIFt0dWlIaW50QXBwZWFyYW5jZV09XCIoY29tcHV0ZWRBcHBlYXJhbmNlJCB8IGFzeW5jKSB8fCAnJ1wiXG4gICAgICAgICAgICBbdHVpSGludERpcmVjdGlvbl09XCJoaW50T3B0aW9ucz8uZGlyZWN0aW9uIHx8ICdib3R0b20tbGVmdCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24uem9uZWxlc3MucHJldmVudCk9XCIoMClcIlxuICAgICAgICAgICAgKG1vdXNldXAuem9uZWxlc3MucHJldmVudCk9XCIoMClcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI2hpbnRDb250ZW50PVwicG9seW1vcnBoZXVzXCJcbiAgICAgICAgICAgIHBvbHltb3JwaGV1c1xuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpc1Bhc3N3b3JkSGlkZGVuID8gdGV4dHNbMF0gOiB0ZXh0c1sxXSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==