@taiga-ui/cdk 2.45.0 → 2.48.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 (427) hide show
  1. package/abstract/controller.d.ts +6 -0
  2. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.js +63 -21
  4. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -15
  6. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +50 -20
  8. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js +1 -15
  10. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +54 -24
  12. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +1 -15
  14. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +50 -20
  16. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +1 -15
  18. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +51 -21
  20. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +1 -15
  22. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-date-time.umd.js +54 -29
  24. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -15
  26. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-decorators.umd.js +50 -20
  28. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-decorators.umd.min.js +1 -15
  30. package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +50 -20
  32. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js +1 -15
  34. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +265 -92
  36. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +1 -15
  38. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +91 -42
  40. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +1 -15
  42. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-checked.umd.js +50 -20
  44. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js +1 -15
  46. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +50 -20
  48. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +1 -15
  50. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-drag.umd.js +50 -20
  52. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js +1 -15
  54. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +50 -20
  56. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js +1 -15
  58. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-element.umd.js +50 -20
  60. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-element.umd.min.js +1 -15
  62. package/bundles/taiga-ui-cdk-directives-element.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +50 -20
  64. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js +1 -15
  66. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +50 -20
  68. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js +1 -15
  70. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-focusable.umd.js +50 -20
  72. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js +1 -15
  74. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-focused.umd.js +50 -20
  76. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js +1 -15
  78. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +324 -0
  80. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -0
  81. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js +2 -0
  82. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js.map +1 -0
  83. package/bundles/taiga-ui-cdk-directives-for.umd.js +50 -20
  84. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-for.umd.min.js +1 -15
  86. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +50 -20
  88. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js +1 -15
  90. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +50 -20
  92. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  93. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js +1 -15
  94. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js +50 -20
  96. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js +1 -15
  98. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-directives-item.umd.js +51 -21
  100. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  101. package/bundles/taiga-ui-cdk-directives-item.umd.min.js +1 -15
  102. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-cdk-directives-let.umd.js +50 -20
  104. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  105. package/bundles/taiga-ui-cdk-directives-let.umd.min.js +1 -15
  106. package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +1 -1
  107. package/bundles/taiga-ui-cdk-directives-media.umd.js +50 -20
  108. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  109. package/bundles/taiga-ui-cdk-directives-media.umd.min.js +1 -15
  110. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +50 -20
  112. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js +1 -15
  114. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +50 -20
  116. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  117. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js +1 -15
  118. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-cdk-directives-pan.umd.js +50 -20
  120. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  121. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +1 -15
  122. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-cdk-directives-portal.umd.js +50 -20
  124. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
  125. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +1 -15
  126. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +50 -20
  128. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  129. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js +1 -15
  130. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +50 -20
  132. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  133. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js +1 -15
  134. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +50 -20
  136. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  137. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js +1 -15
  138. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-cdk-directives-resize.umd.js +50 -20
  140. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  141. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js +1 -15
  142. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +50 -20
  144. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  145. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +1 -15
  146. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-cdk-directives-validator.umd.js +50 -20
  148. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  149. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js +1 -15
  150. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +50 -20
  152. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  153. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +1 -15
  154. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
  156. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  157. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  158. package/bundles/taiga-ui-cdk-enums.umd.js +12 -0
  159. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  160. package/bundles/taiga-ui-cdk-enums.umd.min.js +1 -1
  161. package/bundles/taiga-ui-cdk-enums.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-cdk-exceptions.umd.js +50 -20
  163. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  164. package/bundles/taiga-ui-cdk-exceptions.umd.min.js +1 -15
  165. package/bundles/taiga-ui-cdk-exceptions.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-cdk-observables.umd.js +1 -1
  167. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  168. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +50 -20
  170. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  171. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js +1 -15
  172. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +50 -20
  174. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  175. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js +1 -15
  176. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-cdk-services.umd.js +50 -20
  178. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  179. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -15
  180. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-cdk-tokens.umd.js +54 -26
  182. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  183. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -15
  184. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-cdk-utils-browser.umd.js +2 -2
  186. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  187. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +1 -1
  188. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  189. package/bundles/taiga-ui-cdk-utils-focus.umd.js +3 -1
  190. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  191. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +1 -1
  192. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  193. package/bundles/taiga-ui-cdk-utils-os.umd.js +39 -0
  194. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -0
  195. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +2 -0
  196. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -0
  197. package/bundles/taiga-ui-cdk-utils-svg.umd.js +50 -20
  198. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  199. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +1 -15
  200. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -1
  201. package/bundles/taiga-ui-cdk-utils.umd.js +12 -4
  202. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  203. package/bundles/taiga-ui-cdk-utils.umd.min.js +1 -1
  204. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  205. package/components/portal-host/portal.service.d.ts +1 -1
  206. package/date-time/date-fillers.d.ts +0 -2
  207. package/date-time/day-range.d.ts +1 -2
  208. package/date-time/day.d.ts +0 -1
  209. package/date-time/month-range.d.ts +0 -1
  210. package/date-time/month.d.ts +0 -1
  211. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  212. package/directives/auto-focus/autofocus.directive.d.ts +4 -13
  213. package/directives/auto-focus/autofocus.options.d.ts +13 -0
  214. package/directives/auto-focus/handlers/abstract.handler.d.ts +11 -0
  215. package/directives/auto-focus/handlers/default.handler.d.ts +9 -0
  216. package/directives/auto-focus/handlers/ios.handler.d.ts +35 -0
  217. package/directives/auto-focus/index.d.ts +4 -0
  218. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  219. package/directives/autofilled/autofilled-style.component.d.ts +2 -0
  220. package/directives/autofilled/autofilled.directive.d.ts +5 -4
  221. package/directives/autofilled/index.d.ts +1 -0
  222. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  223. package/directives/for-async/for-async.directive.d.ts +13 -0
  224. package/directives/for-async/for-async.module.d.ts +5 -0
  225. package/directives/for-async/index.d.ts +2 -0
  226. package/directives/for-async/package.json +13 -0
  227. package/directives/for-async/taiga-ui-cdk-directives-for-async.d.ts +4 -0
  228. package/directives/for-async/taiga-ui-cdk-directives-for-async.metadata.json +1 -0
  229. package/directives/index.d.ts +1 -0
  230. package/directives/item/item.directive.d.ts +1 -1
  231. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  232. package/enums/autocomplete.d.ts +10 -0
  233. package/enums/taiga-ui-cdk-enums.metadata.json +1 -1
  234. package/esm2015/abstract/controller.js +7 -1
  235. package/esm2015/abstract/interactive.js +2 -2
  236. package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
  237. package/esm2015/components/portal-host/portal.service.js +2 -2
  238. package/esm2015/date-time/date-fillers.js +1 -3
  239. package/esm2015/date-time/day-range.js +2 -2
  240. package/esm2015/date-time/day.js +2 -3
  241. package/esm2015/date-time/month-range.js +1 -2
  242. package/esm2015/date-time/month.js +2 -3
  243. package/esm2015/date-time/year.js +2 -2
  244. package/esm2015/directives/auto-focus/autofocus.directive.js +11 -87
  245. package/esm2015/directives/auto-focus/autofocus.options.js +28 -0
  246. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +25 -0
  247. package/esm2015/directives/auto-focus/handlers/default.handler.js +39 -0
  248. package/esm2015/directives/auto-focus/handlers/ios.handler.js +121 -0
  249. package/esm2015/directives/auto-focus/index.js +5 -1
  250. package/esm2015/directives/autofilled/autofilled-style.component.js +13 -0
  251. package/esm2015/directives/autofilled/autofilled.directive.js +23 -37
  252. package/esm2015/directives/autofilled/autofilled.module.js +4 -2
  253. package/esm2015/directives/autofilled/index.js +2 -1
  254. package/esm2015/directives/for-async/for-async.directive.js +48 -0
  255. package/esm2015/directives/for-async/for-async.module.js +16 -0
  256. package/esm2015/directives/for-async/index.js +3 -0
  257. package/esm2015/directives/for-async/taiga-ui-cdk-directives-for-async.js +5 -0
  258. package/esm2015/directives/index.js +2 -1
  259. package/esm2015/directives/item/item.directive.js +2 -2
  260. package/esm2015/enums/autocomplete.js +12 -1
  261. package/esm2015/observables/replay-control-value-changes.js +2 -2
  262. package/esm2015/tokens/index.js +2 -1
  263. package/esm2015/tokens/is-apple.js +5 -0
  264. package/esm2015/tokens/is-ios.js +4 -6
  265. package/esm2015/utils/browser/index.js +2 -2
  266. package/esm2015/utils/browser/is-edge-older-than.js +2 -2
  267. package/esm2015/utils/browser/{is-IE.js → is-ie.js} +1 -1
  268. package/esm2015/utils/browser/is-safari.js +2 -2
  269. package/esm2015/utils/focus/get-native-focused.js +2 -2
  270. package/esm2015/utils/focus/set-native-focused.js +3 -1
  271. package/esm2015/utils/index.js +2 -1
  272. package/esm2015/utils/os/index.js +4 -0
  273. package/esm2015/utils/os/is-apple-platform.js +14 -0
  274. package/esm2015/utils/os/is-apple.js +6 -0
  275. package/esm2015/utils/os/is-ios.js +7 -0
  276. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  277. package/esm5/abstract/controller.js +14 -1
  278. package/esm5/abstract/interactive.js +2 -2
  279. package/esm5/components/dialog-host/dialog-host.component.js +5 -5
  280. package/esm5/components/portal-host/portal.service.js +2 -2
  281. package/esm5/date-time/date-fillers.js +1 -3
  282. package/esm5/date-time/day-range.js +2 -2
  283. package/esm5/date-time/day.js +2 -3
  284. package/esm5/date-time/month-range.js +1 -2
  285. package/esm5/date-time/month.js +2 -3
  286. package/esm5/date-time/year.js +2 -2
  287. package/esm5/directives/auto-focus/autofocus.directive.js +11 -97
  288. package/esm5/directives/auto-focus/autofocus.options.js +28 -0
  289. package/esm5/directives/auto-focus/handlers/abstract.handler.js +34 -0
  290. package/esm5/directives/auto-focus/handlers/default.handler.js +43 -0
  291. package/esm5/directives/auto-focus/handlers/ios.handler.js +137 -0
  292. package/esm5/directives/auto-focus/index.js +5 -1
  293. package/esm5/directives/autofilled/autofilled-style.component.js +16 -0
  294. package/esm5/directives/autofilled/autofilled.directive.js +24 -21
  295. package/esm5/directives/autofilled/autofilled.module.js +4 -2
  296. package/esm5/directives/autofilled/index.js +2 -1
  297. package/esm5/directives/for-async/for-async.directive.js +52 -0
  298. package/esm5/directives/for-async/for-async.module.js +19 -0
  299. package/esm5/directives/for-async/index.js +3 -0
  300. package/esm5/directives/for-async/taiga-ui-cdk-directives-for-async.js +5 -0
  301. package/esm5/directives/index.js +2 -1
  302. package/esm5/directives/item/item.directive.js +2 -2
  303. package/esm5/enums/autocomplete.js +12 -1
  304. package/esm5/observables/replay-control-value-changes.js +2 -2
  305. package/esm5/tokens/index.js +2 -1
  306. package/esm5/tokens/is-apple.js +5 -0
  307. package/esm5/tokens/is-ios.js +4 -8
  308. package/esm5/utils/browser/index.js +2 -2
  309. package/esm5/utils/browser/is-edge-older-than.js +2 -2
  310. package/esm5/utils/browser/{is-IE.js → is-ie.js} +1 -1
  311. package/esm5/utils/browser/is-safari.js +2 -2
  312. package/esm5/utils/focus/get-native-focused.js +2 -2
  313. package/esm5/utils/focus/set-native-focused.js +3 -1
  314. package/esm5/utils/index.js +2 -1
  315. package/esm5/utils/os/index.js +4 -0
  316. package/esm5/utils/os/is-apple-platform.js +14 -0
  317. package/esm5/utils/os/is-apple.js +6 -0
  318. package/esm5/utils/os/is-ios.js +7 -0
  319. package/esm5/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  320. package/fesm2015/taiga-ui-cdk-abstract.js +8 -2
  321. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  322. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +4 -4
  323. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  324. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  325. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  326. package/fesm2015/taiga-ui-cdk-date-time.js +4 -9
  327. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  328. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +187 -69
  329. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  330. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +33 -37
  331. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  332. package/fesm2015/taiga-ui-cdk-directives-for-async.js +66 -0
  333. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -0
  334. package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
  335. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  336. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  337. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  338. package/fesm2015/taiga-ui-cdk-enums.js +11 -0
  339. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  340. package/fesm2015/taiga-ui-cdk-observables.js +1 -1
  341. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  342. package/fesm2015/taiga-ui-cdk-tokens.js +6 -7
  343. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  344. package/fesm2015/taiga-ui-cdk-utils-browser.js +2 -2
  345. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  346. package/fesm2015/taiga-ui-cdk-utils-focus.js +3 -1
  347. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  348. package/fesm2015/taiga-ui-cdk-utils-os.js +31 -0
  349. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -0
  350. package/fesm2015/taiga-ui-cdk-utils.js +1 -0
  351. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  352. package/fesm5/taiga-ui-cdk-abstract.js +13 -2
  353. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  354. package/fesm5/taiga-ui-cdk-components-dialog-host.js +4 -4
  355. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  356. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  357. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  358. package/fesm5/taiga-ui-cdk-date-time.js +4 -9
  359. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  360. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +211 -74
  361. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  362. package/fesm5/taiga-ui-cdk-directives-autofilled.js +38 -22
  363. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  364. package/fesm5/taiga-ui-cdk-directives-for-async.js +73 -0
  365. package/fesm5/taiga-ui-cdk-directives-for-async.js.map +1 -0
  366. package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
  367. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
  368. package/fesm5/taiga-ui-cdk-directives.js +1 -0
  369. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  370. package/fesm5/taiga-ui-cdk-enums.js +11 -0
  371. package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
  372. package/fesm5/taiga-ui-cdk-observables.js +1 -1
  373. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  374. package/fesm5/taiga-ui-cdk-tokens.js +6 -9
  375. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  376. package/fesm5/taiga-ui-cdk-utils-browser.js +2 -2
  377. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  378. package/fesm5/taiga-ui-cdk-utils-focus.js +3 -1
  379. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  380. package/fesm5/taiga-ui-cdk-utils-os.js +31 -0
  381. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -0
  382. package/fesm5/taiga-ui-cdk-utils.js +1 -0
  383. package/fesm5/taiga-ui-cdk-utils.js.map +1 -1
  384. package/observables/replay-control-value-changes.d.ts +1 -1
  385. package/package.json +1 -1
  386. package/schematics/ng-add/constants/modules.d.ts +1 -1
  387. package/schematics/ng-add/constants/modules.js +2 -2
  388. package/schematics/ng-add/schema.d.ts +1 -1
  389. package/schematics/ng-add/schema.json +3 -3
  390. package/schematics/ng-add/steps/add-taiga-modules.js +1 -1
  391. package/schematics/ng-update/constants/consts.d.ts +7 -7
  392. package/schematics/ng-update/constants/consts.js +28 -0
  393. package/schematics/ng-update/constants/enums.d.ts +3 -3
  394. package/schematics/ng-update/constants/enums.js +22 -0
  395. package/schematics/ng-update/constants/services.d.ts +8 -0
  396. package/schematics/ng-update/constants/services.js +43 -0
  397. package/schematics/ng-update/constants/types.d.ts +4 -3
  398. package/schematics/ng-update/constants/types.js +55 -0
  399. package/schematics/ng-update/constants/warnings.d.ts +6 -0
  400. package/schematics/ng-update/constants/warnings.js +30 -0
  401. package/schematics/ng-update/index.js +4 -0
  402. package/schematics/ng-update/steps/rename-types.js +27 -11
  403. package/schematics/ng-update/steps/replace-const.js +2 -2
  404. package/schematics/ng-update/steps/replace-enums.js +2 -2
  405. package/schematics/ng-update/steps/replace-services.d.ts +1 -0
  406. package/schematics/ng-update/steps/replace-services.js +51 -0
  407. package/schematics/ng-update/steps/show-warnings.d.ts +2 -0
  408. package/schematics/ng-update/steps/show-warnings.js +35 -0
  409. package/schematics/utils/{remove-import.d.ts → import-manipulations.d.ts} +1 -0
  410. package/schematics/utils/import-manipulations.js +19 -0
  411. package/tokens/index.d.ts +1 -0
  412. package/tokens/is-apple.d.ts +2 -0
  413. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  414. package/utils/browser/index.d.ts +1 -1
  415. package/utils/browser/{is-IE.d.ts → is-ie.d.ts} +0 -0
  416. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
  417. package/utils/focus/set-native-focused.d.ts +2 -0
  418. package/utils/index.d.ts +1 -0
  419. package/utils/os/index.d.ts +3 -0
  420. package/utils/os/is-apple-platform.d.ts +11 -0
  421. package/utils/os/is-apple.d.ts +1 -0
  422. package/utils/os/is-ios.d.ts +1 -0
  423. package/utils/os/package.json +13 -0
  424. package/utils/os/taiga-ui-cdk-utils-os.d.ts +4 -0
  425. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -0
  426. package/utils/taiga-ui-cdk-utils.metadata.json +1 -1
  427. package/schematics/utils/remove-import.js +0 -11
