@taiga-ui/kit 2.34.0 → 2.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  2. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  4. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +64 -41
  6. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +2 -2
  8. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-month.umd.js +57 -32
  10. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +2 -2
  12. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  14. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-phone.umd.js +8 -2
  18. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +2 -2
  20. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-tag.umd.js +15 -8
  22. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +24 -14
  26. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-multi-select.umd.js +21 -7
  30. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  32. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-progress.umd.js +140 -73
  34. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  36. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-slider.umd.js +37 -24
  38. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  40. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  42. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  45. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  46. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +38 -6
  47. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +2 -2
  49. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-providers.umd.js +29 -12
  51. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  53. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-tokens.umd.js +3 -0
  55. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  57. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  58. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  59. package/components/input-month/index.d.ts +1 -0
  60. package/components/input-month/input-month.component.d.ts +6 -4
  61. package/components/input-month/input-month.directive.d.ts +8 -1
  62. package/components/input-month/input-month.providers.d.ts +2 -0
  63. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  64. package/components/input-month-range/index.d.ts +1 -0
  65. package/components/input-month-range/input-month-range.component.d.ts +6 -7
  66. package/components/input-month-range/input-month-range.directive.d.ts +8 -1
  67. package/components/input-month-range/input-month-range.providers.d.ts +2 -0
  68. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  69. package/components/input-number/input-number.directive.d.ts +4 -1
  70. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  71. package/components/input-phone/input-phone.directive.d.ts +4 -1
  72. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  73. package/components/input-tag/input-tag.component.d.ts +4 -3
  74. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  75. package/components/line-clamp/line-clamp.component.d.ts +7 -3
  76. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  77. package/components/multi-select/hide-selected.pipe.d.ts +1 -1
  78. package/components/multi-select/multi-select.component.d.ts +4 -2
  79. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  80. package/components/progress/index.d.ts +4 -3
  81. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +11 -0
  82. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  83. package/components/progress/{pipes → utils}/abstract-color-segments.d.ts +0 -0
  84. package/components/progress/utils/calculate-color-segments.d.ts +5 -0
  85. package/components/progress/{pipes → utils}/progress-color-segments-async.pipe.d.ts +5 -0
  86. package/components/progress/utils/progress-color-segments.pipe.d.ts +9 -0
  87. package/components/slider/slider.component.d.ts +5 -6
  88. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  89. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  90. package/directives/lazy-loading/index.d.ts +1 -0
  91. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.d.ts +0 -1
  92. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  93. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  94. package/esm2015/components/input-month/index.js +2 -1
  95. package/esm2015/components/input-month/input-month.component.js +19 -25
  96. package/esm2015/components/input-month/input-month.directive.js +32 -7
  97. package/esm2015/components/input-month/input-month.module.js +4 -4
  98. package/esm2015/components/input-month/input-month.providers.js +19 -0
  99. package/esm2015/components/input-month-range/index.js +2 -1
  100. package/esm2015/components/input-month-range/input-month-range.component.js +21 -37
  101. package/esm2015/components/input-month-range/input-month-range.directive.js +37 -7
  102. package/esm2015/components/input-month-range/input-month-range.module.js +3 -2
  103. package/esm2015/components/input-month-range/input-month-range.providers.js +19 -0
  104. package/esm2015/components/input-number/input-number.directive.js +9 -3
  105. package/esm2015/components/input-phone/input-phone.directive.js +9 -3
  106. package/esm2015/components/input-tag/input-tag.component.js +16 -9
  107. package/esm2015/components/line-clamp/line-clamp.component.js +25 -15
  108. package/esm2015/components/multi-select/hide-selected.pipe.js +4 -3
  109. package/esm2015/components/multi-select/multi-select.component.js +16 -6
  110. package/esm2015/components/progress/index.js +5 -4
  111. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +48 -0
  112. package/esm2015/components/progress/progress.module.js +6 -3
  113. package/esm2015/components/progress/utils/abstract-color-segments.js +32 -0
  114. package/esm2015/components/progress/utils/calculate-color-segments.js +10 -0
  115. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +21 -0
  116. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +19 -0
  117. package/esm2015/components/slider/slider.component.js +34 -20
  118. package/esm2015/components/text-area/text-area.component.js +1 -1
  119. package/esm2015/directives/lazy-loading/index.js +2 -1
  120. package/esm2015/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  121. package/esm2015/pipes/field-error/field-error-content-pipe.js +35 -0
  122. package/esm2015/pipes/field-error/field-error.module.js +4 -3
  123. package/esm2015/pipes/field-error/index.js +2 -1
  124. package/esm2015/providers/index.js +2 -1
  125. package/esm2015/providers/month-formatter.provider.js +17 -0
  126. package/esm2015/providers/value-accessor.provider.js +2 -2
  127. package/esm2015/tokens/index.js +2 -1
  128. package/esm2015/tokens/month-formatter.js +3 -0
  129. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  130. package/esm5/components/input-month/index.js +2 -1
  131. package/esm5/components/input-month/input-month.component.js +18 -25
  132. package/esm5/components/input-month/input-month.directive.js +32 -9
  133. package/esm5/components/input-month/input-month.module.js +4 -4
  134. package/esm5/components/input-month/input-month.providers.js +19 -0
  135. package/esm5/components/input-month-range/index.js +2 -1
  136. package/esm5/components/input-month-range/input-month-range.component.js +20 -38
  137. package/esm5/components/input-month-range/input-month-range.directive.js +38 -8
  138. package/esm5/components/input-month-range/input-month-range.module.js +3 -2
  139. package/esm5/components/input-month-range/input-month-range.providers.js +19 -0
  140. package/esm5/components/input-number/input-number.directive.js +9 -3
  141. package/esm5/components/input-phone/input-phone.directive.js +9 -3
  142. package/esm5/components/input-tag/input-tag.component.js +16 -9
  143. package/esm5/components/line-clamp/line-clamp.component.js +26 -16
  144. package/esm5/components/multi-select/hide-selected.pipe.js +4 -4
  145. package/esm5/components/multi-select/multi-select.component.js +20 -6
  146. package/esm5/components/progress/index.js +5 -4
  147. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +56 -0
  148. package/esm5/components/progress/progress.module.js +6 -3
  149. package/esm5/components/progress/utils/abstract-color-segments.js +33 -0
  150. package/esm5/components/progress/utils/calculate-color-segments.js +12 -0
  151. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +27 -0
  152. package/esm5/components/progress/utils/progress-color-segments.pipe.js +24 -0
  153. package/esm5/components/slider/slider.component.js +37 -23
  154. package/esm5/components/text-area/text-area.component.js +1 -1
  155. package/esm5/directives/lazy-loading/index.js +2 -1
  156. package/esm5/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  157. package/esm5/pipes/field-error/field-error-content-pipe.js +36 -0
  158. package/esm5/pipes/field-error/field-error.module.js +4 -3
  159. package/esm5/pipes/field-error/index.js +2 -1
  160. package/esm5/providers/index.js +2 -1
  161. package/esm5/providers/month-formatter.provider.js +19 -0
  162. package/esm5/providers/value-accessor.provider.js +2 -2
  163. package/esm5/tokens/index.js +2 -1
  164. package/esm5/tokens/month-formatter.js +3 -0
  165. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  166. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  167. package/fesm2015/taiga-ui-kit-components-input-month-range.js +67 -41
  168. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  169. package/fesm2015/taiga-ui-kit-components-input-month.js +61 -31
  170. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  171. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  172. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  173. package/fesm2015/taiga-ui-kit-components-input-phone.js +8 -2
  174. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  175. package/fesm2015/taiga-ui-kit-components-input-tag.js +15 -8
  176. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  177. package/fesm2015/taiga-ui-kit-components-line-clamp.js +24 -14
  178. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  179. package/fesm2015/taiga-ui-kit-components-multi-select.js +18 -7
  180. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  181. package/fesm2015/taiga-ui-kit-components-progress.js +113 -55
  182. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  183. package/fesm2015/taiga-ui-kit-components-slider.js +33 -19
  184. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  185. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  186. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  187. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  188. package/fesm2015/taiga-ui-kit-pipes-field-error.js +35 -4
  189. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  190. package/fesm2015/taiga-ui-kit-providers.js +18 -4
  191. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  192. package/fesm2015/taiga-ui-kit-tokens.js +3 -1
  193. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  194. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  195. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  196. package/fesm5/taiga-ui-kit-components-input-month-range.js +68 -44
  197. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  198. package/fesm5/taiga-ui-kit-components-input-month.js +60 -33
  199. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  200. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  201. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  202. package/fesm5/taiga-ui-kit-components-input-phone.js +8 -2
  203. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  204. package/fesm5/taiga-ui-kit-components-input-tag.js +15 -8
  205. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  206. package/fesm5/taiga-ui-kit-components-line-clamp.js +25 -15
  207. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  208. package/fesm5/taiga-ui-kit-components-multi-select.js +22 -8
  209. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  210. package/fesm5/taiga-ui-kit-components-progress.js +135 -69
  211. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  212. package/fesm5/taiga-ui-kit-components-slider.js +36 -22
  213. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  214. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  215. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  216. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  217. package/fesm5/taiga-ui-kit-pipes-field-error.js +36 -4
  218. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  219. package/fesm5/taiga-ui-kit-providers.js +20 -4
  220. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  221. package/fesm5/taiga-ui-kit-tokens.js +3 -1
  222. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  223. package/package.json +4 -4
  224. package/pipes/field-error/field-error-content-pipe.d.ts +11 -0
  225. package/pipes/field-error/index.d.ts +1 -0
  226. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
  227. package/providers/index.d.ts +1 -0
  228. package/providers/month-formatter.provider.d.ts +6 -0
  229. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  230. package/tokens/index.d.ts +1 -0
  231. package/tokens/month-formatter.d.ts +4 -0
  232. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  233. package/components/progress/pipes/progress-color-segments.pipe.d.ts +0 -9
  234. package/esm2015/components/progress/pipes/abstract-color-segments.js +0 -32
  235. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +0 -15
  236. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +0 -18
  237. package/esm5/components/progress/pipes/abstract-color-segments.js +0 -35
  238. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +0 -21
  239. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +0 -23
