@taiga-ui/cdk 3.0.0-rc.0 → 3.0.0-rc.3

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 (479) hide show
  1. package/abstract/control.d.ts +2 -1
  2. package/abstract/dialog.service.d.ts +1 -1
  3. package/abstract/portal-host.d.ts +5 -3
  4. package/abstract/portal-service.d.ts +3 -2
  5. package/abstract/theme-switcher.d.ts +0 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.js +25 -16
  7. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  8. package/bundles/taiga-ui-cdk-classes.umd.js +0 -8
  9. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  10. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +0 -1
  11. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  12. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +3 -1
  13. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  14. package/bundles/taiga-ui-cdk-constants.umd.js +18 -1
  15. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  16. package/bundles/taiga-ui-cdk-date-time.umd.js +3 -29
  17. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +5 -6
  19. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +8 -9
  21. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +1 -1
  23. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +0 -1
  25. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-directives-drag.umd.js +1 -1
  27. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +5 -6
  29. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +11 -9
  31. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +0 -1
  33. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-directives-focused.umd.js +1 -1
  35. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +0 -1
  37. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  38. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +7 -10
  39. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  40. package/bundles/taiga-ui-cdk-directives-media.umd.js +4 -11
  41. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +10 -12
  43. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-directives-pan.umd.js +0 -1
  45. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  46. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +1 -1
  47. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  48. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +1 -2
  49. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  50. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +1 -1
  51. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  52. package/bundles/taiga-ui-cdk-directives-resize.umd.js +0 -1
  53. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  54. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +0 -1
  55. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  56. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +0 -1
  57. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  58. package/bundles/taiga-ui-cdk-observables.umd.js +20 -76
  59. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  60. package/bundles/taiga-ui-cdk-pipes-keys.umd.js +68 -0
  61. package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -0
  62. package/bundles/taiga-ui-cdk-pipes.umd.js +10 -4
  63. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  64. package/bundles/taiga-ui-cdk-services.umd.js +37 -72
  65. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  66. package/bundles/taiga-ui-cdk-tokens.umd.js +46 -20
  67. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  68. package/bundles/taiga-ui-cdk-utils-browser.umd.js +3 -26
  69. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  70. package/bundles/taiga-ui-cdk-utils-color.umd.js +81 -0
  71. package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -0
  72. package/bundles/taiga-ui-cdk-utils-dom.umd.js +57 -87
  73. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  74. package/bundles/taiga-ui-cdk-utils-focus.umd.js +24 -67
  75. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  76. package/bundles/taiga-ui-cdk-utils-format.umd.js +0 -1
  77. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  78. package/bundles/taiga-ui-cdk-utils-math.umd.js +8 -48
  79. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  80. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +349 -84
  81. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  82. package/bundles/taiga-ui-cdk-utils-os.umd.js +5 -21
  83. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  84. package/bundles/taiga-ui-cdk-utils-svg.umd.js +1 -5
  85. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  86. package/bundles/taiga-ui-cdk-utils.umd.js +10 -4
  87. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  88. package/classes/assert.d.ts +0 -3
  89. package/constants/browser.d.ts +4 -0
  90. package/constants/index.d.ts +1 -0
  91. package/constants/unicode-chars.d.ts +8 -0
  92. package/constants/version.d.ts +1 -0
  93. package/constants/version.js +4 -0
  94. package/date-time/day-range.d.ts +0 -5
  95. package/date-time/day.d.ts +1 -2
  96. package/date-time/month.d.ts +1 -2
  97. package/date-time/year.d.ts +1 -1
  98. package/directives/auto-focus/autofocus.directive.d.ts +2 -2
  99. package/directives/focus-visible/focus-visible.directive.d.ts +0 -1
  100. package/directives/high-dpi/high-dpi.directive.d.ts +0 -1
  101. package/directives/media/media.directive.d.ts +0 -2
  102. package/directives/overscroll/overscroll.directive.d.ts +0 -1
  103. package/directives/prevent-default/prevent-default.directive.d.ts +0 -1
  104. package/esm2015/abstract/control.js +7 -1
  105. package/esm2015/abstract/dialog.service.js +1 -1
  106. package/esm2015/abstract/portal-host.js +18 -15
  107. package/esm2015/abstract/portal-service.js +4 -4
  108. package/esm2015/abstract/theme-switcher.js +1 -2
  109. package/esm2015/classes/assert.js +1 -8
  110. package/esm2015/components/dialog-host/dialog-host.component.js +1 -2
  111. package/esm2015/components/dropdown-host/dropdown-host.component.js +4 -2
  112. package/esm2015/constants/browser.js +5 -1
  113. package/esm2015/constants/index.js +2 -1
  114. package/esm2015/constants/parent-animation.js +2 -2
  115. package/esm2015/constants/unicode-chars.js +9 -1
  116. package/esm2015/constants/version.js +2 -0
  117. package/esm2015/date-time/day-range.js +1 -6
  118. package/esm2015/date-time/day.js +2 -9
  119. package/esm2015/date-time/month.js +2 -8
  120. package/esm2015/date-time/year.js +2 -6
  121. package/esm2015/directives/active-zone/active-zone.directive.js +3 -6
  122. package/esm2015/directives/auto-focus/autofocus.directive.js +6 -5
  123. package/esm2015/directives/auto-focus/handlers/ios.handler.js +1 -2
  124. package/esm2015/directives/autofilled/autofilled-style.component.js +1 -1
  125. package/esm2015/directives/copy-processor/copy-processor.directive.js +1 -2
  126. package/esm2015/directives/drag/drag.directive.js +3 -3
  127. package/esm2015/directives/droppable/droppable.directive.js +7 -8
  128. package/esm2015/directives/focus-trap/focus-trap.directive.js +14 -12
  129. package/esm2015/directives/focus-visible/focus-visible.directive.js +1 -2
  130. package/esm2015/directives/focused/focused.directive.js +3 -3
  131. package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -2
  132. package/esm2015/directives/hovered/hovered.service.js +5 -8
  133. package/esm2015/directives/media/media.directive.js +5 -10
  134. package/esm2015/directives/overscroll/overscroll.directive.js +13 -15
  135. package/esm2015/directives/pan/pan.directive.js +1 -2
  136. package/esm2015/directives/pressed/pressed.directive.js +3 -3
  137. package/esm2015/directives/prevent-default/prevent-default.directive.js +3 -4
  138. package/esm2015/directives/repeat-times/repeat-times.directive.js +3 -3
  139. package/esm2015/directives/resize/resize.directive.js +1 -2
  140. package/esm2015/directives/swipe/swipe.directive.js +1 -2
  141. package/esm2015/directives/zoom/zoom.directive.js +1 -2
  142. package/esm2015/observables/drag-and-drop-from.js +6 -11
  143. package/esm2015/observables/focus-visible-observable.js +7 -12
  144. package/esm2015/observables/items-query-list-observable.js +4 -7
  145. package/esm2015/observables/mouse-drag-finish-from.js +4 -7
  146. package/esm2015/observables/must-be-present.js +4 -9
  147. package/esm2015/observables/pressed-observable.js +5 -10
  148. package/esm2015/observables/prevent-default.js +2 -7
  149. package/esm2015/observables/stop-propagation.js +2 -7
  150. package/esm2015/observables/typed-from-event.js +2 -7
  151. package/esm2015/observables/watch.js +2 -7
  152. package/esm2015/pipes/index.js +2 -1
  153. package/esm2015/pipes/keys/index.js +3 -0
  154. package/esm2015/pipes/keys/keys.module.js +16 -0
  155. package/esm2015/pipes/keys/keys.pipe.js +14 -0
  156. package/esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js +5 -0
  157. package/esm2015/services/directive-styles.service.js +3 -26
  158. package/esm2015/services/focus-visible.service.js +3 -4
  159. package/esm2015/services/obscured.service.js +3 -5
  160. package/esm2015/services/pan.service.js +6 -9
  161. package/esm2015/services/parents-scroll.service.js +3 -5
  162. package/esm2015/services/resize.service.js +1 -2
  163. package/esm2015/services/scroll.service.js +4 -5
  164. package/esm2015/services/swipe.service.js +6 -9
  165. package/esm2015/services/zoom.service.js +8 -9
  166. package/esm2015/tokens/active-element.js +16 -16
  167. package/esm2015/tokens/alerts.js +8 -1
  168. package/esm2015/tokens/dialogs.js +8 -1
  169. package/esm2015/tokens/focusable-item-accessor.js +7 -1
  170. package/esm2015/tokens/index.js +2 -2
  171. package/esm2015/tokens/is-apple.js +3 -3
  172. package/esm2015/tokens/is-cypress.js +1 -1
  173. package/esm2015/tokens/is-ios.js +3 -3
  174. package/esm2015/tokens/range.js +8 -0
  175. package/esm2015/tokens/window-height.js +3 -3
  176. package/esm2015/utils/browser/index.js +1 -2
  177. package/esm2015/utils/browser/is-edge.js +2 -7
  178. package/esm2015/utils/browser/is-firefox.js +2 -7
  179. package/esm2015/utils/browser/is-safari.js +2 -7
  180. package/esm2015/utils/color/hex-to-rgb.js +12 -0
  181. package/esm2015/utils/color/hsv-to-rgb.js +11 -0
  182. package/esm2015/utils/color/index.js +6 -0
  183. package/esm2015/utils/color/parse-color.js +27 -0
  184. package/esm2015/utils/color/rgb-to-hex.js +4 -0
  185. package/esm2015/utils/color/rgb-to-hsv.js +7 -0
  186. package/esm2015/utils/color/taiga-ui-cdk-utils-color.js +5 -0
  187. package/esm2015/utils/dom/can-scroll.js +2 -7
  188. package/esm2015/utils/dom/contains-or-after.js +2 -7
  189. package/esm2015/utils/dom/element-checks.js +21 -0
  190. package/esm2015/utils/dom/get-actual-target.js +2 -5
  191. package/esm2015/utils/dom/get-clipboard-data-text.js +2 -5
  192. package/esm2015/utils/dom/get-document-or-shadow-root.js +2 -7
  193. package/esm2015/utils/dom/get-element-obscurers.js +14 -17
  194. package/esm2015/utils/dom/get-element-offset.js +4 -7
  195. package/esm2015/utils/dom/get-scroll-parent.js +3 -6
  196. package/esm2015/utils/dom/get-selected-text.js +3 -3
  197. package/esm2015/utils/dom/index.js +3 -2
  198. package/esm2015/utils/dom/is-current-target.js +2 -7
  199. package/esm2015/utils/dom/is-element-editable.js +5 -0
  200. package/esm2015/utils/dom/is-inside-iframe.js +2 -5
  201. package/esm2015/utils/dom/is-node-in.js +5 -7
  202. package/esm2015/utils/focus/blur-native-focused.js +4 -7
  203. package/esm2015/utils/focus/get-closest-focusable.js +26 -0
  204. package/esm2015/utils/focus/get-native-focused.js +3 -3
  205. package/esm2015/utils/focus/index.js +2 -3
  206. package/esm2015/utils/focus/is-native-focused-in.js +1 -2
  207. package/esm2015/utils/focus/is-native-focused.js +1 -2
  208. package/esm2015/utils/focus/is-native-keyboard-focusable.js +3 -3
  209. package/esm2015/utils/focus/is-native-mouse-focusable.js +1 -4
  210. package/esm2015/utils/focus/move-focus.js +2 -4
  211. package/esm2015/utils/focus/set-native-mouse-focused.js +8 -7
  212. package/esm2015/utils/format/px.js +1 -2
  213. package/esm2015/utils/index.js +2 -1
  214. package/esm2015/utils/math/clamp.js +2 -5
  215. package/esm2015/utils/math/quantize.js +2 -5
  216. package/esm2015/utils/math/round.js +4 -19
  217. package/esm2015/utils/math/sum.js +2 -5
  218. package/esm2015/utils/math/to-int.js +2 -7
  219. package/esm2015/utils/math/to-radians.js +2 -5
  220. package/esm2015/utils/miscellaneous/array-remove.js +4 -0
  221. package/esm2015/utils/miscellaneous/array-toggle.js +6 -0
  222. package/esm2015/utils/miscellaneous/distance-between-touches.js +2 -7
  223. package/esm2015/utils/miscellaneous/ease-in-out-quad.js +2 -7
  224. package/esm2015/utils/miscellaneous/flat-length.js +2 -5
  225. package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +2 -5
  226. package/esm2015/utils/miscellaneous/get-swipe-direction.js +2 -7
  227. package/esm2015/utils/miscellaneous/index.js +3 -3
  228. package/esm2015/utils/miscellaneous/is-number.js +2 -7
  229. package/esm2015/utils/miscellaneous/is-present.js +2 -7
  230. package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +4 -9
  231. package/esm2015/utils/miscellaneous/uniq-by.js +2 -7
  232. package/esm2015/utils/os/is-apple-platform.js +2 -5
  233. package/esm2015/utils/os/is-apple.js +4 -9
  234. package/esm2015/utils/os/is-ios.js +4 -9
  235. package/esm2015/utils/svg/svg-linear-gradient-processor.js +2 -5
  236. package/fesm2015/taiga-ui-cdk-abstract.js +26 -18
  237. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  238. package/fesm2015/taiga-ui-cdk-classes.js +1 -8
  239. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  240. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +0 -1
  241. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  242. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +3 -1
  243. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  244. package/fesm2015/taiga-ui-cdk-constants.js +16 -2
  245. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  246. package/fesm2015/taiga-ui-cdk-date-time.js +4 -26
  247. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  248. package/fesm2015/taiga-ui-cdk-directives-active-zone.js +2 -5
  249. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  250. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +5 -5
  251. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  252. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +1 -1
  253. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  254. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +0 -1
  255. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  256. package/fesm2015/taiga-ui-cdk-directives-drag.js +2 -2
  257. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  258. package/fesm2015/taiga-ui-cdk-directives-droppable.js +6 -7
  259. package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
  260. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +13 -11
  261. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  262. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js +0 -1
  263. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  264. package/fesm2015/taiga-ui-cdk-directives-focused.js +2 -2
  265. package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
  266. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js +0 -1
  267. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  268. package/fesm2015/taiga-ui-cdk-directives-hovered.js +4 -7
  269. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  270. package/fesm2015/taiga-ui-cdk-directives-media.js +5 -10
  271. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  272. package/fesm2015/taiga-ui-cdk-directives-overscroll.js +12 -14
  273. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  274. package/fesm2015/taiga-ui-cdk-directives-pan.js +0 -1
  275. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  276. package/fesm2015/taiga-ui-cdk-directives-pressed.js +2 -2
  277. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  278. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +2 -3
  279. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  280. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js +2 -2
  281. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  282. package/fesm2015/taiga-ui-cdk-directives-resize.js +0 -1
  283. package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
  284. package/fesm2015/taiga-ui-cdk-directives-swipe.js +0 -1
  285. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  286. package/fesm2015/taiga-ui-cdk-directives-zoom.js +0 -1
  287. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  288. package/fesm2015/taiga-ui-cdk-observables.js +21 -67
  289. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  290. package/fesm2015/taiga-ui-cdk-pipes-keys.js +34 -0
  291. package/fesm2015/taiga-ui-cdk-pipes-keys.js.map +1 -0
  292. package/fesm2015/taiga-ui-cdk-pipes.js +1 -0
  293. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  294. package/fesm2015/taiga-ui-cdk-services.js +25 -60
  295. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  296. package/fesm2015/taiga-ui-cdk-tokens.js +46 -23
  297. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  298. package/fesm2015/taiga-ui-cdk-utils-browser.js +4 -23
  299. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  300. package/fesm2015/taiga-ui-cdk-utils-color.js +67 -0
  301. package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -0
  302. package/fesm2015/taiga-ui-cdk-utils-dom.js +53 -78
  303. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  304. package/fesm2015/taiga-ui-cdk-utils-focus.js +21 -57
  305. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  306. package/fesm2015/taiga-ui-cdk-utils-format.js +0 -1
  307. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  308. package/fesm2015/taiga-ui-cdk-utils-math.js +9 -41
  309. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  310. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +21 -73
  311. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  312. package/fesm2015/taiga-ui-cdk-utils-os.js +6 -19
  313. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  314. package/fesm2015/taiga-ui-cdk-utils-svg.js +2 -5
  315. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
  316. package/fesm2015/taiga-ui-cdk-utils.js +1 -0
  317. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  318. package/observables/drag-and-drop-from.d.ts +1 -5
  319. package/observables/focus-visible-observable.d.ts +1 -5
  320. package/observables/items-query-list-observable.d.ts +1 -3
  321. package/observables/mouse-drag-finish-from.d.ts +1 -3
  322. package/observables/must-be-present.d.ts +1 -5
  323. package/observables/pressed-observable.d.ts +1 -5
  324. package/observables/prevent-default.d.ts +1 -5
  325. package/observables/stop-propagation.d.ts +1 -5
  326. package/observables/typed-from-event.d.ts +5 -21
  327. package/observables/watch.d.ts +1 -5
  328. package/package.json +7 -3
  329. package/pipes/index.d.ts +1 -0
  330. package/pipes/keys/index.d.ts +2 -0
  331. package/pipes/keys/keys.module.d.ts +7 -0
  332. package/pipes/keys/keys.pipe.d.ts +7 -0
  333. package/pipes/keys/package.json +10 -0
  334. package/pipes/keys/taiga-ui-cdk-pipes-keys.d.ts +5 -0
  335. package/schematics/collection.json +6 -0
  336. package/schematics/constants/file-globs.d.ts +2 -0
  337. package/schematics/constants/file-globs.js +11 -0
  338. package/schematics/constants/index.d.ts +1 -0
  339. package/schematics/constants/index.js +4 -0
  340. package/schematics/constants/taiga-styles.d.ts +2 -1
  341. package/schematics/constants/taiga-styles.js +3 -2
  342. package/schematics/ng-add/constants/versions.js +2 -2
  343. package/schematics/ng-add/index.js +6 -0
  344. package/schematics/ng-add/schema.d.ts +8 -0
  345. package/schematics/ng-add/schema.json +9 -0
  346. package/schematics/ng-add/steps/add-taiga-icons.js +5 -3
  347. package/schematics/ng-add/steps/add-taiga-modules.js +4 -0
  348. package/schematics/ng-add/steps/add-taiga-styles.js +6 -3
  349. package/schematics/ng-add/steps/wrap-with-tui-root.js +3 -0
  350. package/schematics/ng-update/constants/breakpoints.d.ts +82 -0
  351. package/schematics/ng-update/constants/breakpoints.js +34 -0
  352. package/schematics/ng-update/constants/consts.d.ts +1 -1
  353. package/schematics/ng-update/constants/consts.js +170 -0
  354. package/schematics/ng-update/constants/deprecated-functions.js +1 -36
  355. package/schematics/ng-update/constants/services.js +1 -1
  356. package/schematics/ng-update/constants/templates.d.ts +16 -0
  357. package/schematics/ng-update/constants/templates.js +261 -1
  358. package/schematics/ng-update/constants/warnings.js +10 -0
  359. package/schematics/ng-update/index.js +21 -10
  360. package/schematics/ng-update/schema.json +13 -0
  361. package/schematics/ng-update/steps/migrate-date-time.js +45 -1
  362. package/schematics/ng-update/steps/migrate-progress.d.ts +1 -1
  363. package/schematics/ng-update/steps/migrate-progress.js +2 -1
  364. package/schematics/ng-update/steps/migrate-sliders/index.d.ts +1 -1
  365. package/schematics/ng-update/steps/migrate-sliders/index.js +2 -0
  366. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.d.ts +1 -1
  367. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.js +4 -3
  368. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.d.ts +1 -1
  369. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +3 -2
  370. package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.d.ts +3 -0
  371. package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.js +51 -0
  372. package/schematics/ng-update/steps/migrate-templates.d.ts +1 -1
  373. package/schematics/ng-update/steps/migrate-templates.js +77 -5
  374. package/schematics/ng-update/steps/replace-deep-import.js +2 -1
  375. package/schematics/ng-update/steps/replace-enums.js +2 -1
  376. package/schematics/ng-update/steps/replace-functions.js +42 -2
  377. package/schematics/ng-update/steps/replace-styles.d.ts +1 -0
  378. package/schematics/ng-update/steps/replace-styles.js +18 -0
  379. package/schematics/ng-update/steps/show-warnings.js +2 -1
  380. package/schematics/utils/add-import-to-closest-module.d.ts +1 -0
  381. package/schematics/utils/add-import-to-closest-module.js +18 -0
  382. package/schematics/utils/add-styles.d.ts +6 -2
  383. package/schematics/utils/add-styles.js +32 -4
  384. package/schematics/utils/angular/ng-component.d.ts +1 -2
  385. package/schematics/utils/angular/ng-module.d.ts +1 -2
  386. package/schematics/utils/angular/ng-module.js +2 -1
  387. package/schematics/utils/colored-log.d.ts +1 -0
  388. package/schematics/utils/colored-log.js +5 -1
  389. package/schematics/utils/get-execution-time.d.ts +1 -0
  390. package/schematics/utils/get-execution-time.js +8 -0
  391. package/schematics/utils/get-named-import-references.js +2 -1
  392. package/schematics/utils/get-project.d.ts +1 -1
  393. package/schematics/utils/get-project.js +0 -4
  394. package/schematics/utils/insert-todo.d.ts +1 -0
  395. package/schematics/utils/insert-todo.js +3 -2
  396. package/schematics/utils/progress.d.ts +1 -0
  397. package/schematics/utils/progress.js +13 -0
  398. package/schematics/utils/templates/get-component-templates.d.ts +1 -2
  399. package/schematics/utils/templates/get-component-templates.js +1 -1
  400. package/schematics/utils/templates/ng-component-input-manipulations.js +2 -12
  401. package/schematics/utils/templates/template-resource.d.ts +1 -1
  402. package/services/directive-styles.service.d.ts +2 -9
  403. package/services/focus-visible.service.d.ts +0 -1
  404. package/services/pan.service.d.ts +0 -3
  405. package/services/swipe.service.d.ts +0 -3
  406. package/tokens/alerts.d.ts +2 -1
  407. package/tokens/dialogs.d.ts +2 -1
  408. package/tokens/focusable-item-accessor.d.ts +2 -1
  409. package/tokens/index.d.ts +1 -1
  410. package/tokens/is-cypress.d.ts +0 -3
  411. package/tokens/range.d.ts +2 -0
  412. package/utils/browser/index.d.ts +0 -1
  413. package/utils/browser/is-edge.d.ts +1 -5
  414. package/utils/browser/is-firefox.d.ts +1 -5
  415. package/utils/browser/is-safari.d.ts +1 -5
  416. package/utils/color/hex-to-rgb.d.ts +1 -0
  417. package/utils/color/hsv-to-rgb.d.ts +4 -0
  418. package/utils/color/index.d.ts +5 -0
  419. package/utils/color/package.json +10 -0
  420. package/utils/color/parse-color.d.ts +1 -0
  421. package/utils/color/rgb-to-hex.d.ts +1 -0
  422. package/utils/color/rgb-to-hsv.d.ts +1 -0
  423. package/utils/color/taiga-ui-cdk-utils-color.d.ts +5 -0
  424. package/utils/dom/can-scroll.d.ts +1 -5
  425. package/utils/dom/contains-or-after.d.ts +1 -5
  426. package/utils/dom/element-checks.d.ts +6 -0
  427. package/utils/dom/get-actual-target.d.ts +1 -3
  428. package/utils/dom/get-clipboard-data-text.d.ts +1 -3
  429. package/utils/dom/get-document-or-shadow-root.d.ts +1 -5
  430. package/utils/dom/get-element-obscurers.d.ts +1 -3
  431. package/utils/dom/get-element-offset.d.ts +1 -3
  432. package/utils/dom/get-scroll-parent.d.ts +1 -3
  433. package/utils/dom/index.d.ts +2 -1
  434. package/utils/dom/is-current-target.d.ts +1 -5
  435. package/utils/dom/is-element-editable.d.ts +1 -0
  436. package/utils/dom/is-inside-iframe.d.ts +1 -3
  437. package/utils/dom/is-node-in.d.ts +1 -3
  438. package/utils/focus/blur-native-focused.d.ts +1 -3
  439. package/utils/focus/get-closest-focusable.d.ts +27 -0
  440. package/utils/focus/index.d.ts +1 -2
  441. package/utils/focus/is-native-mouse-focusable.d.ts +0 -2
  442. package/utils/focus/set-native-mouse-focused.d.ts +1 -3
  443. package/utils/index.d.ts +1 -0
  444. package/utils/math/clamp.d.ts +1 -3
  445. package/utils/math/quantize.d.ts +1 -3
  446. package/utils/math/round.d.ts +3 -15
  447. package/utils/math/sum.d.ts +1 -3
  448. package/utils/math/to-int.d.ts +1 -5
  449. package/utils/math/to-radians.d.ts +1 -3
  450. package/utils/miscellaneous/array-remove.d.ts +1 -0
  451. package/utils/miscellaneous/array-toggle.d.ts +1 -0
  452. package/utils/miscellaneous/distance-between-touches.d.ts +1 -5
  453. package/utils/miscellaneous/ease-in-out-quad.d.ts +1 -5
  454. package/utils/miscellaneous/flat-length.d.ts +1 -3
  455. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +1 -3
  456. package/utils/miscellaneous/get-swipe-direction.d.ts +1 -5
  457. package/utils/miscellaneous/index.d.ts +2 -2
  458. package/utils/miscellaneous/is-number.d.ts +1 -5
  459. package/utils/miscellaneous/is-present.d.ts +1 -5
  460. package/utils/miscellaneous/mark-control-as-touched-and-validate.d.ts +1 -5
  461. package/utils/miscellaneous/uniq-by.d.ts +1 -5
  462. package/utils/os/is-apple-platform.d.ts +1 -3
  463. package/utils/os/is-apple.d.ts +1 -5
  464. package/utils/os/is-ios.d.ts +1 -5
  465. package/utils/svg/svg-linear-gradient-processor.d.ts +1 -3
  466. package/esm2015/tokens/sanitizer.js +0 -4
  467. package/esm2015/utils/browser/is-ie.js +0 -4
  468. package/esm2015/utils/dom/is-form-field.js +0 -8
  469. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +0 -34
  470. package/esm2015/utils/focus/set-native-focused.js +0 -19
  471. package/esm2015/utils/miscellaneous/identity.js +0 -8
  472. package/esm2015/utils/miscellaneous/is-element-editable.js +0 -12
  473. package/tokens/sanitizer.d.ts +0 -2
  474. package/utils/browser/is-ie.d.ts +0 -1
  475. package/utils/dom/is-form-field.d.ts +0 -1
  476. package/utils/focus/get-closest-keyboard-focusable.d.ts +0 -10
  477. package/utils/focus/set-native-focused.d.ts +0 -10
  478. package/utils/miscellaneous/identity.d.ts +0 -4
  479. package/utils/miscellaneous/is-element-editable.d.ts +0 -5