@@ -109,7 +109,7 @@ export class TuiYear {
109
109
  yearAfter({ year }) {
110
110
  return this.year > year;
111
111
  }
112
- // TODO: Consider removing `backwards` option
112
+ // TODO: 3.0 Consider removing `backwards` option
113
113
  /**
114
114
  * Immutably offsets year
115
115
  */
@@ -140,4 +140,4 @@ export class TuiYear {
140
140
  return this.formattedYear;
141
141
  }
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNoQixZQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVk7UUFDM0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFB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QUNILE1BQU0sQ0FBQyxFQUFDLElBQUksR0FBRyxDQUFDLEVBQWMsRUFBRSxZQUFxQixLQUFLO1FBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVllYXJMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBEQVlTX0lOX0xFQVBfWUVBUixcbiAgICBEQVlTX0lOX05PUk1BTF9ZRUFSLFxuICAgIERBWVNfSU5fV0VFSyxcbiAgICBNQVhfWUVBUixcbiAgICBNSU5fWUVBUixcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB5ZWFyIG9iamVjdFxuICogQG5vc2lkZWVmZmVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aVllYXIgaW1wbGVtZW50cyBUdWlZZWFyTGlrZSB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRZZWFyKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih5ZWFyKSAmJiBpblJhbmdlKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUiArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHBhc3NlZCB5ZWFyIGlzIGEgbGVhcCB5ZWFyXG4gICAgICovXG4gICAgc3RhdGljIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG5cbiAgICAgICAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW1vdW50IG9mIGxlYXAgeWVhcnMgZnJvbSB5ZWFyIDAgdG8gdGhlIHBhc3NlZCBvbmVcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0QWJzb2x1dGVMZWFwWWVhcnMoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHllYXIgLyA0MDApICsgKE1hdGguY2VpbCh5ZWFyIC8gNCkgLSBNYXRoLmNlaWwoeWVhciAvIDEwMCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIFJldHVybnMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhc3NlZCB5ZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBhYnNvbHV0ZUxlYXBZZWFycyBhbW91bnQgb2YgbGVhcCB5ZWFycyBwcmlvciB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqIEByZXR1cm4gb2Zmc2V0IGluIGRheXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh5ZWFyOiBudW1iZXIsIGFic29sdXRlTGVhcFllYXJzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoYWJzb2x1dGVMZWFwWWVhcnMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydCh5ZWFyID49IGFic29sdXRlTGVhcFllYXJzKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChhYnNvbHV0ZUxlYXBZZWFycyA+PSAwKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGFic29sdXRlTGVhcFllYXJzICogREFZU19JTl9MRUFQX1lFQVIgK1xuICAgICAgICAgICAgICAgICh5ZWFyIC0gYWJzb2x1dGVMZWFwWWVhcnMpICogREFZU19JTl9OT1JNQUxfWUVBUiArXG4gICAgICAgICAgICAgICAgNSkgJVxuICAgICAgICAgICAgREFZU19JTl9XRUVLXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpWWVhciwgdG86IFR1aVllYXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdG8ueWVhciAtIGZyb20ueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHllYXIgYnkgY2xhbXBpbmcgaXQgYmV0d2VlbiBtaW4gYW5kIG1heCB5ZWFyc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdGF0aWMgbm9ybWFsaXplWWVhclBhcnQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUik7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLnllYXIpLCA0LCAnMCcpO1xuICAgIH1cblxuICAgIGdldCBpc0xlYXBZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5pc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byBjdXJyZW50XG4gICAgICovXG4gICAgZ2V0IGFic29sdXRlTGVhcFllYXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmdldEFic29sdXRlTGVhcFllYXJzKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCB5ZWFyXG4gICAgICovXG4gICAgZ2V0IHllYXJTdGFydERheXNPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh0aGlzLnllYXIsIHRoaXMuYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDwgeWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyB0aGUgc2FtZSBvciBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckJlZm9yZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA8PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA9PT0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBlaXRoZXIgdGhlIHNhbWUgb2YgYmVmb3JlIHRoZSBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckFmdGVyKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID49IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYmVmb3JlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPiB5ZWFyO1xuICAgIH1cblxuICAgIC8vIFRPRE86IENvbnNpZGVyIHJlbW92aW5nIGBiYWNrd2FyZHNgIG9wdGlvblxuICAgIC8qKlxuICAgICAqIEltbXV0YWJseSBvZmZzZXRzIHllYXJcbiAgICAgKi9cbiAgICBhcHBlbmQoe3llYXIgPSAwfTogVHVpWWVhckxpa2UsIGJhY2t3YXJkczogYm9vbGVhbiA9IGZhbHNlKTogVHVpWWVhciB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcih5ZWFyKSk7XG5cbiAgICAgICAgaWYgKGJhY2t3YXJkcykge1xuICAgICAgICAgICAgeWVhciAqPSAtMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdFllYXIgPSB0aGlzLnllYXIgKyB5ZWFyO1xuXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcihyZXN1bHRZZWFyKSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlZZWFyKHJlc3VsdFllYXIpO1xuICAgIH1cblxuICAgIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFllYXI7XG4gICAgfVxuXG4gICAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHByaW1pdGl2ZSB2YWx1ZSBvZiB0aGUgZ2l2ZW4gRGF0ZSBvYmplY3QuXG4gICAgICogRGVwZW5kaW5nIG9uIHRoZSBhcmd1bWVudCwgdGhlIG1ldGhvZCBjYW4gcmV0dXJuIGVpdGhlciBhIHN0cmluZyBvciBhIG51bWJlci5cbiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvQEB0b1ByaW1pdGl2ZVxuICAgICAqL1xuICAgIFtTeW1ib2wudG9QcmltaXRpdmVdKGhpbnQ6IHN0cmluZyk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgICAgIHJldHVybiBEYXRlLnByb3RvdHlwZVtTeW1ib2wudG9QcmltaXRpdmVdLmNhbGwodGhpcywgaGludCk7XG4gICAgfVxuXG4gICAgdG9KU09OKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFllYXI7XG4gICAgfVxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNoQixZQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVk7UUFDM0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsT0FBTyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFB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QUNILE1BQU0sQ0FBQyxFQUFDLElBQUksR0FBRyxDQUFDLEVBQWMsRUFBRSxZQUFxQixLQUFLO1FBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUVsRCxPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPO1FBQ0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVllYXJMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBEQVlTX0lOX0xFQVBfWUVBUixcbiAgICBEQVlTX0lOX05PUk1BTF9ZRUFSLFxuICAgIERBWVNfSU5fV0VFSyxcbiAgICBNQVhfWUVBUixcbiAgICBNSU5fWUVBUixcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB5ZWFyIG9iamVjdFxuICogQG5vc2lkZWVmZmVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aVllYXIgaW1wbGVtZW50cyBUdWlZZWFyTGlrZSB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRZZWFyKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih5ZWFyKSAmJiBpblJhbmdlKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUiArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHBhc3NlZCB5ZWFyIGlzIGEgbGVhcCB5ZWFyXG4gICAgICovXG4gICAgc3RhdGljIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG5cbiAgICAgICAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW1vdW50IG9mIGxlYXAgeWVhcnMgZnJvbSB5ZWFyIDAgdG8gdGhlIHBhc3NlZCBvbmVcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0QWJzb2x1dGVMZWFwWWVhcnMoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHllYXIgLyA0MDApICsgKE1hdGguY2VpbCh5ZWFyIC8gNCkgLSBNYXRoLmNlaWwoeWVhciAvIDEwMCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIFJldHVybnMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhc3NlZCB5ZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBhYnNvbHV0ZUxlYXBZZWFycyBhbW91bnQgb2YgbGVhcCB5ZWFycyBwcmlvciB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqIEByZXR1cm4gb2Zmc2V0IGluIGRheXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh5ZWFyOiBudW1iZXIsIGFic29sdXRlTGVhcFllYXJzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoYWJzb2x1dGVMZWFwWWVhcnMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydCh5ZWFyID49IGFic29sdXRlTGVhcFllYXJzKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChhYnNvbHV0ZUxlYXBZZWFycyA+PSAwKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGFic29sdXRlTGVhcFllYXJzICogREFZU19JTl9MRUFQX1lFQVIgK1xuICAgICAgICAgICAgICAgICh5ZWFyIC0gYWJzb2x1dGVMZWFwWWVhcnMpICogREFZU19JTl9OT1JNQUxfWUVBUiArXG4gICAgICAgICAgICAgICAgNSkgJVxuICAgICAgICAgICAgREFZU19JTl9XRUVLXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpWWVhciwgdG86IFR1aVllYXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdG8ueWVhciAtIGZyb20ueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHllYXIgYnkgY2xhbXBpbmcgaXQgYmV0d2VlbiBtaW4gYW5kIG1heCB5ZWFyc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdGF0aWMgbm9ybWFsaXplWWVhclBhcnQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUik7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLnllYXIpLCA0LCAnMCcpO1xuICAgIH1cblxuICAgIGdldCBpc0xlYXBZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5pc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byBjdXJyZW50XG4gICAgICovXG4gICAgZ2V0IGFic29sdXRlTGVhcFllYXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmdldEFic29sdXRlTGVhcFllYXJzKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCB5ZWFyXG4gICAgICovXG4gICAgZ2V0IHllYXJTdGFydERheXNPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh0aGlzLnllYXIsIHRoaXMuYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDwgeWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyB0aGUgc2FtZSBvciBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckJlZm9yZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA8PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA9PT0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBlaXRoZXIgdGhlIHNhbWUgb2YgYmVmb3JlIHRoZSBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckFmdGVyKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID49IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYmVmb3JlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPiB5ZWFyO1xuICAgIH1cblxuICAgIC8vIFRPRE86IDMuMCBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgb2Zmc2V0cyB5ZWFyXG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMH06IFR1aVllYXJMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aVllYXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoeWVhcikpO1xuXG4gICAgICAgIGlmIChiYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIHllYXIgKj0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHRZZWFyID0gdGhpcy55ZWFyICsgeWVhcjtcblxuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIocmVzdWx0WWVhcikpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpWWVhcihyZXN1bHRZZWFyKTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cblxuICAgIHZhbHVlT2YoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgdGhlIGdpdmVuIERhdGUgb2JqZWN0LlxuICAgICAqIERlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQsIHRoZSBtZXRob2QgY2FuIHJldHVybiBlaXRoZXIgYSBzdHJpbmcgb3IgYSBudW1iZXIuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL0BAdG9QcmltaXRpdmVcbiAgICAgKi9cbiAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gRGF0ZS5wcm90b3R5cGVbU3ltYm9sLnRvUHJpbWl0aXZlXS5jYWxsKHRoaXMsIGhpbnQpO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,90 +1,20 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { AfterViewInit, Directive, ElementRef, Inject, Input, NgZone, Optional, Renderer2, Self, } from '@angular/core';
3
- import { ANIMATION_FRAME } from '@ng-web-apis/common';
4
- import { POLLING_TIME } from '@taiga-ui/cdk/constants';
5
- import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
6
- import { setNativeFocused } from '@taiga-ui/cdk/utils/focus';
7
- import { Observable, race, timer } from 'rxjs';
8
- import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
9
- const TIMEOUT = 1000;
10
- const NG_ANIMATION_SELECTOR = '.ng-animating';
11
- // TODO: in 3.0 change input name to tuiAutoFocus and handle empty string
12
- // TODO: refactor on this whole thing in 3.0
2
+ import { Directive, Inject, Input } from '@angular/core';
3
+ import { TUI_AUTOFOCUS_HANDLER, TUI_AUTOFOCUS_PROVIDERS, } from './autofocus.options';
4
+ // TODO: 3.0 change input name to tuiAutoFocus and handle empty string
13
5
  let TuiAutoFocusDirective = class TuiAutoFocusDirective {
14
- constructor(tuiFocusableComponent, isIos, animationFrame$, ngZone, elementRef, renderer) {
15
- this.tuiFocusableComponent = tuiFocusableComponent;
16
- this.isIos = isIos;
17
- this.animationFrame$ = animationFrame$;
18
- this.ngZone = ngZone;
19
- this.elementRef = elementRef;
20
- this.renderer = renderer;
6
+ constructor(handler) {
7
+ this.handler = handler;
21
8
  this.autoFocus = true;
22
9
  }
23
10
  ngAfterViewInit() {
24
- if (!this.autoFocus) {
25
- return;
11
+ if (this.autoFocus) {
12
+ this.handler.setFocus();
26
13
  }
27
- if (this.isTextFieldElement) {
28
- if (this.isIos) {
29
- this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
30
- }
31
- else {
32
- race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => setNativeFocused(this.element));
33
- }
34
- return;
35
- }
36
- setNativeFocused(this.element);
37
- }
38
- get element() {
39
- var _a;
40
- return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
41
- this.elementRef.nativeElement);
42
- }
43
- get isTextFieldElement() {
44
- return this.element.matches('input, textarea');
45
- }
46
- iosWebkitAutofocus() {
47
- var _a;
48
- const fakeInput = this.renderer.createElement('input');
49
- fakeInput.style.position = 'absolute';
50
- fakeInput.style.opacity = '0';
51
- fakeInput.style.height = '0';
52
- const blurHandler = () => setNativeFocused(fakeInput);
53
- const focusHandler = () => {
54
- setTimeout(() => {
55
- setNativeFocused(this.element);
56
- /**
57
- * @note:
58
- * We can't remove the element immediately, because it breaks flow
59
- */
60
- setTimeout(() => {
61
- fakeInput.removeEventListener('blur', blurHandler);
62
- fakeInput.removeEventListener('focus', focusHandler);
63
- fakeInput.remove();
64
- });
65
- });
66
- };
67
- /**
68
- * @note: ping-pong eager strategy hack
69
- * After creating an element and bringing it into DOM,
70
- * the browser automatically focuses on the invisible element.
71
- * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
72
- * then we try to focus again on an invisible element, so that the keyboard slowly appears.
73
- * This ping pong allows the keyboard to not overlap the modal window.
74
- */
75
- fakeInput.addEventListener('blur', blurHandler, { once: true });
76
- fakeInput.addEventListener('focus', focusHandler);
77
- (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
78
- setNativeFocused(fakeInput);
79
14
  }
80
15
  };
81
16
  TuiAutoFocusDirective.ctorParameters = () => [
82
- { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
83
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
84
- { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
85
- { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
86
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
87
- { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] }
17
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_AUTOFOCUS_HANDLER,] }] }
88
18
  ];
