@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
@@ -2,7 +2,7 @@ import { __decorate, __extends, __param, __read, __spread } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, forwardRef, HostBinding, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { AbstractTuiMultipleControl, EMPTY_ARRAY, isNativeFocused, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiPure, } from '@taiga-ui/cdk';
5
- import { TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TuiDataListAccessor, TuiDataListDirective, TuiDataListHost, TuiHostedDropdownComponent, TuiSvgService, } from '@taiga-ui/core';
5
+ import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_DATA_LIST_ACCESSOR, TUI_DATA_LIST_HOST, TUI_TEXTFIELD_WATCHED_CONTROLLER, TuiDataListAccessor, TuiDataListDirective, TuiDataListHost, TuiHostedDropdownComponent, TuiSizeL, TuiSizeS, TuiSvgService, TuiTextfieldController, } from '@taiga-ui/core';
6
6
  import { TuiStringifiableItem } from '@taiga-ui/kit/classes';
7
7
  import { TUI_ARROW_MODE } from '@taiga-ui/kit/components/arrow';
8
8
  import { TuiInputTagComponent } from '@taiga-ui/kit/components/input-tag';
@@ -12,11 +12,12 @@ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
12
12
  import { TUI_MULTI_SELECT_OPTIONS } from './multi-select-options';
13
13
  var TuiMultiSelectComponent = /** @class */ (function (_super) {
14
14
  __extends(TuiMultiSelectComponent, _super);
15
- function TuiMultiSelectComponent(control, changeDetectorRef, svgService, arrowMode, itemsHandlers, options) {
15
+ function TuiMultiSelectComponent(control, changeDetectorRef, svgService, arrowMode, itemsHandlers, options, controller) {
16
16
  var _this = _super.call(this, control, changeDetectorRef) || this;
17
17
  _this.arrowMode = arrowMode;
18
18
  _this.itemsHandlers = itemsHandlers;
19
19
  _this.options = options;
20
+ _this.controller = controller;
20
21
  _this.stringify = _this.itemsHandlers.stringify;
21
22
  _this.identityMatcher = _this.itemsHandlers.identityMatcher;
22
23
  _this.expandable = _this.options.expandable;
@@ -39,6 +40,13 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
39
40
  return _this;
40
41
  }
41
42
  TuiMultiSelectComponent_1 = TuiMultiSelectComponent;
43
+ Object.defineProperty(TuiMultiSelectComponent.prototype, "size", {
44
+ get: function () {
45
+ return this.controller.size;
46
+ },
47
+ enumerable: true,
48
+ configurable: true
49
+ });
42
50
  Object.defineProperty(TuiMultiSelectComponent.prototype, "arrow", {
43
51
  get: function () {
44
52
  return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;
@@ -207,7 +215,8 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
207
215
  { type: TuiSvgService, decorators: [{ type: Inject, args: [TuiSvgService,] }] },
208
216
  { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_MODE,] }] },
209
217
  { type: undefined, decorators: [{ type: Inject, args: [TUI_ITEMS_HANDLERS,] }] },
210
- { type: undefined, decorators: [{ type: Inject, args: [TUI_MULTI_SELECT_OPTIONS,] }] }
218
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MULTI_SELECT_OPTIONS,] }] },
219
+ { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] }
211
220
  ]; };
212
221
  __decorate([
213
222
  ContentChild(TUI_DATA_LIST_ACCESSOR)
@@ -253,6 +262,9 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
253
262
  __decorate([
254
263
  ContentChild(TuiDataListDirective, { read: TemplateRef })
255
264
  ], TuiMultiSelectComponent.prototype, "datalist", void 0);
265
+ __decorate([
266
+ HostBinding('attr.data-size')
267
+ ], TuiMultiSelectComponent.prototype, "size", null);
256
268
  __decorate([
257
269
  tuiPure
258
270
  ], TuiMultiSelectComponent.prototype, "getStringifier", null);
@@ -274,8 +286,9 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
274
286
  useExisting: forwardRef(function () { return TuiMultiSelectComponent_1; }),
275
287
  },
276
288
  FIXED_DROPDOWN_CONTROLLER_PROVIDER,
289
+ TEXTFIELD_CONTROLLER_PROVIDER,
277
290
  ],
278
- 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)}"]
291
+ 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)}"]
279
292
  }),
280
293
  __param(0, Optional()),
281
294
  __param(0, Self()),
@@ -284,9 +297,10 @@ var TuiMultiSelectComponent = /** @class */ (function (_super) {
284
297
  __param(2, Inject(TuiSvgService)),
285
298
  __param(3, Inject(TUI_ARROW_MODE)),
286
299
  __param(4, Inject(TUI_ITEMS_HANDLERS)),
287
- __param(5, Inject(TUI_MULTI_SELECT_OPTIONS))
300
+ __param(5, Inject(TUI_MULTI_SELECT_OPTIONS)),
301
+ __param(6, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER))
288
302
  ], TuiMultiSelectComponent);
289
303
  return TuiMultiSelectComponent;
290
304
  }(AbstractTuiMultipleControl));