@@ -2,18 +2,18 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable, ComponentFactoryResolver, INJECTOR, Inject, ElementRef, ChangeDetectorRef, NgZone, Self } from '@angular/core';
3
3
  import * as i1 from 'rxjs';
4
4
  import { ReplaySubject, Observable, defer, merge, fromEvent, of, timer } from 'rxjs';
5
- import { DOCUMENT } from '@angular/common';
6
- import { TUI_DEFAULT_RENDERER, TUI_SWIPE_OPTIONS, TUI_ZOOM_OPTIONS } from '@taiga-ui/cdk/tokens';
7
- import { focusVisibleObservable, watch, typedFromEvent, tuiZoneOptimized, tuiZonefree, preventDefault } from '@taiga-ui/cdk/observables';
5
+ import { tuiFocusVisibleObservable, tuiWatch, tuiTypedFromEvent, tuiZoneOptimized, tuiZonefree, tuiPreventDefault } from '@taiga-ui/cdk/observables';
8
6
  import { takeUntil, delay, throttleTime, map, startWith, distinctUntilChanged, switchMapTo, filter, pairwise, repeat, catchError, mapTo, debounceTime, switchMap, tap, shareReplay, scan } from 'rxjs/operators';
9
7
  import { WINDOW, ANIMATION_FRAME, PERFORMANCE } from '@ng-web-apis/common';
