@taiga-ui/cdk 2.43.0 → 2.46.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 (445) hide show
  1. package/abstract/dialog.service.d.ts +2 -2
  2. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
  4. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-cdk-classes.umd.js +4 -2
  7. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-classes.umd.min.js +1 -1
  9. package/bundles/taiga-ui-cdk-classes.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-coercion.umd.js +3 -1
  11. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-coercion.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +4 -4
  16. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +2 -2
  18. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
  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.map +1 -1
  22. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-date-time.umd.js +40 -12
  25. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-date-time.umd.min.js +1 -1
  27. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-decorators.umd.js +0 -2
  29. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +132 -50
  34. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +2 -2
  36. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +41 -22
  38. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +2 -2
  40. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +3 -1
  46. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-cdk-directives-item.umd.js +1 -1
  53. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  54. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-media.umd.js +1 -0
  56. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-cdk-directives-portal.umd.js +281 -0
  61. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -0
  62. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +16 -0
  63. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +1 -0
  64. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-cdk-directives.umd.js +12 -4
  69. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  70. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  71. package/bundles/taiga-ui-cdk-observables.umd.js +1 -1
  72. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -7
  77. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  78. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  79. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-cdk-utils-focus.umd.js +2 -0
  83. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  84. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  86. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-utils-os.umd.js +25 -0
  88. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -0
  89. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +2 -0
  90. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -0
  91. package/bundles/taiga-ui-cdk-utils-svg.umd.js +259 -0
  92. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -0
  93. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +16 -0
  94. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -0
  95. package/bundles/taiga-ui-cdk-utils.umd.js +20 -4
  96. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-utils.umd.min.js +1 -1
  98. package/classes/assert.d.ts +1 -1
  99. package/classes/validation-error.d.ts +1 -1
  100. package/coercion/taiga-ui-cdk-coercion.metadata.json +1 -1
  101. package/components/alert-host/alert-host.component.d.ts +2 -2
  102. package/components/alert-host/taiga-ui-cdk-components-alert-host.metadata.json +1 -1
  103. package/components/dialog-host/dialog-host.component.d.ts +1 -1
  104. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  105. package/components/portal-host/portal.service.d.ts +1 -1
  106. package/constants/always-false-handler.d.ts +1 -1
  107. package/constants/always-true-handler.d.ts +1 -1
  108. package/constants/empty.d.ts +1 -1
  109. package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
  110. package/date-time/date-fillers.d.ts +0 -2
  111. package/date-time/day-range.d.ts +1 -2
  112. package/date-time/day.d.ts +4 -1
  113. package/date-time/month-range.d.ts +0 -1
  114. package/date-time/month.d.ts +1 -1
  115. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  116. package/date-time/time.d.ts +7 -0
  117. package/date-time/year.d.ts +7 -0
  118. package/decorators/default-prop.d.ts +1 -3
  119. package/decorators/pure.d.ts +1 -1
  120. package/decorators/taiga-ui-cdk-decorators.metadata.json +1 -1
  121. package/directives/auto-focus/autofocus.directive.d.ts +4 -13
  122. package/directives/auto-focus/autofocus.options.d.ts +13 -0
  123. package/directives/auto-focus/handlers/abstract.handler.d.ts +11 -0
  124. package/directives/auto-focus/handlers/default.handler.d.ts +9 -0
  125. package/directives/auto-focus/handlers/ios.handler.d.ts +10 -0
  126. package/directives/auto-focus/index.d.ts +4 -0
  127. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  128. package/directives/autofilled/autofilled-style.component.d.ts +2 -0
  129. package/directives/autofilled/autofilled.directive.d.ts +5 -4
  130. package/directives/autofilled/index.d.ts +1 -0
  131. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  132. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.metadata.json +1 -1
  133. package/directives/for/for.directive.d.ts +1 -1
  134. package/directives/high-dpi/high-dpi.directive.d.ts +1 -1
  135. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.metadata.json +1 -1
  136. package/directives/index.d.ts +1 -0
  137. package/directives/item/item.directive.d.ts +1 -1
  138. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  139. package/directives/portal/index.d.ts +2 -0
  140. package/directives/portal/package.json +13 -0
  141. package/directives/portal/portal.directive.d.ts +10 -0
  142. package/directives/portal/portal.module.d.ts +2 -0
  143. package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +4 -0
  144. package/directives/portal/taiga-ui-cdk-directives-portal.metadata.json +1 -0
  145. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  146. package/directives/validator/validator.directive.d.ts +1 -1
  147. package/esm2015/abstract/control.js +1 -1
  148. package/esm2015/abstract/controller.js +1 -1
  149. package/esm2015/abstract/dialog.service.js +1 -1
  150. package/esm2015/abstract/interactive.js +2 -2
  151. package/esm2015/abstract/multiple-control.js +1 -1
  152. package/esm2015/abstract/portal-service.js +1 -1
  153. package/esm2015/abstract/theme-switcher.js +1 -1
  154. package/esm2015/classes/assert.js +5 -3
  155. package/esm2015/classes/validation-error.js +1 -1
  156. package/esm2015/coercion/coerce-boolean-property.js +4 -2
  157. package/esm2015/components/alert-host/alert-host.component.js +1 -1
  158. package/esm2015/components/dialog-host/dialog-host.component.js +5 -5
  159. package/esm2015/components/portal-host/portal.service.js +2 -2
  160. package/esm2015/constants/always-false-handler.js +1 -1
  161. package/esm2015/constants/always-true-handler.js +1 -1
  162. package/esm2015/constants/empty.js +1 -1
  163. package/esm2015/constants/matcher.js +1 -1
  164. package/esm2015/date-time/date-fillers.js +1 -3
  165. package/esm2015/date-time/date-separator.js +1 -1
  166. package/esm2015/date-time/day-range.js +2 -2
  167. package/esm2015/date-time/day.js +12 -3
  168. package/esm2015/date-time/month-range.js +1 -2
  169. package/esm2015/date-time/month.js +5 -3
  170. package/esm2015/date-time/time.js +12 -1
  171. package/esm2015/date-time/year.js +13 -2
  172. package/esm2015/decorators/default-prop.js +1 -3
  173. package/esm2015/decorators/pure.js +1 -1
  174. package/esm2015/decorators/required-setter.js +1 -1
  175. package/esm2015/directives/active-zone/active-zone.directive.js +1 -1
  176. package/esm2015/directives/auto-focus/autofocus.directive.js +11 -87
  177. package/esm2015/directives/auto-focus/autofocus.options.js +27 -0
  178. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +25 -0
  179. package/esm2015/directives/auto-focus/handlers/default.handler.js +39 -0
  180. package/esm2015/directives/auto-focus/handlers/ios.handler.js +70 -0
  181. package/esm2015/directives/auto-focus/index.js +5 -1
  182. package/esm2015/directives/autofilled/autofilled-style.component.js +13 -0
  183. package/esm2015/directives/autofilled/autofilled.directive.js +23 -37
  184. package/esm2015/directives/autofilled/autofilled.module.js +4 -2
  185. package/esm2015/directives/autofilled/index.js +2 -1
  186. package/esm2015/directives/checked/checked.directive.js +1 -1
  187. package/esm2015/directives/copy-processor/copy-processor.directive.js +1 -1
  188. package/esm2015/directives/focus-trap/focus-trap.directive.js +4 -2
  189. package/esm2015/directives/for/for.directive.js +1 -1
  190. package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -1
  191. package/esm2015/directives/index.js +2 -1
  192. package/esm2015/directives/item/item.directive.js +2 -2
  193. package/esm2015/directives/media/media.directive.js +2 -1
  194. package/esm2015/directives/overscroll/overscroll.directive.js +1 -1
  195. package/esm2015/directives/portal/index.js +3 -0
  196. package/esm2015/directives/portal/portal.directive.js +36 -0
  197. package/esm2015/directives/portal/portal.module.js +13 -0
  198. package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
  199. package/esm2015/directives/repeat-times/repeat-times.directive.js +1 -1
  200. package/esm2015/directives/validator/validator.directive.js +1 -1
  201. package/esm2015/interfaces/alert-context.js +1 -0
  202. package/esm2015/interfaces/index.js +1 -1
  203. package/esm2015/observables/replay-control-value-changes.js +2 -2
  204. package/esm2015/services/destroy.service.js +1 -1
  205. package/esm2015/services/directive-styles.service.js +1 -1
  206. package/esm2015/services/parents-scroll.service.js +1 -1
  207. package/esm2015/tokens/index.js +2 -1
  208. package/esm2015/tokens/is-apple.js +5 -0
  209. package/esm2015/tokens/is-ios.js +4 -6
  210. package/esm2015/tokens/is-mobile.js +2 -2
  211. package/esm2015/utils/browser/index.js +2 -2
  212. package/esm2015/utils/browser/{is-IE.js → is-ie.js} +1 -1
  213. package/esm2015/utils/focus/blur-native-focused.js +1 -1
  214. package/esm2015/utils/focus/move-focus.js +1 -1
  215. package/esm2015/utils/focus/set-native-focused.js +3 -1
  216. package/esm2015/utils/focus/set-native-mouse-focused.js +1 -1
  217. package/esm2015/utils/index.js +3 -1
  218. package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
  219. package/esm2015/utils/os/index.js +3 -0
  220. package/esm2015/utils/os/is-apple.js +6 -0
  221. package/esm2015/utils/os/is-ios.js +7 -0
  222. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  223. package/esm2015/utils/svg/index.js +2 -0
  224. package/esm2015/utils/svg/svg-linear-gradient-processor.js +26 -0
  225. package/esm2015/utils/svg/taiga-ui-cdk-utils-svg.js +5 -0
  226. package/esm5/abstract/control.js +1 -1
  227. package/esm5/abstract/controller.js +1 -1
  228. package/esm5/abstract/dialog.service.js +1 -1
  229. package/esm5/abstract/interactive.js +2 -2
  230. package/esm5/abstract/multiple-control.js +1 -1
  231. package/esm5/abstract/portal-service.js +1 -1
  232. package/esm5/abstract/theme-switcher.js +1 -1
  233. package/esm5/classes/assert.js +5 -3
  234. package/esm5/classes/validation-error.js +1 -1
  235. package/esm5/coercion/coerce-boolean-property.js +4 -2
  236. package/esm5/components/alert-host/alert-host.component.js +1 -1
  237. package/esm5/components/dialog-host/dialog-host.component.js +5 -5
  238. package/esm5/components/portal-host/portal.service.js +2 -2
  239. package/esm5/constants/always-false-handler.js +1 -1
  240. package/esm5/constants/always-true-handler.js +1 -1
  241. package/esm5/constants/empty.js +1 -1
  242. package/esm5/constants/matcher.js +1 -1
  243. package/esm5/date-time/date-fillers.js +1 -3
  244. package/esm5/date-time/date-separator.js +2 -4
  245. package/esm5/date-time/day-range.js +2 -2
  246. package/esm5/date-time/day.js +12 -3
  247. package/esm5/date-time/month-range.js +1 -2
  248. package/esm5/date-time/month.js +5 -3
  249. package/esm5/date-time/time.js +12 -1
  250. package/esm5/date-time/year.js +13 -2
  251. package/esm5/decorators/default-prop.js +1 -3
  252. package/esm5/decorators/pure.js +1 -1
  253. package/esm5/decorators/required-setter.js +1 -1
  254. package/esm5/directives/active-zone/active-zone.directive.js +1 -1
  255. package/esm5/directives/auto-focus/autofocus.directive.js +11 -97
  256. package/esm5/directives/auto-focus/autofocus.options.js +27 -0
  257. package/esm5/directives/auto-focus/handlers/abstract.handler.js +34 -0
  258. package/esm5/directives/auto-focus/handlers/default.handler.js +43 -0
  259. package/esm5/directives/auto-focus/handlers/ios.handler.js +75 -0
  260. package/esm5/directives/auto-focus/index.js +5 -1
  261. package/esm5/directives/autofilled/autofilled-style.component.js +16 -0
  262. package/esm5/directives/autofilled/autofilled.directive.js +24 -21
  263. package/esm5/directives/autofilled/autofilled.module.js +4 -2
  264. package/esm5/directives/autofilled/index.js +2 -1
  265. package/esm5/directives/checked/checked.directive.js +1 -1
  266. package/esm5/directives/copy-processor/copy-processor.directive.js +1 -1
  267. package/esm5/directives/focus-trap/focus-trap.directive.js +4 -2
  268. package/esm5/directives/for/for.directive.js +1 -1
  269. package/esm5/directives/high-dpi/high-dpi.directive.js +1 -1
  270. package/esm5/directives/index.js +2 -1
  271. package/esm5/directives/item/item.directive.js +2 -2
  272. package/esm5/directives/media/media.directive.js +2 -1
  273. package/esm5/directives/overscroll/overscroll.directive.js +1 -1
  274. package/esm5/directives/portal/index.js +3 -0
  275. package/esm5/directives/portal/portal.directive.js +41 -0
  276. package/esm5/directives/portal/portal.module.js +16 -0
  277. package/esm5/directives/portal/taiga-ui-cdk-directives-portal.js +5 -0
  278. package/esm5/directives/repeat-times/repeat-times.directive.js +1 -1
  279. package/esm5/directives/validator/validator.directive.js +1 -1
  280. package/esm5/interfaces/alert-context.js +1 -0
  281. package/esm5/interfaces/index.js +1 -1
  282. package/esm5/observables/replay-control-value-changes.js +2 -2
  283. package/esm5/services/destroy.service.js +1 -1
  284. package/esm5/services/directive-styles.service.js +1 -1
  285. package/esm5/services/parents-scroll.service.js +1 -1
  286. package/esm5/tokens/index.js +2 -1
  287. package/esm5/tokens/is-apple.js +5 -0
  288. package/esm5/tokens/is-ios.js +4 -8
  289. package/esm5/tokens/is-mobile.js +2 -2
  290. package/esm5/utils/browser/index.js +2 -2
  291. package/esm5/utils/browser/{is-IE.js → is-ie.js} +1 -1
  292. package/esm5/utils/focus/blur-native-focused.js +1 -1
  293. package/esm5/utils/focus/move-focus.js +1 -1
  294. package/esm5/utils/focus/set-native-focused.js +3 -1
  295. package/esm5/utils/focus/set-native-mouse-focused.js +1 -1
  296. package/esm5/utils/index.js +3 -1
  297. package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +1 -1
  298. package/esm5/utils/os/index.js +3 -0
  299. package/esm5/utils/os/is-apple.js +6 -0
  300. package/esm5/utils/os/is-ios.js +7 -0
  301. package/esm5/utils/os/taiga-ui-cdk-utils-os.js +5 -0
  302. package/esm5/utils/svg/index.js +2 -0
  303. package/esm5/utils/svg/svg-linear-gradient-processor.js +29 -0
  304. package/esm5/utils/svg/taiga-ui-cdk-utils-svg.js +5 -0
  305. package/fesm2015/taiga-ui-cdk-abstract.js +1 -1
  306. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  307. package/fesm2015/taiga-ui-cdk-classes.js +4 -2
  308. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  309. package/fesm2015/taiga-ui-cdk-coercion.js +3 -1
  310. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  311. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  312. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +4 -4
  313. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  314. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  315. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  316. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  317. package/fesm2015/taiga-ui-cdk-date-time.js +39 -9
  318. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  319. package/fesm2015/taiga-ui-cdk-decorators.js +0 -2
  320. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  321. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  322. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +113 -46
  323. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  324. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +33 -37
  325. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  326. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  327. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  328. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +3 -1
  329. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  330. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  331. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  332. package/fesm2015/taiga-ui-cdk-directives-item.js +1 -1
  333. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  334. package/fesm2015/taiga-ui-cdk-directives-media.js +1 -0
  335. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  336. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  337. package/fesm2015/taiga-ui-cdk-directives-portal.js +51 -0
  338. package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -0
  339. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  340. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  341. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  342. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  343. package/fesm2015/taiga-ui-cdk-observables.js +1 -1
  344. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  345. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  346. package/fesm2015/taiga-ui-cdk-tokens.js +7 -8
  347. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  348. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  349. package/fesm2015/taiga-ui-cdk-utils-focus.js +2 -0
  350. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  351. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  352. package/fesm2015/taiga-ui-cdk-utils-os.js +18 -0
  353. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -0
  354. package/fesm2015/taiga-ui-cdk-utils-svg.js +32 -0
  355. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -0
  356. package/fesm2015/taiga-ui-cdk-utils.js +2 -0
  357. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  358. package/fesm5/taiga-ui-cdk-abstract.js +1 -1
  359. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  360. package/fesm5/taiga-ui-cdk-classes.js +4 -2
  361. package/fesm5/taiga-ui-cdk-classes.js.map +1 -1
  362. package/fesm5/taiga-ui-cdk-coercion.js +3 -1
  363. package/fesm5/taiga-ui-cdk-coercion.js.map +1 -1
  364. package/fesm5/taiga-ui-cdk-components-alert-host.js.map +1 -1
  365. package/fesm5/taiga-ui-cdk-components-dialog-host.js +4 -4
  366. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  367. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  368. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  369. package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
  370. package/fesm5/taiga-ui-cdk-date-time.js +40 -12
  371. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  372. package/fesm5/taiga-ui-cdk-decorators.js +0 -2
  373. package/fesm5/taiga-ui-cdk-decorators.js.map +1 -1
  374. package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  375. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +126 -51
  376. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  377. package/fesm5/taiga-ui-cdk-directives-autofilled.js +38 -22
  378. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  379. package/fesm5/taiga-ui-cdk-directives-checked.js.map +1 -1
  380. package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  381. package/fesm5/taiga-ui-cdk-directives-focus-trap.js +3 -1
  382. package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  383. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  384. package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  385. package/fesm5/taiga-ui-cdk-directives-item.js +1 -1
  386. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -1
  387. package/fesm5/taiga-ui-cdk-directives-media.js +1 -0
  388. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  389. package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  390. package/fesm5/taiga-ui-cdk-directives-portal.js +59 -0
  391. package/fesm5/taiga-ui-cdk-directives-portal.js.map +1 -0
  392. package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  393. package/fesm5/taiga-ui-cdk-directives-validator.js.map +1 -1
  394. package/fesm5/taiga-ui-cdk-directives.js +1 -0
  395. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  396. package/fesm5/taiga-ui-cdk-observables.js +1 -1
  397. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  398. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  399. package/fesm5/taiga-ui-cdk-tokens.js +7 -10
  400. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  401. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  402. package/fesm5/taiga-ui-cdk-utils-focus.js +2 -0
  403. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  404. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  405. package/fesm5/taiga-ui-cdk-utils-os.js +18 -0
  406. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -0
  407. package/fesm5/taiga-ui-cdk-utils-svg.js +36 -0
  408. package/fesm5/taiga-ui-cdk-utils-svg.js.map +1 -0
  409. package/fesm5/taiga-ui-cdk-utils.js +2 -0
  410. package/fesm5/taiga-ui-cdk-utils.js.map +1 -1
  411. package/interfaces/alert-context.d.ts +2 -0
  412. package/interfaces/index.d.ts +1 -0
  413. package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
  414. package/observables/replay-control-value-changes.d.ts +1 -1
  415. package/package.json +1 -1
  416. package/schematics/ng-add/constants/modules.d.ts +1 -1
  417. package/schematics/ng-add/constants/modules.js +2 -2
  418. package/schematics/ng-add/index.js +2 -10
  419. package/schematics/ng-add/schema.d.ts +1 -1
  420. package/schematics/ng-add/schema.json +3 -3
  421. package/schematics/ng-add/steps/add-taiga-icons.js +2 -10
  422. package/schematics/ng-add/steps/add-taiga-modules.js +3 -11
  423. package/schematics/ng-add/steps/add-taiga-styles.js +2 -10
  424. package/schematics/ng-add/steps/wrap-with-tui-root.js +2 -10
  425. package/schematics/ng-update/index.js +2 -10
  426. package/tokens/index.d.ts +1 -0
  427. package/tokens/is-apple.d.ts +2 -0
  428. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  429. package/utils/browser/index.d.ts +1 -1
  430. package/utils/browser/{is-IE.d.ts → is-ie.d.ts} +0 -0
  431. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
  432. package/utils/focus/set-native-focused.d.ts +2 -0
  433. package/utils/index.d.ts +2 -0
  434. package/utils/os/index.d.ts +2 -0
  435. package/utils/os/is-apple.d.ts +1 -0
  436. package/utils/os/is-ios.d.ts +1 -0
  437. package/utils/os/package.json +13 -0
  438. package/utils/os/taiga-ui-cdk-utils-os.d.ts +4 -0
  439. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -0
  440. package/utils/svg/index.d.ts +1 -0
  441. package/utils/svg/package.json +13 -0
  442. package/utils/svg/svg-linear-gradient-processor.d.ts +15 -0
  443. package/utils/svg/taiga-ui-cdk-utils-svg.d.ts +4 -0
  444. package/utils/svg/taiga-ui-cdk-utils-svg.metadata.json +1 -0
  445. package/utils/taiga-ui-cdk-utils.metadata.json +1 -1
