@taiga-ui/kit 3.0.0-rc.0 → 3.0.0-rc.1

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 (585) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +5 -17
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +3 -9
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js +3 -3
  8. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badge.umd.js +3 -3
  10. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-badged-content.umd.js +3 -6
  12. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +0 -1
  16. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +12 -8
  18. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -5
  20. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +7 -10
  22. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +5 -9
  24. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js +5 -9
  26. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-combo-box.umd.js +21 -41
  28. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +5 -26
  30. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-files.umd.js +1 -2
  32. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  34. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.js +21 -36
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +12 -35
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +19 -42
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +18 -42
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date.umd.js +17 -41
  44. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-files.umd.js +4 -17
  46. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -8
  48. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +19 -37
  50. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-month.umd.js +19 -37
  52. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-number.umd.js +14 -37
  54. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-password.umd.js +29 -56
  56. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +38 -51
  58. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-phone.umd.js +30 -57
  60. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-range.umd.js +17 -13
  62. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-slider.umd.js +14 -12
  64. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-tag.umd.js +33 -50
  66. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-time.umd.js +8 -15
  68. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input.umd.js +16 -33
  70. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +108 -18
  72. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +3 -3
  76. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-multi-select.umd.js +34 -69
  78. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-pagination.umd.js +10 -23
  80. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +2 -15
  82. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-progress.umd.js +5 -15
  84. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-radio-block.umd.js +7 -10
  86. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +5 -9
  88. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-radio-list.umd.js +5 -9
  90. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-radio.umd.js +5 -10
  92. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-range.umd.js +40 -86
  94. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-rating.umd.js +4 -8
  96. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-select-option.umd.js +5 -5
  98. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-select.umd.js +20 -40
  100. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-slider.umd.js +40 -38
  102. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-stepper.umd.js +9 -7
  104. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-tabs.umd.js +40 -40
  106. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-tag.umd.js +6 -17
  108. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-text-area.umd.js +18 -31
  110. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-toggle.umd.js +5 -9
  112. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -8
  114. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-constants.umd.js +334 -3
  116. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  117. package/bundles/{taiga-ui-kit-directives-dropdown-context.umd.js → taiga-ui-kit-directives-data-list-dropdown-manager.umd.js} +117 -141
  118. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -0
  119. package/bundles/taiga-ui-kit-directives-highlight.umd.js +0 -1
  120. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +2 -2
  122. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-directives-present.umd.js +2 -2
  124. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-directives-project-class.umd.js +0 -3
  126. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-directives.umd.js +6 -18
  128. package/bundles/taiga-ui-kit-directives.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +4 -4
  130. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +0 -2
  132. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +3 -3
  134. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-providers.umd.js +11 -42
  136. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-tokens.umd.js +17 -12
  138. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-utils-files.umd.js +3 -15
  140. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-utils-format.umd.js +1 -5
  142. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-utils-mask.umd.js +3 -9
  144. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-utils-math.umd.js +1 -1
  146. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  147. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +1 -5
  148. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-utils.umd.js +4 -10
  150. package/bundles/taiga-ui-kit-utils.umd.js.map +1 -1
  151. package/components/badge/badge.component.d.ts +2 -2
  152. package/components/badged-content/badged-content.component.d.ts +2 -2
  153. package/components/combo-box/index.d.ts +0 -1
  154. package/components/filter/filter.component.d.ts +1 -1
  155. package/components/input/index.d.ts +0 -1
  156. package/components/input-copy/index.d.ts +0 -1
  157. package/components/input-copy/input-copy.component.d.ts +4 -4
  158. package/components/input-date/index.d.ts +0 -1
  159. package/components/input-date-range/index.d.ts +0 -1
  160. package/components/input-date-time/index.d.ts +0 -1
  161. package/components/input-month/index.d.ts +0 -1
  162. package/components/input-month-range/index.d.ts +0 -1
  163. package/components/input-password/input-password.component.d.ts +2 -2
  164. package/components/input-password/input-password.module.d.ts +2 -3
  165. package/components/input-phone/index.d.ts +0 -1
  166. package/components/input-phone/input-phone.component.d.ts +2 -2
  167. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -5
  168. package/components/input-range/input-range.component.d.ts +1 -0
  169. package/components/input-slider/input-slider.component.d.ts +1 -0
  170. package/components/input-tag/input-tag-options.d.ts +4 -1
  171. package/components/input-tag/input-tag.component.d.ts +3 -5
  172. package/components/line-clamp/index.d.ts +1 -0
  173. package/components/line-clamp/line-clamp-box.component.d.ts +7 -0
  174. package/components/line-clamp/line-clamp-position.directive.d.ts +9 -0
  175. package/components/line-clamp/line-clamp.module.d.ts +7 -5
  176. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -3
  177. package/components/pagination/pagination.component.d.ts +0 -1
  178. package/components/progress/progress-segmented/progress-segmented.component.d.ts +0 -2
  179. package/components/range/range.component.d.ts +7 -23
  180. package/components/select/index.d.ts +0 -1
  181. package/components/slider/helpers/slider-key-steps.directive.d.ts +1 -3
  182. package/components/slider/slider.component.d.ts +5 -3
  183. package/components/stepper/step/step.component.d.ts +2 -2
  184. package/components/tabs/tab/tab.providers.d.ts +1 -4
  185. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +2 -1
  186. package/components/tabs/tabs-with-more/tabs-with-more.providers.d.ts +3 -4
  187. package/components/tag/tag.component.d.ts +1 -3
  188. package/components/text-area/index.d.ts +0 -1
  189. package/components/tree/components/tree-item/tree-item.providers.d.ts +0 -1
  190. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +15 -0
  191. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.d.ts +7 -0
  192. package/directives/data-list-dropdown-manager/index.d.ts +2 -0
  193. package/directives/data-list-dropdown-manager/package.json +10 -0
  194. package/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.d.ts +5 -0
  195. package/directives/index.d.ts +1 -3
  196. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +5 -17
  197. package/esm2015/components/accordion/accordion.component.js +5 -5
  198. package/esm2015/components/action/action.component.js +6 -12
  199. package/esm2015/components/arrow/arrow.component.js +3 -3
  200. package/esm2015/components/avatar/avatar.component.js +6 -6
  201. package/esm2015/components/badge/badge.component.js +6 -6
  202. package/esm2015/components/badged-content/badged-content.component.js +4 -7
  203. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +2 -2
  204. package/esm2015/components/calendar-month/calendar-month.component.js +1 -2
  205. package/esm2015/components/calendar-range/calendar-range.component.js +12 -11
  206. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  207. package/esm2015/components/carousel/carousel.component.js +4 -5
  208. package/esm2015/components/carousel/carousel.directive.js +3 -3
  209. package/esm2015/components/checkbox/checkbox.component.js +8 -12
  210. package/esm2015/components/checkbox-block/checkbox-block.component.js +10 -13
  211. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +8 -12
  212. package/esm2015/components/combo-box/combo-box.component.js +20 -8
  213. package/esm2015/components/combo-box/combo-box.directive.js +5 -15
  214. package/esm2015/components/combo-box/index.js +1 -2
  215. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +5 -15
  216. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +5 -15
  217. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -4
  218. package/esm2015/components/files/file/file.component.js +3 -4
  219. package/esm2015/components/filter/filter.component.js +2 -2
  220. package/esm2015/components/input/index.js +1 -2
  221. package/esm2015/components/input/input.component.js +18 -7
  222. package/esm2015/components/input/input.directive.js +5 -15
  223. package/esm2015/components/input-copy/index.js +1 -2
  224. package/esm2015/components/input-copy/input-copy.component.js +18 -10
  225. package/esm2015/components/input-copy/input-copy.directive.js +5 -15
  226. package/esm2015/components/input-count/input-count.component.js +14 -27
  227. package/esm2015/components/input-count/input-count.directive.js +5 -15
  228. package/esm2015/components/input-date/index.js +1 -2
  229. package/esm2015/components/input-date/input-date.component.js +15 -9
  230. package/esm2015/components/input-date/input-date.directive.js +5 -15
  231. package/esm2015/components/input-date-range/index.js +1 -2
  232. package/esm2015/components/input-date-range/input-date-range.component.js +18 -11
  233. package/esm2015/components/input-date-range/input-date-range.directive.js +5 -15
  234. package/esm2015/components/input-date-time/index.js +1 -2
  235. package/esm2015/components/input-date-time/input-date-time.component.js +16 -10
  236. package/esm2015/components/input-date-time/input-date-time.directive.js +5 -15
  237. package/esm2015/components/input-files/input-files.component.js +8 -21
  238. package/esm2015/components/input-inline/input-inline.component.js +5 -11
  239. package/esm2015/components/input-month/index.js +1 -2
  240. package/esm2015/components/input-month/input-month.component.js +17 -8
  241. package/esm2015/components/input-month/input-month.directive.js +5 -17
  242. package/esm2015/components/input-month-range/index.js +1 -2
  243. package/esm2015/components/input-month-range/input-month-range.component.js +17 -8
  244. package/esm2015/components/input-month-range/input-month-range.directive.js +5 -17
  245. package/esm2015/components/input-number/input-number.component.js +16 -29
  246. package/esm2015/components/input-number/input-number.directive.js +5 -15
  247. package/esm2015/components/input-password/input-password.component.js +18 -32
  248. package/esm2015/components/input-password/input-password.directive.js +5 -15
  249. package/esm2015/components/input-password/input-password.module.js +1 -5
  250. package/esm2015/components/input-phone/index.js +1 -2
  251. package/esm2015/components/input-phone/input-phone.component.js +28 -14
  252. package/esm2015/components/input-phone/input-phone.directive.js +5 -15
  253. package/esm2015/components/input-phone-international/input-phone-international.component.js +16 -22
  254. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +5 -11
  255. package/esm2015/components/input-range/input-range.component.js +20 -16
  256. package/esm2015/components/input-slider/input-slider.component.js +13 -15
  257. package/esm2015/components/input-tag/input-tag-options.js +8 -1
  258. package/esm2015/components/input-tag/input-tag.component.js +24 -54
  259. package/esm2015/components/input-time/input-time.component.js +11 -18
  260. package/esm2015/components/line-clamp/index.js +2 -1
  261. package/esm2015/components/line-clamp/line-clamp-box.component.js +32 -0
  262. package/esm2015/components/line-clamp/line-clamp-position.directive.js +26 -0
  263. package/esm2015/components/line-clamp/line-clamp.component.js +22 -9
  264. package/esm2015/components/line-clamp/line-clamp.module.js +30 -6
  265. package/esm2015/components/marker-icon/marker-icon.component.js +2 -2
  266. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +11 -21
  267. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +17 -28
  268. package/esm2015/components/multi-select/multi-select.component.js +15 -30
  269. package/esm2015/components/multi-select-option/multi-select-option.component.js +6 -6
  270. package/esm2015/components/pagination/pagination.component.js +13 -25
  271. package/esm2015/components/pdf-viewer/pdf-viewer.module.js +4 -17
  272. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +4 -4
  273. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  274. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -11
  275. package/esm2015/components/radio/radio.component.js +8 -13
  276. package/esm2015/components/radio-block/radio-block.component.js +10 -13
  277. package/esm2015/components/radio-labeled/radio-labeled.component.js +8 -12
  278. package/esm2015/components/radio-list/radio-list.component.js +8 -12
  279. package/esm2015/components/range/range-change.directive.js +10 -9
  280. package/esm2015/components/range/range.component.js +27 -79
  281. package/esm2015/components/rating/rating.component.js +7 -11
  282. package/esm2015/components/select/index.js +1 -2
  283. package/esm2015/components/select/select.component.js +19 -7
  284. package/esm2015/components/select/select.directive.js +5 -15
  285. package/esm2015/components/select-option/select-option.component.js +7 -7
  286. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +14 -22
  287. package/esm2015/components/slider/helpers/slider-readonly.directive.js +5 -6
  288. package/esm2015/components/slider/slider.component.js +21 -10
  289. package/esm2015/components/stepper/step/step.component.js +5 -5
  290. package/esm2015/components/stepper/stepper.component.js +7 -5
  291. package/esm2015/components/tabs/tab/tab.providers.js +10 -10
  292. package/esm2015/components/tabs/tabs/tabs.component.js +1 -2
  293. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +18 -17
  294. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +9 -11
  295. package/esm2015/components/tag/tag.component.js +10 -20
  296. package/esm2015/components/text-area/index.js +1 -2
  297. package/esm2015/components/text-area/text-area.component.js +19 -8
  298. package/esm2015/components/text-area/text-area.directive.js +5 -15
  299. package/esm2015/components/toggle/toggle.component.js +8 -12
  300. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -6
  301. package/esm2015/components/tree/directives/tree-controller.directive.js +3 -3
  302. package/esm2015/components/tree/misc/tree.service.js +1 -2
  303. package/esm2015/constants/max-day-range-length-mapper.js +5 -4
  304. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +100 -0
  305. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.js +16 -0
  306. package/esm2015/directives/data-list-dropdown-manager/index.js +3 -0
  307. package/esm2015/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.js +5 -0
  308. package/esm2015/directives/highlight/highlight.directive.js +1 -2
  309. package/esm2015/directives/index.js +2 -4
  310. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +2 -2
  311. package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
  312. package/esm2015/directives/present/present.directive.js +4 -4
  313. package/esm2015/directives/project-class/project-class.directive.js +1 -4
  314. package/esm2015/interfaces/index.js +1 -2
  315. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +7 -7
  316. package/esm2015/pipes/field-error/field-error-content-pipe.js +1 -2
  317. package/esm2015/pipes/field-error/field-error-pipe.js +1 -2
  318. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +5 -5
  319. package/esm2015/providers/month-formatter.provider.js +8 -13
  320. package/esm2015/providers/specific-dropdown-controllers.js +6 -29
  321. package/esm2015/tokens/calendar-date-stream.js +15 -0
  322. package/esm2015/tokens/index.js +2 -3
  323. package/esm2015/utils/files/format-size.js +4 -9
  324. package/esm2015/utils/files/get-accept-array.js +2 -7
  325. package/esm2015/utils/format/string-hash-to-hsl.js +2 -5
  326. package/esm2015/utils/index.js +1 -2
  327. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +3 -8
  328. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +3 -3
  329. package/esm2015/utils/math/key-steps.js +3 -3
  330. package/esm2015/utils/miscellaneous/get-precision.js +2 -5
  331. package/fesm2015/taiga-ui-kit-components-accordion.js +7 -19
  332. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  333. package/fesm2015/taiga-ui-kit-components-action.js +5 -11
  334. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-arrow.js +2 -2
  336. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-avatar.js +5 -5
  338. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-badge.js +4 -4
  340. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-badged-content.js +3 -6
  342. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  344. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-calendar-month.js +0 -1
  346. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-calendar-range.js +12 -11
  348. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-carousel.js +5 -6
  350. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +9 -12
  352. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +7 -11
  354. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-checkbox.js +7 -11
  356. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-components-combo-box.js +22 -41
  358. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +7 -28
  360. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-components-files.js +2 -3
  362. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  363. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  364. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  365. package/fesm2015/taiga-ui-kit-components-input-copy.js +22 -36
  366. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  367. package/fesm2015/taiga-ui-kit-components-input-count.js +15 -38
  368. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  369. package/fesm2015/taiga-ui-kit-components-input-date-range.js +20 -44
  370. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  371. package/fesm2015/taiga-ui-kit-components-input-date-time.js +19 -44
  372. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  373. package/fesm2015/taiga-ui-kit-components-input-date.js +18 -43
  374. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  375. package/fesm2015/taiga-ui-kit-components-input-files.js +7 -20
  376. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  377. package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -10
  378. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  379. package/fesm2015/taiga-ui-kit-components-input-month-range.js +20 -37
  380. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  381. package/fesm2015/taiga-ui-kit-components-input-month.js +20 -37
  382. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  383. package/fesm2015/taiga-ui-kit-components-input-number.js +17 -40
  384. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  385. package/fesm2015/taiga-ui-kit-components-input-password.js +20 -47
  386. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  387. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +18 -30
  388. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  389. package/fesm2015/taiga-ui-kit-components-input-phone.js +31 -57
  390. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  391. package/fesm2015/taiga-ui-kit-components-input-range.js +19 -15
  392. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  393. package/fesm2015/taiga-ui-kit-components-input-slider.js +12 -14
  394. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  395. package/fesm2015/taiga-ui-kit-components-input-tag.js +33 -55
  396. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  397. package/fesm2015/taiga-ui-kit-components-input-time.js +10 -17
  398. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  399. package/fesm2015/taiga-ui-kit-components-input.js +20 -36
  400. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  401. package/fesm2015/taiga-ui-kit-components-line-clamp.js +96 -14
  402. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  403. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  404. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  405. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +5 -5
  406. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  407. package/fesm2015/taiga-ui-kit-components-multi-select.js +37 -73
  408. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  409. package/fesm2015/taiga-ui-kit-components-pagination.js +13 -25
  410. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  411. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +3 -16
  412. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  413. package/fesm2015/taiga-ui-kit-components-progress.js +7 -15
  414. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  415. package/fesm2015/taiga-ui-kit-components-radio-block.js +9 -12
  416. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  417. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -11
  418. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  419. package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -11
  420. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  421. package/fesm2015/taiga-ui-kit-components-radio.js +7 -12
  422. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  423. package/fesm2015/taiga-ui-kit-components-range.js +38 -86
  424. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  425. package/fesm2015/taiga-ui-kit-components-rating.js +6 -10
  426. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  427. package/fesm2015/taiga-ui-kit-components-select-option.js +6 -6
  428. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  429. package/fesm2015/taiga-ui-kit-components-select.js +21 -40
  430. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  431. package/fesm2015/taiga-ui-kit-components-slider.js +34 -32
  432. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  433. package/fesm2015/taiga-ui-kit-components-stepper.js +10 -8
  434. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  435. package/fesm2015/taiga-ui-kit-components-tabs.js +33 -35
  436. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  437. package/fesm2015/taiga-ui-kit-components-tag.js +10 -20
  438. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  439. package/fesm2015/taiga-ui-kit-components-text-area.js +22 -34
  440. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  441. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -11
  442. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  443. package/fesm2015/taiga-ui-kit-components-tree.js +4 -9
  444. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  445. package/fesm2015/taiga-ui-kit-constants.js +4 -3
  446. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  447. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +120 -0
  448. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -0
  449. package/fesm2015/taiga-ui-kit-directives-highlight.js +0 -1
  450. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  451. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +3 -3
  452. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  453. package/fesm2015/taiga-ui-kit-directives-present.js +3 -3
  454. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  455. package/fesm2015/taiga-ui-kit-directives-project-class.js +0 -3
  456. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  457. package/fesm2015/taiga-ui-kit-directives.js +1 -3
  458. package/fesm2015/taiga-ui-kit-directives.js.map +1 -1
  459. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +6 -6
  460. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  461. package/fesm2015/taiga-ui-kit-pipes-field-error.js +0 -2
  462. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  463. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +4 -4
  464. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  465. package/fesm2015/taiga-ui-kit-providers.js +13 -40
  466. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  467. package/fesm2015/taiga-ui-kit-tokens.js +15 -8
  468. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  469. package/fesm2015/taiga-ui-kit-utils-files.js +5 -15
  470. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  471. package/fesm2015/taiga-ui-kit-utils-format.js +2 -5
  472. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  473. package/fesm2015/taiga-ui-kit-utils-mask.js +4 -9
  474. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  475. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  476. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  477. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -5
  478. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  479. package/fesm2015/taiga-ui-kit-utils.js +0 -1
  480. package/fesm2015/taiga-ui-kit-utils.js.map +1 -1
  481. package/interfaces/index.d.ts +0 -1
  482. package/package.json +5 -5
  483. package/providers/month-formatter.provider.d.ts +0 -7
  484. package/providers/specific-dropdown-controllers.d.ts +1 -6
  485. package/tokens/calendar-date-stream.d.ts +5 -0
  486. package/tokens/index.d.ts +1 -2
  487. package/tokens/validation-errors.d.ts +1 -1
  488. package/utils/files/format-size.d.ts +1 -5
  489. package/utils/files/get-accept-array.d.ts +1 -5
  490. package/utils/format/string-hash-to-hsl.d.ts +1 -3
  491. package/utils/index.d.ts +0 -1
  492. package/utils/mask/create-auto-corrected-date-pipe.d.ts +1 -5
  493. package/utils/miscellaneous/get-precision.d.ts +1 -3
  494. package/abstract/index.d.ts +0 -1
  495. package/abstract/package.json +0 -10
  496. package/abstract/slider/slider.d.ts +0 -69
  497. package/abstract/taiga-ui-kit-abstract.d.ts +0 -5
  498. package/bundles/taiga-ui-kit-abstract.umd.js +0 -651
  499. package/bundles/taiga-ui-kit-abstract.umd.js.map +0 -1
  500. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +0 -1
  501. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +0 -107
  502. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +0 -1
  503. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +0 -643
  504. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +0 -1
  505. package/bundles/taiga-ui-kit-utils-dom.umd.js +0 -124
  506. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +0 -1
  507. package/components/combo-box/combo-box.providers.d.ts +0 -1
  508. package/components/input/input.providers.d.ts +0 -1
  509. package/components/input-copy/input-copy.providers.d.ts +0 -2
  510. package/components/input-date/input-date.providers.d.ts +0 -1
  511. package/components/input-date-range/input-date-range.providers.d.ts +0 -1
  512. package/components/input-date-time/input-date-time.providers.d.ts +0 -1
  513. package/components/input-month/input-month.providers.d.ts +0 -2
  514. package/components/input-month-range/input-month-range.providers.d.ts +0 -2
  515. package/components/input-phone/input-phone.providers.d.ts +0 -5
  516. package/components/select/select.providers.d.ts +0 -1
  517. package/components/text-area/text-area.providers.d.ts +0 -2
  518. package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -30
  519. package/directives/dropdown-context/dropdown-context.module.d.ts +0 -8
  520. package/directives/dropdown-context/index.d.ts +0 -2
  521. package/directives/dropdown-context/package.json +0 -10
  522. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.d.ts +0 -5
  523. package/directives/dropdown-hover/dropdown-hover.directive.d.ts +0 -11
  524. package/directives/dropdown-hover/dropdown-hover.module.d.ts +0 -7
  525. package/directives/dropdown-hover/index.d.ts +0 -2
  526. package/directives/dropdown-hover/package.json +0 -10
  527. package/directives/dropdown-hover/taiga-ui-kit-directives-dropdown-hover.d.ts +0 -5
  528. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +0 -46
  529. package/directives/dropdown-selection/dropdown-selection.module.d.ts +0 -8
  530. package/directives/dropdown-selection/index.d.ts +0 -2
  531. package/directives/dropdown-selection/package.json +0 -10
  532. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.d.ts +0 -5
  533. package/esm2015/abstract/index.js +0 -2
  534. package/esm2015/abstract/slider/slider.js +0 -264
  535. package/esm2015/abstract/taiga-ui-kit-abstract.js +0 -5
  536. package/esm2015/components/combo-box/combo-box.providers.js +0 -26
  537. package/esm2015/components/input/input.providers.js +0 -22
  538. package/esm2015/components/input-copy/input-copy.providers.js +0 -16
  539. package/esm2015/components/input-date/input-date.providers.js +0 -27
  540. package/esm2015/components/input-date-range/input-date-range.providers.js +0 -27
  541. package/esm2015/components/input-date-time/input-date-time.providers.js +0 -27
  542. package/esm2015/components/input-month/input-month.providers.js +0 -19
  543. package/esm2015/components/input-month-range/input-month-range.providers.js +0 -19
  544. package/esm2015/components/input-phone/input-phone.providers.js +0 -35
  545. package/esm2015/components/select/select.providers.js +0 -26
  546. package/esm2015/components/text-area/text-area.providers.js +0 -18
  547. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +0 -141
  548. package/esm2015/directives/dropdown-context/dropdown-context.module.js +0 -18
  549. package/esm2015/directives/dropdown-context/index.js +0 -3
  550. package/esm2015/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.js +0 -5
  551. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +0 -56
  552. package/esm2015/directives/dropdown-hover/dropdown-hover.module.js +0 -16
  553. package/esm2015/directives/dropdown-hover/index.js +0 -3
  554. package/esm2015/directives/dropdown-hover/taiga-ui-kit-directives-dropdown-hover.js +0 -5
  555. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +0 -252
  556. package/esm2015/directives/dropdown-selection/dropdown-selection.module.js +0 -18
  557. package/esm2015/directives/dropdown-selection/index.js +0 -3
  558. package/esm2015/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.js +0 -5
  559. package/esm2015/interfaces/bread-crumbs-item.js +0 -2
  560. package/esm2015/tokens/calendar-data-stream.js +0 -3
  561. package/esm2015/tokens/tag-status.js +0 -6
  562. package/esm2015/utils/dom/get-word-range.js +0 -53
  563. package/esm2015/utils/dom/index.js +0 -4
  564. package/esm2015/utils/dom/scroll-to-element.js +0 -23
  565. package/esm2015/utils/dom/set-range-offset.js +0 -29
  566. package/esm2015/utils/dom/taiga-ui-kit-utils-dom.js +0 -5
  567. package/fesm2015/taiga-ui-kit-abstract.js +0 -271
  568. package/fesm2015/taiga-ui-kit-abstract.js.map +0 -1
  569. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +0 -162
  570. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +0 -1
  571. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +0 -76
  572. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +0 -1
  573. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +0 -273
  574. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +0 -1
  575. package/fesm2015/taiga-ui-kit-utils-dom.js +0 -111
  576. package/fesm2015/taiga-ui-kit-utils-dom.js.map +0 -1
  577. package/interfaces/bread-crumbs-item.d.ts +0 -6
  578. package/tokens/calendar-data-stream.d.ts +0 -4
  579. package/tokens/tag-status.d.ts +0 -3
  580. package/utils/dom/get-word-range.d.ts +0 -9
  581. package/utils/dom/index.d.ts +0 -3
  582. package/utils/dom/package.json +0 -10
  583. package/utils/dom/scroll-to-element.d.ts +0 -5
  584. package/utils/dom/set-range-offset.d.ts +0 -6
  585. package/utils/dom/taiga-ui-kit-utils-dom.d.ts +0 -5