10
8
  import { POLLING_TIME, EMPTY_ARRAY } from '@taiga-ui/cdk/constants';
11
- import { getElementObscurers } from '@taiga-ui/cdk/utils/dom';
9
+ import { tuiGetElementObscures } from '@taiga-ui/cdk/utils/dom';
10
+ import { DOCUMENT } from '@angular/common';
12
11
  import { ResizeObserverService, RESIZE_OBSERVER_SUPPORT, RESIZE_OPTION_BOX } from '@ng-web-apis/resize-observer';
13
12
  import { tuiAssert } from '@taiga-ui/cdk/classes';
14
- import { clamp } from '@taiga-ui/cdk/utils/math';
15
- import { easeInOutQuad, getSwipeDirection, isPresent } from '@taiga-ui/cdk/utils/miscellaneous';
16
- import { distanceBetweenTouches } from '@taiga-ui/cdk/utils';
13
+ import { tuiClamp } from '@taiga-ui/cdk/utils/math';
14
+ import { tuiEaseInOutQuad, tuiGetSwipeDirection, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
15
+ import { TUI_SWIPE_OPTIONS, TUI_ZOOM_OPTIONS } from '@taiga-ui/cdk/tokens';
16
+ import { tuiDistanceBetweenTouches } from '@taiga-ui/cdk/utils';
17
17
 
18
18
  /**
19
19
  * Observable abstraction over ngOnDestroy to use with takeUntil
@@ -35,14 +35,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
35
35
 
36
36
  /**
37
37
  * Service to use styles with directives
38
- * @dynamic
39
38
  */
40
39
  class TuiDirectiveStylesService {
41
- constructor(resolver, injector, documentRef, renderer) {
40
+ constructor(resolver, injector) {
42
41
  this.resolver = resolver;
43
42
  this.injector = injector;
44
- this.documentRef = documentRef;
45
- this.renderer = renderer;
46
43
  this.map = new Map();
47
44
  }
48
45
  addComponent(component) {
@@ -50,20 +47,8 @@ class TuiDirectiveStylesService {
50
47
  this.map.set(component, this.resolver.resolveComponentFactory(component).create(this.injector));
51
48
  }
52
49
  }
53
- /** @deprecated use components approach
54
- * TODO: delete in v3.0
55
- */
56
- addStyle(styles, attribute) {
57
- if (this.documentRef.head.querySelector(`style[${attribute}]`)) {
58
- return;
59
- }
60
- const style = this.renderer.createElement(`style`);
61
- this.renderer.setProperty(style, `textContent`, styles);
62
- this.renderer.setAttribute(style, attribute, ``);
63
- this.documentRef.head.appendChild(style);
64
- }
65
50
  }
66
- TuiDirectiveStylesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDirectiveStylesService, deps: [{ token: ComponentFactoryResolver }, { token: INJECTOR }, { token: DOCUMENT }, { token: TUI_DEFAULT_RENDERER }], target: i0.ɵɵFactoryTarget.Injectable });
51
+ TuiDirectiveStylesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDirectiveStylesService, deps: [{ token: ComponentFactoryResolver }, { token: INJECTOR }], target: i0.ɵɵFactoryTarget.Injectable });
67
52
  TuiDirectiveStylesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDirectiveStylesService, providedIn: `root` });