@@ -1,4 +1,4 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@taiga-ui/cdk"),require("@taiga-ui/kit/utils"),require("@angular/forms"),require("@taiga-ui/core"),require("@taiga-ui/kit/classes"),require("@taiga-ui/kit/components/arrow"),require("@taiga-ui/kit/components/input-tag"),require("@taiga-ui/kit/constants"),require("@taiga-ui/kit/providers"),require("@taiga-ui/kit/tokens"),require("@angular/common"),require("@taiga-ui/kit/components/multi-select-option"),require("@tinkoff/ng-polymorpheus"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@taiga-ui/kit/components/multi-select",["exports","@angular/core","@taiga-ui/cdk","@taiga-ui/kit/utils","@angular/forms","@taiga-ui/core","@taiga-ui/kit/classes","@taiga-ui/kit/components/arrow","@taiga-ui/kit/components/input-tag","@taiga-ui/kit/constants","@taiga-ui/kit/providers","@taiga-ui/kit/tokens","@angular/common","@taiga-ui/kit/components/multi-select-option","@tinkoff/ng-polymorpheus","rxjs","rxjs/operators"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].kit=t["taiga-ui"].kit||{},t["taiga-ui"].kit.components=t["taiga-ui"].kit.components||{},t["taiga-ui"].kit.components["multi-select"]={}),t.ng.core,t.cdk,t["taiga-ui"].kit.utils,t.ng.forms,t.core$1,t["taiga-ui"].kit.classes,t["taiga-ui"].kit.components.arrow,t["taiga-ui"].kit.components["input-tag"],t["taiga-ui"].kit.constants,t["taiga-ui"].kit.providers,t["taiga-ui"].kit.tokens,t.ng.common,t["taiga-ui"].kit.components["multi-select-option"],t.ngPolymorpheus,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,i,r,u,a,p,l,s,c,d,f,g,h,y){"use strict";
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@taiga-ui/cdk"),require("@taiga-ui/kit/utils"),require("@angular/forms"),require("@taiga-ui/core"),require("@taiga-ui/kit/classes"),require("@taiga-ui/kit/components/arrow"),require("@taiga-ui/kit/components/input-tag"),require("@taiga-ui/kit/constants"),require("@taiga-ui/kit/providers"),require("@taiga-ui/kit/tokens"),require("@angular/common"),require("@taiga-ui/kit/components/multi-select-option"),require("@tinkoff/ng-polymorpheus"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("@taiga-ui/kit/components/multi-select",["exports","@angular/core","@taiga-ui/cdk","@taiga-ui/kit/utils","@angular/forms","@taiga-ui/core","@taiga-ui/kit/classes","@taiga-ui/kit/components/arrow","@taiga-ui/kit/components/input-tag","@taiga-ui/kit/constants","@taiga-ui/kit/providers","@taiga-ui/kit/tokens","@angular/common","@taiga-ui/kit/components/multi-select-option","@tinkoff/ng-polymorpheus","rxjs","rxjs/operators"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].kit=t["taiga-ui"].kit||{},t["taiga-ui"].kit.components=t["taiga-ui"].kit.components||{},t["taiga-ui"].kit.components["multi-select"]={}),t.ng.core,t.cdk,t["taiga-ui"].kit.utils,t.ng.forms,t.core$1,t["taiga-ui"].kit.classes,t["taiga-ui"].kit.components.arrow,t["taiga-ui"].kit.components["input-tag"],t["taiga-ui"].kit.constants,t["taiga-ui"].kit.providers,t["taiga-ui"].kit.tokens,t.ng.common,t["taiga-ui"].kit.components["multi-select-option"],t.ngPolymorpheus,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,i,r,u,a,p,l,s,c,d,f,h,g,y){"use strict";
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */var v=function(t,e){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var m=function(){return(m=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function b(t,e,n,o){var i,r=arguments.length,u=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(t,e,n,o);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(u=(r<3?i(u):r>3?i(e,n,u):i(e,n))||u);return r>3&&u&&Object.defineProperty(e,n,u),u}function T(t,e){return function(n,o){e(n,o,t)}}function O(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,i,r=n.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)u.push(o.value)}catch(t){i={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return u}function I(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(O(arguments[e]));return t}var _={expandable:!0,valueContent:""},C=new e.InjectionToken("Default parameters for multi select component",{factory:function(){return _}}),P=function(t){function o(o,i,r,a,p,s){var c=t.call(this,o,i)||this;return c.arrowMode=a,c.itemsHandlers=p,c.options=s,c.stringify=c.itemsHandlers.stringify,c.identityMatcher=c.itemsHandlers.identityMatcher,c.expandable=c.options.expandable,c.search="",c.editable=!0,c.disabledItemHandler=c.itemsHandlers.disabledItemHandler,c.valueContent=c.options.valueContent,c.searchChange=new e.EventEmitter,c.datalist="",c.open=!1,c.valueMapper=function(t,e,o){return o?n.EMPTY_ARRAY:t.map((function(t){return new u.TuiStringifiableItem(t,e)}))},c.disabledItemHandlerWrapper=function(t){return function(e){return"string"==typeof e||t(e.item)}},r.define({iconBlank:l.iconBlank}),c}var d;return function(t,e){function n(){this.constructor=t}v(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(o,t),d=o,Object.defineProperty(o.prototype,"arrow",{get:function(){return this.interactive?this.arrowMode.interactive:this.arrowMode.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"nativeFocusableElement",{get:function(){return this.input?this.input.nativeFocusableElement:null},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"focused",{get:function(){return!!this.input&&this.input.focused||!!this.hostedDropdown&&this.hostedDropdown.focused},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"computedValue",{get:function(){return this.computedGroup?n.EMPTY_ARRAY:this.value},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"searchOrSpace",{get:function(){return this.computedGroup?" ":this.searchString},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"searchString",{get:function(){return null===this.search?"":this.search},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"tagIcon",{get:function(){return this.interactive?"iconBlank":""},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"inputHidden",{get:function(){return!this.editable&&!this.computedGroup},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"computedGroup",{get:function(){return!!this.valueContent&&this.value.length>0&&(!this.focused||!this.editable)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"context",{get:function(){return this.getContext(this.value)},enumerable:!0,configurable:!0}),o.prototype.getStringifier=function(t){return function(e){var n=e.$implicit;return t(n)}},o.prototype.onHoveredChange=function(t){this.updateHovered(t)},o.prototype.onSpace=function(t){this.editable||t.preventDefault(),this.readOnly||(this.open=!0)},o.prototype.handleOption=function(t){var e=this.value,n=this.identityMatcher,o=e.findIndex((function(e){return n(e,t)}));this.updateValue(-1===o?I(e,[t]):e.filter((function(t,e){return e!==o}))),this.updateSearch(null)},o.prototype.onEnter=function(t){var e=this.value,n=this.accessor?this.accessor.getOptions():[];if(1===n.length){var o=e.indexOf(n[0]);t.preventDefault(),this.updateValue(-1===o?I(e,[n[0]]):I(e.slice(0,o),e.slice(o+1))),this.updateSearch(null)}},o.prototype.onClick=function(t){var e,o=t.nativeFocusableElement;this.editable&&this.interactive&&o&&n.isNativeFocused(o)&&(null===(e=this.hostedDropdown)||void 0===e||e.updateOpen(!this.open))},o.prototype.onArrowClick=function(){var t;null===(t=this.hostedDropdown)||void 0===t||t.updateOpen(!this.open),this.focusInput()},o.prototype.onInput=function(t){this.updateValue(t.map((function(t){return t.item})))},o.prototype.onSearch=function(t){this.open=!0,this.updateSearch(t)},o.prototype.onActiveZone=function(t){this.updateFocused(t)},o.prototype.setDisabledState=function(){t.prototype.setDisabledState.call(this),this.open=!1},o.prototype.getContext=function(t){return{$implicit:t}},o.prototype.updateSearch=function(t){this.search!==t&&(this.search=t,this.searchChange.emit(t))},o.prototype.focusInput=function(t){void 0===t&&(t=!1),this.nativeFocusableElement&&n.setNativeFocused(this.nativeFocusableElement,!0,t)},o.ctorParameters=function(){return[{type:i.NgControl,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[i.NgControl]}]},{type:e.ChangeDetectorRef,decorators:[{type:e.Inject,args:[e.ChangeDetectorRef]}]},{type:r.TuiSvgService,decorators:[{type:e.Inject,args:[r.TuiSvgService]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_ARROW_MODE]}]},{type:void 0,decorators:[{type:e.Inject,args:[c.TUI_ITEMS_HANDLERS]}]},{type:void 0,decorators:[{type:e.Inject,args:[C]}]}]},b([e.ContentChild(r.TUI_DATA_LIST_ACCESSOR)],o.prototype,"accessor",void 0),b([e.ViewChild(r.TuiHostedDropdownComponent)],o.prototype,"hostedDropdown",void 0),b([e.ViewChild(p.TuiInputTagComponent)],o.prototype,"input",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"stringify",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"identityMatcher",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"expandable",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"search",void 0),b([e.Input(),e.HostBinding("class._editable"),n.tuiDefaultProp()],o.prototype,"editable",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"disabledItemHandler",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"valueContent",void 0),b([e.Output()],o.prototype,"searchChange",void 0),b([e.ContentChild(r.TuiDataListDirective,{read:e.TemplateRef})],o.prototype,"datalist",void 0),b([n.tuiPure],o.prototype,"getStringifier",null),b([n.tuiPure],o.prototype,"getContext",null),o=d=b([e.Component({selector:"tui-multi-select",template:'<tui-hosted-dropdown\n class="t-hosted"\n [canOpen]="interactive"\n [content]="datalist || \'\'"\n [(open)]="open"\n (tuiHoveredChange)="onHoveredChange($event)"\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 [icon]="tagIcon"\n [disabled]="disabled"\n [disabledItemHandler]="disabledItemHandler | tuiMapper: disabledItemHandlerWrapper"\n [readOnly]="readOnly"\n [inputHidden]="!editable"\n [pseudoHovered]="computedHovered"\n [pseudoFocused]="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 class="t-wrapper" [class.t-wrapper_disabled]="disabled">\n <div\n *ngIf="computedGroup"\n polymorpheus-outlet\n class="t-group"\n [class.t-group_fullsize]="inputTag.labelOutside"\n [context]="context"\n [content]="valueContent"\n ></div>\n\n <div\n *ngIf="arrow"\n polymorpheus-outlet\n automation-id="tui-multi-select__arrow"\n tuiPreventDefault="mousedown"\n class="t-arrow"\n [content]="arrow"\n (click.prevent)="onArrowClick()"\n ></div>\n </div>\n</tui-hosted-dropdown>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,providers:[{provide:n.TUI_FOCUSABLE_ITEM_ACCESSOR,useExisting:e.forwardRef((function(){return d}))},{provide:r.TUI_DATA_LIST_HOST,useExisting:e.forwardRef((function(){return d}))},s.FIXED_DROPDOWN_CONTROLLER_PROVIDER],styles:[":host{position:relative;display:block}:host._disabled{pointer-events:none}.t-hosted{display:block}: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)}.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-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;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:1rem .75rem;pointer-events:auto;cursor:pointer}.t-arrow:hover{color:var(--tui-text-02)}:host._disabled .t-arrow,:host._readonly .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)}"]}),T(0,e.Optional()),T(0,e.Self()),T(0,e.Inject(i.NgControl)),T(1,e.Inject(e.ChangeDetectorRef)),T(2,e.Inject(r.TuiSvgService)),T(3,e.Inject(a.TUI_ARROW_MODE)),T(4,e.Inject(c.TUI_ITEMS_HANDLERS)),T(5,e.Inject(C))],o)}(n.AbstractTuiMultipleControl),S=function(){function t(t){this.component=t}return t.prototype.transform=function(t,e){var n=void 0===e?this.component:e,i=n.value,r=n.identityMatcher;return t?o.isFlat(t)?this.filter(t,i,r):this.filter2d(t,i,r):null},t.prototype.filter2d=function(t,e,n){var o=this;return t.map((function(t){return o.filter(t,e,n)}))},t.prototype.filter=function(t,e,n){return t.filter((function(t){return e.every((function(e){return!n(e,t)}))}))},t.ctorParameters=function(){return[{type:P,decorators:[{type:e.Inject,args:[P]}]}]},b([n.tuiPure],t.prototype,"filter2d",null),b([n.tuiPure],t.prototype,"filter",null),t=b([e.Pipe({name:"tuiHideSelected",pure:!1}),T(0,e.Inject(P))],t)}(),k=function(){function t(t,e){this.host=t,this.control=e,this.options=n.EMPTY_QUERY,this.label=""}return Object.defineProperty(t.prototype,"size",{get:function(){return this.options.first&&this.options.first.size||"m"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checkboxSize",{get:function(){return this.options.first&&r.sizeBigger(this.options.first.size)?"l":"m"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return!t.length})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return t.every((function(t){return t.disabled}))})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value$",{get:function(){var t=this;return h.combineLatest(this.items$,this.valueChanges$).pipe(y.map((function(e){for(var n=O(e,2),o=n[0],i=n[1],r=!1,u=function(e){var n=i.some((function(n){return t.matcher(n,o[e])}));if(!n&&r||n&&!r&&e)return{value:null};r=n},a=0;a<o.length;a++){var p=u(a);if("object"==typeof p)return p.value}return r})))},enumerable:!0,configurable:!0}),t.prototype.onClick=function(t){var e=this;if(this.control.control){var n=this.control.value||[],o=this.values,i=n.filter((function(t){return o.every((function(n){return!e.matcher(t,n)}))}));this.control.control.setValue(t?i:I(i,o))}},Object.defineProperty(t.prototype,"values",{get:function(){return this.filter(n.getOriginalArrayFromQueryList(this.options))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"matcher",{get:function(){return this.host.identityMatcher||n.TUI_DEFAULT_IDENTITY_MATCHER},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"items$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return t.map((function(t){return t.value})).filter(n.isPresent)})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges$",{get:function(){return n.tuiReplayedValueChangesFrom(this.control).pipe(y.map((function(t){return t||[]})))},enumerable:!0,configurable:!0}),t.prototype.filter=function(t){return t.map((function(t){return t.value})).filter(n.isPresent)},t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[r.TUI_DATA_LIST_HOST]}]},{type:i.NgControl,decorators:[{type:e.Inject,args:[i.NgControl]}]}]},b([e.ContentChildren(r.TuiOptionComponent)],t.prototype,"options",void 0),b([e.Input(),n.tuiDefaultProp()],t.prototype,"label",void 0),b([n.tuiPure],t.prototype,"empty$",null),b([n.tuiPure],t.prototype,"disabled$",null),b([n.tuiPure],t.prototype,"value$",null),b([n.tuiPure],t.prototype,"items$",null),b([n.tuiPure],t.prototype,"valueChanges$",null),b([n.tuiPure],t.prototype,"filter",null),t=b([e.Component({selector:"tui-opt-group[tuiMultiSelectGroup]",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="tui-space_right-3"\n [size]="checkboxSize"\n [value]="value"\n ></tui-primitive-checkbox>\n <span class="label">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:r.TUI_OPTION_CONTENT,useValue:null}],styles:[":host{display:flex;flex-direction:column}:host:before{content:''}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}"]}),T(0,e.Inject(r.TUI_DATA_LIST_HOST)),T(1,e.Inject(i.NgControl))],t)}();function w(t,e){return e||{handleOption:function(e){if(t.control){var n=t.value||[],o=n.indexOf(e);t.control.setValue(-1===o?I(n,[e]):I(n.slice(0,o),n.slice(o+1)))}}}}var M=new g.PolymorpheusComponent(f.TuiMultiSelectOptionComponent),j={writeValue:n.EMPTY_FUNCTION,registerOnChange:n.EMPTY_FUNCTION,registerOnTouched:n.EMPTY_FUNCTION},D=function(){function t(){}return t=b([e.Directive({selector:"[tuiMultiSelectGroup]",providers:[{provide:r.TUI_OPTION_CONTENT,useValue:M},{provide:r.TUI_DATA_LIST_HOST,deps:[i.NgControl,[new e.Optional,e.forwardRef((function(){return P}))]],useFactory:w},{provide:i.NG_VALUE_ACCESSOR,multi:!0,useValue:j}]})],t)}(),x=function(){function t(){}return t=b([e.NgModule({imports:[d.CommonModule,i.FormsModule,g.PolymorpheusModule,n.TuiPreventDefaultModule,n.TuiActiveZoneModule,a.TuiArrowModule,n.TuiLetModule,n.TuiMapperPipeModule,n.TuiHoveredModule,r.TuiSvgModule,r.TuiHostedDropdownModule,p.TuiInputTagModule,f.TuiMultiSelectOptionModule,r.TuiPrimitiveCheckboxModule,r.TuiDataListModule],declarations:[P,k,D,S],exports:[P,k,D,S]})],t)}();t.MULTI_SELECT_ACCESSOR=j,t.TUI_MULTI_SELECT_DEFAULT_OPTIONS=_,t.TUI_MULTI_SELECT_OPTION=M,t.TUI_MULTI_SELECT_OPTIONS=C,t.TuiHideSelectedPipe=S,t.TuiMultiSelectComponent=P,t.TuiMultiSelectGroupComponent=k,t.TuiMultiSelectGroupDirective=D,t.TuiMultiSelectModule=x,t.hostFallbackFactory=w,t.tuiMultiSelectOptionsProvider=function(t){return{provide:C,useValue:m(m({},_),t)}},Object.defineProperty(t,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */var v=function(t,e){return(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};var m=function(){return(m=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)};function b(t,e,n,o){var i,r=arguments.length,u=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(t,e,n,o);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(u=(r<3?i(u):r>3?i(e,n,u):i(e,n))||u);return r>3&&u&&Object.defineProperty(e,n,u),u}function T(t,e){return function(n,o){e(n,o,t)}}function O(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var o,i,r=n.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(o=r.next()).done;)u.push(o.value)}catch(t){i={error:t}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return u}function I(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(O(arguments[e]));return t}var _={expandable:!0,valueContent:""},C=new e.InjectionToken("Default parameters for multi select component",{factory:function(){return _}}),P=function(t){function o(o,i,r,a,p,s,c){var d=t.call(this,o,i)||this;return d.arrowMode=a,d.itemsHandlers=p,d.options=s,d.controller=c,d.stringify=d.itemsHandlers.stringify,d.identityMatcher=d.itemsHandlers.identityMatcher,d.expandable=d.options.expandable,d.search="",d.editable=!0,d.disabledItemHandler=d.itemsHandlers.disabledItemHandler,d.valueContent=d.options.valueContent,d.searchChange=new e.EventEmitter,d.datalist="",d.open=!1,d.valueMapper=function(t,e,o){return o?n.EMPTY_ARRAY:t.map((function(t){return new u.TuiStringifiableItem(t,e)}))},d.disabledItemHandlerWrapper=function(t){return function(e){return"string"==typeof e||t(e.item)}},r.define({iconBlank:l.iconBlank}),d}var d;return function(t,e){function n(){this.constructor=t}v(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(o,t),d=o,Object.defineProperty(o.prototype,"size",{get:function(){return this.controller.size},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"arrow",{get:function(){return this.interactive?this.arrowMode.interactive:this.arrowMode.disabled},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"nativeFocusableElement",{get:function(){return this.input?this.input.nativeFocusableElement:null},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"focused",{get:function(){return!!this.input&&this.input.focused||!!this.hostedDropdown&&this.hostedDropdown.focused},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"computedValue",{get:function(){return this.computedGroup?n.EMPTY_ARRAY:this.value},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"searchOrSpace",{get:function(){return this.computedGroup?" ":this.searchString},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"searchString",{get:function(){return null===this.search?"":this.search},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"tagIcon",{get:function(){return this.interactive?"iconBlank":""},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"inputHidden",{get:function(){return!this.editable&&!this.computedGroup},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"computedGroup",{get:function(){return!!this.valueContent&&this.value.length>0&&(!this.focused||!this.editable)},enumerable:!0,configurable:!0}),Object.defineProperty(o.prototype,"context",{get:function(){return this.getContext(this.value)},enumerable:!0,configurable:!0}),o.prototype.getStringifier=function(t){return function(e){var n=e.$implicit;return t(n)}},o.prototype.onHoveredChange=function(t){this.updateHovered(t)},o.prototype.onSpace=function(t){this.editable||t.preventDefault(),this.readOnly||(this.open=!0)},o.prototype.handleOption=function(t){var e=this.value,n=this.identityMatcher,o=e.findIndex((function(e){return n(e,t)}));this.updateValue(-1===o?I(e,[t]):e.filter((function(t,e){return e!==o}))),this.updateSearch(null)},o.prototype.onEnter=function(t){var e=this.value,n=this.accessor?this.accessor.getOptions():[];if(1===n.length){var o=e.indexOf(n[0]);t.preventDefault(),this.updateValue(-1===o?I(e,[n[0]]):I(e.slice(0,o),e.slice(o+1))),this.updateSearch(null)}},o.prototype.onClick=function(t){var e,o=t.nativeFocusableElement;this.editable&&this.interactive&&o&&n.isNativeFocused(o)&&(null===(e=this.hostedDropdown)||void 0===e||e.updateOpen(!this.open))},o.prototype.onArrowClick=function(){var t;null===(t=this.hostedDropdown)||void 0===t||t.updateOpen(!this.open),this.focusInput()},o.prototype.onInput=function(t){this.updateValue(t.map((function(t){return t.item})))},o.prototype.onSearch=function(t){this.open=!0,this.updateSearch(t)},o.prototype.onActiveZone=function(t){this.updateFocused(t)},o.prototype.setDisabledState=function(){t.prototype.setDisabledState.call(this),this.open=!1},o.prototype.getContext=function(t){return{$implicit:t}},o.prototype.updateSearch=function(t){this.search!==t&&(this.search=t,this.searchChange.emit(t))},o.prototype.focusInput=function(t){void 0===t&&(t=!1),this.nativeFocusableElement&&n.setNativeFocused(this.nativeFocusableElement,!0,t)},o.ctorParameters=function(){return[{type:i.NgControl,decorators:[{type:e.Optional},{type:e.Self},{type:e.Inject,args:[i.NgControl]}]},{type:e.ChangeDetectorRef,decorators:[{type:e.Inject,args:[e.ChangeDetectorRef]}]},{type:r.TuiSvgService,decorators:[{type:e.Inject,args:[r.TuiSvgService]}]},{type:void 0,decorators:[{type:e.Inject,args:[a.TUI_ARROW_MODE]}]},{type:void 0,decorators:[{type:e.Inject,args:[c.TUI_ITEMS_HANDLERS]}]},{type:void 0,decorators:[{type:e.Inject,args:[C]}]},{type:r.TuiTextfieldController,decorators:[{type:e.Inject,args:[r.TUI_TEXTFIELD_WATCHED_CONTROLLER]}]}]},b([e.ContentChild(r.TUI_DATA_LIST_ACCESSOR)],o.prototype,"accessor",void 0),b([e.ViewChild(r.TuiHostedDropdownComponent)],o.prototype,"hostedDropdown",void 0),b([e.ViewChild(p.TuiInputTagComponent)],o.prototype,"input",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"stringify",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"identityMatcher",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"expandable",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"search",void 0),b([e.Input(),e.HostBinding("class._editable"),n.tuiDefaultProp()],o.prototype,"editable",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"disabledItemHandler",void 0),b([e.Input(),n.tuiDefaultProp()],o.prototype,"valueContent",void 0),b([e.Output()],o.prototype,"searchChange",void 0),b([e.ContentChild(r.TuiDataListDirective,{read:e.TemplateRef})],o.prototype,"datalist",void 0),b([e.HostBinding("attr.data-size")],o.prototype,"size",null),b([n.tuiPure],o.prototype,"getStringifier",null),b([n.tuiPure],o.prototype,"getContext",null),o=d=b([e.Component({selector:"tui-multi-select",template:'<tui-hosted-dropdown\n class="t-hosted"\n [canOpen]="interactive"\n [content]="datalist || \'\'"\n [(open)]="open"\n (tuiHoveredChange)="onHoveredChange($event)"\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 [icon]="tagIcon"\n [disabled]="disabled"\n [disabledItemHandler]="disabledItemHandler | tuiMapper: disabledItemHandlerWrapper"\n [readOnly]="readOnly"\n [inputHidden]="!editable"\n [pseudoHovered]="computedHovered"\n [pseudoFocused]="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 class="t-wrapper" [class.t-wrapper_disabled]="disabled">\n <div\n *ngIf="computedGroup"\n polymorpheus-outlet\n class="t-group"\n [class.t-group_fullsize]="inputTag.labelOutside"\n [context]="context"\n [content]="valueContent"\n ></div>\n\n <div\n *ngIf="arrow"\n polymorpheus-outlet\n automation-id="tui-multi-select__arrow"\n tuiPreventDefault="mousedown"\n class="t-arrow"\n [content]="arrow"\n (click.prevent)="onArrowClick()"\n ></div>\n </div>\n</tui-hosted-dropdown>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,providers:[{provide:n.TUI_FOCUSABLE_ITEM_ACCESSOR,useExisting:e.forwardRef((function(){return d}))},{provide:r.TUI_DATA_LIST_HOST,useExisting:e.forwardRef((function(){return d}))},s.FIXED_DROPDOWN_CONTROLLER_PROVIDER,r.TEXTFIELD_CONTROLLER_PROVIDER],styles:[":host{position:relative;display:block}:host._disabled{pointer-events:none}.t-hosted{display:block}: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-context([data-size='s']) .t-wrapper{height:var(--tui-height-s)}:host-context([data-size='m']) .t-wrapper{height:var(--tui-height-m)}:host-context([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-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;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._disabled .t-arrow,:host._readonly .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)}"]}),T(0,e.Optional()),T(0,e.Self()),T(0,e.Inject(i.NgControl)),T(1,e.Inject(e.ChangeDetectorRef)),T(2,e.Inject(r.TuiSvgService)),T(3,e.Inject(a.TUI_ARROW_MODE)),T(4,e.Inject(c.TUI_ITEMS_HANDLERS)),T(5,e.Inject(C)),T(6,e.Inject(r.TUI_TEXTFIELD_WATCHED_CONTROLLER))],o)}(n.AbstractTuiMultipleControl),S=function(){function t(t){this.component=t}return t.prototype.transform=function(t,e){var n=null!=e?e:this.component,i=n.value,r=n.identityMatcher;return t?o.isFlat(t)?this.filter(t,i,r):this.filter2d(t,i,r):null},t.prototype.filter2d=function(t,e,n){var o=this;return t.map((function(t){return o.filter(t,e,n)}))},t.prototype.filter=function(t,e,n){return t.filter((function(t){return e.every((function(e){return!n(e,t)}))}))},t.ctorParameters=function(){return[{type:P,decorators:[{type:e.Inject,args:[P]}]}]},b([n.tuiPure],t.prototype,"filter2d",null),b([n.tuiPure],t.prototype,"filter",null),t=b([e.Pipe({name:"tuiHideSelected",pure:!1}),T(0,e.Inject(P))],t)}(),k=function(){function t(t,e){this.host=t,this.control=e,this.options=n.EMPTY_QUERY,this.label=""}return Object.defineProperty(t.prototype,"size",{get:function(){return this.options.first&&this.options.first.size||"m"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checkboxSize",{get:function(){return this.options.first&&r.sizeBigger(this.options.first.size)?"l":"m"},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"empty$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return!t.length})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"disabled$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return t.every((function(t){return t.disabled}))})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value$",{get:function(){var t=this;return g.combineLatest(this.items$,this.valueChanges$).pipe(y.map((function(e){for(var n=O(e,2),o=n[0],i=n[1],r=!1,u=function(e){var n=i.some((function(n){return t.matcher(n,o[e])}));if(!n&&r||n&&!r&&e)return{value:null};r=n},a=0;a<o.length;a++){var p=u(a);if("object"==typeof p)return p.value}return r})))},enumerable:!0,configurable:!0}),t.prototype.onClick=function(t){var e=this;if(this.control.control){var n=this.control.value||[],o=this.values,i=n.filter((function(t){return o.every((function(n){return!e.matcher(t,n)}))}));this.control.control.setValue(t?i:I(i,o))}},Object.defineProperty(t.prototype,"values",{get:function(){return this.filter(n.getOriginalArrayFromQueryList(this.options))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"matcher",{get:function(){return this.host.identityMatcher||n.TUI_DEFAULT_IDENTITY_MATCHER},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"items$",{get:function(){return n.itemsQueryListObservable(this.options).pipe(y.map((function(t){return t.map((function(t){return t.value})).filter(n.isPresent)})))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"valueChanges$",{get:function(){return n.tuiReplayedValueChangesFrom(this.control).pipe(y.map((function(t){return t||[]})))},enumerable:!0,configurable:!0}),t.prototype.filter=function(t){return t.map((function(t){return t.value})).filter(n.isPresent)},t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[r.TUI_DATA_LIST_HOST]}]},{type:i.NgControl,decorators:[{type:e.Inject,args:[i.NgControl]}]}]},b([e.ContentChildren(r.TuiOptionComponent)],t.prototype,"options",void 0),b([e.Input(),n.tuiDefaultProp()],t.prototype,"label",void 0),b([n.tuiPure],t.prototype,"empty$",null),b([n.tuiPure],t.prototype,"disabled$",null),b([n.tuiPure],t.prototype,"value$",null),b([n.tuiPure],t.prototype,"items$",null),b([n.tuiPure],t.prototype,"valueChanges$",null),b([n.tuiPure],t.prototype,"filter",null),t=b([e.Component({selector:"tui-opt-group[tuiMultiSelectGroup]",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="tui-space_right-3"\n [size]="checkboxSize"\n [value]="value"\n ></tui-primitive-checkbox>\n <span class="label">{{ label }}</span>\n </button>\n</ng-container>\n<ng-content></ng-content>\n',changeDetection:e.ChangeDetectionStrategy.OnPush,viewProviders:[{provide:r.TUI_OPTION_CONTENT,useValue:null}],styles:[":host{display:flex;flex-direction:column}:host:before{content:''}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:var(--tui-font-text-xs);flex:1;color:var(--tui-text-02)}"]}),T(0,e.Inject(r.TUI_DATA_LIST_HOST)),T(1,e.Inject(i.NgControl))],t)}();function w(t,e){return e||{handleOption:function(e){if(t.control){var n=t.value||[],o=n.indexOf(e);t.control.setValue(-1===o?I(n,[e]):I(n.slice(0,o),n.slice(o+1)))}}}}var D=new h.PolymorpheusComponent(f.TuiMultiSelectOptionComponent),E={writeValue:n.EMPTY_FUNCTION,registerOnChange:n.EMPTY_FUNCTION,registerOnTouched:n.EMPTY_FUNCTION},M=function(){function t(){}return t=b([e.Directive({selector:"[tuiMultiSelectGroup]",providers:[{provide:r.TUI_OPTION_CONTENT,useValue:D},{provide:r.TUI_DATA_LIST_HOST,deps:[i.NgControl,[new e.Optional,e.forwardRef((function(){return P}))]],useFactory:w},{provide:i.NG_VALUE_ACCESSOR,multi:!0,useValue:E}]})],t)}(),j=function(){function t(){}return t=b([e.NgModule({imports:[d.CommonModule,i.FormsModule,h.PolymorpheusModule,n.TuiPreventDefaultModule,n.TuiActiveZoneModule,a.TuiArrowModule,n.TuiLetModule,n.TuiMapperPipeModule,n.TuiHoveredModule,r.TuiSvgModule,r.TuiHostedDropdownModule,p.TuiInputTagModule,f.TuiMultiSelectOptionModule,r.TuiPrimitiveCheckboxModule,r.TuiDataListModule],declarations:[P,k,M,S],exports:[P,k,M,S]})],t)}();t.MULTI_SELECT_ACCESSOR=E,t.TUI_MULTI_SELECT_DEFAULT_OPTIONS=_,t.TUI_MULTI_SELECT_OPTION=D,t.TUI_MULTI_SELECT_OPTIONS=C,t.TuiHideSelectedPipe=S,t.TuiMultiSelectComponent=P,t.TuiMultiSelectGroupComponent=k,t.TuiMultiSelectGroupDirective=M,t.TuiMultiSelectModule=j,t.hostFallbackFactory=w,t.tuiMultiSelectOptionsProvider=function(t){return{provide:C,useValue:m(m({},_),t)}},Object.defineProperty(t,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-kit-components-multi-select.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/multi-select/multi-select-options.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.component.ts","ng://@taiga-ui/kit/components/multi-select/hide-selected.pipe.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","TUI_MULTI_SELECT_DEFAULT_OPTIONS","expandable","valueContent","TUI_MULTI_SELECT_OPTIONS","InjectionToken","factory","TuiMultiSelectComponent","control","changeDetectorRef","svgService","arrowMode","itemsHandlers","options","_this","_super","stringify","identityMatcher","search","editable","disabledItemHandler","searchChange","EventEmitter","datalist","open","valueMapper","group","EMPTY_ARRAY","map","item","TuiStringifiableItem","disabledItemHandlerWrapper","handler","stringifiable","define","iconBlank","constants","__","constructor","create","__extends","interactive","disabled","input","nativeFocusableElement","focused","hostedDropdown","computedGroup","searchString","getContext","getStringifier","_a","$implicit","onHoveredChange","hovered","updateHovered","onSpace","event","preventDefault","readOnly","handleOption","option","index","findIndex","updateValue","filter","_","updateSearch","onEnter","accessor","getOptions","indexOf","slice","onClick","isNativeFocused","_b","updateOpen","onArrowClick","focusInput","onInput","onSearch","onActiveZone","active","updateFocused","setDisabledState","emit","preventScroll","setNativeFocused","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TuiSvgService","TUI_ARROW_MODE","TUI_ITEMS_HANDLERS","ContentChild","TUI_DATA_LIST_ACCESSOR","ViewChild","TuiHostedDropdownComponent","TuiInputTagComponent","Input","tuiDefaultProp","HostBinding","Output","TuiDataListDirective","read","TemplateRef","tuiPure","TuiMultiSelectComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","TUI_DATA_LIST_HOST","FIXED_DROPDOWN_CONTROLLER_PROVIDER","AbstractTuiMultipleControl","TuiHideSelectedPipe","component","transform","items","isFlat","filter2d","matcher","subitems","every","selected","Pipe","name","pure","TuiMultiSelectGroupComponent","host","EMPTY_QUERY","label","first","size","sizeBigger","itemsQueryListObservable","pipe","combineLatest","items$","valueChanges$","current","result","some","checked","controlValue","values","filtered","setValue","getOriginalArrayFromQueryList","TUI_DEFAULT_IDENTITY_MATCHER","isPresent","tuiReplayedValueChangesFrom","ContentChildren","TuiOptionComponent","viewProviders","TUI_OPTION_CONTENT","useValue","hostFallbackFactory","TUI_MULTI_SELECT_OPTION","PolymorpheusComponent","TuiMultiSelectOptionComponent","MULTI_SELECT_ACCESSOR","writeValue","EMPTY_FUNCTION","registerOnChange","registerOnTouched","TuiMultiSelectGroupDirective","Directive","deps","useFactory","NG_VALUE_ACCESSOR","multi","TuiMultiSelectModule","NgModule","imports","CommonModule","FormsModule","PolymorpheusModule","TuiPreventDefaultModule","TuiActiveZoneModule","TuiArrowModule","TuiLetModule","TuiMapperPipeModule","TuiHoveredModule","TuiSvgModule","TuiHostedDropdownModule","TuiInputTagModule","TuiMultiSelectOptionModule","TuiPrimitiveCheckboxModule","TuiDataListModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<ReadonlyArray<T>>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: '',\n};\n\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken<\n TuiMultiSelectOptions<unknown>\n>('Default parameters for multi select component', {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n});\n\nexport const tuiMultiSelectOptionsProvider: <T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiMultiSelectOptions<T>>) => ({\n provide: TUI_MULTI_SELECT_OPTIONS,\n useValue: {...TUI_MULTI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n EMPTY_ARRAY,\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TUI_DATA_LIST_HOST,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSvgService,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {iconBlank} from '@taiga-ui/kit/constants';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select-options';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Input()\n @HostBinding('class._editable')\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiSvgService) svgService: TuiSvgService,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n ) {\n super(control, changeDetectorRef);\n\n svgService.define({iconBlank});\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.input && this.input.focused) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): ReadonlyArray<T> {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n /**\n * Pass empty icon to InputTag (inside this component)\n * to prevent overflow of arrow icon by many tags\n */\n get tagIcon(): string {\n return this.interactive ? 'iconBlank' : '';\n }\n\n get inputHidden(): boolean {\n return !this.editable && !this.computedGroup;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n get context(): TuiContextWithImplicit<ReadonlyArray<T>> {\n return this.getContext(this.value);\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiMapper<\n ReadonlyArray<T>,\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify: TuiStringHandler<T>, group: boolean) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiMapper<\n TuiBooleanHandler<T>,\n TuiBooleanHandler<TuiStringifiableItem<T>>\n > = handler => stringifiable =>\n typeof stringifiable === 'string' || handler(stringifiable.item);\n\n onHoveredChange(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onSpace(event: KeyboardEvent) {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n handleOption(option: T) {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.updateValue(\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index),\n );\n this.updateSearch(null);\n }\n\n onEnter(event: KeyboardEvent) {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n const index = value.indexOf(options[0]);\n\n event.preventDefault();\n this.updateValue(\n index === -1\n ? [...value, options[0]]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent) {\n if (\n this.editable &&\n this.interactive &&\n nativeFocusableElement &&\n isNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onArrowClick() {\n this.hostedDropdown?.updateOpen(!this.open);\n this.focusInput();\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>) {\n this.updateValue(value.map(({item}) => item));\n }\n\n onSearch(search: string | null) {\n this.open = true;\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n setDisabledState() {\n super.setDisabledState();\n this.open = false;\n }\n\n @tuiPure\n private getContext(\n $implicit: ReadonlyArray<T>,\n ): TuiContextWithImplicit<ReadonlyArray<T>> {\n return {$implicit};\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(items: T): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n {value, identityMatcher}: TuiMultiSelectComponent<T> = this.component,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subitems => this.filter(subitems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n isPresent,\n itemsQueryListObservable,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiDefaultProp,\n TuiIdentityMatcher,\n tuiPure,\n tuiReplayedValueChangesFrom,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_DATA_LIST_HOST,\n TUI_OPTION_CONTENT,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: null,\n },\n ],\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n label = '';\n\n constructor(\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeXS | TuiSizeL {\n return (this.options.first && this.options.first.size) || 'm';\n }\n\n get checkboxSize(): TuiSizeL {\n return this.options.first && sizeBigger(this.options.first.size) ? 'l' : 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest(this.items$, this.valueChanges$).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null) {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: ReadonlyArray<T> = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): ReadonlyArray<T> {\n return this.filter(getOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<ReadonlyArray<T>> {\n return itemsQueryListObservable(this.options).pipe(\n map(options => options.map(({value}) => value).filter(isPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<ReadonlyArray<T>> {\n return tuiReplayedValueChangesFrom<ReadonlyArray<T>>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): ReadonlyArray<T> {\n return items.map(({value}) => value).filter(isPresent);\n }\n}\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport function hostFallbackFactory<T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n): TuiDataListHost<T> {\n return (\n host || {\n handleOption: option => {\n if (!control.control) {\n return;\n }\n\n const value = control.value || [];\n const index = value.indexOf(option);\n\n control.control.setValue(\n index === -1\n ? [...value, option]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n },\n }\n );\n}\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n// TODO: remove in ivy compilation\nexport const MULTI_SELECT_ACCESSOR = {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n};\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: TUI_MULTI_SELECT_OPTION,\n },\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: hostFallbackFactory,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: MULTI_SELECT_ACCESSOR,\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveCheckboxModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiHoveredModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiPrimitiveCheckboxModule,\n TuiDataListModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n})\nexport class TuiMultiSelectModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/multi-select/multi-select-options.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.component.ts","ng://@taiga-ui/kit/components/multi-select/hide-selected.pipe.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","__spread","concat","TUI_MULTI_SELECT_DEFAULT_OPTIONS","expandable","valueContent","TUI_MULTI_SELECT_OPTIONS","InjectionToken","factory","TuiMultiSelectComponent","control","changeDetectorRef","svgService","arrowMode","itemsHandlers","options","controller","_this","_super","stringify","identityMatcher","search","editable","disabledItemHandler","searchChange","EventEmitter","datalist","open","valueMapper","group","EMPTY_ARRAY","map","item","TuiStringifiableItem","disabledItemHandlerWrapper","handler","stringifiable","define","iconBlank","constants","__","constructor","create","__extends","size","interactive","disabled","input","nativeFocusableElement","focused","hostedDropdown","computedGroup","searchString","getContext","getStringifier","_a","$implicit","onHoveredChange","hovered","updateHovered","onSpace","event","preventDefault","readOnly","handleOption","option","index","findIndex","updateValue","filter","_","updateSearch","onEnter","accessor","getOptions","indexOf","slice","onClick","isNativeFocused","_b","updateOpen","onArrowClick","focusInput","onInput","onSearch","onActiveZone","active","updateFocused","setDisabledState","emit","preventScroll","setNativeFocused","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TuiSvgService","TUI_ARROW_MODE","TUI_ITEMS_HANDLERS","TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER","ContentChild","TUI_DATA_LIST_ACCESSOR","ViewChild","TuiHostedDropdownComponent","TuiInputTagComponent","Input","tuiDefaultProp","HostBinding","Output","TuiDataListDirective","read","TemplateRef","tuiPure","TuiMultiSelectComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","TUI_DATA_LIST_HOST","FIXED_DROPDOWN_CONTROLLER_PROVIDER","TEXTFIELD_CONTROLLER_PROVIDER","AbstractTuiMultipleControl","TuiHideSelectedPipe","component","transform","items","isFlat","filter2d","matcher","subItems","every","selected","Pipe","name","pure","TuiMultiSelectGroupComponent","host","EMPTY_QUERY","label","first","sizeBigger","itemsQueryListObservable","pipe","combineLatest","items$","valueChanges$","current","result","some","checked","controlValue","values","filtered","setValue","getOriginalArrayFromQueryList","TUI_DEFAULT_IDENTITY_MATCHER","isPresent","tuiReplayedValueChangesFrom","ContentChildren","TuiOptionComponent","viewProviders","TUI_OPTION_CONTENT","useValue","hostFallbackFactory","TUI_MULTI_SELECT_OPTION","PolymorpheusComponent","TuiMultiSelectOptionComponent","MULTI_SELECT_ACCESSOR","writeValue","EMPTY_FUNCTION","registerOnChange","registerOnTouched","TuiMultiSelectGroupDirective","Directive","deps","useFactory","NG_VALUE_ACCESSOR","multi","TuiMultiSelectModule","NgModule","imports","CommonModule","FormsModule","PolymorpheusModule","TuiPreventDefaultModule","TuiActiveZoneModule","TuiArrowModule","TuiLetModule","TuiMapperPipeModule","TuiHoveredModule","TuiSvgModule","TuiHostedDropdownModule","TuiInputTagModule","TuiMultiSelectOptionModule","TuiPrimitiveCheckboxModule","TuiDataListModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<ReadonlyArray<T>>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: '',\n};\n\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken<\n TuiMultiSelectOptions<unknown>\n>('Default parameters for multi select component', {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n});\n\nexport const tuiMultiSelectOptionsProvider: <T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiMultiSelectOptions<T>>) => ({\n provide: TUI_MULTI_SELECT_OPTIONS,\n useValue: {...TUI_MULTI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n EMPTY_ARRAY,\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DATA_LIST_ACCESSOR,\n TUI_DATA_LIST_HOST,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSizeL,\n TuiSizeS,\n TuiSvgService,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {iconBlank} from '@taiga-ui/kit/constants';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select-options';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Input()\n @HostBinding('class._editable')\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiSvgService) svgService: TuiSvgService,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, changeDetectorRef);\n\n svgService.define({iconBlank});\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.input && this.input.focused) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): ReadonlyArray<T> {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n /**\n * Pass empty icon to InputTag (inside this component)\n * to prevent overflow of arrow icon by many tags\n */\n get tagIcon(): string {\n return this.interactive ? 'iconBlank' : '';\n }\n\n get inputHidden(): boolean {\n return !this.editable && !this.computedGroup;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n get context(): TuiContextWithImplicit<ReadonlyArray<T>> {\n return this.getContext(this.value);\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiMapper<\n ReadonlyArray<T>,\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify: TuiStringHandler<T>, group: boolean) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiMapper<\n TuiBooleanHandler<T>,\n TuiBooleanHandler<TuiStringifiableItem<T>>\n > = handler => stringifiable =>\n typeof stringifiable === 'string' || handler(stringifiable.item);\n\n onHoveredChange(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onSpace(event: KeyboardEvent) {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n handleOption(option: T) {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.updateValue(\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index),\n );\n this.updateSearch(null);\n }\n\n onEnter(event: KeyboardEvent) {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n const index = value.indexOf(options[0]);\n\n event.preventDefault();\n this.updateValue(\n index === -1\n ? [...value, options[0]]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent) {\n if (\n this.editable &&\n this.interactive &&\n nativeFocusableElement &&\n isNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onArrowClick() {\n this.hostedDropdown?.updateOpen(!this.open);\n this.focusInput();\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>) {\n this.updateValue(value.map(({item}) => item));\n }\n\n onSearch(search: string | null) {\n this.open = true;\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n setDisabledState() {\n super.setDisabledState();\n this.open = false;\n }\n\n @tuiPure\n private getContext(\n $implicit: ReadonlyArray<T>,\n ): TuiContextWithImplicit<ReadonlyArray<T>> {\n return {$implicit};\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n component?: TuiMultiSelectComponent<T>, // TODO: @deprecated remove in v3.0\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n const {value, identityMatcher} = component ?? this.component;\n\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subItems => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n isPresent,\n itemsQueryListObservable,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiDefaultProp,\n TuiIdentityMatcher,\n tuiPure,\n tuiReplayedValueChangesFrom,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_DATA_LIST_HOST,\n TUI_OPTION_CONTENT,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: null,\n },\n ],\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n label = '';\n\n constructor(\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeXS | TuiSizeL {\n return (this.options.first && this.options.first.size) || 'm';\n }\n\n get checkboxSize(): TuiSizeL {\n return this.options.first && sizeBigger(this.options.first.size) ? 'l' : 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest(this.items$, this.valueChanges$).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null) {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: ReadonlyArray<T> = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): ReadonlyArray<T> {\n return this.filter(getOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<ReadonlyArray<T>> {\n return itemsQueryListObservable(this.options).pipe(\n map(options => options.map(({value}) => value).filter(isPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<ReadonlyArray<T>> {\n return tuiReplayedValueChangesFrom<ReadonlyArray<T>>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): ReadonlyArray<T> {\n return items.map(({value}) => value).filter(isPresent);\n }\n}\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport function hostFallbackFactory<T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n): TuiDataListHost<T> {\n return (\n host || {\n handleOption: option => {\n if (!control.control) {\n return;\n }\n\n const value = control.value || [];\n const index = value.indexOf(option);\n\n control.control.setValue(\n index === -1\n ? [...value, option]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n },\n }\n );\n}\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n// TODO: remove in ivy compilation\nexport const MULTI_SELECT_ACCESSOR = {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n};\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: TUI_MULTI_SELECT_OPTION,\n },\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: hostFallbackFactory,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: MULTI_SELECT_ACCESSOR,\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveCheckboxModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiHoveredModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiPrimitiveCheckboxModule,\n TuiDataListModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n})\nexport class TuiMultiSelectModule {}\n"]}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk'), require('rxjs'), require('rxjs/operators'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/progress', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk', 'rxjs', 'rxjs/operators', '@angular/common'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].kit = global['taiga-ui'].kit || {}, global['taiga-ui'].kit.components = global['taiga-ui'].kit.components || {}, global['taiga-ui'].kit.components.progress = {}), global.ng.core, global.common, global.cdk, global.rxjs, global.rxjs.operators, global.ng.common));
5
- }(this, (function (exports, core, common, cdk, rxjs, operators, common$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@taiga-ui/cdk'), require('@ng-web-apis/common'), require('rxjs'), require('rxjs/operators')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/progress', ['exports', '@angular/common', '@angular/core', '@taiga-ui/cdk', '@ng-web-apis/common', 'rxjs', 'rxjs/operators'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].kit = global['taiga-ui'].kit || {}, global['taiga-ui'].kit.components = global['taiga-ui'].kit.components || {}, global['taiga-ui'].kit.components.progress = {}), global.ng.common, global.ng.core, global.cdk, global.common$1, global.rxjs, global.rxjs.operators));
5
+ }(this, (function (exports, common, core, cdk, common$1, rxjs, operators) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -223,70 +223,6 @@
223
223
  return value;
224
224
  }
225
225
 
226
- var AbstractTuiColorSegments = /** @class */ (function () {
227
- function AbstractTuiColorSegments(userAgent, elementRef) {
228
- this.userAgent = userAgent;
229
- this.elementRef = elementRef;
230
- this.isOldBrowsers = cdk.isEdgeOlderThan(cdk.CHROMIUM_EDGE_START_VERSION, this.userAgent) ||
231
- cdk.isIE(this.userAgent);
232
- }
233
- AbstractTuiColorSegments.prototype.calculate = function (colors) {
234
- if (this.isOldBrowsers) {
235
- return colors[0];
236
- }
237
- var elementWidth = this.elementRef.nativeElement.offsetWidth;
238
- var segmentWidth = Math.ceil(elementWidth / colors.length);
239
- var colorsString = colors.reduce(function (acc, color, i) {
240
- return acc + ", " + color + " " + i * segmentWidth + "px " + (i + 1) * segmentWidth + "px";
241
- }, '');
242
- return "linear-gradient(to right " + colorsString + ")";
243
- };
244
- AbstractTuiColorSegments.ctorParameters = function () { return [
245
- { type: String, decorators: [{ type: core.Inject, args: [common.USER_AGENT,] }] },
246
- { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] }
247
- ]; };
248
- AbstractTuiColorSegments = __decorate([
249
- core.Injectable(),
250
- __param(0, core.Inject(common.USER_AGENT)),
251
- __param(1, core.Inject(core.ElementRef))
252
- ], AbstractTuiColorSegments);
253
- return AbstractTuiColorSegments;
254
- }());
255
-
256
- /**
257
- * @deprecated use tuiProgressColorSegmentsAsync instead
258
- * {@link TuiProgressColorSegmentsAsyncPipe}
259
- * example: `<progress [color]="colors | tuiProgressColorSegmentsAsync | async">`
260
- */
261
- var TuiProgressColorSegmentsPipe = /** @class */ (function (_super) {
262
- __extends(TuiProgressColorSegmentsPipe, _super);
263
- function TuiProgressColorSegmentsPipe() {
264
- return _super !== null && _super.apply(this, arguments) || this;
265
- }
266
- TuiProgressColorSegmentsPipe.prototype.transform = function (colors) {
267
- return this.calculate(colors);
268
- };
269
- TuiProgressColorSegmentsPipe = __decorate([
270
- core.Pipe({ name: 'tuiProgressColorSegments' })
271
- ], TuiProgressColorSegmentsPipe);
272
- return TuiProgressColorSegmentsPipe;
273
- }(AbstractTuiColorSegments));
274
-
275
- var TuiProgressColorSegmentsAsyncPipe = /** @class */ (function (_super) {
276
- __extends(TuiProgressColorSegmentsAsyncPipe, _super);
277
- function TuiProgressColorSegmentsAsyncPipe() {
278
- return _super !== null && _super.apply(this, arguments) || this;
279
- }
280
- TuiProgressColorSegmentsAsyncPipe.prototype.transform = function (colors) {
281
- var _this = this;
282
- return rxjs.timer(0).pipe(operators.map(function () { return _this.calculate(colors); }));
283
- };
284
- TuiProgressColorSegmentsAsyncPipe = __decorate([
285
- core.Pipe({ name: 'tuiProgressColorSegmentsAsync' })
286
- ], TuiProgressColorSegmentsAsyncPipe);
287
- return TuiProgressColorSegmentsAsyncPipe;
288
- }(AbstractTuiColorSegments));
289
-
290
226
  var TuiProgressBarComponent = /** @class */ (function () {
291
227
  function TuiProgressBarComponent() {
292
228
  this.size = 'm';
@@ -311,6 +247,66 @@
311
247
  return TuiProgressBarComponent;
312
248
  }());
313
249
 
250
+ /**
251
+ * TODO in v3.0 move inside {@link TuiProgressColorSegmentsDirective} (as a private method)
252
+ * (after deletion of {@link TuiProgressColorSegmentsPipe} and {@link TuiProgressColorSegmentsAsyncPipe})
253
+ */
254
+ var calculateColorSegments = function (colors, progressWidth) {
255
+ var segmentWidth = Math.ceil(progressWidth / colors.length);
256
+ var colorsString = colors.reduce(function (acc, color, i) {
257
+ return acc + ", " + color + " " + i * segmentWidth + "px " + (i + 1) * segmentWidth + "px";
258
+ }, '');
259
+ return "linear-gradient(to right " + colorsString + ")";
260
+ };
261
+
262
+ var TuiProgressColorSegmentsDirective = /** @class */ (function () {
263
+ function TuiProgressColorSegmentsDirective(elementRef, resize$, userAgent) {
264
+ this.elementRef = elementRef;
265
+ this.resize$ = resize$;
266
+ this.userAgent = userAgent;
267
+ this.isOldBrowsers = cdk.isEdgeOlderThan(cdk.CHROMIUM_EDGE_START_VERSION, this.userAgent) ||
268
+ cdk.isIE(this.userAgent);
269
+ this.colors = [];
270
+ }
271
+ Object.defineProperty(TuiProgressColorSegmentsDirective.prototype, "calcSegments$", {
272
+ get: function () {
273
+ var _this = this;
274
+ return this.resize$.pipe(operators.map(function () {
275
+ return _this.isOldBrowsers
276
+ ? _this.colors[0]
277
+ : calculateColorSegments(_this.colors, _this.elementRef.nativeElement.offsetWidth);
278
+ }));
279
+ },
280
+ enumerable: true,
281
+ configurable: true
282
+ });
283
+ TuiProgressColorSegmentsDirective.ctorParameters = function () { return [
284
+ { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] },
285
+ { type: rxjs.Observable, decorators: [{ type: core.Inject, args: [cdk.TuiResizeService,] }] },
286
+ { type: String, decorators: [{ type: core.Inject, args: [common$1.USER_AGENT,] }] }
287
+ ]; };
288
+ __decorate([
289
+ core.Input('tuiProgressColorSegments')
290
+ ], TuiProgressColorSegmentsDirective.prototype, "colors", void 0);
291
+ __decorate([
292
+ cdk.tuiPure
293
+ ], TuiProgressColorSegmentsDirective.prototype, "calcSegments$", null);
294
+ TuiProgressColorSegmentsDirective = __decorate([
295
+ core.Directive({
296
+ selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',
297
+ host: {
298
+ '[$.style.--tui-progress-color]': 'calcSegments$',
299
+ '($.style.--tui-progress-color)': '0',
300
+ },
301
+ providers: [cdk.TuiDestroyService, cdk.TuiResizeService],
302
+ }),
303
+ __param(0, core.Inject(core.ElementRef)),
304
+ __param(1, core.Inject(cdk.TuiResizeService)),
305
+ __param(2, core.Inject(common$1.USER_AGENT))
306
+ ], TuiProgressColorSegmentsDirective);
307
+ return TuiProgressColorSegmentsDirective;
308
+ }());
309
+
314
310
  // @dynamic
315
311
  var TuiProgressCircleComponent = /** @class */ (function () {
316
312
  function TuiProgressCircleComponent(userAgent, windowRef, elementRef) {
@@ -342,8 +338,8 @@
342
338
  configurable: true
343
339
  });
344
340
  TuiProgressCircleComponent.ctorParameters = function () { return [
345
- { type: String, decorators: [{ type: core.Inject, args: [common.USER_AGENT,] }] },
346
- { type: Window, decorators: [{ type: core.Inject, args: [common.WINDOW,] }] },
341
+ { type: String, decorators: [{ type: core.Inject, args: [common$1.USER_AGENT,] }] },
342
+ { type: Window, decorators: [{ type: core.Inject, args: [common$1.WINDOW,] }] },
347
343
  { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] }
348
344
  ]; };
349
345
  __decorate([
@@ -377,8 +373,8 @@
377
373
  changeDetection: core.ChangeDetectionStrategy.OnPush,
378
374
  styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size='s']{width:2em;height:2em}:host[data-size='s'] .t-track{\n r: 0.75em;\n stroke-width:.5em}:host[data-size='s'] .t-progress{\n r: 0.75em;\n stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:calc(4.71238898em - var(--progress-percentage) * 4.71238898em)}:host[data-size='m']{width:3em;height:3em}:host[data-size='m'] .t-track{\n r: 1.375em;\n stroke-width:.25em}:host[data-size='m'] .t-progress{\n r: 1.3125em;\n stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:calc(8.24668072em - var(--progress-percentage) * 8.24668072em)}:host[data-size='l']{width:4em;height:4em}:host[data-size='l'] .t-track{\n r: 1.875em;\n stroke-width:.25em}:host[data-size='l'] .t-progress{\n r: 1.8125em;\n stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:calc(11.38827337em - var(--progress-percentage) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{\n r: 3.375em;\n stroke-width:.25em}:host[data-size=xl] .t-progress{\n r: 3.3125em;\n stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:calc(20.81305133em - var(--progress-percentage) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color,currentColor);transition:stroke-dashoffset var(--tui-duration) linear}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}"]
379
375
  }),
380
- __param(0, core.Inject(common.USER_AGENT)),
381
- __param(1, core.Inject(common.WINDOW)),
376
+ __param(0, core.Inject(common$1.USER_AGENT)),
377
+ __param(1, core.Inject(common$1.WINDOW)),
382
378
  __param(2, core.Inject(core.ElementRef))
383
379
  ], TuiProgressCircleComponent);
384
380
  return TuiProgressCircleComponent;
@@ -444,14 +440,83 @@
444
440
  return TuiProgressSegmentedComponent;
445
441
  }());
446
442
 
443
+ // TODO delete in v3.0
444
+ var AbstractTuiColorSegments = /** @class */ (function () {
445
+ function AbstractTuiColorSegments(userAgent, elementRef) {
446
+ this.userAgent = userAgent;
447
+ this.elementRef = elementRef;
448
+ this.isOldBrowsers = cdk.isEdgeOlderThan(cdk.CHROMIUM_EDGE_START_VERSION, this.userAgent) ||
449
+ cdk.isIE(this.userAgent);
450
+ }
451
+ AbstractTuiColorSegments.prototype.calculate = function (colors) {
452
+ if (this.isOldBrowsers) {
453
+ return colors[0];
454
+ }
455
+ var elementWidth = this.elementRef.nativeElement.offsetWidth;
456
+ return calculateColorSegments(colors, elementWidth);
457
+ };
458
+ AbstractTuiColorSegments.ctorParameters = function () { return [
459
+ { type: String, decorators: [{ type: core.Inject, args: [common$1.USER_AGENT,] }] },
460
+ { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] }
461
+ ]; };
462
+ AbstractTuiColorSegments = __decorate([
463
+ core.Injectable(),
464
+ __param(0, core.Inject(common$1.USER_AGENT)),
465
+ __param(1, core.Inject(core.ElementRef))
466
+ ], AbstractTuiColorSegments);
467
+ return AbstractTuiColorSegments;
468
+ }());
469
+
470
+ // TODO delete in v3.0
471
+ var TuiProgressColorSegmentsPipe = /** @class */ (function (_super) {
472
+ __extends(TuiProgressColorSegmentsPipe, _super);
473
+ function TuiProgressColorSegmentsPipe() {
474
+ return _super !== null && _super.apply(this, arguments) || this;
475
+ }
476
+ /**
477
+ * @deprecated use tuiProgressColorSegments directive instead
478
+ * {@link TuiProgressColorSegmentsDirective}
479
+ * @example: `<progress tuiProgressBar [tuiProgressColorSegments]="colors">`
480
+ */
481
+ TuiProgressColorSegmentsPipe.prototype.transform = function (colors) {
482
+ return this.calculate(colors);
483
+ };
484
+ TuiProgressColorSegmentsPipe = __decorate([
485
+ core.Pipe({ name: 'tuiProgressColorSegments' })
486
+ ], TuiProgressColorSegmentsPipe);
487
+ return TuiProgressColorSegmentsPipe;
488
+ }(AbstractTuiColorSegments));
489
+
490
+ // TODO delete in v3.0
491
+ var TuiProgressColorSegmentsAsyncPipe = /** @class */ (function (_super) {
492
+ __extends(TuiProgressColorSegmentsAsyncPipe, _super);
493
+ function TuiProgressColorSegmentsAsyncPipe() {
494
+ return _super !== null && _super.apply(this, arguments) || this;
495
+ }
496
+ /**
497
+ * @deprecated use tuiProgressColorSegments directive instead
498
+ * {@link TuiProgressColorSegmentsDirective}
499
+ * @example: `<progress tuiProgressBar [tuiProgressColorSegments]="colors">`
500
+ */
501
+ TuiProgressColorSegmentsAsyncPipe.prototype.transform = function (colors) {
502
+ var _this = this;
503
+ return rxjs.timer(0).pipe(operators.map(function () { return _this.calculate(colors); }));
504
+ };
505
+ TuiProgressColorSegmentsAsyncPipe = __decorate([
506
+ core.Pipe({ name: 'tuiProgressColorSegmentsAsync' })
507
+ ], TuiProgressColorSegmentsAsyncPipe);
508
+ return TuiProgressColorSegmentsAsyncPipe;
509
+ }(AbstractTuiColorSegments));
510
+
447
511
  var TuiProgressModule = /** @class */ (function () {
448
512
  function TuiProgressModule() {
449
513
  }
450
514
  TuiProgressModule = __decorate([
451
515
  core.NgModule({
452
- imports: [common$1.CommonModule, cdk.TuiRepeatTimesModule],
516
+ imports: [common.CommonModule, cdk.TuiRepeatTimesModule],
453
517
  declarations: [
454
518
  TuiProgressBarComponent,
519
+ TuiProgressColorSegmentsDirective,
455
520
  TuiProgressColorSegmentsPipe,
456
521
  TuiProgressColorSegmentsAsyncPipe,
457
522
  TuiProgressCircleComponent,
@@ -461,6 +526,7 @@
461
526
  exports: [
462
527
  TuiProgressBarComponent,
463
528
  TuiProgressCircleComponent,
529
+ TuiProgressColorSegmentsDirective,
464
530
  TuiProgressColorSegmentsPipe,
465
531
  TuiProgressColorSegmentsAsyncPipe,
466
532
  TuiProgressLabelComponent,
@@ -475,6 +541,7 @@
475
541
  exports.TuiProgressBarComponent = TuiProgressBarComponent;
476
542
  exports.TuiProgressCircleComponent = TuiProgressCircleComponent;
477
543
  exports.TuiProgressColorSegmentsAsyncPipe = TuiProgressColorSegmentsAsyncPipe;
544
+ exports.TuiProgressColorSegmentsDirective = TuiProgressColorSegmentsDirective;
478
545
  exports.TuiProgressColorSegmentsPipe = TuiProgressColorSegmentsPipe;
479
546
  exports.TuiProgressLabelComponent = TuiProgressLabelComponent;
480
547
  exports.TuiProgressModule = TuiProgressModule;