@taiga-ui/cdk 3.23.1 → 3.24.0-dev.main-94f283d

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 (256) hide show
  1. package/abstract/control.d.ts +3 -3
  2. package/abstract/dialog.directive.d.ts +1 -1
  3. package/abstract/index.d.ts +1 -0
  4. package/abstract/portal-host.d.ts +5 -5
  5. package/abstract/portal-service.d.ts +1 -1
  6. package/abstract/theme-switcher.d.ts +2 -2
  7. package/abstract/value-transformer.d.ts +4 -0
  8. package/bundles/taiga-ui-cdk-abstract.umd.js +38 -22
  9. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-classes.umd.js +6 -1
  11. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +1 -1
  13. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-constants.umd.js +9 -1
  15. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-date-time.umd.js +20 -16
  17. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-decorators.umd.js +12 -10
  19. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +3 -3
  21. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +62 -27
  23. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-checked.umd.js +3 -3
  25. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-directives-control.umd.js +82 -0
  27. package/bundles/taiga-ui-cdk-directives-control.umd.js.map +1 -0
  28. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +3 -3
  29. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives-drag.umd.js +3 -3
  31. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +8 -8
  33. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +20 -7
  35. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +4 -4
  37. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  38. package/bundles/taiga-ui-cdk-directives-media.umd.js +9 -9
  39. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  40. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +3 -3
  41. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +3 -3
  43. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js +90 -0
  45. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js.map +1 -0
  46. package/bundles/taiga-ui-cdk-directives.umd.js +16 -4
  47. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  48. package/bundles/taiga-ui-cdk-observables.umd.js +2 -2
  49. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  50. package/bundles/taiga-ui-cdk-pipes-replace.umd.js +71 -0
  51. package/bundles/taiga-ui-cdk-pipes-replace.umd.js.map +1 -0
  52. package/bundles/taiga-ui-cdk-pipes.umd.js +10 -4
  53. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  54. package/bundles/taiga-ui-cdk-services.umd.js +19 -19
  55. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  56. package/bundles/taiga-ui-cdk-tokens.umd.js +12 -13
  57. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  58. package/bundles/taiga-ui-cdk-utils-browser.umd.js +7 -8
  59. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  60. package/bundles/taiga-ui-cdk-utils-dom.umd.js +8 -8
  61. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  62. package/bundles/taiga-ui-cdk-utils-focus.umd.js +6 -6
  63. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  64. package/bundles/taiga-ui-cdk-utils-format.umd.js +1 -1
  65. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  66. package/bundles/taiga-ui-cdk-utils-math.umd.js +17 -16
  67. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  68. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +2 -1
  69. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  70. package/classes/assert.d.ts +5 -0
  71. package/constants/parent-animation.d.ts +7 -0
  72. package/constants/version.d.ts +1 -1
  73. package/constants/version.js +1 -1
  74. package/directives/active-zone/active-zone.directive.d.ts +2 -2
  75. package/directives/auto-focus/autofocus.options.d.ts +1 -1
  76. package/directives/auto-focus/handlers/abstract.handler.d.ts +3 -3
  77. package/directives/auto-focus/handlers/default.handler.d.ts +1 -1
  78. package/directives/auto-focus/handlers/ios.handler.d.ts +22 -2
  79. package/directives/auto-focus/handlers/sync.handler.d.ts +1 -1
  80. package/directives/checked/checked.directive.d.ts +2 -2
  81. package/directives/control/control.directive.d.ts +9 -0
  82. package/directives/control/control.module.d.ts +7 -0
  83. package/directives/control/index.d.ts +2 -0
  84. package/directives/control/package.json +10 -0
  85. package/directives/control/taiga-ui-cdk-directives-control.d.ts +5 -0
  86. package/directives/copy-processor/copy-processor.directive.d.ts +2 -2
  87. package/directives/drag/drag.directive.d.ts +2 -2
  88. package/directives/focus-trap/focus-trap.directive.d.ts +3 -3
  89. package/directives/for-async/for-async.directive.d.ts +2 -0
  90. package/directives/hovered/hovered.service.d.ts +2 -2
  91. package/directives/index.d.ts +2 -0
  92. package/directives/media/media.directive.d.ts +2 -2
  93. package/directives/pressed/pressed.directive.d.ts +2 -2
  94. package/directives/prevent-default/prevent-default.directive.d.ts +2 -2
  95. package/directives/value-changes/index.d.ts +2 -0
  96. package/directives/value-changes/package.json +10 -0
  97. package/directives/value-changes/taiga-ui-cdk-directives-value-changes.d.ts +5 -0
  98. package/directives/value-changes/value-changes.directive.d.ts +14 -0
  99. package/directives/value-changes/value-changes.module.d.ts +7 -0
  100. package/esm2015/abstract/control.js +17 -9
  101. package/esm2015/abstract/dialog.directive.js +3 -3
  102. package/esm2015/abstract/index.js +2 -1
  103. package/esm2015/abstract/portal-host.js +8 -8
  104. package/esm2015/abstract/portal-service.js +1 -1
  105. package/esm2015/abstract/theme-switcher.js +7 -7
  106. package/esm2015/abstract/value-transformer.js +3 -0
  107. package/esm2015/classes/assert.js +7 -2
  108. package/esm2015/components/alert-host/alert-host.component.js +2 -2
  109. package/esm2015/constants/parent-animation.js +8 -1
  110. package/esm2015/constants/version.js +2 -2
  111. package/esm2015/date-time/day-range.js +2 -2
  112. package/esm2015/date-time/day.js +7 -5
  113. package/esm2015/date-time/month-range.js +2 -2
  114. package/esm2015/date-time/month.js +3 -3
  115. package/esm2015/date-time/time.js +6 -4
  116. package/esm2015/date-time/year.js +6 -6
  117. package/esm2015/decorators/default-prop.js +10 -9
  118. package/esm2015/decorators/required-setter.js +4 -3
  119. package/esm2015/directives/active-zone/active-zone.directive.js +4 -4
  120. package/esm2015/directives/auto-focus/autofocus.options.js +4 -4
  121. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +5 -6
  122. package/esm2015/directives/auto-focus/handlers/default.handler.js +3 -3
  123. package/esm2015/directives/auto-focus/handlers/ios.handler.js +52 -17
  124. package/esm2015/directives/auto-focus/handlers/sync.handler.js +3 -3
  125. package/esm2015/directives/checked/checked.directive.js +4 -4
  126. package/esm2015/directives/control/control.directive.js +25 -0
  127. package/esm2015/directives/control/control.module.js +16 -0
  128. package/esm2015/directives/control/index.js +3 -0
  129. package/esm2015/directives/control/taiga-ui-cdk-directives-control.js +5 -0
  130. package/esm2015/directives/copy-processor/copy-processor.directive.js +4 -4
  131. package/esm2015/directives/drag/drag.directive.js +4 -4
  132. package/esm2015/directives/focus-trap/focus-trap.directive.js +9 -9
  133. package/esm2015/directives/for-async/for-async.directive.js +14 -5
  134. package/esm2015/directives/hovered/hovered.service.js +5 -5
  135. package/esm2015/directives/index.js +3 -1
  136. package/esm2015/directives/media/media.directive.js +10 -10
  137. package/esm2015/directives/pressed/pressed.directive.js +4 -4
  138. package/esm2015/directives/prevent-default/prevent-default.directive.js +4 -4
  139. package/esm2015/directives/value-changes/index.js +3 -0
  140. package/esm2015/directives/value-changes/taiga-ui-cdk-directives-value-changes.js +5 -0
  141. package/esm2015/directives/value-changes/value-changes.directive.js +39 -0
  142. package/esm2015/directives/value-changes/value-changes.module.js +16 -0
  143. package/esm2015/interfaces/aria-dialog-context.js +1 -1
  144. package/esm2015/interfaces/control-value-transformer.js +1 -1
  145. package/esm2015/interfaces/focusable-element-accessor.js +1 -1
  146. package/esm2015/observables/watch.js +3 -3
  147. package/esm2015/pipes/index.js +2 -1
  148. package/esm2015/pipes/replace/index.js +3 -0
  149. package/esm2015/pipes/replace/replace.module.js +16 -0
  150. package/esm2015/pipes/replace/replace.pipe.js +17 -0
  151. package/esm2015/pipes/replace/taiga-ui-cdk-pipes-replace.js +5 -0
  152. package/esm2015/services/focus-visible.service.js +3 -3
  153. package/esm2015/services/obscured.service.js +3 -3
  154. package/esm2015/services/pan.service.js +5 -5
  155. package/esm2015/services/parents-scroll.service.js +4 -4
  156. package/esm2015/services/resize.service.js +4 -4
  157. package/esm2015/services/scroll.service.js +4 -4
  158. package/esm2015/services/swipe.service.js +3 -3
  159. package/esm2015/tokens/active-element.js +11 -12
  160. package/esm2015/tokens/window-height.js +3 -3
  161. package/esm2015/utils/browser/is-safari.js +8 -9
  162. package/esm2015/utils/dom/get-element-obscurers.js +6 -6
  163. package/esm2015/utils/dom/get-element-offset.js +2 -2
  164. package/esm2015/utils/dom/is-inside-iframe.js +3 -3
  165. package/esm2015/utils/focus/blur-native-focused.js +3 -3
  166. package/esm2015/utils/focus/get-native-focused.js +5 -5
  167. package/esm2015/utils/format/px.js +2 -2
  168. package/esm2015/utils/math/clamp.js +5 -5
  169. package/esm2015/utils/math/in-range.js +5 -5
  170. package/esm2015/utils/math/normalize-to-int-number.js +4 -4
  171. package/esm2015/utils/math/quantize.js +4 -4
  172. package/esm2015/utils/math/round.js +4 -3
  173. package/esm2015/utils/miscellaneous/ease-in-out-quad.js +3 -2
  174. package/fesm2015/taiga-ui-cdk-abstract.js +34 -24
  175. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  176. package/fesm2015/taiga-ui-cdk-classes.js +6 -1
  177. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  178. package/fesm2015/taiga-ui-cdk-components-alert-host.js +1 -1
  179. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  180. package/fesm2015/taiga-ui-cdk-constants.js +9 -2
  181. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  182. package/fesm2015/taiga-ui-cdk-date-time.js +20 -16
  183. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  184. package/fesm2015/taiga-ui-cdk-decorators.js +12 -10
  185. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  186. package/fesm2015/taiga-ui-cdk-directives-active-zone.js +3 -3
  187. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  188. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +62 -28
  189. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  190. package/fesm2015/taiga-ui-cdk-directives-checked.js +3 -3
  191. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  192. package/fesm2015/taiga-ui-cdk-directives-control.js +45 -0
  193. package/fesm2015/taiga-ui-cdk-directives-control.js.map +1 -0
  194. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +3 -3
  195. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  196. package/fesm2015/taiga-ui-cdk-directives-drag.js +3 -3
  197. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  198. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +8 -8
  199. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  200. package/fesm2015/taiga-ui-cdk-directives-for-async.js +13 -4
  201. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
  202. package/fesm2015/taiga-ui-cdk-directives-hovered.js +4 -4
  203. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  204. package/fesm2015/taiga-ui-cdk-directives-media.js +9 -9
  205. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  206. package/fesm2015/taiga-ui-cdk-directives-pressed.js +3 -3
  207. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  208. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +3 -3
  209. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  210. package/fesm2015/taiga-ui-cdk-directives-value-changes.js +59 -0
  211. package/fesm2015/taiga-ui-cdk-directives-value-changes.js.map +1 -0
  212. package/fesm2015/taiga-ui-cdk-directives.js +2 -0
  213. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  214. package/fesm2015/taiga-ui-cdk-observables.js +2 -2
  215. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  216. package/fesm2015/taiga-ui-cdk-pipes-replace.js +37 -0
  217. package/fesm2015/taiga-ui-cdk-pipes-replace.js.map +1 -0
  218. package/fesm2015/taiga-ui-cdk-pipes.js +1 -0
  219. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  220. package/fesm2015/taiga-ui-cdk-services.js +19 -19
  221. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  222. package/fesm2015/taiga-ui-cdk-tokens.js +12 -13
  223. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  224. package/fesm2015/taiga-ui-cdk-utils-browser.js +7 -8
  225. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  226. package/fesm2015/taiga-ui-cdk-utils-dom.js +8 -8
  227. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  228. package/fesm2015/taiga-ui-cdk-utils-focus.js +6 -6
  229. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  230. package/fesm2015/taiga-ui-cdk-utils-format.js +1 -1
  231. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  232. package/fesm2015/taiga-ui-cdk-utils-math.js +17 -16
  233. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  234. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +2 -1
  235. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  236. package/interfaces/aria-dialog-context.d.ts +1 -1
  237. package/interfaces/control-value-transformer.d.ts +3 -0
  238. package/interfaces/focusable-element-accessor.d.ts +1 -0
  239. package/observables/watch.d.ts +1 -1
  240. package/package.json +2 -2
  241. package/pipes/index.d.ts +1 -0
  242. package/pipes/replace/index.d.ts +2 -0
  243. package/pipes/replace/package.json +10 -0
  244. package/pipes/replace/replace.module.d.ts +7 -0
  245. package/pipes/replace/replace.pipe.d.ts +7 -0
  246. package/pipes/replace/taiga-ui-cdk-pipes-replace.d.ts +5 -0
  247. package/services/focus-visible.service.d.ts +1 -1
  248. package/services/obscured.service.d.ts +1 -1
  249. package/services/pan.service.d.ts +1 -1
  250. package/services/parents-scroll.service.d.ts +1 -1
  251. package/services/resize.service.d.ts +1 -1
  252. package/services/swipe.service.d.ts +1 -1
  253. package/utils/browser/is-safari.d.ts +1 -1
  254. package/utils/dom/is-inside-iframe.d.ts +1 -1
  255. package/utils/focus/blur-native-focused.d.ts +1 -1
  256. package/utils/focus/get-native-focused.d.ts +1 -1