68
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDirectiveStylesService, decorators: [{
69
54
  type: Injectable,
@@ -76,24 +61,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
76
61
  }] }, { type: i0.Injector, decorators: [{
77
62
  type: Inject,
78
63
  args: [INJECTOR]
79
- }] }, { type: Document, decorators: [{
80
- type: Inject,
81
- args: [DOCUMENT]
82
- }] }, { type: i0.Renderer2, decorators: [{
83
- type: Inject,
84
- args: [TUI_DEFAULT_RENDERER]
85
64
  }] }]; } });
86
65
 
87
66
  /**
88
67
  * Service to imitate :focus-visible
89
68
  * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)
90
69
  * in browsers that do not support it
91
- * @dynamic
92
70
  */
93
71
  class TuiFocusVisibleService extends Observable {
94
72
  constructor({ nativeElement }, changeDetectorRef, destroy$) {
95
73
  super(subscriber => this.focusVisible$.subscribe(subscriber));
96
- this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(watch(changeDetectorRef), takeUntil(destroy$));
74
+ this.focusVisible$ = tuiFocusVisibleObservable(nativeElement).pipe(tuiWatch(changeDetectorRef), takeUntil(destroy$));
97
75
  }
98
76
  }
99
77
  TuiFocusVisibleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFocusVisibleService, deps: [{ token: ElementRef }, { token: ChangeDetectorRef }, { token: TuiDestroyService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -133,8 +111,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
133
111
  /**
134
112
  * Service that subscribes to scroll events of all parent elements
135
113
  */
136
- // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
137
- // @dynamic
138
114
  class TuiParentsScrollService extends Observable {
139
115
  constructor(elementRef, windowRef) {
140
116
  super(subscriber => this.callback$.subscribe(subscriber));
@@ -145,7 +121,7 @@ class TuiParentsScrollService extends Observable {
145
121
  nativeElement = nativeElement.parentElement;
146
122
  eventTargets.push(nativeElement);
147
123
  }
148
- return merge(...eventTargets.map(element => typedFromEvent(element, `scroll`)));
124
+ return merge(...eventTargets.map(element => tuiTypedFromEvent(element, `scroll`)));
149
125
  });
150
126
  }
151
127
  }
@@ -167,14 +143,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
167
143
  * and polling with set interval, returns either null or an array
168
144
  * of elements that overlap given element edges
169
145
  */
170
- // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
171
- // @dynamic
172
146
  class TuiObscuredService extends Observable {
173
147
  constructor(parentsScroll$, { nativeElement }, ngZone, windowRef, destroy$, animationFrame$) {
174
148
  super(subscriber => this.obscured$.subscribe(subscriber));
175
149
  this.obscured$ = merge(
176
150
  // delay is added so it will not interfere with other listeners
177
- merge(parentsScroll$, fromEvent(windowRef, `resize`)).pipe(delay(0)), animationFrame$.pipe(throttleTime(POLLING_TIME))).pipe(map(() => getElementObscurers(nativeElement)), startWith(null), distinctUntilChanged(), tuiZoneOptimized(ngZone), takeUntil(destroy$));
151
+ merge(parentsScroll$, fromEvent(windowRef, `resize`)).pipe(delay(0)), animationFrame$.pipe(throttleTime(POLLING_TIME))).pipe(map(() => tuiGetElementObscures(nativeElement)), startWith(null), distinctUntilChanged(), tuiZoneOptimized(ngZone), takeUntil(destroy$));
178
152
  }
