@taiga-ui/kit 2.26.0 → 2.29.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 (739) hide show
  1. package/README.md +4 -5
  2. package/abstract/input-slider.d.ts +5 -5
  3. package/abstract/slider/slider.d.ts +5 -5
  4. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.js +10 -10
  6. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-abstract.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.js +23 -7
  10. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +2 -2
  12. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-action.umd.js +3 -3
  14. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +7 -7
  18. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-carousel.umd.js +189 -243
  24. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +2 -2
  26. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +3 -3
  28. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +1 -1
  30. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +3 -3
  32. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox.umd.js +3 -3
  36. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-combo-box.umd.js +18 -19
  40. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  42. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +7 -7
  44. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  46. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-field-error.umd.js +20 -8
  48. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +2 -2
  50. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-filter.umd.js +8 -8
  52. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  54. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-copy.umd.js +4 -4
  56. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  58. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-count.umd.js +3 -3
  60. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +26 -18
  64. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  66. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +40 -22
  68. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-date.umd.js +26 -18
  72. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  74. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  78. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-inline.umd.js +7 -6
  80. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  82. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +4 -3
  84. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-month.umd.js +4 -3
  88. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  90. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-number.umd.js +20 -34
  92. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  94. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-password.umd.js +3 -3
  96. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  98. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +30 -28
  100. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  102. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-phone.umd.js +6 -6
  104. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  106. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-input-slider.umd.js +3 -3
  108. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  110. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-input-tag.umd.js +31 -31
  112. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  114. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-time.umd.js +16 -16
  116. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  118. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-input.umd.js +7 -7
  120. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  122. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +7 -7
  124. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  126. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  128. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  130. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-multi-select.umd.js +18 -18
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-pagination.umd.js +4 -4
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  138. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +13 -21
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +2 -2
  142. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-progress.umd.js +3 -3
  144. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-radio-block.umd.js +3 -3
  148. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  152. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +3 -3
  154. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  156. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-radio-list.umd.js +7 -7
  158. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  160. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-radio.umd.js +3 -3
  162. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  163. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  164. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-select.umd.js +11 -14
  166. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  167. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  168. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-kit-components-stepper.umd.js +18 -18
  170. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  172. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  173. package/bundles/taiga-ui-kit-components-tabs.umd.js +22 -22
  174. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-text-area.umd.js +4 -4
  178. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  179. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +2 -2
  180. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-kit-components-toggle.umd.js +3 -3
  182. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  184. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  185. package/bundles/taiga-ui-kit-components-tree.umd.js +5 -5
  186. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  187. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  188. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  189. package/bundles/taiga-ui-kit-constants.umd.js +8 -0
  190. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  191. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  192. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -4
  193. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  194. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
  195. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  196. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -1
  197. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  198. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  199. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  200. package/bundles/taiga-ui-kit-directives-highlight.umd.js +2 -2
  201. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  202. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js +1 -1
  203. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  204. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +7 -1
  205. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  206. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  207. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  208. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  210. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +2 -2
  211. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  212. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +1 -1
  213. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  214. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  215. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  217. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  218. package/bundles/taiga-ui-kit-utils-mask.umd.js +42 -11
  219. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  220. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +2 -2
  221. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  222. package/components/accordion/accordion-item/accordion-item-eager-content.directive.d.ts +2 -0
  223. package/components/accordion/accordion-item/accordion-item.component.d.ts +4 -2
  224. package/components/accordion/index.d.ts +1 -0
  225. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  226. package/components/action/action.component.d.ts +1 -1
  227. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  228. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  229. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  230. package/components/calendar-range/calendar-range.component.d.ts +1 -1
  231. package/components/calendar-range/taiga-ui-kit-components-calendar-range.metadata.json +1 -1
  232. package/components/carousel/carousel-autoscroll.directive.d.ts +5 -0
  233. package/components/carousel/carousel-scroll.directive.d.ts +6 -0
  234. package/components/carousel/carousel.component.d.ts +22 -11
  235. package/components/carousel/carousel.directive.d.ts +3 -10
  236. package/components/carousel/index.d.ts +2 -2
  237. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  238. package/components/checkbox/checkbox.component.d.ts +1 -1
  239. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  240. package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
  241. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  242. package/components/checkbox-labeled/checkbox-labeled.component.d.ts +1 -1
  243. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  244. package/components/combo-box/combo-box.component.d.ts +5 -5
  245. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  246. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +2 -2
  247. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  248. package/components/field-error/field-error.component.d.ts +3 -2
  249. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  250. package/components/filter/filter.component.d.ts +2 -2
  251. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  252. package/components/input/input.component.d.ts +3 -3
  253. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  254. package/components/input-copy/input-copy.component.d.ts +2 -2
  255. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  256. package/components/input-count/input-count.component.d.ts +2 -2
  257. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  258. package/components/input-date/input-date.component.d.ts +6 -5
  259. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  260. package/components/input-date-range/input-date-range.component.d.ts +5 -4
  261. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  262. package/components/input-date-time/input-date-time.component.d.ts +6 -5
  263. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  264. package/components/input-file/input-file.component.d.ts +1 -1
  265. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  266. package/components/input-inline/input-inline.component.d.ts +1 -1
  267. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  268. package/components/input-month/input-month.component.d.ts +1 -1
  269. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  270. package/components/input-month-range/input-month-range.component.d.ts +1 -1
  271. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  272. package/components/input-number/input-number.component.d.ts +3 -4
  273. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  274. package/components/input-password/input-password.component.d.ts +2 -2
  275. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  276. package/components/input-phone/input-phone.component.d.ts +3 -3
  277. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  278. package/components/input-phone-international/country-iso-code.d.ts +1 -1
  279. package/components/input-phone-international/input-phone-international.component.d.ts +6 -6
  280. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  281. package/components/input-slider/input-slider.component.d.ts +1 -1
  282. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  283. package/components/input-tag/input-tag.component.d.ts +12 -12
  284. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  285. package/components/input-time/input-time.component.d.ts +4 -4
  286. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  287. package/components/line-clamp/line-clamp.component.d.ts +4 -4
  288. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  289. package/components/marker-icon/marker-icon.component.d.ts +1 -1
  290. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  291. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  292. package/components/multi-select/multi-select.component.d.ts +7 -7
  293. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  294. package/components/pagination/pagination.component.d.ts +1 -1
  295. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  296. package/components/pdf-viewer/pdf-viewer.component.d.ts +1 -4
  297. package/components/pdf-viewer/pdf-viewer.service.d.ts +7 -2
  298. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  299. package/components/progress/progress-circle/progress-circle.component.d.ts +1 -1
  300. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  301. package/components/radio/radio.component.d.ts +1 -1
  302. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  303. package/components/radio-block/radio-block.component.d.ts +1 -1
  304. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  305. package/components/radio-group/radio-group.component.d.ts +1 -1
  306. package/components/radio-group/taiga-ui-kit-components-radio-group.metadata.json +1 -1
  307. package/components/radio-labeled/radio-labeled.component.d.ts +1 -1
  308. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  309. package/components/radio-list/radio-list.component.d.ts +3 -3
  310. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  311. package/components/select/select.component.d.ts +3 -3
  312. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  313. package/components/stepper/stepper.component.d.ts +3 -3
  314. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  315. package/components/tabs/tabs/tabs.component.d.ts +2 -2
  316. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +2 -2
  317. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  318. package/components/tabs/underline/underline.component.d.ts +2 -2
  319. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  320. package/components/text-area/text-area.component.d.ts +1 -1
  321. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  322. package/components/toggle/toggle.component.d.ts +1 -1
  323. package/components/tree/components/tree/tree.component.d.ts +1 -1
  324. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
  325. package/components/tree/directives/tree-item-controller.directive.d.ts +1 -1
  326. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  327. package/constants/masks.d.ts +8 -0
  328. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  329. package/directives/dropdown-context/dropdown-context.directive.d.ts +1 -1
  330. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  331. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +3 -3
  332. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  333. package/directives/highlight/highlight.directive.d.ts +2 -2
  334. package/directives/highlight/taiga-ui-kit-directives-highlight.metadata.json +1 -1
  335. package/directives/lazy-loading/lazy-loading.directive.d.ts +1 -1
  336. package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
  337. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  338. package/directives/present/present.directive.d.ts +1 -1
  339. package/directives/present/taiga-ui-kit-directives-present.metadata.json +1 -1
  340. package/esm2015/abstract/input-slider.js +3 -3
  341. package/esm2015/abstract/slider/slider.js +9 -9
  342. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -3
  343. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +11 -0
  344. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +10 -6
  345. package/esm2015/components/accordion/accordion.module.js +4 -1
  346. package/esm2015/components/accordion/index.js +2 -1
  347. package/esm2015/components/action/action.component.js +4 -4
  348. package/esm2015/components/calendar-month/calendar-month.component.js +6 -6
  349. package/esm2015/components/calendar-range/calendar-range.component.js +1 -1
  350. package/esm2015/components/carousel/carousel-autoscroll.directive.js +21 -0
  351. package/esm2015/components/carousel/carousel-scroll.directive.js +26 -0
  352. package/esm2015/components/carousel/carousel.component.js +90 -33
  353. package/esm2015/components/carousel/carousel.directive.js +10 -40
  354. package/esm2015/components/carousel/carousel.module.js +13 -9
  355. package/esm2015/components/carousel/index.js +3 -3
  356. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  357. package/esm2015/components/checkbox-block/checkbox-block.component.js +4 -4
  358. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +4 -4
  359. package/esm2015/components/combo-box/combo-box.component.js +19 -20
  360. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +8 -8
  361. package/esm2015/components/field-error/field-error.component.js +15 -6
  362. package/esm2015/components/filter/filter.component.js +9 -9
  363. package/esm2015/components/input/input.component.js +8 -8
  364. package/esm2015/components/input-copy/input-copy.component.js +5 -5
  365. package/esm2015/components/input-count/input-count.component.js +4 -4
  366. package/esm2015/components/input-date/input-date.component.js +30 -22
  367. package/esm2015/components/input-date-range/input-date-range.component.js +30 -22
  368. package/esm2015/components/input-date-time/input-date-time.component.js +45 -25
  369. package/esm2015/components/input-file/input-file.component.js +2 -2
  370. package/esm2015/components/input-inline/input-inline.component.js +8 -7
  371. package/esm2015/components/input-month/input-month.component.js +5 -4
  372. package/esm2015/components/input-month-range/input-month-range.component.js +5 -4
  373. package/esm2015/components/input-number/input-number.component.js +21 -31
  374. package/esm2015/components/input-password/input-password.component.js +4 -4
  375. package/esm2015/components/input-phone/input-phone.component.js +7 -7
  376. package/esm2015/components/input-phone-international/const/countries.js +8 -6
  377. package/esm2015/components/input-phone-international/country-iso-code.js +2 -2
  378. package/esm2015/components/input-phone-international/input-phone-international.component.js +20 -20
  379. package/esm2015/components/input-slider/input-slider.component.js +4 -4
  380. package/esm2015/components/input-tag/input-tag.component.js +32 -32
  381. package/esm2015/components/input-time/input-time.component.js +17 -17
  382. package/esm2015/components/line-clamp/line-clamp.component.js +8 -8
  383. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  384. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  385. package/esm2015/components/multi-select/multi-select.component.js +15 -15
  386. package/esm2015/components/pagination/pagination.component.js +5 -5
  387. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +6 -20
  388. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +4 -1
  389. package/esm2015/components/progress/pipes/abstract-color-segments.js +1 -1
  390. package/esm2015/components/progress/progress-circle/progress-circle.component.js +4 -4
  391. package/esm2015/components/radio/radio.component.js +4 -4
  392. package/esm2015/components/radio-block/radio-block.component.js +4 -4
  393. package/esm2015/components/radio-group/radio-group.component.js +1 -1
  394. package/esm2015/components/radio-labeled/radio-labeled.component.js +4 -4
  395. package/esm2015/components/radio-list/radio-list.component.js +8 -8
  396. package/esm2015/components/select/select.component.js +12 -15
  397. package/esm2015/components/stepper/stepper.component.js +18 -18
  398. package/esm2015/components/tabs/tabs/tabs.component.js +16 -16
  399. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +5 -5
  400. package/esm2015/components/tabs/underline/underline.component.js +3 -3
  401. package/esm2015/components/text-area/text-area.component.js +5 -5
  402. package/esm2015/components/toggle/toggle.component.js +4 -4
  403. package/esm2015/components/tree/components/tree/tree.component.js +4 -4
  404. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  405. package/esm2015/components/tree/directives/tree-item-controller.directive.js +2 -2
  406. package/esm2015/constants/masks.js +9 -1
  407. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +3 -5
  408. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +2 -2
  409. package/esm2015/directives/highlight/highlight.directive.js +3 -3
  410. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +4 -2
  411. package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
  412. package/esm2015/directives/present/present.directive.js +1 -1
  413. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  414. package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
  415. package/esm2015/tokens/validation-errors.js +1 -1
  416. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -4
  417. package/esm2015/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
  418. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +5 -5
  419. package/esm2015/utils/mask/create-date-mask.js +16 -0
  420. package/esm2015/utils/mask/create-date-range-mask.js +14 -0
  421. package/esm2015/utils/mask/index.js +3 -1
  422. package/esm5/abstract/input-slider.js +3 -3
  423. package/esm5/abstract/slider/slider.js +9 -9
  424. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +2 -3
  425. package/esm5/components/accordion/accordion-item/accordion-item-eager-content.directive.js +14 -0
  426. package/esm5/components/accordion/accordion-item/accordion-item.component.js +10 -6
  427. package/esm5/components/accordion/accordion.module.js +4 -1
  428. package/esm5/components/accordion/index.js +2 -1
  429. package/esm5/components/action/action.component.js +4 -4
  430. package/esm5/components/calendar-month/calendar-month.component.js +8 -8
  431. package/esm5/components/calendar-range/calendar-range.component.js +1 -1
  432. package/esm5/components/carousel/carousel-autoscroll.directive.js +22 -0
  433. package/esm5/components/carousel/carousel-scroll.directive.js +34 -0
  434. package/esm5/components/carousel/carousel.component.js +102 -34
  435. package/esm5/components/carousel/carousel.directive.js +13 -50
  436. package/esm5/components/carousel/carousel.module.js +13 -9
  437. package/esm5/components/carousel/index.js +3 -3
  438. package/esm5/components/checkbox/checkbox.component.js +4 -4
  439. package/esm5/components/checkbox-block/checkbox-block.component.js +4 -4
  440. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +4 -4
  441. package/esm5/components/combo-box/combo-box.component.js +19 -20
  442. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +8 -8
  443. package/esm5/components/field-error/field-error.component.js +19 -6
  444. package/esm5/components/filter/filter.component.js +9 -9
  445. package/esm5/components/input/input.component.js +8 -8
  446. package/esm5/components/input-copy/input-copy.component.js +5 -5
  447. package/esm5/components/input-count/input-count.component.js +4 -4
  448. package/esm5/components/input-date/input-date.component.js +30 -22
  449. package/esm5/components/input-date-range/input-date-range.component.js +30 -22
  450. package/esm5/components/input-date-time/input-date-time.component.js +44 -26
  451. package/esm5/components/input-file/input-file.component.js +2 -2
  452. package/esm5/components/input-inline/input-inline.component.js +8 -7
  453. package/esm5/components/input-month/input-month.component.js +5 -4
  454. package/esm5/components/input-month-range/input-month-range.component.js +5 -4
  455. package/esm5/components/input-number/input-number.component.js +21 -35
  456. package/esm5/components/input-password/input-password.component.js +4 -4
  457. package/esm5/components/input-phone/input-phone.component.js +7 -7
  458. package/esm5/components/input-phone-international/const/countries.js +8 -6
  459. package/esm5/components/input-phone-international/country-iso-code.js +2 -2
  460. package/esm5/components/input-phone-international/input-phone-international.component.js +23 -23
  461. package/esm5/components/input-slider/input-slider.component.js +4 -4
  462. package/esm5/components/input-tag/input-tag.component.js +32 -32
  463. package/esm5/components/input-time/input-time.component.js +17 -17
  464. package/esm5/components/line-clamp/line-clamp.component.js +8 -8
  465. package/esm5/components/marker-icon/marker-icon.component.js +2 -2
  466. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  467. package/esm5/components/multi-select/multi-select.component.js +15 -15
  468. package/esm5/components/pagination/pagination.component.js +5 -5
  469. package/esm5/components/pdf-viewer/pdf-viewer.component.js +6 -20
  470. package/esm5/components/pdf-viewer/pdf-viewer.service.js +5 -1
  471. package/esm5/components/progress/pipes/abstract-color-segments.js +1 -1
  472. package/esm5/components/progress/progress-circle/progress-circle.component.js +4 -4
  473. package/esm5/components/radio/radio.component.js +4 -4
  474. package/esm5/components/radio-block/radio-block.component.js +4 -4
  475. package/esm5/components/radio-group/radio-group.component.js +1 -1
  476. package/esm5/components/radio-labeled/radio-labeled.component.js +4 -4
  477. package/esm5/components/radio-list/radio-list.component.js +8 -8
  478. package/esm5/components/select/select.component.js +12 -15
  479. package/esm5/components/stepper/stepper.component.js +19 -19
  480. package/esm5/components/tabs/tabs/tabs.component.js +17 -17
  481. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +5 -5
  482. package/esm5/components/tabs/underline/underline.component.js +3 -3
  483. package/esm5/components/text-area/text-area.component.js +5 -5
  484. package/esm5/components/toggle/toggle.component.js +4 -4
  485. package/esm5/components/tree/components/tree/tree.component.js +4 -4
  486. package/esm5/components/tree/components/tree-item/tree-item.component.js +2 -2
  487. package/esm5/components/tree/directives/tree-item-controller.directive.js +2 -2
  488. package/esm5/constants/masks.js +9 -1
  489. package/esm5/directives/dropdown-context/dropdown-context.directive.js +3 -5
  490. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +2 -2
  491. package/esm5/directives/highlight/highlight.directive.js +3 -3
  492. package/esm5/directives/lazy-loading/lazy-loading.directive.js +8 -2
  493. package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
  494. package/esm5/directives/present/present.directive.js +1 -1
  495. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  496. package/esm5/pipes/stringify/stringify.pipe.js +1 -1
  497. package/esm5/tokens/validation-errors.js +1 -1
  498. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -4
  499. package/esm5/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
  500. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +5 -5
  501. package/esm5/utils/mask/create-date-mask.js +17 -0
  502. package/esm5/utils/mask/create-date-range-mask.js +13 -0
  503. package/esm5/utils/mask/index.js +3 -1
  504. package/fesm2015/taiga-ui-kit-abstract.js +10 -10
  505. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  506. package/fesm2015/taiga-ui-kit-components-accordion.js +21 -9
  507. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-components-action.js +4 -4
  509. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  510. package/fesm2015/taiga-ui-kit-components-calendar-month.js +5 -5
  511. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  512. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  513. package/fesm2015/taiga-ui-kit-components-carousel.js +158 -214
  514. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  515. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +4 -4
  516. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  517. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  518. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  519. package/fesm2015/taiga-ui-kit-components-checkbox.js +4 -4
  520. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  521. package/fesm2015/taiga-ui-kit-components-combo-box.js +20 -21
  522. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  523. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +9 -9
  524. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  525. package/fesm2015/taiga-ui-kit-components-field-error.js +14 -5
  526. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  527. package/fesm2015/taiga-ui-kit-components-filter.js +9 -9
  528. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  529. package/fesm2015/taiga-ui-kit-components-input-copy.js +5 -5
  530. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  531. package/fesm2015/taiga-ui-kit-components-input-count.js +4 -4
  532. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  533. package/fesm2015/taiga-ui-kit-components-input-date-range.js +30 -22
  534. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  535. package/fesm2015/taiga-ui-kit-components-input-date-time.js +45 -25
  536. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-input-date.js +30 -22
  538. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  539. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  540. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  541. package/fesm2015/taiga-ui-kit-components-input-inline.js +8 -7
  542. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  543. package/fesm2015/taiga-ui-kit-components-input-month-range.js +5 -4
  544. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -4
  546. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  547. package/fesm2015/taiga-ui-kit-components-input-number.js +21 -31
  548. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  549. package/fesm2015/taiga-ui-kit-components-input-password.js +3 -3
  550. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  551. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +28 -26
  552. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  553. package/fesm2015/taiga-ui-kit-components-input-phone.js +8 -8
  554. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  555. package/fesm2015/taiga-ui-kit-components-input-slider.js +4 -4
  556. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  557. package/fesm2015/taiga-ui-kit-components-input-tag.js +34 -34
  558. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  559. package/fesm2015/taiga-ui-kit-components-input-time.js +17 -17
  560. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  561. package/fesm2015/taiga-ui-kit-components-input.js +9 -9
  562. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  563. package/fesm2015/taiga-ui-kit-components-line-clamp.js +8 -8
  564. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  565. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  566. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  567. package/fesm2015/taiga-ui-kit-components-multi-select.js +20 -20
  568. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  569. package/fesm2015/taiga-ui-kit-components-pagination.js +6 -6
  570. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  571. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +9 -19
  572. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  573. package/fesm2015/taiga-ui-kit-components-progress.js +3 -3
  574. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  575. package/fesm2015/taiga-ui-kit-components-radio-block.js +4 -4
  576. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  577. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  578. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +4 -4
  579. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  580. package/fesm2015/taiga-ui-kit-components-radio-list.js +9 -9
  581. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  582. package/fesm2015/taiga-ui-kit-components-radio.js +4 -4
  583. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  584. package/fesm2015/taiga-ui-kit-components-select.js +13 -16
  585. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  586. package/fesm2015/taiga-ui-kit-components-stepper.js +18 -18
  587. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  588. package/fesm2015/taiga-ui-kit-components-tabs.js +22 -22
  589. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  590. package/fesm2015/taiga-ui-kit-components-text-area.js +5 -5
  591. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  592. package/fesm2015/taiga-ui-kit-components-toggle.js +4 -4
  593. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  594. package/fesm2015/taiga-ui-kit-components-tree.js +5 -5
  595. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  596. package/fesm2015/taiga-ui-kit-constants.js +8 -0
  597. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  598. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +2 -4
  599. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  600. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +1 -1
  601. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  602. package/fesm2015/taiga-ui-kit-directives-highlight.js +2 -2
  603. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  604. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +3 -1
  605. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  606. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  607. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  608. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  609. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  610. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  611. package/fesm2015/taiga-ui-kit-utils-mask.js +44 -13
  612. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-abstract.js +10 -10
  614. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-accordion.js +24 -9
  616. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  617. package/fesm5/taiga-ui-kit-components-action.js +4 -4
  618. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-calendar-month.js +7 -7
  620. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  622. package/fesm5/taiga-ui-kit-components-carousel.js +190 -245
  623. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  624. package/fesm5/taiga-ui-kit-components-checkbox-block.js +4 -4
  625. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  626. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  627. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  628. package/fesm5/taiga-ui-kit-components-checkbox.js +4 -4
  629. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  630. package/fesm5/taiga-ui-kit-components-combo-box.js +20 -21
  631. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  632. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +9 -9
  633. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  634. package/fesm5/taiga-ui-kit-components-field-error.js +18 -5
  635. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  636. package/fesm5/taiga-ui-kit-components-filter.js +9 -9
  637. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  638. package/fesm5/taiga-ui-kit-components-input-copy.js +5 -5
  639. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  640. package/fesm5/taiga-ui-kit-components-input-count.js +4 -4
  641. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-components-input-date-range.js +30 -22
  643. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  644. package/fesm5/taiga-ui-kit-components-input-date-time.js +44 -26
  645. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  646. package/fesm5/taiga-ui-kit-components-input-date.js +30 -22
  647. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  648. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  649. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  650. package/fesm5/taiga-ui-kit-components-input-inline.js +8 -7
  651. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  652. package/fesm5/taiga-ui-kit-components-input-month-range.js +5 -4
  653. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  654. package/fesm5/taiga-ui-kit-components-input-month.js +5 -4
  655. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  656. package/fesm5/taiga-ui-kit-components-input-number.js +21 -35
  657. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  658. package/fesm5/taiga-ui-kit-components-input-password.js +3 -3
  659. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  660. package/fesm5/taiga-ui-kit-components-input-phone-international.js +31 -29
  661. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  662. package/fesm5/taiga-ui-kit-components-input-phone.js +8 -8
  663. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  664. package/fesm5/taiga-ui-kit-components-input-slider.js +4 -4
  665. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  666. package/fesm5/taiga-ui-kit-components-input-tag.js +34 -34
  667. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  668. package/fesm5/taiga-ui-kit-components-input-time.js +17 -17
  669. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  670. package/fesm5/taiga-ui-kit-components-input.js +9 -9
  671. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  672. package/fesm5/taiga-ui-kit-components-line-clamp.js +8 -8
  673. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  674. package/fesm5/taiga-ui-kit-components-marker-icon.js +1 -1
  675. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  676. package/fesm5/taiga-ui-kit-components-multi-select.js +20 -20
  677. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  678. package/fesm5/taiga-ui-kit-components-pagination.js +6 -6
  679. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  680. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +10 -19
  681. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  682. package/fesm5/taiga-ui-kit-components-progress.js +3 -3
  683. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  684. package/fesm5/taiga-ui-kit-components-radio-block.js +4 -4
  685. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  686. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  687. package/fesm5/taiga-ui-kit-components-radio-labeled.js +4 -4
  688. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  689. package/fesm5/taiga-ui-kit-components-radio-list.js +9 -9
  690. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  691. package/fesm5/taiga-ui-kit-components-radio.js +4 -4
  692. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  693. package/fesm5/taiga-ui-kit-components-select.js +13 -16
  694. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  695. package/fesm5/taiga-ui-kit-components-stepper.js +19 -19
  696. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  697. package/fesm5/taiga-ui-kit-components-tabs.js +23 -23
  698. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  699. package/fesm5/taiga-ui-kit-components-text-area.js +5 -5
  700. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  701. package/fesm5/taiga-ui-kit-components-toggle.js +4 -4
  702. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  703. package/fesm5/taiga-ui-kit-components-tree.js +5 -5
  704. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  705. package/fesm5/taiga-ui-kit-constants.js +8 -0
  706. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  707. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +2 -4
  708. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  709. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +1 -1
  710. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  711. package/fesm5/taiga-ui-kit-directives-highlight.js +2 -2
  712. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  713. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +7 -1
  714. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  715. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  716. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +2 -2
  717. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  718. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  719. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  720. package/fesm5/taiga-ui-kit-utils-mask.js +42 -13
  721. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  722. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +1 -1
  723. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  724. package/package.json +6 -6
  725. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  726. package/tokens/validation-errors.d.ts +2 -1
  727. package/utils/mask/create-auto-corrected-date-pipe.d.ts +7 -3
  728. package/utils/mask/create-auto-corrected-date-range-pipe.d.ts +7 -2
  729. package/utils/mask/create-auto-corrected-date-time-pipe.d.ts +8 -3
  730. package/utils/mask/create-date-mask.d.ts +3 -0
  731. package/utils/mask/create-date-range-mask.d.ts +3 -0
  732. package/utils/mask/index.d.ts +2 -0
  733. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  734. package/components/carousel/carousel-draggable.directive.d.ts +0 -16
  735. package/components/carousel/carousel-scroller.directive.d.ts +0 -17
  736. package/esm2015/components/carousel/carousel-draggable.directive.js +0 -67
  737. package/esm2015/components/carousel/carousel-scroller.directive.js +0 -76
  738. package/esm5/components/carousel/carousel-draggable.directive.js +0 -73
  739. package/esm5/components/carousel/carousel-scroller.directive.js +0 -82