@@ -84,7 +84,6 @@ var TuiMonth = /** @class */ (function (_super) {
84
84
  Object.defineProperty(TuiMonth.prototype, "formattedMonth", {
85
85
  /**
86
86
  * @deprecated
87
- * TODO remove in 3.0
88
87
  * Formatter month and year
89
88
  */
90
89
  get: function () {
@@ -165,7 +164,7 @@ var TuiMonth = /** @class */ (function (_super) {
165
164
  return (this.yearAfter(another) ||
166
165
  (this.yearSame(another) && this.month > another.month));
167
166
  };
168
- // TODO: Consider removing `backwards` option
167
+ // TODO: 3.0 Consider removing `backwards` option
169
168
  /**
170
169
  * Immutably alters current month and year by passed offset
171
170
  *
@@ -186,6 +185,9 @@ var TuiMonth = /** @class */ (function (_super) {
186
185
  TuiMonth.prototype.toString = function () {
187
186
  return this.formattedMonth;
188
187
  };
188
+ TuiMonth.prototype.valueOf = function () {
189
+ return this.toLocalNativeDate().valueOf();
190
+ };
189
191
  TuiMonth.prototype.toJSON = function () {
190
192
  return _super.prototype.toJSON.call(this) + "-" + this.formattedMonthPart;
191
193
  };
@@ -204,4 +206,4 @@ var TuiMonth = /** @class */ (function (_super) {
204
206
  return TuiMonth;
205
207
  }(TuiYear));
206
208
  export { TuiMonth };
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSDtJQUE4Qiw0QkFBTztJQUNqQzs7O09BR0c7SUFDSCxrQkFBWSxJQUFZLEVBQVcsS0FBYTtRQUFoRCxZQUNJLGtCQUFNLElBQUksQ0FBQyxTQUVkO1FBSGtDLFdBQUssR0FBTCxLQUFLLENBQVE7UUFFNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBWSxHQUFuQixVQUFvQixJQUFZLEVBQUUsS0FBYTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLDBCQUFpQixHQUF4QixVQUF5QixLQUFhLEVBQUUsVUFBbUI7UUFDdkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRCxRQUFRLEtBQUssRUFBRTtZQUNYO2dCQUNJLE9BQU8sVUFBVSxDQUFDLENB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Q0gseUJBQU0sR0FBTixVQUFPLEVBQW1DLEVBQUUsU0FBMEI7WUFBOUQsWUFBUSxFQUFSLDZCQUFRLEVBQUUsYUFBUyxFQUFULDhCQUFTO1FBQWlCLDBCQUFBLEVBQUEsaUJBQTBCO1FBQ2xFLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ1gsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2Y7UUFFRCxJQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRTdFLE9BQU8sSUFBSSxRQUFRLENBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLEVBQ3hDLFdBQVcsR0FBRyxjQUFjLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRUQsMkJBQVEsR0FBUjtRQUNJLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQseUJBQU0sR0FBTjtRQUNJLE9BQVUsaUJBQU0sTUFBTSxXQUFFLFNBQUksSUFBSSxDQUFDLGtCQUFvQixDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILG9DQUFpQixHQUFqQjtRQUNJLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0NBQWUsR0FBZjtRQUNJLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDTCxlQUFDO0FBQUQsQ0FBQyxBQWxORCxDQUE4QixPQUFPLEdBa05wQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlNb250aE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9lbnVtcyc7XG5pbXBvcnQge1R1aU1vbnRoTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7cGFkU3RhcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7aW5SYW5nZSwgbm9ybWFsaXplVG9JbnROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7REFZU19JTl9XRUVLLCBNQVhfTU9OVEgsIE1JTl9NT05USCwgTU9OVEhTX0lOX1lFQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpWWVhcn0gZnJvbSAnLi95ZWFyJztcblxuLyoqXG4gKiBJbW11dGFibGUgb2JqZWN0IGNvbnNpc3Rpbmcgb2YgeWVhciBhbmQgbW9udGhcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vbnRoIGV4dGVuZHMgVHVpWWVhciBpbXBsZW1lbnRzIFR1aU1vbnRoTGlrZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHllYXJcbiAgICAgKiBAcGFyYW0gbW9udGggKHN0YXJ0aW5nIHdpdGggMClcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih5ZWFyOiBudW1iZXIsIHJlYWRvbmx5IG1vbnRoOiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoeWVhcik7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpTW9udGguaXNWYWxpZE1vbnRoKHllYXIsIG1vbnRoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggYW5kIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRNb250aCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikgJiYgVHVpTW9udGguaXNWYWxpZE1vbnRoUGFydChtb250aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoXG4gICAgICovXG4gICAgc3RhdGljIGdldE1vbnRoRGF5c0NvdW50KG1vbnRoOiBudW1iZXIsIGlzTGVhcFllYXI6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aU1vbnRoLmlzVmFsaWRNb250aFBhcnQobW9udGgpKTtcblxuICAgICAgICBzd2l0Y2ggKG1vbnRoKSB7XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkZlYnJ1YXJ5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0xlYXBZZWFyID8gMjkgOiAyODtcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuQXByaWw6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkp1bmU6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLlNlcHRlbWJlcjpcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuTm92ZW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMwO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gMzE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYmFzZWQgb24gbG9jYWwgdGltZSB6b25lXG4gICAgICogQG5vc2lkZWVmZmVjdHNcbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudExvY2FsKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldEZ1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0TW9udGgoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyIGJhc2VkIG9uIFVUQ1xuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50VXRjKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldFVUQ0Z1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0VVRDTW9udGgoKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpTW9udGgsIHRvOiBUdWlNb250aCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGFic29sdXRlRnJvbSA9IGZyb20ubW9udGggKyBmcm9tLnllYXIgKiAxMjtcbiAgICAgICAgY29uc3QgYWJzb2x1dGVUbyA9IHRvLm1vbnRoICsgdG8ueWVhciAqIDEyO1xuXG4gICAgICAgIHJldHVybiBhYnNvbHV0ZVRvIC0gYWJzb2x1dGVGcm9tO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgbnVtYmVyIGJ5IGNsYW1waW5nIGl0IGJldHdlZW4gbWluIGFuZCBtYXggbW9udGhcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc3RhdGljIG5vcm1hbGl6ZU1vbnRoUGFydChtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZE1vbnRoUGFydChtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKG1vbnRoKSAmJiBpblJhbmdlKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCArIDEpO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRNb250aFBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLm1vbnRoICsgMSksIDIsICcwJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBUT0RPIHJlbW92ZSBpbiAzLjBcbiAgICAgKiBGb3JtYXR0ZXIgbW9udGggYW5kIHllYXJcbiAgICAgKi9cbiAgICBnZXQgZm9ybWF0dGVkTW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fS4ke3RoaXMuZm9ybWF0dGVkWWVhcn1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIENhbGN1bGF0ZXMgbnVtYmVyIG9mIHdlZWtzIGluIGEgbW9udGggKGNvdW50aW5nIG5vbi1mdWxsIHdlZWtzKVxuICAgICAqL1xuICAgIGdldCB3ZWVrc1Jvd3NDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCh0aGlzLm1vbnRoU3RhcnREYXlzT2Zmc2V0ICsgdGhpcy5kYXlzQ291bnQpIC8gREFZU19JTl9XRUVLKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRheXMgaW4gYSBtb250aFxuICAgICAqL1xuICAgIGdldCBkYXlzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KHRoaXMubW9udGgsIHRoaXMuaXNMZWFwWWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogQ29tcHV0ZXMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1vbnRoXG4gICAgICovXG4gICAgZ2V0IG1vbnRoU3RhcnREYXlzT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnllYXJTdGFydERheXNPZmZzZXQ7XG5cbiAgICAgICAgZm9yIChsZXQgY3VycmVudE1vbnRoID0gMDsgY3VycmVudE1vbnRoIDw9IHRoaXMubW9udGggLSAxOyBjdXJyZW50TW9udGgrKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9IFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KGN1cnJlbnRNb250aCwgdGhpcy5pc0xlYXBZZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQgJSBEQVlTX0lOX1dFRUs7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBvciB0aGUgc2FtZSBhcyBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8PSBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoU2FtZShhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoID09PSBhbm90aGVyLm1vbnRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgZWl0aGVyIGJlZm9yZSBvciBlcXVhbCB0byBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPj0gYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGJlZm9yZSBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPiBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRPRE86IENvbnNpZGVyIHJlbW92aW5nIGBiYWNrd2FyZHNgIG9wdGlvblxuICAgIC8qKlxuICAgICAqIEltbXV0YWJseSBhbHRlcnMgY3VycmVudCBtb250aCBhbmQgeWVhciBieSBwYXNzZWQgb2Zmc2V0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gb2Zmc2V0XG4gICAgICogQHBhcmFtIGJhY2t3YXJkcyBzaGlmdCBkYXRlIGJhY2t3YXJkc1xuICAgICAqIEByZXR1cm4gbmV3IG1vbnRoIGFuZCB5ZWFyIG9iamVjdCBhcyBhIHJlc3VsdCBvZiBvZmZzZXR0aW5nIGN1cnJlbnRcbiAgICAgKi9cbiAgICBhcHBlbmQoe3llYXIgPSAwLCBtb250aCA9IDB9OiBUdWlNb250aExpa2UsIGJhY2t3YXJkczogYm9vbGVhbiA9IGZhbHNlKTogVHVpTW9udGgge1xuICAgICAgICBpZiAoYmFja3dhcmRzKSB7XG4gICAgICAgICAgICB5ZWFyICo9IC0xO1xuICAgICAgICAgICAgbW9udGggKj0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b3RhbE1vbnRocyA9ICh0aGlzLnllYXIgKyB5ZWFyKSAqIE1PTlRIU19JTl9ZRUFSICsgdGhpcy5tb250aCArIG1vbnRoO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpTW9udGgoXG4gICAgICAgICAgICBNYXRoLmZsb29yKHRvdGFsTW9udGhzIC8gTU9OVEhTX0lOX1lFQVIpLFxuICAgICAgICAgICAgdG90YWxNb250aHMgJSBNT05USFNfSU5fWUVBUixcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRNb250aDtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3N1cGVyLnRvSlNPTigpfS0ke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBuYXRpdmUge0BsaW5rIERhdGV9IGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqL1xuICAgIHRvTG9jYWxOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG5hdGl2ZSB7QGxpbmsgRGF0ZX0gYmFzZWQgb24gVVRDXG4gICAgICovXG4gICAgdG9VdGNOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLCB0aGlzLm1vbnRoKSk7XG4gICAgfVxufVxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSDtJQUE4Qiw0QkFBTztJQUNqQzs7O09BR0c7SUFDSCxrQkFBWSxJQUFZLEVBQVcsS0FBYTtRQUFoRCxZQUNJLGtCQUFNLElBQUksQ0FBQyxTQUVkO1FBSGtDLFdBQUssR0FBTCxLQUFLLENBQVE7UUFFNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBWSxHQUFuQixVQUFvQixJQUFZLEVBQUUsS0FBYTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLDBCQUFpQixHQUF4QixVQUF5QixLQUFhLEVBQUUsVUFBbUI7UUFDdkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRCxRQUFRLEtBQUssRUFBRTtZQUNYO2dCQUNJLE9BQU8sVUFBVSxDQUFDLENB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlNb250aE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9lbnVtcyc7XG5pbXBvcnQge1R1aU1vbnRoTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7cGFkU3RhcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7aW5SYW5nZSwgbm9ybWFsaXplVG9JbnROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7REFZU19JTl9XRUVLLCBNQVhfTU9OVEgsIE1JTl9NT05USCwgTU9OVEhTX0lOX1lFQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpWWVhcn0gZnJvbSAnLi95ZWFyJztcblxuLyoqXG4gKiBJbW11dGFibGUgb2JqZWN0IGNvbnNpc3Rpbmcgb2YgeWVhciBhbmQgbW9udGhcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vbnRoIGV4dGVuZHMgVHVpWWVhciBpbXBsZW1lbnRzIFR1aU1vbnRoTGlrZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHllYXJcbiAgICAgKiBAcGFyYW0gbW9udGggKHN0YXJ0aW5nIHdpdGggMClcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih5ZWFyOiBudW1iZXIsIHJlYWRvbmx5IG1vbnRoOiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoeWVhcik7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpTW9udGguaXNWYWxpZE1vbnRoKHllYXIsIG1vbnRoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggYW5kIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRNb250aCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikgJiYgVHVpTW9udGguaXNWYWxpZE1vbnRoUGFydChtb250aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoXG4gICAgICovXG4gICAgc3RhdGljIGdldE1vbnRoRGF5c0NvdW50KG1vbnRoOiBudW1iZXIsIGlzTGVhcFllYXI6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aU1vbnRoLmlzVmFsaWRNb250aFBhcnQobW9udGgpKTtcblxuICAgICAgICBzd2l0Y2ggKG1vbnRoKSB7XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkZlYnJ1YXJ5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0xlYXBZZWFyID8gMjkgOiAyODtcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuQXByaWw6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkp1bmU6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLlNlcHRlbWJlcjpcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuTm92ZW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMwO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gMzE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYmFzZWQgb24gbG9jYWwgdGltZSB6b25lXG4gICAgICogQG5vc2lkZWVmZmVjdHNcbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudExvY2FsKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldEZ1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0TW9udGgoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyIGJhc2VkIG9uIFVUQ1xuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50VXRjKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldFVUQ0Z1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0VVRDTW9udGgoKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpTW9udGgsIHRvOiBUdWlNb250aCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGFic29sdXRlRnJvbSA9IGZyb20ubW9udGggKyBmcm9tLnllYXIgKiAxMjtcbiAgICAgICAgY29uc3QgYWJzb2x1dGVUbyA9IHRvLm1vbnRoICsgdG8ueWVhciAqIDEyO1xuXG4gICAgICAgIHJldHVybiBhYnNvbHV0ZVRvIC0gYWJzb2x1dGVGcm9tO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgbnVtYmVyIGJ5IGNsYW1waW5nIGl0IGJldHdlZW4gbWluIGFuZCBtYXggbW9udGhcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc3RhdGljIG5vcm1hbGl6ZU1vbnRoUGFydChtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZE1vbnRoUGFydChtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKG1vbnRoKSAmJiBpblJhbmdlKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCArIDEpO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRNb250aFBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLm1vbnRoICsgMSksIDIsICcwJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBGb3JtYXR0ZXIgbW9udGggYW5kIHllYXJcbiAgICAgKi9cbiAgICBnZXQgZm9ybWF0dGVkTW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fS4ke3RoaXMuZm9ybWF0dGVkWWVhcn1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIENhbGN1bGF0ZXMgbnVtYmVyIG9mIHdlZWtzIGluIGEgbW9udGggKGNvdW50aW5nIG5vbi1mdWxsIHdlZWtzKVxuICAgICAqL1xuICAgIGdldCB3ZWVrc1Jvd3NDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCh0aGlzLm1vbnRoU3RhcnREYXlzT2Zmc2V0ICsgdGhpcy5kYXlzQ291bnQpIC8gREFZU19JTl9XRUVLKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRheXMgaW4gYSBtb250aFxuICAgICAqL1xuICAgIGdldCBkYXlzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KHRoaXMubW9udGgsIHRoaXMuaXNMZWFwWWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogQ29tcHV0ZXMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1vbnRoXG4gICAgICovXG4gICAgZ2V0IG1vbnRoU3RhcnREYXlzT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnllYXJTdGFydERheXNPZmZzZXQ7XG5cbiAgICAgICAgZm9yIChsZXQgY3VycmVudE1vbnRoID0gMDsgY3VycmVudE1vbnRoIDw9IHRoaXMubW9udGggLSAxOyBjdXJyZW50TW9udGgrKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9IFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KGN1cnJlbnRNb250aCwgdGhpcy5pc0xlYXBZZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQgJSBEQVlTX0lOX1dFRUs7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBvciB0aGUgc2FtZSBhcyBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8PSBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoU2FtZShhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoID09PSBhbm90aGVyLm1vbnRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgZWl0aGVyIGJlZm9yZSBvciBlcXVhbCB0byBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPj0gYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGJlZm9yZSBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPiBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRPRE86IDMuMCBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgYWx0ZXJzIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYnkgcGFzc2VkIG9mZnNldFxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZnNldFxuICAgICAqIEBwYXJhbSBiYWNrd2FyZHMgc2hpZnQgZGF0ZSBiYWNrd2FyZHNcbiAgICAgKiBAcmV0dXJuIG5ldyBtb250aCBhbmQgeWVhciBvYmplY3QgYXMgYSByZXN1bHQgb2Ygb2Zmc2V0dGluZyBjdXJyZW50XG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMCwgbW9udGggPSAwfTogVHVpTW9udGhMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkcykge1xuICAgICAgICAgICAgeWVhciAqPSAtMTtcbiAgICAgICAgICAgIG1vbnRoICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG90YWxNb250aHMgPSAodGhpcy55ZWFyICsgeWVhcikgKiBNT05USFNfSU5fWUVBUiArIHRoaXMubW9udGggKyBtb250aDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgTWF0aC5mbG9vcih0b3RhbE1vbnRocyAvIE1PTlRIU19JTl9ZRUFSKSxcbiAgICAgICAgICAgIHRvdGFsTW9udGhzICUgTU9OVEhTX0lOX1lFQVIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkTW9udGg7XG4gICAgfVxuXG4gICAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50b0xvY2FsTmF0aXZlRGF0ZSgpLnZhbHVlT2YoKTtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3N1cGVyLnRvSlNPTigpfS0ke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBuYXRpdmUge0BsaW5rIERhdGV9IGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqL1xuICAgIHRvTG9jYWxOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG5hdGl2ZSB7QGxpbmsgRGF0ZX0gYmFzZWQgb24gVVRDXG4gICAgICovXG4gICAgdG9VdGNOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLCB0aGlzLm1vbnRoKSk7XG4gICAgfVxufVxuIl19
@@ -104,6 +104,17 @@ var TuiTime = /** @class */ (function () {
104
104
  ("" + (needAddSeconds ? ":" + this.formatTime(this.seconds) : '')) +
105
105
  ("" + (needAddMs ? "." + this.formatTime(this.ms, 3) : '')));
106
106
  };
107
+ TuiTime.prototype.valueOf = function () {
108
+ return this.toAbsoluteMilliseconds();
109
+ };
110
+ /**
111
+ * Returns the primitive value of the given Date object.
112
+ * Depending on the argument, the method can return either a string or a number.
113
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
114
+ */
115
+ TuiTime.prototype[Symbol.toPrimitive] = function (hint) {
116
+ return Date.prototype[Symbol.toPrimitive].call(this, hint);
117
+ };
107
118
  /**
108
119
  * Converts TuiTime to milliseconds
109
120
  */
@@ -120,4 +131,4 @@ var TuiTime = /** @class */ (function () {
120
131
  return TuiTime;
121
132
  }());
122
133
  export { TuiTime };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRCxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckI7O0dBRUc7QUFDSDtJQUNJLGlCQUNhLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFdkIsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUNoRCw2QkFBNkIsRUFDN0IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUNJLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBRWQsT0FBTyxDQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFL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LE1BQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUEsQ0FDMUQsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILHdDQUFzQixHQUF0QjtRQUNJLE9BQU8sQ0FDSCxJQUFJLENBQUMsS0FBSyxHQUFHLG9CQUFvQjtZQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLHNCQUFzQjtZQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUk7WUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FDVixDQUFDO0lBQ04sQ0FBQztJQUVPLDRCQUFVLEdBQWxCLFVBQW1CLElBQVksRUFBRSxNQUFrQjtRQUFsQix1QkFBQSxFQUFBLFVBQWtCO1FBQy9DLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNMLGNBQUM7QUFBRCxDQUFDLEFBcktELElBcUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVRpbWVMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlUaW1lTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3BhZFN0YXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge2luUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7XG4gICAgSE9VUlNfSU5fREFZLFxuICAgIE1JTExJU0VDT05EU19JTl9EQVksXG4gICAgTUlMTElTRUNPTkRTX0lOX0hPVVIsXG4gICAgTUlMTElTRUNPTkRTX0lOX01JTlVURSxcbiAgICBNSU5VVEVTX0lOX0hPVVIsXG4gICAgU0VDT05EU19JTl9NSU5VVEUsXG59IGZyb20gJy4vZGF0ZS10aW1lJztcblxuLyoqXG4gKiBJbW11dGFibGUgdGltZSBvYmplY3Qgd2l0aCBob3VycywgbWludXRlcywgc2Vjb25kcyBhbmQgbXNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aVRpbWUgaW1wbGVtZW50cyBUdWlUaW1lTGlrZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGhvdXJzOiBudW1iZXIsXG4gICAgICAgIHJlYWRvbmx5IG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgcmVhZG9ubHkgc2Vjb25kczogbnVtYmVyID0gMCxcbiAgICAgICAgcmVhZG9ubHkgbXM6IG51bWJlciA9IDAsXG4gICAgKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICBUdWlUaW1lLmlzVmFsaWRUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyksXG4gICAgICAgICAgICAnVGltZSBtdXN0IGJlIHJlYWwsIGJ1dCBnb3Q6JyxcbiAgICAgICAgICAgIGhvdXJzLFxuICAgICAgICAgICAgbWludXRlcyxcbiAgICAgICAgICAgIHNlY29uZHMsXG4gICAgICAgICAgICBtcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGltZSBpcyB2YWxpZFxuICAgICAqL1xuICAgIHN0YXRpYyBpc1ZhbGlkVGltZShcbiAgICAgICAgaG91cnM6IG51bWJlcixcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxuICAgICAgICBzZWNvbmRzOiBudW1iZXIgPSAwLFxuICAgICAgICBtczogbnVtYmVyID0gMCxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIoaG91cnMpICYmXG4gICAgICAgICAgICBpblJhbmdlKGhvdXJzLCAwLCBIT1VSU19JTl9EQVkpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1pbnV0ZXMpICYmXG4gICAgICAgICAgICBpblJhbmdlKG1pbnV0ZXMsIDAsIE1JTlVURVNfSU5fSE9VUikgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIoc2Vjb25kcykgJiZcbiAgICAgICAgICAgIGluUmFuZ2Uoc2Vjb25kcywgMCwgU0VDT05EU19JTl9NSU5VVEUpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKG1zKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShtcywgMCwgMTAwMClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDdXJyZW50IFVUQyB0aW1lLlxuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50KCk6IFR1aVRpbWUge1xuICAgICAgICByZXR1cm4gVHVpVGltZS5mcm9tQWJzb2x1dGVNaWxsaXNlY29uZHMoRGF0ZS5ub3coKSAlIE1JTExJU0VDT05EU19JTl9EQVkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgdGltZSBpbiBsb2NhbCB0aW1lem9uZVxuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50TG9jYWwoKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhcbiAgICAgICAgICAgIChEYXRlLm5vdygpIC0gZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpICogTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJVxuICAgICAgICAgICAgICAgIE1JTExJU0VDT05EU19JTl9EQVksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsY3VsYXRlcyBUdWlUaW1lIGZyb20gbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgc3RhdGljIGZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhtaWxsaXNlY29uZHM6IG51bWJlcik6IFR1aVRpbWUge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIobWlsbGlzZWNvbmRzKSk7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICBpblJhbmdlKG1pbGxpc2Vjb25kcywgMCwgTUlMTElTRUNPTkRTX0lOX0RBWSksXG4gICAgICAgICAgICBgTWlsbGlzZWNvbmRzIG11c3QgYmUgYmVsb3cgJHtNSUxMSVNFQ09ORFNfSU5fREFZfSAobWlsbGlzZWNvbmRzIGluIGEgZGF5KS5gLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihtaWxsaXNlY29uZHMgLyBNSUxMSVNFQ09ORFNfSU5fSE9VUik7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKFxuICAgICAgICAgICAgKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAvIE1JTExJU0VDT05EU19JTl9NSU5VVEUsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPVxuICAgICAgICAgICAgTWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgICAoKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAlIE1JTExJU0VDT05EU19JTl9NSU5VVEUpIC8gMTAwMCxcbiAgICAgICAgICAgICkgfHwgMDtcbiAgICAgICAgY29uc3QgbXMgPVxuICAgICAgICAgICAgTWF0aC5mbG9vcihcbiAgICAgICAgICAgICAgICAoKG1pbGxpc2Vjb25kcyAlIE1JTExJU0VDT05EU19JTl9IT1VSKSAlIE1JTExJU0VDT05EU19JTl9NSU5VVEUpICUgMTAwMCxcbiAgICAgICAgICAgICkgfHwgMDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJzZXMgc3RyaW5nIGludG8gVHVpVGltZSBvYmplY3RcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbVN0cmluZyh0aW1lOiBzdHJpbmcpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgaG91cnMgPSBOdW1iZXIodGltZS5zbGljZSgwLCAyKSk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXMgPSBOdW1iZXIodGltZS5zbGljZSgzLCA1KSk7XG4gICAgICAgIGNvbnN0IHNlY29uZHMgPSBOdW1iZXIodGltZS5zbGljZSg2LCA4KSkgfHwgMDtcbiAgICAgICAgY29uc3QgbXMgPSBOdW1iZXIodGltZS5zbGljZSg5LCAxMikpIHx8IDA7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgRGF0ZSBvYmplY3QgaW50byBUdWlUaW1lXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlOiBEYXRlKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShcbiAgICAgICAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICAgICAgICBkYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNoaWZ0cyB0aW1lIGJ5IGhvdXJzIGFuZCBtaW51dGVzXG4gICAgICovXG4gICAgc2hpZnQoe2hvdXJzID0gMCwgbWludXRlcyA9IDAsIHNlY29uZHMgPSAwLCBtcyA9IDB9OiBUdWlUaW1lTGlrZSk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBuZXdNcyA9ICgxMDAwICsgdGhpcy5tcyArIChtcyAlIDEwMDApKSAlIDEwMDA7XG5cbiAgICAgICAgY29uc3Qgc2Vjb25kc0luTXMgPSBtcyA8IDAgPyBNYXRoLmNlaWwobXMgLyAxMDAwKSA6IE1hdGguZmxvb3IobXMgLyAxMDAwKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kc1RvQWRkID0gc2Vjb25kc0luTXMgKyBzZWNvbmRzO1xuICAgICAgICBjb25zdCBuZXdTZWNvbmRzID0gKDYwICsgdGhpcy5zZWNvbmRzICsgKHNlY29uZHNUb0FkZCAlIDYwKSkgJSA2MDtcblxuICAgICAgICBjb25zdCBtaW51dGVzSW5TZWNvbmRzID1cbiAgICAgICAgICAgIHNlY29uZHNUb0FkZCA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGguY2VpbChzZWNvbmRzVG9BZGQgLyA2MClcbiAgICAgICAgICAgICAgICA6IE1hdGguZmxvb3Ioc2Vjb25kc1RvQWRkIC8gNjApO1xuICAgICAgICBjb25zdCBtaW51dGVzVG9BZGQgPSBtaW51dGVzSW5TZWNvbmRzICsgbWludXRlcztcbiAgICAgICAgY29uc3QgbmV3TWludXRlcyA9ICg2MCArIHRoaXMubWludXRlcyArIChtaW51dGVzVG9BZGQgJSA2MCkpICUgNjA7XG5cbiAgICAgICAgY29uc3QgaG91cnNJbk1pbnV0ZXMgPVxuICAgICAgICAgICAgbWludXRlc1RvQWRkIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKG1pbnV0ZXNUb0FkZCAvIDYwKVxuICAgICAgICAgICAgICAgIDogTWF0aC5mbG9vcihtaW51dGVzVG9BZGQgLyA2MCk7XG4gICAgICAgIGNvbnN0IGhvdXJzVG9BZGQgPSBob3Vyc0luTWludXRlcyArIGhvdXJzO1xuICAgICAgICBjb25zdCBuZXdIb3VycyA9ICgyNCArIHRoaXMuaG91cnMgKyAoaG91cnNUb0FkZCAlIDI0KSkgJSAyNDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUobmV3SG91cnMsIG5ld01pbnV0ZXMsIG5ld1NlY29uZHMsIG5ld01zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIHN0cmluZ1xuICAgICAqL1xuICAgIHRvU3RyaW5nKG1vZGU/OiBUdWlUaW1lTW9kZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG5lZWRBZGRNcyA9IG1vZGUgPT09ICdISDpNTTpTUy5NU1MnIHx8ICghbW9kZSAmJiB0aGlzLm1zID4gMCk7XG4gICAgICAgIGNvbnN0IG5lZWRBZGRTZWNvbmRzID1cbiAgICAgICAgICAgIG5lZWRBZGRNcyB8fCBtb2RlID09PSAnSEg6TU06U1MnIHx8ICghbW9kZSAmJiB0aGlzLnNlY29uZHMgPiAwKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgYCR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuaG91cnMpfToke3RoaXMuZm9ybWF0VGltZSh0aGlzLm1pbnV0ZXMpfWAgK1xuICAgICAgICAgICAgYCR7bmVlZEFkZFNlY29uZHMgPyBgOiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuc2Vjb25kcyl9YCA6ICcnfWAgK1xuICAgICAgICAgICAgYCR7bmVlZEFkZE1zID8gYC4ke3RoaXMuZm9ybWF0VGltZSh0aGlzLm1zLCAzKX1gIDogJyd9YFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFR1aVRpbWUgdG8gbWlsbGlzZWNvbmRzXG4gICAgICovXG4gICAgdG9BYnNvbHV0ZU1pbGxpc2Vjb25kcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5ob3VycyAqIE1JTExJU0VDT05EU19JTl9IT1VSICtcbiAgICAgICAgICAgIHRoaXMubWludXRlcyAqIE1JTExJU0VDT05EU19JTl9NSU5VVEUgK1xuICAgICAgICAgICAgdGhpcy5zZWNvbmRzICogMTAwMCArXG4gICAgICAgICAgICB0aGlzLm1zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRUaW1lKHRpbWU6IG51bWJlciwgZGlnaXRzOiBudW1iZXIgPSAyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aW1lKSwgZGlnaXRzLCAnMCcpO1xuICAgIH1cbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRCxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckI7O0dBRUc7QUFDSDtJQUNJLGlCQUNhLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFdkIsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUNoRCw2QkFBNkIsRUFDN0IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUNJLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBRWQsT0FBTyxDQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFL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LE1BQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUEsQ0FDMUQsQ0FBQztJQUNOLENBQUM7SUFFRCx5QkFBTyxHQUFQO1FBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBcEIsVUFBcUIsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0NBQXNCLEdBQXRCO1FBQ0ksT0FBTyxDQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQXNCO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0lBRU8sNEJBQVUsR0FBbEIsVUFBbUIsSUFBWSxFQUFFLE1BQWtCO1FBQWxCLHVCQUFBLEVBQUEsVUFBa0I7UUFDL0MsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFsTEQsSUFrTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpVGltZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVRpbWVNb2RlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7cGFkU3RhcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7aW5SYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBIT1VSU19JTl9EQVksXG4gICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fSE9VUixcbiAgICBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFLFxuICAgIE1JTlVURVNfSU5fSE9VUixcbiAgICBTRUNPTkRTX0lOX01JTlVURSxcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB0aW1lIG9iamVjdCB3aXRoIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzIGFuZCBtc1xuICovXG5leHBvcnQgY2xhc3MgVHVpVGltZSBpbXBsZW1lbnRzIFR1aVRpbWVMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgaG91cnM6IG51bWJlcixcbiAgICAgICAgcmVhZG9ubHkgbWludXRlczogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBzZWNvbmRzOiBudW1iZXIgPSAwLFxuICAgICAgICByZWFkb25seSBtczogbnVtYmVyID0gMCxcbiAgICApIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgIFR1aVRpbWUuaXNWYWxpZFRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKSxcbiAgICAgICAgICAgICdUaW1lIG11c3QgYmUgcmVhbCwgYnV0IGdvdDonLFxuICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgIG1zLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aW1lIGlzIHZhbGlkXG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRUaW1lKFxuICAgICAgICBob3VyczogbnVtYmVyLFxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHNlY29uZHM6IG51bWJlciA9IDAsXG4gICAgICAgIG1zOiBudW1iZXIgPSAwLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihob3VycykgJiZcbiAgICAgICAgICAgIGluUmFuZ2UoaG91cnMsIDAsIEhPVVJTX0lOX0RBWSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobWludXRlcykgJiZcbiAgICAgICAgICAgIGluUmFuZ2UobWludXRlcywgMCwgTUlOVVRFU19JTl9IT1VSKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihzZWNvbmRzKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShzZWNvbmRzLCAwLCBTRUNPTkRTX0lOX01JTlVURSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobXMpICYmXG4gICAgICAgICAgICBpblJhbmdlKG1zLCAwLCAxMDAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgVVRDIHRpbWUuXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnQoKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhEYXRlLm5vdygpICUgTUlMTElTRUNPTkRTX0lOX0RBWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCB0aW1lIGluIGxvY2FsIHRpbWV6b25lXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnRMb2NhbCgpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKFxuICAgICAgICAgICAgKERhdGUubm93KCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAlXG4gICAgICAgICAgICAgICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIFR1aVRpbWUgZnJvbSBtaWxsaXNlY29uZHNcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kczogbnVtYmVyKTogVHVpVGltZSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihtaWxsaXNlY29uZHMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgIGluUmFuZ2UobWlsbGlzZWNvbmRzLCAwLCBNSUxMSVNFQ09ORFNfSU5fREFZKSxcbiAgICAgICAgICAgIGBNaWxsaXNlY29uZHMgbXVzdCBiZSBiZWxvdyAke01JTExJU0VDT05EU19JTl9EQVl9IChtaWxsaXNlY29uZHMgaW4gYSBkYXkpLmAsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbGxpc2Vjb25kcyAvIE1JTExJU0VDT05EU19JTl9IT1VSKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoXG4gICAgICAgICAgICAobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpIC8gTUlMTElTRUNPTkRTX0lOX01JTlVURSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgLyAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJSAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBzdHJpbmcgaW50byBUdWlUaW1lIG9iamVjdFxuICAgICAqL1xuICAgIHN0YXRpYyBmcm9tU3RyaW5nKHRpbWU6IHN0cmluZyk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBob3VycyA9IE51bWJlcih0aW1lLnNsaWNlKDAsIDIpKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE51bWJlcih0aW1lLnNsaWNlKDMsIDUpKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9IE51bWJlcih0aW1lLnNsaWNlKDYsIDgpKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9IE51bWJlcih0aW1lLnNsaWNlKDksIDEyKSkgfHwgMDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBEYXRlIG9iamVjdCBpbnRvIFR1aVRpbWVcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHN0YXRpYyBmcm9tTG9jYWxOYXRpdmVEYXRlKGRhdGU6IERhdGUpOiBUdWlUaW1lIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKFxuICAgICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hpZnRzIHRpbWUgYnkgaG91cnMgYW5kIG1pbnV0ZXNcbiAgICAgKi9cbiAgICBzaGlmdCh7aG91cnMgPSAwLCBtaW51dGVzID0gMCwgc2Vjb25kcyA9IDAsIG1zID0gMH06IFR1aVRpbWVMaWtlKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IG5ld01zID0gKDEwMDAgKyB0aGlzLm1zICsgKG1zICUgMTAwMCkpICUgMTAwMDtcblxuICAgICAgICBjb25zdCBzZWNvbmRzSW5NcyA9IG1zIDwgMCA/IE1hdGguY2VpbChtcyAvIDEwMDApIDogTWF0aC5mbG9vcihtcyAvIDEwMDApO1xuICAgICAgICBjb25zdCBzZWNvbmRzVG9BZGQgPSBzZWNvbmRzSW5NcyArIHNlY29uZHM7XG4gICAgICAgIGNvbnN0IG5ld1NlY29uZHMgPSAoNjAgKyB0aGlzLnNlY29uZHMgKyAoc2Vjb25kc1RvQWRkICUgNjApKSAlIDYwO1xuXG4gICAgICAgIGNvbnN0IG1pbnV0ZXNJblNlY29uZHMgPVxuICAgICAgICAgICAgc2Vjb25kc1RvQWRkIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKHNlY29uZHNUb0FkZCAvIDYwKVxuICAgICAgICAgICAgICAgIDogTWF0aC5mbG9vcihzZWNvbmRzVG9BZGQgLyA2MCk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXNUb0FkZCA9IG1pbnV0ZXNJblNlY29uZHMgKyBtaW51dGVzO1xuICAgICAgICBjb25zdCBuZXdNaW51dGVzID0gKDYwICsgdGhpcy5taW51dGVzICsgKG1pbnV0ZXNUb0FkZCAlIDYwKSkgJSA2MDtcblxuICAgICAgICBjb25zdCBob3Vyc0luTWludXRlcyA9XG4gICAgICAgICAgICBtaW51dGVzVG9BZGQgPCAwXG4gICAgICAgICAgICAgICAgPyBNYXRoLmNlaWwobWludXRlc1RvQWRkIC8gNjApXG4gICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKG1pbnV0ZXNUb0FkZCAvIDYwKTtcbiAgICAgICAgY29uc3QgaG91cnNUb0FkZCA9IGhvdXJzSW5NaW51dGVzICsgaG91cnM7XG4gICAgICAgIGNvbnN0IG5ld0hvdXJzID0gKDI0ICsgdGhpcy5ob3VycyArIChob3Vyc1RvQWRkICUgMjQpKSAlIDI0O1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShuZXdIb3VycywgbmV3TWludXRlcywgbmV3U2Vjb25kcywgbmV3TXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFR1aVRpbWUgdG8gc3RyaW5nXG4gICAgICovXG4gICAgdG9TdHJpbmcobW9kZT86IFR1aVRpbWVNb2RlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbmVlZEFkZE1zID0gbW9kZSA9PT0gJ0hIOk1NOlNTLk1TUycgfHwgKCFtb2RlICYmIHRoaXMubXMgPiAwKTtcbiAgICAgICAgY29uc3QgbmVlZEFkZFNlY29uZHMgPVxuICAgICAgICAgICAgbmVlZEFkZE1zIHx8IG1vZGUgPT09ICdISDpNTTpTUycgfHwgKCFtb2RlICYmIHRoaXMuc2Vjb25kcyA+IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5ob3Vycyl9OiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubWludXRlcyl9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkU2Vjb25kcyA/IGA6JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5zZWNvbmRzKX1gIDogJyd9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkTXMgPyBgLiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubXMsIDMpfWAgOiAnJ31gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIHRoZSBnaXZlbiBEYXRlIG9iamVjdC5cbiAgICAgKiBEZXBlbmRpbmcgb24gdGhlIGFyZ3VtZW50LCB0aGUgbWV0aG9kIGNhbiByZXR1cm4gZWl0aGVyIGEgc3RyaW5nIG9yIGEgbnVtYmVyLlxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS9AQHRvUHJpbWl0aXZlXG4gICAgICovXG4gICAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludDogc3RyaW5nKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIERhdGUucHJvdG90eXBlW1N5bWJvbC50b1ByaW1pdGl2ZV0uY2FsbCh0aGlzLCBoaW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaG91cnMgKiBNSUxMSVNFQ09ORFNfSU5fSE9VUiArXG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFICtcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kcyAqIDEwMDAgK1xuICAgICAgICAgICAgdGhpcy5tc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0czogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYWRTdGFydChTdHJpbmcodGltZSksIGRpZ2l0cywgJzAnKTtcbiAgICB9XG59XG4iXX0=
@@ -130,7 +130,7 @@ var TuiYear = /** @class */ (function () {
130
130
  var year = _a.year;
131
131
  return this.year > year;
132
132
  };
133
- // TODO: Consider removing `backwards` option
133
+ // TODO: 3.0 Consider removing `backwards` option
134
134
  /**
135
135
  * Immutably offsets year
136
136
  */
@@ -148,10 +148,21 @@ var TuiYear = /** @class */ (function () {
148
148
  TuiYear.prototype.toString = function () {
149
149
  return this.formattedYear;
150
150
  };
151
+ TuiYear.prototype.valueOf = function () {
152
+ return this.year;
153
+ };
154
+ /**
155
+ * Returns the primitive value of the given Date object.
156
+ * Depending on the argument, the method can return either a string or a number.
157
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
158
+ */
159
+ TuiYear.prototype[Symbol.toPrimitive] = function (hint) {
160
+ return Date.prototype[Symbol.toPrimitive].call(this, hint);
161
+ };
151
162
  TuiYear.prototype.toJSON = function () {
152
163
  return this.formattedYear;
153
164
  };
154
165
  return TuiYear;
155
166
  }());
156
167
  export { TuiYear };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSDtJQUNJLGlCQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUFtQixJQUFZO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksa0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1QyxPQUFPLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSw0QkFBb0IsR0FBM0IsVUFBNEIsSUFB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QUksR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELDZDQUE2QztJQUM3Qzs7T0FFRztJQUNILHdCQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLFNBQTBCO1lBQWxELFlBQVEsRUFBUiw2QkFBUTtRQUFnQiwwQkFBQSxFQUFBLGlCQUEwQjtRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMEJBQVEsR0FBUjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsd0JBQU0sR0FBTjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFwSkQsSUFvSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpWWVhckxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge3BhZFN0YXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge2luUmFuZ2UsIG5vcm1hbGl6ZVRvSW50TnVtYmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuXG5pbXBvcnQge1xuICAgIERBWVNfSU5fTEVBUF9ZRUFSLFxuICAgIERBWVNfSU5fTk9STUFMX1lFQVIsXG4gICAgREFZU19JTl9XRUVLLFxuICAgIE1BWF9ZRUFSLFxuICAgIE1JTl9ZRUFSLFxufSBmcm9tICcuL2RhdGUtdGltZSc7XG5cbi8qKlxuICogSW1tdXRhYmxlIHllYXIgb2JqZWN0XG4gKiBAbm9zaWRlZWZmZWN0c1xuICovXG5leHBvcnQgY2xhc3MgVHVpWWVhciBpbXBsZW1lbnRzIFR1aVllYXJMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSB5ZWFyOiBudW1iZXIpIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgeWVhciBmb3IgdmFsaWRpdHlcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNWYWxpZFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHllYXIpICYmIGluUmFuZ2UoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSICsgMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgcGFzc2VkIHllYXIgaXMgYSBsZWFwIHllYXJcbiAgICAgKi9cbiAgICBzdGF0aWMgaXNMZWFwWWVhcih5ZWFyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4geWVhciAlIDQwMCA9PT0gMCB8fCAoeWVhciAlIDQgPT09IDAgJiYgeWVhciAlIDEwMCAhPT0gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqL1xuICAgIHN0YXRpYyBnZXRBYnNvbHV0ZUxlYXBZZWFycyh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuXG4gICAgICAgIHJldHVybiBNYXRoLmNlaWwoeWVhciAvIDQwMCkgKyAoTWF0aC5jZWlsKHllYXIgLyA0KSAtIE1hdGguY2VpbCh5ZWFyIC8gMTAwKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgcGFzc2VkIHllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB5ZWFyXG4gICAgICogQHBhcmFtIGFic29sdXRlTGVhcFllYXJzIGFtb3VudCBvZiBsZWFwIHllYXJzIHByaW9yIHRvIHRoZSBwYXNzZWQgb25lXG4gICAgICogQHJldHVybiBvZmZzZXQgaW4gZGF5c1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHllYXI6IG51bWJlciwgYWJzb2x1dGVMZWFwWWVhcnM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihhYnNvbHV0ZUxlYXBZZWFycykpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KHllYXIgPj0gYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KGFic29sdXRlTGVhcFllYXJzID49IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAoYWJzb2x1dGVMZWFwWWVhcnMgKiBEQVlTX0lOX0xFQVBfWUVBUiArXG4gICAgICAgICAgICAgICAgKHllYXIgLSBhYnNvbHV0ZUxlYXBZZWFycykgKiBEQVlTX0lOX05PUk1BTF9ZRUFSICtcbiAgICAgICAgICAgICAgICA1KSAlXG4gICAgICAgICAgICBEQVlTX0lOX1dFRUtcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgbGVuZ3RoQmV0d2Vlbihmcm9tOiBUdWlZZWFyLCB0bzogVHVpWWVhcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0by55ZWFyIC0gZnJvbS55ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgeWVhciBieSBjbGFtcGluZyBpdCBiZXR3ZWVuIG1pbiBhbmQgbWF4IHllYXJzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBub3JtYWxpemVZZWFyUGFydCh5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplVG9JbnROdW1iZXIoeWVhciwgTUlOX1lFQVIsIE1BWF9ZRUFSKTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkWWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcGFkU3RhcnQoU3RyaW5nKHRoaXMueWVhciksIDQsICcwJyk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTGVhcFllYXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmlzTGVhcFllYXIodGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFtb3VudCBvZiBsZWFwIHllYXJzIGZyb20geWVhciAwIHRvIGN1cnJlbnRcbiAgICAgKi9cbiAgICBnZXQgYWJzb2x1dGVMZWFwWWVhcnMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0QWJzb2x1dGVMZWFwWWVhcnModGhpcy55ZWFyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBET05UIFVTRSBJVCAod2lsbCBiZSBkZWxldGVkIHNvb24pXG4gICAgICpcbiAgICAgKiBSZXR1cm5zIGRheSBvZiB3ZWVrIG9mZnNldCBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IHllYXJcbiAgICAgKi9cbiAgICBnZXQgeWVhclN0YXJ0RGF5c09mZnNldCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5nZXRZZWFyU3RhcnREYXlzT2Zmc2V0KHRoaXMueWVhciwgdGhpcy5hYnNvbHV0ZUxlYXBZZWFycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYWZ0ZXIgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJCZWZvcmUoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPCB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIG9yIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDw9IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJTYW1lKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID09PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGVpdGhlciB0aGUgc2FtZSBvZiBiZWZvcmUgdGhlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZU9yQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPj0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBiZWZvcmUgY3VycmVudFxuICAgICAqL1xuICAgIHllYXJBZnRlcih7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA+IHllYXI7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgcmVtb3ZpbmcgYGJhY2t3YXJkc2Agb3B0aW9uXG4gICAgLyoqXG4gICAgICogSW1tdXRhYmx5IG9mZnNldHMgeWVhclxuICAgICAqL1xuICAgIGFwcGVuZCh7eWVhciA9IDB9OiBUdWlZZWFyTGlrZSwgYmFja3dhcmRzOiBib29sZWFuID0gZmFsc2UpOiBUdWlZZWFyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHllYXIpKTtcblxuICAgICAgICBpZiAoYmFja3dhcmRzKSB7XG4gICAgICAgICAgICB5ZWFyICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0WWVhciA9IHRoaXMueWVhciArIHllYXI7XG5cbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHJlc3VsdFllYXIpKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVllYXIocmVzdWx0WWVhcik7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkWWVhcjtcbiAgICB9XG59XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSDtJQUNJLGlCQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUFtQixJQUFZO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksa0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1QyxPQUFPLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSw0QkFBb0IsR0FBM0IsVUFBNEIsSUFB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QUksR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRDs7T0FFRztJQUNILHdCQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLFNBQTBCO1lBQWxELFlBQVEsRUFBUiw2QkFBUTtRQUFnQiwwQkFBQSxFQUFBLGlCQUEwQjtRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMEJBQVEsR0FBUjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQseUJBQU8sR0FBUDtRQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBcEIsVUFBcUIsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELHdCQUFNLEdBQU47UUFDSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUNMLGNBQUM7QUFBRCxDQUFDLEFBaktELElBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVllYXJMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBEQVlTX0lOX0xFQVBfWUVBUixcbiAgICBEQVlTX0lOX05PUk1BTF9ZRUFSLFxuICAgIERBWVNfSU5fV0VFSyxcbiAgICBNQVhfWUVBUixcbiAgICBNSU5fWUVBUixcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB5ZWFyIG9iamVjdFxuICogQG5vc2lkZWVmZmVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aVllYXIgaW1wbGVtZW50cyBUdWlZZWFyTGlrZSB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRZZWFyKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih5ZWFyKSAmJiBpblJhbmdlKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUiArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHBhc3NlZCB5ZWFyIGlzIGEgbGVhcCB5ZWFyXG4gICAgICovXG4gICAgc3RhdGljIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG5cbiAgICAgICAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW1vdW50IG9mIGxlYXAgeWVhcnMgZnJvbSB5ZWFyIDAgdG8gdGhlIHBhc3NlZCBvbmVcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0QWJzb2x1dGVMZWFwWWVhcnMoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHllYXIgLyA0MDApICsgKE1hdGguY2VpbCh5ZWFyIC8gNCkgLSBNYXRoLmNlaWwoeWVhciAvIDEwMCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIFJldHVybnMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhc3NlZCB5ZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBhYnNvbHV0ZUxlYXBZZWFycyBhbW91bnQgb2YgbGVhcCB5ZWFycyBwcmlvciB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqIEByZXR1cm4gb2Zmc2V0IGluIGRheXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh5ZWFyOiBudW1iZXIsIGFic29sdXRlTGVhcFllYXJzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoYWJzb2x1dGVMZWFwWWVhcnMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydCh5ZWFyID49IGFic29sdXRlTGVhcFllYXJzKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChhYnNvbHV0ZUxlYXBZZWFycyA+PSAwKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGFic29sdXRlTGVhcFllYXJzICogREFZU19JTl9MRUFQX1lFQVIgK1xuICAgICAgICAgICAgICAgICh5ZWFyIC0gYWJzb2x1dGVMZWFwWWVhcnMpICogREFZU19JTl9OT1JNQUxfWUVBUiArXG4gICAgICAgICAgICAgICAgNSkgJVxuICAgICAgICAgICAgREFZU19JTl9XRUVLXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpWWVhciwgdG86IFR1aVllYXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdG8ueWVhciAtIGZyb20ueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHllYXIgYnkgY2xhbXBpbmcgaXQgYmV0d2VlbiBtaW4gYW5kIG1heCB5ZWFyc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdGF0aWMgbm9ybWFsaXplWWVhclBhcnQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUik7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLnllYXIpLCA0LCAnMCcpO1xuICAgIH1cblxuICAgIGdldCBpc0xlYXBZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5pc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byBjdXJyZW50XG4gICAgICovXG4gICAgZ2V0IGFic29sdXRlTGVhcFllYXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmdldEFic29sdXRlTGVhcFllYXJzKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCB5ZWFyXG4gICAgICovXG4gICAgZ2V0IHllYXJTdGFydERheXNPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh0aGlzLnllYXIsIHRoaXMuYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDwgeWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyB0aGUgc2FtZSBvciBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckJlZm9yZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA8PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA9PT0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBlaXRoZXIgdGhlIHNhbWUgb2YgYmVmb3JlIHRoZSBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckFmdGVyKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID49IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYmVmb3JlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPiB5ZWFyO1xuICAgIH1cblxuICAgIC8vIFRPRE86IDMuMCBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgb2Zmc2V0cyB5ZWFyXG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMH06IFR1aVllYXJMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aVllYXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoeWVhcikpO1xuXG4gICAgICAgIGlmIChiYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIHllYXIgKj0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHRZZWFyID0gdGhpcy55ZWFyICsgeWVhcjtcblxuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIocmVzdWx0WWVhcikpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpWWVhcihyZXN1bHRZZWFyKTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cblxuICAgIHZhbHVlT2YoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgdGhlIGdpdmVuIERhdGUgb2JqZWN0LlxuICAgICAqIERlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQsIHRoZSBtZXRob2QgY2FuIHJldHVybiBlaXRoZXIgYSBzdHJpbmcgb3IgYSBudW1iZXIuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL0BAdG9QcmltaXRpdmVcbiAgICAgKi9cbiAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gRGF0ZS5wcm90b3R5cGVbU3ltYm9sLnRvUHJpbWl0aXZlXS5jYWxsKHRoaXMsIGhpbnQpO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cbn1cbiJdfQ==
@@ -4,8 +4,6 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
4
4
  * Decorator for checking input values for undefined. You can also pass
5
5
  * optional assertion to check input against.
6
6
  *
7
- * See {@link createPropDecorator} for more details.
8
- *
9
7
  * CAUTION: This decorator overwrites other getters and setters.
10
8
  */
11
9
  export function tuiDefaultProp(assertion) {
@@ -61,4 +59,4 @@ function errorSetDefault(key, component) {
61
59
  function errorSetDefaultInitial(key, component) {
62
60
  return "Undefined was passed as default value for " + String(key) + " to " + component + ", error in Taiga UI Angular Kit";
63
61
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wcm9wLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kZWNvcmF0b3JzLyIsInNvdXJjZXMiOlsiZGVmYXVsdC1wcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQzFCLFNBQW1DO0lBQ25DLGNBQWM7U0FBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1FBQWQsNkJBQWM7O0lBRWQsT0FBTyxVQUFDLE1BQU0sRUFBRSxHQUFHO1FBQ1IsSUFBQSw4QkFBSSxDQUF1QjtRQUNsQyxJQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUQsSUFBTSxzQkFBc0IsR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUMvQixHQUFHLEVBQUg7Z0JBQ0ksU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFFaEQsT0FBTyxTQUFTLENBQUM7WUFDckIsQ0FBQztZQUNELEdBQUcsRUFBSCxVQUFhLFlBQWtCO2dCQUMzQixJQUFNLE9BQU8sR0FBRyxZQUFZLEtBQUssU0FBUyxDQUFDO2dCQUMzQyxJQUFNLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZELElBQUksWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFFaEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBRXhDLElBQUksT0FBTyxJQUFJLFNBQVMsRUFBRTtvQkFDdEIsU0FBUyxDQUFDLE1BQU0sT0FBaEIsU0FBUyxZQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQzt3QkFDL0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFPLElBQUksZUFBWTt3QkFDckMsWUFBWSxHQUNULElBQUksR0FDVDtpQkFDTDtnQkFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7b0JBQzdCLEdBQUcsRUFBSDt3QkFDSSxPQUFPLFlBQVksQ0FBQztvQkFDeEIsQ0FBQztvQkFDRCxHQUFHLEVBQUgsVUFBYSxLQUFXO3dCQUNwQixJQUFNLE9BQU8sR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDO3dCQUNwQyxJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7d0JBRWpDLFNBQVMsQ0FBQyxNQUFNLENBQ1osT0FBTyxFQUNQLHNCQUFzQixFQUN0QixNQUFNLENBQUMsV0FBVyxDQUFDLENBQ3RCLENBQUM7d0JBRUYsSUFBSSxPQUFPLElBQUksU0FBUyxFQUFFOzRCQUN0QixTQUFTLENBQUMsTUFBTSxPQUFoQixTQUFTLFlBQ0wsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dDQUN4QixNQUFNLENBQUMsR0FBRyxDQUFDLFlBQU8sSUFBSSxlQUFZO2dDQUNyQyxLQUFLLEdBQ0YsSUFBSSxHQUNUO3lCQUNMO3dCQUVELFlBQVksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO29CQUNqRCxDQUFDO2lCQUNKLENBQUMsQ0FBQztZQUNQLENBQUM7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsR0FBb0IsRUFBRSxTQUFpQjtJQUM1RCxPQUFPLHVCQUFxQixNQUFNLENBQzlCLEdBQUcsQ0FDTiw2QkFBd0IsU0FBUyxvQ0FBaUMsQ0FBQztBQUN4RSxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsR0FBb0IsRUFBRSxTQUFpQjtJQUM1RCxPQUFPLDZCQUEyQixNQUFNLENBQ3BDLEdBQUcsQ0FDTixZQUFPLFNBQVMsbURBQWdELENBQUM7QUFDdEUsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsR0FBb0IsRUFBRSxTQUFpQjtJQUNuRSxPQUFPLCtDQUE2QyxNQUFNLENBQ3RELEdBQUcsQ0FDTixZQUFPLFNBQVMsb0NBQWlDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5cbi8qKlxuICogRGVjb3JhdG9yIGZvciBjaGVja2luZyBpbnB1dCB2YWx1ZXMgZm9yIHVuZGVmaW5lZC4gWW91IGNhbiBhbHNvIHBhc3NcbiAqIG9wdGlvbmFsIGFzc2VydGlvbiB0byBjaGVjayBpbnB1dCBhZ2FpbnN0LlxuICpcbiAqIFNlZSB7QGxpbmsgY3JlYXRlUHJvcERlY29yYXRvcn0gZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBDQVVUSU9OOiBUaGlzIGRlY29yYXRvciBvdmVyd3JpdGVzIG90aGVyIGdldHRlcnMgYW5kIHNldHRlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlEZWZhdWx0UHJvcDxUIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gICAgYXNzZXJ0aW9uPzogVHVpQm9vbGVhbkhhbmRsZXI8VFtLXT4sXG4gICAgLi4uYXJnczogYW55W11cbik6IFByb3BlcnR5RGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKHRhcmdldCwga2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IHtuYW1lfSA9IHRhcmdldC5jb25zdHJ1Y3RvcjtcbiAgICAgICAgY29uc3QgZXJyb3JHZXREZWZhdWx0TWVzc2FnZSA9IGVycm9yR2V0RGVmYXVsdChrZXksIG5hbWUpO1xuICAgICAgICBjb25zdCBlcnJvclNldERlZmF1bHRNZXNzYWdlID0gZXJyb3JTZXREZWZhdWx0KGtleSwgbmFtZSk7XG5cbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgICAgICBnZXQoKTogdW5kZWZpbmVkIHtcbiAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KGZhbHNlLCBlcnJvckdldERlZmF1bHRNZXNzYWdlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0KHRoaXM6IFQsIGluaXRpYWxWYWx1ZTogVFtLXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBpbml0aWFsVmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnJvclNldERlZmF1bHRJbml0aWFsKGtleSwgbmFtZSk7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcblxuICAgICAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoaXNWYWxpZCwgZXJyb3JNZXNzYWdlKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkICYmIGFzc2VydGlvbikge1xuICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uLmNhbGwodGhpcywgaW5pdGlhbFZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke1N0cmluZyhrZXkpfSBpbiAke25hbWV9IHJlY2VpdmVkOmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5hcmdzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXksIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0KCk6IFRbS10ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc2V0KHRoaXM6IFQsIHZhbHVlOiBUW0tdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gdmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhY2t1cFZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVmFsaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JTZXREZWZhdWx0TWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdHJpbmcoYmFja3VwVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgYXNzZXJ0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0aW9uLmNhbGwodGhpcywgdmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtTdHJpbmcoa2V5KX0gaW4gJHtuYW1lfSByZWNlaXZlZDpgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VmFsdWUgPSBpc1ZhbGlkID8gdmFsdWUgOiBiYWNrdXBWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGVycm9yR2V0RGVmYXVsdChrZXk6IHN0cmluZyB8IHN5bWJvbCwgY29tcG9uZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgRGVmYXVsdCB2YWx1ZSBmb3IgJHtTdHJpbmcoXG4gICAgICAgIGtleSxcbiAgICApfSB3YXMgbm90IHByb3ZpZGVkIGluICR7Y29tcG9uZW50fSwgZXJyb3IgaW4gVGFpZ2EgVUkgQW5ndWxhciBLaXRgO1xufVxuXG5mdW5jdGlvbiBlcnJvclNldERlZmF1bHQoa2V5OiBzdHJpbmcgfCBzeW1ib2wsIGNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVuZGVmaW5lZCB3YXMgcGFzc2VkIGFzICR7U3RyaW5nKFxuICAgICAgICBrZXksXG4gICAgKX0gdG8gJHtjb21wb25lbnR9LCB3aGljaCBpcyBpbnZhbGlkIGlucHV0LCB1c2luZyBkZWZhdWx0IHZhbHVlOmA7XG59XG5cbmZ1bmN0aW9uIGVycm9yU2V0RGVmYXVsdEluaXRpYWwoa2V5OiBzdHJpbmcgfCBzeW1ib2wsIGNvbXBvbmVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFVuZGVmaW5lZCB3YXMgcGFzc2VkIGFzIGRlZmF1bHQgdmFsdWUgZm9yICR7U3RyaW5nKFxuICAgICAgICBrZXksXG4gICAgKX0gdG8gJHtjb21wb25lbnR9LCBlcnJvciBpbiBUYWlnYSBVSSBBbmd1bGFyIEtpdGA7XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wcm9wLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kZWNvcmF0b3JzLyIsInNvdXJjZXMiOlsiZGVmYXVsdC1wcm9wLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUMxQixTQUFtQztJQUNuQyxjQUFrQjtTQUFsQixVQUFrQixFQUFsQixxQkFBa0IsRUFBbEIsSUFBa0I7UUFBbEIsNkJBQWtCOztJQUVsQixPQUFPLFVBQUMsTUFBTSxFQUFFLEdBQUc7UUFDUixJQUFBLDhCQUFJLENBQXVCO1FBQ2xDLElBQU0sc0JBQXNCLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRCxJQUFNLHNCQUFzQixHQUFHLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFMUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQy9CLEdBQUcsRUFBSDtnQkFDSSxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO2dCQUVoRCxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDO1lBQ0QsR0FBRyxFQUFILFVBQWEsWUFBa0I7Z0JBQzNCLElBQU0sT0FBTyxHQUFHLFlBQVksS0FBSyxTQUFTLENBQUM7Z0JBQzNDLElBQU0sWUFBWSxHQUFHLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxZQUFZLEdBQUcsWUFBWSxDQUFDO2dCQUVoQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztnQkFFeEMsSUFBSSxPQUFPLElBQUksU0FBUyxFQUFFO29CQUN0QixTQUFTLENBQUMsTUFBTSxPQUFoQixTQUFTLFlBQ0wsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDO3dCQUMvQixNQUFNLENBQUMsR0FBRyxDQUFDLFlBQU8sSUFBSSxlQUFZO3dCQUNyQyxZQUFZLEdBQ1QsSUFBSSxHQUNUO2lCQUNMO2dCQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsR0FBRyxFQUFIO3dCQUNJLE9BQU8sWUFBWSxDQUFDO29CQUN4QixDQUFDO29CQUNELEdBQUcsRUFBSCxVQUFhLEtBQVc7d0JBQ3BCLElBQU0sT0FBTyxHQUFHLEtBQUssS0FBSyxTQUFTLENBQUM7d0JBQ3BDLElBQU0sV0FBVyxHQUFHLFlBQVksQ0FBQzt3QkFFakMsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLEVBQ1Asc0JBQXNCLEVBQ3RCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FDdEIsQ0FBQzt3QkFFRixJQUFJLE9BQU8sSUFBSSxTQUFTLEVBQUU7NEJBQ3RCLFNBQVMsQ0FBQyxNQUFNLE9BQWhCLFNBQVMsWUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0NBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBTyxJQUFJLGVBQVk7Z0NBQ3JDLEtBQUssR0FDRixJQUFJLEdBQ1Q7eUJBQ0w7d0JBRUQsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7b0JBQ2pELENBQUM7aUJBQ0osQ0FBQyxDQUFDO1lBQ1AsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUFvQixFQUFFLFNBQWlCO0lBQzVELE9BQU8sdUJBQXFCLE1BQU0sQ0FDOUIsR0FBRyxDQUNOLDZCQUF3QixTQUFTLG9DQUFpQyxDQUFDO0FBQ3hFLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUFvQixFQUFFLFNBQWlCO0lBQzVELE9BQU8sNkJBQTJCLE1BQU0sQ0FDcEMsR0FBRyxDQUNOLFlBQU8sU0FBUyxtREFBZ0QsQ0FBQztBQUN0RSxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxHQUFvQixFQUFFLFNBQWlCO0lBQ25FLE9BQU8sK0NBQTZDLE1BQU0sQ0FDdEQsR0FBRyxDQUNOLFlBQU8sU0FBUyxvQ0FBaUMsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aUJvb2xlYW5IYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcblxuLyoqXG4gKiBEZWNvcmF0b3IgZm9yIGNoZWNraW5nIGlucHV0IHZhbHVlcyBmb3IgdW5kZWZpbmVkLiBZb3UgY2FuIGFsc28gcGFzc1xuICogb3B0aW9uYWwgYXNzZXJ0aW9uIHRvIGNoZWNrIGlucHV0IGFnYWluc3QuXG4gKlxuICogQ0FVVElPTjogVGhpcyBkZWNvcmF0b3Igb3ZlcndyaXRlcyBvdGhlciBnZXR0ZXJzIGFuZCBzZXR0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpRGVmYXVsdFByb3A8VCBleHRlbmRzIG9iamVjdCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICAgIGFzc2VydGlvbj86IFR1aUJvb2xlYW5IYW5kbGVyPFRbS10+LFxuICAgIC4uLmFyZ3M6IHVua25vd25bXVxuKTogUHJvcGVydHlEZWNvcmF0b3Ige1xuICAgIHJldHVybiAodGFyZ2V0LCBrZXkpID0+IHtcbiAgICAgICAgY29uc3Qge25hbWV9ID0gdGFyZ2V0LmNvbnN0cnVjdG9yO1xuICAgICAgICBjb25zdCBlcnJvckdldERlZmF1bHRNZXNzYWdlID0gZXJyb3JHZXREZWZhdWx0KGtleSwgbmFtZSk7XG4gICAgICAgIGNvbnN0IGVycm9yU2V0RGVmYXVsdE1lc3NhZ2UgPSBlcnJvclNldERlZmF1bHQoa2V5LCBuYW1lKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHtcbiAgICAgICAgICAgIGdldCgpOiB1bmRlZmluZWQge1xuICAgICAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoZmFsc2UsIGVycm9yR2V0RGVmYXVsdE1lc3NhZ2UpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQodGhpczogVCwgaW5pdGlhbFZhbHVlOiBUW0tdKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IGluaXRpYWxWYWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yU2V0RGVmYXVsdEluaXRpYWwoa2V5LCBuYW1lKTtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChpc1ZhbGlkLCBlcnJvck1lc3NhZ2UpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgYXNzZXJ0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRpb24uY2FsbCh0aGlzLCBpbml0aWFsVmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7U3RyaW5nKGtleSl9IGluICR7bmFtZX0gcmVjZWl2ZWQ6YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGtleSwge1xuICAgICAgICAgICAgICAgICAgICBnZXQoKTogVFtLXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzZXQodGhpczogVCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmFja3VwVmFsdWUgPSBpbml0aWFsVmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNWYWxpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclNldERlZmF1bHRNZXNzYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZyhiYWNrdXBWYWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZCAmJiBhc3NlcnRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnRpb24uY2FsbCh0aGlzLCB2YWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke1N0cmluZyhrZXkpfSBpbiAke25hbWV9IHJlY2VpdmVkOmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5hcmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IGlzVmFsaWQgPyB2YWx1ZSA6IGJhY2t1cFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gZXJyb3JHZXREZWZhdWx0KGtleTogc3RyaW5nIHwgc3ltYm9sLCBjb21wb25lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBEZWZhdWx0IHZhbHVlIGZvciAke1N0cmluZyhcbiAgICAgICAga2V5LFxuICAgICl9IHdhcyBub3QgcHJvdmlkZWQgaW4gJHtjb21wb25lbnR9LCBlcnJvciBpbiBUYWlnYSBVSSBBbmd1bGFyIEtpdGA7XG59XG5cbmZ1bmN0aW9uIGVycm9yU2V0RGVmYXVsdChrZXk6IHN0cmluZyB8IHN5bWJvbCwgY29tcG9uZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgVW5kZWZpbmVkIHdhcyBwYXNzZWQgYXMgJHtTdHJpbmcoXG4gICAgICAgIGtleSxcbiAgICApfSB0byAke2NvbXBvbmVudH0sIHdoaWNoIGlzIGludmFsaWQgaW5wdXQsIHVzaW5nIGRlZmF1bHQgdmFsdWU6YDtcbn1cblxuZnVuY3Rpb24gZXJyb3JTZXREZWZhdWx0SW5pdGlhbChrZXk6IHN0cmluZyB8IHN5bWJvbCwgY29tcG9uZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgVW5kZWZpbmVkIHdhcyBwYXNzZWQgYXMgZGVmYXVsdCB2YWx1ZSBmb3IgJHtTdHJpbmcoXG4gICAgICAgIGtleSxcbiAgICApfSB0byAke2NvbXBvbmVudH0sIGVycm9yIGluIFRhaWdhIFVJIEFuZ3VsYXIgS2l0YDtcbn1cbiJdfQ==
@@ -52,4 +52,4 @@ export function tuiPure(_target, propertyKey, _a) {
52
52
  },
53
53
  };
54
54
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGVjb3JhdG9ycy8iLCJzb3VyY2VzIjpbInB1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNuQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsRUFBb0Q7UUFBbkQsWUFBRyxFQUFFLDBCQUFVLEVBQUUsZ0JBQUs7SUFFdkIsSUFBSSxHQUFHLEVBQUU7UUFDTCxPQUFPO1lBQ0gsVUFBVSxZQUFBO1lBQ1YsR0FBRyxFQUFIO2dCQUNJLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFDLFVBQVUsWUFBQSxFQUFFLEtBQUssT0FBQSxFQUFDLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztTQUNKLENBQUM7S0FDTDtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ2hDO0lBRUQsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXZCLE9BQU87UUFDSCxVQUFVLFlBQUE7UUFDVixHQUFHLEVBQUg7WUFBQSxpQkF5QkM7WUF4QkcsSUFBSSxZQUFZLEdBQXVCLEVBQUUsQ0FBQztZQUMxQyxJQUFJLDhCQUE4QixHQUFHLEtBQUssQ0FBQztZQUMzQyxJQUFJLFNBQWtCLENBQUM7WUFFdkIsSUFBTSxPQUFPLEdBQUc7Z0JBQUMsY0FBa0I7cUJBQWxCLFVBQWtCLEVBQWxCLHFCQUFrQixFQUFsQixJQUFrQjtvQkFBbEIseUJBQWtCOztnQkFDL0IsSUFBTSxNQUFNLEdBQ1IsOEJBQThCO29CQUM5QixZQUFZLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO29CQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQUMsR0FBRyxFQUFFLEtBQUssSUFBSyxPQUFBLEdBQUcsS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQTNCLENBQTJCLENBQUMsQ0FBQztnQkFFNUQsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsT0FBTyxTQUFTLENBQUM7aUJBQ3BCO2dCQUVELFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdkMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO2dCQUV0QyxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFFRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztZQUUzRCxPQUFPLE9BQXVCLENBQUM7UUFDbkMsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlQdXJlRXhjZXB0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2V4Y2VwdGlvbnMnO1xuXG4vKipcbiAqIEltcGxlbWVudHMgbGF6eSBpbml0aWFsaXphdGlvbiBmb3IgZ2V0dGVyIG9yIG1lbW9pemF0aW9uIG9mIGEgZnVuY3Rpb24gY2FsbCBzaW1pbGFyIHRvIHB1cmUge0BsaW5rOiBQaXBlfS5cbiAqIFJlcGxhY2VzIGdldHRlciB3aXRoIGl0cyBjYWxjdWxhdGVkIHZhbHVlIHVwb24gZmlyc3QgY2FsbCBvciBrZWVwcyB0cmFjayBvZiBsYXN0IGNhbGwgYXJndW1lbnRzIGFuZCByZXR1cm5lZFxuICogdmFsdWUgZm9yIGZ1bmN0aW9uLCBza2lwcGluZyBjYWxjdWxhdGlvbiB3aGVuIGFyZ3VtZW50cyBhcmUgc3RyaWN0bHkgdGhlIHNhbWUuXG4gKlxuICogQHRocm93cyBlcnJvciBpZiB1c2VkIG5vdCBvbiBnZXR0ZXIgb3IgZnVuY3Rpb25cbiAqXG4gKiBDQVVUSU9OOiBgdGhpc2AgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgc3VjaCBmdW5jdGlvbnMvZ2V0dGVycywgdGhleSBtdXN0IGJlIHB1cmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlQdXJlPFQ+KFxuICAgIF90YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICAgIHtnZXQsIGVudW1lcmFibGUsIHZhbHVlfTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4pOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPiB7XG4gICAgaWYgKGdldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW51bWVyYWJsZSxcbiAgICAgICAgICAgIGdldCgpOiBUIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldC5jYWxsKHRoaXMpO1xuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7ZW51bWVyYWJsZSwgdmFsdWV9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHVpUHVyZUV4Y2VwdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsID0gdmFsdWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlLFxuICAgICAgICBnZXQoKTogVCB7XG4gICAgICAgICAgICBsZXQgcHJldmlvdXNBcmdzOiByZWFkb25seSB1bmtub3duW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBvcmlnaW5hbEZuV2FzQ2FsbGVkTGVhc3RBdE9uY2UgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBwdXJlVmFsdWU6IHVua25vd247XG5cbiAgICAgICAgICAgIGNvbnN0IHBhdGNoZWQgPSAoLi4uYXJnczogdW5rbm93bltdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNQdXJlID1cbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGbldhc0NhbGxlZExlYXN0QXRPbmNlICYmXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQXJncy5sZW5ndGggPT09IGFyZ3MubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGFyZ3MuZXZlcnkoKGFyZywgaW5kZXgpID0+IGFyZyA9PT0gcHJldmlvdXNBcmdzW2luZGV4XSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNQdXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJldmlvdXNBcmdzID0gYXJncztcbiAgICAgICAgICAgICAgICBwdXJlVmFsdWUgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEZuV2FzQ2FsbGVkTGVhc3RBdE9uY2UgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHB1cmVWYWx1ZTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eUtleSwge3ZhbHVlOiBwYXRjaGVkfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRjaGVkIGFzIHVua25vd24gYXMgVDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGVjb3JhdG9ycy8iLCJzb3VyY2VzIjpbInB1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFMUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNuQixPQUFlLEVBQ2YsV0FBbUIsRUFDbkIsRUFBb0Q7UUFBbkQsWUFBRyxFQUFFLDBCQUFVLEVBQUUsZ0JBQUs7SUFFdkIsSUFBSSxHQUFHLEVBQUU7UUFDTCxPQUFPO1lBQ0gsVUFBVSxZQUFBO1lBQ1YsR0FBRyxFQUFIO2dCQUNJLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFDLFVBQVUsWUFBQSxFQUFFLEtBQUssT0FBQSxFQUFDLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQztTQUNKLENBQUM7S0FDTDtJQUVELElBQUksT0FBTyxLQUFLLEtBQUssVUFBVSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQ2hDO0lBRUQsSUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXZCLE9BQU87UUFDSCxVQUFVLFlBQUE7UUFDVixHQUFHLEVBQUg7WUFBQSxpQkF5QkM7WUF4QkcsSUFBSSxZQUFZLEdBQXVCLEVBQUUsQ0FBQztZQUMxQyxJQUFJLDhCQUE4QixHQUFHLEtBQUssQ0FBQztZQUMzQyxJQUFJLFNBQWtCLENBQUM7WUFFdkIsSUFBTSxPQUFPLEdBQUc7Z0JBQUMsY0FBa0I7cUJBQWxCLFVBQWtCLEVBQWxCLHFCQUFrQixFQUFsQixJQUFrQjtvQkFBbEIseUJBQWtCOztnQkFDL0IsSUFBTSxNQUFNLEdBQ1IsOEJBQThCO29CQUM5QixZQUFZLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNO29CQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQUMsR0FBRyxFQUFFLEtBQUssSUFBSyxPQUFBLEdBQUcsS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQTNCLENBQTJCLENBQUMsQ0FBQztnQkFFNUQsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsT0FBTyxTQUFTLENBQUM7aUJBQ3BCO2dCQUVELFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdkMsOEJBQThCLEdBQUcsSUFBSSxDQUFDO2dCQUV0QyxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDLENBQUM7WUFFRixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztZQUUzRCxPQUFPLE9BQXVCLENBQUM7UUFDbkMsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlQdXJlRXhjZXB0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY2RrL2V4Y2VwdGlvbnMnO1xuXG4vKipcbiAqIEltcGxlbWVudHMgbGF6eSBpbml0aWFsaXphdGlvbiBmb3IgZ2V0dGVyIG9yIG1lbW9pemF0aW9uIG9mIGEgZnVuY3Rpb24gY2FsbCBzaW1pbGFyIHRvIHB1cmUge0BsaW5rOiBQaXBlfS5cbiAqIFJlcGxhY2VzIGdldHRlciB3aXRoIGl0cyBjYWxjdWxhdGVkIHZhbHVlIHVwb24gZmlyc3QgY2FsbCBvciBrZWVwcyB0cmFjayBvZiBsYXN0IGNhbGwgYXJndW1lbnRzIGFuZCByZXR1cm5lZFxuICogdmFsdWUgZm9yIGZ1bmN0aW9uLCBza2lwcGluZyBjYWxjdWxhdGlvbiB3aGVuIGFyZ3VtZW50cyBhcmUgc3RyaWN0bHkgdGhlIHNhbWUuXG4gKlxuICogQHRocm93cyBlcnJvciBpZiB1c2VkIG5vdCBvbiBnZXR0ZXIgb3IgZnVuY3Rpb25cbiAqXG4gKiBDQVVUSU9OOiBgdGhpc2AgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgc3VjaCBmdW5jdGlvbnMvZ2V0dGVycywgdGhleSBtdXN0IGJlIHB1cmUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlQdXJlPFQ+KFxuICAgIF90YXJnZXQ6IG9iamVjdCxcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxuICAgIHtnZXQsIGVudW1lcmFibGUsIHZhbHVlfTogVHlwZWRQcm9wZXJ0eURlc2NyaXB0b3I8VD4sXG4pOiBUeXBlZFByb3BlcnR5RGVzY3JpcHRvcjxUPiB7XG4gICAgaWYgKGdldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW51bWVyYWJsZSxcbiAgICAgICAgICAgIGdldCgpOiBUIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldC5jYWxsKHRoaXMpO1xuXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5S2V5LCB7ZW51bWVyYWJsZSwgdmFsdWV9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHVpUHVyZUV4Y2VwdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsID0gdmFsdWU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBlbnVtZXJhYmxlLFxuICAgICAgICBnZXQoKTogVCB7XG4gICAgICAgICAgICBsZXQgcHJldmlvdXNBcmdzOiByZWFkb25seSB1bmtub3duW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBvcmlnaW5hbEZuV2FzQ2FsbGVkTGVhc3RBdE9uY2UgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBwdXJlVmFsdWU6IHVua25vd247XG5cbiAgICAgICAgICAgIGNvbnN0IHBhdGNoZWQgPSAoLi4uYXJnczogdW5rbm93bltdKTogdW5rbm93biA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNQdXJlID1cbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxGbldhc0NhbGxlZExlYXN0QXRPbmNlICYmXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQXJncy5sZW5ndGggPT09IGFyZ3MubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIGFyZ3MuZXZlcnkoKGFyZywgaW5kZXgpID0+IGFyZyA9PT0gcHJldmlvdXNBcmdzW2luZGV4XSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNQdXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwdXJlVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJldmlvdXNBcmdzID0gYXJncztcbiAgICAgICAgICAgICAgICBwdXJlVmFsdWUgPSBvcmlnaW5hbC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEZuV2FzQ2FsbGVkTGVhc3RBdE9uY2UgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHB1cmVWYWx1ZTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBwcm9wZXJ0eUtleSwge3ZhbHVlOiBwYXRjaGVkfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXRjaGVkIGFzIHVua25vd24gYXMgVDtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19
@@ -36,4 +36,4 @@ export function tuiRequiredSetter(assertion) {
36
36
  function errorSet(key, component) {
37
37
  return "Undefined was passed as " + String(key) + " to " + component + ", setter will not be called";
38
38
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtc2V0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kZWNvcmF0b3JzLyIsInNvdXJjZXMiOlsicmVxdWlyZWQtc2V0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQzdCLFNBQW1DO0lBQ25DLGNBQWM7U0FBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1FBQWQsNkJBQWM7O0lBRWQsT0FBTyxVQUNILE1BQWMsRUFDZCxHQUFHLEVBQ0gsRUFBd0Q7WUFBdkQsOEJBQVksRUFBRSwwQkFBVSxFQUFFLFlBQUcsRUFBRSxZQUFHO1FBRTVCLElBQUEsOEJBQUksQ0FBdUI7UUFFbEMsT0FBTztZQUNILFlBQVksY0FBQTtZQUNaLFVBQVUsWUFBQTtZQUNWLEdBQUcsS0FBQTtZQUNILEdBQUcsRUFBSCxVQUFhLEtBQVc7Z0JBQ3BCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxTQUFTLEVBQUU7b0JBQ2xDLFNBQVMsQ0FBQyxNQUFNLE9BQWhCLFNBQVMsWUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7d0JBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBTyxJQUFJLGVBQVk7d0JBQ3JDLEtBQUssR0FDRixJQUFJLEdBQ1Q7aUJBQ0w7Z0JBRUQsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO29CQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUUzRCxPQUFPO2lCQUNWO2dCQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLEdBQW9CLEVBQUUsU0FBaUI7SUFDckQsT0FBTyw2QkFBMkIsTUFBTSxDQUNwQyxHQUFHLENBQ04sWUFBTyxTQUFTLGdDQUE2QixDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY2hlY2tpbmcgaW5wdXQgc2V0dGVyIHZhbHVlcyBhZ2FpbnN0IGEgY3VzdG9tIGFzc2VydGlvbiB3aGljaFxuICogdGFrZXMgdmFsdWUgcGFzc2VkIHRvIGlucHV0IHNldHRlciBhbmQgY29tcG9uZW50IGluc3RhbmNlIGFzIGFyZ3VtZW50cy5cbiAqIEl0IHNwZWNpZmljYWxseSBjaGVja3MgZm9yIHVuZGVmaW5lZCB2YWx1ZXMgYW5kIHByZXZlbnRzIGNhbGxzIHRvIHRoZVxuICogb3JpZ2luYWwgc2V0dGVyIGluIHRoaXMgY2FzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aVJlcXVpcmVkU2V0dGVyPFQgZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBhc3NlcnRpb24/OiBUdWlCb29sZWFuSGFuZGxlcjxUW0tdPixcbiAgICAuLi5hcmdzOiBhbnlbXVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKFxuICAgICAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICAgICAga2V5LFxuICAgICAgICB7Y29uZmlndXJhYmxlLCBlbnVtZXJhYmxlLCBnZXQsIHNldH06IFByb3BlcnR5RGVzY3JpcHRvcixcbiAgICApOiBQcm9wZXJ0eURlc2NyaXB0b3IgPT4ge1xuICAgICAgICBjb25zdCB7bmFtZX0gPSB0YXJnZXQuY29uc3RydWN0b3I7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZSxcbiAgICAgICAgICAgIGVudW1lcmFibGUsXG4gICAgICAgICAgICBnZXQsXG4gICAgICAgICAgICBzZXQodGhpczogVCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiBhc3NlcnRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbi5jYWxsKHRoaXMsIHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke1N0cmluZyhrZXkpfSBpbiAke25hbWV9IHJlY2VpdmVkOmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFzZXQgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KHZhbHVlICE9PSB1bmRlZmluZWQsIGVycm9yU2V0KGtleSwgbmFtZSkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGVycm9yU2V0KGtleTogc3RyaW5nIHwgc3ltYm9sLCBjb21wb25lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBVbmRlZmluZWQgd2FzIHBhc3NlZCBhcyAke1N0cmluZyhcbiAgICAgICAga2V5LFxuICAgICl9IHRvICR7Y29tcG9uZW50fSwgc2V0dGVyIHdpbGwgbm90IGJlIGNhbGxlZGA7XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWQtc2V0dGVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kZWNvcmF0b3JzLyIsInNvdXJjZXMiOlsicmVxdWlyZWQtc2V0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQzdCLFNBQW1DO0lBQ25DLGNBQWM7U0FBZCxVQUFjLEVBQWQscUJBQWMsRUFBZCxJQUFjO1FBQWQsNkJBQWM7O0lBRWQsT0FBTyxVQUNILE1BQWMsRUFDZCxHQUFHLEVBQ0gsRUFBd0Q7WUFBdkQsOEJBQVksRUFBRSwwQkFBVSxFQUFFLFlBQUcsRUFBRSxZQUFHO1FBRTVCLElBQUEsOEJBQUksQ0FBdUI7UUFFbEMsT0FBTztZQUNILFlBQVksY0FBQTtZQUNaLFVBQVUsWUFBQTtZQUNWLEdBQUcsS0FBQTtZQUNILEdBQUcsRUFBSCxVQUFhLEtBQVc7Z0JBQ3BCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxTQUFTLEVBQUU7b0JBQ2xDLFNBQVMsQ0FBQyxNQUFNLE9BQWhCLFNBQVMsWUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7d0JBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBTyxJQUFJLGVBQVk7d0JBQ3JDLEtBQUssR0FDRixJQUFJLEdBQ1Q7aUJBQ0w7Z0JBRUQsSUFBSSxDQUFDLEdBQUcsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO29CQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUUzRCxPQUFPO2lCQUNWO2dCQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLEdBQW9CLEVBQUUsU0FBaUI7SUFDckQsT0FBTyw2QkFBMkIsTUFBTSxDQUNwQyxHQUFHLENBQ04sWUFBTyxTQUFTLGdDQUE2QixDQUFDO0FBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuXG4vKipcbiAqIERlY29yYXRvciBmb3IgY2hlY2tpbmcgaW5wdXQgc2V0dGVyIHZhbHVlcyBhZ2FpbnN0IGEgY3VzdG9tIGFzc2VydGlvbiB3aGljaFxuICogdGFrZXMgdmFsdWUgcGFzc2VkIHRvIGlucHV0IHNldHRlciBhbmQgY29tcG9uZW50IGluc3RhbmNlIGFzIGFyZ3VtZW50cy5cbiAqIEl0IHNwZWNpZmljYWxseSBjaGVja3MgZm9yIHVuZGVmaW5lZCB2YWx1ZXMgYW5kIHByZXZlbnRzIGNhbGxzIHRvIHRoZVxuICogb3JpZ2luYWwgc2V0dGVyIGluIHRoaXMgY2FzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aVJlcXVpcmVkU2V0dGVyPFQgZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBrZXlvZiBUPihcbiAgICBhc3NlcnRpb24/OiBUdWlCb29sZWFuSGFuZGxlcjxUW0tdPixcbiAgICAuLi5hcmdzOiBhbnlbXVxuKTogTWV0aG9kRGVjb3JhdG9yIHtcbiAgICByZXR1cm4gKFxuICAgICAgICB0YXJnZXQ6IG9iamVjdCxcbiAgICAgICAga2V5LFxuICAgICAgICB7Y29uZmlndXJhYmxlLCBlbnVtZXJhYmxlLCBnZXQsIHNldH06IFByb3BlcnR5RGVzY3JpcHRvcixcbiAgICApOiBQcm9wZXJ0eURlc2NyaXB0b3IgPT4ge1xuICAgICAgICBjb25zdCB7bmFtZX0gPSB0YXJnZXQuY29uc3RydWN0b3I7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZSxcbiAgICAgICAgICAgIGVudW1lcmFibGUsXG4gICAgICAgICAgICBnZXQsXG4gICAgICAgICAgICBzZXQodGhpczogVCwgdmFsdWU6IFRbS10pIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiBhc3NlcnRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydGlvbi5jYWxsKHRoaXMsIHZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke1N0cmluZyhrZXkpfSBpbiAke25hbWV9IHJlY2VpdmVkOmAsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFzZXQgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KHZhbHVlICE9PSB1bmRlZmluZWQsIGVycm9yU2V0KGtleSwgbmFtZSkpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIGVycm9yU2V0KGtleTogc3RyaW5nIHwgc3ltYm9sLCBjb21wb25lbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBVbmRlZmluZWQgd2FzIHBhc3NlZCBhcyAke1N0cmluZyhcbiAgICAgICAga2V5LFxuICAgICl9IHRvICR7Y29tcG9uZW50fSwgc2V0dGVyIHdpbGwgbm90IGJlIGNhbGxlZGA7XG59XG4iXX0=
@@ -89,4 +89,4 @@ var TuiActiveZoneDirective = /** @class */ (function () {
89
89
  return TuiActiveZoneDirective;
90
90
  }());
91
91
  export { TuiActiveZoneDirective };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lLyIsInNvdXJjZXMiOlsiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTzFFO0lBb0JJLGdDQUVxQixPQUFtQyxFQUNuQixNQUFjLEVBQ1YsVUFBK0IsRUFJbkQsc0JBQXFEO1FBUjFFLGlCQWFDO1FBWG9CLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUluRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQStCO1FBM0JsRSxtQkFBYyxHQUFzQyxFQUFFLENBQUM7UUFFdkQsd0JBQW1CLEdBQWtDLElBQUksQ0FBQztRQVN6RCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFJLENBQUMsUUFB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RUFDSixxSEFBcUg7WUFDekgsUUFBUSxFQUFFLGVBQWU7U0FDNUIsQ0FBQztRQXNCTyxXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRTFCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyx3QkFBc0IsQ0FBQyxDQUFBO09BM0IxQixzQkFBc0IsQ0FnRmxDO0lBQUQsNkJBQUM7Q0FBQSxBQWhGRCxJQWdGQztTQWhGWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RlY29yYXRvcnMnO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX0FDVElWRV9FTEVNRU5UfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBza2lwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdbdHVpQWN0aXZlWm9uZV06bm90KG5nLWNvbnRhaW5lciksIFt0dWlBY3RpdmVab25lQ2hhbmdlXTpub3QobmctY29udGFpbmVyKSwgW3R1aUFjdGl2ZVpvbmVQYXJlbnRdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBleHBvcnRBczogJ3R1aUFjdGl2ZVpvbmUnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY3RpdmVab25lRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHN1YkFjdGl2ZVpvbmVzOiByZWFkb25seSBUdWlBY3RpdmVab25lRGlyZWN0aXZlW10gPSBbXTtcblxuICAgIHByaXZhdGUgdHVpQWN0aXZlWm9uZVBhcmVudDogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCd0dWlBY3RpdmVab25lUGFyZW50JylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB0dWlBY3RpdmVab25lUGFyZW50U2V0dGVyKHpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0Wm9uZSh6b25lKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB0dWlBY3RpdmVab25lQ2hhbmdlID0gdGhpcy5hY3RpdmUkLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50ID0+ICEhZWxlbWVudCAmJiB0aGlzLmNvbnRhaW5zKGVsZW1lbnQpKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLm5nWm9uZSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BQ1RJVkVfRUxFTUVOVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmUkOiBPYnNlcnZhYmxlPEVsZW1lbnQgfCBudWxsPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0UGFyZW50QWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdFBhcmVudEFjdGl2ZVpvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0UGFyZW50QWN0aXZlWm9uZS5hZGRTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdFBhcmVudEFjdGl2ZVpvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0UGFyZW50QWN0aXZlWm9uZS5yZW1vdmVTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhub2RlKSB8fFxuICAgICAgICAgICAgdGhpcy5zdWJBY3RpdmVab25lcy5zb21lKFxuICAgICAgICAgICAgICAgIChpdGVtLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgICAgIGFycmF5LmluZGV4T2YoaXRlbSkgPT09IGluZGV4ICYmIGl0ZW0uY29udGFpbnMobm9kZSksXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHNldFpvbmUoem9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoem9uZSkge1xuICAgICAgICAgICAgem9uZS5hZGRTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50ID0gem9uZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFN1YkFjdGl2ZVpvbmUoYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzID0gWy4uLnRoaXMuc3ViQWN0aXZlWm9uZXMsIGFjdGl2ZVpvbmVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlU3ViQWN0aXZlWm9uZShhY3RpdmVab25lOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdWJBY3RpdmVab25lcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBhY3RpdmVab25lKTtcblxuICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5zdWJBY3RpdmVab25lcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAuLi50aGlzLnN1YkFjdGl2ZVpvbmVzLnNsaWNlKGluZGV4ICsgMSksXG4gICAgICAgIF07XG4gICAgfVxufVxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lLyIsInNvdXJjZXMiOlsiYWN0aXZlLXpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBTzFFO0lBb0JJLGdDQUVxQixPQUFtQyxFQUNuQixNQUFjLEVBQ1YsVUFBK0IsRUFJbkQsc0JBQXFEO1FBUjFFLGlCQWFDO1FBWG9CLFlBQU8sR0FBUCxPQUFPLENBQTRCO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUluRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQStCO1FBM0JsRSxtQkFBYyxHQUFzQyxFQUFFLENBQUM7UUFFdkQsd0JBQW1CLEdBQWtDLElBQUksQ0FBQztRQVN6RCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFJLENBQUMsUUFB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RUFDSixxSEFBcUg7WUFDekgsUUFBUSxFQUFFLGVBQWU7U0FDNUIsQ0FBQztRQXNCTyxXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRTFCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2QsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyx3QkFBc0IsQ0FBQyxDQUFBO09BM0IxQixzQkFBc0IsQ0FnRmxDO0lBQUQsNkJBQUM7Q0FBQSxBQWhGRCxJQWdGQztTQWhGWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RlY29yYXRvcnMnO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VFVJX0FDVElWRV9FTEVNRU5UfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBza2lwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6XG4gICAgICAgICdbdHVpQWN0aXZlWm9uZV06bm90KG5nLWNvbnRhaW5lciksIFt0dWlBY3RpdmVab25lQ2hhbmdlXTpub3QobmctY29udGFpbmVyKSwgW3R1aUFjdGl2ZVpvbmVQYXJlbnRdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBleHBvcnRBczogJ3R1aUFjdGl2ZVpvbmUnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY3RpdmVab25lRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHN1YkFjdGl2ZVpvbmVzOiByZWFkb25seSBUdWlBY3RpdmVab25lRGlyZWN0aXZlW10gPSBbXTtcblxuICAgIHByaXZhdGUgdHVpQWN0aXZlWm9uZVBhcmVudDogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCd0dWlBY3RpdmVab25lUGFyZW50JylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB0dWlBY3RpdmVab25lUGFyZW50U2V0dGVyKHpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuc2V0Wm9uZSh6b25lKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB0dWlBY3RpdmVab25lQ2hhbmdlID0gdGhpcy5hY3RpdmUkLnBpcGUoXG4gICAgICAgIG1hcChlbGVtZW50ID0+ICEhZWxlbWVudCAmJiB0aGlzLmNvbnRhaW5zKGVsZW1lbnQpKSxcbiAgICAgICAgc3RhcnRXaXRoKGZhbHNlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICAgdHVpWm9uZU9wdGltaXplZCh0aGlzLm5nWm9uZSksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BQ1RJVkVfRUxFTUVOVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmUkOiBPYnNlcnZhYmxlPEVsZW1lbnQgfCBudWxsPixcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2tpcFNlbGYoKVxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0UGFyZW50QWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdFBhcmVudEFjdGl2ZVpvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0UGFyZW50QWN0aXZlWm9uZS5hZGRTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpcmVjdFBhcmVudEFjdGl2ZVpvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0UGFyZW50QWN0aXZlWm9uZS5yZW1vdmVTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhub2RlKSB8fFxuICAgICAgICAgICAgdGhpcy5zdWJBY3RpdmVab25lcy5zb21lKFxuICAgICAgICAgICAgICAgIChpdGVtLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgICAgIGFycmF5LmluZGV4T2YoaXRlbSkgPT09IGluZGV4ICYmIGl0ZW0uY29udGFpbnMobm9kZSksXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHNldFpvbmUoem9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHVpQWN0aXZlWm9uZVBhcmVudCkge1xuICAgICAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50LnJlbW92ZVN1YkFjdGl2ZVpvbmUodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoem9uZSkge1xuICAgICAgICAgICAgem9uZS5hZGRTdWJBY3RpdmVab25lKHRoaXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50dWlBY3RpdmVab25lUGFyZW50ID0gem9uZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFN1YkFjdGl2ZVpvbmUoYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzID0gWy4uLnRoaXMuc3ViQWN0aXZlWm9uZXMsIGFjdGl2ZVpvbmVdO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlU3ViQWN0aXZlWm9uZShhY3RpdmVab25lOiBUdWlBY3RpdmVab25lRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zdWJBY3RpdmVab25lcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBhY3RpdmVab25lKTtcblxuICAgICAgICB0aGlzLnN1YkFjdGl2ZVpvbmVzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5zdWJBY3RpdmVab25lcy5zbGljZSgwLCBpbmRleCksXG4gICAgICAgICAgICAuLi50aGlzLnN1YkFjdGl2ZVpvbmVzLnNsaWNlKGluZGV4ICsgMSksXG4gICAgICAgIF07XG4gICAgfVxufVxuIl19
@@ -1,99 +1,19 @@
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
- var TIMEOUT = 1000;
10
- var 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
  var TuiAutoFocusDirective = /** @class */ (function () {
14
- function TuiAutoFocusDirective(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
+ function TuiAutoFocusDirective(handler) {
7
+ this.handler = handler;
21
8
  this.autoFocus = true;
22
9
  }
23
10
  TuiAutoFocusDirective.prototype.ngAfterViewInit = function () {
24
- var _this = this;
25
- if (!this.autoFocus) {
26
- return;
11
+ if (this.autoFocus) {
12
+ this.handler.setFocus();
27
13
  }
28
- if (this.isTextFieldElement) {
29
- if (this.isIos) {
30
- this.ngZone.runOutsideAngular(function () { return _this.iosWebkitAutofocus(); });
31
- }
32
- else {
33
- race(timer(TIMEOUT), this.animationFrame$.pipe(throttleTime(POLLING_TIME), map(function () { return _this.element.closest(NG_ANIMATION_SELECTOR); }), skipWhile(Boolean), take(1))).subscribe(function () { return setNativeFocused(_this.element); });
34
- }
35
- return;
36
- }
37
- setNativeFocused(this.element);
38
- };
39
- Object.defineProperty(TuiAutoFocusDirective.prototype, "element", {
40
- get: function () {
41
- var _a;
42
- return (((_a = this.tuiFocusableComponent) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) ||
43
- this.elementRef.nativeElement);
44
- },
45
- enumerable: true,
46
- configurable: true
47
- });
48
- Object.defineProperty(TuiAutoFocusDirective.prototype, "isTextFieldElement", {
49
- get: function () {
50
- return this.element.matches('input, textarea');
51
- },
52
- enumerable: true,
53
- configurable: true
54
- });
55
- TuiAutoFocusDirective.prototype.iosWebkitAutofocus = function () {
56
- var _this = this;
57
- var _a;
58
- var fakeInput = this.renderer.createElement('input');
59
- fakeInput.style.position = 'absolute';
60
- fakeInput.style.opacity = '0';
61
- fakeInput.style.height = '0';
62
- var blurHandler = function () { return setNativeFocused(fakeInput); };
63
- var focusHandler = function () {
64
- setTimeout(function () {
65
- setNativeFocused(_this.element);
66
- /**
67
- * @note:
68
- * We can't remove the element immediately, because it breaks flow
69
- */
70
- setTimeout(function () {
71
- fakeInput.removeEventListener('blur', blurHandler);
72
- fakeInput.removeEventListener('focus', focusHandler);
73
- fakeInput.remove();
74
- });
75
- });
76
- };
77
- /**
78
- * @note: ping-pong eager strategy hack
79
- * After creating an element and bringing it into DOM,
80
- * the browser automatically focuses on the invisible element.
81
- * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
82
- * then we try to focus again on an invisible element, so that the keyboard slowly appears.
83
- * This ping pong allows the keyboard to not overlap the modal window.
84
- */
85
- fakeInput.addEventListener('blur', blurHandler, { once: true });
86
- fakeInput.addEventListener('focus', focusHandler);
87
- (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
88
- setNativeFocused(fakeInput);
89
14
  };
90
15
  TuiAutoFocusDirective.ctorParameters = function () { return [
91
- { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
92
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_IOS,] }] },
93
- { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
94
- { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
95
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
96
- { type: Renderer2, decorators: [{ type: Inject, args: [Renderer2,] }] }
16
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_AUTOFOCUS_HANDLER,] }] }
97
17
  ]; };
98
18
  __decorate([
99
19
  Input()
@@ -101,17 +21,11 @@ var TuiAutoFocusDirective = /** @class */ (function () {
101
21
  TuiAutoFocusDirective = __decorate([
102
22
  Directive({
103
23
  selector: '[tuiAutoFocus]',
24
+ providers: TUI_AUTOFOCUS_PROVIDERS,
104
25
  }),
105
- __param(0, Optional()),
106
- __param(0, Self()),
107
- __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)),
108
- __param(1, Inject(TUI_IS_IOS)),
109
- __param(2, Inject(ANIMATION_FRAME)),
110
- __param(3, Inject(NgZone)),
111
- __param(4, Inject(ElementRef)),
112
- __param(5, Inject(Renderer2))
26
+ __param(0, Inject(TUI_AUTOFOCUS_HANDLER))
113
27
  ], TuiAutoFocusDirective);
114
28
  return TuiAutoFocusDirective;
115
29
  }());
116
30
  export { TuiAutoFocusDirective };
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILGFBQWEsRUFDYixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFLckQsT0FBTyxFQUFDLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLElBQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRTlDLHlFQUF5RTtBQUN6RSw0Q0FBNEM7QUFJNUM7SUFJSSwrQkFJcUIscUJBQXlELEVBQ3JDLEtBQWMsRUFDVCxlQUFtQyxFQUU1RCxNQUFjLEVBRWQsVUFBbUMsRUFFbkMsUUFBbUI7UUFSbkIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFvQztRQUNyQyxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBQ1Qsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRTVELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFZCxlQUFVLEdBQVYs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QUFDO0lBQ2hDLENBQUM7O2dEQXpGSSxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQywyQkFBMkI7OENBRWxDLE1BQU0sU0FBQyxVQUFVO2dCQUN5QyxVQUFVLHVCQUFwRSxNQUFNLFNBQUMsZUFBZTtnQkFFRSxNQUFNLHVCQUQ5QixNQUFNLFNBQUMsTUFBTTtnQkFHZSxVQUFVLHVCQUR0QyxNQUFNLFNBQUMsVUFBVTtnQkFHUyxTQUFTLHVCQURuQyxNQUFNLFNBQUMsU0FBUzs7SUFickI7UUFEQyxLQUFLLEVBQUU7NERBQ1M7SUFGUixxQkFBcUI7UUFIakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGdCQUFnQjtTQUM3QixDQUFDO1FBTU8sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO1FBRW5DLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWQsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFbEIsV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7T0FmYixxQkFBcUIsQ0ErRmpDO0lBQUQsNEJBQUM7Q0FBQSxBQS9GRCxJQStGQztTQS9GWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRX0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1BPTExJTkdfVElNRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7VFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLCBUVUlfSVNfSU9TfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3NldE5hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCByYWNlLCB0aW1lcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc2tpcFdoaWxlLCB0YWtlLCB0aHJvdHRsZVRpbWV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgVElNRU9VVCA9IDEwMDA7XG5jb25zdCBOR19BTklNQVRJT05fU0VMRUNUT1IgPSAnLm5nLWFuaW1hdGluZyc7XG5cbi8vIFRPRE86IGluIDMuMCBjaGFuZ2UgaW5wdXQgbmFtZSB0byB0dWlBdXRvRm9jdXMgYW5kIGhhbmRsZSBlbXB0eSBzdHJpbmdcbi8vIFRPRE86IHJlZmFjdG9yIG9uIHRoaXMgd2hvbGUgdGhpbmcgaW4gMy4wXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlBdXRvRm9jdXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXV0b0ZvY3VzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KClcbiAgICBhdXRvRm9jdXMgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHVpRm9jdXNhYmxlQ29tcG9uZW50OiBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoQU5JTUFUSU9OX0ZSQU1FKSBwcml2YXRlIHJlYWRvbmx5IGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KE5nWm9uZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFJlbmRlcmVyMilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNUZXh0RmllbGRFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0lvcykge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuaW9zV2Via2l0QXV0b2ZvY3VzKCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByYWNlKFxuICAgICAgICAgICAgICAgICAgICB0aW1lcihUSU1FT1VUKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbmltYXRpb25GcmFtZSQucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm90dGxlVGltZShQT0xMSU5HX1RJTUUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZWxlbWVudC5jbG9zZXN0KE5HX0FOSU1BVElPTl9TRUxFQ1RPUikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2tpcFdoaWxlKEJvb2xlYW4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLnN1YnNjcmliZSgoKSA9PiBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZWxlbWVudCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHVpRm9jdXNhYmxlQ29tcG9uZW50Py5uYXRpdmVGb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzVGV4dEZpZWxkRWxlbWVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5tYXRjaGVzKCdpbnB1dCwgdGV4dGFyZWEnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlvc1dlYmtpdEF1dG9mb2N1cygpIHtcbiAgICAgICAgY29uc3QgZmFrZUlucHV0OiBIVE1MRWxlbWVudCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcblxuICAgICAgICBmYWtlSW5wdXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICBmYWtlSW5wdXQuc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZmFrZUlucHV0LnN0eWxlLmhlaWdodCA9ICcwJztcblxuICAgICAgICBjb25zdCBibHVySGFuZGxlciA9ICgpID0+IHNldE5hdGl2ZUZvY3VzZWQoZmFrZUlucHV0KTtcbiAgICAgICAgY29uc3QgZm9jdXNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmVsZW1lbnQpO1xuXG4gICAgICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgICAgICogQG5vdGU6XG4gICAgICAgICAgICAgICAgICogV2UgY2FuJ3QgcmVtb3ZlIHRoZSBlbGVtZW50IGltbWVkaWF0ZWx5LCBiZWNhdXNlIGl0IGJyZWFrcyBmbG93XG4gICAgICAgICAgICAgICAgICovXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZha2VJbnB1dC5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgYmx1ckhhbmRsZXIpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBmb2N1c0hhbmRsZXIpO1xuICAgICAgICAgICAgICAgICAgICBmYWtlSW5wdXQucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogQG5vdGU6IHBpbmctcG9uZyBlYWdlciBzdHJhdGVneSBoYWNrXG4gICAgICAgICAqIEFmdGVyIGNyZWF0aW5nIGFuIGVsZW1lbnQgYW5kIGJyaW5naW5nIGl0IGludG8gRE9NLFxuICAgICAgICAgKiB0aGUgYnJvd3NlciBhdXRvbWF0aWNhbGx5IGZvY3VzZXMgb24gdGhlIGludmlzaWJsZSBlbGVtZW50LlxuICAgICAgICAgKiBBbmQgdGhlbiwgYWZ0ZXIgZm9jdXMgaXMgdHJpZ2dlcmVkLCB3ZSB0cnkgdG8gZm9jdXMgb24gdGFyZ2V0IGVsZW1lbnQsIGFuZCBpZiB3ZSBtYW5hZ2VkIHRvIHJlZm9jdXMsXG4gICAgICAgICAqIHRoZW4gd2UgdHJ5IHRvIGZvY3VzIGFnYWluIG9uIGFuIGludmlzaWJsZSBlbGVtZW50LCBzbyB0aGF0IHRoZSBrZXlib2FyZCBzbG93bHkgYXBwZWFycy5cbiAgICAgICAgICogVGhpcyBwaW5nIHBvbmcgYWxsb3dzIHRoZSBrZXlib2FyZCB0byBub3Qgb3ZlcmxhcCB0aGUgbW9kYWwgd2luZG93LlxuICAgICAgICAgKi9cbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCBibHVySGFuZGxlciwge29uY2U6IHRydWV9KTtcbiAgICAgICAgZmFrZUlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgZm9jdXNIYW5kbGVyKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQucGFyZW50RWxlbWVudD8uYXBwZW5kQ2hpbGQoZmFrZUlucHV0KTtcblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZha2VJbnB1dCk7XG4gICAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzLyIsInNvdXJjZXMiOlsiYXV0b2ZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLHVCQUF1QixHQUUxQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLHNFQUFzRTtBQUt0RTtJQUlJLCtCQUNvRCxPQUE0QjtRQUE1QixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUhoRixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBSWQsQ0FBQztJQUVKLCtDQUFlLEdBQWY7UUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7O2dEQVBJLE1BQU0sU0FBQyxxQkFBcUI7O0lBSGpDO1FBREMsS0FBSyxFQUFFOzREQUNTO0lBRlIscUJBQXFCO1FBSmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFLHVCQUF1QjtTQUNyQyxDQUFDO1FBTU8sV0FBQSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQTtPQUx6QixxQkFBcUIsQ0FhakM7SUFBRCw0QkFBQztDQUFBLEFBYkQsSUFhQztTQWJZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBUVUlfQVVUT0ZPQ1VTX0hBTkRMRVIsXG4gICAgVFVJX0FVVE9GT0NVU19QUk9WSURFUlMsXG4gICAgVHVpQXV0b2ZvY3VzSGFuZGxlcixcbn0gZnJvbSAnLi9hdXRvZm9jdXMub3B0aW9ucyc7XG5cbi8vIFRPRE86IDMuMCBjaGFuZ2UgaW5wdXQgbmFtZSB0byB0dWlBdXRvRm9jdXMgYW5kIGhhbmRsZSBlbXB0eSBzdHJpbmdcbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUF1dG9Gb2N1c10nLFxuICAgIHByb3ZpZGVyczogVFVJX0FVVE9GT0NVU19QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUF1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9BVVRPRk9DVVNfSEFORExFUikgcHJpdmF0ZSByZWFkb25seSBoYW5kbGVyOiBUdWlBdXRvZm9jdXNIYW5kbGVyLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZXIuc2V0Rm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { ElementRef, inject, InjectionToken, NgZone, Optional, Renderer2, Self, } from '@angular/core';
2
+ import { ANIMATION_FRAME } from '@ng-web-apis/common';
3
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_APPLE } from '@taiga-ui/cdk/tokens';
4
+ import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
5
+ import { TuiIosAutofocusHandler } from './handlers/ios.handler';
6
+ export var TUI_AUTOFOCUS_HANDLER = new InjectionToken('Autofocusing handler');
7
+ // TODO: 3.0 remove in ivy compilation
8
+ export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone) {
9
+ return inject(TUI_IS_APPLE)
10
+ ? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone)
11
+ : new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
12
+ }
13
+ export var 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
+ ],
25
+ },
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImF1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBQywyQkFBMkIsRUFBRSxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQU05RCxNQUFNLENBQUMsSUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsc0JBQXNCLENBQ3pCLENBQUM7QUFFRixzQ0FBc0M7QUFDdEMsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxxQkFBeUQsRUFDekQsVUFBbUMsRUFDbkMsZUFBbUMsRUFDbkMsUUFBbUIsRUFDbkIsTUFBYztJQUVkLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQztRQUN2QixDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUNqRixDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FDMUIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLG9DQUFvQztRQUNwQyxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLDJCQUEyQixDQUFDO1lBQ3pELFVBQVU7WUFDVixlQUFlO1lBQ2YsU0FBUztZQUNULE1BQU07U0FDVDtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFJlbmRlcmVyMixcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QU5JTUFUSU9OX0ZSQU1FfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsIFRVSV9JU19BUFBMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXInO1xuaW1wb3J0IHtUdWlJb3NBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBzZXRGb2N1cygpOiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0FVVE9GT0NVU19IQU5ETEVSID0gbmV3IEluamVjdGlvblRva2VuPFR1aUF1dG9mb2N1c0hhbmRsZXI+KFxuICAgICdBdXRvZm9jdXNpbmcgaGFuZGxlcicsXG4pO1xuXG4vLyBUT0RPOiAzLjAgcmVtb3ZlIGluIGl2eSBjb21waWxhdGlvblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUF1dG9mb2N1c0hhbmRsZXJGYWN0b3J5KFxuICAgIHR1aUZvY3VzYWJsZUNvbXBvbmVudDogVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yIHwgbnVsbCxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIG5nWm9uZTogTmdab25lLFxuKTogVHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgcmV0dXJuIGluamVjdChUVUlfSVNfQVBQTEUpXG4gICAgICAgID8gbmV3IFR1aUlvc0F1dG9mb2N1c0hhbmRsZXIodHVpRm9jdXNhYmxlQ29tcG9uZW50LCBlbGVtZW50UmVmLCByZW5kZXJlciwgbmdab25lKVxuICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICBhbmltYXRpb25GcmFtZSQsXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIHRvIHVzZUNsYXNzIGluIHYzLjBcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQXV0b2ZvY3VzSGFuZGxlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SXSxcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBBTklNQVRJT05fRlJBTUUsXG4gICAgICAgICAgICBSZW5kZXJlcjIsXG4gICAgICAgICAgICBOZ1pvbmUsXG4gICAgICAgIF0sXG4gICAgfSxcbl07XG4iXX0=