@@ -33,6 +33,7 @@ export declare class TuiInputRangeComponent extends AbstractTuiControl<[number,
33
33
  get decimal(): TuiDecimal;
34
34
  get computedSteps(): number;
35
35
  get step(): number;
36
+ computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps;
36
37
  onActiveZone(active: boolean): void;
37
38
  onTextInputFocused(focused: boolean, right: boolean): void;
38
39
  changeByStep(event: Event | KeyboardEvent, [leftCoefficient, rightCoefficient]: [number, number]): void;
@@ -23,6 +23,7 @@ export declare class TuiInputSliderComponent extends AbstractTuiControl<number>
23
23
  get computedSteps(): number;
24
24
  get precision(): number;
25
25
  get decimal(): TuiDecimal;
26
+ get showValueContent(): boolean;
26
27
  get step(): number;
27
28
  computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps;
28
29
  focusTextInput(): void;
@@ -1,7 +1,10 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { InjectionToken, ValueProvider } from '@angular/core';
2
+ import { TuiStatus } from '@taiga-ui/kit/types';
2
3
  export interface TuiInputTagOptions {
3
4
  readonly separator: string | RegExp;
4
5
  readonly uniqueTags: boolean;
6
+ readonly tagStatus: TuiStatus;
5
7
  }
6
8
  export declare const TUI_INPUT_TAG_DEFAULT_OPTIONS: TuiInputTagOptions;
7
9
  export declare const TUI_INPUT_TAG_OPTIONS: InjectionToken<TuiInputTagOptions>;
10
+ export declare function tuiInputTagOptionsProvider(options: Partial<TuiInputTagOptions>): ValueProvider;
@@ -14,7 +14,6 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
14
14
  readonly appearance: string;
15
15
  private readonly modeDirective;
16
16
  private readonly mode$;
17
- private readonly tagStatus;
18
17
  readonly hintController: TuiHintControllerDirective;
19
18
  readonly controller: TuiTextfieldController;
20
19
  private readonly options;
@@ -27,7 +26,6 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
27
26
  private readonly scrollBar?;
28
27
  private readonly scrollToStart$;
29
28
  private readonly scrollToEnd$;
30
- allowSpaces: boolean;
31
29
  separator: string | RegExp;
32
30
  search: string;
33
31
  editable: boolean;
@@ -43,7 +41,7 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
43
41
  set scrollerSetter(scroller: TuiScrollbarComponent | null);
44
42
  status$: Observable<TuiStatus>;
45
43
  open: boolean;
46
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, tuiScrollService: TuiScrollService, elementRef: ElementRef<HTMLElement>, appearance: string, modeDirective: TuiModeDirective | null, mode$: Observable<TuiBrightness | null>, tagStatus: TuiStatus, hintController: TuiHintControllerDirective, controller: TuiTextfieldController, options: TuiInputTagOptions, parentHostedDropdown?: TuiHostedDropdownComponent | undefined);
44
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, tuiScrollService: TuiScrollService, elementRef: ElementRef<HTMLElement>, appearance: string, modeDirective: TuiModeDirective | null, mode$: Observable<TuiBrightness | null>, hintController: TuiHintControllerDirective, controller: TuiTextfieldController, options: TuiInputTagOptions, parentHostedDropdown?: TuiHostedDropdownComponent | undefined);
47
45
  get nativeFocusableElement(): HTMLInputElement | null;
