@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
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { EMPTY_QUERY, getOriginalArrayFromQueryList, isPresent, itemsQueryListObservable, TUI_DEFAULT_IDENTITY_MATCHER, tuiControlValue, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
5
- import { sizeBigger, TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiOptionComponent, } from '@taiga-ui/core';
4
+ import { EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER, tuiControlValue, tuiDefaultProp, tuiGetOriginalArrayFromQueryList, tuiIsPresent, tuiItemsQueryListObservable, tuiPure, } from '@taiga-ui/cdk';
5
+ import { TUI_DATA_LIST_HOST, tuiAsOptionContent, TuiOptionComponent, tuiSizeBigger, } from '@taiga-ui/core';
6
6
  import { combineLatest } from 'rxjs';
7
7
  import { map } from 'rxjs/operators';
8
8
  import * as i0 from "@angular/core";
@@ -22,13 +22,13 @@ export class TuiMultiSelectGroupComponent {
22
22
  return ((_a = this.options.first) === null || _a === void 0 ? void 0 : _a.size) || `m`;
23
23
  }
24
24
  get checkboxSize() {
25
- return this.options.first && sizeBigger(this.options.first.size) ? `l` : `m`;
25
+ return this.options.first && tuiSizeBigger(this.options.first.size) ? `l` : `m`;
26
26
  }
27
27
  get empty$() {
28
- return itemsQueryListObservable(this.options).pipe(map(({ length }) => !length));
28
+ return tuiItemsQueryListObservable(this.options).pipe(map(({ length }) => !length));
29
29
  }
30
30
  get disabled$() {
31
- return itemsQueryListObservable(this.options).pipe(map(items => items.every(({ disabled }) => disabled)));
31
+ return tuiItemsQueryListObservable(this.options).pipe(map(items => items.every(({ disabled }) => disabled)));
32
32
  }
33
33
  get value$() {
34
34
  return combineLatest(this.items$, this.valueChanges$).pipe(map(([items, current]) => {
@@ -53,28 +53,23 @@ export class TuiMultiSelectGroupComponent {
53
53
  this.control.control.setValue(checked ? filtered : [...filtered, ...values]);
54
54
  }
55
55
  get values() {
56
- return this.filter(getOriginalArrayFromQueryList(this.options));
56
+ return this.filter(tuiGetOriginalArrayFromQueryList(this.options));
57
57
  }
58
58
  get matcher() {
59
59
  return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;
60
60
  }
61
61
  get items$() {
62
- return itemsQueryListObservable(this.options).pipe(map(options => options.map(({ value }) => value).filter(isPresent)));
62
+ return tuiItemsQueryListObservable(this.options).pipe(map(options => options.map(({ value }) => value).filter(tuiIsPresent)));
63
63
  }
64
64
  get valueChanges$() {
65
65
  return tuiControlValue(this.control).pipe(map(value => value || []));
66
66
  }
67
67
  filter(items) {
68
- return items.map(({ value }) => value).filter(isPresent);
68
+ return items.map(({ value }) => value).filter(tuiIsPresent);
69
69
  }
70
70
  }
71
71
  TuiMultiSelectGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [{ token: TUI_DATA_LIST_HOST }, { token: NgControl }], target: i0.ɵɵFactoryTarget.Component });
72
- TuiMultiSelectGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, queries: [{ propertyName: "options", predicate: TuiOptionComponent }], ngImport: i0, template: "<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:column}:host:before{content:\"\"}.t-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}.t-checkbox{margin-right:.75rem}\n"], components: [{ type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i1.TuiPrimitiveCheckboxComponent, selector: "tui-primitive-checkbox", inputs: ["size", "disabled", "focused", "hovered", "pressed", "invalid", "value"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, viewProviders: [
73
- {
74
- provide: TUI_OPTION_CONTENT,
75
- useValue: null,
76
- },
77
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ TuiMultiSelectGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: "label" }, queries: [{ propertyName: "options", predicate: TuiOptionComponent }], ngImport: i0, template: "<ng-container *tuiLet=\"value$ | async as value\">\n <button\n *ngIf=\"label && !(empty$ | async)\"\n tuiOption\n [size]=\"size\"\n [disabled]=\"!!(disabled$ | async)\"\n (click)=\"onClick(value)\"\n >\n <tui-primitive-checkbox\n class=\"t-checkbox\"\n [size]=\"checkboxSize\"\n [value]=\"value\"\n ></tui-primitive-checkbox>\n <span class=\"t-label\">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n", styles: [":host{display:flex;flex-direction:column}:host:before{content:\"\"}.t-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}.t-checkbox{margin-right:.75rem}\n"], components: [{ type: i1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i1.TuiPrimitiveCheckboxComponent, selector: "tui-primitive-checkbox", inputs: ["size", "disabled", "focused", "hovered", "pressed", "invalid", "value"] }], directives: [{ type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, viewProviders: [tuiAsOptionContent(null)], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
73
  __decorate([
79
74
  tuiDefaultProp()
80
75
  ], TuiMultiSelectGroupComponent.prototype, "label", void 0);
@@ -103,12 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
103
98
  templateUrl: `./multi-select-group.template.html`,
104
99
  styleUrls: [`./multi-select-group.style.less`],
105
100
  changeDetection: ChangeDetectionStrategy.OnPush,
106
- viewProviders: [
107
- {
108
- provide: TUI_OPTION_CONTENT,
109
- useValue: null,
110
- },
111
- ],
101
+ viewProviders: [tuiAsOptionContent(null)],
112
102
  }]
113
103
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
114
104
  type: Inject,
@@ -122,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
122
112
  }], label: [{
123
113
  type: Input
124
114
  }], empty$: [], disabled$: [], value$: [], items$: [], valueChanges$: [], filter: [] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLDZCQUE2QixFQUM3QixTQUFTLEVBQ1Qsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsY0FBYyxFQUVkLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixrQkFBa0IsRUFFbEIsa0JBQWtCLEdBR3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQWNuQyxNQUFNLE9BQU8sNEJBQTRCO0lBUXJDLFlBQ2lELElBQXdCLEVBQ2pDLE9BQWtCO1FBRFQsU0FBSSxHQUFKLElBQUksQ0FBb0I7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQVJ6QyxZQUFPLEdBQXFDLFdBQVcsQ0FBQztRQUl6RSxVQUFLLEdBQUcsRUFBRSxDQUFDO0lB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bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9DQUFvQztvQkFDOUMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUU7d0JBQ1g7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLElBQUk7eUJBQ2pCO3FCQUNKO2lCQUNKOzswQkFVUSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsU0FBUzs0Q0FSSixPQUFPO3NCQUR2QixlQUFlO3VCQUFDLGtCQUFrQjtnQkFLbkMsS0FBSztzQkFGSixLQUFLO2dCQWtCRixNQUFNLE1BS04sU0FBUyxNQU9ULE1BQU0sTUE2Q0UsTUFBTSxNQU9OLGFBQWEsTUFPakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIGdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0LFxuICAgIGlzUHJlc2VudCxcbiAgICBpdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsXG4gICAgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUixcbiAgICB0dWlDb250cm9sVmFsdWUsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRlbnRpdHlNYXRjaGVyLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBzaXplQmlnZ2VyLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aU9wdGlvbkNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplWFMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1vcHQtZ3JvdXBbdHVpTXVsdGlTZWxlY3RHcm91cF1gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9tdWx0aS1zZWxlY3QtZ3JvdXAudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vbXVsdGktc2VsZWN0LWdyb3VwLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9PUFRJT05fQ09OVEVOVCxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBudWxsLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0R3JvdXBDb21wb25lbnQ8VD4ge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpT3B0aW9uQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsYWJlbCA9IGBgO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEFfTElTVF9IT1NUKSBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPixcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBzaXplKCk6IFR1aVNpemVYUyB8IFR1aVNpemVMIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maXJzdD8uc2l6ZSB8fCBgbWA7XG4gICAgfVxuXG4gICAgZ2V0IGNoZWNrYm94U2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlyc3QgJiYgc2l6ZUJpZ2dlcih0aGlzLm9wdGlvbnMuZmlyc3Quc2l6ZSkgPyBgbGAgOiBgbWA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5ldmVyeSgoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLml0ZW1zJCwgdGhpcy52YWx1ZUNoYW5nZXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnQuc29tZShzZWxlY3RlZCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHNlbGVjdGVkLCBpdGVtc1tpXSksXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCghc2VsZWN0ZWQgJiYgcmVzdWx0KSB8fCAoc2VsZWN0ZWQgJiYgIXJlc3VsdCAmJiBpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25DbGljayhjaGVja2VkOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWU6IHJlYWRvbmx5IFRbXSA9IHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3Qge3ZhbHVlc30gPSB0aGlzO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGNvbnRyb2xWYWx1ZS5maWx0ZXIoY3VycmVudCA9PlxuICAgICAgICAgICAgdmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gIXRoaXMubWF0Y2hlcihjdXJyZW50LCBpdGVtKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCA/IGZpbHRlcmVkIDogWy4uLmZpbHRlcmVkLCAuLi52YWx1ZXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2YWx1ZXMoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKGdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMub3B0aW9ucykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1hdGNoZXIoKTogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5pZGVudGl0eU1hdGNoZXIgfHwgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgdmFsdWVDaGFuZ2VzJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdHVpQ29udHJvbFZhbHVlPHJlYWRvbmx5IFRbXT4odGhpcy5jb250cm9sKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKGl0ZW1zOiBSZWFkb25seUFycmF5PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4pOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKGlzUHJlc2VudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwidmFsdWUkIHwgYXN5bmMgYXMgdmFsdWVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibGFiZWwgJiYgIShlbXB0eSQgfCBhc3luYylcIlxuICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIShkaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljayh2YWx1ZSlcIlxuICAgID5cbiAgICAgICAgPHR1aS1wcmltaXRpdmUtY2hlY2tib3hcbiAgICAgICAgICAgIGNsYXNzPVwidC1jaGVja2JveFwiXG4gICAgICAgICAgICBbc2l6ZV09XCJjaGVja2JveFNpemVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgPjwvdHVpLXByaW1pdGl2ZS1jaGVja2JveD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsV0FBVyxFQUNYLDRCQUE0QixFQUM1QixlQUFlLEVBQ2YsY0FBYyxFQUNkLGdDQUFnQyxFQUVoQyxZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsRUFDbEIsYUFBYSxHQUdoQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTbkMsTUFBTSxPQUFPLDRCQUE0QjtJQVFyQyxZQUNpRCxJQUF3QixFQUNqQyxPQUFrQjtRQURULFNBQUksR0FBSixJQUFJLENBQW9CO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFSekMsWUFBTyxHQUFxQyxXQUFXLENBQUM7UUFJekUsVUFBSyxHQUFHLEVBQUUsQ0FBQztJ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QW9DO29CQUM5QyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM1Qzs7MEJBVVEsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLFNBQVM7NENBUkosT0FBTztzQkFEdkIsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBS25DLEtBQUs7c0JBRkosS0FBSztnQkFrQkYsTUFBTSxNQUtOLFNBQVMsTUFPVCxNQUFNLE1BNkNFLE1BQU0sTUFPTixhQUFhLE1BT2pCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUVUlfREVGQVVMVF9JREVOVElUWV9NQVRDSEVSLFxuICAgIHR1aUNvbnRyb2xWYWx1ZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICB0dWlHZXRPcmlnaW5hbEFycmF5RnJvbVF1ZXJ5TGlzdCxcbiAgICBUdWlJZGVudGl0eU1hdGNoZXIsXG4gICAgdHVpSXNQcmVzZW50LFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIHR1aUFzT3B0aW9uQ29udGVudCxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpT3B0aW9uQ29tcG9uZW50LFxuICAgIHR1aVNpemVCaWdnZXIsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVhTLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktb3B0LWdyb3VwW3R1aU11bHRpU2VsZWN0R3JvdXBdYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vbXVsdGktc2VsZWN0LWdyb3VwLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL211bHRpLXNlbGVjdC1ncm91cC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdmlld1Byb3ZpZGVyczogW3R1aUFzT3B0aW9uQ29udGVudChudWxsKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0R3JvdXBDb21wb25lbnQ8VD4ge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpT3B0aW9uQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogUXVlcnlMaXN0PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsYWJlbCA9IGBgO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RBVEFfTElTVF9IT1NUKSBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPixcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpIHByaXZhdGUgcmVhZG9ubHkgY29udHJvbDogTmdDb250cm9sLFxuICAgICkge31cblxuICAgIGdldCBzaXplKCk6IFR1aVNpemVYUyB8IFR1aVNpemVMIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maXJzdD8uc2l6ZSB8fCBgbWA7XG4gICAgfVxuXG4gICAgZ2V0IGNoZWNrYm94U2l6ZSgpOiBUdWlTaXplTCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmlyc3QgJiYgdHVpU2l6ZUJpZ2dlcih0aGlzLm9wdGlvbnMuZmlyc3Quc2l6ZSkgPyBgbGAgOiBgbWA7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZW1wdHkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShtYXAoKHtsZW5ndGh9KSA9PiAhbGVuZ3RoKSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXQgZGlzYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChpdGVtcyA9PiBpdGVtcy5ldmVyeSgoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldCB2YWx1ZSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh0aGlzLml0ZW1zJCwgdGhpcy52YWx1ZUNoYW5nZXMkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbaXRlbXMsIGN1cnJlbnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnQuc29tZShzZWxlY3RlZCA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXRjaGVyKHNlbGVjdGVkLCBpdGVtc1tpXSksXG4gICAgICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCghc2VsZWN0ZWQgJiYgcmVzdWx0KSB8fCAoc2VsZWN0ZWQgJiYgIXJlc3VsdCAmJiBpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxlY3RlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25DbGljayhjaGVja2VkOiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250cm9sVmFsdWU6IHJlYWRvbmx5IFRbXSA9IHRoaXMuY29udHJvbC52YWx1ZSB8fCBbXTtcbiAgICAgICAgY29uc3Qge3ZhbHVlc30gPSB0aGlzO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IGNvbnRyb2xWYWx1ZS5maWx0ZXIoY3VycmVudCA9PlxuICAgICAgICAgICAgdmFsdWVzLmV2ZXJ5KGl0ZW0gPT4gIXRoaXMubWF0Y2hlcihjdXJyZW50LCBpdGVtKSksXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoY2hlY2tlZCA/IGZpbHRlcmVkIDogWy4uLmZpbHRlcmVkLCAuLi52YWx1ZXNdKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB2YWx1ZXMoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHR1aUdldE9yaWdpbmFsQXJyYXlGcm9tUXVlcnlMaXN0KHRoaXMub3B0aW9ucykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG1hdGNoZXIoKTogVHVpSWRlbnRpdHlNYXRjaGVyPFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5pZGVudGl0eU1hdGNoZXIgfHwgVFVJX0RFRkFVTFRfSURFTlRJVFlfTUFUQ0hFUjtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMub3B0aW9ucykucGlwZShcbiAgICAgICAgICAgIG1hcChvcHRpb25zID0+IG9wdGlvbnMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKHR1aUlzUHJlc2VudCkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgdmFsdWVDaGFuZ2VzJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT4ge1xuICAgICAgICByZXR1cm4gdHVpQ29udHJvbFZhbHVlPHJlYWRvbmx5IFRbXT4odGhpcy5jb250cm9sKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8IFtdKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVyKGl0ZW1zOiBSZWFkb25seUFycmF5PFR1aU9wdGlvbkNvbXBvbmVudDxUPj4pOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkuZmlsdGVyKHR1aUlzUHJlc2VudCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqdHVpTGV0PVwidmFsdWUkIHwgYXN5bmMgYXMgdmFsdWVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwibGFiZWwgJiYgIShlbXB0eSQgfCBhc3luYylcIlxuICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhIShkaXNhYmxlZCQgfCBhc3luYylcIlxuICAgICAgICAoY2xpY2spPVwib25DbGljayh2YWx1ZSlcIlxuICAgID5cbiAgICAgICAgPHR1aS1wcmltaXRpdmUtY2hlY2tib3hcbiAgICAgICAgICAgIGNsYXNzPVwidC1jaGVja2JveFwiXG4gICAgICAgICAgICBbc2l6ZV09XCJjaGVja2JveFNpemVcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgPjwvdHVpLXByaW1pdGl2ZS1jaGVja2JveD5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWxhYmVsXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -1,42 +1,29 @@
1
1
  import { Directive, forwardRef, Optional } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
3
- import { EMPTY_FUNCTION } from '@taiga-ui/cdk';
4
- import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT } from '@taiga-ui/core';
3
+ import { EMPTY_FUNCTION, tuiArrayToggle } from '@taiga-ui/cdk';
4
+ import { TUI_DATA_LIST_HOST, tuiAsOptionContent } from '@taiga-ui/core';
5
5
  import { TuiMultiSelectOptionComponent } from '@taiga-ui/kit/components/multi-select-option';
6
6
  import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
7
7
  import { TuiMultiSelectComponent } from '../multi-select.component';
8
8
  import * as i0 from "@angular/core";
9
- // eslint-disable-next-line @typescript-eslint/naming-convention
10
- export function hostFallbackFactory(control, host) {
11
- return (host || {
12
- handleOption: option => {
13
- if (!control.control) {
14
- return;
15
- }
16
- const value = control.value || [];
17
- const index = value.indexOf(option);
18
- control.control.setValue(index === -1
19
- ? [...value, option]
20
- : [...value.slice(0, index), ...value.slice(index + 1)]);
21
- },
22
- });
23
- }
24
9
  export const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(TuiMultiSelectOptionComponent);
25
10
  export class TuiMultiSelectGroupDirective {
26
11
  }
27
12
  TuiMultiSelectGroupDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMultiSelectGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
13
  TuiMultiSelectGroupDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiMultiSelectGroupDirective, selector: "[tuiMultiSelectGroup]", providers: [
29
- {
30
- provide: TUI_OPTION_CONTENT,
31
- useValue: TUI_MULTI_SELECT_OPTION,
32
- },
14
+ tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
33
15
  {
34
16
  provide: TUI_DATA_LIST_HOST,
35
17
  deps: [
36
18
  NgControl,
37
19
  [new Optional(), forwardRef(() => TuiMultiSelectComponent)],
38
20
  ],
39
- useFactory: hostFallbackFactory,
21
+ useFactory: (control, host) => host || {
22
+ handleOption: option => {
23
+ var _a;
24
+ return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(tuiArrayToggle(control.value || [], option));
25
+ },
26
+ },
40
27
  },
41
28
  {
42
29
  provide: NG_VALUE_ACCESSOR,
@@ -53,17 +40,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
53
40
  args: [{
54
41
  selector: `[tuiMultiSelectGroup]`,
55
42
  providers: [
56
- {
57
- provide: TUI_OPTION_CONTENT,
58
- useValue: TUI_MULTI_SELECT_OPTION,
59
- },
43
+ tuiAsOptionContent(TUI_MULTI_SELECT_OPTION),
60
44
  {
61
45
  provide: TUI_DATA_LIST_HOST,
62
46
  deps: [
63
47
  NgControl,
64
48
  [new Optional(), forwardRef(() => TuiMultiSelectComponent)],
65
49
  ],
66
- useFactory: hostFallbackFactory,
50
+ useFactory: (control, host) => host || {
51
+ handleOption: option => {
52
+ var _a;
53
+ return (_a = control.control) === null || _a === void 0 ? void 0 : _a.setValue(tuiArrayToggle(control.value || [], option));
54
+ },
55
+ },
67
56
  },
68
57
  {
69
58
  provide: NG_VALUE_ACCESSOR,
@@ -77,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
77
66
  ],
78
67
  }]
79
68
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUVsRSxnRUFBZ0U7QUFDaEUsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixPQUFrQixFQUNsQixJQUErQjtJQUUvQixPQUFPLENBQ0gsSUFBSSxJQUFJO1FBQ0osWUFBWSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO2dCQUNsQixPQUFPO2FBQ1Y7WUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXBDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUNwQixLQUFLLEtBQUssQ0FBQyxDQUFDO2dCQUNSLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQUM7UUFDTixDQUFDO0tBQ0osQ0FDSixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUkscUJBQXFCLENBQzVELDZCQUE2QixDQUNoQyxDQUFDO0FBNEJGLE1BQU0sT0FBTyw0QkFBNEI7OzBIQUE1Qiw0QkFBNEI7OEdBQTVCLDRCQUE0QixnREF4QjFCO1FBQ1A7WUFDSSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFFBQVEsRUFBRSx1QkFBdUI7U0FDcEM7UUFDRDtZQUNJLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsSUFBSSxFQUFFO2dCQUNGLFNBQVM7Z0JBQ1QsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzlEO1lBQ0QsVUFBVSxFQUFFLG1CQUFtQjtTQUNsQztRQUNEO1lBQ0ksT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRTtnQkFDTixVQUFVLEVBQUUsY0FBYztnQkFDMUIsZ0JBQWdCLEVBQUUsY0FBYztnQkFDaEMsaUJBQWlCLEVBQUUsY0FBYzthQUNwQztTQUNKO0tBQ0o7NEZBRVEsNEJBQTRCO2tCQTFCeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDcEM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsSUFBSSxFQUFFO2dDQUNGLFNBQVM7Z0NBQ1QsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDOzZCQUM5RDs0QkFDRCxVQUFVLEVBQUUsbUJBQW1CO3lCQUNsQzt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxRQUFRLEVBQUU7Z0NBQ04sVUFBVSxFQUFFLGNBQWM7Z0NBQzFCLGdCQUFnQixFQUFFLGNBQWM7Z0NBQ2hDLGlCQUFpQixFQUFFLGNBQWM7NkJBQ3BDO3lCQUNKO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFTVBUWV9GVU5DVElPTn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVCwgVFVJX09QVElPTl9DT05URU5ULCBUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aU11bHRpU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIGhvc3RGYWxsYmFja0ZhY3Rvcnk8VD4oXG4gICAgY29udHJvbDogTmdDb250cm9sLFxuICAgIGhvc3Q6IFR1aURhdGFMaXN0SG9zdDxUPiB8IG51bGwsXG4pOiBUdWlEYXRhTGlzdEhvc3Q8VD4ge1xuICAgIHJldHVybiAoXG4gICAgICAgIGhvc3QgfHwge1xuICAgICAgICAgICAgaGFuZGxlT3B0aW9uOiBvcHRpb24gPT4ge1xuICAgICAgICAgICAgICAgIGlmICghY29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWUgfHwgW107XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5pbmRleE9mKG9wdGlvbik7XG5cbiAgICAgICAgICAgICAgICBjb250cm9sLmNvbnRyb2wuc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIGluZGV4ID09PSAtMVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbLi4udmFsdWUsIG9wdGlvbl1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogWy4uLnZhbHVlLnNsaWNlKDAsIGluZGV4KSwgLi4udmFsdWUuc2xpY2UoaW5kZXggKyAxKV0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICApO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX01VTFRJX1NFTEVDVF9PUFRJT04gPSBuZXcgUG9seW1vcnBoZXVzQ29tcG9uZW50KFxuICAgIFR1aU11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuKTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGBbdHVpTXVsdGlTZWxlY3RHcm91cF1gLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfT1BUSU9OX0NPTlRFTlQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogVFVJX01VTFRJX1NFTEVDVF9PUFRJT04sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgICAgICBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgW25ldyBPcHRpb25hbCgpLCBmb3J3YXJkUmVmKCgpID0+IFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KV0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogaG9zdEZhbGxiYWNrRmFjdG9yeSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgd3JpdGVWYWx1ZTogRU1QVFlfRlVOQ1RJT04sXG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJPbkNoYW5nZTogRU1QVFlfRlVOQ1RJT04sXG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJPblRvdWNoZWQ6IEVNUFRZX0ZVTkNUSU9OLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdEdyb3VwRGlyZWN0aXZlIHt9XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QtZ3JvdXAvbXVsdGktc2VsZWN0LWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFbEUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxxQkFBcUIsQ0FDNUQsNkJBQTZCLENBQ2hDLENBQUM7QUFrQ0YsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLGdEQTlCMUI7UUFDUCxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQztRQUMzQztZQUNJLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsSUFBSSxFQUFFO2dCQUNGLFNBQVM7Z0JBQ1QsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQzlEO1lBQ0QsVUFBVSxFQUFFLENBQ1IsT0FBa0IsRUFDbEIsSUFBK0IsRUFDYixFQUFFLENBQ3BCLElBQUksSUFBSTtnQkFDSixZQUFZLEVBQUUsTUFBTSxDQUFDLEVBQUU7O29CQUNuQixPQUFBLE1BQUEsT0FBTyxDQUFDLE9BQU8sMENBQUUsUUFBUSxDQUNyQixjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQzlDLENBQUE7aUJBQUE7YUFDUjtTQUNSO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxjQUFjO2dCQUMxQixnQkFBZ0IsRUFBRSxjQUFjO2dCQUNoQyxpQkFBaUIsRUFBRSxjQUFjO2FBQ3BDO1NBQ0o7S0FDSjs0RkFFUSw0QkFBNEI7a0JBaEN4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0M7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsSUFBSSxFQUFFO2dDQUNGLFNBQVM7Z0NBQ1QsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDOzZCQUM5RDs0QkFDRCxVQUFVLEVBQUUsQ0FDUixPQUFrQixFQUNsQixJQUErQixFQUNiLEVBQUUsQ0FDcEIsSUFBSSxJQUFJO2dDQUNKLFlBQVksRUFBRSxNQUFNLENBQUMsRUFBRTs7b0NBQ25CLE9BQUEsTUFBQSxPQUFPLENBQUMsT0FBTywwQ0FBRSxRQUFRLENBQ3JCLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FDOUMsQ0FBQTtpQ0FBQTs2QkFDUjt5QkFDUjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxRQUFRLEVBQUU7Z0NBQ04sVUFBVSxFQUFFLGNBQWM7Z0NBQzFCLGdCQUFnQixFQUFFLGNBQWM7Z0NBQ2hDLGlCQUFpQixFQUFFLGNBQWM7NkJBQ3BDO3lCQUNKO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGZvcndhcmRSZWYsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtFTVBUWV9GVU5DVElPTiwgdHVpQXJyYXlUb2dnbGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1QsIHR1aUFzT3B0aW9uQ29udGVudCwgVHVpRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aU11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbic7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbXBvbmVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlNdWx0aVNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUVUlfTVVMVElfU0VMRUNUX09QVElPTiA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoXG4gICAgVHVpTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQsXG4pO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYFt0dWlNdWx0aVNlbGVjdEdyb3VwXWAsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzT3B0aW9uQ29udGVudChUVUlfTVVMVElfU0VMRUNUX09QVElPTiksXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgICAgICBOZ0NvbnRyb2wsXG4gICAgICAgICAgICAgICAgW25ldyBPcHRpb25hbCgpLCBmb3J3YXJkUmVmKCgpID0+IFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KV0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogPFQ+KFxuICAgICAgICAgICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCxcbiAgICAgICAgICAgICAgICBob3N0OiBUdWlEYXRhTGlzdEhvc3Q8VD4gfCBudWxsLFxuICAgICAgICAgICAgKTogVHVpRGF0YUxpc3RIb3N0PFQ+ID0+XG4gICAgICAgICAgICAgICAgaG9zdCB8fCB7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZU9wdGlvbjogb3B0aW9uID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sLmNvbnRyb2w/LnNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUFycmF5VG9nZ2xlKGNvbnRyb2wudmFsdWUgfHwgW10sIG9wdGlvbiksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICAgIHdyaXRlVmFsdWU6IEVNUFRZX0ZVTkNUSU9OLFxuICAgICAgICAgICAgICAgIHJlZ2lzdGVyT25DaGFuZ2U6IEVNUFRZX0ZVTkNUSU9OLFxuICAgICAgICAgICAgICAgIHJlZ2lzdGVyT25Ub3VjaGVkOiBFTVBUWV9GVU5DVElPTixcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RHcm91cERpcmVjdGl2ZSB7fVxuIl19
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { AbstractTuiMultipleControl, EMPTY_ARRAY, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiIsNativeFocused, tuiIsString, tuiPure, } from '@taiga-ui/cdk';
5
- import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiDataListDirective, TuiHostedDropdownComponent, TuiSvgService, } from '@taiga-ui/core';
4
+ import { AbstractTuiMultipleControl, EMPTY_ARRAY, tuiArrayToggle, tuiAsControl, tuiAsFocusableItemAccessor, tuiDefaultProp, tuiIsNativeFocused, tuiIsString, tuiPure, } from '@taiga-ui/cdk';
5
+ import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_DATA_LIST_ACCESSOR, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiAsDataListHost, TuiDataListDirective, TuiHostedDropdownComponent, TuiSvgService, } from '@taiga-ui/core';
6
6
  import { TuiStringifiableItem } from '@taiga-ui/kit/classes';
7
7
  import { TUI_ARROW_MODE } from '@taiga-ui/kit/components/arrow';
8
8
  import { TuiInputTagComponent } from '@taiga-ui/kit/components/input-tag';
@@ -101,17 +101,13 @@ export class TuiMultiSelectComponent extends AbstractTuiMultipleControl {
101
101
  if (options.length !== 1) {
102
102
  return;
103
103
  }
104
- const index = value.indexOf(options[0]);
105
104
  event.preventDefault();
106
- this.updateValue(index === -1
107
- ? [...value, options[0]]
108
- : [...value.slice(0, index), ...value.slice(index + 1)]);
105
+ this.updateValue(tuiArrayToggle(value, options[0]));
109
106
  this.updateSearch(null);
110
107
  }
111
108
  onClick({ nativeFocusableElement }) {
112
109
  var _a;
113
- if (this.editable &&
114
- this.interactive &&
110
+ if (this.interactive &&
115
111
  nativeFocusableElement &&
116
112
  tuiIsNativeFocused(nativeFocusableElement)) {
117
113
  (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(!this.open);
@@ -145,23 +141,17 @@ export class TuiMultiSelectComponent extends AbstractTuiMultipleControl {
145
141
  }
146
142
  focusInput(preventScroll = false) {
147
143
  if (this.nativeFocusableElement) {
148
- setNativeFocused(this.nativeFocusableElement, true, preventScroll);
144
+ this.nativeFocusableElement.focus({ preventScroll });
149
145
  }
150
146
  }
151
147
  }
152
148
  TuiMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMultiSelectComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TuiSvgService }, { token: TUI_ARROW_MODE }, { token: TUI_ITEMS_HANDLERS }, { token: TUI_MULTI_SELECT_OPTIONS }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
153
149
  TuiMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiMultiSelectComponent, selector: "tui-multi-select", inputs: { stringify: "stringify", identityMatcher: "identityMatcher", expandable: "expandable", search: "search", editable: "editable", disabledItemHandler: "disabledItemHandler", valueContent: "valueContent" }, outputs: { searchChange: "searchChange" }, host: { properties: { "class._editable": "this.editable", "attr.data-size": "this.size" } }, providers: [
154
- {
155
- provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
156
- useExisting: forwardRef(() => TuiMultiSelectComponent),
157
- },
158
- {
159
- provide: TUI_DATA_LIST_HOST,
160
- useExisting: forwardRef(() => TuiMultiSelectComponent),
161
- },
162
- FIXED_DROPDOWN_CONTROLLER_PROVIDER,
150
+ tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
151
+ tuiAsControl(TuiMultiSelectComponent),
152
+ tuiAsDataListHost(TuiMultiSelectComponent),
163
153
  TEXTFIELD_CONTROLLER_PROVIDER,
164
- ], queries: [{ propertyName: "accessor", first: true, predicate: TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }, { propertyName: "input", first: true, predicate: TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n tuiHostedDropdownHost\n automation-id=\"tui-multi-select__input\"\n class=\"input\"\n [nativeId]=\"nativeId\"\n [tuiTextfieldIcon]=\"tagIcon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [search]=\"searchOrSpace\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper:stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\n >\n <ng-content></ng-content>\n </tui-input-tag>\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n\n <div\n *ngIf=\"arrow\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-arrow\"\n (click.prevent)=\"onArrowClick()\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </div>\n</tui-hosted-dropdown>\n", styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.input{border-radius:inherit}:host:not(._editable):not(._readonly) .input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size=s] .t-wrapper{height:var(--tui-height-s)}:host[data-size=m] .t-wrapper{height:var(--tui-height-m)}:host[data-size=l] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size=m] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size=m] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-property:transform;transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._readonly .t-arrow,:host._disabled .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i2.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["allowSpaces", "separator", "search", "editable", "tagValidator", "expandable", "inputHidden", "uniqueTags", "disabledItemHandler", "pseudoFocused"], outputs: ["searchChange"] }], directives: [{ type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiHostedDropdownConnectorDirective, selector: "[tuiHostedDropdownHost]" }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "tuiMapper": i3.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
154
+ ], queries: [{ propertyName: "accessor", first: true, predicate: TUI_DATA_LIST_ACCESSOR, descendants: true }, { propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "hostedDropdown", first: true, predicate: TuiHostedDropdownComponent, descendants: true }, { propertyName: "input", first: true, predicate: TuiInputTagComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"interactive\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-tag\n #inputTag\n automation-id=\"tui-multi-select__input\"\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [tuiTextfieldIcon]=\"tagIcon\"\n [disabled]=\"disabled\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper: disabledItemHandlerWrapper\"\n [readOnly]=\"readOnly\"\n [inputHidden]=\"!editable\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoInvalid]=\"computedInvalid\"\n [editable]=\"false\"\n [expandable]=\"expandable\"\n [search]=\"searchOrSpace\"\n [ngModel]=\"computedValue | tuiMapper: valueMapper:stringify\"\n (ngModelChange)=\"onInput($event)\"\n (searchChange)=\"onSearch($event)\"\n (keydown.space)=\"onSpace($event)\"\n (keydown.enter)=\"onEnter($event)\"\n (click.prevent)=\"onClick(inputTag)\"\n >\n <ng-content></ng-content>\n </tui-input-tag>\n <div\n class=\"t-wrapper\"\n [class.t-wrapper_disabled]=\"disabled\"\n >\n <div\n *ngIf=\"computedGroup\"\n class=\"t-group\"\n [class.t-group_fullsize]=\"inputTag.labelOutside\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n\n <div\n *ngIf=\"arrow\"\n automation-id=\"tui-multi-select__arrow\"\n tuiPreventDefault=\"mousedown\"\n class=\"t-arrow\"\n (click.prevent)=\"onArrowClick()\"\n >\n <ng-container *polymorpheusOutlet=\"arrow as text\">\n {{ text }}\n </ng-container>\n </div>\n </div>\n</tui-hosted-dropdown>\n", styles: [":host{position:relative;display:block;border-radius:var(--tui-radius-m)}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-input{border-radius:inherit}:host:not(._editable):not(._readonly) .t-input{cursor:pointer}.t-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;pointer-events:none;justify-content:flex-end}.t-wrapper_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size=s] .t-wrapper{height:var(--tui-height-s)}:host[data-size=m] .t-wrapper{height:var(--tui-height-m)}:host[data-size=l] .t-wrapper{height:var(--tui-height-l)}.t-group{display:flex;flex:1;align-items:center;padding:1.6875rem 1rem .5625rem}.t-group_fullsize{padding-top:.0625rem;padding-bottom:0}:host[data-size=m] .t-group_fullsize.t-group_fullsize{padding-top:0}:host[data-size=m] .t-group{padding:1.1875rem .75rem 0;font-size:.8125rem}.t-arrow{transition-property:transform;transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;transition-property:color,transform;width:1.5rem;height:auto;margin:0 .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._readonly .t-arrow,:host._disabled .t-arrow{pointer-events:none}:host[data-mode=onDark] .t-arrow{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-arrow:hover{color:var(--tui-text-01-night)}\n"], components: [{ type: i1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i2.TuiInputTagComponent, selector: "tui-input-tag", inputs: ["separator", "search", "editable", "tagValidator", "expandable", "inputHidden", "uniqueTags", "disabledItemHandler", "pseudoFocused"], outputs: ["searchChange"] }], directives: [{ type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]" }], pipes: { "tuiMapper": i3.TuiMapperPipe }, viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
155
  __decorate([
166
156
  tuiDefaultProp()
167
157
  ], TuiMultiSelectComponent.prototype, "stringify", void 0);
@@ -194,17 +184,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
194
184
  styleUrls: [`./multi-select.style.less`],
195
185
  changeDetection: ChangeDetectionStrategy.OnPush,
196
186
  providers: [
197
- {
198
- provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
199
- useExisting: forwardRef(() => TuiMultiSelectComponent),
200
- },
201
- {
202
- provide: TUI_DATA_LIST_HOST,
203
- useExisting: forwardRef(() => TuiMultiSelectComponent),
204
- },
205
- FIXED_DROPDOWN_CONTROLLER_PROVIDER,
187
+ tuiAsFocusableItemAccessor(TuiMultiSelectComponent),
188
+ tuiAsControl(TuiMultiSelectComponent),
189
+ tuiAsDataListHost(TuiMultiSelectComponent),
206
190
  TEXTFIELD_CONTROLLER_PROVIDER,
207
191
  ],
192
+ viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],
208
193
  }]
209
194
  }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