@@ -137,6 +137,13 @@ var TuiCalendarMonthComponent = /** @class */ (function () {
137
137
  TuiCalendarMonthComponent.prototype.onItemPressed = function (pressed, item) {
138
138
  this.updatePressedItem(pressed ? item : null);
139
139
  };
140
+ TuiCalendarMonthComponent.prototype.calculateDisabledItemHandlerWithMinMax = function (disabledItemHandler, value, min, max) {
141
+ return function (item) {
142
+ return item.monthBefore(min) ||
143
+ item.monthAfter(max) ||
144
+ disabledItemHandler(item, { value: value });
145
+ };
146
+ };
140
147
  Object.defineProperty(TuiCalendarMonthComponent.prototype, "disabledItemHandlerWithMinMax", {
141
148
  get: function () {
142
149
  return this.calculateDisabledItemHandlerWithMinMax(this.disabledItemHandler, this.value, this.min, this.max);
@@ -154,13 +161,6 @@ var TuiCalendarMonthComponent = /** @class */ (function () {
154
161
  TuiCalendarMonthComponent.prototype.updatePressedItem = function (item) {
155
162
  this.pressedItem = item;
156
163
  };
157
- TuiCalendarMonthComponent.prototype.calculateDisabledItemHandlerWithMinMax = function (disabledItemHandler, value, min, max) {
158
- return function (item) {
159
- return item.monthBefore(min) ||
160
- item.monthAfter(max) ||
161
- disabledItemHandler(item, { value: value });
162
- };
163
- };
164
164
  TuiCalendarMonthComponent.ctorParameters = function () { return [
165
165
  { type: Observable, decorators: [{ type: Inject, args: [TUI_CALENDAR_MONTHS,] }] }
166
166
  ]; };
@@ -211,4 +211,4 @@ var TuiCalendarMonthComponent = /** @class */ (function () {
211
211
  return TuiCalendarMonthComponent;
212
212
  }());
213
213
  export { TuiCalendarMonthComponent };
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUVwQyxXQUFXO0FBT1g7SUFvQ0ksbUNBQzBDLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO1FBbENoRixVQUFLLEdBQW9DLElBQUksQ0FBQztRQUk5QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBSXRCLHdCQUFtQixHQUNmLG9CQUFvQixDQUFDO1FBSXpCLFFBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsUUFBRyxHQUFhLFlBQVksQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUcxQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUd4RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO1FBQ3BDLGdCQUFXLEdBQW9CLElBQUksQ0FBQztJQUlqQyxDQUFDO0lBR0osc0JBQUksK0NBQVE7YUFBWjtZQUNJLE9BQU8sQ0FDSCxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUk7Z0JBQ25CLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDL0QsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBRUQsc0JBQUksMkRBQW9CO2FBQXhCO1lBQ0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHVEQUFnQjthQUFwQjtZQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLENBQUM7OztPQUFBO0lBRUQsZ0RBQVksR0FBWixVQUFhLElBQWM7UUFDakIsSUFBQSxTQUFnRSxFQUEvRCxnRUFBNkIsRUFBRSw0QkFBVyxFQUFFLDRCQUFtQixDQUFDO1FBRXZFLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckMsaUNBQW9DO1NBQ3ZDO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckQsK0JBQW1DO1NBQ3RDO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckQsK0JBQW1DO1NBQ3RDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGdEQUFZLEdBQVosVUFBYSxJQUFjO1FBQ2pCLElBQUEsU0FBMkIsRUFBMUIsZ0JBQUssRUFBRSw0QkFBbUIsQ0FBQztRQUVsQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1QkFBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUM5RDtRQUVELElBQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUMzRSxJQUFNLG9CQUFvQixHQUN0QixXQUFXLEtBQUssSUFBSTtZQUNwQixXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDbEMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDeEIsSUFBTSw2QkFBNkIsR0FDL0IsV0FBVyxLQUFLLElBQUk7WUFDcEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDM0IsV0FBVyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ25DLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFFeEIsSUFBSSxlQUFlLElBQUksb0JBQW9CLElBQUksNkJBQTZCLEVBQUU7WUFDMUUsMkJBQTJCO1NBQzlCO1FBRUQsSUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQ3hFLElBQU0sbUJBQW1CLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzdFLElBQU0sMkJBQTJCLEdBQzdCLFdBQVcsS0FBSyxJQUFJO1lBQ3BCLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNsQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBRXhCLElBQUksY0FBYyxJQUFJLG1CQUFtQixJQUFJLDJCQUEyQixFQUFFO1lBQ3RFLHVCQUF5QjtTQUM1QjtRQUVELE9BQU8sS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDcEQsQ0FBQztZQUNELENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRUQsK0NBQVcsR0FBWCxVQUFZLFdBQW1CLEVBQUUsVUFBa0I7UUFDL0MsT0FBTyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELCtDQUFXLEdBQVgsVUFBWSxJQUFjO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQscURBQWlCLEdBQWpCLFVBQWtCLEtBQWU7UUFDdkIsSUFBQSxTQUEyQixFQUExQixnQkFBSyxFQUFFLDRCQUFtQixDQUFDO1FBRWxDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFlBQVksUUFBUSxFQUFFO1lBQzdDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVFO1FBRUQsSUFBSSxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQ3RCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRTFELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQscURBQWlCLEdBQWpCLFVBQWtCLElBQWE7UUFDM0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUUvQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCwrQ0FBVyxHQUFYLFVBQVksS0FBZTtRQUN2QixJQUFJLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsK0NBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELDhDQUFVLEdBQVY7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGtEQUFjLEdBQWQ7UUFDSSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsaURBQWEsR0FBYixVQUFjLE9BQWdCLEVBQUUsSUFBYztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxpREFBYSxHQUFiLFVBQWMsT0FBZ0IsRUFBRSxJQUFjO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELHNCQUFZLG9FQUE2QjthQUF6QztZQUNJLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUM5QyxJQUFJLENBQUMsbUJBQW1CLEVBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsR0FBRyxDQUNYLENBQUM7UUFDTixDQUFDOzs7T0FBQTtJQUVPLHFEQUFpQixHQUF6QixVQUEwQixLQUFzQjtRQUM1QyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFDLENBQUMsRUFBRSxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFkLENBQWMsQ0FBQyxFQUFFO1lBQ2pFLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLHFEQUFpQixHQUF6QixVQUEwQixJQUFxQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBR08sMEVBQXNDLEdBQTlDLFVBQ0ksbUJBQTRFLEVBQzVFLEtBQXNDLEVBQ3RDLEdBQWEsRUFDYixHQUFhO1FBRWIsT0FBTyxVQUFBLElBQUk7WUFDUCxPQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO2dCQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsbUJBQW1CLENBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxPQUFBLEVBQUMsQ0FBQztRQUZsQyxDQUVrQyxDQUFDO0lBQzNDLENBQUM7O2dCQXJMa0QsVUFBVSx1QkFBeEQsTUFBTSxTQUFDLG1CQUFtQjs7SUFsQy9CO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzREQUM2QjtJQUk5QztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTsyREFDSztJQUl0QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswRUFFUTtJQUl6QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDYTtJQUk5QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDWTtJQUc3QjtRQURDLE1BQU0sRUFBRTtpRUFDMEM7SUFHbkQ7UUFEQyxNQUFNLEVBQUU7d0VBQ3dEO0lBR2pFO1FBREMsTUFBTSxFQUFFO2lFQUN5QztJQVlsRDtRQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7NkRBTTVCO0lBa0tEO1FBREMsT0FBTzsyRkFXUDtJQTFOUSx5QkFBeUI7UUFOckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtZQUM5Qixza0RBQTZDO1lBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBc0NPLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7T0FyQ3ZCLHlCQUF5QixDQTJOckM7SUFBRCxnQ0FBQztDQUFBLEFBM05ELElBMk5DO1NBM05ZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUludGVyYWN0aXZlU3RhdGUsIFR1aVJhbmdlU3RhdGUsIFR1aVdpdGhPcHRpb25hbE1pbk1heH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9NT05USFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBUT0RBWSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLW1vbnRoJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGgudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItbW9udGguc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYWxlbmRhck1vbnRoQ29tcG9uZW50IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PFR1aU1vbnRoPiB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlNb250aFJhbmdlIHwgVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB5ZWFyOiBUdWlZZWFyID0gVE9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dDxUdWlNb250aCwgVHVpTW9udGhDb250ZXh0PiA9XG4gICAgICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb250aENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aCB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgIGhvdmVyZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuICAgIHByZXNzZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0NBTEVOREFSX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoIHx8IHRoaXMudmFsdWUuaXNTaW5nbGVNb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJldmlvdXNZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckJlZm9yZSh0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG5leHRZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckFmdGVyKHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtU3RhdGUoaXRlbTogVHVpTW9udGgpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAhPT0gbnVsbCAmJiBwcmVzc2VkSXRlbS5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiYgaG92ZXJlZEl0ZW0ubW9udGhTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aU1vbnRoKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubW9udGhTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlRmlyc3RPZlJhbmdlID0gdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZUZyb20gPVxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0ubW9udGhCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUZpcnN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUFmdGVyRnJvbSB8fCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRUb0JlRnJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGVMYXN0T2ZSYW5nZSA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1CZWZvcmVUbyA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoQWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUxhc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQmVmb3JlVG8gfHwgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVNb250aCAmJiB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldFR1aU1vbnRoKG1vbnRoTnVtYmVyOiBudW1iZXIsIHllYXJOdW1iZXI6IG51bWJlcik6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aCh5ZWFyTnVtYmVyLCBtb250aE51bWJlcik7XG4gICAgfVxuXG4gICAgaXNJdGVtVG9kYXkoaXRlbTogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFRPREFZLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1JbnNpZGVSYW5nZShtb250aDogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiB2YWx1ZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlNb250aFJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiByYW5nZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICB9XG5cbiAgICBvblBpY2tlclllYXJDbGljayh5ZWFyOiBUdWlZZWFyKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyLnllYXJTYW1lKHllYXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdCh5ZWFyKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhtb250aDogVHVpTW9udGgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoQ2xpY2suZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTmV4dFllYXIoKSB7XG4gICAgICAgIHRoaXMueWVhciA9IHRoaXMueWVhci5hcHBlbmQoe3llYXI6IDF9KTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzWWVhcigpIHtcbiAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyLmFwcGVuZCh7eWVhcjogLTF9KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCgpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVEaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heChcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbixcbiAgICAgICAgICAgIHRoaXMubWF4LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSG92ZXJlZEl0ZW0obW9udGg6IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICBpZiAobnVsbGFibGVTYW1lKHRoaXMuaG92ZXJlZEl0ZW0sIG1vbnRoLCAoYSwgYikgPT4gYS5tb250aFNhbWUoYikpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvdmVyZWRJdGVtID0gbW9udGg7XG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW1DaGFuZ2UuZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcmVzc2VkSXRlbShpdGVtOiBUdWlNb250aCB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5wcmVzc2VkSXRlbSA9IGl0ZW07XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcldpdGhDb250ZXh0PFR1aU1vbnRoLCBUdWlNb250aENvbnRleHQ+LFxuICAgICAgICB2YWx1ZTogVHVpTW9udGggfCBUdWlNb250aFJhbmdlIHwgbnVsbCxcbiAgICAgICAgbWluOiBUdWlNb250aCxcbiAgICAgICAgbWF4OiBUdWlNb250aCxcbiAgICApOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlNb250aD4ge1xuICAgICAgICByZXR1cm4gaXRlbSA9PlxuICAgICAgICAgICAgaXRlbS5tb250aEJlZm9yZShtaW4pIHx8XG4gICAgICAgICAgICBpdGVtLm1vbnRoQWZ0ZXIobWF4KSB8fFxuICAgICAgICAgICAgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtLCB7dmFsdWV9KTtcbiAgICB9XG59XG4iXX0=
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItbW9udGguY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBRVosTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUVwQyxXQUFXO0FBT1g7SUFvQ0ksbUNBQzBDLE9BQXNDO1FBQXRDLFlBQU8sR0FBUCxPQUFPLENBQStCO1FBbENoRixVQUFLLEdBQW9DLElBQUksQ0FBQztRQUk5QyxTQUFJLEdBQVksS0FBSyxDQUFDO1FBSXRCLHdCQUFtQixHQUNmLG9CQUFvQixDQUFDO1FBSXpCLFFBQUcsR0FBYSxhQUFhLENBQUM7UUFJOUIsUUFBRyxHQUFhLFlBQVksQ0FBQztRQUdwQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQUcxQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUd4RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVsRCxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBb0IsSUFBSSxDQUFD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QUssRUFBRTtRQUNQLGNBQWMsRUFBRTsyREFDSztJQUl0QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswRUFFUTtJQUl6QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDYTtJQUk5QjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDWTtJQUc3QjtRQURDLE1BQU0sRUFBRTtpRUFDMEM7SUFHbkQ7UUFEQyxNQUFNLEVBQUU7d0VBQ3dEO0lBR2pFO1FBREMsTUFBTSxFQUFFO2lFQUN5QztJQVlsRDtRQURDLFdBQVcsQ0FBQyxlQUFlLENBQUM7NkRBTTVCO0lBNElEO1FBREMsT0FBTzsyRkFXUDtJQXBNUSx5QkFBeUI7UUFOckMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtZQUM5Qixza0RBQTZDO1lBRTdDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBc0NPLFdBQUEsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7T0FyQ3ZCLHlCQUF5QixDQTJOckM7SUFBRCxnQ0FBQztDQUFBLEFBM05ELElBMk5DO1NBM05ZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgbnVsbGFibGVTYW1lLFxuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aUJvb2xlYW5IYW5kbGVyLFxuICAgIFR1aURheSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlNb250aCxcbiAgICBUdWlNb250aFJhbmdlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpWWVhcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUludGVyYWN0aXZlU3RhdGUsIFR1aVJhbmdlU3RhdGUsIFR1aVdpdGhPcHRpb25hbE1pbk1heH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlNb250aENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9NT05USFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5jb25zdCBUT0RBWSA9IFR1aURheS5jdXJyZW50TG9jYWwoKTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLW1vbnRoJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGgudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItbW9udGguc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYWxlbmRhck1vbnRoQ29tcG9uZW50IGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PFR1aU1vbnRoPiB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlNb250aFJhbmdlIHwgVHVpTW9udGggfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB5ZWFyOiBUdWlZZWFyID0gVE9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXJXaXRoQ29udGV4dDxUdWlNb250aCwgVHVpTW9udGhDb250ZXh0PiA9XG4gICAgICAgIEFMV0FZU19GQUxTRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbjogVHVpTW9udGggPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBtb250aENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGhvdmVyZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlNb250aCB8IG51bGw+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUdWlZZWFyPigpO1xuXG4gICAgaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgIGhvdmVyZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuICAgIHByZXNzZWRJdGVtOiBUdWlNb250aCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0NBTEVOREFSX01PTlRIUykgcmVhZG9ubHkgbW9udGhzJDogT2JzZXJ2YWJsZTxyZWFkb25seSBzdHJpbmdbXT4sXG4gICAgKSB7fVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fc2luZ2xlJylcbiAgICBnZXQgaXNTaW5nbGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnZhbHVlICE9PSBudWxsICYmXG4gICAgICAgICAgICAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoIHx8IHRoaXMudmFsdWUuaXNTaW5nbGVNb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcHJldmlvdXNZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckJlZm9yZSh0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG5leHRZZWFyRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIueWVhclNhbWVPckFmdGVyKHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBnZXRJdGVtU3RhdGUoaXRlbTogVHVpTW9udGgpOiBUdWlJbnRlcmFjdGl2ZVN0YXRlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtkaXNhYmxlZEl0ZW1IYW5kbGVyV2l0aE1pbk1heCwgcHJlc3NlZEl0ZW0sIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5EaXNhYmxlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcmVzc2VkSXRlbSAhPT0gbnVsbCAmJiBwcmVzc2VkSXRlbS5tb250aFNhbWUoaXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybiBUdWlJbnRlcmFjdGl2ZVN0YXRlLlByZXNzZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaG92ZXJlZEl0ZW0gIT09IG51bGwgJiYgaG92ZXJlZEl0ZW0ubW9udGhTYW1lKGl0ZW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpSW50ZXJhY3RpdmVTdGF0ZS5Ib3ZlcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SXRlbVJhbmdlKGl0ZW06IFR1aU1vbnRoKTogVHVpUmFuZ2VTdGF0ZSB8IG51bGwge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGhvdmVyZWRJdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubW9udGhTYW1lKGl0ZW0pID8gVHVpUmFuZ2VTdGF0ZS5TaW5nbGUgOiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGhlRmlyc3RPZlJhbmdlID0gdmFsdWUuZnJvbS5tb250aFNhbWUoaXRlbSkgJiYgIXZhbHVlLmlzU2luZ2xlTW9udGg7XG4gICAgICAgIGNvbnN0IGhvdmVyZWRJdGVtQWZ0ZXJGcm9tID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aEFmdGVyKHZhbHVlLmZyb20pICYmXG4gICAgICAgICAgICB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZUZyb20gPVxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0gIT09IG51bGwgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoU2FtZShpdGVtKSAmJlxuICAgICAgICAgICAgaG92ZXJlZEl0ZW0ubW9udGhCZWZvcmUodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUZpcnN0T2ZSYW5nZSB8fCBob3ZlcmVkSXRlbUFmdGVyRnJvbSB8fCBob3ZlcmVkSXRlbUlzQ2FuZGlkYXRUb0JlRnJvbSkge1xuICAgICAgICAgICAgcmV0dXJuIFR1aVJhbmdlU3RhdGUuU3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aGVMYXN0T2ZSYW5nZSA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1CZWZvcmVUbyA9IHZhbHVlLnRvLm1vbnRoU2FtZShpdGVtKSAmJiAhdmFsdWUuaXNTaW5nbGVNb250aDtcbiAgICAgICAgY29uc3QgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvID1cbiAgICAgICAgICAgIGhvdmVyZWRJdGVtICE9PSBudWxsICYmXG4gICAgICAgICAgICBob3ZlcmVkSXRlbS5tb250aFNhbWUoaXRlbSkgJiZcbiAgICAgICAgICAgIGhvdmVyZWRJdGVtLm1vbnRoQWZ0ZXIodmFsdWUuZnJvbSkgJiZcbiAgICAgICAgICAgIHZhbHVlLmlzU2luZ2xlTW9udGg7XG5cbiAgICAgICAgaWYgKHRoZUxhc3RPZlJhbmdlIHx8IGhvdmVyZWRJdGVtQmVmb3JlVG8gfHwgaG92ZXJlZEl0ZW1Jc0NhbmRpZGF0VG9CZVRvKSB7XG4gICAgICAgICAgICByZXR1cm4gVHVpUmFuZ2VTdGF0ZS5FbmQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUuaXNTaW5nbGVNb250aCAmJiB2YWx1ZS5mcm9tLm1vbnRoU2FtZShpdGVtKVxuICAgICAgICAgICAgPyBUdWlSYW5nZVN0YXRlLlNpbmdsZVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldFR1aU1vbnRoKG1vbnRoTnVtYmVyOiBudW1iZXIsIHllYXJOdW1iZXI6IG51bWJlcik6IFR1aU1vbnRoIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aCh5ZWFyTnVtYmVyLCBtb250aE51bWJlcik7XG4gICAgfVxuXG4gICAgaXNJdGVtVG9kYXkoaXRlbTogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFRPREFZLm1vbnRoU2FtZShpdGVtKTtcbiAgICB9XG5cbiAgICBpc0l0ZW1JbnNpZGVSYW5nZShtb250aDogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBob3ZlcmVkSXRlbX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSBpbnN0YW5jZW9mIFR1aU1vbnRoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZhbHVlLmlzU2luZ2xlTW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiB2YWx1ZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChob3ZlcmVkSXRlbSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmFuZ2UgPSBUdWlNb250aFJhbmdlLnNvcnQodmFsdWUuZnJvbSwgaG92ZXJlZEl0ZW0pO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5mcm9tLm1vbnRoU2FtZU9yQmVmb3JlKG1vbnRoKSAmJiByYW5nZS50by5tb250aEFmdGVyKG1vbnRoKTtcbiAgICB9XG5cbiAgICBvblBpY2tlclllYXJDbGljayh5ZWFyOiBUdWlZZWFyKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy55ZWFyLnllYXJTYW1lKHllYXIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnllYXIgPSB5ZWFyO1xuICAgICAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdCh5ZWFyKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1DbGljayhtb250aDogVHVpTW9udGgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgobW9udGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm1vbnRoQ2xpY2suZW1pdChtb250aCk7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuaXNZZWFyUGlja2VyU2hvd24gPSB0cnVlO1xuICAgIH1cblxuICAgIG9uTmV4dFllYXIoKSB7XG4gICAgICAgIHRoaXMueWVhciA9IHRoaXMueWVhci5hcHBlbmQoe3llYXI6IDF9KTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzWWVhcigpIHtcbiAgICAgICAgdGhpcy55ZWFyID0gdGhpcy55ZWFyLmFwcGVuZCh7eWVhcjogLTF9KTtcbiAgICB9XG5cbiAgICBvbkl0ZW1Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZEl0ZW0oaG92ZXJlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4sIGl0ZW06IFR1aU1vbnRoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJlc3NlZEl0ZW0ocHJlc3NlZCA/IGl0ZW0gOiBudWxsKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcldpdGhNaW5NYXgoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyV2l0aENvbnRleHQ8VHVpTW9udGgsIFR1aU1vbnRoQ29udGV4dD4sXG4gICAgICAgIHZhbHVlOiBUdWlNb250aCB8IFR1aU1vbnRoUmFuZ2UgfCBudWxsLFxuICAgICAgICBtaW46IFR1aU1vbnRoLFxuICAgICAgICBtYXg6IFR1aU1vbnRoLFxuICAgICk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiB7XG4gICAgICAgIHJldHVybiBpdGVtID0+XG4gICAgICAgICAgICBpdGVtLm1vbnRoQmVmb3JlKG1pbikgfHxcbiAgICAgICAgICAgIGl0ZW0ubW9udGhBZnRlcihtYXgpIHx8XG4gICAgICAgICAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyKGl0ZW0sIHt2YWx1ZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGRpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KCk6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aU1vbnRoPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXJXaXRoTWluTWF4KFxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyLFxuICAgICAgICAgICAgdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIHRoaXMubWluLFxuICAgICAgICAgICAgdGhpcy5tYXgsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVIb3ZlcmVkSXRlbShtb250aDogVHVpTW9udGggfCBudWxsKSB7XG4gICAgICAgIGlmIChudWxsYWJsZVNhbWUodGhpcy5ob3ZlcmVkSXRlbSwgbW9udGgsIChhLCBiKSA9PiBhLm1vbnRoU2FtZShiKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBtb250aDtcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUNoYW5nZS5lbWl0KG1vbnRoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByZXNzZWRJdGVtKGl0ZW06IFR1aU1vbnRoIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnByZXNzZWRJdGVtID0gaXRlbTtcbiAgICB9XG59XG4iXX0=
@@ -178,4 +178,4 @@ var TuiCalendarRangeComponent = /** @class */ (function () {
178
178
  return TuiCalendarRangeComponent;
179
179
  }());
180
180
  export { TuiCalendarRangeComponent };
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsT0FBTyxFQUNQLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEdBRzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHdCQUF3QixFQUFFLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFTekM7SUFxRUksbUNBR0ksWUFBbUQsRUFDeEIsaUJBQW9DLEVBQ3BDLFFBQTJCLEVBQ2hCLGNBQWtDO1FBTjVFLGlCQWlCQztRQVh5QyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUF4RTVFLHVCQUFrQixHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUl2RCx3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFJdEUsa0JBQWEsR0FBcUIs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OzBFQUNxRDtJQUl0RTtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtvRUFDNEM7SUFJN0Q7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NERBQzRCO0lBSTdDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUNXO0lBSTVCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUNVO0lBSTNCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2dFQUNtQjtJQUlwQztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtnRUFDbUI7SUFJcEM7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NERBQ2dCO0lBR2pDO1FBREMsTUFBTSxFQUFFO2tFQUNxRDtJQUk5RDtRQURDLE1BQU0sRUFBRTtrRUFDcUQ7SUFtSDlEO1FBREMsT0FBTztpRkFrQlA7SUE5S1EseUJBQXlCO1FBUHJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsNHdFQUE2QztZQUU3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs7U0FDakMsQ0FBQztRQXVFTyxXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ2hDLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFFVixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtPQTNFdkIseUJBQXlCLENBK0tyQztJQUFELGdDQUFDO0NBQUEsQUEvS0QsSUErS0M7U0EvS1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheUxpa2UsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpTWFwcGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgd2F0Y2gsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUixcbiAgICBUdWlNYXJrZXJIYW5kbGVyLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlEYXlSYW5nZVBlcmlvZH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jbGFzc2VzJztcbmltcG9ydCB7TUFYX0RBWV9SQU5HRV9MRU5HVEhfTUFQUEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9EQVRBX1NUUkVBTSwgVFVJX09USEVSX0RBVEVfVEVYVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FsZW5kYXJSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVmYXVsdFZpZXdlZE1vbnRoOiBUdWlNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyID0gVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8VHVpRGF5UmFuZ2VQZXJpb2Q+ID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluOiBUdWlEYXkgPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpRGF5ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheVJhbmdlIHwgbnVsbD4oKTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBUT0RPOiByZW1vdmUgaW4gMy4wICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheVJhbmdlIHwgbnVsbD4oKTtcblxuICAgIHJlYWRvbmx5IG1heExlbmd0aE1hcHBlcjogVHVpTWFwcGVyPFR1aURheSwgVHVpRGF5PiA9IE1BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUjtcblxuICAgIHJlYWRvbmx5IG1vbnRoU2hpZnRNYXBwZXI6IFR1aU1hcHBlcjxUdWlNb250aCwgVHVpTW9udGg+ID0gaXRlbSA9PlxuICAgICAgICBpdGVtLmFwcGVuZCh7bW9udGg6IDF9KTtcblxuICAgIHJlYWRvbmx5IG1hcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBSZWFkb25seUFycmF5PFR1aURheVJhbmdlUGVyaW9kPixcbiAgICAgICAgUmVhZG9ubHlBcnJheTxUdWlEYXlSYW5nZVBlcmlvZCB8IHN0cmluZz5cbiAgICA+ID0gKFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgbWluOiBUdWlEYXksXG4gICAgICAgIG1heDogVHVpRGF5IHwgbnVsbCxcbiAgICAgICAgbWluTGVuZ3RoOiBUdWlEYXlMaWtlIHwgbnVsbCxcbiAgICAgICAgb3RoZXJEYXRlVGV4dDogc3RyaW5nLFxuICAgICkgPT4gW1xuICAgICAgICAuLi5pdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICBpdGVtID0+XG4gICAgICAgICAgICAgICAgKG1pbkxlbmd0aCA9PT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgICAgICBpdGVtLnJhbmdlLmZyb20uYXBwZW5kKG1pbkxlbmd0aCkuZGF5U2FtZU9yQmVmb3JlKGl0ZW0ucmFuZ2UudG8pKSAmJlxuICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UudG8uZGF5U2FtZU9yQWZ0ZXIobWluKSAmJlxuICAgICAgICAgICAgICAgIChtYXggPT09IG51bGwgfHwgaXRlbS5yYW5nZS5mcm9tLmRheVNhbWVPckJlZm9yZShtYXgpKSxcbiAgICAgICAgKSxcbiAgICAgICAgb3RoZXJEYXRlVGV4dCxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0NBTEVOREFSX0RBVEFfU1RSRUFNKVxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICB2YWx1ZUNoYW5nZXM6IE9ic2VydmFibGU8VHVpRGF5UmFuZ2UgfCBudWxsPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9PVEhFUl9EQVRFX1RFWFQpIHJlYWRvbmx5IG90aGVyRGF0ZVRleHQkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgKSB7XG4gICAgICAgIGlmICghdmFsdWVDaGFuZ2VzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YWx1ZUNoYW5nZXNcbiAgICAgICAgICAgIC5waXBlKHdhdGNoKGNoYW5nZURldGVjdG9yUmVmKSwgdGFrZVVudGlsKGRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkRGlzYWJsZWRJdGVtSGFuZGxlcigpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbkxlbmd0aCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50byA6IHRoaXMuZGVmYXVsdFZpZXdlZE1vbnRoO1xuICAgIH1cblxuICAgIGlzSXRlbUFjdGl2ZShpdGVtOiBzdHJpbmcgfCBUdWlEYXlSYW5nZVBlcmlvZCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7YWN0aXZlUGVyaW9kfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgJiYgYWN0aXZlUGVyaW9kID09PSBudWxsKSB8fCBhY3RpdmVQZXJpb2QgPT09IGl0ZW1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvblJhbmdlQ2hhbmdlKGRheVJhbmdlOiBUdWlEYXlSYW5nZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGRheVJhbmdlKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCAhdmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVHVpRGF5UmFuZ2UoZGF5LCBkYXkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgZGF5KSk7XG4gICAgfVxuXG4gICAgb25JdGVtU2VsZWN0KGl0ZW06IHN0cmluZyB8IFR1aURheVJhbmdlUGVyaW9kKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbS5yYW5nZS5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlUGVyaW9kICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVmFsdWUodmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlUGVyaW9kKCk6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgIG51bGxhYmxlU2FtZTxUdWlEYXlSYW5nZT4oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5mcm9tLmRheVNhbWUoYi5mcm9tLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhLnRvLmRheVNhbWUoYi50by5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSB8fCBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sXG4gICAgICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiBpdGVtID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLmlzU2luZ2xlRGF5IHx8ICFtaW5MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWRCZWZvcmUgPSB2YWx1ZS5mcm9tLmFwcGVuZChtaW5MZW5ndGgsIHRydWUpLmFwcGVuZCh7ZGF5OiAxfSk7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZEFmdGVyID0gdmFsdWUuZnJvbS5hcHBlbmQobWluTGVuZ3RoKS5hcHBlbmQoe2RheTogLTF9KTtcbiAgICAgICAgICAgIGNvbnN0IGluRGlzYWJsZWRSYW5nZSA9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWRCZWZvcmUuZGF5QmVmb3JlKGl0ZW0pICYmIGRpc2FibGVkQWZ0ZXIuZGF5QWZ0ZXIoaXRlbSk7XG5cbiAgICAgICAgICAgIHJldHVybiBpbkRpc2FibGVkUmFuZ2UgfHwgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLXJhbmdlLyIsInNvdXJjZXMiOlsiY2FsZW5kYXItcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixhQUFhLEVBQ2IsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsT0FBTyxFQUNQLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsMEJBQTBCLEdBRzdCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHdCQUF3QixFQUFFLG1CQUFtQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFTekM7SUE4Q0ksbUNBR0ksWUFBbUQsRUFDeEIsaUJBQW9DLEVBQ3BDLFFBQTJCLEVBQ2hCLGNBQWtDO1FBTjVFLGlCQWlCQztRQVh5QyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFqRDVFLHVCQUFrQixHQUFhLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUl2RCx3QkFBbUIsR0FBOEIsb0JBQW9CLENBQUM7UUFJdEUsa0JBQWEsR0FBcUIs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QUFFOzBFQUNxRDtJQUl0RTtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtvRUFDNEM7SUFJN0Q7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NERBQzRCO0lBSTdDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUNXO0lBSTVCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUNVO0lBSTNCO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2dFQUNtQjtJQUlwQztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtnRUFDbUI7SUFJcEM7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NERBQ2dCO0lBR2pDO1FBREMsTUFBTSxFQUFFO2tFQUNxRDtJQUk5RDtRQURDLE1BQU0sRUFBRTtrRUFDcUQ7SUFtSDlEO1FBREMsT0FBTztpRkFrQlA7SUE5S1EseUJBQXlCO1FBUHJDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsNHdFQUE2QztZQUU3QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtZQUMvQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzs7U0FDakMsQ0FBQztRQWdETyxXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ2hDLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFFVixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtPQXBEdkIseUJBQXlCLENBK0tyQztJQUFELGdDQUFDO0NBQUEsQUEvS0QsSUErS0M7U0EvS1kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBudWxsYWJsZVNhbWUsXG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpRGF5LFxuICAgIFR1aURheUxpa2UsXG4gICAgVHVpRGF5UmFuZ2UsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpTWFwcGVyLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgd2F0Y2gsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfREVGQVVMVF9NQVJLRVJfSEFORExFUixcbiAgICBUdWlNYXJrZXJIYW5kbGVyLFxuICAgIFR1aVdpdGhPcHRpb25hbE1pbk1heCxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlEYXlSYW5nZVBlcmlvZH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jbGFzc2VzJztcbmltcG9ydCB7TUFYX0RBWV9SQU5HRV9MRU5HVEhfTUFQUEVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9DQUxFTkRBUl9EQVRBX1NUUkVBTSwgVFVJX09USEVSX0RBVEVfVEVYVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhbGVuZGFyLXJhbmdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItcmFuZ2UudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXItcmFuZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2FsZW5kYXJSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlEYXk+IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVmYXVsdFZpZXdlZE1vbnRoOiBUdWlNb250aCA9IFR1aU1vbnRoLmN1cnJlbnRMb2NhbCgpO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4gPSBBTFdBWVNfRkFMU0VfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXJrZXJIYW5kbGVyOiBUdWlNYXJrZXJIYW5kbGVyID0gVFVJX0RFRkFVTFRfTUFSS0VSX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8VHVpRGF5UmFuZ2VQZXJpb2Q+ID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluOiBUdWlEYXkgPSBUVUlfRklSU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heDogVHVpRGF5ID0gVFVJX0xBU1RfREFZO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheVJhbmdlIHwgbnVsbD4oKTtcblxuICAgIC8qKiBAZGVwcmVjYXRlZCBUT0RPOiByZW1vdmUgaW4gMy4wICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aURheVJhbmdlIHwgbnVsbD4oKTtcblxuICAgIHJlYWRvbmx5IG1heExlbmd0aE1hcHBlcjogVHVpTWFwcGVyPFR1aURheSwgVHVpRGF5PiA9IE1BWF9EQVlfUkFOR0VfTEVOR1RIX01BUFBFUjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9DQUxFTkRBUl9EQVRBX1NUUkVBTSlcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPFR1aURheVJhbmdlIHwgbnVsbD4gfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfT1RIRVJfREFURV9URVhUKSByZWFkb25seSBvdGhlckRhdGVUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICkge1xuICAgICAgICBpZiAoIXZhbHVlQ2hhbmdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAucGlwZSh3YXRjaChjaGFuZ2VEZXRlY3RvclJlZiksIHRha2VVbnRpbChkZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBtb250aFNoaWZ0TWFwcGVyOiBUdWlNYXBwZXI8VHVpTW9udGgsIFR1aU1vbnRoPiA9IGl0ZW0gPT5cbiAgICAgICAgaXRlbS5hcHBlbmQoe21vbnRoOiAxfSk7XG5cbiAgICByZWFkb25seSBtYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgUmVhZG9ubHlBcnJheTxUdWlEYXlSYW5nZVBlcmlvZD4sXG4gICAgICAgIFJlYWRvbmx5QXJyYXk8VHVpRGF5UmFuZ2VQZXJpb2QgfCBzdHJpbmc+XG4gICAgPiA9IChcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIG1pbjogVHVpRGF5LFxuICAgICAgICBtYXg6IFR1aURheSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgICAgIG90aGVyRGF0ZVRleHQ6IHN0cmluZyxcbiAgICApID0+IFtcbiAgICAgICAgLi4uaXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgIChtaW5MZW5ndGggPT09IG51bGwgfHxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5yYW5nZS5mcm9tLmFwcGVuZChtaW5MZW5ndGgpLmRheVNhbWVPckJlZm9yZShpdGVtLnJhbmdlLnRvKSkgJiZcbiAgICAgICAgICAgICAgICBpdGVtLnJhbmdlLnRvLmRheVNhbWVPckFmdGVyKG1pbikgJiZcbiAgICAgICAgICAgICAgICAobWF4ID09PSBudWxsIHx8IGl0ZW0ucmFuZ2UuZnJvbS5kYXlTYW1lT3JCZWZvcmUobWF4KSksXG4gICAgICAgICksXG4gICAgICAgIG90aGVyRGF0ZVRleHQsXG4gICAgXTtcblxuICAgIGdldCBjYWxjdWxhdGVkRGlzYWJsZWRJdGVtSGFuZGxlcigpOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlEYXk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlRGlzYWJsZWRJdGVtSGFuZGxlcihcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcixcbiAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICB0aGlzLm1pbkxlbmd0aCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNb250aCgpOiBUdWlNb250aCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS50byA6IHRoaXMuZGVmYXVsdFZpZXdlZE1vbnRoO1xuICAgIH1cblxuICAgIGlzSXRlbUFjdGl2ZShpdGVtOiBzdHJpbmcgfCBUdWlEYXlSYW5nZVBlcmlvZCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7YWN0aXZlUGVyaW9kfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycgJiYgYWN0aXZlUGVyaW9kID09PSBudWxsKSB8fCBhY3RpdmVQZXJpb2QgPT09IGl0ZW1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvblJhbmdlQ2hhbmdlKGRheVJhbmdlOiBUdWlEYXlSYW5nZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGRheVJhbmdlKTtcbiAgICB9XG5cbiAgICBvbkRheUNsaWNrKGRheTogVHVpRGF5KSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCAhdmFsdWUuaXNTaW5nbGVEYXkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgVHVpRGF5UmFuZ2UoZGF5LCBkYXkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFR1aURheVJhbmdlLnNvcnQodmFsdWUuZnJvbSwgZGF5KSk7XG4gICAgfVxuXG4gICAgb25JdGVtU2VsZWN0KGl0ZW06IHN0cmluZyB8IFR1aURheVJhbmdlUGVyaW9kKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoaXRlbS5yYW5nZS5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlUGVyaW9kICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVmFsdWUodmFsdWU6IFR1aURheVJhbmdlIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlUGVyaW9kKCk6IFR1aURheVJhbmdlUGVyaW9kIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmZpbmQoaXRlbSA9PlxuICAgICAgICAgICAgICAgIG51bGxhYmxlU2FtZTxUdWlEYXlSYW5nZT4oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0ucmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIChhLCBiKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5mcm9tLmRheVNhbWUoYi5mcm9tLmRheUxpbWl0KHRoaXMubWluLCB0aGlzLm1heCkpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBhLnRvLmRheVNhbWUoYi50by5kYXlMaW1pdCh0aGlzLm1pbiwgdGhpcy5tYXgpKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSB8fCBudWxsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURpc2FibGVkSXRlbUhhbmRsZXIoXG4gICAgICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aURheT4sXG4gICAgICAgIHZhbHVlOiBUdWlEYXlSYW5nZSB8IG51bGwsXG4gICAgICAgIG1pbkxlbmd0aDogVHVpRGF5TGlrZSB8IG51bGwsXG4gICAgKTogVHVpQm9vbGVhbkhhbmRsZXI8VHVpRGF5PiB7XG4gICAgICAgIHJldHVybiBpdGVtID0+IHtcbiAgICAgICAgICAgIGlmICghdmFsdWUgfHwgIXZhbHVlLmlzU2luZ2xlRGF5IHx8ICFtaW5MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGlzYWJsZWRCZWZvcmUgPSB2YWx1ZS5mcm9tLmFwcGVuZChtaW5MZW5ndGgsIHRydWUpLmFwcGVuZCh7ZGF5OiAxfSk7XG4gICAgICAgICAgICBjb25zdCBkaXNhYmxlZEFmdGVyID0gdmFsdWUuZnJvbS5hcHBlbmQobWluTGVuZ3RoKS5hcHBlbmQoe2RheTogLTF9KTtcbiAgICAgICAgICAgIGNvbnN0IGluRGlzYWJsZWRSYW5nZSA9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWRCZWZvcmUuZGF5QmVmb3JlKGl0ZW0pICYmIGRpc2FibGVkQWZ0ZXIuZGF5QWZ0ZXIoaXRlbSk7XG5cbiAgICAgICAgICAgIHJldHVybiBpbkRpc2FibGVkUmFuZ2UgfHwgZGlzYWJsZWRJdGVtSGFuZGxlcihpdGVtKTtcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, Inject } from '@angular/core';
3
+ import { Observable } from 'rxjs';
4
+ import { TuiCarouselDirective } from './carousel.directive';
5
+ var TuiCarouselAutoscrollDirective = /** @class */ (function () {
6
+ function TuiCarouselAutoscrollDirective(tuiCarouselAutoscroll) {
7
+ this.tuiCarouselAutoscroll = tuiCarouselAutoscroll;
8
+ }
9
+ TuiCarouselAutoscrollDirective.ctorParameters = function () { return [
10
+ { type: Observable, decorators: [{ type: Inject, args: [TuiCarouselDirective,] }] }
11
+ ]; };
12
+ TuiCarouselAutoscrollDirective = __decorate([
13
+ Directive({
14
+ selector: '[tuiCarouselAutoscroll]',
15
+ outputs: ['tuiCarouselAutoscroll'],
16
+ }),
17
+ __param(0, Inject(TuiCarouselDirective))
18
+ ], TuiCarouselAutoscrollDirective);
19
+ return TuiCarouselAutoscrollDirective;
20
+ }());
21
+ export { TuiCarouselAutoscrollDirective };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtYXV0b3Njcm9sbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvIiwic291cmNlcyI6WyJjYXJvdXNlbC1hdXRvc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQU0xRDtJQUNJLHdDQUMyQyxxQkFBMEM7UUFBMUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFxQjtJQUNsRixDQUFDOztnQkFEOEQsVUFBVSx1QkFBdkUsTUFBTSxTQUFDLG9CQUFvQjs7SUFGdkIsOEJBQThCO1FBSjFDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSx5QkFBeUI7WUFDbkMsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7U0FDckMsQ0FBQztRQUdPLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7T0FGeEIsOEJBQThCLENBSTFDO0lBQUQscUNBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpQ2Fyb3VzZWxEaXJlY3RpdmV9IGZyb20gJy4vY2Fyb3VzZWwuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpQ2Fyb3VzZWxBdXRvc2Nyb2xsXScsXG4gICAgb3V0cHV0czogWyd0dWlDYXJvdXNlbEF1dG9zY3JvbGwnXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2Fyb3VzZWxBdXRvc2Nyb2xsRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlDYXJvdXNlbERpcmVjdGl2ZSkgcmVhZG9ubHkgdHVpQ2Fyb3VzZWxBdXRvc2Nyb2xsOiBPYnNlcnZhYmxlPHVua25vd24+LFxuICAgICkge31cbn1cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, Output } from '@angular/core';
3
+ import { typedFromEvent } from '@taiga-ui/cdk';
4
+ import { filter, map, tap, throttleTime } from 'rxjs/operators';
5
+ var TuiCarouselScrollDirective = /** @class */ (function () {
6
+ function TuiCarouselScrollDirective(elementRef) {
7
+ var _this = this;
8
+ this.elementRef = elementRef;
9
+ this.tuiCarouselScroll = typedFromEvent(this.elementRef.nativeElement, 'wheel').pipe(filter(function (_a) {
10
+ var deltaX = _a.deltaX;
11
+ return Math.abs(deltaX) > 20;
12
+ }), throttleTime(500), map(function (_a) {
13
+ var deltaX = _a.deltaX;
14
+ return Math.sign(deltaX);
15
+ }),
16
+ // So we always have space to scroll and overflow-behavior saves us from back nav
17
+ tap(function () { return (_this.elementRef.nativeElement.scrollLeft = 10); }));
18
+ }
19
+ TuiCarouselScrollDirective.ctorParameters = function () { return [
20
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
21
+ ]; };
22
+ __decorate([
23
+ Output()
24
+ ], TuiCarouselScrollDirective.prototype, "tuiCarouselScroll", void 0);
25
+ TuiCarouselScrollDirective = __decorate([
26
+ Directive({
27
+ selector: '[tuiCarouselScroll]',
28
+ }),
29
+ __param(0, Inject(ElementRef))
30
+ ], TuiCarouselScrollDirective);
31
+ return TuiCarouselScrollDirective;
32
+ }());
33
+ export { TuiCarouselScrollDirective };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtc2Nyb2xsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYXJvdXNlbC8iLCJzb3VyY2VzIjpbImNhcm91c2VsLXNjcm9sbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLOUQ7SUFhSSxvQ0FDeUMsVUFBbUM7UUFENUUsaUJBRUk7UUFEcUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFabkUsc0JBQWlCLEdBQUcsY0FBYyxDQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsT0FBTyxDQUNWLENBQUMsSUFBSSxDQUNGLE1BQU0sQ0FBQyxVQUFDLEVBQVE7Z0JBQVAsa0JBQU07WUFBTSxPQUFBLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUFyQixDQUFxQixDQUFDLEVBQzNDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsR0FBRyxDQUFDLFVBQUMsRUFBUTtnQkFBUCxrQkFBTTtZQUFNLE9BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFBakIsQ0FBaUIsQ0FBQztRQUNwQyxpRkFBaUY7UUFDakYsR0FBRyxDQUFDLGNBQU0sT0FBQSxDQUFDLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsRUFBL0MsQ0FBK0MsQ0FBQyxDQUM3RCxDQUFDO0lBSUMsQ0FBQzs7Z0JBRGlELFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVOztJQVp0QjtRQURDLE1BQU0sRUFBRTt5RUFVUDtJQVhPLDBCQUEwQjtRQUh0QyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUscUJBQXFCO1NBQ2xDLENBQUM7UUFlTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtPQWRkLDBCQUEwQixDQWdCdEM7SUFBRCxpQ0FBQztDQUFBLEFBaEJELElBZ0JDO1NBaEJZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRhcCwgdGhyb3R0bGVUaW1lfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aUNhcm91c2VsU2Nyb2xsXScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhcm91c2VsU2Nyb2xsRGlyZWN0aXZlIHtcbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB0dWlDYXJvdXNlbFNjcm9sbCA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3doZWVsJyxcbiAgICApLnBpcGUoXG4gICAgICAgIGZpbHRlcigoe2RlbHRhWH0pID0+IE1hdGguYWJzKGRlbHRhWCkgPiAyMCksXG4gICAgICAgIHRocm90dGxlVGltZSg1MDApLFxuICAgICAgICBtYXAoKHtkZWx0YVh9KSA9PiBNYXRoLnNpZ24oZGVsdGFYKSksXG4gICAgICAgIC8vIFNvIHdlIGFsd2F5cyBoYXZlIHNwYWNlIHRvIHNjcm9sbCBhbmQgb3ZlcmZsb3ctYmVoYXZpb3Igc2F2ZXMgdXMgZnJvbSBiYWNrIG5hdlxuICAgICAgICB0YXAoKCkgPT4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSAxMCkpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICkge31cbn1cbiJdfQ==
@@ -1,24 +1,35 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, Optional, Output, TemplateRef, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Inject, Input, Output, QueryList, TemplateRef, } from '@angular/core';
3
3
  import { INTERSECTION_ROOT } from '@ng-web-apis/intersection-observer';
4
- import { EMPTY_QUERY, tuiDefaultProp, TuiItemDirective, tuiPure } from '@taiga-ui/cdk';
5
- import { Observable, Subject } from 'rxjs';
6
- import { map } from 'rxjs/operators';
7
- import { TuiCarouselDirective } from './carousel.directive';
8
- import { TuiCarouselDraggableDirective } from './carousel-draggable.directive';
4
+ import { clamp, EMPTY_QUERY, TUI_IS_MOBILE, tuiDefaultProp, TuiItemDirective, tuiPure, } from '@taiga-ui/cdk';
5
+ // @dynamic
9
6
  var TuiCarouselComponent = /** @class */ (function () {
10
- function TuiCarouselComponent(transform$, index$) {
11
- var _this = this;
12
- this.transform$ = transform$;
13
- this.index$ = index$;
14
- this.intersected$ = new Subject();
7
+ function TuiCarouselComponent(changeDetectorRef, elementRef, isMobile) {
8
+ this.changeDetectorRef = changeDetectorRef;
9
+ this.elementRef = elementRef;
10
+ this.isMobile = isMobile;
11
+ this.translate = 0;
12
+ this.draggable = false;
15
13
  this.itemsCount = 1;
16
14
  this.index = 0;
17
15
  this.indexChange = new EventEmitter();
18
- this.manual$ = this.index$.pipe(map(function (index) { return _this.loopback(index); }));
19
- this.attached = false;
20
16
  this.items = EMPTY_QUERY;
17
+ this.transitioned = true;
21
18
  }
19
+ Object.defineProperty(TuiCarouselComponent.prototype, "transform", {
20
+ get: function () {
21
+ var x = this.transitioned ? this.computedTranslate : this.translate;
22
+ return "translateX(" + 100 * x + "%)";
23
+ },
24
+ enumerable: true,
25
+ configurable: true
26
+ });
27
+ TuiCarouselComponent.prototype.onTransitioned = function (transitioned) {
28
+ this.transitioned = transitioned;
29
+ if (!transitioned) {
30
+ this.translate = this.computedTranslate;
31
+ }
32
+ };
22
33
  TuiCarouselComponent.prototype.getStyle = function (itemsCount) {
23
34
  var percent = 100 / itemsCount + "%";
24
35
  return {
@@ -27,29 +38,77 @@ var TuiCarouselComponent = /** @class */ (function () {
27
38
  maxWidth: percent,
28
39
  };
29
40
  };
41
+ TuiCarouselComponent.prototype.next = function () {
42
+ this.updateIndex(this.index + 1);
43
+ };
44
+ TuiCarouselComponent.prototype.prev = function () {
45
+ this.updateIndex(this.index - 1);
46
+ };
47
+ TuiCarouselComponent.prototype.isDisabled = function (index) {
48
+ return index < this.index || index > this.index + this.itemsCount;
49
+ };
30
50
  TuiCarouselComponent.prototype.onIntersection = function (_a, index) {
31
- var intersectionRatio = _a.intersectionRatio, intersectionRect = _a.intersectionRect, rootBounds = _a.rootBounds;
32
- if (!this.attached ||
33
- !intersectionRatio ||
34
- intersectionRatio === 1 ||
35
- // Phantom intersections due to width wobble on drag
36
- intersectionRect.left > Number(rootBounds === null || rootBounds === void 0 ? void 0 : rootBounds.left)) {
51
+ var intersectionRatio = _a.intersectionRatio;
52
+ if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {
53
+ this.updateIndex(index - Math.floor(this.itemsCount / 2));
54
+ }
55
+ };
56
+ TuiCarouselComponent.prototype.onScroll = function (delta) {
57
+ if (!this.isMobile) {
58
+ this.updateIndex(this.index + delta);
59
+ }
60
+ };
61
+ TuiCarouselComponent.prototype.onPan = function (x) {
62
+ if (!this.computedDraggable) {
37
63
  return;
38
64
  }
39
- this.indexChange.emit(index - Math.floor(this.itemsCount / 2));
65
+ var clientWidth = this.elementRef.nativeElement.clientWidth;
66
+ var min = 1 - this.items.length / this.itemsCount;
67
+ this.translate = clamp(x / clientWidth + this.translate, min, 0);
40
68
  };
41
- TuiCarouselComponent.prototype.onPresent = function (attached) {
42
- this.attached = attached;
69
+ TuiCarouselComponent.prototype.onSwipe = function (direction) {
70
+ if (Math.round(this.translate) !== -this.index || !this.computedDraggable) {
71
+ return;
72
+ }
73
+ else if (direction === 'left') {
74
+ this.next();
75
+ }
76
+ else if (direction === 'right') {
77
+ this.prev();
78
+ }
43
79
  };
44
- TuiCarouselComponent.prototype.loopback = function (index) {
45
- var safe = this.items.length || index + 1;
46
- var remainder = index % safe;
47
- return remainder < 0 ? remainder + this.items.length : remainder;
80
+ TuiCarouselComponent.prototype.onAutoscroll = function () {
81
+ this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);
82
+ };
83
+ Object.defineProperty(TuiCarouselComponent.prototype, "computedTranslate", {
84
+ get: function () {
85
+ return -this.index / this.itemsCount;
86
+ },
87
+ enumerable: true,
88
+ configurable: true
89
+ });
90
+ Object.defineProperty(TuiCarouselComponent.prototype, "computedDraggable", {
91
+ get: function () {
92
+ return this.isMobile || this.draggable;
93
+ },
94
+ enumerable: true,
95
+ configurable: true
96
+ });
97
+ TuiCarouselComponent.prototype.updateIndex = function (index) {
98
+ this.index = clamp(index, 0, this.items.length - 1);
99
+ this.indexChange.emit(this.index);
100
+ this.changeDetectorRef.markForCheck();
48
101
  };
49
102
  TuiCarouselComponent.ctorParameters = function () { return [
50
- { type: Observable, decorators: [{ type: Optional }, { type: Inject, args: [TuiCarouselDraggableDirective,] }] },
51
- { type: Observable, decorators: [{ type: Inject, args: [TuiCarouselDirective,] }] }
103
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
104
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
105
+ { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] }
52
106
  ]; };
107
+ __decorate([
108
+ Input(),
109
+ HostBinding('class._draggable'),
110
+ tuiDefaultProp()
111
+ ], TuiCarouselComponent.prototype, "draggable", void 0);
53
112
  __decorate([
54
113
  Input(),
55
114
  tuiDefaultProp()
@@ -64,13 +123,22 @@ var TuiCarouselComponent = /** @class */ (function () {
64
123
  __decorate([
65
124
  ContentChildren(TuiItemDirective, { read: TemplateRef })
66
125
  ], TuiCarouselComponent.prototype, "items", void 0);
126
+ __decorate([
127
+ HostBinding('class._transitioned')
128
+ ], TuiCarouselComponent.prototype, "transitioned", void 0);
129
+ __decorate([
130
+ HostListener('touchstart', ['false']),
131
+ HostListener('touchend', ['true']),
132
+ HostListener('mousedown', ['false']),
133
+ HostListener('document:mouseup.silent', ['true'])
134
+ ], TuiCarouselComponent.prototype, "onTransitioned", null);
67
135
  __decorate([
68
136
  tuiPure
69
137
  ], TuiCarouselComponent.prototype, "getStyle", null);
70
138
  TuiCarouselComponent = __decorate([
71
139
  Component({
72
140
  selector: 'tui-carousel',
73
- template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div\n *ngIf=\"{\n manual: manual$ | async,\n intersected: indexChange | async\n } as state\"\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 100000px 100px -51%\"\n class=\"t-items\"\n [class.t-items_visible]=\"attached\"\n [style.transform]=\"transform$ | async\"\n (tuiPresentChange)=\"onPresent($event)\"\n>\n <div\n *ngFor=\"let item of items; let i = index\"\n tuiCarouselScroller\n class=\"t-item\"\n [scroll]=\"attached && i === state.manual && i !== state.intersected\"\n [index]=\"i\"\n [current]=\"state.intersected\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n</div>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n",
141
+ template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-scroller\" (tuiCarouselScroll)=\"onScroll($event)\">\n <div class=\"t-wrapper\">\n <div\n waIntersectionObserver\n waIntersectionThreshold=\"0,1\"\n waIntersectionRootMargin=\"100px 100000px 100px -51%\"\n class=\"t-items\"\n [style.transform]=\"transform\"\n (tuiPan)=\"onPan($event[0])\"\n (tuiSwipe)=\"onSwipe($event.direction)\"\n (tuiCarouselAutoscroll)=\"onAutoscroll()\"\n >\n <fieldset\n *ngFor=\"let item of items; let i = index\"\n class=\"t-item\"\n [disabled]=\"isDisabled(i)\"\n [ngStyle]=\"getStyle(itemsCount)\"\n (waIntersectionObservee)=\"onIntersection($event[0], i)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </fieldset>\n </div>\n </div>\n</div>\n",
74
142
  changeDetection: ChangeDetectionStrategy.OnPush,
75
143
  providers: [
76
144
  {
@@ -78,13 +146,13 @@ var TuiCarouselComponent = /** @class */ (function () {
78
146
  useExisting: ElementRef,
79
147
  },
80
148
  ],
81
- styles: [":host{scrollbar-width:none;-ms-overflow-style:none;position:relative;display:block;overflow:auto;overscroll-behavior-x:none;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._transitioned{-ms-scroll-snap-type:none;scroll-snap-type:none}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center;visibility:hidden}.t-items_visible{visibility:visible}.t-items:not([style*=transform]){transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}.t-content{position:sticky;left:0;display:flex;justify-content:center}"]
149
+ styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
82
150
  }),
83
- __param(0, Optional()),
84
- __param(0, Inject(TuiCarouselDraggableDirective)),
85
- __param(1, Inject(TuiCarouselDirective))
151
+ __param(0, Inject(ChangeDetectorRef)),
152
+ __param(1, Inject(ElementRef)),
153
+ __param(2, Inject(TUI_IS_MOBILE))
86
154
  ], TuiCarouselComponent);
87
155
  return TuiCarouselComponent;
88
156
  }());
89
157
  export { TuiCarouselComponent };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Nhcm91c2VsLyIsInNvdXJjZXMiOlsiY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBRU4sV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxXQUFXLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFjN0U7SUFxQkksOEJBR2EsVUFBNEMsRUFDTixNQUEwQjtRQUo3RSxpQkFLSTtRQUZTLGVBQVUsR0FBVixVQUFVLENBQWtDO1FBQ04sV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUF4QnBFLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUk5QyxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBSWYsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxZQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsS0FBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBcEIsQ0FBb0IsQ0FBQyxDQUFDLENBQUM7UUFFeEUsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUdSLFVBQUssR0FBZ0MsV0FBVyxDQUFDO0lBT3ZELENBQUM7SUFHSix1Q0FBUSxHQUFSLFVBQVMsVUFBa0I7UUFDdkIsSUFBTSxPQUFPLEdBQU0sR0FBRyxHQUFHLFVBQVUsTUFBRyxDQUFDO1FBRXZDLE9BQU87WUFDSCxTQUFTLEVBQUUsT0FBTztZQUNsQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsT0FBTztTQUNwQixDQUFDO0lBQ04sQ0FBQztJQUVELDZDQUFjLEdBQWQsVUFDSSxFQUE0RSxFQUM1RSxLQUFhO1lBRFosd0NBQWlCLEVBQUUsc0NBQWdCLEVBQUUsMEJBQVU7UUFHaEQsSUFDSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ2QsQ0FBQyxpQkFBaUI7WUFDbEIsaUJBQWlCLEtBQUssQ0FBQztZQUN2QixvREFBb0Q7WUFDcEQsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsSUFBSSxDQUFDLEVBQ2xEO1lBQ0UsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCx3Q0FBUyxHQUFULFVBQVUsUUFBaUI7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVPLHVDQUFRLEdBQWhCLFVBQWlCLEtBQWE7UUFDMUIsSUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFNLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRS9CLE9BQU8sU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckUsQ0FBQzs7Z0JBekN3QixVQUFVLHVCQUY5QixRQUFRLFlBQ1IsTUFBTSxTQUFDLDZCQUE2QjtnQkFFa0IsVUFBVSx1QkFBaEUsTUFBTSxTQUFDLG9CQUFvQjs7SUFwQmhDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzREQUNGO0lBSWY7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7dURBQ1A7SUFHVjtRQURDLE1BQU0sRUFBRTs2REFDeUM7SUFPbEQ7UUFEQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUM7dURBQ0c7SUFVMUQ7UUFEQyxPQUFPO3dEQVNQO0lBckNRLG9CQUFvQjtRQVpoQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsY0FBYztZQUN4QixnL0JBQXFDO1lBRXJDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVTtpQkFDMUI7YUFDSjs7U0FDSixDQUFDO1FBdUJPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBRXJDLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7T0F6QnhCLG9CQUFvQixDQWtFaEM7SUFBRCwyQkFBQztDQUFBLEFBbEVELElBa0VDO1NBbEVZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lOVEVSU0VDVElPTl9ST09UfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7RU1QVFlfUVVFUlksIHR1aURlZmF1bHRQcm9wLCBUdWlJdGVtRGlyZWN0aXZlLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUNhcm91c2VsRGlyZWN0aXZlfSBmcm9tICcuL2Nhcm91c2VsLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUNhcm91c2VsRHJhZ2dhYmxlRGlyZWN0aXZlfSBmcm9tICcuL2Nhcm91c2VsLWRyYWdnYWJsZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjYXJvdXNlbC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnY2Fyb3VzZWwuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBJTlRFUlNFQ1RJT05fUk9PVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBFbGVtZW50UmVmLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhcm91c2VsQ29tcG9uZW50IHtcbiAgICByZWFkb25seSBpbnRlcnNlY3RlZCQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXNDb3VudCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIHJlYWRvbmx5IG1hbnVhbCQgPSB0aGlzLmluZGV4JC5waXBlKG1hcChpbmRleCA9PiB0aGlzLmxvb3BiYWNrKGluZGV4KSkpO1xuXG4gICAgYXR0YWNoZWQgPSBmYWxzZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpSXRlbURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlDYXJvdXNlbERyYWdnYWJsZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgdHJhbnNmb3JtJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCBudWxsPiB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVHVpQ2Fyb3VzZWxEaXJlY3RpdmUpIHByaXZhdGUgcmVhZG9ubHkgaW5kZXgkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgKSB7fVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRTdHlsZShpdGVtc0NvdW50OiBudW1iZXIpOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+IHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IGAkezEwMCAvIGl0ZW1zQ291bnR9JWA7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZsZXhCYXNpczogcGVyY2VudCxcbiAgICAgICAgICAgIG1pbldpZHRoOiBwZXJjZW50LFxuICAgICAgICAgICAgbWF4V2lkdGg6IHBlcmNlbnQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25JbnRlcnNlY3Rpb24oXG4gICAgICAgIHtpbnRlcnNlY3Rpb25SYXRpbywgaW50ZXJzZWN0aW9uUmVjdCwgcm9vdEJvdW5kc306IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnksXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLmF0dGFjaGVkIHx8XG4gICAgICAgICAgICAhaW50ZXJzZWN0aW9uUmF0aW8gfHxcbiAgICAgICAgICAgIGludGVyc2VjdGlvblJhdGlvID09PSAxIHx8XG4gICAgICAgICAgICAvLyBQaGFudG9tIGludGVyc2VjdGlvbnMgZHVlIHRvIHdpZHRoIHdvYmJsZSBvbiBkcmFnXG4gICAgICAgICAgICBpbnRlcnNlY3Rpb25SZWN0LmxlZnQgPiBOdW1iZXIocm9vdEJvdW5kcz8ubGVmdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXggLSBNYXRoLmZsb29yKHRoaXMuaXRlbXNDb3VudCAvIDIpKTtcbiAgICB9XG5cbiAgICBvblByZXNlbnQoYXR0YWNoZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5hdHRhY2hlZCA9IGF0dGFjaGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9vcGJhY2soaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBzYWZlID0gdGhpcy5pdGVtcy5sZW5ndGggfHwgaW5kZXggKyAxO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSBpbmRleCAlIHNhZmU7XG5cbiAgICAgICAgcmV0dXJuIHJlbWFpbmRlciA8IDAgPyByZW1haW5kZXIgKyB0aGlzLml0ZW1zLmxlbmd0aCA6IHJlbWFpbmRlcjtcbiAgICB9XG59XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Nhcm91c2VsLyIsInNvdXJjZXMiOlsiY2Fyb3VzZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUV2QixXQUFXO0FBYVg7SUF5QkksOEJBQ2dELGlCQUFvQyxFQUMzQyxVQUFtQyxFQUNoQyxRQUFpQjtRQUZiLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDM0MsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDaEMsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQTNCckQsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUt0QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFJZixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBR0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR3pDLFVBQUssR0FBZ0MsV0FBVyxDQUFDO1FBRzFELGlCQUFZLEdBQUcsSUFBSSxDQUFDO0lBTWpCLENBQUM7SUFFSixzQkFBSSwyQ0FBUzthQUFiO1lBQ0ksSUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFp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QUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxZQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQzs4REFPakQ7SUFHRDtRQURDLE9BQU87d0RBU1A7SUExRFEsb0JBQW9CO1FBWmhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLDQvQkFBcUM7WUFFckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07WUFDL0MsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVO2lCQUMxQjthQUNKOztTQUNKLENBQUM7UUEyQk8sV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtPQTVCakIsb0JBQW9CLENBMEhoQztJQUFELDJCQUFDO0NBQUEsQUExSEQsSUEwSEM7U0ExSFksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lOVEVSU0VDVElPTl9ST09UfSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7XG4gICAgY2xhbXAsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJdGVtRGlyZWN0aXZlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3dpcGVEaXJlY3Rpb24sXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnY2Fyb3VzZWwudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2Nhcm91c2VsLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogSU5URVJTRUNUSU9OX1JPT1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRWxlbWVudFJlZixcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSB0cmFuc2xhdGUgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kcmFnZ2FibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZHJhZ2dhYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaXRlbXNDb3VudCA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaW5kZXggPSAwO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpSXRlbURpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPGFueT4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl90cmFuc2l0aW9uZWQnKVxuICAgIHRyYW5zaXRpb25lZCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICkge31cblxuICAgIGdldCB0cmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgeCA9IHRoaXMudHJhbnNpdGlvbmVkID8gdGhpcy5jb21wdXRlZFRyYW5zbGF0ZSA6IHRoaXMudHJhbnNsYXRlO1xuXG4gICAgICAgIHJldHVybiBgdHJhbnNsYXRlWCgkezEwMCAqIHh9JSlgO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBbJ2ZhbHNlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigndG91Y2hlbmQnLCBbJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJ2ZhbHNlJ10pXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cC5zaWxlbnQnLCBbJ3RydWUnXSlcbiAgICBvblRyYW5zaXRpb25lZCh0cmFuc2l0aW9uZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy50cmFuc2l0aW9uZWQgPSB0cmFuc2l0aW9uZWQ7XG5cbiAgICAgICAgaWYgKCF0cmFuc2l0aW9uZWQpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlID0gdGhpcy5jb21wdXRlZFRyYW5zbGF0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0U3R5bGUoaXRlbXNDb3VudDogbnVtYmVyKTogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiB7XG4gICAgICAgIGNvbnN0IHBlcmNlbnQgPSBgJHsxMDAgLyBpdGVtc0NvdW50fSVgO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmbGV4QmFzaXM6IHBlcmNlbnQsXG4gICAgICAgICAgICBtaW5XaWR0aDogcGVyY2VudCxcbiAgICAgICAgICAgIG1heFdpZHRoOiBwZXJjZW50LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5leHQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgodGhpcy5pbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByZXYoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgodGhpcy5pbmRleCAtIDEpO1xuICAgIH1cblxuICAgIGlzRGlzYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPCB0aGlzLmluZGV4IHx8IGluZGV4ID4gdGhpcy5pbmRleCArIHRoaXMuaXRlbXNDb3VudDtcbiAgICB9XG5cbiAgICBvbkludGVyc2VjdGlvbih7aW50ZXJzZWN0aW9uUmF0aW99OiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpbnRlcnNlY3Rpb25SYXRpbyAmJiBpbnRlcnNlY3Rpb25SYXRpbyAhPT0gMSAmJiAhdGhpcy50cmFuc2l0aW9uZWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5kZXgoaW5kZXggLSBNYXRoLmZsb29yKHRoaXMuaXRlbXNDb3VudCAvIDIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2Nyb2xsKGRlbHRhOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUluZGV4KHRoaXMuaW5kZXggKyBkZWx0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblBhbih4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXB1dGVkRHJhZ2dhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IG1pbiA9IDEgLSB0aGlzLml0ZW1zLmxlbmd0aCAvIHRoaXMuaXRlbXNDb3VudDtcblxuICAgICAgICB0aGlzLnRyYW5zbGF0ZSA9IGNsYW1wKHggLyBjbGllbnRXaWR0aCArIHRoaXMudHJhbnNsYXRlLCBtaW4sIDApO1xuICAgIH1cblxuICAgIG9uU3dpcGUoZGlyZWN0aW9uOiBUdWlTd2lwZURpcmVjdGlvbikge1xuICAgICAgICBpZiAoTWF0aC5yb3VuZCh0aGlzLnRyYW5zbGF0ZSkgIT09IC10aGlzLmluZGV4IHx8ICF0aGlzLmNvbXB1dGVkRHJhZ2dhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgdGhpcy5wcmV2KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkF1dG9zY3JvbGwoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5kZXgodGhpcy5pbmRleCA9PT0gdGhpcy5pdGVtcy5sZW5ndGggLSAxID8gMCA6IHRoaXMuaW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb21wdXRlZFRyYW5zbGF0ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gLXRoaXMuaW5kZXggLyB0aGlzLml0ZW1zQ291bnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29tcHV0ZWREcmFnZ2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTW9iaWxlIHx8IHRoaXMuZHJhZ2dhYmxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmluZGV4ID0gY2xhbXAoaW5kZXgsIDAsIHRoaXMuaXRlbXMubGVuZ3RoIC0gMSk7XG4gICAgICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdCh0aGlzLmluZGV4KTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG4iXX0=
@@ -1,42 +1,23 @@
1
1
  import { __decorate, __extends, __param, __read } from "tslib";
2
- import { Directive, ElementRef, Inject, Input, OnInit } from '@angular/core';
2
+ import { Directive, ElementRef, Inject, Input } from '@angular/core';
3
3
  import { PAGE_VISIBILITY } from '@ng-web-apis/common';
4
- import { TuiDestroyService, typedFromEvent } from '@taiga-ui/cdk';
5
- import { BehaviorSubject, combineLatest, interval, merge, Observable, of } from 'rxjs';
6
- import { distinctUntilChanged, filter, mapTo, scan, shareReplay, startWith, switchMap, takeUntil, withLatestFrom, } from 'rxjs/operators';
4
+ import { typedFromEvent } from '@taiga-ui/cdk';
5
+ import { BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable } from 'rxjs';
6
+ import { mapTo, switchMap } from 'rxjs/operators';
7
7
  var TuiCarouselDirective = /** @class */ (function (_super) {
8
8
  __extends(TuiCarouselDirective, _super);
9
- function TuiCarouselDirective(destroy$, elementRef, visible$) {
9
+ function TuiCarouselDirective(elementRef, visible$) {
10
10
  var _this = _super.call(this, function (subscriber) { return _this.output$.subscribe(subscriber); }) || this;
11
- _this.destroy$ = destroy$;
12
11
  _this.elementRef = elementRef;
13
12
  _this.visible$ = visible$;
14
- _this.index$ = new BehaviorSubject(NaN);
15
13
  _this.duration$ = new BehaviorSubject(0);
16
- _this.running$ = merge(typedFromEvent(_this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)), typedFromEvent(_this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)), _this.visible$).pipe(takeUntil(_this.destroy$), shareReplay(1));
17
- _this.output$ = combineLatest([
18
- _this.index$.pipe(filter(function (v) { return !isNaN(v); })),
19
- _this.duration$,
20
- ]).pipe(switchMap(function (_a) {
21
- var _b = __read(_a, 2), index = _b[0], duration = _b[1];
22
- return duration
23
- ? interval(duration).pipe(withLatestFrom(_this.running$), filter(function (_a) {
24
- var _b = __read(_a, 2), _ = _b[0], running = _b[1];
25
- return running;
26
- }), scan(function (acc) { return ++acc; }, index), startWith(index))
27
- : of(index);
28
- }), distinctUntilChanged());
29
- // So that initial position is scrolled to instantly
30
- _this.inited = false;
14
+ _this.running$ = merge(typedFromEvent(_this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)), typedFromEvent(_this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)), typedFromEvent(_this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)), typedFromEvent(_this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)), _this.visible$);
15
+ _this.output$ = combineLatest([_this.duration$, _this.running$]).pipe(switchMap(function (_a) {
16
+ var _b = __read(_a, 2), duration = _b[0], running = _b[1];
17
+ return duration && running ? interval(duration) : EMPTY;
18
+ }));
31
19
  return _this;
32
20
  }
33
- Object.defineProperty(TuiCarouselDirective.prototype, "index", {
34
- set: function (index) {
35
- this.index$.next(index);
36
- },
37
- enumerable: true,
38
- configurable: true
39
- });
40
21
  Object.defineProperty(TuiCarouselDirective.prototype, "duration", {
41
22
  set: function (duration) {
42
23
  this.duration$.next(duration);
@@ -44,39 +25,21 @@ var TuiCarouselDirective = /** @class */ (function (_super) {
44
25
  enumerable: true,
45
26
  configurable: true
46
27
  });
47
- TuiCarouselDirective.prototype.ngOnInit = function () {
48
- if (isNaN(this.index$.value)) {
49
- this.index$.next(0);
50
- }
51
- };
52
- TuiCarouselDirective.prototype.prev = function () {
53
- this.index$.next(this.index$.value - 1);
54
- };
55
- TuiCarouselDirective.prototype.next = function () {
56
- this.index$.next(this.index$.value + 1);
57
- };
58
28
  TuiCarouselDirective.ctorParameters = function () { return [
59
- { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
60
29
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
61
30
  { type: Observable, decorators: [{ type: Inject, args: [PAGE_VISIBILITY,] }] }
62
31
  ]; };
63
- __decorate([
64
- Input()
65
- ], TuiCarouselDirective.prototype, "index", null);
66
32
  __decorate([
67
33
  Input()
68
34
  ], TuiCarouselDirective.prototype, "duration", null);
69
35
  TuiCarouselDirective = __decorate([
70
36
  Directive({
71
37
  selector: 'tui-carousel',
72
- exportAs: 'tui-carousel',
73
- providers: [TuiDestroyService],
74
38
  }),
75
- __param(0, Inject(TuiDestroyService)),
76
- __param(1, Inject(ElementRef)),
77
- __param(2, Inject(PAGE_VISIBILITY))
39
+ __param(0, Inject(ElementRef)),
40
+ __param(1, Inject(PAGE_VISIBILITY))
78
41
  ], TuiCarouselDirective);
79
42
  return TuiCarouselDirective;
80
43
  }(Observable));
81
44
  export { TuiCarouselDirective };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Nhcm91c2VsLyIsInNvdXJjZXMiOlsiY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckYsT0FBTyxFQUNILG9CQUFvQixFQUNwQixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsY0FBYyxHQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBT3hCO0lBQTBDLHdDQUFrQjtJQXlDeEQsOEJBQ2dELFFBQTZCLEVBQ3BDLFVBQW1DLEVBQzlCLFFBQTZCO1FBSDNFLFlBS0ksa0JBQU0sVUFBQSxVQUFVLElBQUksT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxTQUMxRDtRQUwrQyxjQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUNwQyxnQkFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDOUIsY0FBUSxHQUFSLFFBQVEsQ0FBcUI7UUEzQzFELFlBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUUxQyxlQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsY0FB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QztRQTJDTyxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO09BNUNuQixvQkFBb0IsQ0E4RGhDO0lBQUQsMkJBQUM7Q0FBQSxBQTlERCxDQUEwQyxVQUFVLEdBOERuRDtTQTlEWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UEFHRV9WSVNJQklMSVRZfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRGVzdHJveVNlcnZpY2UsIHR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBpbnRlcnZhbCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIG1hcFRvLFxuICAgIHNjYW4sXG4gICAgc2hhcmVSZXBsYXksXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG4gICAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxuICAgIGV4cG9ydEFzOiAndHVpLWNhcm91c2VsJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNhcm91c2VsRGlyZWN0aXZlIGV4dGVuZHMgT2JzZXJ2YWJsZTxudW1iZXI+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPihOYU4pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkdXJhdGlvbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBydW5uaW5nJCA9IG1lcmdlKFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKS5waXBlKG1hcFRvKGZhbHNlKSksXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpLnBpcGUobWFwVG8odHJ1ZSkpLFxuICAgICAgICB0aGlzLnZpc2libGUkLFxuICAgICkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0JCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmluZGV4JC5waXBlKGZpbHRlcih2ID0+ICFpc05hTih2KSkpLFxuICAgICAgICB0aGlzLmR1cmF0aW9uJCxcbiAgICBdKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFtpbmRleCwgZHVyYXRpb25dKSA9PlxuICAgICAgICAgICAgZHVyYXRpb25cbiAgICAgICAgICAgICAgICA/IGludGVydmFsKGR1cmF0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMucnVubmluZyQpLFxuICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoW18sIHJ1bm5pbmddKSA9PiBydW5uaW5nKSxcbiAgICAgICAgICAgICAgICAgICAgICBzY2FuKGFjYyA9PiArK2FjYywgaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0V2l0aChpbmRleCksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiBvZihpbmRleCksXG4gICAgICAgICksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5pbmRleCQubmV4dChpbmRleCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZHVyYXRpb24oZHVyYXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uJC5uZXh0KGR1cmF0aW9uKTtcbiAgICB9XG5cbiAgICAvLyBTbyB0aGF0IGluaXRpYWwgcG9zaXRpb24gaXMgc2Nyb2xsZWQgdG8gaW5zdGFudGx5XG4gICAgaW5pdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBBR0VfVklTSUJJTElUWSkgcHJpdmF0ZSByZWFkb25seSB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLm91dHB1dCQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKGlzTmFOKHRoaXMuaW5kZXgkLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5pbmRleCQubmV4dCgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByZXYoKSB7XG4gICAgICAgIHRoaXMuaW5kZXgkLm5leHQodGhpcy5pbmRleCQudmFsdWUgLSAxKTtcbiAgICB9XG5cbiAgICBuZXh0KCkge1xuICAgICAgICB0aGlzLmluZGV4JC5uZXh0KHRoaXMuaW5kZXgkLnZhbHVlICsgMSk7XG4gICAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Nhcm91c2VsLyIsInNvdXJjZXMiOlsiY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RixPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBS2hEO0lBQTBDLHdDQUFtQjtJQXNCekQsOEJBQ3lDLFVBQW1DLEVBQzlCLFFBQTZCO1FBRjNFLFlBSUksa0JBQU0sVUFBQSxVQUFVLElBQUksT0FBQSxLQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBbEMsQ0FBa0MsQ0FBQyxTQUMxRDtRQUp3QyxnQkFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDOUIsY0FBUSxHQUFSLFFBQVEsQ0FBcUI7UUF2QjFELGVBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxjQUFRLEdBQUcsS0FBSyxDQUM3QixjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM5RSxjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUM5RSxjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzRSxjQUFjLENBQUMsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM3RSxLQUFJLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBRWUsYUFBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRSxTQUFTLENBQUMsVUFBQyxFQUFtQjtnQkFBbkIsa0JBQW1CLEVBQWxCLGdCQUFRLEVBQUUsZUFBTztZQUN6QixPQUFBLFFBQVEsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztRQUFoRCxDQUFnRCxDQUNuRCxDQUNKLENBQUM7O0lBWUYsQ0FBQztJQVRELHNCQUFJLDBDQUFRO2FBQVosVUFBYSxRQUFnQjtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDOzs7T0FBQTs7Z0JBR29ELFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVO2dCQUNrQyxVQUFVLHVCQUE3RCxNQUFNLFNBQUMsZUFBZTs7SUFOM0I7UUFEQyxLQUFLLEVBQUU7d0RBR1A7SUFwQlEsb0JBQW9CO1FBSGhDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxjQUFjO1NBQzNCLENBQUM7UUF3Qk8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUE7T0F4Qm5CLG9CQUFvQixDQTRCaEM7SUFBRCwyQkFBQztDQUFBLEFBNUJELENBQTBDLFVBQVUsR0E0Qm5EO1NBNUJZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UEFHRV9WSVNJQklMSVRZfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIEVNUFRZLCBpbnRlcnZhbCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXBUbywgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAndHVpLWNhcm91c2VsJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQ2Fyb3VzZWxEaXJlY3RpdmUgZXh0ZW5kcyBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR1cmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJ1bm5pbmckID0gbWVyZ2UoXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2VlbnRlcicpLnBpcGUobWFwVG8oZmFsc2UpKSxcbiAgICAgICAgdHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0JykucGlwZShtYXBUbyhmYWxzZSkpLFxuICAgICAgICB0eXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJykucGlwZShtYXBUbyh0cnVlKSksXG4gICAgICAgIHR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2VsZWF2ZScpLnBpcGUobWFwVG8odHJ1ZSkpLFxuICAgICAgICB0aGlzLnZpc2libGUkLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG91dHB1dCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmR1cmF0aW9uJCwgdGhpcy5ydW5uaW5nJF0pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoW2R1cmF0aW9uLCBydW5uaW5nXSkgPT5cbiAgICAgICAgICAgIGR1cmF0aW9uICYmIHJ1bm5pbmcgPyBpbnRlcnZhbChkdXJhdGlvbikgOiBFTVBUWSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgZHVyYXRpb24oZHVyYXRpb246IG51bWJlcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uJC5uZXh0KGR1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBBR0VfVklTSUJJTElUWSkgcHJpdmF0ZSByZWFkb25seSB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLm91dHB1dCQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG59XG4iXX0=