@@ -1,9 +1,9 @@
1
1
  import { tuiAssert } from '@taiga-ui/cdk/classes';
2
2
  export function tuiInRange(value, fromInclude, toExclude) {
3
- tuiAssert.assert(!Number.isNaN(value));
4
- tuiAssert.assert(!Number.isNaN(fromInclude));
5
- tuiAssert.assert(!Number.isNaN(toExclude));
6
- tuiAssert.assert(fromInclude < toExclude);
3
+ ngDevMode && tuiAssert.assert(!Number.isNaN(value));
4
+ ngDevMode && tuiAssert.assert(!Number.isNaN(fromInclude));
5
+ ngDevMode && tuiAssert.assert(!Number.isNaN(toExclude));
6
+ ngDevMode && tuiAssert.assert(fromInclude < toExclude);
7
7
  return value >= fromInclude && value < toExclude;
8
8
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9pbi1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxVQUFVLFVBQVUsQ0FDdEIsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLFNBQWlCO0lBRWpCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM3QyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sS0FBSyxJQUFJLFdBQVcsSUFBSSxLQUFLLEdBQUcsU0FBUyxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUluUmFuZ2UoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBmcm9tSW5jbHVkZTogbnVtYmVyLFxuICAgIHRvRXhjbHVkZTogbnVtYmVyLFxuKTogYm9vbGVhbiB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKHZhbHVlKSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKGZyb21JbmNsdWRlKSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKHRvRXhjbHVkZSkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoZnJvbUluY2x1ZGUgPCB0b0V4Y2x1ZGUpO1xuXG4gICAgcmV0dXJuIHZhbHVlID49IGZyb21JbmNsdWRlICYmIHZhbHVlIDwgdG9FeGNsdWRlO1xufVxuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9pbi1yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxVQUFVLFVBQVUsQ0FDdEIsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLFNBQWlCO0lBRWpCLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzFELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV2RCxPQUFPLEtBQUssSUFBSSxXQUFXLElBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJblJhbmdlKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgZnJvbUluY2x1ZGU6IG51bWJlcixcbiAgICB0b0V4Y2x1ZGU6IG51bWJlcixcbik6IGJvb2xlYW4ge1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KCFOdW1iZXIuaXNOYU4odmFsdWUpKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKGZyb21JbmNsdWRlKSk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoIU51bWJlci5pc05hTih0b0V4Y2x1ZGUpKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChmcm9tSW5jbHVkZSA8IHRvRXhjbHVkZSk7XG5cbiAgICByZXR1cm4gdmFsdWUgPj0gZnJvbUluY2x1ZGUgJiYgdmFsdWUgPCB0b0V4Y2x1ZGU7XG59XG4iXX0=
@@ -8,9 +8,9 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
8
8
  * @return an integer between min and max inclusive
9
9
  */
10
10
  export function tuiNormalizeToIntNumber(value, min, max) {
11
- tuiAssert.assert(Number.isInteger(min));
12
- tuiAssert.assert(Number.isInteger(max));
13
- tuiAssert.assert(min <= max);
11
+ ngDevMode && tuiAssert.assert(Number.isInteger(min));
12
+ ngDevMode && tuiAssert.assert(Number.isInteger(max));
13
+ ngDevMode && tuiAssert.assert(min <= max);
14
14
  if (Number.isNaN(value) || value <= min) {
15
15
  return min;
16
16
  }
@@ -19,4 +19,4 @@ export function tuiNormalizeToIntNumber(value, min, max) {
19
19
  }
20
20
  return Math.round(value);
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXRvLWludC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9ub3JtYWxpemUtdG8taW50LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDM0UsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7SUFFN0IsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUU7UUFDckMsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUVELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtRQUNkLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYW55IG51bWJlciB0byBhbiBpbnRlZ2VyIHdpdGhpbiBpbmNsdXNpdmUgcmFuZ2VcbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBtaW4gbG93ZXIgaW5jbHVzaXZlIGludGVnZXJcbiAqIEBwYXJhbSBtYXggdXBwZXIgaW5jbHVzaXZlIGludGVnZXJcbiAqIEByZXR1cm4gYW4gaW50ZWdlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IGluY2x1c2l2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTm9ybWFsaXplVG9JbnROdW1iZXIodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIobWluKSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKG1heCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQobWluIDw9IG1heCk7XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA8PSBtaW4pIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPj0gbWF4KSB7XG4gICAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplLXRvLWludC1udW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9ub3JtYWxpemUtdG8taW50LW51bWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDM0UsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUM7SUFFMUMsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUU7UUFDckMsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUVELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtRQUNkLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYW55IG51bWJlciB0byBhbiBpbnRlZ2VyIHdpdGhpbiBpbmNsdXNpdmUgcmFuZ2VcbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBtaW4gbG93ZXIgaW5jbHVzaXZlIGludGVnZXJcbiAqIEBwYXJhbSBtYXggdXBwZXIgaW5jbHVzaXZlIGludGVnZXJcbiAqIEByZXR1cm4gYW4gaW50ZWdlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IGluY2x1c2l2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpTm9ybWFsaXplVG9JbnROdW1iZXIodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKG1pbikpO1xuICAgIG5nRGV2TW9kZSAmJiB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIobWF4KSk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQobWluIDw9IG1heCk7XG5cbiAgICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA8PSBtaW4pIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPj0gbWF4KSB7XG4gICAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xufVxuIl19
@@ -6,10 +6,10 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
6
6
  * @param quantum series step
7
7
  */
8
8
  export function tuiQuantize(value, quantum) {
9
- tuiAssert.assert(Number.isFinite(value));
10
- tuiAssert.assert(Number.isFinite(quantum));
11
- tuiAssert.assert(quantum > 0);
9
+ ngDevMode && tuiAssert.assert(Number.isFinite(value));
10
+ ngDevMode && tuiAssert.assert(Number.isFinite(quantum));
11
+ ngDevMode && tuiAssert.assert(quantum > 0);
12
12
  const remainder = value % quantum;
13
13
  return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9xdWFudGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWEsRUFBRSxPQUFlO0lBQ3RELFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTlCLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUM7SUFFbEMsT0FBTyxTQUFTLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG4vKipcbiAqIFJvdW5kcyBhIG51bWJlciB0byB0aGUgY2xvc2VzdCB2YWx1ZSBpbiBhIGZpeGVkIGRpc2NyZXRlIHNlcmllc1xuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHF1YW50dW0gc2VyaWVzIHN0ZXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aVF1YW50aXplKHZhbHVlOiBudW1iZXIsIHF1YW50dW06IG51bWJlcik6IG51bWJlciB7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNGaW5pdGUodmFsdWUpKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0Zpbml0ZShxdWFudHVtKSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChxdWFudHVtID4gMCk7XG5cbiAgICBjb25zdCByZW1haW5kZXIgPSB2YWx1ZSAlIHF1YW50dW07XG5cbiAgICByZXR1cm4gcmVtYWluZGVyIDwgcXVhbnR1bSAvIDIgPyB2YWx1ZSAtIHJlbWFpbmRlciA6IHZhbHVlICsgcXVhbnR1bSAtIHJlbWFpbmRlcjtcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9xdWFudGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQWEsRUFBRSxPQUFlO0lBQ3RELFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDeEQsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUM7SUFFbEMsT0FBTyxTQUFTLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxTQUFTLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG4vKipcbiAqIFJvdW5kcyBhIG51bWJlciB0byB0aGUgY2xvc2VzdCB2YWx1ZSBpbiBhIGZpeGVkIGRpc2NyZXRlIHNlcmllc1xuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHF1YW50dW0gc2VyaWVzIHN0ZXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHR1aVF1YW50aXplKHZhbHVlOiBudW1iZXIsIHF1YW50dW06IG51bWJlcik6IG51bWJlciB7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzRmluaXRlKHZhbHVlKSk7XG4gICAgbmdEZXZNb2RlICYmIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzRmluaXRlKHF1YW50dW0pKTtcbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydChxdWFudHVtID4gMCk7XG5cbiAgICBjb25zdCByZW1haW5kZXIgPSB2YWx1ZSAlIHF1YW50dW07XG5cbiAgICByZXR1cm4gcmVtYWluZGVyIDwgcXVhbnR1bSAvIDIgPyB2YWx1ZSAtIHJlbWFpbmRlciA6IHZhbHVlICsgcXVhbnR1bSAtIHJlbWFpbmRlcjtcbn1cbiJdfQ==
@@ -20,12 +20,13 @@ function calculate(value, precision, func) {
20
20
  if (value === Infinity) {
21
21
  return value;
22
22
  }
23
- tuiAssert.assert(!Number.isNaN(value), `Value must be number`);
24
- tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);
23
+ ngDevMode && tuiAssert.assert(!Number.isNaN(value), `Value must be number`);
24
+ ngDevMode &&
25
+ tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);
25
26
  precision = Math.min(precision, MAX_PRECISION);
26
27
  const pair = `${value}e`.split(`e`);
27
28
  const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));