210
195
  type: Optional
@@ -266,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
266
251
  type: HostBinding,
267
252
  args: [`attr.data-size`]
268
253
  }], getStringifier: [] } });
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLDJCQUEyQixFQUkzQixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFdBQVcsRUFFWCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLGdDQUFnQyxFQUVoQyxvQkFBb0IsRUFFcEIsMEJBQTBCLEVBSTFCLGFBQWEsR0FFaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHlCQUF5QixDQUFD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Z0JBSUUsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBNkJuRCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQXdEN0IsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIHNldE5hdGl2ZUZvY3VzZWQsXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIFR1aU1hcHBlcixcbiAgICB0dWlQdXJlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0FDQ0VTU09SLFxuICAgIFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEYXRhTGlzdEFjY2Vzc29yLFxuICAgIFR1aURhdGFMaXN0RGlyZWN0aXZlLFxuICAgIFR1aURhdGFMaXN0SG9zdCxcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplTSxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlTdmdTZXJ2aWNlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU3RyaW5naWZpYWJsZUl0ZW19IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BUlJPV19NT0RFLCBUdWlBcnJvd01vZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0VGFnQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnJztcbmltcG9ydCB7aWNvbkJsYW5rfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTLCBUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX01VTFRJX1NFTEVDVF9PUFRJT05TLCBUdWlNdWx0aVNlbGVjdE9wdGlvbnN9IGZyb20gJy4vbXVsdGktc2VsZWN0LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1tdWx0aS1zZWxlY3RgLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9tdWx0aS1zZWxlY3QudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vbXVsdGktc2VsZWN0LnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlNdWx0aVNlbGVjdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU11bHRpU2VsZWN0Q29tcG9uZW50PFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxUPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLCBUdWlEYXRhTGlzdEhvc3Q8VD5cbntcbiAgICBAQ29udGVudENoaWxkKFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IgYXMgYW55KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3I/OiBUdWlEYXRhTGlzdEFjY2Vzc29yPFQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aUlucHV0VGFnQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXQ/OiBUdWlJbnB1dFRhZ0NvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzdHJpbmdpZnk6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ3N0cmluZ2lmeSddID0gdGhpcy5pdGVtc0hhbmRsZXJzLnN0cmluZ2lmeTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpZGVudGl0eU1hdGNoZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2lkZW50aXR5TWF0Y2hlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmlkZW50aXR5TWF0Y2hlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleHBhbmRhYmxlOiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD5bJ2V4cGFuZGFibGUnXSA9IHRoaXMub3B0aW9ucy5leHBhbmRhYmxlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaDogc3RyaW5nIHwgbnVsbCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9lZGl0YWJsZWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBlZGl0YWJsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlzYWJsZWRJdGVtSGFuZGxlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnZGlzYWJsZWRJdGVtSGFuZGxlciddID1cbiAgICAgICAgdGhpcy5pdGVtc0hhbmRsZXJzLmRpc2FibGVkSXRlbUhhbmRsZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWVDb250ZW50OiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD5bJ3ZhbHVlQ29udGVudCddID0gdGhpcy5vcHRpb25zLnZhbHVlQ29udGVudDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpQWN0aXZlWm9uZURpcmVjdGl2ZT5cbiAgICA+ID0gYGA7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVN2Z1NlcnZpY2UpIHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01VTFRJX1NFTEVDVF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHN2Z1NlcnZpY2UuZGVmaW5lKHtpY29uQmxhbmt9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGF0dHIuZGF0YS1zaXplYClcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIGdldCBhcnJvdygpOiBQb2x5bW9ycGhldXNDb250ZW50PFxuICAgICAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVNpemVTIHwgVHVpU2l6ZU0gfCBUdWlTaXplTD5cbiAgICA+IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmludGVyYWN0aXZlID8gdGhpcy5hcnJvd01vZGUuZGlzYWJsZWQgOiB0aGlzLmFycm93TW9kZS5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0ID8gdGhpcy5pbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghIXRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5mb2N1c2VkKSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogcmVhZG9ubHkgVFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRHcm91cCA/IEVNUFRZX0FSUkFZIDogdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IHRoaW5rIG9mIGEgYmV0dGVyIHdheVxuICAgIGdldCBzZWFyY2hPclNwYWNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkR3JvdXAgPyBgIGAgOiB0aGlzLnNlYXJjaFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaCA9PT0gbnVsbCA/IGBgIDogdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzcyBlbXB0eSBpY29uIHRvIElucHV0VGFnIChpbnNpZGUgdGhpcyBjb21wb25lbnQpXG4gICAgICogdG8gcHJldmVudCBvdmVyZmxvdyBvZiBhcnJvdyBpY29uIGJ5IG1hbnkgdGFnc1xuICAgICAqL1xuICAgIGdldCB0YWdJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlID8gYGljb25CbGFua2AgOiBgYDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5lZGl0YWJsZSAmJiAhdGhpcy5jb21wdXRlZEdyb3VwO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnZhbHVlQ29udGVudCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lZGl0YWJsZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldFN0cmluZ2lmaWVyKFxuICAgICAgICBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4sXG4gICAgKTogVHVpU3RyaW5nSGFuZGxlcjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFQ+PiB7XG4gICAgICAgIHJldHVybiAoeyRpbXBsaWNpdH0pID0+IHN0cmluZ2lmeSgkaW1wbGljaXQpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHZhbHVlTWFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIHJlYWRvbmx5IFRbXSxcbiAgICAgICAgUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj5cbiAgICA+ID0gKHZhbHVlLCBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4sIGdyb3VwOiBib29sZWFuKSA9PlxuICAgICAgICBncm91cFxuICAgICAgICAgICAgPyBFTVBUWV9BUlJBWVxuICAgICAgICAgICAgOiB2YWx1ZS5tYXAoaXRlbSA9PiBuZXcgVHVpU3RyaW5naWZpYWJsZUl0ZW0oaXRlbSwgc3RyaW5naWZ5KSk7XG5cbiAgICByZWFkb25seSBkaXNhYmxlZEl0ZW1IYW5kbGVyV3JhcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUPixcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nIHwgVHVpU3RyaW5naWZpYWJsZUl0ZW08VD4+XG4gICAgPiA9IGhhbmRsZXIgPT4gc3RyaW5naWZpYWJsZSA9PlxuICAgICAgICB0dWlJc1N0cmluZyhzdHJpbmdpZmlhYmxlKSB8fCBoYW5kbGVyKHN0cmluZ2lmaWFibGUuaXRlbSk7XG5cbiAgICBvblNwYWNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaWRlbnRpdHlNYXRjaGVyfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuZmluZEluZGV4KGl0ZW0gPT4gaWRlbnRpdHlNYXRjaGVyKGl0ZW0sIG9wdGlvbikpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTEgPyBbLi4udmFsdWUsIG9wdGlvbl0gOiB2YWx1ZS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgfVxuXG4gICAgb25FbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmFjY2Vzc29yID8gdGhpcy5hY2Nlc3Nvci5nZXRPcHRpb25zKCkgOiBbXTtcblxuICAgICAgICBpZiAob3B0aW9ucy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuaW5kZXhPZihvcHRpb25zWzBdKTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgaW5kZXggPT09IC0xXG4gICAgICAgICAgICAgICAgPyBbLi4udmFsdWUsIG9wdGlvbnNbMF1dXG4gICAgICAgICAgICAgICAgOiBbLi4udmFsdWUuc2xpY2UoMCwgaW5kZXgpLCAuLi52YWx1ZS5zbGljZShpbmRleCArIDEpXSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgfVxuXG4gICAgb25DbGljayh7bmF0aXZlRm9jdXNhYmxlRWxlbWVudH06IFR1aUlucHV0VGFnQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuZWRpdGFibGUgJiZcbiAgICAgICAgICAgIHRoaXMuaW50ZXJhY3RpdmUgJiZcbiAgICAgICAgICAgIG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgJiZcbiAgICAgICAgICAgIHR1aUlzTmF0aXZlRm9jdXNlZChuYXRpdmVGb2N1c2FibGVFbGVtZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFycm93Q2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdGVkRHJvcGRvd24/LnVwZGF0ZU9wZW4oIXRoaXMub3Blbik7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uSW5wdXQodmFsdWU6IFJlYWRvbmx5QXJyYXk8VHVpU3RyaW5naWZpYWJsZUl0ZW08VD4+KTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUubWFwKCh7aXRlbX0pID0+IGl0ZW0pKTtcbiAgICB9XG5cbiAgICBvblNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goc2VhcmNoKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2goc2VhcmNoOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChzZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsIHRydWUsIHByZXZlbnRTY3JvbGwpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHR1aS1ob3N0ZWQtZHJvcGRvd25cbiAgICBjbGFzcz1cInQtaG9zdGVkXCJcbiAgICBbY2FuT3Blbl09XCJpbnRlcmFjdGl2ZVwiXG4gICAgW2NvbnRlbnRdPVwiZGF0YWxpc3QgfHwgJydcIlxuICAgIFsob3BlbildPVwib3BlblwiXG4gICAgKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIlxuPlxuICAgIDx0dWktaW5wdXQtdGFnXG4gICAgICAgICNpbnB1dFRhZ1xuICAgICAgICB0dWlIb3N0ZWREcm9wZG93bkhvc3RcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tdWx0aS1zZWxlY3RfX2lucHV0XCJcbiAgICAgICAgY2xhc3M9XCJpbnB1dFwiXG4gICAgICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgICAgIFt0dWlUZXh0ZmllbGRJY29uXT1cInRhZ0ljb25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZGlzYWJsZWRJdGVtSGFuZGxlcl09XCJkaXNhYmxlZEl0ZW1IYW5kbGVyIHwgdHVpTWFwcGVyOiBkaXNhYmxlZEl0ZW1IYW5kbGVyV3JhcHBlclwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXG4gICAgICAgIFtpbnB1dEhpZGRlbl09XCIhZWRpdGFibGVcIlxuICAgICAgICBbcHNldWRvSG92ZXJdPVwicHNldWRvSG92ZXJcIlxuICAgICAgICBbcHNldWRvRm9jdXNdPVwiY29tcHV0ZWRGb2N1c2VkXCJcbiAgICAgICAgW3BzZXVkb0ludmFsaWRdPVwiY29tcHV0ZWRJbnZhbGlkXCJcbiAgICAgICAgW2VkaXRhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2V4cGFuZGFibGVdPVwiZXhwYW5kYWJsZVwiXG4gICAgICAgIFtzZWFyY2hdPVwic2VhcmNoT3JTcGFjZVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImNvbXB1dGVkVmFsdWUgfCB0dWlNYXBwZXI6IHZhbHVlTWFwcGVyOnN0cmluZ2lmeVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChzZWFyY2hDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uQ2xpY2soaW5wdXRUYWcpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L3R1aS1pbnB1dC10YWc+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cInQtd3JhcHBlclwiXG4gICAgICAgIFtjbGFzcy50LXdyYXBwZXJfZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJjb21wdXRlZEdyb3VwXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1ncm91cFwiXG4gICAgICAgICAgICBbY2xhc3MudC1ncm91cF9mdWxsc2l6ZV09XCJpbnB1dFRhZy5sYWJlbE91dHNpZGVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJ2YWx1ZUNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogdmFsdWV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYXJyb3dcIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tdWx0aS1zZWxlY3RfX2Fycm93XCJcbiAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0PVwibW91c2Vkb3duXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1hcnJvd1wiXG4gICAgICAgICAgICAoY2xpY2sucHJldmVudCk9XCJvbkFycm93Q2xpY2soKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFycm93IGFzIHRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3R1aS1ob3N0ZWQtZHJvcGRvd24+XG4iXX0=
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLFdBQVcsRUFFWCxjQUFjLEVBQ2QsWUFBWSxFQUNaLDBCQUEwQixFQUcxQixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFdBQVcsRUFFWCxPQUFPLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixzQkFBc0IsRUFDdEIsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUVqQixvQkFBb0IsRUFFcEIsMEJBQTBCLEVBSTFCLGFBQWEsR0FFaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FB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QUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsYUFBYTs7MEJBQ3BCLE1BQU07MkJBQUMsY0FBYzs7MEJBRXJCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFFekIsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUUvQixNQUFNOzJCQUFDLGdDQUFnQzs0Q0E5RDNCLFFBQVE7c0JBRHhCLFlBQVk7dUJBQUMsc0JBQTZCO2dCQUkxQixjQUFjO3NCQUQ5QixTQUFTO3VCQUFDLDBCQUEwQjtnQkFJcEIsS0FBSztzQkFEckIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBSy9CLFNBQVM7c0JBRlIsS0FBSztnQkFNTixlQUFlO3NCQUZkLEtBQUs7Z0JBT04sVUFBVTtzQkFGVCxLQUFLO2dCQU1OLE1BQU07c0JBRkwsS0FBSztnQkFPTixRQUFRO3NCQUhQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU05QixtQkFBbUI7c0JBRmxCLEtBQUs7Z0JBT04sWUFBWTtzQkFGWCxLQUFLO2dCQUtHLFlBQVk7c0JBRHBCLE1BQU07Z0JBSUUsUUFBUTtzQkFEaEIsWUFBWTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUM7Z0JBNkJuRCxJQUFJO3NCQURQLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQXdEN0IsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aUFycmF5VG9nZ2xlLFxuICAgIHR1aUFzQ29udHJvbCxcbiAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlJc05hdGl2ZUZvY3VzZWQsXG4gICAgdHVpSXNTdHJpbmcsXG4gICAgVHVpTWFwcGVyLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgVHVpRGF0YUxpc3RBY2Nlc3NvcixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZU0sXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU3ZnU2VydmljZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUdWlJbnB1dFRhZ0NvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZyc7XG5pbXBvcnQge2ljb25CbGFua30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSUywgVHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUywgVHVpTXVsdGlTZWxlY3RPcHRpb25zfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktbXVsdGktc2VsZWN0YCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vbXVsdGktc2VsZWN0LnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL211bHRpLXNlbGVjdC5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHR1aUFzRm9jdXNhYmxlSXRlbUFjY2Vzc29yKFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxuICAgIHZpZXdQcm92aWRlcnM6IFtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RDb21wb25lbnQ8VD5cbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sPFQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxUPlxue1xuICAgIEBDb250ZW50Q2hpbGQoVFVJX0RBVEFfTElTVF9BQ0NFU1NPUiBhcyBhbnkpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3Nvcj86IFR1aURhdGFMaXN0QWNjZXNzb3I8VD47XG5cbiAgICBAVmlld0NoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSW5wdXRUYWdDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IFR1aUlucHV0VGFnQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmluZ2lmeTogVHVpSXRlbXNIYW5kbGVyczxUPlsnc3RyaW5naWZ5J10gPSB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGU6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPlsnZXhwYW5kYWJsZSddID0gdGhpcy5vcHRpb25zLmV4cGFuZGFibGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gYGA7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2VkaXRhYmxlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydkaXNhYmxlZEl0ZW1IYW5kbGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPlsndmFsdWVDb250ZW50J10gPSB0aGlzLm9wdGlvbnMudmFsdWVDb250ZW50O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkYXRhbGlzdDogUG9seW1vcnBoZXVzQ29udGVudDxcbiAgICAgICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPlxuICAgID4gPSBgYDtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVHVpU3ZnU2VydmljZSkgc3ZnU2VydmljZTogVHVpU3ZnU2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfQVJST1dfTU9ERSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcnJvd01vZGU6IFR1aUFycm93TW9kZSxcbiAgICAgICAgQEluamVjdChUVUlfSVRFTVNfSEFORExFUlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaXRlbXNIYW5kbGVyczogVHVpSXRlbXNIYW5kbGVyczxUPixcbiAgICAgICAgQEluamVjdChUVUlfTVVMVElfU0VMRUNUX09QVElPTlMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogVHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAgICAgc3ZnU2VydmljZS5kZWZpbmUoe2ljb25CbGFua30pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZyhgYXR0ci5kYXRhLXNpemVgKVxuICAgIGdldCBzaXplKCk6IFR1aVNpemVMIHwgVHVpU2l6ZVMge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemU7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8XG4gICAgICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTSB8IFR1aVNpemVMPlxuICAgID4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgPyB0aGlzLmFycm93TW9kZS5kaXNhYmxlZCA6IHRoaXMuYXJyb3dNb2RlLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQgPyB0aGlzLmlucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCEhdGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0LmZvY3VzZWQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmhvc3RlZERyb3Bkb3duICYmIHRoaXMuaG9zdGVkRHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiByZWFkb25seSBUW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEdyb3VwID8gRU1QVFlfQVJSQVkgOiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIEBiYWQgVE9ETzogdGhpbmsgb2YgYSBiZXR0ZXIgd2F5XG4gICAgZ2V0IHNlYXJjaE9yU3BhY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRHcm91cCA/IGAgYCA6IHRoaXMuc2VhcmNoU3RyaW5nO1xuICAgIH1cblxuICAgIGdldCBzZWFyY2hTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoID09PSBudWxsID8gYGAgOiB0aGlzLnNlYXJjaDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzIGVtcHR5IGljb24gdG8gSW5wdXRUYWcgKGluc2lkZSB0aGlzIGNvbXBvbmVudClcbiAgICAgKiB0byBwcmV2ZW50IG92ZXJmbG93IG9mIGFycm93IGljb24gYnkgbWFueSB0YWdzXG4gICAgICovXG4gICAgZ2V0IHRhZ0ljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmUgPyBgaWNvbkJsYW5rYCA6IGBgO1xuICAgIH1cblxuICAgIGdldCBpbnB1dEhpZGRlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmVkaXRhYmxlICYmICF0aGlzLmNvbXB1dGVkR3JvdXA7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkR3JvdXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMudmFsdWVDb250ZW50ICYmXG4gICAgICAgICAgICB0aGlzLnZhbHVlLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICghdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVkaXRhYmxlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0U3RyaW5naWZpZXIoXG4gICAgICAgIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPixcbiAgICApOiBUdWlTdHJpbmdIYW5kbGVyPFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VD4+IHtcbiAgICAgICAgcmV0dXJuICh7JGltcGxpY2l0fSkgPT4gc3RyaW5naWZ5KCRpbXBsaWNpdCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgdmFsdWVNYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgcmVhZG9ubHkgVFtdLFxuICAgICAgICBSZWFkb25seUFycmF5PFR1aVN0cmluZ2lmaWFibGVJdGVtPFQ+PlxuICAgID4gPSAodmFsdWUsIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPiwgZ3JvdXA6IGJvb2xlYW4pID0+XG4gICAgICAgIGdyb3VwXG4gICAgICAgICAgICA/IEVNUFRZX0FSUkFZXG4gICAgICAgICAgICA6IHZhbHVlLm1hcChpdGVtID0+IG5ldyBUdWlTdHJpbmdpZmlhYmxlSXRlbShpdGVtLCBzdHJpbmdpZnkpKTtcblxuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJXcmFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIFR1aUJvb2xlYW5IYW5kbGVyPFQ+LFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmcgfCBUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj5cbiAgICA+ID0gaGFuZGxlciA9PiBzdHJpbmdpZmlhYmxlID0+XG4gICAgICAgIHR1aUlzU3RyaW5nKHN0cmluZ2lmaWFibGUpIHx8IGhhbmRsZXIoc3RyaW5naWZpYWJsZS5pdGVtKTtcblxuICAgIG9uU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBpZGVudGl0eU1hdGNoZXJ9ID0gdGhpcztcbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5maW5kSW5kZXgoaXRlbSA9PiBpZGVudGl0eU1hdGNoZXIoaXRlbSwgb3B0aW9uKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIGluZGV4ID09PSAtMSA/IFsuLi52YWx1ZSwgb3B0aW9uXSA6IHZhbHVlLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkVudGVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3IgPyB0aGlzLmFjY2Vzc29yLmdldE9wdGlvbnMoKSA6IFtdO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0dWlBcnJheVRvZ2dsZSh2YWx1ZSwgb3B0aW9uc1swXSkpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fTogVHVpSW5wdXRUYWdDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSAmJlxuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCAmJlxuICAgICAgICAgICAgdHVpSXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZS5tYXAoKHtpdGVtfSkgPT4gaXRlbSkpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoID09PSBzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoe3ByZXZlbnRTY3JvbGx9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjx0dWktaG9zdGVkLWRyb3Bkb3duXG4gICAgY2xhc3M9XCJ0LWhvc3RlZFwiXG4gICAgW2Nhbk9wZW5dPVwiaW50ZXJhY3RpdmVcIlxuICAgIFtjb250ZW50XT1cImRhdGFsaXN0IHx8ICcnXCJcbiAgICBbKG9wZW4pXT1cIm9wZW5cIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLWlucHV0LXRhZ1xuICAgICAgICAjaW5wdXRUYWdcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1tdWx0aS1zZWxlY3RfX2lucHV0XCJcbiAgICAgICAgY2xhc3M9XCJ0LWlucHV0XCJcbiAgICAgICAgW25hdGl2ZUlkXT1cIm5hdGl2ZUlkXCJcbiAgICAgICAgW3R1aVRleHRmaWVsZEljb25dPVwidGFnSWNvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtkaXNhYmxlZEl0ZW1IYW5kbGVyXT1cImRpc2FibGVkSXRlbUhhbmRsZXIgfCB0dWlNYXBwZXI6IGRpc2FibGVkSXRlbUhhbmRsZXJXcmFwcGVyXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgICAgW2lucHV0SGlkZGVuXT1cIiFlZGl0YWJsZVwiXG4gICAgICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgICAgIFtwc2V1ZG9Gb2N1c109XCJjb21wdXRlZEZvY3VzZWRcIlxuICAgICAgICBbcHNldWRvSW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgICAgICBbZWRpdGFibGVdPVwiZmFsc2VcIlxuICAgICAgICBbZXhwYW5kYWJsZV09XCJleHBhbmRhYmxlXCJcbiAgICAgICAgW3NlYXJjaF09XCJzZWFyY2hPclNwYWNlXCJcbiAgICAgICAgW25nTW9kZWxdPVwiY29tcHV0ZWRWYWx1ZSB8IHR1aU1hcHBlcjogdmFsdWVNYXBwZXI6c3RyaW5naWZ5XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKHNlYXJjaENoYW5nZSk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25TcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlcigkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrLnByZXZlbnQpPVwib25DbGljayhpbnB1dFRhZylcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvdHVpLWlucHV0LXRhZz5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidC13cmFwcGVyXCJcbiAgICAgICAgW2NsYXNzLnQtd3JhcHBlcl9kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImNvbXB1dGVkR3JvdXBcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWdyb3VwXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWdyb3VwX2Z1bGxzaXplXT1cImlucHV0VGFnLmxhYmVsT3V0c2lkZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cInZhbHVlQ29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiB2YWx1ZX1cIj5cbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJhcnJvd1wiXG4gICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLW11bHRpLXNlbGVjdF9fYXJyb3dcIlxuICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQ9XCJtb3VzZWRvd25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWFycm93XCJcbiAgICAgICAgICAgIChjbGljay5wcmV2ZW50KT1cIm9uQXJyb3dDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYXJyb3cgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvdHVpLWhvc3RlZC1kcm9wZG93bj5cbiJdfQ==
@@ -1,17 +1,17 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { isPresent } from '@taiga-ui/cdk';
3
- import { sizeBigger } from '@taiga-ui/core';
2
+ import { tuiIsPresent } from '@taiga-ui/cdk';
3
+ import { tuiSizeBigger } from '@taiga-ui/core';
4
4
  import { TuiSelectOptionComponent } from '@taiga-ui/kit/components/select-option';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@taiga-ui/core";