179
153
  }
180
154
  TuiObscuredService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiObscuredService, deps: [{ token: TuiParentsScrollService, self: true }, { token: ElementRef }, { token: NgZone }, { token: WINDOW }, { token: TuiDestroyService }, { token: ANIMATION_FRAME }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -203,22 +177,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
203
177
  args: [ANIMATION_FRAME]
204
178
  }] }]; } });
205
179
 
206
- /**
207
- * @dynamic
208
- */
209
180
  class TuiPanService extends Observable {
210
181
  constructor({ nativeElement }, documentRef) {
211
182
  super(subscriber => {
212
- merge(typedFromEvent(nativeElement, `touchstart`, { passive: true }), typedFromEvent(nativeElement, `mousedown`))
213
- .pipe(switchMapTo(merge(typedFromEvent(documentRef, `touchmove`, {
183
+ merge(tuiTypedFromEvent(nativeElement, `touchstart`, { passive: true }), tuiTypedFromEvent(nativeElement, `mousedown`))
184
+ .pipe(switchMapTo(merge(tuiTypedFromEvent(documentRef, `touchmove`, {
214
185
  passive: true,
215
- }).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), typedFromEvent(documentRef, `mousemove`))), pairwise(), map(([first, second]) => {
186
+ }).pipe(filter(({ touches }) => touches.length < 2), map(({ touches }) => touches[0])), tuiTypedFromEvent(documentRef, `mousemove`))), pairwise(), map(([first, second]) => {
216
187
  const deltaX = second.clientX - first.clientX;
217
188
  const deltaY = second.clientY - first.clientY;
218
189
  return [deltaX, deltaY];
219
190
  }),
220
191
  // eslint-disable-next-line rxjs/no-unsafe-takeuntil
221
- takeUntil(merge(typedFromEvent(documentRef, `touchend`), typedFromEvent(documentRef, `mouseup`))), repeat())
192
+ takeUntil(merge(tuiTypedFromEvent(documentRef, `touchend`), tuiTypedFromEvent(documentRef, `mouseup`))), repeat())
222
193
  .subscribe(subscriber);
223
194
  });
224
195
  }
@@ -235,7 +206,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
235
206
  args: [DOCUMENT]
236
207
  }] }]; } });
237
208
 
238
- // @dynamic
239
209
  class TuiResizeService extends ResizeObserverService {
240
210
  constructor(elementRef, ngZone, destroy$, support, box, animationFrame$) {
241
211
  super(elementRef, ngZone, support, box);
@@ -267,7 +237,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
267
237
  }] }]; } });
268
238
 
269
239
  const SCROLL_TIME = 300;
270
- // @dynamic
271
240
  class TuiScrollService {
272
241
  constructor(performanceRef, animationFrame$) {
273
242
  this.performanceRef = performanceRef;
@@ -283,7 +252,7 @@ class TuiScrollService {
283
252
  const deltaLeft = scrollLeft - initialLeft;
284
253
  const observable = !duration
285
254
  ? of([scrollTop, scrollLeft])
286
- : defer(() => of(this.performanceRef.now())).pipe(switchMap(start => this.animationFrame$.pipe(map(now => now - start))), map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))), map(percent => [
255
+ : defer(() => of(this.performanceRef.now())).pipe(switchMap(start => this.animationFrame$.pipe(map(now => now - start))), map(elapsed => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))), map(percent => [
287
256
  initialTop + deltaTop * percent,
288
257
  initialLeft + deltaLeft * percent,
289
258
  ]), takeUntil(timer(duration)));
@@ -351,13 +320,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
351
320
  }]
352
321
  }] });
353
322
 
354
- /**
355
- * @dynamic
356
- */
357
323
  class TuiSwipeService extends Observable {
358
324
  constructor({ nativeElement }, { timeout, threshold }, documentRef) {
359
325
  super(subscriber => {
360
- merge(typedFromEvent(nativeElement, `touchstart`, { passive: true }), typedFromEvent(documentRef, `touchend`))
326
+ merge(tuiTypedFromEvent(nativeElement, `touchstart`, { passive: true }), tuiTypedFromEvent(documentRef, `touchend`))
361
327
  .pipe(pairwise(), filter(([first, second]) => !!first.touches.length &&
362
328
  first.touches[0].identifier ===
363
329
  second.changedTouches[0].identifier), map(([start, end]) => {
@@ -372,12 +338,12 @@ class TuiSwipeService extends Observable {
372
338
  Math.abs(distanceY) > threshold) &&
373
339
  duration < timeout) {
374
340
  return {
375
- direction: getSwipeDirection(distanceX, distanceY),
341
+ direction: tuiGetSwipeDirection(distanceX, distanceY),
376
342
  events: [start, end],
377
343
  };
378
344
  }
379
345
  return null;
380
- }), filter(isPresent))
346
+ }), filter(tuiIsPresent))
381
347
  .subscribe(subscriber);
382
348
  });
383
349
  }
@@ -398,14 +364,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
398
364
  }] }]; } });
399
365
 
400
366
  const TOUCH_SENSITIVITY = 0.01;