48
46
  get focused(): boolean;
49
47
  get size(): TuiSizeL | TuiSizeS;
@@ -82,6 +80,6 @@ export declare class TuiInputTagComponent extends AbstractTuiMultipleControl<str
82
80
  private addTag;
83
81
  private deleteLastEnabledItem;
84
82
  private focusInput;
85
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputTagComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null, null, null, null, null, { optional: true; }]>;
86
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTagComponent, "tui-input-tag", never, { "allowSpaces": "allowSpaces"; "separator": "separator"; "search": "search"; "editable": "editable"; "tagValidator": "tagValidator"; "expandable": "expandable"; "inputHidden": "inputHidden"; "uniqueTags": "uniqueTags"; "disabledItemHandler": "disabledItemHandler"; "pseudoFocusedSetter": "pseudoFocused"; }, { "searchChange": "searchChange"; }, ["datalist"], ["*"]>;
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputTagComponent, [{ optional: true; self: true; }, null, null, null, null, { optional: true; }, null, null, null, null, { optional: true; }]>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputTagComponent, "tui-input-tag", never, { "separator": "separator"; "search": "search"; "editable": "editable"; "tagValidator": "tagValidator"; "expandable": "expandable"; "inputHidden": "inputHidden"; "uniqueTags": "uniqueTags"; "disabledItemHandler": "disabledItemHandler"; "pseudoFocusedSetter": "pseudoFocused"; }, { "searchChange": "searchChange"; }, ["datalist"], ["*"]>;
87
85
  }