7
7
  import * as i2 from "@angular/common";
8
8
  export class TuiMultiSelectOptionComponent extends TuiSelectOptionComponent {
9
9
  get size() {
10
- return sizeBigger(this.option.size) ? `l` : `m`;
10
+ return tuiSizeBigger(this.option.size) ? `l` : `m`;
11
11
  }
12
12
  get selected() {
13
- return (isPresent(this.option.value) &&
14
- isPresent(this.control.value) &&
13
+ return (tuiIsPresent(this.option.value) &&
14
+ tuiIsPresent(this.control.value) &&
15
15
  !!this.control.value.find((item) => this.matcher(item, this.option.value)));
16
16
  }
17
17
  }
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
26
26
  changeDetection: ChangeDetectionStrategy.OnPush,
27
27
  }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxVQUFVLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQVFoRixNQUFNLE9BQU8sNkJBQWlDLFNBQVEsd0JBQTJCO0lBQzdFLElBQUksSUFBSTtRQUNKLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QixTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUNqRixDQUFDO0lBQ04sQ0FBQzs7MkhBWFEsNkJBQTZCOytHQUE3Qiw2QkFBNkIsc0ZDWDFDLGlOQU1BOzRGREthLDZCQUE2QjtrQkFOekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7c2l6ZUJpZ2dlciwgVHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLW11bHRpLXNlbGVjdC1vcHRpb25gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9tdWx0aS1zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL211bHRpLXNlbGVjdC1vcHRpb24uc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiBleHRlbmRzIFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiB7XG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gc2l6ZUJpZ2dlcih0aGlzLm9wdGlvbi5zaXplKSA/IGBsYCA6IGBtYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNQcmVzZW50KHRoaXMub3B0aW9uLnZhbHVlKSAmJlxuICAgICAgICAgICAgaXNQcmVzZW50KHRoaXMuY29udHJvbC52YWx1ZSkgJiZcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sLnZhbHVlLmZpbmQoKGl0ZW06IFQpID0+IHRoaXMubWF0Y2hlcihpdGVtLCB0aGlzLm9wdGlvbi52YWx1ZSEpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLWNoZWNrYm94XG4gICAgY2xhc3M9XCJ0LWNoZWNrYm94XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWQkIHwgYXN5bmNcIlxuPjwvdHVpLXByaW1pdGl2ZS1jaGVja2JveD5cbjxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGV4dC4kaW1wbGljaXRcIj48L25nLWNvbnRhaW5lcj5cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3Qtb3B0aW9uL211bHRpLXNlbGVjdC1vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQVcsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7OztBQVFoRixNQUFNLE9BQU8sNkJBQWlDLFNBQVEsd0JBQTJCO0lBQzdFLElBQUksSUFBSTtRQUNKLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFjLFFBQVE7UUFDbEIsT0FBTyxDQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUMvQixZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFNLENBQUMsQ0FBQyxDQUNqRixDQUFDO0lBQ04sQ0FBQzs7MkhBWFEsNkJBQTZCOytHQUE3Qiw2QkFBNkIsc0ZDWDFDLGlOQU1BOzRGREthLDZCQUE2QjtrQkFOekMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpSXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7dHVpU2l6ZUJpZ2dlciwgVHVpU2l6ZUx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU2VsZWN0T3B0aW9uQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2VsZWN0LW9wdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLW11bHRpLXNlbGVjdC1vcHRpb25gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9tdWx0aS1zZWxlY3Qtb3B0aW9uLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL211bHRpLXNlbGVjdC1vcHRpb24uc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiBleHRlbmRzIFR1aVNlbGVjdE9wdGlvbkNvbXBvbmVudDxUPiB7XG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gdHVpU2l6ZUJpZ2dlcih0aGlzLm9wdGlvbi5zaXplKSA/IGBsYCA6IGBtYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KHRoaXMub3B0aW9uLnZhbHVlKSAmJlxuICAgICAgICAgICAgdHVpSXNQcmVzZW50KHRoaXMuY29udHJvbC52YWx1ZSkgJiZcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sLnZhbHVlLmZpbmQoKGl0ZW06IFQpID0+IHRoaXMubWF0Y2hlcihpdGVtLCB0aGlzLm9wdGlvbi52YWx1ZSEpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLWNoZWNrYm94XG4gICAgY2xhc3M9XCJ0LWNoZWNrYm94XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdmFsdWVdPVwic2VsZWN0ZWQkIHwgYXN5bmNcIlxuPjwvdHVpLXByaW1pdGl2ZS1jaGVja2JveD5cbjxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGV4dC4kaW1wbGljaXRcIj48L25nLWNvbnRhaW5lcj5cbiJdfQ==