89
19
  __decorate([
90
20
  Input()
@@ -92,15 +22,9 @@ __decorate([
92
22
  TuiAutoFocusDirective = __decorate([
93
23
  Directive({
94
24
  selector: '[tuiAutoFocus]',
25
+ providers: TUI_AUTOFOCUS_PROVIDERS,
95
26
  }),
96
- __param(0, Optional()),
97
- __param(0, Self()),
98
- __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
99
- __param(1, Inject(TUI_IS_IOS)),
100
- __param(2, Inject(ANIMATION_FRAME)),
101
- __param(3, Inject(NgZone)),
102
- __param(4, Inject(ElementRef)),
103
- __param(5, Inject(Renderer2))
27
+ __param(0, Inject(TUI_AUTOFOCUS_HANDLER))
104
28
  ], TuiAutoFocusDirective);
105
29
  export { TuiAutoFocusDirective };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUMsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFJOUIsWUFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0s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QUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7MENBRWxDLE1BQU0sU0FBQyxVQUFVO1lBQ3lDLFVBQVUsdUJBQXBFLE1BQU0sU0FBQyxlQUFlO1lBRUUsTUFBTSx1QkFEOUIsTUFBTSxTQUFDLE1BQU07WUFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtZQUdTLFNBQVMsdUJBRG5DLE1BQU0sU0FBQyxTQUFTOztBQWJyQjtJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUhqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO0tBQzdCLENBQUM7SUFNTyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFFbkMsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDdkIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFZCxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUVsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtHQWZiLHFCQUFxQixDQStGakM7U0EvRlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBTklNQVRJT05fRlJBTUV9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtQT0xMSU5HX1RJTUV9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUiwgVFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtzZXROYXRpdmVGb2N1c2VkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2ZvY3VzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgcmFjZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNraXBXaGlsZSwgdGFrZSwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IFRJTUVPVVQgPSAxMDAwO1xuY29uc3QgTkdfQU5JTUFUSU9OX1NFTEVDVE9SID0gJy5uZy1hbmltYXRpbmcnO1xuXG4vLyBUT0RPOiBpbiAzLjAgY2hhbmdlIGlucHV0IG5hbWUgdG8gdHVpQXV0b0ZvY3VzIGFuZCBoYW5kbGUgZW1wdHkgc3RyaW5nXG4vLyBUT0RPOiByZWZhY3RvciBvbiB0aGlzIHdob2xlIHRoaW5nIGluIDMuMFxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfSVNfSU9TKSBwcml2YXRlIHJlYWRvbmx5IGlzSW9zOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNJb3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLmlvc1dlYmtpdEF1dG9mb2N1cygpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmFjZShcbiAgICAgICAgICAgICAgICAgICAgdGltZXIoVElNRU9VVCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdHRsZVRpbWUoUE9MTElOR19USU1FKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmVsZW1lbnQuY2xvc2VzdChOR19BTklNQVRJT05fU0VMRUNUT1IpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnR1aUZvY3VzYWJsZUNvbXBvbmVudD8ubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1RleHRGaWVsZEVsZW1lbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQubWF0Y2hlcygnaW5wdXQsIHRleHRhcmVhJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpb3NXZWJraXRBdXRvZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG5cbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5oZWlnaHQgPSAnMCc7XG5cbiAgICAgICAgY29uc3QgYmx1ckhhbmRsZXIgPSAoKTogdm9pZCA9PiBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgICAgIGNvbnN0IGZvY3VzSGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5lbGVtZW50KTtcblxuICAgICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgICAqIEBub3RlOlxuICAgICAgICAgICAgICAgICAqIFdlIGNhbid0IHJlbW92ZSB0aGUgZWxlbWVudCBpbW1lZGlhdGVseSwgYmVjYXVzZSBpdCBicmVha3MgZmxvd1xuICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBub3RlOiBwaW5nLXBvbmcgZWFnZXIgc3RyYXRlZ3kgaGFja1xuICAgICAgICAgKiBBZnRlciBjcmVhdGluZyBhbiBlbGVtZW50IGFuZCBicmluZ2luZyBpdCBpbnRvIERPTSxcbiAgICAgICAgICogdGhlIGJyb3dzZXIgYXV0b21hdGljYWxseSBmb2N1c2VzIG9uIHRoZSBpbnZpc2libGUgZWxlbWVudC5cbiAgICAgICAgICogQW5kIHRoZW4sIGFmdGVyIGZvY3VzIGlzIHRyaWdnZXJlZCwgd2UgdHJ5IHRvIGZvY3VzIG9uIHRhcmdldCBlbGVtZW50LCBhbmQgaWYgd2UgbWFuYWdlZCB0byByZWZvY3VzLFxuICAgICAgICAgKiB0aGVuIHdlIHRyeSB0byBmb2N1cyBhZ2FpbiBvbiBhbiBpbnZpc2libGUgZWxlbWVudCwgc28gdGhhdCB0aGUga2V5Ym9hcmQgc2xvd2x5IGFwcGVhcnMuXG4gICAgICAgICAqIFRoaXMgcGluZyBwb25nIGFsbG93cyB0aGUga2V5Ym9hcmQgdG8gbm90IG92ZXJsYXAgdGhlIG1vZGFsIHdpbmRvdy5cbiAgICAgICAgICovXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKGZha2VJbnB1dCk7XG5cbiAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChmYWtlSW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUUxQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLHNFQUFzRTtBQUt0RSxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFxQjtJQUk5QixZQUNvRCxPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUhoRixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSWQsQ0FBQztJQUVKLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7Q0FDSixDQUFBOzs0Q0FSUSxNQUFNLFNBQUMscUJBQXFCOztBQUhqQztJQURDLEtBQUssRUFBRTt3REFDUztBQUZSLHFCQUFxQjtJQUpqQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFNBQVMsRUFBRSx1QkFBdUI7S0FDckMsQ0FBQztJQU1PLFdBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7R0FMekIscUJBQXFCLENBYWpDO1NBYlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9BVVRPRk9DVVNfSEFORExFUixcbiAgICBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbiAgICBUdWlBdXRvZm9jdXNIYW5kbGVyLFxufSBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcblxuLy8gVE9ETzogMy4wIGNoYW5nZSBpbnB1dCBuYW1lIHRvIHR1aUF1dG9Gb2N1cyBhbmQgaGFuZGxlIGVtcHR5IHN0cmluZ1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQXV0b0ZvY3VzXScsXG4gICAgcHJvdmlkZXJzOiBUVUlfQVVUT0ZPQ1VTX1BST1ZJREVSUyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhdXRvRm9jdXMgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0FVVE9GT0NVU19IQU5ETEVSKSBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IFR1aUF1dG9mb2N1c0hhbmRsZXIsXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlci5zZXRGb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { ElementRef, inject, InjectionToken, NgZone, Optional, Renderer2, Self, } from '@angular/core';
2
+ import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
3
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
4
+ import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
5
+ import { TuiIosAutofocusHandler } from './handlers/ios.handler';
6
+ export const TUI_AUTOFOCUS_HANDLER = new InjectionToken('Autofocusing handler');
7
+ // TODO: 3.0 remove in ivy compilation
8
+ export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone, windowRef) {
9
+ return inject(TUI_IS_IOS)
10
+ ? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone, windowRef)
11
+ : new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
12
+ }
13
+ export const TUI_AUTOFOCUS_PROVIDERS = [
14
+ {
15
+ provide: TUI_AUTOFOCUS_HANDLER,
16
+ // TODO: replace to useClass in v3.0
17
+ useFactory: tuiAutofocusHandlerFactory,
18
+ deps: [
19
+ [new Optional(), new Self(), TUI_FOCUSABLE_ITEM_ACCESSOR],
20
+ ElementRef,
21
+ ANIMATION_FRAME,
22
+ Renderer2,
23
+ NgZone,
24
+ WINDOW,
25
+ ],
26
+ },
27
+ ];
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImF1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHN0UsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELHNCQUFzQixDQUN6QixDQUFDO0FBRUYsc0NBQXNDO0FBQ3RDLE1BQU0sVUFBVSwwQkFBMEIsQ0FDdEMscUJBQXlELEVBQ3pELFVBQW1DLEVBQ25DLGVBQW1DLEVBQ25DLFFBQW1CLEVBQ25CLE1BQWMsRUFDZCxTQUFpQjtJQUVqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckIsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQ3RCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLENBQ1o7UUFDSCxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FDMUIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLG9DQUFvQztRQUNwQyxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLDJCQUEyQixDQUFDO1lBQ3pELFVBQVU7WUFDVixlQUFlO1lBQ2YsU0FBUztZQUNULE1BQU07WUFDTixNQUFNO1NBQ1Q7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsIFRVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRGVmYXVsdEF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvZGVmYXVsdC5oYW5kbGVyJztcbmltcG9ydCB7VHVpSW9zQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9pb3MuaGFuZGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgc2V0Rm9jdXMoKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlBdXRvZm9jdXNIYW5kbGVyPihcbiAgICAnQXV0b2ZvY3VzaW5nIGhhbmRsZXInLFxuKTtcblxuLy8gVE9ETzogMy4wIHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBmdW5jdGlvbiB0dWlBdXRvZm9jdXNIYW5kbGVyRmFjdG9yeShcbiAgICB0dWlGb2N1c2FibGVDb21wb25lbnQ6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICB3aW5kb3dSZWY6IFdpbmRvdyxcbik6IFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHJldHVybiBpbmplY3QoVFVJX0lTX0lPUylcbiAgICAgICAgPyBuZXcgVHVpSW9zQXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICByZW5kZXJlcixcbiAgICAgICAgICAgICAgbmdab25lLFxuICAgICAgICAgICAgICB3aW5kb3dSZWYsXG4gICAgICAgICAgKVxuICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICBhbmltYXRpb25GcmFtZSQsXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIHRvIHVzZUNsYXNzIGluIHYzLjBcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQXV0b2ZvY3VzSGFuZGxlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SXSxcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBBTklNQVRJT05fRlJBTUUsXG4gICAgICAgICAgICBSZW5kZXJlcjIsXG4gICAgICAgICAgICBOZ1pvbmUsXG4gICAgICAgICAgICBXSU5ET1csXG4gICAgICAgIF0sXG4gICAgfSxcbl07XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ElementRef } from '@angular/core';
3
+ let AbstractTuiAutofocusHandler = class AbstractTuiAutofocusHandler {
4
+ constructor(tuiFocusableComponent, elementRef) {
5
+ this.tuiFocusableComponent = tuiFocusableComponent;
6
+ this.elementRef = elementRef;
7
+ }
8
+ get element() {
9
+ var _a;
10
+ return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
11
+ this.elementRef.nativeElement);
12
+ }
13
+ get isTextFieldElement() {
14
+ return this.element.matches('input, textarea');
15
+ }
16
+ };
17
+ AbstractTuiAutofocusHandler.ctorParameters = () => [
18
+ { type: undefined },
19
+ { type: ElementRef }
20
+ ];
21
+ AbstractTuiAutofocusHandler = __decorate([
22
+ Directive()
23
+ ], AbstractTuiAutofocusHandler);
24
+ export { AbstractTuiAutofocusHandler };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFTcEQsSUFBc0IsMkJBQTJCLEdBQWpELE1BQXNCLDJCQUEyQjtJQUM3QyxZQUN1QixxQkFBeUQsRUFDekQsVUFBbUM7UUFEbkMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUN6RCxlQUFVLEdBQVYsVUFBVSxDQUF5QjtJQUN2RCxDQUFDO0lBRUosSUFBYyxPQUFPOztRQUNqQixPQUFPLENBQ0gsT0FBQSxJQUFJLENBQUMscUJBQXFCLDBDQUFFLHNCQUFzQjtZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDaEMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkQsQ0FBQztDQUdKLENBQUE7OztZQWZzQyxVQUFVOztBQUgzQiwyQkFBMkI7SUFEaEQsU0FBUyxFQUFFO0dBQ1UsMkJBQTJCLENBa0JoRDtTQWxCcUIsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHtUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuLi9hdXRvZm9jdXMub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlciBpbXBsZW1lbnRzIFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cblxuICAgIHByb3RlY3RlZCBnZXQgZWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNUZXh0RmllbGRFbGVtZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50Lm1hdGNoZXMoJ2lucHV0LCB0ZXh0YXJlYScpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IHNldEZvY3VzKCk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, Optional, Self } from '@angular/core';
3
+ import { ANIMATION_FRAME } from '@ng-web-apis/common';
4
+ import { POLLING_TIME } from '@taiga-ui/cdk/constants';
5
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
6
+ import { Observable, race, timer } from 'rxjs';
7
+ import { map, skipWhile, take, throttleTime } from 'rxjs/operators';
8
+ import { AbstractTuiAutofocusHandler } from './abstract.handler';
9
+ const TIMEOUT = 1000;
10
+ const NG_ANIMATION_SELECTOR = '.ng-animating';
11
+ let TuiDefaultAutofocusHandler = class TuiDefaultAutofocusHandler extends AbstractTuiAutofocusHandler {
12
+ constructor(tuiFocusableComponent, elementRef, animationFrame$) {
13
+ super(tuiFocusableComponent, elementRef);
14
+ this.animationFrame$ = animationFrame$;
15
+ }
16
+ setFocus() {
17
+ if (this.isTextFieldElement) {
18
+ race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(() => this.element.closest(NG_ANIMATION_SELECTOR)), skipWhile(Boolean), take(1))).subscribe(() => this.element.focus());
19
+ }
20
+ else {
21
+ this.element.focus();
22
+ }
23
+ }
24
+ };
25
+ TuiDefaultAutofocusHandler.ctorParameters = () => [
26
+ { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
27
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
28
+ { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] }
29
+ ];
30
+ TuiDefaultAutofocusHandler = __decorate([
31
+ Directive(),
32
+ __param(0, Optional()),
33
+ __param(0, Self()),
34
+ __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
35
+ __param(1, Inject(ElementRef)),
36
+ __param(2, Inject(ANIMATION_FRAME))
37
+ ], TuiDefaultAutofocusHandler);
38
+ export { TuiDefaultAutofocusHandler };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2F1dG8tZm9jdXMvIiwic291cmNlcyI6WyJoYW5kbGVycy9kZWZhdWx0LmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7QUFDckIsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUM7QUFHOUMsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMkIsU0FBUSwyQkFBMkI7SUFDdkUsWUFJSSxxQkFBeUQsRUFDckMsVUFBbUMsRUFDYixlQUFtQztRQUU3RSxLQUFLLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFGQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7SUFHakYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQ0EsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUNyQixZQUFZLENBQUMsWUFBWSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEVBQ3RELFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWLENBQ0osQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztDQUNKLENBQUE7OzRDQXpCUSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7WUFFSCxVQUFVLHVCQUF6QyxNQUFNLFNBQUMsVUFBVTtZQUN5QyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTs7QUFQbEIsMEJBQTBCO0lBRHRDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtHQVBuQiwwQkFBMEIsQ0EyQnRDO1NBM0JZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7UE9MTElOR19USU1FfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGUsIHJhY2UsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBza2lwV2hpbGUsIHRha2UsIHRocm90dGxlVGltZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0Fic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9hYnN0cmFjdC5oYW5kbGVyJztcblxuY29uc3QgVElNRU9VVCA9IDEwMDA7XG5jb25zdCBOR19BTklNQVRJT05fU0VMRUNUT1IgPSAnLm5nLWFuaW1hdGluZyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aURlZmF1bHRBdXRvZm9jdXNIYW5kbGVyIGV4dGVuZHMgQWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUilcbiAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50OiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KEFOSU1BVElPTl9GUkFNRSkgcHJpdmF0ZSByZWFkb25seSBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgIHRpbWVyKFRJTUVPVVQpLFxuICAgICAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5lbGVtZW50LmNsb3Nlc3QoTkdfQU5JTUFUSU9OX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgICAgIHNraXBXaGlsZShCb29sZWFuKSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbGVtZW50LmZvY3VzKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,121 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, NgZone, Optional, Renderer2, Self, } from '@angular/core';
3
+ import { WINDOW } from '@ng-web-apis/common';
4
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk/tokens';
5
+ import { px } from '@taiga-ui/cdk/utils';
6
+ import { AbstractTuiAutofocusHandler } from './abstract.handler';
7
+ // @dynamic
8
+ let TuiIosAutofocusHandler = class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
9
+ constructor(tuiFocusableComponent, elementRef, renderer, ngZone, windowRef) {
10
+ super(tuiFocusableComponent, elementRef);
11
+ this.renderer = renderer;
12
+ this.ngZone = ngZone;
13
+ this.windowRef = windowRef;
14
+ this.patchCssStyles();
15
+ }
16
+ setFocus() {
17
+ if (this.isTextFieldElement) {
18
+ this.ngZone.runOutsideAngular(() => this.iosWebkitAutofocus());
19
+ }
20
+ else {
21
+ this.element.focus();
22
+ }
23
+ }
24
+ iosWebkitAutofocus() {
25
+ var _a;
26
+ const fakeInput = this.makeFakeInput();
27
+ const duration = this.getDurationTimeBeforeFocus();
28
+ let fakeFocusTimeoutId = 0;
29
+ let elementFocusTimeoutId = 0;
30
+ const blurHandler = () => fakeInput.focus({ preventScroll: true });
31
+ const focusHandler = () => {
32
+ clearTimeout(fakeFocusTimeoutId);
33
+ fakeFocusTimeoutId = this.windowRef.setTimeout(() => {
34
+ clearTimeout(elementFocusTimeoutId);
35
+ fakeInput.removeEventListener('blur', blurHandler);
36
+ fakeInput.removeEventListener('focus', focusHandler);
37
+ elementFocusTimeoutId = this.windowRef.setTimeout(() => {
38
+ this.element.focus({ preventScroll: false });
39
+ fakeInput.remove();
40
+ }, duration);
41
+ });
42
+ };
43
+ fakeInput.addEventListener('blur', blurHandler, { once: true });
44
+ fakeInput.addEventListener('focus', focusHandler);
45
+ if (this.insideDialog()) {
46
+ this.windowRef.document.body.appendChild(fakeInput);
47
+ }
48
+ else {
49
+ (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
50
+ }
51
+ fakeInput.focus({ preventScroll: true });
52
+ }
53
+ /**
54
+ * @note:
55
+ * emulate textfield position in layout with cursor
56
+ * before focus to real textfield element
57
+ */
58
+ makeFakeInput() {
59
+ const fakeInput = this.renderer.createElement('input');
60
+ const rect = this.element.getBoundingClientRect();
61
+ fakeInput.style.height = px(rect.height);
62
+ fakeInput.style.width = px(rect.width / 2);
63
+ fakeInput.style.position = 'fixed';
64
+ fakeInput.style.opacity = '0';
65
+ fakeInput.style.fontSize = px(16); // disable possible auto zoom
66
+ fakeInput.readOnly = true; // prevent keyboard for fake input
67
+ // @note: emulate position cursor before focus to real textfield element
68
+ fakeInput.style.top = px(rect.top);
69
+ fakeInput.style.left = px(rect.left);
70
+ return fakeInput;
71
+ }
72
+ getDurationTimeBeforeFocus() {
73
+ return (parseFloat(this.windowRef
74
+ .getComputedStyle(this.element)
75
+ .getPropertyValue('--tui-duration')) || 0);
76
+ }
77
+ /**
78
+ * @note:
79
+ * unfortunately, in older versions of iOS
80
+ * there is a bug that the fake input cursor
81
+ * will move along with the dialog animation
82
+ * and then that dialog will be shaking
83
+ */
84
+ insideDialog() {
85
+ return !!this.element.closest('tui-dialog');
86
+ }
87
+ /**
88
+ * @note:
89
+ * This is necessary so that the viewport isn't recalculated
90
+ * and then the dialogs don't shake.
91
+ *
92
+ * Also, we need to fixed height viewport,
93
+ * so that when focusing the dialogs don't shake
94
+ */
95
+ patchCssStyles() {
96
+ const documentRef = this.windowRef.document;
97
+ for (const element of [documentRef.documentElement, documentRef.body]) {
98
+ element.style.setProperty('overflow', 'auto');
99
+ element.style.setProperty('height', '100%');
100
+ }
101
+ }
102
+ };
103
+ TuiIosAutofocusHandler.ctorParameters = () => [
104
+ { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
105
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
106
+ { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] },
107
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
108
+ { type: Window, decorators: [{ type: Inject, args: [WINDOW,] }] }
109
+ ];
110
+ TuiIosAutofocusHandler = __decorate([
111
+ Directive(),
112
+ __param(0, Optional()),
113
+ __param(0, Self()),
114
+ __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
115
+ __param(1, Inject(ElementRef)),
116
+ __param(2, Inject(Renderer2)),
117
+ __param(3, Inject(NgZone)),
118
+ __param(4, Inject(WINDOW))
119
+ ], TuiIosAutofocusHandler);
120
+ export { TuiIosAutofocusHandler };
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9zLmhhbmRsZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImhhbmRsZXJzL2lvcy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsRUFBRSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFL0QsV0FBVztBQUVYLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXVCLFNBQVEsMkJBQTJCO0lBQ25FLFlBSUkscUJBQXlELEVBQ3JDLFVBQW1DLEVBQ25CLFFBQW1CLEVBQ3RCLE1BQWMsRUFDZCxTQUFpQjtRQUVsRCxLQUFLLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFKTCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBR2xELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN4QjtJQUNMLENBQUM7SUFFTyxrQkFBa0I7O1FBQ3RCLE1BQU0sU0FBUyxHQUFxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbkQsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxxQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFFOUIsTUFBTSxXQUFXLEdBQUcsR0FBUyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLEdBQVMsRUFBRTtZQUM1QixZQUFZLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUVqQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hELFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUVwQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNuRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUVyRCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7b0JBQzNDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM5RCxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRWxELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNILE1BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLDBDQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7U0FDdEQ7UUFFRCxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUMsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxhQUFhO1FBQ2pCLE1BQU0sU0FBUyxHQUFxQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6RSxNQUFNLElBQUksR0FBWSxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQzlCLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtRQUNoRSxTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDLGtDQUFrQztRQUU3RCx3RUFBd0U7UUFDeEUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTywwQkFBMEI7UUFDOUIsT0FBTyxDQUNILFVBQVUsQ0FDTixJQUFJLENBQUMsU0FBUzthQUNULGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDOUIsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FDMUMsSUFBSSxDQUFDLENBQ1QsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxZQUFZO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssY0FBYztRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUU1QyxLQUFLLE1BQU0sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkUsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNMLENBQUM7Q0FDSixDQUFBOzs0Q0FwSFEsUUFBUSxZQUNSLElBQUksWUFDSixNQUFNLFNBQUMsMkJBQTJCO1lBRUgsVUFBVSx1QkFBekMsTUFBTSxTQUFDLFVBQVU7WUFDNEIsU0FBUyx1QkFBdEQsTUFBTSxTQUFDLFNBQVM7WUFDd0IsTUFBTSx1QkFBOUMsTUFBTSxTQUFDLE1BQU07WUFDOEIsTUFBTSx1QkFBakQsTUFBTSxTQUFDLE1BQU07O0FBVFQsc0JBQXNCO0lBRGxDLFNBQVMsRUFBRTtJQUdILFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUVuQyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqQixXQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNkLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0dBVFYsc0JBQXNCLENBc0hsQztTQXRIWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgT3B0aW9uYWwsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtweH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2Fic3RyYWN0LmhhbmRsZXInO1xuXG4vLyBAZHluYW1pY1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgVHVpSW9zQXV0b2ZvY3VzSGFuZGxlciBleHRlbmRzIEFic3RyYWN0VHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IpXG4gICAgICAgIHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChSZW5kZXJlcjIpIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1JlZjogV2luZG93LFxuICAgICkge1xuICAgICAgICBzdXBlcih0dWlGb2N1c2FibGVDb21wb25lbnQsIGVsZW1lbnRSZWYpO1xuICAgICAgICB0aGlzLnBhdGNoQ3NzU3R5bGVzKCk7XG4gICAgfVxuXG4gICAgc2V0Rm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzVGV4dEZpZWxkRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5pb3NXZWJraXRBdXRvZm9jdXMoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW9zV2Via2l0QXV0b2ZvY3VzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmYWtlSW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQgPSB0aGlzLm1ha2VGYWtlSW5wdXQoKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSB0aGlzLmdldER1cmF0aW9uVGltZUJlZm9yZUZvY3VzKCk7XG4gICAgICAgIGxldCBmYWtlRm9jdXNUaW1lb3V0SWQgPSAwO1xuICAgICAgICBsZXQgZWxlbWVudEZvY3VzVGltZW91dElkID0gMDtcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpOiB2b2lkID0+IGZha2VJbnB1dC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICBjb25zdCBmb2N1c0hhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmFrZUZvY3VzVGltZW91dElkKTtcblxuICAgICAgICAgICAgZmFrZUZvY3VzVGltZW91dElkID0gdGhpcy53aW5kb3dSZWYuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGVsZW1lbnRGb2N1c1RpbWVvdXRJZCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIGJsdXJIYW5kbGVyKTtcbiAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmb2N1c0hhbmRsZXIpO1xuXG4gICAgICAgICAgICAgICAgZWxlbWVudEZvY3VzVGltZW91dElkID0gdGhpcy53aW5kb3dSZWYuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogZmFsc2V9KTtcbiAgICAgICAgICAgICAgICAgICAgZmFrZUlucHV0LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIsIHtvbmNlOiB0cnVlfSk7XG4gICAgICAgIGZha2VJbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIGZvY3VzSGFuZGxlcik7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5zaWRlRGlhbG9nKCkpIHtcbiAgICAgICAgICAgIHRoaXMud2luZG93UmVmLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5wYXJlbnRFbGVtZW50Py5hcHBlbmRDaGlsZChmYWtlSW5wdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmFrZUlucHV0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogZW11bGF0ZSB0ZXh0ZmllbGQgcG9zaXRpb24gaW4gbGF5b3V0IHdpdGggY3Vyc29yXG4gICAgICogYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIG1ha2VGYWtlSW5wdXQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGZha2VJbnB1dDogSFRNTElucHV0RWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgY29uc3QgcmVjdDogRE9NUmVjdCA9IHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuaGVpZ2h0ID0gcHgocmVjdC5oZWlnaHQpO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUud2lkdGggPSBweChyZWN0LndpZHRoIC8gMik7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgICAgIGZha2VJbnB1dC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUuZm9udFNpemUgPSBweCgxNik7IC8vIGRpc2FibGUgcG9zc2libGUgYXV0byB6b29tXG4gICAgICAgIGZha2VJbnB1dC5yZWFkT25seSA9IHRydWU7IC8vIHByZXZlbnQga2V5Ym9hcmQgZm9yIGZha2UgaW5wdXRcblxuICAgICAgICAvLyBAbm90ZTogZW11bGF0ZSBwb3NpdGlvbiBjdXJzb3IgYmVmb3JlIGZvY3VzIHRvIHJlYWwgdGV4dGZpZWxkIGVsZW1lbnRcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLnRvcCA9IHB4KHJlY3QudG9wKTtcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmxlZnQgPSBweChyZWN0LmxlZnQpO1xuXG4gICAgICAgIHJldHVybiBmYWtlSW5wdXQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREdXJhdGlvblRpbWVCZWZvcmVGb2N1cygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgcGFyc2VGbG9hdChcbiAgICAgICAgICAgICAgICB0aGlzLndpbmRvd1JlZlxuICAgICAgICAgICAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIC5nZXRQcm9wZXJ0eVZhbHVlKCctLXR1aS1kdXJhdGlvbicpLFxuICAgICAgICAgICAgKSB8fCAwXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQG5vdGU6XG4gICAgICogdW5mb3J0dW5hdGVseSwgaW4gb2xkZXIgdmVyc2lvbnMgb2YgaU9TXG4gICAgICogdGhlcmUgaXMgYSBidWcgdGhhdCB0aGUgZmFrZSBpbnB1dCBjdXJzb3JcbiAgICAgKiB3aWxsIG1vdmUgYWxvbmcgd2l0aCB0aGUgZGlhbG9nIGFuaW1hdGlvblxuICAgICAqIGFuZCB0aGVuIHRoYXQgZGlhbG9nIHdpbGwgYmUgc2hha2luZ1xuICAgICAqL1xuICAgIHByaXZhdGUgaW5zaWRlRGlhbG9nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmVsZW1lbnQuY2xvc2VzdCgndHVpLWRpYWxvZycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBub3RlOlxuICAgICAqIFRoaXMgaXMgbmVjZXNzYXJ5IHNvIHRoYXQgdGhlIHZpZXdwb3J0IGlzbid0IHJlY2FsY3VsYXRlZFxuICAgICAqIGFuZCB0aGVuIHRoZSBkaWFsb2dzIGRvbid0IHNoYWtlLlxuICAgICAqXG4gICAgICogQWxzbywgd2UgbmVlZCB0byBmaXhlZCBoZWlnaHQgdmlld3BvcnQsXG4gICAgICogc28gdGhhdCB3aGVuIGZvY3VzaW5nIHRoZSBkaWFsb2dzIGRvbid0IHNoYWtlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYXRjaENzc1N0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZG9jdW1lbnRSZWYgPSB0aGlzLndpbmRvd1JlZi5kb2N1bWVudDtcblxuICAgICAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgW2RvY3VtZW50UmVmLmRvY3VtZW50RWxlbWVudCwgZG9jdW1lbnRSZWYuYm9keV0pIHtcbiAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ292ZXJmbG93JywgJ2F1dG8nKTtcbiAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,7 @@
1
1
  export * from './autofocus.directive';