28
29
  const processedPair = `${tempValue}e`.split(`e`);
29
30
  return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);
30
31
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9yb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDeEQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMsU0FBUyxDQUNkLEtBQWEsRUFDYixTQUFpQixFQUNqQixJQUEyQjtJQUUzQixJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQy9ELFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBRTNFLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUUvQyxNQUFNLElBQUksR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsTUFBTSxhQUFhLEdBQUcsR0FBRyxTQUFTLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFakQsT0FBTyxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG5jb25zdCBNQVhfUFJFQ0lTSU9OID0gMjkyO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpUm91bmQodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIgPSAwKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY2FsY3VsYXRlKHZhbHVlLCBwcmVjaXNpb24sIE1hdGgucm91bmQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ2VpbCh2YWx1ZTogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlciA9IDApOiBudW1iZXIge1xuICAgIHJldHVybiBjYWxjdWxhdGUodmFsdWUsIHByZWNpc2lvbiwgTWF0aC5jZWlsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUZsb29yKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyID0gMCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNhbGN1bGF0ZSh2YWx1ZSwgcHJlY2lzaW9uLCBNYXRoLmZsb29yKTtcbn1cblxuLyoqXG4gKiBSb3VuZGluZyBudW1iZXIgdG8gdGhlIHNldCBwcmVjaXNpb25cbiAqXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBwcmVjaXNpb24gbnVtYmVyIG9mIGRpZ2l0cyBpbiBhIGZsb2F0IHBhcnRcbiAqIEBwYXJhbSBmdW5jIHJvdW5kaW5nIGZ1bmN0aW9uIChyb3VuZCwgZmxvb3IsIGNlaWwpXG4gKi9cbmZ1bmN0aW9uIGNhbGN1bGF0ZShcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIHByZWNpc2lvbjogbnVtYmVyLFxuICAgIGZ1bmM6ICh4OiBudW1iZXIpID0+IG51bWJlcixcbik6IG51bWJlciB7XG4gICAgaWYgKHZhbHVlID09PSBJbmZpbml0eSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKHZhbHVlKSwgYFZhbHVlIG11c3QgYmUgbnVtYmVyYCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKHByZWNpc2lvbiksIGBQcmVjaXNpb24gbXVzdCBiZSBpbnRlZ2VyYCk7XG5cbiAgICBwcmVjaXNpb24gPSBNYXRoLm1pbihwcmVjaXNpb24sIE1BWF9QUkVDSVNJT04pO1xuXG4gICAgY29uc3QgcGFpciA9IGAke3ZhbHVlfWVgLnNwbGl0KGBlYCk7XG4gICAgY29uc3QgdGVtcFZhbHVlID0gZnVuYyhOdW1iZXIoYCR7cGFpclswXX1lJHtOdW1iZXIocGFpclsxXSkgKyBwcmVjaXNpb259YCkpO1xuICAgIGNvbnN0IHByb2Nlc3NlZFBhaXIgPSBgJHt0ZW1wVmFsdWV9ZWAuc3BsaXQoYGVgKTtcblxuICAgIHJldHVybiBOdW1iZXIoYCR7cHJvY2Vzc2VkUGFpclswXX1lJHtOdW1iZXIocHJvY2Vzc2VkUGFpclsxXSkgLSBwcmVjaXNpb259YCk7XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvbWF0aC9yb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDeEQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYSxFQUFFLFlBQW9CLENBQUM7SUFDekQsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQVMsU0FBUyxDQUNkLEtBQWEsRUFDYixTQUFpQixFQUNqQixJQUEyQjtJQUUzQixJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUM1RSxTQUFTO1FBQ0wsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFFL0UsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sSUFBSSxHQUFHLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RSxNQUFNLGFBQWEsR0FBRyxHQUFHLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVqRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmNvbnN0IE1BWF9QUkVDSVNJT04gPSAyOTI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlSb3VuZCh2YWx1ZTogbnVtYmVyLCBwcmVjaXNpb246IG51bWJlciA9IDApOiBudW1iZXIge1xuICAgIHJldHVybiBjYWxjdWxhdGUodmFsdWUsIHByZWNpc2lvbiwgTWF0aC5yb3VuZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDZWlsKHZhbHVlOiBudW1iZXIsIHByZWNpc2lvbjogbnVtYmVyID0gMCk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNhbGN1bGF0ZSh2YWx1ZSwgcHJlY2lzaW9uLCBNYXRoLmNlaWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpRmxvb3IodmFsdWU6IG51bWJlciwgcHJlY2lzaW9uOiBudW1iZXIgPSAwKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY2FsY3VsYXRlKHZhbHVlLCBwcmVjaXNpb24sIE1hdGguZmxvb3IpO1xufVxuXG4vKipcbiAqIFJvdW5kaW5nIG51bWJlciB0byB0aGUgc2V0IHByZWNpc2lvblxuICpcbiAqIEBwYXJhbSB2YWx1ZVxuICogQHBhcmFtIHByZWNpc2lvbiBudW1iZXIgb2YgZGlnaXRzIGluIGEgZmxvYXQgcGFydFxuICogQHBhcmFtIGZ1bmMgcm91bmRpbmcgZnVuY3Rpb24gKHJvdW5kLCBmbG9vciwgY2VpbClcbiAqL1xuZnVuY3Rpb24gY2FsY3VsYXRlKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgcHJlY2lzaW9uOiBudW1iZXIsXG4gICAgZnVuYzogKHg6IG51bWJlcikgPT4gbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgICBpZiAodmFsdWUgPT09IEluZmluaXR5KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBuZ0Rldk1vZGUgJiYgdHVpQXNzZXJ0LmFzc2VydCghTnVtYmVyLmlzTmFOKHZhbHVlKSwgYFZhbHVlIG11c3QgYmUgbnVtYmVyYCk7XG4gICAgbmdEZXZNb2RlICYmXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihwcmVjaXNpb24pLCBgUHJlY2lzaW9uIG11c3QgYmUgaW50ZWdlcmApO1xuXG4gICAgcHJlY2lzaW9uID0gTWF0aC5taW4ocHJlY2lzaW9uLCBNQVhfUFJFQ0lTSU9OKTtcblxuICAgIGNvbnN0IHBhaXIgPSBgJHt2YWx1ZX1lYC5zcGxpdChgZWApO1xuICAgIGNvbnN0IHRlbXBWYWx1ZSA9IGZ1bmMoTnVtYmVyKGAke3BhaXJbMF19ZSR7TnVtYmVyKHBhaXJbMV0pICsgcHJlY2lzaW9ufWApKTtcbiAgICBjb25zdCBwcm9jZXNzZWRQYWlyID0gYCR7dGVtcFZhbHVlfWVgLnNwbGl0KGBlYCk7XG5cbiAgICByZXR1cm4gTnVtYmVyKGAke3Byb2Nlc3NlZFBhaXJbMF19ZSR7TnVtYmVyKHByb2Nlc3NlZFBhaXJbMV0pIC0gcHJlY2lzaW9ufWApO1xufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { tuiAssert } from '@taiga-ui/cdk/classes';
2
2
  export function tuiEaseInOutQuad(t) {
3
- tuiAssert.assert(t >= 0 && t <= 1, `Input must be between 0 and 1 inclusive but received `, t);
3
+ ngDevMode &&
4
+ tuiAssert.assert(t >= 0 && t <= 1, `Input must be between 0 and 1 inclusive but received `, t);
4
5
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
5
6
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzZS1pbi1vdXQtcXVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9taXNjZWxsYW5lb3VzL2Vhc2UtaW4tb3V0LXF1YWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFTO0lBQ3RDLFNBQVMsQ0FBQyxNQUFNLENBQ1osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNoQix1REFBdUQsRUFDdkQsQ0FBQyxDQUNKLENBQUM7SUFFRixPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUVhc2VJbk91dFF1YWQodDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICB0ID49IDAgJiYgdCA8PSAxLFxuICAgICAgICBgSW5wdXQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEgaW5jbHVzaXZlIGJ1dCByZWNlaXZlZCBgLFxuICAgICAgICB0LFxuICAgICk7XG5cbiAgICByZXR1cm4gdCA8IDAuNSA/IDIgKiB0ICogdCA6IC0xICsgKDQgLSAyICogdCkgKiB0O1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFzZS1pbi1vdXQtcXVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9taXNjZWxsYW5lb3VzL2Vhc2UtaW4tb3V0LXF1YWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxDQUFTO0lBQ3RDLFNBQVM7UUFDTCxTQUFTLENBQUMsTUFBTSxDQUNaLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDaEIsdURBQXVELEVBQ3ZELENBQUMsQ0FDSixDQUFDO0lBRU4sT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlFYXNlSW5PdXRRdWFkKHQ6IG51bWJlcik6IG51bWJlciB7XG4gICAgbmdEZXZNb2RlICYmXG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICB0ID49IDAgJiYgdCA8PSAxLFxuICAgICAgICAgICAgYElucHV0IG11c3QgYmUgYmV0d2VlbiAwIGFuZCAxIGluY2x1c2l2ZSBidXQgcmVjZWl2ZWQgYCxcbiAgICAgICAgICAgIHQsXG4gICAgICAgICk7XG5cbiAgICByZXR1cm4gdCA8IDAuNSA/IDIgKiB0ICogdCA6IC0xICsgKDQgLSAyICogdCkgKiB0O1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Directive, Input, Output, HostBinding, Injectable, Inject, TemplateRef, ChangeDetectorRef, ComponentFactoryResolver, Injector, INJECTOR, ElementRef, ViewContainerRef, ViewChild } from '@angular/core';
3
+ import { EventEmitter, Directive, Input, Output, HostBinding, Optional, Inject, Injectable, TemplateRef, ChangeDetectorRef, ComponentFactoryResolver, Injector, INJECTOR, ElementRef, ViewContainerRef, ViewChild } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { NgModel } from '@angular/forms';
6
6
  import { tuiAssert } from '@taiga-ui/cdk/classes';