@@ -1,3 +1,4 @@
1
1
  export * from './line-clamp.component';
2
2
  export * from './line-clamp.module';
3
+ export * from './line-clamp-box.component';
3
4
  export * from './line-clamp-options';
@@ -0,0 +1,7 @@
1
+ import { TuiHintComponent } from '@taiga-ui/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiLineClampBoxComponent extends TuiHintComponent {
4
+ get width(): number;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampBoxComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiLineClampBoxComponent, "tui-line-clamp-box", never, {}, {}, never, never>;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { TuiPoint, TuiPositionAccessor, TuiRectAccessor } from '@taiga-ui/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiLineClampPositionDirective implements TuiPositionAccessor {
4
+ private readonly accessor;
5
+ constructor(accessor: TuiRectAccessor);
6
+ getPosition(): TuiPoint;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampPositionDirective, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiLineClampPositionDirective, "[tuiHintCustomPosition]", never, {}, {}, never>;
9
+ }
@@ -1,11 +1,13 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./line-clamp.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@tinkoff/ng-polymorpheus";
5
- import * as i4 from "@taiga-ui/core";
6
- import * as i5 from "@taiga-ui/cdk";
3
+ import * as i2 from "./line-clamp-box.component";
4
+ import * as i3 from "./line-clamp-position.directive";
5
+ import * as i4 from "@angular/common";
6
+ import * as i5 from "@tinkoff/ng-polymorpheus";
7
+ import * as i6 from "@taiga-ui/core";
8
+ import * as i7 from "@taiga-ui/cdk";
7
9
  export declare class TuiLineClampModule {
8
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiLineClampModule, never>;
9
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiLineClampModule, [typeof i1.TuiLineClampComponent], [typeof i2.CommonModule, typeof i3.PolymorpheusModule, typeof i4.TuiHintModule, typeof i5.TuiResizeModule], [typeof i1.TuiLineClampComponent]>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiLineClampModule, [typeof i1.TuiLineClampComponent, typeof i2.TuiLineClampBoxComponent, typeof i3.TuiLineClampPositionDirective], [typeof i4.CommonModule, typeof i5.PolymorpheusModule, typeof i6.TuiHintModule, typeof i7.TuiResizeModule, typeof i7.TuiLetModule], [typeof i1.TuiLineClampComponent]>;
10
12
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiLineClampModule>;
11
13
  }
@@ -1,9 +1,6 @@
1
- import { NgControl } from '@angular/forms';
2
- import { TuiDataListHost } from '@taiga-ui/core';
3
1
  import { TuiMultiSelectOptionComponent } from '@taiga-ui/kit/components/multi-select-option';
4
2
  import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
5
3
  import * as i0 from "@angular/core";
6
- export declare function hostFallbackFactory<T>(control: NgControl, host: TuiDataListHost<T> | null): TuiDataListHost<T>;
7
4
  export declare const TUI_MULTI_SELECT_OPTION: PolymorpheusComponent<TuiMultiSelectOptionComponent<unknown>, Record<any, any>>;