401
- // @dynamic
402
367
  class TuiZoomService extends Observable {
403
368
  constructor({ nativeElement }, { wheelSensitivity }) {
404
369
  super(subscriber => {
405
- merge(typedFromEvent(nativeElement, `touchstart`, { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap(startEvent => typedFromEvent(nativeElement, `touchmove`, {
370
+ merge(tuiTypedFromEvent(nativeElement, `touchstart`, { passive: true }).pipe(filter(({ touches }) => touches.length > 1), switchMap(startEvent => tuiTypedFromEvent(nativeElement, `touchmove`, {
406
371
  passive: true,
407
- }).pipe(preventDefault(), scan((prev, event) => {
408
- const distance = distanceBetweenTouches(event);
372
+ }).pipe(tuiPreventDefault(), scan((prev, event) => {
373
+ const distance = tuiDistanceBetweenTouches(event);
409
374
  return {
410
375
  event,
411
376
  distance,
@@ -414,7 +379,7 @@ class TuiZoomService extends Observable {
414
379
  };
415
380
  }, {
416
381
  event: startEvent,
417
- distance: distanceBetweenTouches(startEvent),
382
+ distance: tuiDistanceBetweenTouches(startEvent),
418
383
  delta: 0,
419
384
  }), map(({ event, delta }) => {
420
385
  const clientX = (event.touches[0].clientX +
@@ -424,7 +389,7 @@ class TuiZoomService extends Observable {
424
389
  event.touches[1].clientY) /
425
390
  2;
426
391
  return { clientX, clientY, delta, event };
427
- }), takeUntil(typedFromEvent(nativeElement, `touchend`))))), typedFromEvent(nativeElement, `wheel`, { passive: false }).pipe(preventDefault(), map(wheel => ({
392
+ }), takeUntil(tuiTypedFromEvent(nativeElement, `touchend`))))), tuiTypedFromEvent(nativeElement, `wheel`, { passive: false }).pipe(tuiPreventDefault(), map(wheel => ({
428
393
  clientX: wheel.clientX,
429
394
  clientY: wheel.clientY,
430
395
  delta: -wheel.deltaY * wheelSensitivity,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-services.js","sources":["../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/directive-styles.service.ts","../../../projects/cdk/services/focus-visible.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/parents-scroll.service.ts","../../../projects/cdk/services/obscured.service.ts","../../../projects/cdk/services/pan.service.ts","../../../projects/cdk/services/resize.service.ts","../../../projects/cdk/services/scroll.service.ts","../../../projects/cdk/services/static-request.service.ts","../../../projects/cdk/services/swipe.service.ts","../../../projects/cdk/services/zoom.service.ts","../../../projects/cdk/services/taiga-ui-cdk-services.ts"],"sourcesContent":["import {Injectable, OnDestroy} from '@angular/core';\nimport {ReplaySubject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends ReplaySubject<void> implements OnDestroy {\n constructor() {\n super(1);\n }\n\n ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ComponentFactoryResolver,\n Inject,\n Injectable,\n INJECTOR,\n Injector,\n Renderer2,\n Type,\n} from '@angular/core';\nimport {TUI_DEFAULT_RENDERER} from '@taiga-ui/cdk/tokens';\n\n/**\n * Service to use styles with directives\n * @dynamic\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDirectiveStylesService {\n private readonly map = new Map<Type<unknown>, unknown>();\n\n constructor(\n @Inject(ComponentFactoryResolver)\n private readonly resolver: ComponentFactoryResolver,\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_DEFAULT_RENDERER) private readonly renderer: Renderer2,\n ) {}\n\n addComponent(component: Type<unknown>): void {\n if (!this.map.has(component)) {\n this.map.set(\n component,\n this.resolver.resolveComponentFactory(component).create(this.injector),\n );\n }\n }\n\n /** @deprecated use components approach\n * TODO: delete in v3.0\n */\n addStyle(styles: string, attribute: string): void {\n if (this.documentRef.head.querySelector(`style[${attribute}]`)) {\n return;\n }\n\n const style = this.renderer.createElement(`style`);\n\n this.renderer.setProperty(style, `textContent`, styles);\n this.renderer.setAttribute(style, attribute, ``);\n this.documentRef.head.appendChild(style);\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {focusVisibleObservable, watch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n * @dynamic\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = focusVisibleObservable(nativeElement).pipe(\n watch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = `tui_`;\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n let {nativeElement} = elementRef;\n const eventTargets: Array<Element | Window> = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n typedFromEvent(element, `scroll`),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {getElementObscurers} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\n@Injectable()\nexport class TuiObscuredService extends Observable<null | readonly Element[]> {\n private readonly obscured$: Observable<null | readonly Element[]>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, `resize`)).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => getElementObscurers(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, `touchstart`, {passive: true}),\n typedFromEvent(nativeElement, `mousedown`),\n )\n .pipe(\n switchMapTo(\n merge(\n typedFromEvent(documentRef, `touchmove`, {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n typedFromEvent(documentRef, `mousemove`),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(\n merge(\n typedFromEvent(documentRef, `touchend`),\n typedFromEvent(documentRef, `mouseup`),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n// @dynamic\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverBoxOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n debounceTime(0),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {clamp} from '@taiga-ui/cdk/utils/math';\nimport {easeInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n// @dynamic\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, `Duration cannot be negative`);\n tuiAssert.assert(scrollTop >= 0, `scrollTop cannot be negative`);\n tuiAssert.assert(scrollLeft >= 0, `scrollLeft cannot be negative`);\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n map(elapsed => easeInOutQuad(clamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n takeUntil(timer(duration)),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiStaticRequestService {\n private readonly cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open(`GET`, url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay({bufferSize: 1, refCount: false}));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {getSwipeDirection, isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n/**\n * @dynamic\n */\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, `touchstart`, {passive: true}),\n typedFromEvent(documentRef, `touchend`),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: getSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(isPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {distanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n// @dynamic\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n typedFromEvent(nativeElement, `touchstart`, {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n typedFromEvent(nativeElement, `touchmove`, {\n passive: true,\n }).pipe(\n preventDefault(),\n scan(\n (prev, event) => {\n const distance = distanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: distanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(typedFromEvent(nativeElement, `touchend`)),\n ),\n ),\n ),\n typedFromEvent(nativeElement, `wheel`, {passive: false}).pipe(\n preventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\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-services.js","sources":["../../../projects/cdk/services/destroy.service.ts","../../../projects/cdk/services/directive-styles.service.ts","../../../projects/cdk/services/focus-visible.service.ts","../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/parents-scroll.service.ts","../../../projects/cdk/services/obscured.service.ts","../../../projects/cdk/services/pan.service.ts","../../../projects/cdk/services/resize.service.ts","../../../projects/cdk/services/scroll.service.ts","../../../projects/cdk/services/static-request.service.ts","../../../projects/cdk/services/swipe.service.ts","../../../projects/cdk/services/zoom.service.ts","../../../projects/cdk/services/taiga-ui-cdk-services.ts"],"sourcesContent":["import {Injectable, OnDestroy} from '@angular/core';\nimport {ReplaySubject} from 'rxjs';\n\n/**\n * Observable abstraction over ngOnDestroy to use with takeUntil\n */\n@Injectable()\nexport class TuiDestroyService extends ReplaySubject<void> implements OnDestroy {\n constructor() {\n super(1);\n }\n\n ngOnDestroy(): void {\n this.next();\n this.complete();\n }\n}\n","import {\n ComponentFactoryResolver,\n Inject,\n Injectable,\n INJECTOR,\n Injector,\n Type,\n} from '@angular/core';\n\n/**\n * Service to use styles with directives\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiDirectiveStylesService {\n private readonly map = new Map<Type<unknown>, unknown>();\n\n constructor(\n @Inject(ComponentFactoryResolver)\n private readonly resolver: ComponentFactoryResolver,\n @Inject(INJECTOR) private readonly injector: Injector,\n ) {}\n\n addComponent(component: Type<unknown>): void {\n if (!this.map.has(component)) {\n this.map.set(\n component,\n this.resolver.resolveComponentFactory(component).create(this.injector),\n );\n }\n }\n}\n","import {ChangeDetectorRef, ElementRef, Inject, Injectable} from '@angular/core';\nimport {tuiFocusVisibleObservable, tuiWatch} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n/**\n * Service to imitate :focus-visible\n * (https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible)\n * in browsers that do not support it\n */\n@Injectable()\nexport class TuiFocusVisibleService extends Observable<boolean> {\n private readonly focusVisible$: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n super(subscriber => this.focusVisible$.subscribe(subscriber));\n\n this.focusVisible$ = tuiFocusVisibleObservable(nativeElement).pipe(\n tuiWatch(changeDetectorRef),\n takeUntil(destroy$),\n );\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst TUI = `tui_`;\n\n/**\n * Generates unique ids\n */\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n generate(): string {\n return `${TUI}${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {defer, merge, Observable} from 'rxjs';\n\n/**\n * Service that subscribes to scroll events of all parent elements\n */\n@Injectable()\nexport class TuiParentsScrollService extends Observable<Event> {\n private readonly callback$: Observable<Event>;\n\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<Element>,\n @Inject(WINDOW) windowRef: Window,\n ) {\n super(subscriber => this.callback$.subscribe(subscriber));\n\n this.callback$ = defer(() => {\n let {nativeElement} = elementRef;\n const eventTargets: Array<Element | Window> = [windowRef, nativeElement];\n\n while (nativeElement.parentElement) {\n nativeElement = nativeElement.parentElement;\n eventTargets.push(nativeElement);\n }\n\n return merge<Event>(\n ...eventTargets.map<Observable<Event>>(element =>\n tuiTypedFromEvent(element, `scroll`),\n ),\n );\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone, Self} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiGetElementObscures} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\nimport {TuiParentsScrollService} from './parents-scroll.service';\n\n// @bad TODO: Consider Intersection Observer with fallback to current implementation\n/**\n * Service that monitors element visibility by subscribing to scrolls\n * and polling with set interval, returns either null or an array\n * of elements that overlap given element edges\n */\n@Injectable()\nexport class TuiObscuredService extends Observable<null | readonly Element[]> {\n private readonly obscured$: Observable<null | readonly Element[]>;\n\n constructor(\n @Inject(TuiParentsScrollService)\n @Self()\n parentsScroll$: TuiParentsScrollService,\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(WINDOW) windowRef: Window,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(subscriber => this.obscured$.subscribe(subscriber));\n\n this.obscured$ = merge(\n // delay is added so it will not interfere with other listeners\n merge(parentsScroll$, fromEvent(windowRef, `resize`)).pipe(delay(0)),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n ).pipe(\n map(() => tuiGetElementObscures(nativeElement)),\n startWith(null),\n distinctUntilChanged(),\n tuiZoneOptimized(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise, repeat, switchMapTo, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiPanService extends Observable<readonly [number, number]> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n tuiTypedFromEvent(nativeElement, `touchstart`, {passive: true}),\n tuiTypedFromEvent(nativeElement, `mousedown`),\n )\n .pipe(\n switchMapTo(\n merge(\n tuiTypedFromEvent(documentRef, `touchmove`, {\n passive: true,\n }).pipe(\n filter(({touches}) => touches.length < 2),\n map(({touches}) => touches[0]),\n ),\n tuiTypedFromEvent(documentRef, `mousemove`),\n ),\n ),\n pairwise(),\n map(([first, second]) => {\n const deltaX = second.clientX - first.clientX;\n const deltaY = second.clientY - first.clientY;\n\n return [deltaX, deltaY] as [number, number];\n }),\n // eslint-disable-next-line rxjs/no-unsafe-takeuntil\n takeUntil(\n merge(\n tuiTypedFromEvent(documentRef, `touchend`),\n tuiTypedFromEvent(documentRef, `mouseup`),\n ),\n ),\n repeat(),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n RESIZE_OBSERVER_SUPPORT,\n RESIZE_OPTION_BOX,\n ResizeObserverService,\n} from '@ng-web-apis/resize-observer';\nimport {EMPTY_ARRAY, POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {\n catchError,\n debounceTime,\n distinctUntilChanged,\n map,\n mapTo,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiDestroyService} from './destroy.service';\n\n@Injectable()\nexport class TuiResizeService extends ResizeObserverService {\n constructor(\n @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(RESIZE_OBSERVER_SUPPORT) support: boolean,\n @Inject(RESIZE_OPTION_BOX) box: ResizeObserverBoxOptions,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n super(elementRef, ngZone, support, box);\n\n return this.pipe(\n catchError(() =>\n animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(\n () =>\n `${elementRef.nativeElement.clientWidth} ${elementRef.nativeElement.clientHeight}`,\n ),\n distinctUntilChanged(),\n mapTo(EMPTY_ARRAY),\n ),\n ),\n debounceTime(0),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n );\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiEaseInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {map, switchMap, takeUntil, tap} from 'rxjs/operators';\n\nconst SCROLL_TIME = 300;\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiScrollService {\n constructor(\n @Inject(PERFORMANCE) private readonly performanceRef: Performance,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n scroll$(\n element: Element,\n scrollTop: number,\n scrollLeft: number = element.scrollLeft,\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n tuiAssert.assert(duration >= 0, `Duration cannot be negative`);\n tuiAssert.assert(scrollTop >= 0, `scrollTop cannot be negative`);\n tuiAssert.assert(scrollLeft >= 0, `scrollLeft cannot be negative`);\n\n const initialTop = element.scrollTop;\n const initialLeft = element.scrollLeft;\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of([scrollTop, scrollLeft] as [number, number])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap(start => this.animationFrame$.pipe(map(now => now - start))),\n map(elapsed => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))),\n map(\n percent =>\n [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ] as [number, number],\n ),\n takeUntil(timer(duration)),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }),\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Observer} from 'rxjs';\nimport {shareReplay} from 'rxjs/operators';\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiStaticRequestService {\n private readonly cache = new Map<string, Observable<string>>();\n\n request(url: string): Observable<string> {\n const cache = this.cache.get(url);\n\n if (cache) {\n return cache;\n }\n\n const observable = new Observable((observer: Observer<string>) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4) {\n const response = xhr.responseType ? xhr.response : xhr.responseText;\n\n if (xhr.status === 200) {\n observer.next(response);\n observer.complete();\n } else {\n observer.error(response);\n }\n }\n };\n\n xhr.open(`GET`, url);\n xhr.send();\n\n return () => {\n xhr.abort();\n };\n });\n const piped = observable.pipe(shareReplay({bufferSize: 1, refCount: false}));\n\n this.cache.set(url, piped);\n\n return piped;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiSwipe, TuiSwipeOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_SWIPE_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {tuiGetSwipeDirection, tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, pairwise} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiSwipeService extends Observable<TuiSwipe> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TUI_SWIPE_OPTIONS) {timeout, threshold}: TuiSwipeOptions,\n @Inject(DOCUMENT) documentRef: Document,\n ) {\n super(subscriber => {\n merge(\n tuiTypedFromEvent(nativeElement, `touchstart`, {passive: true}),\n tuiTypedFromEvent(documentRef, `touchend`),\n )\n .pipe(\n pairwise(),\n filter(\n ([first, second]) =>\n !!first.touches.length &&\n first.touches[0].identifier ===\n second.changedTouches[0].identifier,\n ),\n map(([start, end]) => {\n const startX = start.touches[0].clientX;\n const startY = start.touches[0].clientY;\n const endX = end.changedTouches[0].clientX;\n const endY = end.changedTouches[0].clientY;\n\n const distanceX = startX - endX;\n const distanceY = startY - endY;\n const duration = end.timeStamp - start.timeStamp;\n\n if (\n (Math.abs(distanceX) > threshold ||\n Math.abs(distanceY) > threshold) &&\n duration < timeout\n ) {\n return {\n direction: tuiGetSwipeDirection(distanceX, distanceY),\n events: [start, end] as [TouchEvent, TouchEvent],\n };\n }\n\n return null;\n }),\n filter(tuiIsPresent),\n )\n .subscribe(subscriber);\n });\n }\n}\n","import {ElementRef, Inject, Injectable} from '@angular/core';\nimport {TuiZoom, TuiZoomOptions} from '@taiga-ui/cdk/interfaces';\nimport {tuiPreventDefault, tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TUI_ZOOM_OPTIONS} from '@taiga-ui/cdk/tokens';\nimport {tuiDistanceBetweenTouches} from '@taiga-ui/cdk/utils';\nimport {merge, Observable} from 'rxjs';\nimport {filter, map, scan, switchMap, takeUntil} from 'rxjs/operators';\n\nconst TOUCH_SENSITIVITY = 0.01;\n\n@Injectable()\nexport class TuiZoomService extends Observable<TuiZoom> {\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_ZOOM_OPTIONS) {wheelSensitivity}: TuiZoomOptions,\n ) {\n super(subscriber => {\n merge(\n tuiTypedFromEvent(nativeElement, `touchstart`, {passive: true}).pipe(\n filter(({touches}) => touches.length > 1),\n switchMap(startEvent =>\n tuiTypedFromEvent(nativeElement, `touchmove`, {\n passive: true,\n }).pipe(\n tuiPreventDefault(),\n scan(\n (prev, event) => {\n const distance = tuiDistanceBetweenTouches(event);\n\n return {\n event,\n distance,\n delta:\n (distance - prev.distance) *\n TOUCH_SENSITIVITY,\n };\n },\n {\n event: startEvent,\n distance: tuiDistanceBetweenTouches(startEvent),\n delta: 0,\n },\n ),\n map(({event, delta}) => {\n const clientX =\n (event.touches[0].clientX +\n event.touches[1].clientX) /\n 2;\n const clientY =\n (event.touches[0].clientY +\n event.touches[1].clientY) /\n 2;\n\n return {clientX, clientY, delta, event};\n }),\n takeUntil(tuiTypedFromEvent(nativeElement, `touchend`)),\n ),\n ),\n ),\n tuiTypedFromEvent(nativeElement, `wheel`, {passive: false}).pipe(\n tuiPreventDefault(),\n map(wheel => ({\n clientX: wheel.clientX,\n clientY: wheel.clientY,\n delta: -wheel.deltaY * wheelSensitivity,\n event: wheel,\n })),\n ),\n ).subscribe(subscriber);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { InjectionToken, inject, InjectFlags, RendererFactory2 } from '@angular/core';
1
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
2
+ import { InjectionToken, inject, InjectFlags, RendererFactory2, PLATFORM_ID } from '@angular/core';
3
3
  import { WINDOW, NAVIGATOR, USER_AGENT } from '@ng-web-apis/common';
4
- import { typedFromEvent } from '@taiga-ui/cdk/observables';
5
- import { getActualTarget, getDocumentOrShadowRoot, isIos, isApple } from '@taiga-ui/cdk/utils';
4
+ import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
5
+ import { tuiGetActualTarget, tuiGetDocumentOrShadowRoot, tuiIsIos, tuiIsApple } from '@taiga-ui/cdk/utils';
6
6
  import { BehaviorSubject, timer, merge, of } from 'rxjs';
7
7
  import { switchMap, mapTo, startWith, share, takeUntil, repeatWhen, withLatestFrom, filter, map, take, distinctUntilChanged, shareReplay } from 'rxjs/operators';
8
8
  import { ɵAnimationEngine } from '@angular/animations/browser';
@@ -26,44 +26,51 @@ const TUI_ACTIVE_ELEMENT = new InjectionToken(`Active element on the document fo
26
26
  const removedElement$ = inject(TUI_REMOVED_ELEMENT);
27
27
  const windowRef = inject(WINDOW);
28
28
  const documentRef = inject(DOCUMENT);
29
- const focusout$ = typedFromEvent(windowRef, `focusout`);
30
- const focusin$ = typedFromEvent(windowRef, `focusin`);
31
- const blur$ = typedFromEvent(windowRef, `blur`);
32
- const mousedown$ = typedFromEvent(windowRef, `mousedown`);
33
- const mouseup$ = typedFromEvent(windowRef, `mouseup`);
29
+ const focusout$ = tuiTypedFromEvent(windowRef, `focusout`);
30
+ const focusin$ = tuiTypedFromEvent(windowRef, `focusin`);
31
+ const blur$ = tuiTypedFromEvent(windowRef, `blur`);
32
+ const mousedown$ = tuiTypedFromEvent(windowRef, `mousedown`);
33
+ const mouseup$ = tuiTypedFromEvent(windowRef, `mouseup`);
34
34
  return merge(focusout$.pipe(
35
35
  // eslint-disable-next-line rxjs/no-unsafe-takeuntil
36
36
  takeUntil(mousedown$),
37
37
  // eslint-disable-next-line rxjs/no-ignored-notifier
38
- repeatWhen(() => mouseup$), withLatestFrom(removedElement$), filter(([event, removedElement]) => isValidFocusout(getActualTarget(event), removedElement)), map(([{ relatedTarget }]) => relatedTarget)), blur$.pipe(map(() => documentRef.activeElement), filter(element => !!element && element.matches(`iframe`))), focusin$.pipe(switchMap(event => {
39
- const target = getActualTarget(event);
40
- const root = getDocumentOrShadowRoot(target);
38
+ repeatWhen(() => mouseup$), withLatestFrom(removedElement$), filter(([event, removedElement]) => isValidFocusout(tuiGetActualTarget(event), removedElement)), map(([{ relatedTarget }]) => relatedTarget)), blur$.pipe(map(() => documentRef.activeElement), filter(element => !!element && element.matches(`iframe`))), focusin$.pipe(switchMap(event => {
39
+ const target = tuiGetActualTarget(event);
40
+ const root = tuiGetDocumentOrShadowRoot(target);
41
41
  return root === documentRef
42
42
  ? of(target)
43
43
  : shadowRootActiveElement(root).pipe(startWith(target));
44
44
  })), mousedown$.pipe(switchMap(event => !documentRef.activeElement ||
45
45
  documentRef.activeElement === documentRef.body
46
- ? of(getActualTarget(event))
47
- : focusout$.pipe(take(1), mapTo(getActualTarget(event)), takeUntil(timer(0)))))).pipe(distinctUntilChanged(), share());
46
+ ? of(tuiGetActualTarget(event))
47
+ : focusout$.pipe(take(1), mapTo(tuiGetActualTarget(event)), takeUntil(timer(0)))))).pipe(distinctUntilChanged(), share());
48
48
  },
49
49
  });
50
50
  // Checks if focusout event should be considered leaving active zone
51
51
  function isValidFocusout(target, removedElement = null) {
52
52
  return (
53
53
  // Not due to switching tabs/going to DevTools
54
- getDocumentOrShadowRoot(target).activeElement !== target &&
54
+ tuiGetDocumentOrShadowRoot(target).activeElement !== target &&
55
55
  // Not due to button/input becoming disabled
56
56
  !target.disabled &&
57
57
  // Not due to element being removed from DOM
58
- (!removedElement || !removedElement.contains(target)));
58
+ !(removedElement === null || removedElement === void 0 ? void 0 : removedElement.contains(target)));
59
59
  }
60
60
  function shadowRootActiveElement(root) {
61
- return merge(typedFromEvent(root, `focusin`).pipe(map(({ target }) => target)), typedFromEvent(root, `focusout`).pipe(filter(({ target, relatedTarget }) => !!relatedTarget && isValidFocusout(target)), map(({ relatedTarget }) => relatedTarget)));
61
+ return merge(tuiTypedFromEvent(root, `focusin`).pipe(map(({ target }) => target)), tuiTypedFromEvent(root, `focusout`).pipe(filter(({ target, relatedTarget }) => !!relatedTarget && isValidFocusout(target)), map(({ relatedTarget }) => relatedTarget)));
62
62
  }
63
63
 
64
64
  const TUI_ALERTS = new InjectionToken(`A stream of alerts`, {
65
65
  factory: () => [],
66
66
  });
67
+ function tuiAsAlerts(useExisting) {
68
+ return {
69
+ provide: TUI_ALERTS,
70
+ multi: true,
71
+ useExisting,
72
+ };
73
+ }
67
74
 
68
75
  // https://github.com/angular/angular/issues/17824#issuecomment-353239017
69
76
  const TUI_DEFAULT_RENDERER = new InjectionToken(`A Renderer2 for global services`, {
@@ -74,11 +81,24 @@ const TUI_DEFAULT_RENDERER = new InjectionToken(`A Renderer2 for global services
74
81
  const TUI_DIALOGS = new InjectionToken(`A stream of dialogs`, {
75
82
  factory: () => [],
76
83
  });
84
+ function tuiAsDialog(useExisting) {
85
+ return {
86
+ provide: TUI_DIALOGS,
87
+ multi: true,
88
+ useExisting,
89
+ };
90
+ }
77
91
 
78
92
  const TUI_FOCUSABLE_ITEM_ACCESSOR = new InjectionToken(`A component that can be focused`);
93
+ function tuiAsFocusableItemAccessor(useExisting) {
94
+ return {
95
+ provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
96
+ useExisting,
97
+ };
98
+ }
79
99
 
80
100
  const TUI_IS_IOS = new InjectionToken(`iOS browser detection`, {
81
- factory: () => isIos(inject(NAVIGATOR)),
101
+ factory: () => tuiIsIos(inject(NAVIGATOR)),
82
102
  });
83
103
 
84
104
  // https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
@@ -93,7 +113,7 @@ const TUI_IS_ANDROID = new InjectionToken(`Mobile browser that is not iOS (techn
93
113
  factory: () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),
94
114
  });
95
115
 
96
- const TUI_IS_APPLE = new InjectionToken(`Apple(safari/webkit) detection`, { factory: () => isApple(inject(NAVIGATOR)) });
116
+ const TUI_IS_APPLE = new InjectionToken(`Apple(safari/webkit) detection`, { factory: () => tuiIsApple(inject(NAVIGATOR)) });
97
117
 
98
118
  const TUI_IS_CHROMIUM = new InjectionToken(`Chromium browser engine detection`, {
99
119
  factory: () => !!inject(WINDOW).chrome,
@@ -117,8 +137,11 @@ const TUI_IS_WEBKIT = new InjectionToken(`Webkit browser engine detection`, {
117
137
  factory: () => !!inject(WINDOW).webkitConvertPointFromNodeToPage,
118
138
  });
119
139
 
120
- /* @deprecated export token from @taiga-ui/core package **/
121
- const TUI_SANITIZER = new InjectionToken(`A custom Sanitizer to sanitize source before inlining`);
140
+ const TUI_RANGE = new InjectionToken(`[TUI_RANGE] SSR safe default empty Range`, {
141
+ factory: () => isPlatformBrowser(inject(PLATFORM_ID))
142
+ ? new Range()
143
+ : {},
144
+ });
122
145
 
123
146
  const TUI_SWIPE_OPTIONS = new InjectionToken(`Swipe options`, {
124
147
  factory: () => ({ timeout: 500, threshold: 30 }),
@@ -141,7 +164,7 @@ const TUI_TOUCH_SUPPORTED = new InjectionToken(`Touch support detection`, {
141
164
  const TUI_WINDOW_HEIGHT = new InjectionToken(`Window height accounting for disappearing address bar`, {
142
165
  factory: () => {
143
166
  const windowRef = inject(WINDOW);
144
- return typedFromEvent(windowRef, `resize`).pipe(startWith(null), map(() => windowRef.innerHeight), shareReplay({ bufferSize: 1, refCount: true }));
167
+ return tuiTypedFromEvent(windowRef, `resize`).pipe(startWith(null), map(() => windowRef.innerHeight), shareReplay({ bufferSize: 1, refCount: true }));
145
168
  },
146
169
  });
147
170
 
@@ -155,5 +178,5 @@ const TUI_ZOOM_OPTIONS = new InjectionToken(`Zoom options`, {
155
178
  * Generated bundle index. Do not edit.
156
179
  */
157
180
 
158
- export { TUI_ACTIVE_ELEMENT, TUI_ALERTS, TUI_DEFAULT_RENDERER, TUI_DIALOGS, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_ANDROID, TUI_IS_APPLE, TUI_IS_CHROMIUM, TUI_IS_CYPRESS, TUI_IS_FIREFOX, TUI_IS_IOS, TUI_IS_MOBILE, TUI_IS_WEBKIT, TUI_REMOVED_ELEMENT, TUI_SANITIZER, TUI_SWIPE_OPTIONS, TUI_TAKE_ONLY_TRUSTED_EVENTS, TUI_TOUCH_SUPPORTED, TUI_WINDOW_HEIGHT, TUI_ZOOM_OPTIONS };
181
+ export { TUI_ACTIVE_ELEMENT, TUI_ALERTS, TUI_DEFAULT_RENDERER, TUI_DIALOGS, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_ANDROID, TUI_IS_APPLE, TUI_IS_CHROMIUM, TUI_IS_CYPRESS, TUI_IS_FIREFOX, TUI_IS_IOS, TUI_IS_MOBILE, TUI_IS_WEBKIT, TUI_RANGE, TUI_REMOVED_ELEMENT, TUI_SWIPE_OPTIONS, TUI_TAKE_ONLY_TRUSTED_EVENTS, TUI_TOUCH_SUPPORTED, TUI_WINDOW_HEIGHT, TUI_ZOOM_OPTIONS, tuiAsAlerts, tuiAsDialog, tuiAsFocusableItemAccessor };
159
182
  //# sourceMappingURL=taiga-ui-cdk-tokens.js.map