2
2
  export * from './autofocus.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5tb2R1bGUnO1xuIl19
3
+ export * from './autofocus.options';
4
+ export * from './handlers/abstract.handler';
5
+ export * from './handlers/default.handler';
6
+ export * from './handlers/ios.handler';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZvY3VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9mb2N1cy5vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcnMvYWJzdHJhY3QuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2RlZmF1bHQuaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ViewEncapsulation } from '@angular/core';
3
+ let TuiAutofilledStyleComponent = class TuiAutofilledStyleComponent {
4
+ };
5
+ TuiAutofilledStyleComponent = __decorate([
6
+ Component({
7
+ template: '',
8
+ encapsulation: ViewEncapsulation.None,
9
+ styles: [".tui-autofill,.tui-autofill input{transition:box-shadow 10ms}.tui-autofill input::-webkit-credit-card-auto-fill-button,.tui-autofill::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}"]
10
+ })
11
+ ], TuiAutofilledStyleComponent);
12
+ export { TuiAutofilledStyleComponent };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQtc3R5bGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBTzNELElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0NBQUcsQ0FBQTtBQUE5QiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLEVBQUU7UUFFWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLDJCQUEyQixDQUFHO1NBQTlCLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdXRvZmlsbGVkLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQge31cbiJdfQ==
@@ -1,54 +1,40 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { Directive, ElementRef, Inject, Output } from '@angular/core';
3
- import { typedFromEvent } from '@taiga-ui/cdk/observables';
2
+ import { Directive, EventEmitter, HostBinding, HostListener, Inject, Output, } from '@angular/core';
4
3
  import { TuiDirectiveStylesService } from '@taiga-ui/cdk/services';