8
5
  export declare class TuiMultiSelectGroupDirective {
9
6
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiMultiSelectGroupDirective, never>;
@@ -4,7 +4,6 @@ import { TuiAppearance, TuiBrightness, TuiButtonComponent, TuiHorizontalDirectio
4
4
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
5
  import { Observable } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
- export declare function nonNegativeInteger(length: number): boolean;
8
7
  export declare class TuiPaginationComponent extends AbstractTuiInteractive implements TuiFocusableElementAccessor {
9
8
  private readonly elementRef;
10
9
  private readonly modeDirective;
@@ -1,7 +1,5 @@
1
1
  import { TuiSizeS } from '@taiga-ui/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare function nonNegativeInt(value: number): boolean;
4
- export declare function positiveInt(value: number): boolean;
5
3
  export declare class TuiProgressSegmentedComponent {
6
4
  value: number;
7
5
  max: number;
@@ -1,34 +1,20 @@
1
1
  import { ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
- import { TuiFocusableElementAccessor, TuiNativeFocusableElement } from '@taiga-ui/cdk';
4
- import { TuiSizeS } from '@taiga-ui/core';
5
- import { AbstractTuiSlider } from '@taiga-ui/kit/abstract';
3
+ import { AbstractTuiControl, TuiFocusableElementAccessor, TuiNativeFocusableElement } from '@taiga-ui/cdk';
4
+ import { TuiSizeS, TuiWithOptionalMinMax } from '@taiga-ui/core';
6
5
  import { TuiKeySteps } from '@taiga-ui/kit/types';
7
- import { Observable } from 'rxjs';
8
6
  import * as i0 from "@angular/core";
9
- export declare class TuiRangeComponent extends AbstractTuiSlider<[number, number]> implements TuiFocusableElementAccessor {
7
+ export declare class TuiRangeComponent extends AbstractTuiControl<[number, number]> implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor {
10
8
  private readonly elementRef;
11
9
  min: number;
12
- /**
13
- * TODO: make `100` as default value (to be like native sliders) in v3.0
14
- */
15
10
  max: number;
16
- /**
17
- * TODO: think about replacing this props by `step` (to be like native slider).
18
- * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
19
- */
20
- steps: number;
21
- /**
22
- * TODO: think about replacing this props by `step` (to be like native slider).
23
- * It can be done after removing backward compatibility code inside {@link computePureKeySteps} in v3.0
24
- * */
25
- quantum: number;
11
+ step: number;
26
12
  size: TuiSizeS;
27
13
  segments: number;
28
14
  keySteps: TuiKeySteps | null;
29
15
  slidersRefs: QueryList<ElementRef<HTMLInputElement>>;
30
16
  lastActiveThumb: 'right' | 'left';
31
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, documentRef: Document, elementRef: ElementRef<HTMLElement>, fromToTexts$: Observable<[string, string]>);
17
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>);
32
18
  get nativeFocusableElement(): TuiNativeFocusableElement | null;
33
19
  get focused(): boolean;
34
20
  get fractionStep(): number;
@@ -39,14 +25,12 @@ export declare class TuiRangeComponent extends AbstractTuiSlider<[number, number
39
25
  onFocused(focused: boolean): void;
40
26
  changeByStep(coefficient: number, target: HTMLElement): void;
41
27
  processValue(value: number, right: boolean): void;
42
- fractionGuard(fraction: number): number;
43
28
  getValueFromFraction(fraction: number): number;
44
29
  getPercentageFromValue(value: number): number;
45
- protected valueGuard(value: number): number;
46
30
  protected getFallbackValue(): [number, number];
47
31
  private computePureKeySteps;
48
32
  private updateStart;
49
33
  private updateEnd;
50
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiRangeComponent, [{ optional: true; self: true; }, null, null, null, null]>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiRangeComponent, "tui-range", never, { "min": "min"; "max": "max"; "steps": "steps"; "quantum": "quantum"; "size": "size"; "segments": "segments"; "keySteps": "keySteps"; }, {}, never, never>;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiRangeComponent, [{ optional: true; self: true; }, null, null]>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiRangeComponent, "tui-range", never, { "min": "min"; "max": "max"; "step": "step"; "size": "size"; "segments": "segments"; "keySteps": "keySteps"; }, {}, never, never>;
52
36
  }
@@ -1,5 +1,4 @@
1
1
  export * from './select.component';
2
2
  export * from './select.directive';
3
3
  export * from './select.module';
4
- export * from './select.providers';
5
4
  export * from './select-options';
@@ -8,17 +8,15 @@ export declare class TuiSliderKeyStepsDirective extends AbstractTuiControl<numbe
8
8
  private readonly elementRef;
9
9
  private readonly slider;
10
10
  keySteps: TuiKeySteps;
11
- keyStepsInput: import("rxjs").Observable<number>;
12
11
  get nativeFocusableElement(): HTMLInputElement | null;
13
12
  get focused(): boolean;
14
13
  get min(): number;
15
14
  get max(): number;
16
- get controlValue(): number;
17
15
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLInputElement>, slider: TuiSliderComponent);
18
16
  updateControlValue(): void;
19
17
  writeValue(controlValue: number | null): void;
20
18
  protected getFallbackValue(): number;
21
19
  private transformToNativeValue;
22
20
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeyStepsDirective, [{ optional: true; self: true; }, null, null, null]>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeyStepsDirective, "input[tuiSlider][keySteps]", never, { "keySteps": "keySteps"; }, { "keyStepsInput": "keyStepsInput"; }, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeyStepsDirective, "input[tuiSlider][keySteps]", never, { "keySteps": "keySteps"; }, {}, never>;
24
22
  }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef } from '@angular/core';
1
+ import { ChangeDetectorRef, ElementRef, Injector } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { TuiSizeS } from '@taiga-ui/core';
4
4
  import { TuiSliderOptions } from './slider-options';
@@ -8,6 +8,7 @@ export declare class TuiSliderComponent {
8
8
  readonly options: TuiSliderOptions;
9
9
  readonly elementRef: ElementRef<HTMLInputElement>;
10
10
  private readonly userAgent;
11
+ private readonly injector;
11
12
  size: TuiSizeS;
12
13
  segments: number;
13
14
  get min(): number;
@@ -18,7 +19,8 @@ export declare class TuiSliderComponent {
18
19
  get valuePercentage(): number;
19
20
  get segmentWidth(): number;
20
21
  get isOldEdge(): boolean;
21
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, options: TuiSliderOptions, elementRef: ElementRef<HTMLInputElement>, userAgent: string);
22
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderComponent, [{ optional: true; self: true; }, null, null, null, null]>;
22
+ get hasKeySteps(): boolean;
23
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, options: TuiSliderOptions, elementRef: ElementRef<HTMLInputElement>, userAgent: string, injector: Injector);
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderComponent, [{ optional: true; self: true; }, null, null, null, null, null]>;
23
25
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiSliderComponent, "input[type=range][tuiSlider]", never, { "size": "size"; "segments": "segments"; }, {}, never, never>;
24
26
  }
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  export declare class TuiStepComponent {
7
7
  private readonly stepper;
8
8
  private readonly elementRef;
9
- state: 'normal' | 'pass' | 'error';
9
+ stepState: 'normal' | 'pass' | 'error';
10
10
  icon: string;
11
11
  focusVisible: boolean;
12
12
  constructor(focusVisible$: TuiFocusVisibleService, routerLinkActive$: Observable<boolean>, stepper: TuiStepperComponent, elementRef: ElementRef<HTMLElement>);
@@ -16,5 +16,5 @@ export declare class TuiStepComponent {
16
16
  get index(): number;
17
17
  activate(): void;
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiStepComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiStepComponent, "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", never, { "state": "state"; "icon": "icon"; }, {}, never, ["*"]>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiStepComponent, "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", never, { "stepState": "stepState"; "icon": "icon"; }, {}, never, ["*"]>;
20
20
  }
@@ -1,8 +1,5 @@
1
- import { ElementRef, InjectionToken, Provider } from '@angular/core';
2
- import { RouterLinkActive } from '@angular/router';
3
- import { MutationObserverService } from '@ng-web-apis/mutation-observer';
1
+ import { InjectionToken, Provider } from '@angular/core';
4
2
  import { Observable } from 'rxjs';
5
3
  export declare const TUI_TAB_ACTIVATE = "tui-tab-activate";
6
4
  export declare const TUI_TAB_EVENT: InjectionToken<Observable<Event>>;
7
5
  export declare const TUI_TAB_PROVIDERS: Provider[];
8
- export declare function tabActiveFactory({ nativeElement }: ElementRef<HTMLElement>, routerLinkActiveService: Observable<boolean>, mutationObserverService: MutationObserverService | null, routerLinkActive: RouterLinkActive | null): Observable<unknown>;
@@ -24,6 +24,7 @@ export declare class TuiTabsWithMoreComponent implements AfterViewInit {
24
24
  constructor(options: TuiTabsOptions, margin: number, refresh$: Observable<unknown>, elementRef: ElementRef<HTMLElement>, changeDetectorRef: ChangeDetectorRef, moreWord$: Observable<string>);
25
25
  get tabs(): readonly HTMLElement[];
26
26
  get activeElement(): HTMLElement | null;
27
+ get isMoreAlone(): boolean;
27
28
  get isMoreVisible(): boolean;
28
29
  get isMoreFocusable(): boolean;
29
30
  get isMoreActive(): boolean;
@@ -33,7 +34,7 @@ export declare class TuiTabsWithMoreComponent implements AfterViewInit {
33
34
  onClick(index: number): void;
34
35
  onArrowRight(event: Event): void;
35
36
  onArrowLeft(): void;
36
- onWrapperArrow(event: Event, wrapper: HTMLElement, prev: boolean): void;
37
+ onWrapperArrow(event: Event, wrapper: HTMLElement, previous: boolean): void;
37
38
  isOverflown(index: number): boolean;
38
39
  shouldShow(index: number): boolean;
39
40
  private focusMore;
@@ -1,5 +1,4 @@
1
- import { ChangeDetectorRef, ElementRef, InjectionToken, Provider } from '@angular/core';
1
+ import { InjectionToken, Provider } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- export declare function tabsRefreshFactory(resize$: Observable<unknown>, mutations$: Observable<unknown>, destroy$: Observable<unknown>, { body }: Document, { nativeElement }: ElementRef<Node>, changeDetectorRef: ChangeDetectorRef): Observable<unknown>;
4
- export declare const TABS_REFRESH: InjectionToken<Observable<unknown>>;
5
- export declare const TABS_PROVIDERS: Provider[];
3
+ export declare const TUI_TABS_REFRESH: InjectionToken<Observable<unknown>>;
4
+ export declare const TUI_TABS_PROVIDERS: Provider[];
@@ -5,14 +5,12 @@ import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
5
  import { Observable } from 'rxjs';
6
6
  import { TuiTagOptions } from './tag-options';
7
7
  import * as i0 from "@angular/core";
8
- export declare const ALLOWED_SPACE_REGEXP: RegExp;
9
8
  export declare class TuiTagComponent {
10
9
  private readonly elementRef;
11
10
  readonly mode$: Observable<TuiBrightness | null>;
12
11
  private readonly options;
13
12
  value: string;
14
13
  editable: boolean;
15
- allowSpaces: boolean;
16
14
  separator: string | RegExp;
17
15
  maxLength: number | null;
18
16
  size: TuiSizeS | TuiSizeL;
@@ -42,5 +40,5 @@ export declare class TuiTagComponent {
42
40
  private stopEditing;
43
41
  private save;
44
42
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTagComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiTagComponent, "tui-tag, a[tuiTag]", never, { "value": "value"; "editable": "editable"; "allowSpaces": "allowSpaces"; "separator": "separator"; "maxLength": "maxLength"; "size": "size"; "showLoader": "showLoader"; "status": "status"; "hoverable": "hoverable"; "removable": "removable"; "disabled": "disabled"; "autoColor": "autoColor"; "leftContent": "leftContent"; }, { "edited": "edited"; }, never, never>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiTagComponent, "tui-tag, a[tuiTag]", never, { "value": "value"; "editable": "editable"; "separator": "separator"; "maxLength": "maxLength"; "size": "size"; "showLoader": "showLoader"; "status": "status"; "hoverable": "hoverable"; "removable": "removable"; "disabled": "disabled"; "autoColor": "autoColor"; "leftContent": "leftContent"; }, { "edited": "edited"; }, never, never>;
46
44
  }
@@ -1,4 +1,3 @@
1
1
  export * from './text-area.component';
2
2
  export * from './text-area.directive';
3
3
  export * from './text-area.module';
4
- export * from './text-area.providers';
@@ -1,3 +1,2 @@
1
1
  import { Provider } from '@angular/core';
2
2
  export declare const TUI_TREE_ITEM_PROVIDERS: Provider[];
3
- export declare function treeLevelFactory(level: number): number;
@@ -0,0 +1,15 @@
1
+ import { AfterViewInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TuiDataListDropdownManagerDirective implements AfterViewInit {
4
+ private readonly dropdowns;
5
+ private readonly elements;
6
+ ngAfterViewInit(): void;
7
+ private get elements$();
8
+ private get right$();
9
+ private get immediate$();
10
+ private get debounce$();
11
+ private notInDropdown;
12
+ private tryToFocus;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDataListDropdownManagerDirective, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDataListDropdownManagerDirective, "tui-data-list[tuiDataListDropdownManager]", never, {}, {}, ["dropdowns", "elements"]>;
15
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./data-list-dropdown-manager.directive";
3
+ export declare class TuiDataListDropdownManagerModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDataListDropdownManagerModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiDataListDropdownManagerModule, [typeof i1.TuiDataListDropdownManagerDirective], never, [typeof i1.TuiDataListDropdownManagerDirective]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiDataListDropdownManagerModule>;
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './data-list-dropdown-manager.directive';
2
+ export * from './data-list-dropdown-manager.module';
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js",
3
+ "module": "../../fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js",
4
+ "es2015": "../../fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js",
5
+ "esm2015": "../../esm2015/directives/data-list-dropdown-manager/taiga-ui-kit-directives-data-list-dropdown-manager.js",
6
+ "fesm2015": "../../fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js",
7
+ "typings": "taiga-ui-kit-directives-data-list-dropdown-manager.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/kit/directives/data-list-dropdown-manager"
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/kit/directives/data-list-dropdown-manager" />
5
+ export * from './index';
@@ -1,6 +1,4 @@
1
- export * from '@taiga-ui/kit/directives/dropdown-context';
2
- export * from '@taiga-ui/kit/directives/dropdown-hover';
3
- export * from '@taiga-ui/kit/directives/dropdown-selection';
1
+ export * from '@taiga-ui/kit/directives/data-list-dropdown-manager';
4
2
  export * from '@taiga-ui/kit/directives/highlight';
5
3
  export * from '@taiga-ui/kit/directives/lazy-loading';
6
4
  export * from '@taiga-ui/kit/directives/present';
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, forwardRef, HostBinding, Inject, Input, Output, ViewChild, } from '@angular/core';
3
- import { AbstractTuiInteractive, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiIsNativeFocused, } from '@taiga-ui/cdk';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, HostBinding, Inject, Input, Output, ViewChild, } from '@angular/core';
3
+ import { AbstractTuiInteractive, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiIsNativeFocused, } from '@taiga-ui/cdk';
4
4
  import { MODE_PROVIDER, TUI_MODE } from '@taiga-ui/core';
5
5
  import { TuiAccordionItemContentDirective } from './accordion-item-content.directive';
6
6
  import { TuiAccordionItemEagerContentDirective } from './accordion-item-eager-content.directive';
@@ -71,13 +71,7 @@ export class TuiAccordionItemComponent extends AbstractTuiInteractive {
71
71
  }
72
72
  }
73
73
  TuiAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAccordionItemComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_MODE }], target: i0.ɵɵFactoryTarget.Component });