291
305
  export { TuiMultiSelectComponent };
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFHM0IsY0FBYyxFQUdkLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsYUFBYSxHQUNoQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBQyxjQUFjLEVBQWUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLGtCQUFrQixFQUFtQixNQUFNLHNCQUFzQixDQUFDO0FBRzFFLE9BQU8sRUFB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QUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNyQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRTFCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7T0EvRDVCLHVCQUF1QixDQWtQbkM7SUFBRCw4QkFBQztDQUFBLEFBbFBELENBQ1ksMEJBQTBCLEdBaVByQztTQWxQWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbCxcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTWFwcGVyLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9EQVRBX0xJU1RfQUNDRVNTT1IsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFR1aURhdGFMaXN0QWNjZXNzb3IsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgIFR1aVN2Z1NlcnZpY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpU3RyaW5naWZpYWJsZUl0ZW19IGZyb20gJ0B0YWlnYS11aS9raXQvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BUlJPV19NT0RFLCBUdWlBcnJvd01vZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hcnJvdyc7XG5pbXBvcnQge1R1aUlucHV0VGFnQ29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnJztcbmltcG9ydCB7aWNvbkJsYW5rfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbnN0YW50cyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX0lURU1TX0hBTkRMRVJTLCBUdWlJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX01VTFRJX1NFTEVDVF9PUFRJT05TLCBUdWlNdWx0aVNlbGVjdE9wdGlvbnN9IGZyb20gJy4vbXVsdGktc2VsZWN0LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1tdWx0aS1zZWxlY3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlNdWx0aVNlbGVjdENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTXVsdGlTZWxlY3RDb21wb25lbnQ8VD5cbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sPFQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxUPlxue1xuICAgIEBDb250ZW50Q2hpbGQoVFVJX0RBVEFfTElTVF9BQ0NFU1NPUiBhcyBhbnkpXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3Nvcj86IFR1aURhdGFMaXN0QWNjZXNzb3I8VD47XG5cbiAgICBAVmlld0NoaWxkKFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdGVkRHJvcGRvd24/OiBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSW5wdXRUYWdDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dD86IFR1aUlucHV0VGFnQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0cmluZ2lmeTogVHVpSXRlbXNIYW5kbGVyczxUPlsnc3RyaW5naWZ5J10gPSB0aGlzLml0ZW1zSGFuZGxlcnMuc3RyaW5naWZ5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlkZW50aXR5TWF0Y2hlcjogVHVpSXRlbXNIYW5kbGVyczxUPlsnaWRlbnRpdHlNYXRjaGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuaWRlbnRpdHlNYXRjaGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGU6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPlsnZXhwYW5kYWJsZSddID0gdGhpcy5vcHRpb25zLmV4cGFuZGFibGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VhcmNoOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2VkaXRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXNhYmxlZEl0ZW1IYW5kbGVyOiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydkaXNhYmxlZEl0ZW1IYW5kbGVyJ10gPVxuICAgICAgICB0aGlzLml0ZW1zSGFuZGxlcnMuZGlzYWJsZWRJdGVtSGFuZGxlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPlsndmFsdWVDb250ZW50J10gPSB0aGlzLm9wdGlvbnMudmFsdWVDb250ZW50O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudWxsPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUdWlEYXRhTGlzdERpcmVjdGl2ZSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICByZWFkb25seSBkYXRhbGlzdDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTdmdTZXJ2aWNlKSBzdmdTZXJ2aWNlOiBUdWlTdmdTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9BUlJPV19NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFycm93TW9kZTogVHVpQXJyb3dNb2RlLFxuICAgICAgICBASW5qZWN0KFRVSV9JVEVNU19IQU5ETEVSUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpdGVtc0hhbmRsZXJzOiBUdWlJdGVtc0hhbmRsZXJzPFQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUylcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlNdWx0aVNlbGVjdE9wdGlvbnM8VD4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcblxuICAgICAgICBzdmdTZXJ2aWNlLmRlZmluZSh7aWNvbkJsYW5rfSk7XG4gICAgfVxuXG4gICAgZ2V0IGFycm93KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgPyB0aGlzLmFycm93TW9kZS5kaXNhYmxlZCA6IHRoaXMuYXJyb3dNb2RlLmludGVyYWN0aXZlO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXQgPyB0aGlzLmlucHV0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKCEhdGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0LmZvY3VzZWQpIHx8XG4gICAgICAgICAgICAoISF0aGlzLmhvc3RlZERyb3Bkb3duICYmIHRoaXMuaG9zdGVkRHJvcGRvd24uZm9jdXNlZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBSZWFkb25seUFycmF5PFQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZWRHcm91cCA/IEVNUFRZX0FSUkFZIDogdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBAYmFkIFRPRE86IHRoaW5rIG9mIGEgYmV0dGVyIHdheVxuICAgIGdldCBzZWFyY2hPclNwYWNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkR3JvdXAgPyAnICcgOiB0aGlzLnNlYXJjaFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgc2VhcmNoU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaCA9PT0gbnVsbCA/ICcnIDogdGhpcy5zZWFyY2g7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzcyBlbXB0eSBpY29uIHRvIElucHV0VGFnIChpbnNpZGUgdGhpcyBjb21wb25lbnQpXG4gICAgICogdG8gcHJldmVudCBvdmVyZmxvdyBvZiBhcnJvdyBpY29uIGJ5IG1hbnkgdGFnc1xuICAgICAqL1xuICAgIGdldCB0YWdJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVyYWN0aXZlID8gJ2ljb25CbGFuaycgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5lZGl0YWJsZSAmJiAhdGhpcy5jb21wdXRlZEdyb3VwO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnZhbHVlQ29udGVudCAmJlxuICAgICAgICAgICAgdGhpcy52YWx1ZS5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAoIXRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lZGl0YWJsZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGV4dCgpOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFJlYWRvbmx5QXJyYXk8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29udGV4dCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldFN0cmluZ2lmaWVyKFxuICAgICAgICBzdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VD4sXG4gICAgKTogVHVpU3RyaW5nSGFuZGxlcjxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFQ+PiB7XG4gICAgICAgIHJldHVybiAoeyRpbXBsaWNpdH0pID0+IHN0cmluZ2lmeSgkaW1wbGljaXQpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IHZhbHVlTWFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIFJlYWRvbmx5QXJyYXk8VD4sXG4gICAgICAgIFJlYWRvbmx5QXJyYXk8VHVpU3RyaW5naWZpYWJsZUl0ZW08VD4+XG4gICAgPiA9ICh2YWx1ZSwgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+LCBncm91cDogYm9vbGVhbikgPT5cbiAgICAgICAgZ3JvdXBcbiAgICAgICAgICAgID8gRU1QVFlfQVJSQVlcbiAgICAgICAgICAgIDogdmFsdWUubWFwKGl0ZW0gPT4gbmV3IFR1aVN0cmluZ2lmaWFibGVJdGVtKGl0ZW0sIHN0cmluZ2lmeSkpO1xuXG4gICAgcmVhZG9ubHkgZGlzYWJsZWRJdGVtSGFuZGxlcldyYXBwZXI6IFR1aU1hcHBlcjxcbiAgICAgICAgVHVpQm9vbGVhbkhhbmRsZXI8VD4sXG4gICAgICAgIFR1aUJvb2xlYW5IYW5kbGVyPFR1aVN0cmluZ2lmaWFibGVJdGVtPFQ+PlxuICAgID4gPSBoYW5kbGVyID0+IHN0cmluZ2lmaWFibGUgPT5cbiAgICAgICAgdHlwZW9mIHN0cmluZ2lmaWFibGUgPT09ICdzdHJpbmcnIHx8IGhhbmRsZXIoc3RyaW5naWZpYWJsZS5pdGVtKTtcblxuICAgIG9uSG92ZXJlZENoYW5nZShob3ZlcmVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvblNwYWNlKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFQpIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBpZGVudGl0eU1hdGNoZXJ9ID0gdGhpcztcbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5maW5kSW5kZXgoaXRlbSA9PiBpZGVudGl0eU1hdGNoZXIoaXRlbSwgb3B0aW9uKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIGluZGV4ID09PSAtMSA/IFsuLi52YWx1ZSwgb3B0aW9uXSA6IHZhbHVlLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkVudGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZX0gPSB0aGlzO1xuICAgICAgICBjb25zdCBvcHRpb25zID0gdGhpcy5hY2Nlc3NvciA/IHRoaXMuYWNjZXNzb3IuZ2V0T3B0aW9ucygpIDogW107XG5cbiAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleCA9IHZhbHVlLmluZGV4T2Yob3B0aW9uc1swXSk7XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIGluZGV4ID09PSAtMVxuICAgICAgICAgICAgICAgID8gWy4uLnZhbHVlLCBvcHRpb25zWzBdXVxuICAgICAgICAgICAgICAgIDogWy4uLnZhbHVlLnNsaWNlKDAsIGluZGV4KSwgLi4udmFsdWUuc2xpY2UoaW5kZXggKyAxKV0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKG51bGwpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soe25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9OiBUdWlJbnB1dFRhZ0NvbXBvbmVudCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlICYmXG4gICAgICAgICAgICB0aGlzLmludGVyYWN0aXZlICYmXG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50ICYmXG4gICAgICAgICAgICBpc05hdGl2ZUZvY3VzZWQobmF0aXZlRm9jdXNhYmxlRWxlbWVudClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BcnJvd0NsaWNrKCkge1xuICAgICAgICB0aGlzLmhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKCF0aGlzLm9wZW4pO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbklucHV0KHZhbHVlOiBSZWFkb25seUFycmF5PFR1aVN0cmluZ2lmaWFibGVJdGVtPFQ+Pikge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlLm1hcCgoe2l0ZW19KSA9PiBpdGVtKSk7XG4gICAgfVxuXG4gICAgb25TZWFyY2goc2VhcmNoOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHNlYXJjaCk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCkge1xuICAgICAgICBzdXBlci5zZXREaXNhYmxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRDb250ZXh0KFxuICAgICAgICAkaW1wbGljaXQ6IFJlYWRvbmx5QXJyYXk8VD4sXG4gICAgKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxSZWFkb25seUFycmF5PFQ+PiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0fTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaChzZWFyY2g6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VhcmNoID09PSBzZWFyY2gpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VhcmNoID0gc2VhcmNoO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9tdWx0aS1zZWxlY3QvIiwic291cmNlcyI6WyJtdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixJQUFJLEVBQ0osV0FBVyxFQUNYLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQiwyQkFBMkIsRUFHM0IsY0FBYyxFQUdkLE9BQU8sR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixFQUMxQixRQUFRLEVBQ1IsUUFBUSxFQUNSLGFBQWEsRUFDYixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FB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QUNEO29CQUNJLE9BQU8sRUFBRSxrQkFBa0I7b0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHlCQUF1QixFQUF2QixDQUF1QixDQUFDO2lCQUN6RDtnQkFDRCxrQ0FBa0M7Z0JBQ2xDLDZCQUE2QjthQUNoQzs7U0FDSixDQUFDO1FBc0RPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNyQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUV0QixXQUFBLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBRTFCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFFaEMsV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtPQWpFcEMsdUJBQXVCLENBeVBuQztJQUFELDhCQUFDO0NBQUEsQUF6UEQsQ0FDWSwwQkFBMEIsR0F3UHJDO1NBelBZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTXVsdGlwbGVDb250cm9sLFxuICAgIEVNUFRZX0FSUkFZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlNYXBwZXIsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9BQ0NFU1NPUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGF0YUxpc3RBY2Nlc3NvcixcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpU2l6ZVMsXG4gICAgVHVpU3ZnU2VydmljZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfQVJST1dfTU9ERSwgVHVpQXJyb3dNb2RlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYXJyb3cnO1xuaW1wb3J0IHtUdWlJbnB1dFRhZ0NvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRhZyc7XG5pbXBvcnQge2ljb25CbGFua30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge1RVSV9JVEVNU19IQU5ETEVSUywgVHVpSXRlbXNIYW5kbGVyc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1RVSV9NVUxUSV9TRUxFQ1RfT1BUSU9OUywgVHVpTXVsdGlTZWxlY3RPcHRpb25zfSBmcm9tICcuL211bHRpLXNlbGVjdC1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbXVsdGktc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aU11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpTXVsdGlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNdWx0aVNlbGVjdENvbXBvbmVudDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2w8VD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFQ+XG57XG4gICAgQENvbnRlbnRDaGlsZChUVUlfREFUQV9MSVNUX0FDQ0VTU09SIGFzIGFueSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpRGF0YUxpc3RBY2Nlc3NvcjxUPjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dFRhZ0NvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0PzogVHVpSW5wdXRUYWdDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RyaW5naWZ5OiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydzdHJpbmdpZnknXSA9IHRoaXMuaXRlbXNIYW5kbGVycy5zdHJpbmdpZnk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaWRlbnRpdHlNYXRjaGVyOiBUdWlJdGVtc0hhbmRsZXJzPFQ+WydpZGVudGl0eU1hdGNoZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5pZGVudGl0eU1hdGNoZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhwYW5kYWJsZTogVHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+WydleHBhbmRhYmxlJ10gPSB0aGlzLm9wdGlvbnMuZXhwYW5kYWJsZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZWFyY2g6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZWRpdGFibGUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUl0ZW1zSGFuZGxlcnM8VD5bJ2Rpc2FibGVkSXRlbUhhbmRsZXInXSA9XG4gICAgICAgIHRoaXMuaXRlbXNIYW5kbGVycy5kaXNhYmxlZEl0ZW1IYW5kbGVyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlQ29udGVudDogVHVpTXVsdGlTZWxlY3RPcHRpb25zPFQ+Wyd2YWx1ZUNvbnRlbnQnXSA9IHRoaXMub3B0aW9ucy52YWx1ZUNvbnRlbnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBzZWFyY2hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFR1aVN2Z1NlcnZpY2UpIHN2Z1NlcnZpY2U6IFR1aVN2Z1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVFVJX0FSUk9XX01PREUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXJyb3dNb2RlOiBUdWlBcnJvd01vZGUsXG4gICAgICAgIEBJbmplY3QoVFVJX0lURU1TX0hBTkRMRVJTKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zSGFuZGxlcnM6IFR1aUl0ZW1zSGFuZGxlcnM8VD4sXG4gICAgICAgIEBJbmplY3QoVFVJX01VTFRJX1NFTEVDVF9PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aU11bHRpU2VsZWN0T3B0aW9uczxUPixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcmVhZG9ubHkgY29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgICAgIHN2Z1NlcnZpY2UuZGVmaW5lKHtpY29uQmxhbmt9KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBnZXQgc2l6ZSgpOiBUdWlTaXplTCB8IFR1aVNpemVTIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplO1xuICAgIH1cblxuICAgIGdldCBhcnJvdygpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmludGVyYWN0aXZlID8gdGhpcy5hcnJvd01vZGUuZGlzYWJsZWQgOiB0aGlzLmFycm93TW9kZS5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0ID8gdGhpcy5pbnB1dC5uYXRpdmVGb2N1c2FibGVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghIXRoaXMuaW5wdXQgJiYgdGhpcy5pbnB1dC5mb2N1c2VkKSB8fFxuICAgICAgICAgICAgKCEhdGhpcy5ob3N0ZWREcm9wZG93biAmJiB0aGlzLmhvc3RlZERyb3Bkb3duLmZvY3VzZWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogUmVhZG9ubHlBcnJheTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXB1dGVkR3JvdXAgPyBFTVBUWV9BUlJBWSA6IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gQGJhZCBUT0RPOiB0aGluayBvZiBhIGJldHRlciB3YXlcbiAgICBnZXQgc2VhcmNoT3JTcGFjZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb21wdXRlZEdyb3VwID8gJyAnIDogdGhpcy5zZWFyY2hTdHJpbmc7XG4gICAgfVxuXG4gICAgZ2V0IHNlYXJjaFN0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2ggPT09IG51bGwgPyAnJyA6IHRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3MgZW1wdHkgaWNvbiB0byBJbnB1dFRhZyAoaW5zaWRlIHRoaXMgY29tcG9uZW50KVxuICAgICAqIHRvIHByZXZlbnQgb3ZlcmZsb3cgb2YgYXJyb3cgaWNvbiBieSBtYW55IHRhZ3NcbiAgICAgKi9cbiAgICBnZXQgdGFnSWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSA/ICdpY29uQmxhbmsnIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0SGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZWRpdGFibGUgJiYgIXRoaXMuY29tcHV0ZWRHcm91cDtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRHcm91cCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy52YWx1ZUNvbnRlbnQgJiZcbiAgICAgICAgICAgIHRoaXMudmFsdWUubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgKCF0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZWRpdGFibGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxSZWFkb25seUFycmF5PFQ+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbnRleHQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRTdHJpbmdpZmllcihcbiAgICAgICAgc3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPFQ+LFxuICAgICk6IFR1aVN0cmluZ0hhbmRsZXI8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUPj4ge1xuICAgICAgICByZXR1cm4gKHskaW1wbGljaXR9KSA9PiBzdHJpbmdpZnkoJGltcGxpY2l0KTtcbiAgICB9XG5cbiAgICByZWFkb25seSB2YWx1ZU1hcHBlcjogVHVpTWFwcGVyPFxuICAgICAgICBSZWFkb25seUFycmF5PFQ+LFxuICAgICAgICBSZWFkb25seUFycmF5PFR1aVN0cmluZ2lmaWFibGVJdGVtPFQ+PlxuICAgID4gPSAodmFsdWUsIHN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUPiwgZ3JvdXA6IGJvb2xlYW4pID0+XG4gICAgICAgIGdyb3VwXG4gICAgICAgICAgICA/IEVNUFRZX0FSUkFZXG4gICAgICAgICAgICA6IHZhbHVlLm1hcChpdGVtID0+IG5ldyBUdWlTdHJpbmdpZmlhYmxlSXRlbShpdGVtLCBzdHJpbmdpZnkpKTtcblxuICAgIHJlYWRvbmx5IGRpc2FibGVkSXRlbUhhbmRsZXJXcmFwcGVyOiBUdWlNYXBwZXI8XG4gICAgICAgIFR1aUJvb2xlYW5IYW5kbGVyPFQ+LFxuICAgICAgICBUdWlCb29sZWFuSGFuZGxlcjxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj5cbiAgICA+ID0gaGFuZGxlciA9PiBzdHJpbmdpZmlhYmxlID0+XG4gICAgICAgIHR5cGVvZiBzdHJpbmdpZmlhYmxlID09PSAnc3RyaW5nJyB8fCBoYW5kbGVyKHN0cmluZ2lmaWFibGUuaXRlbSk7XG5cbiAgICBvbkhvdmVyZWRDaGFuZ2UoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25TcGFjZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBUKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgaWRlbnRpdHlNYXRjaGVyfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdmFsdWUuZmluZEluZGV4KGl0ZW0gPT4gaWRlbnRpdHlNYXRjaGVyKGl0ZW0sIG9wdGlvbikpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTEgPyBbLi4udmFsdWUsIG9wdGlvbl0gOiB2YWx1ZS5maWx0ZXIoKF8sIGkpID0+IGkgIT09IGluZGV4KSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2gobnVsbCk7XG4gICAgfVxuXG4gICAgb25FbnRlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuYWNjZXNzb3IgPyB0aGlzLmFjY2Vzc29yLmdldE9wdGlvbnMoKSA6IFtdO1xuXG4gICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZS5pbmRleE9mKG9wdGlvbnNbMF0pO1xuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBpbmRleCA9PT0gLTFcbiAgICAgICAgICAgICAgICA/IFsuLi52YWx1ZSwgb3B0aW9uc1swXV1cbiAgICAgICAgICAgICAgICA6IFsuLi52YWx1ZS5zbGljZSgwLCBpbmRleCksIC4uLnZhbHVlLnNsaWNlKGluZGV4ICsgMSldLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChudWxsKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fTogVHVpSW5wdXRUYWdDb21wb25lbnQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5lZGl0YWJsZSAmJlxuICAgICAgICAgICAgdGhpcy5pbnRlcmFjdGl2ZSAmJlxuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCAmJlxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQXJyb3dDbGljaygpIHtcbiAgICAgICAgdGhpcy5ob3N0ZWREcm9wZG93bj8udXBkYXRlT3BlbighdGhpcy5vcGVuKTtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogUmVhZG9ubHlBcnJheTxUdWlTdHJpbmdpZmlhYmxlSXRlbTxUPj4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZS5tYXAoKHtpdGVtfSkgPT4gaXRlbSkpO1xuICAgIH1cblxuICAgIG9uU2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlYXJjaChzZWFyY2gpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgc3VwZXIuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0Q29udGV4dChcbiAgICAgICAgJGltcGxpY2l0OiBSZWFkb25seUFycmF5PFQ+LFxuICAgICk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8UmVhZG9ubHlBcnJheTxUPj4ge1xuICAgICAgICByZXR1cm4geyRpbXBsaWNpdH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVTZWFyY2goc2VhcmNoOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCA9PT0gc2VhcmNoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHNlYXJjaDtcbiAgICAgICAgdGhpcy5zZWFyY2hDaGFuZ2UuZW1pdChzZWFyY2gpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNJbnB1dChwcmV2ZW50U2Nyb2xsOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQsIHRydWUsIHByZXZlbnRTY3JvbGwpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,9 +1,10 @@
1
- export * from './pipes/abstract-color-segments';
2
- export * from './pipes/progress-color-segments.pipe';
3
- export * from './pipes/progress-color-segments-async.pipe';
4
1
  export * from './progress.module';