@@ -111,14 +111,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
111
111
  args: [`class._focus-visible`]
112
112
  }] } });
113
113
 
114
+ class AbstractTuiValueTransformer {
115
+ }
116
+
114
117
  /**
115
118
  * Basic ControlValueAccessor class to build form components upon
116
119
  */
117
120
  class AbstractTuiControl extends AbstractTuiInteractive {
118
- constructor(ngControl, changeDetectorRef, valueTransformer) {
121
+ constructor(ngControl, cdr, valueTransformer) {
119
122
  super();
120
123
  this.ngControl = ngControl;
121
- this.changeDetectorRef = changeDetectorRef;
124
+ this.cdr = cdr;
122
125
  this.valueTransformer = valueTransformer;
123
126
  this.onTouched = EMPTY_FUNCTION;
124
127
  this.onChange = EMPTY_FUNCTION;
@@ -126,10 +129,10 @@ class AbstractTuiControl extends AbstractTuiInteractive {
126
129
  this.destroy$ = new Subject();
127
130
  this.readOnly = false;
128
131
  this.pseudoInvalid = null;
129
- if (this.ngControl === null) {
132
+ if (ngDevMode && this.ngControl === null) {
130
133
  tuiAssert.assert(false, `NgControl not injected in ${this.constructor.name}!\n`, `Use [(ngModel)] or [formControl] or formControlName for correct work.`);
131
134
  }
132
- else {
135
+ if (this.ngControl) {
133
136
  this.ngControl.valueAccessor = this;
134
137
  }
135
138
  }
@@ -200,7 +203,7 @@ class AbstractTuiControl extends AbstractTuiInteractive {
200
203
  this.destroy$.complete();
201
204
  }
202
205
  checkControlUpdate() {
203
- this.changeDetectorRef.markForCheck();
206
+ this.cdr.markForCheck();
204
207
  }
205
208
  registerOnChange(onChange) {
206
209
  this.onChange = (componentValue) => {
@@ -265,7 +268,7 @@ class AbstractTuiControl extends AbstractTuiInteractive {
265
268
  : componentValue;
266
269
  }
267
270
  }
268
- AbstractTuiControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiControl, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
271
+ AbstractTuiControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiControl, deps: [{ token: i1.NgControl, optional: true }, { token: i0.ChangeDetectorRef }, { token: AbstractTuiValueTransformer, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
269
272
  AbstractTuiControl.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiControl, inputs: { readOnly: "readOnly", pseudoInvalid: "pseudoInvalid" }, host: { properties: { "class._readonly": "this.readOnly", "class._invalid": "this.computedInvalid" } }, usesInheritance: true, ngImport: i0 });
270
273
  __decorate([
271
274
  tuiDefaultProp()
@@ -275,7 +278,14 @@ __decorate([
275
278
  ], AbstractTuiControl.prototype, "pseudoInvalid", void 0);
276
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiControl, decorators: [{
277
280
  type: Directive
278
- }], ctorParameters: function () { return [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }, { type: undefined }]; }, propDecorators: { readOnly: [{
281
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
282
+ type: Optional
283
+ }] }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
284
+ type: Optional
285
+ }, {
286
+ type: Inject,
287
+ args: [AbstractTuiValueTransformer]
288
+ }] }]; }, propDecorators: { readOnly: [{
279
289
  type: Input
280
290
  }, {
281
291
  type: HostBinding,
@@ -338,8 +348,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
338
348
  }] }]; } });