5
- import { map, skip } from 'rxjs/operators';
6
- const ON = 'tuiAutofillOn';
7
- const OFF = 'tuiAutofillOff';
8
- const STYLE = `
9
- @keyframes ${ON} {
10
- from {
11
- content: '1';
12
- }
13
-
14
- to {
15
- content: '2';
16
- }
17
- }
18
-
19
- @keyframes ${OFF} {
20
- from {
21
- content: '2';
22
- }
23
-
24
- to {
25
- content: '1';
26
- }
27
- }`;
28
- // @dynamic
4
+ import { TuiAutofilledStyleComponent } from './autofilled-style.component';
29
5
  let TuiAutofilledDirective = class TuiAutofilledDirective {
30
- constructor(elementRef, directiveStyles) {
31
- this.elementRef = elementRef;
32
- this.tuiAutofilledChange = typedFromEvent(this.elementRef.nativeElement, 'animationstart').pipe(map(({ animationName }) => animationName === ON), skip(1));
33
- directiveStyles.addStyle(STYLE, 'TuiAutofilledDirective');
6
+ constructor(directiveStyles) {
7
+ this.autofilled = false;
8
+ this.tuiAutofilledChange = new EventEmitter();
9
+ directiveStyles.addComponent(TuiAutofilledStyleComponent);
10
+ }
11
+ transitionStartHandler({ propertyName, target }) {
12
+ var _a;
13
+ const matchedAutofill = propertyName.includes('box-shadow') && ((_a = target) === null || _a === void 0 ? void 0 : _a.matches('input'));
14
+ if (matchedAutofill) {
15
+ this.autofilled = !this.autofilled;
16
+ this.tuiAutofilledChange.emit(this.autofilled);
17
+ }
34
18
  }
35
19
  };
36
20
  TuiAutofilledDirective.ctorParameters = () => [
37
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
38
21
  { type: TuiDirectiveStylesService, decorators: [{ type: Inject, args: [TuiDirectiveStylesService,] }] }
39
22
  ];
23
+ __decorate([
24
+ HostBinding('class._autofilled')
25
+ ], TuiAutofilledDirective.prototype, "autofilled", void 0);
40
26
  __decorate([
41
27
  Output()
42
28
  ], TuiAutofilledDirective.prototype, "tuiAutofilledChange", void 0);
29
+ __decorate([
30
+ HostListener('transitionstart', ['$event'])
31
+ ], TuiAutofilledDirective.prototype, "transitionStartHandler", null);
43
32
  TuiAutofilledDirective = __decorate([
44
33
  Directive({
45
34
  selector: '[tuiAutofilledChange]',
46
- host: {
47
- class: 'tui-autofill',
48
- },
35
+ host: { class: 'tui-autofill' },
49
36
  }),
50
- __param(0, Inject(ElementRef)),
51
- __param(1, Inject(TuiDirectiveStylesService))
37
+ __param(0, Inject(TuiDirectiveStylesService))
52
38
  ], TuiAutofilledDirective);
53
39
  export { TuiAutofilledDirective };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztBQUMzQixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUM3QixNQUFNLEtBQUssR0FBRzthQUNELEVBQUU7Ozs7Ozs7Ozs7YUFVRixHQUFHOzs7Ozs7OztFQVFkLENBQUM7QUFFSCxXQUFXO0FBT1gsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFVL0IsWUFDeUMsVUFBd0MsRUFFN0UsZUFBMEM7UUFGTCxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQVR4RSx3QkFBbUIsR0FBRyxjQUFjLENBQ3pDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixnQkFBZ0IsQ0FDbkIsQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLENBQUMsRUFBQyxhQUFhLEVBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxLQUFLLEVBQUUsQ0FBQyxFQUM5QyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1YsQ0FBQztRQU9FLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNKLENBQUE7O1lBTndELFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO1lBRUQseUJBQXlCLHVCQUR6QyxNQUFNLFNBQUMseUJBQXlCOztBQVZyQztJQURDLE1BQU0sRUFBRTttRUFPUDtBQVJPLHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLElBQUksRUFBRTtZQUNGLEtBQUssRUFBRSxjQUFjO1NBQ3hCO0tBQ0osQ0FBQztJQVlPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUE7R0FaN0Isc0JBQXNCLENBaUJsQztTQWpCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0eXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1R1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHttYXAsIHNraXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgT04gPSAndHVpQXV0b2ZpbGxPbic7XG5jb25zdCBPRkYgPSAndHVpQXV0b2ZpbGxPZmYnO1xuY29uc3QgU1RZTEUgPSBgXG5Aa2V5ZnJhbWVzICR7T059IHtcbiAgICBmcm9tIHtcbiAgICAgICAgY29udGVudDogJzEnO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgY29udGVudDogJzInO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyAke09GRn0ge1xuICAgIGZyb20ge1xuICAgICAgICBjb250ZW50OiAnMic7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICBjb250ZW50OiAnMSc7XG4gICAgfVxufWA7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlBdXRvZmlsbGVkQ2hhbmdlXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3R1aS1hdXRvZmlsbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZERpcmVjdGl2ZSB7XG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHVpQXV0b2ZpbGxlZENoYW5nZSA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2FuaW1hdGlvbnN0YXJ0JyxcbiAgICApLnBpcGUoXG4gICAgICAgIG1hcCgoe2FuaW1hdGlvbk5hbWV9KSA9PiBhbmltYXRpb25OYW1lID09PSBPTiksXG4gICAgICAgIHNraXAoMSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlEaXJlY3RpdmVTdHlsZXNTZXJ2aWNlKVxuICAgICAgICBkaXJlY3RpdmVTdHlsZXM6IFR1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIGRpcmVjdGl2ZVN0eWxlcy5hZGRTdHlsZShTVFlMRSwgJ1R1aUF1dG9maWxsZWREaXJlY3RpdmUnKTtcbiAgICB9XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFNekUsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFPL0IsWUFDdUMsZUFBMEM7UUFOakYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUdWLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFLdkQsZUFBZSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQWtCOztRQUMxRCxNQUFNLGVBQWUsR0FDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBSyxNQUFrQiwwQ0FBRSxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUM7UUFFakYsSUFBSSxlQUFlLEVBQUU7WUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEQ7SUFDTCxDQUFDO0NBQ0osQ0FBQTs7WUFmMkQseUJBQXlCLHVCQUE1RSxNQUFNLFNBQUMseUJBQXlCOztBQU5yQztJQURDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQzswREFDZDtBQUduQjtJQURDLE1BQU0sRUFBRTttRUFDa0Q7QUFTM0Q7SUFEQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvRUFTM0M7QUF0QlEsc0JBQXNCO0lBSmxDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQztLQUNoQyxDQUFDO0lBU08sV0FBQSxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQTtHQVI3QixzQkFBc0IsQ0F1QmxDO1NBdkJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudH0gZnJvbSAnLi9hdXRvZmlsbGVkLXN0eWxlLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUF1dG9maWxsZWRDaGFuZ2VdJyxcbiAgICBob3N0OiB7Y2xhc3M6ICd0dWktYXV0b2ZpbGwnfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZERpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fYXV0b2ZpbGxlZCcpXG4gICAgYXV0b2ZpbGxlZCA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdHVpQXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURpcmVjdGl2ZVN0eWxlc1NlcnZpY2UpIGRpcmVjdGl2ZVN0eWxlczogVHVpRGlyZWN0aXZlU3R5bGVzU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgZGlyZWN0aXZlU3R5bGVzLmFkZENvbXBvbmVudChUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RyYW5zaXRpb25zdGFydCcsIFsnJGV2ZW50J10pXG4gICAgdHJhbnNpdGlvblN0YXJ0SGFuZGxlcih7cHJvcGVydHlOYW1lLCB0YXJnZXR9OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZEF1dG9maWxsID1cbiAgICAgICAgICAgIHByb3BlcnR5TmFtZS5pbmNsdWRlcygnYm94LXNoYWRvdycpICYmICh0YXJnZXQgYXMgRWxlbWVudCk/Lm1hdGNoZXMoJ2lucHV0Jyk7XG5cbiAgICAgICAgaWYgKG1hdGNoZWRBdXRvZmlsbCkge1xuICAgICAgICAgICAgdGhpcy5hdXRvZmlsbGVkID0gIXRoaXMuYXV0b2ZpbGxlZDtcbiAgICAgICAgICAgIHRoaXMudHVpQXV0b2ZpbGxlZENoYW5nZS5lbWl0KHRoaXMuYXV0b2ZpbGxlZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,13 +1,15 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from '@angular/core';
3
3
  import { TuiAutofilledDirective } from './autofilled.directive';
4
+ import { TuiAutofilledStyleComponent } from './autofilled-style.component';
4
5
  let TuiAutofilledModule = class TuiAutofilledModule {
5
6
  };
6
7
  TuiAutofilledModule = __decorate([
7
8
  NgModule({
8
- declarations: [TuiAutofilledDirective],
9
9
  exports: [TuiAutofilledDirective],
10
+ entryComponents: [TuiAutofilledStyleComponent],
11
+ declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],
10
12
  })
11
13
  ], TuiAutofilledModule);