5
2
  export * from './progress-bar/progress-bar.component';
3
+ export * from './progress-bar/progress-color-segments.directive';
6
4
  export * from './progress-circle/progress-circle.component';
7
5
  export * from './progress-label/progress-label.component';
8
6
  export * from './progress-segmented/progress-segmented.component';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbURBQW1ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BpcGVzL2Fic3RyYWN0LWNvbG9yLXNlZ21lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvcHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLWFzeW5jLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MtbGFiZWwvcHJvZ3Jlc3MtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3Mtc2VnbWVudGVkL3Byb2dyZXNzLXNlZ21lbnRlZC5jb21wb25lbnQnO1xuIl19
7
+ export * from './utils/abstract-color-segments';
8
+ export * from './utils/progress-color-segments.pipe';
9
+ export * from './utils/progress-color-segments-async.pipe';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvZ3Jlc3MtY2lyY2xlL3Byb2dyZXNzLWNpcmNsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1sYWJlbC9wcm9ncmVzcy1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1zZWdtZW50ZWQvcHJvZ3Jlc3Mtc2VnbWVudGVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2Fic3RyYWN0LWNvbG9yLXNlZ21lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvcHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLWFzeW5jLnBpcGUnO1xuIl19
@@ -0,0 +1,56 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { Directive, ElementRef, Inject, Input } from '@angular/core';
3
+ import { USER_AGENT } from '@ng-web-apis/common';
4
+ import { CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, isIE, TuiDestroyService, tuiPure, TuiResizeService, } from '@taiga-ui/cdk';
5
+ import { Observable } from 'rxjs';
6
+ import { map } from 'rxjs/operators';
7
+ import { calculateColorSegments } from '../utils/calculate-color-segments';
8
+ var TuiProgressColorSegmentsDirective = /** @class */ (function () {
9
+ function TuiProgressColorSegmentsDirective(elementRef, resize$, userAgent) {
10
+ this.elementRef = elementRef;
11
+ this.resize$ = resize$;
12
+ this.userAgent = userAgent;
13
+ this.isOldBrowsers = isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent) ||
14
+ isIE(this.userAgent);
15
+ this.colors = [];
16
+ }
17
+ Object.defineProperty(TuiProgressColorSegmentsDirective.prototype, "calcSegments$", {
18
+ get: function () {
19
+ var _this = this;
20
+ return this.resize$.pipe(map(function () {
21
+ return _this.isOldBrowsers
22
+ ? _this.colors[0]
23
+ : calculateColorSegments(_this.colors, _this.elementRef.nativeElement.offsetWidth);
24
+ }));
25
+ },
26
+ enumerable: true,
27
+ configurable: true
28
+ });
29
+ TuiProgressColorSegmentsDirective.ctorParameters = function () { return [
30
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
31
+ { type: Observable, decorators: [{ type: Inject, args: [TuiResizeService,] }] },
32
+ { type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] }
33
+ ]; };
34
+ __decorate([
35
+ Input('tuiProgressColorSegments')
36
+ ], TuiProgressColorSegmentsDirective.prototype, "colors", void 0);
37
+ __decorate([
38
+ tuiPure
39
+ ], TuiProgressColorSegmentsDirective.prototype, "calcSegments$", null);
40
+ TuiProgressColorSegmentsDirective = __decorate([
41
+ Directive({
42
+ selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',
43
+ host: {
44
+ '[$.style.--tui-progress-color]': 'calcSegments$',
45
+ '($.style.--tui-progress-color)': '0',
46
+ },
47
+ providers: [TuiDestroyService, TuiResizeService],
48
+ }),
49
+ __param(0, Inject(ElementRef)),
50
+ __param(1, Inject(TuiResizeService)),
51
+ __param(2, Inject(USER_AGENT))
52
+ ], TuiProgressColorSegmentsDirective);
53
+ return TuiProgressColorSegmentsDirective;
54
+ }());
55
+ export { TuiProgressColorSegmentsDirective };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLyIsInNvdXJjZXMiOlsicHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUNILDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsSUFBSSxFQUNKLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBVXpFO0lBc0JJLDJDQUN5QyxVQUEyQyxFQUNyQyxPQUE0QixFQUNsQyxTQUFpQjtRQUZqQixlQUFVLEdBQVYsVUFBVSxDQUFpQztRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBeEJ6QyxrQkFBYSxHQUMxQixlQUFlLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUM1RCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBR3pCLFdBQU0sR0FBYSxFQUFFLENBQUM7SUFvQm5CLENBQUM7SUFqQkosc0JBQUksNERBQWE7YUFBakI7WUFEQSxpQkFZQztZQVZHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQztnQkFDQSxPQUFBLEtBQUksQ0FBQyxhQUFhO29CQUNkLENBQUMsQ0FBQyxLQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDaEIsQ0FBQyxDQUFDLHNCQUFzQixDQUNsQixLQUFJLENBQUMsTUFBTSxFQUNYLEtBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FDNUM7WUFMUCxDQUtPLENBQ1YsQ0FDSixDQUFDO1FBQ04sQ0FBQzs7O09BQUE7O2dCQUdvRCxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTtnQkFDa0MsVUFBVSx1QkFBN0QsTUFBTSxTQUFDLGdCQUFnQjs2Q0FDdkIsTUFBTSxTQUFDLFVBQVU7O0lBbkJ0QjtRQURDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQztxRUFDWjtJQUd0QjtRQURDLE9BQU87MEVBWVA7SUFwQlEsaUNBQWlDO1FBUjdDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvREFBb0Q7WUFDOUQsSUFBSSxFQUFFO2dCQUNGLGdDQUFnQyxFQUFFLGVBQWU7Z0JBQ2pELGdDQUFnQyxFQUFFLEdBQUc7YUFDeEM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztTQUNuRCxDQUFDO1FBd0JPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFDeEIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7T0F6QmQsaUNBQWlDLENBMkI3QztJQUFELHdDQUFDO0NBQUEsQUEzQkQsSUEyQkM7U0EzQlksaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLFxuICAgIGlzRWRnZU9sZGVyVGhhbixcbiAgICBpc0lFLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpUmVzaXplU2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtjYWxjdWxhdGVDb2xvclNlZ21lbnRzfSBmcm9tICcuLi91dGlscy9jYWxjdWxhdGUtY29sb3Itc2VnbWVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3Byb2dyZXNzW3R1aVByb2dyZXNzQmFyXVt0dWlQcm9ncmVzc0NvbG9yU2VnbWVudHNdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbJC5zdHlsZS4tLXR1aS1wcm9ncmVzcy1jb2xvcl0nOiAnY2FsY1NlZ21lbnRzJCcsXG4gICAgICAgICcoJC5zdHlsZS4tLXR1aS1wcm9ncmVzcy1jb2xvciknOiAnMCcsXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZSwgVHVpUmVzaXplU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByb2dyZXNzQ29sb3JTZWdtZW50c0RpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc09sZEJyb3dzZXJzID1cbiAgICAgICAgaXNFZGdlT2xkZXJUaGFuKENIUk9NSVVNX0VER0VfU1RBUlRfVkVSU0lPTiwgdGhpcy51c2VyQWdlbnQpIHx8XG4gICAgICAgIGlzSUUodGhpcy51c2VyQWdlbnQpO1xuXG4gICAgQElucHV0KCd0dWlQcm9ncmVzc0NvbG9yU2VnbWVudHMnKVxuICAgIGNvbG9yczogc3RyaW5nW10gPSBbXTtcblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0IGNhbGNTZWdtZW50cyQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplJC5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5pc09sZEJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5jb2xvcnNbMF1cbiAgICAgICAgICAgICAgICAgICAgOiBjYWxjdWxhdGVDb2xvclNlZ21lbnRzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxQcm9ncmVzc0VsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aVJlc2l6ZVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplJDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICAgICAgQEluamVjdChVU0VSX0FHRU5UKSBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgICkge31cbn1cbiJdfQ==
@@ -2,12 +2,13 @@ import { __decorate } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
4
  import { TuiRepeatTimesModule } from '@taiga-ui/cdk';