339
349
 
340
350
  class AbstractTuiDialogDirective extends PolymorpheusTemplate {
341
- constructor(templateRef, changeDetectorRef, service) {
342
- super(templateRef, changeDetectorRef);
351
+ constructor(templateRef, cdr, service) {
352
+ super(templateRef, cdr);
343
353
  this.service = service;
344
354
  this.open$ = new Subject();
345
355
  this.options = {};
@@ -425,13 +435,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
425
435
  * Abstract class for host element for dynamically created portals.
426
436
  */
427
437
  class AbstractTuiPortalHostComponent {
428
- constructor(injector, elementRef, portalService) {
438
+ constructor(injector, el, portalService) {
429
439
  this.injector = injector;
430
- this.elementRef = elementRef;
440
+ this.el = el;
431
441
  portalService.attach(this);
432
442
  }
433
443
  get clientRect() {
434
- return this.elementRef.nativeElement.getBoundingClientRect();
444
+ return this.el.nativeElement.getBoundingClientRect();
435
445
  }
436
446
  addComponentChild(component) {
437
447
  const parent = component.createInjector(this.injector);
@@ -439,16 +449,16 @@ class AbstractTuiPortalHostComponent {
439
449
  const factory = resolver.resolveComponentFactory(component.component);
440
450
  const providers = [{ provide: AbstractTuiPortalHostComponent, useValue: this }];
441
451
  const injector = Injector.create({ parent, providers });
442
- const ref = this.viewContainerRef.createComponent(factory, undefined, injector);
452
+ const ref = this.vcr.createComponent(factory, undefined, injector);
443
453
  ref.changeDetectorRef.detectChanges();
444
454
  return ref;
445
455
  }
446
456
  addTemplateChild(templateRef, context) {
447
- return this.viewContainerRef.createEmbeddedView(templateRef, context);
457
+ return this.vcr.createEmbeddedView(templateRef, context);
448
458
  }
449
459
  }
450
460
  AbstractTuiPortalHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiPortalHostComponent, deps: [{ token: INJECTOR }, { token: ElementRef }, { token: AbstractTuiPortalService }], target: i0.ɵɵFactoryTarget.Directive });
451
- AbstractTuiPortalHostComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiPortalHostComponent, viewQueries: [{ propertyName: "viewContainerRef", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0 });
461
+ AbstractTuiPortalHostComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiPortalHostComponent, viewQueries: [{ propertyName: "vcr", first: true, predicate: ["viewContainer"], descendants: true, read: ViewContainerRef }], ngImport: i0 });
452
462
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiPortalHostComponent, decorators: [{
453
463
  type: Directive
454
464
  }], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
@@ -460,7 +470,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
460
470
  }] }, { type: AbstractTuiPortalService, decorators: [{
461
471
  type: Inject,
462
472
  args: [AbstractTuiPortalService]
463
- }] }]; }, propDecorators: { viewContainerRef: [{
473
+ }] }]; }, propDecorators: { vcr: [{
464
474
  type: ViewChild,
465
475
  args: [`viewContainer`, { read: ViewContainerRef }]
466
476
  }] } });