74
- TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-tui-host-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [
75
- {
76
- provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
77
- useExisting: forwardRef(() => TuiAccordionItemComponent),
78
- },
79
- MODE_PROVIDER,
80
- ], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"t-header\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:focus{outline:none}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .t-wrapper:after{border-width:0}:host[data-tui-host-borders=all] .t-wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ TuiAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: { noPadding: "noPadding", showArrow: "showArrow", borders: "borders", size: "size", disabled: "disabled", disableHover: "disableHover", open: "open", async: "async" }, outputs: { openChange: "openChange" }, host: { listeners: { "$.data-mode.attr": "mode$" }, properties: { "class._no-padding": "this.noPadding", "class._has-arrow": "this.showArrow", "attr.data-tui-host-borders": "this.borders", "attr.data-size": "this.size", "class._disabled": "this.disabled" } }, providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER], queries: [{ propertyName: "eagerContent", first: true, predicate: TuiAccordionItemEagerContentDirective, descendants: true }, { propertyName: "lazyContent", first: true, predicate: TuiAccordionItemContentDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n #focusableElement\n automation-id=\"tui-accordion__item-wrapper\"\n class=\"t-wrapper\"\n [tuiFocusable]=\"computedFocusable\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (keydown.space)=\"onItemKeyDownSpace($event)\"\n (keydown.enter)=\"onItemKeyDownSpace($event)\"\n (keydown.esc)=\"onItemKeyDownEsc($event)\"\n>\n <div\n automation-id=\"tui-accordion__item-header\"\n class=\"t-header\"\n [class.t-header_open]=\"open\"\n [class.t-header_hoverable]=\"!disableHover\"\n (click)=\"onRowToggle()\"\n >\n <div\n automation-id=\"tui-accordion__item-title\"\n class=\"t-title\"\n >\n <ng-content></ng-content>\n </div>\n <tui-svg\n *ngIf=\"showArrow\"\n automation-id=\"tui-accordion__item-arrow\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_open]=\"open\"\n ></tui-svg>\n </div>\n <tui-expand\n [async]=\"async\"\n [expanded]=\"open\"\n >\n <div\n *ngIf=\"eagerContent\"\n class=\"t-content\"\n >\n <ng-content select=\"[tuiAccordionItemContent]\"></ng-content>\n </div>\n <ng-template tuiExpandContent>\n <div\n *ngIf=\"lazyContent\"\n automation-id=\"tui-accordion__item-content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"lazyContent as text\">\n {{ text }}\n </ng-container>\n </div>\n </ng-template>\n </tui-expand>\n</div>\n", styles: [":host{position:relative;display:block;overflow:hidden;border-radius:var(--tui-radius-l)}:host[data-tui-host-borders=top-bottom]{border-radius:0!important}.t-wrapper{position:relative;border-radius:inherit}.t-wrapper:focus{outline:none}.t-wrapper:after{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";box-sizing:border-box;border-radius:inherit;border:1px solid var(--tui-base-04);pointer-events:none}:host:not([data-tui-host-borders]) .t-wrapper:after{border-width:0}:host[data-tui-host-borders=all] .t-wrapper:after{border-width:1px}:host[data-tui-host-borders=top-bottom] .t-wrapper:after{border-left-width:0;border-right-width:0}:host[data-tui-host-borders=top] .t-wrapper:after{border-left-width:0;border-right-width:0;border-bottom-width:0}:host[data-tui-host-borders=bottom] .t-wrapper:after{border-left-width:0;border-right-width:0;border-top-width:0}:host[data-mode=onDark] .t-wrapper:after{border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-wrapper:after{border-color:var(--tui-text-01)}:host._focus-visible .t-wrapper:after{border:2px solid var(--tui-focus)}:host:not([data-mode]) .t-wrapper{background:var(--tui-base-01)}.t-header{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;font:var(--tui-font-text-l);align-items:center;box-sizing:border-box;border-bottom:1px solid var(--tui-base-04);min-height:var(--tui-height-l);padding:.75rem 1.25rem;color:var(--tui-text-01);cursor:pointer}:host[data-mode=onDark] .t-header{color:var(--tui-text-01-night);border-color:var(--tui-base-03)}:host[data-mode=onLight] .t-header{border-color:var(--tui-text-01)}:host:not([data-tui-host-borders]) .t-header{border-bottom-width:0;box-shadow:none}:host._has-arrow .t-header{padding-right:.75rem}:host[data-mode=onDark] .t-header_open{background:var(--tui-clear-inverse)}:host[data-mode=onLight] .t-header_open{background:var(--tui-clear)}:host[data-size=s] .t-header{font:var(--tui-font-text-m);min-height:var(--tui-height-m);padding:.625rem .75rem .625rem 1rem}:host._no-padding .t-header{padding-left:0;padding-right:0}:host._disabled .t-header{cursor:default}:host:hover:not([data-mode]) .t-header_hoverable{background:var(--tui-base-02)}:host:hover[data-mode=onDark] .t-header_hoverable{background:var(--tui-clear-inverse)}:host:hover[data-mode=onLight] .t-header_hoverable{background:var(--tui-clear)}.t-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:0;flex-grow:1}:host._has-arrow .t-title{margin-right:.5rem}.t-icon{transition-property:transform,color;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1.5rem;height:1.5rem;margin-left:auto;color:var(--tui-base-06)}.t-icon_open{transform:rotate(180deg)}:host[data-mode] .t-icon{opacity:var(--tui-disabled-opacity)}:host:hover[data-mode] .t-icon{opacity:.8}:host[data-mode=onDark] .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight] .t-icon{color:var(--tui-text-01)}:host:hover:not([data-mode]) .t-icon{color:var(--tui-base-07)}.t-content{font:var(--tui-font-text-m);padding:1.25rem;word-wrap:break-word}:host[data-size=s] .t-content{font:var(--tui-font-text-s);padding:1rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i2.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i2.TuiFocusedDirective, selector: "[tuiFocusedChange]", outputs: ["tuiFocusedChange"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
75
  __decorate([
82
76
  tuiDefaultProp()
83
77
  ], TuiAccordionItemComponent.prototype, "noPadding", void 0);
@@ -109,13 +103,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
109
103
  templateUrl: `./accordion-item.template.html`,
110
104
  styleUrls: [`./accordion-item.style.less`],
111
105
  changeDetection: ChangeDetectionStrategy.OnPush,
112
- providers: [
113
- {
114
- provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
115
- useExisting: forwardRef(() => TuiAccordionItemComponent),
116
- },
117
- MODE_PROVIDER,
118
- ],
106
+ providers: [tuiAsFocusableItemAccessor(TuiAccordionItemComponent), MODE_PROVIDER],
119
107
  host: {
120
108
  '($.data-mode.attr)': `mode$`,
121
109
  },
@@ -169,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
169
157
  type: ContentChild,
170
158
  args: [TuiAccordionItemContentDirective]
171
159
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQixjQUFjLEVBRWQsa0JBQWtCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBR2hGLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7O0FBa0IvRixNQUFNLE9BQU8seUJBQ1QsU0FBUSxzQkFBc0I7SUFvRDlCLFlBQ2dELGlCQUFvQyxFQUNyRCxLQUF1QztRQUVsRSxLQUFLLEVBQUUsQ0FBQztRQUhvQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3JELFVBQUssR0FBTCxLQUFLLENBQWtDO1FBN0N0RSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBS2xCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFLakIsWUFBTyxHQUFnQyxLQUFLLENBQUM7UUFLN0MsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUtyQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBSXJCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFJYixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR0wsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFhbEQsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0I7WUFDMUMsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxZQUFxQjtRQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFZO1FBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7O3VIQWxIUSx5QkFBeUIsa0JBc0R0QixpQkFBaUIsYUFDakIsUUFBUTsyR0F2RFgseUJBQXlCLHdnQkFYdkI7UUFDUDtZQUNJLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztTQUMzRDtRQUNELGFBQWE7S0FDaEIsb0VBb0RhLHFDQUFxQyw4RUFHckMsZ0NBQWdDLDZMQzlGbEQsc3REQXVEQTtBRERJO0lBREMsY0FBYyxFQUFFOzREQUNDO0FBS2xCO0lBREMsY0FBYyxFQUFFOzREQUNBO0FBS2pCO0lBREMsY0FBYyxFQUFFOzBEQUM0QjtBQUs3QztJQURDLGNBQWMsRUFBRTt1REFDSTtBQUtyQjtJQURDLGNBQWMsRUFBRTsyREFDQTtBQUlqQjtJQURDLGNBQWMsRUFBRTsrREFDSTtBQUlyQjtJQURDLGNBQWMsRUFBRTt1REFDSjtBQUliO0lBREMsY0FBYyxFQUFFO3dEQUNIOzRGQTFDTCx5QkFBeUI7a0JBaEJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSwyQkFBMkI7NEJBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDO3lCQUMzRDt3QkFDRCxhQUFhO3FCQUNoQjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztxQkFDaEM7aUJBQ0o7OzBCQXVEUSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsUUFBUTs0Q0FsREgsZ0JBQWdCO3NCQURoQyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFNN0IsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFPaEMsU0FBUztzQkFIUixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGtCQUFrQjtnQkFPL0IsT0FBTztzQkFITixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFPekMsSUFBSTtzQkFISCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGdCQUFnQjtnQkFPN0IsUUFBUTtzQkFIUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsWUFBWTtzQkFGWCxLQUFLO2dCQU1OLElBQUk7c0JBRkgsS0FBSztnQkFNTixLQUFLO3NCQUZKLEtBQUs7Z0JBS0csVUFBVTtzQkFEbEIsTUFBTTtnQkFJRSxZQUFZO3NCQURwQixZQUFZO3VCQUFDLHFDQUFxQztnQkFJMUMsV0FBVztzQkFEbkIsWUFBWTt1QkFBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpSW50ZXJhY3RpdmUsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge01PREVfUFJPVklERVIsIFRVSV9NT0RFLCBUdWlCcmlnaHRuZXNzLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZX0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tZWFnZXItY29udGVudC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1hY2NvcmRpb24taXRlbWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2FjY29yZGlvbi1pdGVtLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2FjY29yZGlvbi1pdGVtLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiBgbW9kZSRgLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFjY29yZGlvbkl0ZW1Db21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW50ZXJhY3RpdmVcbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoYGZvY3VzYWJsZUVsZW1lbnRgKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9jdXNhYmxlRWxlbWVudD86IEVsZW1lbnRSZWY8VHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudD47XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX25vLXBhZGRpbmdgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbm9QYWRkaW5nID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2hhcy1hcnJvd2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaG93QXJyb3cgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS10dWktaG9zdC1ib3JkZXJzYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGJvcmRlcnM6ICdhbGwnIHwgJ3RvcC1ib3R0b20nIHwgbnVsbCA9IGBhbGxgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gYG1gO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9kaXNhYmxlZGApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVIb3ZlciA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhc3luYyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpQWNjb3JkaW9uSXRlbUVhZ2VyQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBlYWdlckNvbnRlbnQ/OiBUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtQ29udGVudERpcmVjdGl2ZSlcbiAgICByZWFkb25seSBsYXp5Q29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCB8fCAhdGhpcy5mb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5mb2N1c2FibGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWQodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25Gb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNWaXNpYmxlKGZvY3VzVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgb25Sb3dUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtS2V5RG93bkVzYyhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvY3VzZWQgfHwgIXRoaXMub3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgfVxuXG4gICAgb25JdGVtS2V5RG93blNwYWNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5vblJvd1RvZ2dsZSgpO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oZmFsc2UpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlT3BlbihvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm9wZW4gPT09IG9wZW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIHRoaXMub3BlbkNoYW5nZS5lbWl0KG9wZW4pO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXdyYXBwZXJcIlxuICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICBbdHVpRm9jdXNhYmxlXT1cImNvbXB1dGVkRm9jdXNhYmxlXCJcbiAgICAodHVpRm9jdXNWaXNpYmxlQ2hhbmdlKT1cIm9uRm9jdXNWaXNpYmxlKCRldmVudClcIlxuICAgICh0dWlGb2N1c2VkQ2hhbmdlKT1cIm9uRm9jdXNlZCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkl0ZW1LZXlEb3duU3BhY2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25JdGVtS2V5RG93blNwYWNlKCRldmVudClcIlxuICAgIChrZXlkb3duLmVzYyk9XCJvbkl0ZW1LZXlEb3duRXNjKCRldmVudClcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0taGVhZGVyXCJcbiAgICAgICAgY2xhc3M9XCJ0LWhlYWRlclwiXG4gICAgICAgIFtjbGFzcy50LWhlYWRlcl9vcGVuXT1cIm9wZW5cIlxuICAgICAgICBbY2xhc3MudC1oZWFkZXJfaG92ZXJhYmxlXT1cIiFkaXNhYmxlSG92ZXJcIlxuICAgICAgICAoY2xpY2spPVwib25Sb3dUb2dnbGUoKVwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS10aXRsZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgKm5nSWY9XCJzaG93QXJyb3dcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0tYXJyb3dcIlxuICAgICAgICAgICAgc3JjPVwidHVpSWNvbkNoZXZyb25Eb3duTGFyZ2VcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgW2NsYXNzLnQtaWNvbl9vcGVuXT1cIm9wZW5cIlxuICAgICAgICA+PC90dWktc3ZnPlxuICAgIDwvZGl2PlxuICAgIDx0dWktZXhwYW5kXG4gICAgICAgIFthc3luY109XCJhc3luY1wiXG4gICAgICAgIFtleHBhbmRlZF09XCJvcGVuXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiZWFnZXJDb250ZW50XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aUFjY29yZGlvbkl0ZW1Db250ZW50XVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSB0dWlFeHBhbmRDb250ZW50PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwibGF6eUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdHVpLWV4cGFuZD5cbjwvZGl2PlxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGNBQWMsRUFFZCxrQkFBa0IsR0FFckIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGFBQWEsRUFBRSxRQUFRLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFHaEYsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFZL0YsTUFBTSxPQUFPLHlCQUNULFNBQVEsc0JBQXNCO0lBb0Q5QixZQUNnRCxpQkFBb0MsRUFDckQsS0FBdUM7UUFFbEUsS0FBSyxFQUFFLENBQUM7UUFIb0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNyRCxVQUFLLEdBQUwsS0FBSyxDQUFrQztRQTdDdEUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUtsQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBS2pCLFlBQU8sR0FBZ0MsS0FBSyxDQUFDO1FBSzdDLFNBQUksR0FBYSxHQUFHLENBQUM7UUFLckIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUlyQixTQUFJLEdBQUcsS0FBSyxDQUFDO1FBSWIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUdMLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBYWxELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO1lBQzFDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsWUFBcUI7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBWTtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUNwQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOzt1SEFsSFEseUJBQXlCLGtCQXNEdEIsaUJBQWlCLGFBQ2pCLFFBQVE7MkdBdkRYLHlCQUF5Qix3Z0JBTHZCLENBQUMsMEJBQTBCLENBQUMseUJBQXlCLENBQUMsRUFBRSxhQUFhLENBQUMsb0VBb0RuRSxxQ0FBcUMsOEVBR3JDLGdDQUFnQyw2TEN2RmxELHN0REF1REE7QURSSTtJQURDLGNBQWMsRUFBRTs0REFDQztBQUtsQjtJQURDLGNBQWMsRUFBRTs0REFDQTtBQUtqQjtJQURDLGNBQWMsRUFBRTswREFDNEI7QUFLN0M7SUFEQyxjQUFjLEVBQUU7dURBQ0k7QUFLckI7SUFEQyxjQUFjLEVBQUU7MkRBQ0E7QUFJakI7SUFEQyxjQUFjLEVBQUU7K0RBQ0k7QUFJckI7SUFEQyxjQUFjLEVBQUU7dURBQ0o7QUFJYjtJQURDLGNBQWMsRUFBRTt3REFDSDs0RkExQ0wseUJBQXlCO2tCQVZyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsMEJBQTBCLDJCQUEyQixFQUFFLGFBQWEsQ0FBQztvQkFDakYsSUFBSSxFQUFFO3dCQUNGLG9CQUFvQixFQUFFLE9BQU87cUJBQ2hDO2lCQUNKOzswQkF1RFEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLFFBQVE7NENBbERILGdCQUFnQjtzQkFEaEMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBTTdCLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBT2hDLFNBQVM7c0JBSFIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTy9CLE9BQU87c0JBSE4sS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBT3pDLElBQUk7c0JBSEgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTzdCLFFBQVE7c0JBSFAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLFlBQVk7c0JBRlgsS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7Z0JBTU4sS0FBSztzQkFGSixLQUFLO2dCQUtHLFVBQVU7c0JBRGxCLE1BQU07Z0JBSUUsWUFBWTtzQkFEcEIsWUFBWTt1QkFBQyxxQ0FBcUM7Z0JBSTFDLFdBQVc7c0JBRG5CLFlBQVk7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZSxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIFR1aU5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtNT0RFX1BST1ZJREVSLCBUVUlfTU9ERSwgVHVpQnJpZ2h0bmVzcywgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmV9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlfSBmcm9tICcuL2FjY29yZGlvbi1pdGVtLWVhZ2VyLWNvbnRlbnQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktYWNjb3JkaW9uLWl0ZW1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9hY2NvcmRpb24taXRlbS50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9hY2NvcmRpb24taXRlbS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudCksIE1PREVfUFJPVklERVJdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6IGBtb2RlJGAsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChgZm9jdXNhYmxlRWxlbWVudGApXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2FibGVFbGVtZW50PzogRWxlbWVudFJlZjxUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fbm8tcGFkZGluZ2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBub1BhZGRpbmcgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faGFzLWFycm93YClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNob3dBcnJvdyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXR1aS1ob3N0LWJvcmRlcnNgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYm9yZGVyczogJ2FsbCcgfCAndG9wLWJvdHRvbScgfCBudWxsID0gYGFsbGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSBgbWA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2Rpc2FibGVkYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZUhvdmVyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFzeW5jID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBvcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlBY2NvcmRpb25JdGVtRWFnZXJDb250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGVhZ2VyQ29udGVudD86IFR1aUFjY29yZGlvbkl0ZW1FYWdlckNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aUFjY29yZGlvbkl0ZW1Db250ZW50RGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IGxhenlDb250ZW50PzogVHVpQWNjb3JkaW9uSXRlbUNvbnRlbnREaXJlY3RpdmU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX01PREUpIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLmZvY3VzYWJsZUVsZW1lbnRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzVmlzaWJsZShmb2N1c1Zpc2libGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c1Zpc2libGUoZm9jdXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICBvblJvd1RvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duRXNjKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy51cGRhdGVPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkl0ZW1LZXlEb3duU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uUm93VG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlT3BlbihmYWxzZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVPcGVuKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbiA9PT0gb3Blbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy5vcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0td3JhcHBlclwiXG4gICAgY2xhc3M9XCJ0LXdyYXBwZXJcIlxuICAgIFt0dWlGb2N1c2FibGVdPVwiY29tcHV0ZWRGb2N1c2FibGVcIlxuICAgICh0dWlGb2N1c1Zpc2libGVDaGFuZ2UpPVwib25Gb2N1c1Zpc2libGUoJGV2ZW50KVwiXG4gICAgKHR1aUZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuICAgIChrZXlkb3duLnNwYWNlKT1cIm9uSXRlbUtleURvd25TcGFjZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkl0ZW1LZXlEb3duU3BhY2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uZXNjKT1cIm9uSXRlbUtleURvd25Fc2MoJGV2ZW50KVwiXG4+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1oZWFkZXJcIlxuICAgICAgICBjbGFzcz1cInQtaGVhZGVyXCJcbiAgICAgICAgW2NsYXNzLnQtaGVhZGVyX29wZW5dPVwib3BlblwiXG4gICAgICAgIFtjbGFzcy50LWhlYWRlcl9ob3ZlcmFibGVdPVwiIWRpc2FibGVIb3ZlclwiXG4gICAgICAgIChjbGljayk9XCJvblJvd1RvZ2dsZSgpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktYWNjb3JkaW9uX19pdGVtLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10aXRsZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAqbmdJZj1cInNob3dBcnJvd1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9faXRlbS1hcnJvd1wiXG4gICAgICAgICAgICBzcmM9XCJ0dWlJY29uQ2hldnJvbkRvd25MYXJnZVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICBbY2xhc3MudC1pY29uX29wZW5dPVwib3BlblwiXG4gICAgICAgID48L3R1aS1zdmc+XG4gICAgPC9kaXY+XG4gICAgPHR1aS1leHBhbmRcbiAgICAgICAgW2FzeW5jXT1cImFzeW5jXCJcbiAgICAgICAgW2V4cGFuZGVkXT1cIm9wZW5cIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJlYWdlckNvbnRlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbdHVpQWNjb3JkaW9uSXRlbUNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUV4cGFuZENvbnRlbnQ+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJsYXp5Q29udGVudFwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1hY2NvcmRpb25fX2l0ZW0tY29udGVudFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImxhenlDb250ZW50IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC90dWktZXhwYW5kPlxuPC9kaXY+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
3
- import { EMPTY_QUERY, isPresent, itemsQueryListObservable, tuiDefaultProp, TuiDestroyService, } from '@taiga-ui/cdk';
3
+ import { EMPTY_QUERY, tuiDefaultProp, TuiDestroyService, tuiIsPresent, tuiItemsQueryListObservable, } from '@taiga-ui/cdk';
4
4
  import { identity, merge } from 'rxjs';
5
5
  import { filter, map, mapTo, pairwise, switchMap, takeUntil } from 'rxjs/operators';
6
6
  import { TuiAccordionItemComponent } from './accordion-item/accordion-item.component';
@@ -16,8 +16,8 @@ export class TuiAccordionComponent {
16
16
  }
17
17
  ngAfterContentInit() {
18
18
  const { accordionItems } = this;
19
- const rows$ = itemsQueryListObservable(accordionItems);
20
- const newOpenRow$ = rows$.pipe(pairwise(), map(([previous, current]) => current.find(item => !previous.includes(item) && item.open)), filter(isPresent));
19
+ const rows$ = tuiItemsQueryListObservable(accordionItems);
20
+ const newOpenRow$ = rows$.pipe(pairwise(), map(([previous, current]) => current.find(item => !previous.includes(item) && item.open)), filter(tuiIsPresent));
21
21
  const rowsOpen$ = merge(rows$.pipe(switchMap(rows => merge(...rows.map(row => row.openChange.pipe(filter(identity), mapTo(row)))))), newOpenRow$).pipe(filter(() => this.closeOthers), takeUntil(this.destroy$));
22
22
  rowsOpen$.subscribe(currentRow => {
23
23
  accordionItems.forEach(row => {
@@ -29,7 +29,7 @@ export class TuiAccordionComponent {
29
29
  }
30
30
  }
31
31
  TuiAccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAccordionComponent, deps: [{ token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Component });
32
- TuiAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionComponent, selector: "tui-accordion", inputs: { closeOthers: "closeOthers", rounded: "rounded" }, providers: [TuiDestroyService], queries: [{ propertyName: "accordionItems", predicate: TuiAccordionItemComponent }], ngImport: i0, template: "<!--TODO: Unnecessary nesting, probably accordion can be a directive-->\n<div\n tuiGroup\n automation-id=\"tui-accordion__group\"\n orientation=\"vertical\"\n size=\"l\"\n class=\"group\"\n [collapsed]=\"true\"\n [rounded]=\"rounded\"\n>\n <ng-content select=\"tui-accordion-item\"></ng-content>\n</div>\n", styles: [":host{display:block}.group{display:flex}\n"], directives: [{ type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ TuiAccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAccordionComponent, selector: "tui-accordion", inputs: { closeOthers: "closeOthers", rounded: "rounded" }, providers: [TuiDestroyService], queries: [{ propertyName: "accordionItems", predicate: TuiAccordionItemComponent }], ngImport: i0, template: "<!--TODO: Unnecessary nesting, probably accordion can be a directive-->\n<div\n tuiGroup\n automation-id=\"tui-accordion__group\"\n orientation=\"vertical\"\n size=\"l\"\n class=\"t-group\"\n [collapsed]=\"true\"\n [rounded]=\"rounded\"\n>\n <ng-content select=\"tui-accordion-item\"></ng-content>\n</div>\n", styles: [":host{display:block}.t-group{display:flex}\n"], directives: [{ type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
33
  __decorate([
34
34
  tuiDefaultProp()
35
35
  ], TuiAccordionComponent.prototype, "closeOthers", void 0);
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
56
56
  type: ContentChildren,
57
57
  args: [TuiAccordionItemComponent]
58
58
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQVNwRixNQUFNLE9BQU8scUJBQXFCO0lBWTlCLFlBRXFCLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBWGhELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHTixtQkFBYyxHQUF5QyxXQUFXLENBQUM7SUFLekUsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxLQUFLLEdBQUcsd0JBQXdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdkQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDMUIsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDOUQsRUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQ3BCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQ25CLEtBQUssQ0FBQyxJQUFJLENBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsS0FBSyxDQUNELEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEQsQ0FDSixDQUNKLENBQ0osRUFDRCxXQUFXLENBQ2QsQ0FBQyxJQUFJLENBQ0YsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQztRQUVGLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFO29CQUNwQixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2Y7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBbERRLHFCQUFxQixrQkFhbEIsaUJBQWlCO3VHQWJwQixxQkFBcUIsb0dBRm5CLENBQUMsaUJBQWlCLENBQUMseURBV2IseUJBQXlCLDZCQ3JDOUMsMlVBWUE7QURtQkk7SUFEQyxjQUFjLEVBQUU7MERBQ0U7QUFJbkI7SUFEQyxjQUFjLEVBQUU7c0RBQ0Y7NEZBUE4scUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBY1EsTUFBTTsyQkFBQyxpQkFBaUI7NENBVjdCLFdBQVc7c0JBRlYsS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBS0csY0FBYztzQkFEdEIsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNQcmVzZW50LFxuICAgIGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2lkZW50aXR5LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1hY2NvcmRpb25gLFxuICAgIHN0eWxlVXJsczogW2AuL2FjY29yZGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgdGVtcGxhdGVVcmw6IGBhY2NvcmRpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW1zOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHthY2NvcmRpb25JdGVtc30gPSB0aGlzO1xuICAgICAgICBjb25zdCByb3dzJCA9IGl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZShhY2NvcmRpb25JdGVtcyk7XG4gICAgICAgIGNvbnN0IG5ld09wZW5Sb3ckID0gcm93cyQucGlwZShcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+XG4gICAgICAgICAgICAgICAgY3VycmVudC5maW5kKGl0ZW0gPT4gIXByZXZpb3VzLmluY2x1ZGVzKGl0ZW0pICYmIGl0ZW0ub3BlbiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvd3NPcGVuJCA9IG1lcmdlKFxuICAgICAgICAgICAgcm93cyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocm93cyA9PlxuICAgICAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJvd3MubWFwKHJvdyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5vcGVuQ2hhbmdlLnBpcGUoZmlsdGVyKGlkZW50aXR5KSwgbWFwVG8ocm93KSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbmV3T3BlblJvdyQsXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmNsb3NlT3RoZXJzKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgKTtcblxuICAgICAgICByb3dzT3BlbiQuc3Vic2NyaWJlKGN1cnJlbnRSb3cgPT4ge1xuICAgICAgICAgICAgYWNjb3JkaW9uSXRlbXMuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Um93ICE9PSByb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgcm93LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjwhLS1UT0RPOiBVbm5lY2Vzc2FyeSBuZXN0aW5nLCBwcm9iYWJseSBhY2NvcmRpb24gY2FuIGJlIGEgZGlyZWN0aXZlLS0+XG48ZGl2XG4gICAgdHVpR3JvdXBcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9fZ3JvdXBcIlxuICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgIHNpemU9XCJsXCJcbiAgICBjbGFzcz1cImdyb3VwXCJcbiAgICBbY29sbGFwc2VkXT1cInRydWVcIlxuICAgIFtyb3VuZGVkXT1cInJvdW5kZWRcIlxuPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1hY2NvcmRpb24taXRlbVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLDJCQUEyQixHQUM5QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQVNwRixNQUFNLE9BQU8scUJBQXFCO0lBWTlCLFlBRXFCLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBWGhELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBSW5CLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFHTixtQkFBYyxHQUF5QyxXQUFXLENBQUM7SUFLekUsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLE1BQU0sRUFBQyxjQUFjLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxLQUFLLEdBQUcsMkJBQTJCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDMUIsUUFBUSxFQUFFLEVBQ1YsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDOUQsRUFDRCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQ3ZCLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQ25CLEtBQUssQ0FBQyxJQUFJLENBQ04sU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2IsS0FBSyxDQUNELEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNkLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDcEQsQ0FDSixDQUNKLENBQ0osRUFDRCxXQUFXLENBQ2QsQ0FBQyxJQUFJLENBQ0YsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDM0IsQ0FBQztRQUVGLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDN0IsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDekIsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFO29CQUNwQixHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2Y7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBbERRLHFCQUFxQixrQkFhbEIsaUJBQWlCO3VHQWJwQixxQkFBcUIsb0dBRm5CLENBQUMsaUJBQWlCLENBQUMseURBV2IseUJBQXlCLDZCQ3JDOUMsNlVBWUE7QURtQkk7SUFEQyxjQUFjLEVBQUU7MERBQ0U7QUFJbkI7SUFEQyxjQUFjLEVBQUU7c0RBQ0Y7NEZBUE4scUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixTQUFTLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckMsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBY1EsTUFBTTsyQkFBQyxpQkFBaUI7NENBVjdCLFdBQVc7c0JBRlYsS0FBSztnQkFNTixPQUFPO3NCQUZOLEtBQUs7Z0JBS0csY0FBYztzQkFEdEIsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2lkZW50aXR5LCBtZXJnZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudH0gZnJvbSAnLi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1hY2NvcmRpb25gLFxuICAgIHN0eWxlVXJsczogW2AuL2FjY29yZGlvbi5zdHlsZS5sZXNzYF0sXG4gICAgdGVtcGxhdGVVcmw6IGBhY2NvcmRpb24udGVtcGxhdGUuaHRtbGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpRGVzdHJveVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBY2NvcmRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2xvc2VPdGhlcnMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHJvdW5kZWQgPSB0cnVlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlBY2NvcmRpb25JdGVtQ29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGFjY29yZGlvbkl0ZW1zOiBRdWVyeUxpc3Q8VHVpQWNjb3JkaW9uSXRlbUNvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHthY2NvcmRpb25JdGVtc30gPSB0aGlzO1xuICAgICAgICBjb25zdCByb3dzJCA9IHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZShhY2NvcmRpb25JdGVtcyk7XG4gICAgICAgIGNvbnN0IG5ld09wZW5Sb3ckID0gcm93cyQucGlwZShcbiAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICBtYXAoKFtwcmV2aW91cywgY3VycmVudF0pID0+XG4gICAgICAgICAgICAgICAgY3VycmVudC5maW5kKGl0ZW0gPT4gIXByZXZpb3VzLmluY2x1ZGVzKGl0ZW0pICYmIGl0ZW0ub3BlbiksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJvd3NPcGVuJCA9IG1lcmdlKFxuICAgICAgICAgICAgcm93cyQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocm93cyA9PlxuICAgICAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnJvd3MubWFwKHJvdyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdy5vcGVuQ2hhbmdlLnBpcGUoZmlsdGVyKGlkZW50aXR5KSwgbWFwVG8ocm93KSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbmV3T3BlblJvdyQsXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmNsb3NlT3RoZXJzKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgKTtcblxuICAgICAgICByb3dzT3BlbiQuc3Vic2NyaWJlKGN1cnJlbnRSb3cgPT4ge1xuICAgICAgICAgICAgYWNjb3JkaW9uSXRlbXMuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50Um93ICE9PSByb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgcm93LmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjwhLS1UT0RPOiBVbm5lY2Vzc2FyeSBuZXN0aW5nLCBwcm9iYWJseSBhY2NvcmRpb24gY2FuIGJlIGEgZGlyZWN0aXZlLS0+XG48ZGl2XG4gICAgdHVpR3JvdXBcbiAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWFjY29yZGlvbl9fZ3JvdXBcIlxuICAgIG9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgIHNpemU9XCJsXCJcbiAgICBjbGFzcz1cInQtZ3JvdXBcIlxuICAgIFtjb2xsYXBzZWRdPVwidHJ1ZVwiXG4gICAgW3JvdW5kZWRdPVwicm91bmRlZFwiXG4+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpLWFjY29yZGlvbi1pdGVtXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=