5
- import { TuiProgressColorSegmentsPipe } from './pipes/progress-color-segments.pipe';
6
- import { TuiProgressColorSegmentsAsyncPipe } from './pipes/progress-color-segments-async.pipe';
7
5
  import { TuiProgressBarComponent } from './progress-bar/progress-bar.component';
6
+ import { TuiProgressColorSegmentsDirective } from './progress-bar/progress-color-segments.directive';
8
7
  import { TuiProgressCircleComponent } from './progress-circle/progress-circle.component';
9
8
  import { TuiProgressLabelComponent } from './progress-label/progress-label.component';
10
9
  import { TuiProgressSegmentedComponent } from './progress-segmented/progress-segmented.component';
10
+ import { TuiProgressColorSegmentsPipe } from './utils/progress-color-segments.pipe';
11
+ import { TuiProgressColorSegmentsAsyncPipe } from './utils/progress-color-segments-async.pipe';
11
12
  var TuiProgressModule = /** @class */ (function () {
12
13
  function TuiProgressModule() {
13
14
  }
@@ -16,6 +17,7 @@ var TuiProgressModule = /** @class */ (function () {
16
17
  imports: [CommonModule, TuiRepeatTimesModule],
17
18
  declarations: [
18
19
  TuiProgressBarComponent,
20
+ TuiProgressColorSegmentsDirective,
19
21
  TuiProgressColorSegmentsPipe,
20
22
  TuiProgressColorSegmentsAsyncPipe,
21
23
  TuiProgressCircleComponent,
@@ -25,6 +27,7 @@ var TuiProgressModule = /** @class */ (function () {
25
27
  exports: [
26
28
  TuiProgressBarComponent,
27
29
  TuiProgressCircleComponent,
30
+ TuiProgressColorSegmentsDirective,
28
31
  TuiProgressColorSegmentsPipe,
29
32
  TuiProgressColorSegmentsAsyncPipe,
30
33
  TuiProgressLabelComponent,
@@ -35,4 +38,4 @@ var TuiProgressModule = /** @class */ (function () {
35
38
  return TuiProgressModule;
36
39
  }());
37
40
  export { TuiProgressModule };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLyIsInNvdXJjZXMiOlsicHJvZ3Jlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDN0YsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFxQmhHO0lBQUE7SUFBZ0MsQ0FBQztJQUFwQixpQkFBaUI7UUFuQjdCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQztZQUM3QyxZQUFZLEVBQUU7Z0JBQ1YsdUJBQXVCO2dCQUN2Qiw0QkFBNEI7Z0JBQzVCLGlDQUFpQztnQkFDakMsMEJBQTBCO2dCQUMxQix5QkFBeUI7Z0JBQ3pCLDZCQUE2QjthQUNoQztZQUNELE9BQU8sRUFBRTtnQkFDTCx1QkFBdUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsNEJBQTRCO2dCQUM1QixpQ0FBaUM7Z0JBQ2pDLHlCQUF5QjtnQkFDekIsNkJBQTZCO2FBQ2hDO1NBQ0osQ0FBQztPQUNXLGlCQUFpQixDQUFHO0lBQUQsd0JBQUM7Q0FBQSxBQUFqQyxJQUFpQztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlSZXBlYXRUaW1lc01vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7VHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzUGlwZX0gZnJvbSAnLi9waXBlcy9wcm9ncmVzcy1jb2xvci1zZWdtZW50cy5waXBlJztcbmltcG9ydCB7VHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzQXN5bmNQaXBlfSBmcm9tICcuL3BpcGVzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLWFzeW5jLnBpcGUnO1xuaW1wb3J0IHtUdWlQcm9ncmVzc0JhckNvbXBvbmVudH0gZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVByb2dyZXNzQ2lyY2xlQ29tcG9uZW50fSBmcm9tICcuL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHJvZ3Jlc3NMYWJlbENvbXBvbmVudH0gZnJvbSAnLi9wcm9ncmVzcy1sYWJlbC9wcm9ncmVzcy1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlQcm9ncmVzc1NlZ21lbnRlZENvbXBvbmVudH0gZnJvbSAnLi9wcm9ncmVzcy1zZWdtZW50ZWQvcHJvZ3Jlc3Mtc2VnbWVudGVkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHVpUmVwZWF0VGltZXNNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzUGlwZSxcbiAgICAgICAgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzQXN5bmNQaXBlLFxuICAgICAgICBUdWlQcm9ncmVzc0NpcmNsZUNvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NMYWJlbENvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NTZWdtZW50ZWRDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFR1aVByb2dyZXNzQmFyQ29tcG9uZW50LFxuICAgICAgICBUdWlQcm9ncmVzc0NpcmNsZUNvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzUGlwZSxcbiAgICAgICAgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzQXN5bmNQaXBlLFxuICAgICAgICBUdWlQcm9ncmVzc0xhYmVsQ29tcG9uZW50LFxuICAgICAgICBUdWlQcm9ncmVzc1NlZ21lbnRlZENvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcm9ncmVzc01vZHVsZSB7fVxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLyIsInNvdXJjZXMiOlsicHJvZ3Jlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDbkcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDaEcsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUF1QjdGO0lBQUE7SUFBZ0MsQ0FBQztJQUFwQixpQkFBaUI7UUFyQjdCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQztZQUM3QyxZQUFZLEVBQUU7Z0JBQ1YsdUJBQXVCO2dCQUN2QixpQ0FBaUM7Z0JBQ2pDLDRCQUE0QjtnQkFDNUIsaUNBQWlDO2dCQUNqQywwQkFBMEI7Z0JBQzFCLHlCQUF5QjtnQkFDekIsNkJBQTZCO2FBQ2hDO1lBQ0QsT0FBTyxFQUFFO2dCQUNMLHVCQUF1QjtnQkFDdkIsMEJBQTBCO2dCQUMxQixpQ0FBaUM7Z0JBQ2pDLDRCQUE0QjtnQkFDNUIsaUNBQWlDO2dCQUNqQyx5QkFBeUI7Z0JBQ3pCLDZCQUE2QjthQUNoQztTQUNKLENBQUM7T0FDVyxpQkFBaUIsQ0FBRztJQUFELHdCQUFDO0NBQUEsQUFBakMsSUFBaUM7U0FBcEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUmVwZWF0VGltZXNNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5pbXBvcnQge1R1aVByb2dyZXNzQmFyQ29tcG9uZW50fSBmcm9tICcuL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzRGlyZWN0aXZlfSBmcm9tICcuL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1jb2xvci1zZWdtZW50cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlQcm9ncmVzc0NpcmNsZUNvbXBvbmVudH0gZnJvbSAnLi9wcm9ncmVzcy1jaXJjbGUvcHJvZ3Jlc3MtY2lyY2xlLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVByb2dyZXNzTGFiZWxDb21wb25lbnR9IGZyb20gJy4vcHJvZ3Jlc3MtbGFiZWwvcHJvZ3Jlc3MtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7VHVpUHJvZ3Jlc3NTZWdtZW50ZWRDb21wb25lbnR9IGZyb20gJy4vcHJvZ3Jlc3Mtc2VnbWVudGVkL3Byb2dyZXNzLXNlZ21lbnRlZC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNQaXBlfSBmcm9tICcuL3V0aWxzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLnBpcGUnO1xuaW1wb3J0IHtUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNBc3luY1BpcGV9IGZyb20gJy4vdXRpbHMvcHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMtYXN5bmMucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHVpUmVwZWF0VGltZXNNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzRGlyZWN0aXZlLFxuICAgICAgICBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNQaXBlLFxuICAgICAgICBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNBc3luY1BpcGUsXG4gICAgICAgIFR1aVByb2dyZXNzQ2lyY2xlQ29tcG9uZW50LFxuICAgICAgICBUdWlQcm9ncmVzc0xhYmVsQ29tcG9uZW50LFxuICAgICAgICBUdWlQcm9ncmVzc1NlZ21lbnRlZENvbXBvbmVudCxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVHVpUHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgICAgIFR1aVByb2dyZXNzQ2lyY2xlQ29tcG9uZW50LFxuICAgICAgICBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNEaXJlY3RpdmUsXG4gICAgICAgIFR1aVByb2dyZXNzQ29sb3JTZWdtZW50c1BpcGUsXG4gICAgICAgIFR1aVByb2dyZXNzQ29sb3JTZWdtZW50c0FzeW5jUGlwZSxcbiAgICAgICAgVHVpUHJvZ3Jlc3NMYWJlbENvbXBvbmVudCxcbiAgICAgICAgVHVpUHJvZ3Jlc3NTZWdtZW50ZWRDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJvZ3Jlc3NNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { ElementRef, Inject, Injectable, PipeTransform } from '@angular/core';
3
+ import { USER_AGENT } from '@ng-web-apis/common';
4
+ import { CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, isIE } from '@taiga-ui/cdk';
5
+ import { calculateColorSegments } from './calculate-color-segments';
6
+ // TODO delete in v3.0
7
+ var AbstractTuiColorSegments = /** @class */ (function () {
8
+ function AbstractTuiColorSegments(userAgent, elementRef) {
9
+ this.userAgent = userAgent;
10
+ this.elementRef = elementRef;
11
+ this.isOldBrowsers = isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent) ||
12
+ isIE(this.userAgent);
13
+ }
14
+ AbstractTuiColorSegments.prototype.calculate = function (colors) {
15
+ if (this.isOldBrowsers) {
16
+ return colors[0];
17
+ }
18
+ var elementWidth = this.elementRef.nativeElement.offsetWidth;
19
+ return calculateColorSegments(colors, elementWidth);
20
+ };
21
+ AbstractTuiColorSegments.ctorParameters = function () { return [
22
+ { type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] },
23
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
24
+ ]; };
25
+ AbstractTuiColorSegments = __decorate([
26
+ Injectable(),
27
+ __param(0, Inject(USER_AGENT)),
28
+ __param(1, Inject(ElementRef))
29
+ ], AbstractTuiColorSegments);
30
+ return AbstractTuiColorSegments;
31
+ }());
32
+ export { AbstractTuiColorSegments };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtY29sb3Itc2VnbWVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MvIiwic291cmNlcyI6WyJ1dGlscy9hYnN0cmFjdC1jb2xvci1zZWdtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFDLDJCQUEyQixFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsc0JBQXNCO0FBRXRCO0lBS0ksa0NBQ3lDLFNBQWlCLEVBQ2pCLFVBQW1DO1FBRG5DLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFOM0Qsa0JBQWEsR0FDMUIsZUFBZSxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUt0QixDQUFDO0lBSU0sNENBQVMsR0FBbkIsVUFBb0IsTUFBZ0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BCO1FBRUQsSUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBRS9ELE9BQU8sc0JBQXNCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7OzZDQWRJLE1BQU0sU0FBQyxVQUFVO2dCQUMrQixVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTs7SUFQSix3QkFBd0I7UUFEN0MsVUFBVSxFQUFFO1FBT0osV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7T0FQTCx3QkFBd0IsQ0FxQjdDO0lBQUQsK0JBQUM7Q0FBQSxBQXJCRCxJQXFCQztTQXJCcUIsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7Q0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLCBpc0VkZ2VPbGRlclRoYW4sIGlzSUV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5pbXBvcnQge2NhbGN1bGF0ZUNvbG9yU2VnbWVudHN9IGZyb20gJy4vY2FsY3VsYXRlLWNvbG9yLXNlZ21lbnRzJztcblxuLy8gVE9ETyBkZWxldGUgaW4gdjMuMFxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQ29sb3JTZWdtZW50czxUPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNPbGRCcm93c2VycyA9XG4gICAgICAgIGlzRWRnZU9sZGVyVGhhbihDSFJPTUlVTV9FREdFX1NUQVJUX1ZFUlNJT04sIHRoaXMudXNlckFnZW50KSB8fFxuICAgICAgICBpc0lFKHRoaXMudXNlckFnZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHt9XG5cbiAgICBhYnN0cmFjdCB0cmFuc2Zvcm0oY29sb3JzOiBzdHJpbmdbXSk6IFQ7XG5cbiAgICBwcm90ZWN0ZWQgY2FsY3VsYXRlKGNvbG9yczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc09sZEJyb3dzZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3JzWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudFdpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG5cbiAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZUNvbG9yU2VnbWVudHMoY29sb3JzLCBlbGVtZW50V2lkdGgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ /**
2
+ * TODO in v3.0 move inside {@link TuiProgressColorSegmentsDirective} (as a private method)
3
+ * (after deletion of {@link TuiProgressColorSegmentsPipe} and {@link TuiProgressColorSegmentsAsyncPipe})
4
+ */
5
+ export var calculateColorSegments = function (colors, progressWidth) {
6
+ var segmentWidth = Math.ceil(progressWidth / colors.length);
7
+ var colorsString = colors.reduce(function (acc, color, i) {
8
+ return acc + ", " + color + " " + i * segmentWidth + "px " + (i + 1) * segmentWidth + "px";
9
+ }, '');
10
+ return "linear-gradient(to right " + colorsString + ")";
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbG9yLXNlZ21lbnRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLyIsInNvdXJjZXMiOlsidXRpbHMvY2FsY3VsYXRlLWNvbG9yLXNlZ21lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLFVBQ2xDLE1BQWdCLEVBQ2hCLGFBQXFCO0lBRXJCLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxJQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUM5QixVQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNWLE9BQUcsR0FBRyxVQUFLLEtBQUssU0FBSSxDQUFDLEdBQUcsWUFBWSxXQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksT0FBSTtJQUFwRSxDQUFvRSxFQUN4RSxFQUFFLENBQ0wsQ0FBQztJQUVGLE9BQU8sOEJBQTRCLFlBQVksTUFBRyxDQUFDO0FBQ3ZELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVE9ETyBpbiB2My4wIG1vdmUgaW5zaWRlIHtAbGluayBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNEaXJlY3RpdmV9IChhcyBhIHByaXZhdGUgbWV0aG9kKVxuICogKGFmdGVyIGRlbGV0aW9uIG9mIHtAbGluayBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNQaXBlfSBhbmQge0BsaW5rIFR1aVByb2dyZXNzQ29sb3JTZWdtZW50c0FzeW5jUGlwZX0pXG4gKi9cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVDb2xvclNlZ21lbnRzID0gKFxuICAgIGNvbG9yczogc3RyaW5nW10sXG4gICAgcHJvZ3Jlc3NXaWR0aDogbnVtYmVyLFxuKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCBzZWdtZW50V2lkdGggPSBNYXRoLmNlaWwocHJvZ3Jlc3NXaWR0aCAvIGNvbG9ycy5sZW5ndGgpO1xuICAgIGNvbnN0IGNvbG9yc1N0cmluZyA9IGNvbG9ycy5yZWR1Y2UoXG4gICAgICAgIChhY2MsIGNvbG9yLCBpKSA9PlxuICAgICAgICAgICAgYCR7YWNjfSwgJHtjb2xvcn0gJHtpICogc2VnbWVudFdpZHRofXB4ICR7KGkgKyAxKSAqIHNlZ21lbnRXaWR0aH1weGAsXG4gICAgICAgICcnLFxuICAgICk7XG5cbiAgICByZXR1cm4gYGxpbmVhci1ncmFkaWVudCh0byByaWdodCAke2NvbG9yc1N0cmluZ30pYDtcbn07XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Pipe } from '@angular/core';
3
+ import { timer } from 'rxjs';
4
+ import { map } from 'rxjs/operators';
5
+ import { AbstractTuiColorSegments } from './abstract-color-segments';
6
+ // TODO delete in v3.0
7
+ var TuiProgressColorSegmentsAsyncPipe = /** @class */ (function (_super) {
8
+ __extends(TuiProgressColorSegmentsAsyncPipe, _super);
9
+ function TuiProgressColorSegmentsAsyncPipe() {
10
+ return _super !== null && _super.apply(this, arguments) || this;
11
+ }
12
+ /**
13
+ * @deprecated use tuiProgressColorSegments directive instead
14
+ * {@link TuiProgressColorSegmentsDirective}
15
+ * @example: `<progress tuiProgressBar [tuiProgressColorSegments]="colors">`
16
+ */
17
+ TuiProgressColorSegmentsAsyncPipe.prototype.transform = function (colors) {
18
+ var _this = this;
19
+ return timer(0).pipe(map(function () { return _this.calculate(colors); }));
20
+ };
21
+ TuiProgressColorSegmentsAsyncPipe = __decorate([
22
+ Pipe({ name: 'tuiProgressColorSegmentsAsync' })
23
+ ], TuiProgressColorSegmentsAsyncPipe);
24
+ return TuiProgressColorSegmentsAsyncPipe;
25
+ }(AbstractTuiColorSegments));
26
+ export { TuiProgressColorSegmentsAsyncPipe };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMtYXN5bmMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wcm9ncmVzcy8iLCJzb3VyY2VzIjpbInV0aWxzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLWFzeW5jLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFhLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsc0JBQXNCO0FBRXRCO0lBQXVELHFEQUV0RDtJQUZEOztJQVdBLENBQUM7SUFSRzs7OztPQUlHO0lBQ0gscURBQVMsR0FBVCxVQUFVLE1BQWdCO1FBQTFCLGlCQUVDO1FBREcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQVZRLGlDQUFpQztRQUQ3QyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsK0JBQStCLEVBQUMsQ0FBQztPQUNqQyxpQ0FBaUMsQ0FXN0M7SUFBRCx3Q0FBQztDQUFBLEFBWEQsQ0FBdUQsd0JBQXdCLEdBVzlFO1NBWFksaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGltZXJ9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUNvbG9yU2VnbWVudHN9IGZyb20gJy4vYWJzdHJhY3QtY29sb3Itc2VnbWVudHMnO1xuXG4vLyBUT0RPIGRlbGV0ZSBpbiB2My4wXG5AUGlwZSh7bmFtZTogJ3R1aVByb2dyZXNzQ29sb3JTZWdtZW50c0FzeW5jJ30pXG5leHBvcnQgY2xhc3MgVHVpUHJvZ3Jlc3NDb2xvclNlZ21lbnRzQXN5bmNQaXBlIGV4dGVuZHMgQWJzdHJhY3RUdWlDb2xvclNlZ21lbnRzPFxuICAgIE9ic2VydmFibGU8c3RyaW5nPlxuPiB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIHR1aVByb2dyZXNzQ29sb3JTZWdtZW50cyBkaXJlY3RpdmUgaW5zdGVhZFxuICAgICAqIHtAbGluayBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNEaXJlY3RpdmV9XG4gICAgICogQGV4YW1wbGU6IGA8cHJvZ3Jlc3MgdHVpUHJvZ3Jlc3NCYXIgW3R1aVByb2dyZXNzQ29sb3JTZWdtZW50c109XCJjb2xvcnNcIj5gXG4gICAgICovXG4gICAgdHJhbnNmb3JtKGNvbG9yczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGltZXIoMCkucGlwZShtYXAoKCkgPT4gdGhpcy5jYWxjdWxhdGUoY29sb3JzKSkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Pipe } from '@angular/core';
3
+ import { AbstractTuiColorSegments } from './abstract-color-segments';
4
+ // TODO delete in v3.0
5
+ var TuiProgressColorSegmentsPipe = /** @class */ (function (_super) {
6
+ __extends(TuiProgressColorSegmentsPipe, _super);
7
+ function TuiProgressColorSegmentsPipe() {
8
+ return _super !== null && _super.apply(this, arguments) || this;
9
+ }
10
+ /**
11
+ * @deprecated use tuiProgressColorSegments directive instead
12
+ * {@link TuiProgressColorSegmentsDirective}
13
+ * @example: `<progress tuiProgressBar [tuiProgressColorSegments]="colors">`
14
+ */
15
+ TuiProgressColorSegmentsPipe.prototype.transform = function (colors) {
16
+ return this.calculate(colors);
17
+ };
18
+ TuiProgressColorSegmentsPipe = __decorate([
19
+ Pipe({ name: 'tuiProgressColorSegments' })
20
+ ], TuiProgressColorSegmentsPipe);
21
+ return TuiProgressColorSegmentsPipe;
22
+ }(AbstractTuiColorSegments));
23
+ export { TuiProgressColorSegmentsPipe };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtY29sb3Itc2VnbWVudHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wcm9ncmVzcy8iLCJzb3VyY2VzIjpbInV0aWxzL3Byb2dyZXNzLWNvbG9yLXNlZ21lbnRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbkMsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsc0JBQXNCO0FBRXRCO0lBQWtELGdEQUFnQztJQUFsRjs7SUFTQSxDQUFDO0lBUkc7Ozs7T0FJRztJQUNILGdEQUFTLEdBQVQsVUFBVSxNQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQVJRLDRCQUE0QjtRQUR4QyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUMsQ0FBQztPQUM1Qiw0QkFBNEIsQ0FTeEM7SUFBRCxtQ0FBQztDQUFBLEFBVEQsQ0FBa0Qsd0JBQXdCLEdBU3pFO1NBVFksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBYnN0cmFjdFR1aUNvbG9yU2VnbWVudHN9IGZyb20gJy4vYWJzdHJhY3QtY29sb3Itc2VnbWVudHMnO1xuXG4vLyBUT0RPIGRlbGV0ZSBpbiB2My4wXG5AUGlwZSh7bmFtZTogJ3R1aVByb2dyZXNzQ29sb3JTZWdtZW50cyd9KVxuZXhwb3J0IGNsYXNzIFR1aVByb2dyZXNzQ29sb3JTZWdtZW50c1BpcGUgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbG9yU2VnbWVudHM8c3RyaW5nPiB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIHR1aVByb2dyZXNzQ29sb3JTZWdtZW50cyBkaXJlY3RpdmUgaW5zdGVhZFxuICAgICAqIHtAbGluayBUdWlQcm9ncmVzc0NvbG9yU2VnbWVudHNEaXJlY3RpdmV9XG4gICAgICogQGV4YW1wbGU6IGA8cHJvZ3Jlc3MgdHVpUHJvZ3Jlc3NCYXIgW3R1aVByb2dyZXNzQ29sb3JTZWdtZW50c109XCJjb2xvcnNcIj5gXG4gICAgICovXG4gICAgdHJhbnNmb3JtKGNvbG9yczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGUoY29sb3JzKTtcbiAgICB9XG59XG4iXX0=
@@ -1,15 +1,26 @@
1
1
  import { __decorate, __param } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Inject, Input, Optional, Self, } from '@angular/core';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, Inject, Input, Optional, Self, } from '@angular/core';
3
3
  import { NgControl, NgModel } from '@angular/forms';
4
4
  import { USER_AGENT } from '@ng-web-apis/common';
5
- import { CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, tuiDefaultProp, } from '@taiga-ui/cdk';
5
+ import { CHROMIUM_EDGE_START_VERSION, isEdgeOlderThan, tuiDefaultProp, watch, } from '@taiga-ui/cdk';
6
+ import { take } from 'rxjs/operators';
6
7
  var TuiSliderComponent = /** @class */ (function () {
7
- function TuiSliderComponent(control, elementRef, userAgent) {
8
- this.control = control;
8
+ function TuiSliderComponent(control, changeDetectorRef, elementRef, userAgent) {
9
+ var _a;
9
10
  this.elementRef = elementRef;
10
11
  this.userAgent = userAgent;
11
12
  this.size = 'm';
12
13
  this.segments = 1;
14
+ if (control instanceof NgModel) {
15
+ /**
16
+ * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,
17
+ * when a control is bound using [(ngModel)], first time with a phantom null value.
18
+ * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.
19
+ * ___
20
+ * See this {@link https://github.com/angular/angular/issues/14988 issue}
21
+ */
22
+ (_a = control.valueChanges) === null || _a === void 0 ? void 0 : _a.pipe(watch(changeDetectorRef), take(1)).subscribe();
23
+ }
13
24
  }
14
25
  Object.defineProperty(TuiSliderComponent.prototype, "min", {
15
26
  get: function () {
@@ -32,40 +43,37 @@ var TuiSliderComponent = /** @class */ (function () {
32
43
  enumerable: true,
33
44
  configurable: true
34
45
  });
35
- Object.defineProperty(TuiSliderComponent.prototype, "fillPercentage", {
46
+ Object.defineProperty(TuiSliderComponent.prototype, "value", {
36
47
  get: function () {
37
- var percentage = Math.floor((100 * this.value) / (this.max - this.min));
38
- return percentage + "%";
48
+ return Number(this.elementRef.nativeElement.value) || 0;
39
49
  },
40
50
  enumerable: true,
41
51
  configurable: true
42
52
  });
43
- Object.defineProperty(TuiSliderComponent.prototype, "stepPercentage", {
53
+ Object.defineProperty(TuiSliderComponent.prototype, "fillPercentage", {
44
54
  get: function () {
45
- var percentage = 100 / this.segments - 0.1;
46
- return percentage + "%";
55
+ return (100 * this.value) / (this.max - this.min);
47
56
  },
48
57
  enumerable: true,
49
58
  configurable: true
50
59
  });
51
- Object.defineProperty(TuiSliderComponent.prototype, "isOldEdge", {
60
+ Object.defineProperty(TuiSliderComponent.prototype, "stepPercentage", {
52
61
  get: function () {
53
- return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);
62
+ return 100 / this.segments - 0.1;
54
63
  },
55
64
  enumerable: true,
56
65
  configurable: true
57
66
  });
58
- Object.defineProperty(TuiSliderComponent.prototype, "value", {
67
+ Object.defineProperty(TuiSliderComponent.prototype, "isOldEdge", {
59
68
  get: function () {
60
- var control = this.control;
61
- var controlValue = control instanceof NgModel ? control.viewModel : control === null || control === void 0 ? void 0 : control.value;
62
- return controlValue || Number(this.elementRef.nativeElement.value) || 0;
69
+ return isEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);
63
70
  },
64
71
  enumerable: true,
65
72
  configurable: true
66
73
  });
67
74
  TuiSliderComponent.ctorParameters = function () { return [
68
75
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
76
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
69
77
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
70
78
  { type: String, decorators: [{ type: Inject, args: [USER_AGENT,] }] }
71
79
  ]; };
@@ -79,20 +87,25 @@ var TuiSliderComponent = /** @class */ (function () {
79
87
  tuiDefaultProp()
80
88
  ], TuiSliderComponent.prototype, "segments", void 0);
81
89
  __decorate([
82
- HostBinding('style.--tui-slider-fill-percentage')
90
+ HostBinding('style.--tui-slider-fill-percentage.%')
83
91
  ], TuiSliderComponent.prototype, "fillPercentage", null);
84
92
  __decorate([
85
- HostBinding('style.--tui-slider-segment-width')
93
+ HostBinding('style.--tui-slider-segment-width.%')
86
94
  ], TuiSliderComponent.prototype, "stepPercentage", null);
87
95
  __decorate([
88
96
  HostBinding('class._old-edge')
89
97
  ], TuiSliderComponent.prototype, "isOldEdge", null);
90
98
  TuiSliderComponent = __decorate([
91
99
  Component({
92
- selector: 'input[tuiSlider]',
100
+ /**
101
+ * We have to call our component as `<input tuiSlider type="range" ... />`
102
+ * because otherwise built-in angular
103
+ * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}
104
+ * cannot be matched by its CSS selector.
105
+ */
106
+ selector: 'input[type=range][tuiSlider]',
93
107
  template: "",
94
108
  host: {
95
- type: 'range',
96
109
  /**
97
110
  * For change detection.
98
111
  * Webkit does not have built-in method for customization of filling progress (as Firefox).
@@ -107,10 +120,11 @@ var TuiSliderComponent = /** @class */ (function () {
107
120
  __param(0, Optional()),
108
121
  __param(0, Self()),
109
122
  __param(0, Inject(NgControl)),
110
- __param(1, Inject(ElementRef)),
111
- __param(2, Inject(USER_AGENT))
123
+ __param(1, Inject(ChangeDetectorRef)),
124
+ __param(2, Inject(ElementRef)),
125
+ __param(3, Inject(USER_AGENT))
112
126
  ], TuiSliderComponent);
113
127
  return TuiSliderComponent;
114
128
  }());
115
129
  export { TuiSliderComponent };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLGVBQWUsRUFDZixjQUFjLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBbUJ2QjtJQWlESSw0QkFJcUIsT0FBeUIsRUFDTCxVQUF3QyxFQUN4QyxTQUFpQjtRQUZyQyxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUNMLGVBQVUsR0FBVixVQUFVLENBQThCO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFuRDFELFNBQUksR0FBYSxHQUFHLENBQUM7UUFJckIsYUFBUSxHQUFHLENBQUMsQ0FBQztJQWdEVixDQUFDO0lBOUNKLHNCQUFJLG1DQUFHO2FBQVA7WUFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLG1DQUFHO2FBQVA7WUFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDNUQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxvQ0FBSTthQUFSO1lBQ0ksT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUM7OztPQUFBO0lBR0Qsc0JBQUksOENBQWM7YUFBbEI7WUFDSSxJQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFMUUsT0FBVSxVQUFVLE1BQUcsQ0FBQztRQUM1QixDQUFDOzs7T0FBQTtJQUdELHNCQUFJLDhDQUFjO2FBQWxCO1lBQ0ksSUFBTSxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBRTdDLE9BQVUsVUFBVSxNQUFHLENBQUM7UUFDNUIsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSx5Q0FBUzthQUFiO1lBQ0ksT0FBTyxlQUFlLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7OztPQUFBO0lBRUQsc0JBQUkscUNBQUs7YUFBVDtZQUNXLElBQUEsc0JBQU8sQ0FBUztZQUN2QixJQUFNLFlBQVksR0FDZCxPQUFPLFlBQVksT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsS0FBSyxDQUFDO1lBRXBFLE9BQU8sWUFBWSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUUsQ0FBQzs7O09BQUE7O2dCQU02QixTQUFTLHVCQUhsQyxRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQyxTQUFTO2dCQUVnQyxVQUFVLHVCQUExRCxNQUFNLFNBQUMsVUFBVTs2Q0FDakIsTUFBTSxTQUFDLFVBQVU7O0lBbkR0QjtRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3QixjQUFjLEVBQUU7b0RBQ0k7SUFJckI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7d0RBQ0o7SUFlYjtRQURDLFdBQVcsQ0FBQyxvQ0FBb0MsQ0FBQzs0REFLakQ7SUFHRDtRQURDLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQzs0REFLL0M7SUFHRDtRQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt1REFHOUI7SUF2Q1Esa0JBQWtCO1FBaEI5QixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLFFBQVEsRUFBRSxFQUFFO1lBRVosSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxPQUFPO2dCQUNiOzs7OzttQkFLRztnQkFDSCxTQUFTLEVBQUUsR0FBRzthQUNqQjtZQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBbURPLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7T0F2RGQsa0JBQWtCLENBeUQ5QjtJQUFELHlCQUFDO0NBQUEsQUF6REQsSUF5REM7U0F6RFksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtVU0VSX0FHRU5UfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLFxuICAgIGlzRWRnZU9sZGVyVGhhbixcbiAgICB0dWlEZWZhdWx0UHJvcCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpU2xpZGVyXScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIHN0eWxlVXJsczogWycuL3NsaWRlci5zdHlsZS5sZXNzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICB0eXBlOiAncmFuZ2UnLFxuICAgICAgICAvKipcbiAgICAgICAgICogRm9yIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICAgICAqIFdlYmtpdCBkb2VzIG5vdCBoYXZlIGJ1aWx0LWluIG1ldGhvZCBmb3IgY3VzdG9taXphdGlvbiBvZiBmaWxsaW5nIHByb2dyZXNzIChhcyBGaXJlZm94KS5cbiAgICAgICAgICogV2UgZHJhdyBmaWxsaW5nIG9mIHByb2dyZXNzIGJ5IGBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLi4uKWAgb2YgdGhlIHRyYWNrLlxuICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHRyaWdnZXJzIGNoYW5nZSBkZXRlY3Rpb24gKGZvciBgZmlsbFBlcmNlbnRhZ2VgIGZ1bmN0aW9uKSB3aGVuIHdlIGRyYWcgdGh1bWIgb2YgdGhlIGlucHV0LlxuICAgICAgICAgKi9cbiAgICAgICAgJyhpbnB1dCknOiAnMCcsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAxO1xuXG4gICAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1heCkgfHwgMTAwO1xuICAgIH1cblxuICAgIGdldCBzdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3RlcCkgfHwgMTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdHVpLXNsaWRlci1maWxsLXBlcmNlbnRhZ2UnKVxuICAgIGdldCBmaWxsUGVyY2VudGFnZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gTWF0aC5mbG9vcigoMTAwICogdGhpcy52YWx1ZSkgLyAodGhpcy5tYXggLSB0aGlzLm1pbikpO1xuXG4gICAgICAgIHJldHVybiBgJHtwZXJjZW50YWdlfSVgO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS10dWktc2xpZGVyLXNlZ21lbnQtd2lkdGgnKVxuICAgIGdldCBzdGVwUGVyY2VudGFnZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gMTAwIC8gdGhpcy5zZWdtZW50cyAtIDAuMTtcblxuICAgICAgICByZXR1cm4gYCR7cGVyY2VudGFnZX0lYDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vbGQtZWRnZScpXG4gICAgZ2V0IGlzT2xkRWRnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzRWRnZU9sZGVyVGhhbihDSFJPTUlVTV9FREdFX1NUQVJUX1ZFUlNJT04sIHRoaXMudXNlckFnZW50KTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge2NvbnRyb2x9ID0gdGhpcztcbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID1cbiAgICAgICAgICAgIGNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsID8gY29udHJvbC52aWV3TW9kZWwgOiBjb250cm9sPy52YWx1ZTtcblxuICAgICAgICByZXR1cm4gY29udHJvbFZhbHVlIHx8IE51bWJlcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSkgfHwgMDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICAgICAgQEluamVjdChVU0VSX0FHRU5UKSBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgICkge31cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXIvIiwic291cmNlcyI6WyJzbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUNILDJCQUEyQixFQUMzQixlQUFlLEVBQ2YsY0FBYyxFQUNkLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUF1QnBDO0lBeUNJLDRCQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBQzFCLFVBQXdDLEVBQ3hDLFNBQWlCOztRQURqQixlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBNUMxRCxTQUFJLEdBQWEsR0FBRyxDQUFDO1FBSXJCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUEwQ1QsSUFBSSxPQUFPLFlBQVksT0FBTyxFQUFFO1lBQzVCOzs7Ozs7ZUFNRztZQUNILE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEdBQUc7U0FDN0U7SUFDTCxDQUFDO0lBbERELHNCQUFJLG1DQUFHO2FBQVA7WUFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLG1DQUFHO2FBQVA7WUFDSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDNUQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxvQ0FBSTthQUFSO1lBQ0ksT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELENBQUM7OztPQUFBO0lBRUQsc0JBQUkscUNBQUs7YUFBVDtZQUNJLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxDQUFDOzs7T0FBQTtJQUdELHNCQUFJLDhDQUFjO2FBQWxCO1lBQ0ksT0FBTyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxDQUFDOzs7T0FBQTtJQUdELHNCQUFJLDhDQUFjO2FBQWxCO1lBQ0ksT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDckMsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSx5Q0FBUzthQUFiO1lBQ0ksT0FBTyxlQUFlLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7OztPQUFBOztnQkFNWSxTQUFTLHVCQUhqQixRQUFRLFlBQ1IsSUFBSSxZQUNKLE1BQU0sU0FBQyxTQUFTO2dCQUU2QixpQkFBaUIsdUJBQTlELE1BQU0sU0FBQyxpQkFBaUI7Z0JBQ3dCLFVBQVUsdUJBQTFELE1BQU0sU0FBQyxVQUFVOzZDQUNqQixNQUFNLFNBQUMsVUFBVTs7SUE1Q3RCO1FBSEMsS0FBSyxFQUFFO1FBQ1AsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1FBQzdCLGNBQWMsRUFBRTtvREFDSTtJQUlyQjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTt3REFDSjtJQW1CYjtRQURDLFdBQVcsQ0FBQyxzQ0FBc0MsQ0FBQzs0REFHbkQ7SUFHRDtRQURDLFdBQVcsQ0FBQyxvQ0FBb0MsQ0FBQzs0REFHakQ7SUFHRDtRQURDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQzt1REFHOUI7SUF2Q1Esa0JBQWtCO1FBckI5QixTQUFTLENBQUM7WUFDUDs7Ozs7ZUFLRztZQUNILFFBQVEsRUFBRSw4QkFBOEI7WUFDeEMsUUFBUSxFQUFFLEVBQUU7WUFFWixJQUFJLEVBQUU7Z0JBQ0Y7Ozs7O21CQUtHO2dCQUNILFNBQVMsRUFBRSxHQUFHO2FBQ2pCO1lBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2xELENBQUM7UUEyQ08sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO09BaERkLGtCQUFrQixDQTZEOUI7SUFBRCx5QkFBQztDQUFBLEFBN0RELElBNkRDO1NBN0RZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2wsIE5nTW9kZWx9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VVNFUl9BR0VOVH0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENIUk9NSVVNX0VER0VfU1RBUlRfVkVSU0lPTixcbiAgICBpc0VkZ2VPbGRlclRoYW4sXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgd2F0Y2gsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8qKlxuICAgICAqIFdlIGhhdmUgdG8gY2FsbCBvdXIgY29tcG9uZW50IGFzIGA8aW5wdXQgdHVpU2xpZGVyIHR5cGU9XCJyYW5nZVwiIC4uLiAvPmBcbiAgICAgKiBiZWNhdXNlIG90aGVyd2lzZSBidWlsdC1pbiBhbmd1bGFyXG4gICAgICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYXN0ZXIvcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvcmFuZ2VfdmFsdWVfYWNjZXNzb3IudHMjTDQ1IFJhbmdlVmFsdWVBY2Nlc3Nvcn1cbiAgICAgKiBjYW5ub3QgYmUgbWF0Y2hlZCBieSBpdHMgQ1NTIHNlbGVjdG9yLlxuICAgICAqL1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHlwZT1yYW5nZV1bdHVpU2xpZGVyXScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIHN0eWxlVXJsczogWycuL3NsaWRlci5zdHlsZS5sZXNzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogRm9yIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICAgICAqIFdlYmtpdCBkb2VzIG5vdCBoYXZlIGJ1aWx0LWluIG1ldGhvZCBmb3IgY3VzdG9taXphdGlvbiBvZiBmaWxsaW5nIHByb2dyZXNzIChhcyBGaXJlZm94KS5cbiAgICAgICAgICogV2UgZHJhdyBmaWxsaW5nIG9mIHByb2dyZXNzIGJ5IGBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLi4uKWAgb2YgdGhlIHRyYWNrLlxuICAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHRyaWdnZXJzIGNoYW5nZSBkZXRlY3Rpb24gKGZvciBgZmlsbFBlcmNlbnRhZ2VgIGZ1bmN0aW9uKSB3aGVuIHdlIGRyYWcgdGh1bWIgb2YgdGhlIGlucHV0LlxuICAgICAgICAgKi9cbiAgICAgICAgJyhpbnB1dCknOiAnMCcsXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VnbWVudHMgPSAxO1xuXG4gICAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1heCkgfHwgMTAwO1xuICAgIH1cblxuICAgIGdldCBzdGVwKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3RlcCkgfHwgMTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSkgfHwgMDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdHVpLXNsaWRlci1maWxsLXBlcmNlbnRhZ2UuJScpXG4gICAgZ2V0IGZpbGxQZXJjZW50YWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoMTAwICogdGhpcy52YWx1ZSkgLyAodGhpcy5tYXggLSB0aGlzLm1pbik7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLXR1aS1zbGlkZXItc2VnbWVudC13aWR0aC4lJylcbiAgICBnZXQgc3RlcFBlcmNlbnRhZ2UoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDEwMCAvIHRoaXMuc2VnbWVudHMgLSAwLjE7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fb2xkLWVkZ2UnKVxuICAgIGdldCBpc09sZEVkZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpc0VkZ2VPbGRlclRoYW4oQ0hST01JVU1fRURHRV9TVEFSVF9WRVJTSU9OLCB0aGlzLnVzZXJBZ2VudCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVVNFUl9BR0VOVCkgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnQ6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBWYWx1ZUFjY2Vzc29yLndyaXRlVmFsdWUgbWV0aG9kIGlzIGNhbGxlZCB0d2ljZSBvbiBhbnkgdmFsdWUgYWNjZXNzb3IgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbixcbiAgICAgICAgICAgICAqIHdoZW4gYSBjb250cm9sIGlzIGJvdW5kIHVzaW5nIFsobmdNb2RlbCldLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWUuXG4gICAgICAgICAgICAgKiBXaXRoIGBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaGAgdGhlIHNlY29uZCBjYWxsIG9mIHdyaXRlVmFsdWUgd2l0aCByZWFsIHZhbHVlIGRvbid0IHJlLXJlbmRlciB0aGUgdmlldy5cbiAgICAgICAgICAgICAqIF9fX1xuICAgICAgICAgICAgICogU2VlIHRoaXMge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4IGlzc3VlfVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcz8ucGlwZSh3YXRjaChjaGFuZ2VEZXRlY3RvclJlZiksIHRha2UoMSkpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19