@@ -472,13 +482,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
472
482
  * switch theme on or off.
473
483
  */
474
484
  class AbstractTuiThemeSwitcher {
475
- constructor(documentRef) {
476
- this.documentRef = documentRef;
485
+ constructor(doc) {
486
+ this.doc = doc;
477
487
  if (this.style !== null) {
478
488
  this.addTheme();
479
489
  return;
480
490
  }
481
- const styles = this.documentRef.head.querySelectorAll(`style`);
491
+ const styles = this.doc.head.querySelectorAll(`style`);
482
492
  this.constructor.style =
483
493
  styles[styles.length - 1];
484
494
  }
@@ -490,12 +500,12 @@ class AbstractTuiThemeSwitcher {
490
500
  }
491
501
  addTheme() {
492
502
  if (this.style) {
493
- this.documentRef.head.appendChild(this.style);
503
+ this.doc.head.appendChild(this.style);
494
504
  }
495
505
  }
496
506
  removeTheme() {
497
- if (this.style && this.documentRef.head.contains(this.style)) {
498
- this.documentRef.head.removeChild(this.style);
507
+ if (this.style && this.doc.head.contains(this.style)) {
508
+ this.doc.head.removeChild(this.style);
499
509
  }
500
510
  }
501
511
  }
@@ -513,5 +523,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
513
523
  * Generated bundle index. Do not edit.
514
524
  */
515
525
 
516
- export { AbstractTuiControl, AbstractTuiController, AbstractTuiDialogDirective, AbstractTuiDialogService, AbstractTuiInteractive, AbstractTuiMultipleControl, AbstractTuiNullableControl, AbstractTuiPortalHostComponent, AbstractTuiPortalService, AbstractTuiThemeSwitcher, tuiAsControl };
526
+ export { AbstractTuiControl, AbstractTuiController, AbstractTuiDialogDirective, AbstractTuiDialogService, AbstractTuiInteractive, AbstractTuiMultipleControl, AbstractTuiNullableControl, AbstractTuiPortalHostComponent, AbstractTuiPortalService, AbstractTuiThemeSwitcher, AbstractTuiValueTransformer, tuiAsControl };
517
527
  //# sourceMappingURL=taiga-ui-cdk-abstract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n } else {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C, any>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C, any>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.viewContainerRef.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/value-transformer.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","export abstract class AbstractTuiValueTransformer<From, To = unknown> {\n abstract toControlValue(componentValue: From): To;\n abstract fromControlValue(controlValue: To): From;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\nimport {AbstractTuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n @Optional()\n private readonly ngControl: NgControl | null,\n protected readonly cdr: ChangeDetectorRef,\n @Optional()\n @Inject(AbstractTuiValueTransformer)\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.vcr.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.doc.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.doc.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.doc.head.contains(this.style)) {\n this.doc.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
2
2
 
3
3
  const tuiAssert = {
4
+ /**
5
+ * @deprecated:
6
+ * The current field no longer matters as
7
+ * it will not be provided in production
8
+ */
4
9
  enabled: false,
5
10
  get assert() {
6
- return this.enabled
11
+ return ngDevMode
7
12
  ? Function.prototype.bind.call(console.assert, console)
8
13
  : EMPTY_FUNCTION;
9
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-classes.js","sources":["../../../projects/cdk/classes/assert.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\n\nexport const tuiAssert = {\n enabled: false,\n get assert(): (assertion: boolean, ...args: unknown[]) => void {\n return this.enabled\n ? Function.prototype.bind.call(console.assert, console)\n : EMPTY_FUNCTION;\n },\n};\n","import {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n readonly message: PolymorpheusContent<T>,\n readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEa,MAAA,SAAS,GAAG;AACrB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,OAAO;AACf,cAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;cACrD,cAAc,CAAC;KACxB;;;MCNQ,kBAAkB,CAAA;IAC3B,WACa,CAAA,OAA+B,EAC/B,OAAA,GAAa,EAAO,EAAA;QADpB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;QAC/B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;KAC7B;AACP;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-classes.js","sources":["../../../projects/cdk/classes/assert.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\n\nexport const tuiAssert = {\n /**\n * @deprecated:\n * The current field no longer matters as\n * it will not be provided in production\n */\n enabled: false,\n get assert(): (assertion: boolean, ...args: unknown[]) => void {\n return ngDevMode\n ? Function.prototype.bind.call(console.assert, console)\n : EMPTY_FUNCTION;\n },\n};\n","import {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n readonly message: PolymorpheusContent<T>,\n readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEa,MAAA,SAAS,GAAG;AACrB;;;;AAIG;AACH,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,SAAS;AACZ,cAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;cACrD,cAAc,CAAC;KACxB;;;MCXQ,kBAAkB,CAAA;IAC3B,WACa,CAAA,OAA+B,EAC/B,OAAA,GAAa,EAAO,EAAA;QADpB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;QAC/B,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;KAC7B;AACP;;ACPD;;AAEG;;;;"}
@@ -24,7 +24,7 @@ class TuiAlertHostComponent {
24
24
  }
25
25
  }
26
26
  TuiAlertHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertHostComponent, deps: [{ token: TUI_ALERTS }, { token: INJECTOR }], target: i0.ɵɵFactoryTarget.Component });
27
- TuiAlertHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAlertHostComponent, selector: "tui-alert-host", ngImport: i0, template: "<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n", styles: ["tui-alert-host>.t-notifications-wrapper{position:fixed;top:0;left:0;display:flex;width:100%;height:100%;flex-direction:column;pointer-events:none}tui-alert-host>.t-notifications-wrapper>*{pointer-events:auto}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "tuiMapper": i2.TuiMapperPipe, "async": i1.AsyncPipe }, animations: [TUI_PARENT_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
27
+ TuiAlertHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAlertHostComponent, selector: "tui-alert-host", ngImport: i0, template: "<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n", styles: ["tui-alert-host>.t-wrapper{position:fixed;top:0;left:0;display:flex;width:100%;height:100%;flex-direction:column;pointer-events:none}tui-alert-host>.t-wrapper>*{pointer-events:auto}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }], pipes: { "tuiMapper": i2.TuiMapperPipe, "async": i1.AsyncPipe }, animations: [TUI_PARENT_ANIMATION], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertHostComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["../../../projects/cdk/components/alert-host/alert-host.component.ts","../../../projects/cdk/components/alert-host/alert-host.template.html","../../../projects/cdk/components/alert-host/alert-host.module.ts","../../../projects/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-notifications-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-components-alert-host.js","sources":["../../../projects/cdk/components/alert-host/alert-host.component.ts","../../../projects/cdk/components/alert-host/alert-host.template.html","../../../projects/cdk/components/alert-host/alert-host.module.ts","../../../projects/cdk/components/alert-host/taiga-ui-cdk-components-alert-host.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n INJECTOR,\n Injector,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION} from '@taiga-ui/cdk/constants';\nimport {TUI_ALERTS} from '@taiga-ui/cdk/tokens';\nimport {TuiDialog, TuiMapper} from '@taiga-ui/cdk/types';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-alert-host',\n templateUrl: './alert-host.template.html',\n styleUrls: ['./alert-host.style.less'],\n // So that we do not force OnPush on custom alerts\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n animations: [TUI_PARENT_ANIMATION],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>> {\n constructor(\n @Inject(TUI_ALERTS) readonly alerts: Array<Observable<readonly T[]>>,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n readonly mapper: TuiMapper<unknown, Injector> = useValue =>\n Injector.create({\n providers: [\n {\n provide: POLYMORPHEUS_CONTEXT,\n useValue,\n },\n ],\n parent: this.injector,\n });\n}\n","<div\n *ngFor=\"let alert$ of alerts\"\n class=\"t-wrapper\"\n @tuiParentAnimation\n>\n <ng-container\n *ngFor=\"let item of alert$ | async\"\n [ngComponentOutlet]=\"item.component.component\"\n [ngComponentOutletInjector]=\"item | tuiMapper : mapper\"\n ></ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk/pipes';\n\nimport {TuiAlertHostComponent} from './alert-host.component';\n\n@NgModule({\n imports: [CommonModule, TuiMapperPipeModule],\n declarations: [TuiAlertHostComponent],\n exports: [TuiAlertHostComponent],\n})\nexport class TuiAlertHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -72,12 +72,19 @@ function bothEmpty(item1, item2) {
72
72
  return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;
73
73
  }
74
74
 
75
+ /**
76
+ * Add to enable child :leave animation (fixes https://github.com/angular/angular/issues/15753)
77
+ */
75
78
  const TUI_PARENT_ANIMATION = trigger(`tuiParentAnimation`, [
76
79
  transition(`* => void`, [
77
80
  style({ overflow: `hidden` }),
78
81
  query(`:scope > *`, [animateChild()], { optional: true }),
79
82
  ]),
80
83
  ]);
84
+ /**
85
+ * Add on parent to stop initial :enter animation for children
86
+ */
87
+ const TUI_PARENT_STOP = trigger(`tuiParentStop`, [transition(`:enter`, [])]);
81
88
 
82
89
  const POLLING_TIME = 1000 / 15;
83
90
 
@@ -151,11 +158,11 @@ const CHAR_CURRENCY_SIGN = `\u00A4`;
151
158
  */
152
159
  const CHAR_ZERO_WIDTH_SPACE = `\u200B`;
153
160
 
154
- const TUI_VERSION = `3.23.1`;
161
+ const TUI_VERSION = `3.24.0`;
155
162
 
156
163
  /**
157
164
  * Generated bundle index. Do not edit.
158
165
  */
159
166
 
160
- export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_LAQUO, CHAR_MINUS, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_RAQUO, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, EMPTY_QUERY, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_STRICT_MATCHER, TUI_VERSION, svgNodeFilter };
167
+ export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_LAQUO, CHAR_MINUS, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_RAQUO, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, EMPTY_QUERY, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_PARENT_STOP, TUI_STRICT_MATCHER, TUI_VERSION, svgNodeFilter };
161
168
  //# sourceMappingURL=taiga-ui-cdk-constants.js.map