12
14
  export { TuiAutofilledModule };
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBTTlELElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFKL0IsUUFBUSxDQUFDO1FBQ04sWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7UUFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDcEMsQ0FBQztHQUNXLG1CQUFtQixDQUFHO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWREaXJlY3RpdmV9IGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1R1aUF1dG9maWxsZWREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlBdXRvZmlsbGVkRGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b2ZpbGxlZE1vZHVsZSB7fVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZpbGxlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImF1dG9maWxsZWQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBT3pFLElBQWEsbUJBQW1CLEdBQWhDLE1BQWEsbUJBQW1CO0NBQUcsQ0FBQTtBQUF0QixtQkFBbUI7SUFML0IsUUFBUSxDQUFDO1FBQ04sT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7UUFDakMsZUFBZSxFQUFFLENBQUMsMkJBQTJCLENBQUM7UUFDOUMsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsMkJBQTJCLENBQUM7S0FDdEUsQ0FBQztHQUNXLG1CQUFtQixDQUFHO1NBQXRCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1R1aUF1dG9maWxsZWREaXJlY3RpdmV9IGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnR9IGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGV4cG9ydHM6IFtUdWlBdXRvZmlsbGVkRGlyZWN0aXZlXSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtUdWlBdXRvZmlsbGVkU3R5bGVDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aUF1dG9maWxsZWREaXJlY3RpdmUsIFR1aUF1dG9maWxsZWRTdHlsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9maWxsZWRNb2R1bGUge31cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './autofilled.directive';
2
2
  export * from './autofilled.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0b2ZpbGxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvZmlsbGVkLm1vZHVsZSc7XG4iXX0=
3
+ export * from './autofilled-style.component';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0b2ZpbGxlZC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvZmlsbGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9maWxsZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2ZpbGxlZC1zdHlsZS5jb21wb25lbnQnO1xuIl19