@taiga-ui/cdk 2.51.0 → 2.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +1 -1
  2. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js +1 -1
  4. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +5 -13
  6. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +1 -1
  8. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-constants.umd.js +9 -0
  10. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-constants.umd.min.js +1 -1
  12. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +29 -14
  14. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js +1 -1
  16. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-directives-media.umd.js +2 -0
  18. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-cdk-observables.umd.js +56 -0
  21. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  22. package/bundles/taiga-ui-cdk-observables.umd.min.js +1 -1
  23. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-services.umd.js +1 -0
  25. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-tokens.umd.js +1 -1
  28. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  30. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-utils-browser.umd.js +30 -0
  32. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +1 -1
  34. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-utils-dom.umd.js +69 -2
  36. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js +1 -1
  38. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-utils-focus.umd.js +42 -1
  40. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +1 -1
  42. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-utils-format.umd.js +6 -2
  44. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-utils-format.umd.min.js +1 -1
  46. package/bundles/taiga-ui-cdk-utils-format.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-utils-math.umd.js +48 -0
  48. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-utils-math.umd.min.js +1 -1
  50. package/bundles/taiga-ui-cdk-utils-math.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +64 -2
  52. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js +1 -1
  54. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-utils-os.umd.js +17 -1
  56. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +1 -1
  58. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-utils-svg.umd.js +5 -1
  60. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +1 -1
  62. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +1 -1
  63. package/components/alert-host/taiga-ui-cdk-components-alert-host.metadata.json +1 -1
  64. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +1 -1
  65. package/constants/empty.d.ts +1 -0
  66. package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
  67. package/directives/hovered/hovered.directive.d.ts +5 -5
  68. package/directives/hovered/taiga-ui-cdk-directives-hovered.metadata.json +1 -1
  69. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  70. package/esm2015/components/alert-host/alert-host.component.js +2 -2
  71. package/esm2015/components/dropdown-host/dropdown-host.component.js +3 -10
  72. package/esm2015/constants/empty.js +9 -1
  73. package/esm2015/directives/hovered/hovered.directive.js +28 -13
  74. package/esm2015/directives/media/media.directive.js +3 -1
  75. package/esm2015/observables/drag-and-drop-from.js +6 -1
  76. package/esm2015/observables/focus-visible-observable.js +6 -1
  77. package/esm2015/observables/items-query-list-observable.js +4 -1
  78. package/esm2015/observables/mouse-drag-finish-from.js +4 -1
  79. package/esm2015/observables/must-be-present.js +6 -1
  80. package/esm2015/observables/pressed-observable.js +6 -1
  81. package/esm2015/observables/prevent-default.js +6 -1
  82. package/esm2015/observables/stop-propagation.js +6 -1
  83. package/esm2015/observables/typed-from-event.js +6 -1
  84. package/esm2015/observables/watch.js +6 -1
  85. package/esm2015/services/hovered.service.js +2 -1
  86. package/esm2015/tokens/is-firefox.js +2 -2
  87. package/esm2015/utils/browser/is-edge-older-than.js +6 -1
  88. package/esm2015/utils/browser/is-edge.js +6 -1
  89. package/esm2015/utils/browser/is-firefox.js +6 -1
  90. package/esm2015/utils/browser/is-ie.js +6 -1
  91. package/esm2015/utils/browser/is-safari.js +6 -1
  92. package/esm2015/utils/dom/can-scroll.js +6 -1
  93. package/esm2015/utils/dom/contains-or-after.js +6 -1
  94. package/esm2015/utils/dom/get-actual-target.js +4 -1
  95. package/esm2015/utils/dom/get-clipboard-data-text.js +4 -1
  96. package/esm2015/utils/dom/get-closest-element.js +3 -2
  97. package/esm2015/utils/dom/get-document-or-shadow-root.js +6 -1
  98. package/esm2015/utils/dom/get-element-obscurers.js +4 -1
  99. package/esm2015/utils/dom/get-element-offset.js +4 -1
  100. package/esm2015/utils/dom/get-scroll-parent.js +5 -2
  101. package/esm2015/utils/dom/index.js +2 -1
  102. package/esm2015/utils/dom/is-current-target.js +6 -1
  103. package/esm2015/utils/dom/is-inside-iframe.js +4 -1
  104. package/esm2015/utils/dom/is-node-in.js +4 -1
  105. package/esm2015/utils/dom/point-to-client-rect.js +11 -0
  106. package/esm2015/utils/focus/blur-native-focused.js +4 -1
  107. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +7 -2
  108. package/esm2015/utils/focus/get-native-focused.js +4 -1
  109. package/esm2015/utils/focus/is-native-focused-in.js +4 -1
  110. package/esm2015/utils/focus/is-native-focused.js +4 -1
  111. package/esm2015/utils/focus/is-native-keyboard-focusable.js +4 -1
  112. package/esm2015/utils/focus/is-native-mouse-focusable.js +6 -1
  113. package/esm2015/utils/focus/move-focus.js +4 -1
  114. package/esm2015/utils/focus/set-native-focused.js +2 -1
  115. package/esm2015/utils/focus/set-native-mouse-focused.js +4 -1
  116. package/esm2015/utils/format/pad-start.js +3 -3
  117. package/esm2015/utils/format/px.js +4 -1
  118. package/esm2015/utils/math/clamp.js +4 -1
  119. package/esm2015/utils/math/in-range.js +4 -1
  120. package/esm2015/utils/math/normalize-to-int-number.js +4 -1
  121. package/esm2015/utils/math/quantize.js +4 -1
  122. package/esm2015/utils/math/round.js +16 -1
  123. package/esm2015/utils/math/sum.js +4 -1
  124. package/esm2015/utils/math/to-int.js +6 -1
  125. package/esm2015/utils/math/to-radians.js +4 -1
  126. package/esm2015/utils/miscellaneous/distance-between-touches.js +6 -1
  127. package/esm2015/utils/miscellaneous/ease-in-out-quad.js +6 -1
  128. package/esm2015/utils/miscellaneous/fallback-value.js +3 -2
  129. package/esm2015/utils/miscellaneous/flat-length.js +5 -2
  130. package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +4 -1
  131. package/esm2015/utils/miscellaneous/get-swipe-direction.js +6 -1
  132. package/esm2015/utils/miscellaneous/identity.js +2 -1
  133. package/esm2015/utils/miscellaneous/is-element-editable.js +6 -1
  134. package/esm2015/utils/miscellaneous/is-number.js +6 -1
  135. package/esm2015/utils/miscellaneous/is-present.js +6 -1
  136. package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +6 -1
  137. package/esm2015/utils/miscellaneous/nullable-same.js +4 -1
  138. package/esm2015/utils/miscellaneous/uniq-by.js +6 -1
  139. package/esm2015/utils/os/is-apple-platform.js +5 -2
  140. package/esm2015/utils/os/is-apple.js +6 -1
  141. package/esm2015/utils/os/is-ios.js +6 -1
  142. package/esm2015/utils/svg/svg-linear-gradient-processor.js +5 -2
  143. package/esm5/components/alert-host/alert-host.component.js +2 -2
  144. package/esm5/components/dropdown-host/dropdown-host.component.js +3 -10
  145. package/esm5/constants/empty.js +9 -1
  146. package/esm5/directives/hovered/hovered.directive.js +29 -14
  147. package/esm5/directives/media/media.directive.js +3 -1
  148. package/esm5/observables/drag-and-drop-from.js +6 -1
  149. package/esm5/observables/focus-visible-observable.js +6 -1
  150. package/esm5/observables/items-query-list-observable.js +4 -1
  151. package/esm5/observables/mouse-drag-finish-from.js +4 -1
  152. package/esm5/observables/must-be-present.js +6 -1
  153. package/esm5/observables/pressed-observable.js +6 -1
  154. package/esm5/observables/prevent-default.js +6 -1
  155. package/esm5/observables/stop-propagation.js +6 -1
  156. package/esm5/observables/typed-from-event.js +6 -1
  157. package/esm5/observables/watch.js +6 -1
  158. package/esm5/services/hovered.service.js +2 -1
  159. package/esm5/tokens/is-firefox.js +2 -2
  160. package/esm5/utils/browser/is-edge-older-than.js +6 -1
  161. package/esm5/utils/browser/is-edge.js +6 -1
  162. package/esm5/utils/browser/is-firefox.js +6 -1
  163. package/esm5/utils/browser/is-ie.js +6 -1
  164. package/esm5/utils/browser/is-safari.js +6 -1
  165. package/esm5/utils/dom/can-scroll.js +6 -1
  166. package/esm5/utils/dom/contains-or-after.js +6 -1
  167. package/esm5/utils/dom/get-actual-target.js +4 -1
  168. package/esm5/utils/dom/get-clipboard-data-text.js +4 -1
  169. package/esm5/utils/dom/get-closest-element.js +3 -2
  170. package/esm5/utils/dom/get-document-or-shadow-root.js +6 -1
  171. package/esm5/utils/dom/get-element-obscurers.js +4 -1
  172. package/esm5/utils/dom/get-element-offset.js +4 -1
  173. package/esm5/utils/dom/get-scroll-parent.js +5 -2
  174. package/esm5/utils/dom/index.js +2 -1
  175. package/esm5/utils/dom/is-current-target.js +6 -1
  176. package/esm5/utils/dom/is-inside-iframe.js +4 -1
  177. package/esm5/utils/dom/is-node-in.js +4 -1
  178. package/esm5/utils/dom/point-to-client-rect.js +13 -0
  179. package/esm5/utils/focus/blur-native-focused.js +4 -1
  180. package/esm5/utils/focus/get-closest-keyboard-focusable.js +7 -2
  181. package/esm5/utils/focus/get-native-focused.js +4 -1
  182. package/esm5/utils/focus/is-native-focused-in.js +4 -1
  183. package/esm5/utils/focus/is-native-focused.js +4 -1
  184. package/esm5/utils/focus/is-native-keyboard-focusable.js +4 -1
  185. package/esm5/utils/focus/is-native-mouse-focusable.js +6 -1
  186. package/esm5/utils/focus/move-focus.js +4 -1
  187. package/esm5/utils/focus/set-native-focused.js +2 -1
  188. package/esm5/utils/focus/set-native-mouse-focused.js +4 -1
  189. package/esm5/utils/format/pad-start.js +3 -3
  190. package/esm5/utils/format/px.js +4 -1
  191. package/esm5/utils/math/clamp.js +4 -1
  192. package/esm5/utils/math/in-range.js +4 -1
  193. package/esm5/utils/math/normalize-to-int-number.js +4 -1
  194. package/esm5/utils/math/quantize.js +4 -1
  195. package/esm5/utils/math/round.js +16 -1
  196. package/esm5/utils/math/sum.js +4 -1
  197. package/esm5/utils/math/to-int.js +6 -1
  198. package/esm5/utils/math/to-radians.js +4 -1
  199. package/esm5/utils/miscellaneous/distance-between-touches.js +6 -1
  200. package/esm5/utils/miscellaneous/ease-in-out-quad.js +6 -1
  201. package/esm5/utils/miscellaneous/fallback-value.js +3 -2
  202. package/esm5/utils/miscellaneous/flat-length.js +5 -2
  203. package/esm5/utils/miscellaneous/get-original-array-from-query-list.js +4 -1
  204. package/esm5/utils/miscellaneous/get-swipe-direction.js +6 -1
  205. package/esm5/utils/miscellaneous/identity.js +2 -1
  206. package/esm5/utils/miscellaneous/is-element-editable.js +6 -1
  207. package/esm5/utils/miscellaneous/is-number.js +6 -1
  208. package/esm5/utils/miscellaneous/is-present.js +6 -1
  209. package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +6 -1
  210. package/esm5/utils/miscellaneous/nullable-same.js +4 -1
  211. package/esm5/utils/miscellaneous/uniq-by.js +6 -1
  212. package/esm5/utils/os/is-apple-platform.js +5 -2
  213. package/esm5/utils/os/is-apple.js +6 -1
  214. package/esm5/utils/os/is-ios.js +6 -1
  215. package/esm5/utils/svg/svg-linear-gradient-processor.js +5 -2
  216. package/fesm2015/taiga-ui-cdk-components-alert-host.js +1 -1
  217. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  218. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +2 -9
  219. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  220. package/fesm2015/taiga-ui-cdk-constants.js +9 -1
  221. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  222. package/fesm2015/taiga-ui-cdk-directives-hovered.js +28 -13
  223. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  224. package/fesm2015/taiga-ui-cdk-directives-media.js +2 -0
  225. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  226. package/fesm2015/taiga-ui-cdk-observables.js +47 -1
  227. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  228. package/fesm2015/taiga-ui-cdk-services.js +1 -0
  229. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  230. package/fesm2015/taiga-ui-cdk-tokens.js +1 -1
  231. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  232. package/fesm2015/taiga-ui-cdk-utils-browser.js +26 -1
  233. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  234. package/fesm2015/taiga-ui-cdk-utils-dom.js +56 -3
  235. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  236. package/fesm2015/taiga-ui-cdk-utils-focus.js +34 -2
  237. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  238. package/fesm2015/taiga-ui-cdk-utils-format.js +6 -3
  239. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  240. package/fesm2015/taiga-ui-cdk-utils-math.js +39 -1
  241. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  242. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +54 -3
  243. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  244. package/fesm2015/taiga-ui-cdk-utils-os.js +15 -2
  245. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  246. package/fesm2015/taiga-ui-cdk-utils-svg.js +5 -2
  247. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
  248. package/fesm5/taiga-ui-cdk-components-alert-host.js +1 -1
  249. package/fesm5/taiga-ui-cdk-components-alert-host.js.map +1 -1
  250. package/fesm5/taiga-ui-cdk-components-dropdown-host.js +2 -9
  251. package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  252. package/fesm5/taiga-ui-cdk-constants.js +9 -1
  253. package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
  254. package/fesm5/taiga-ui-cdk-directives-hovered.js +29 -14
  255. package/fesm5/taiga-ui-cdk-directives-hovered.js.map +1 -1
  256. package/fesm5/taiga-ui-cdk-directives-media.js +2 -0
  257. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  258. package/fesm5/taiga-ui-cdk-observables.js +47 -1
  259. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  260. package/fesm5/taiga-ui-cdk-services.js +1 -0
  261. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  262. package/fesm5/taiga-ui-cdk-tokens.js +1 -1
  263. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  264. package/fesm5/taiga-ui-cdk-utils-browser.js +26 -1
  265. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  266. package/fesm5/taiga-ui-cdk-utils-dom.js +58 -3
  267. package/fesm5/taiga-ui-cdk-utils-dom.js.map +1 -1
  268. package/fesm5/taiga-ui-cdk-utils-focus.js +34 -2
  269. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  270. package/fesm5/taiga-ui-cdk-utils-format.js +6 -3
  271. package/fesm5/taiga-ui-cdk-utils-format.js.map +1 -1
  272. package/fesm5/taiga-ui-cdk-utils-math.js +39 -1
  273. package/fesm5/taiga-ui-cdk-utils-math.js.map +1 -1
  274. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +54 -3
  275. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  276. package/fesm5/taiga-ui-cdk-utils-os.js +15 -2
  277. package/fesm5/taiga-ui-cdk-utils-os.js.map +1 -1
  278. package/fesm5/taiga-ui-cdk-utils-svg.js +5 -2
  279. package/fesm5/taiga-ui-cdk-utils-svg.js.map +1 -1
  280. package/observables/drag-and-drop-from.d.ts +4 -0
  281. package/observables/focus-visible-observable.d.ts +4 -0
  282. package/observables/items-query-list-observable.d.ts +2 -0
  283. package/observables/mouse-drag-finish-from.d.ts +2 -0
  284. package/observables/must-be-present.d.ts +4 -0
  285. package/observables/pressed-observable.d.ts +4 -0
  286. package/observables/prevent-default.d.ts +4 -0
  287. package/observables/stop-propagation.d.ts +4 -0
  288. package/observables/taiga-ui-cdk-observables.metadata.json +1 -1
  289. package/observables/typed-from-event.d.ts +16 -0
  290. package/observables/watch.d.ts +4 -0
  291. package/package.json +1 -1
  292. package/schematics/ng-update/constants/deprecated-functions.d.ts +2 -0
  293. package/schematics/ng-update/constants/deprecated-functions.js +714 -0
  294. package/schematics/ng-update/constants/templates.d.ts +8 -0
  295. package/schematics/ng-update/constants/templates.js +76 -0
  296. package/schematics/ng-update/constants/types.d.ts +1 -2
  297. package/schematics/ng-update/index.js +38 -5
  298. package/schematics/ng-update/steps/migrate-date-time.d.ts +1 -0
  299. package/schematics/ng-update/steps/migrate-date-time.js +152 -0
  300. package/schematics/ng-update/steps/migrate-progress.d.ts +2 -2
  301. package/schematics/ng-update/steps/migrate-progress.js +1 -3
  302. package/schematics/ng-update/steps/migrate-sliders/index.d.ts +2 -2
  303. package/schematics/ng-update/steps/migrate-sliders/index.js +3 -3
  304. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.d.ts +2 -2
  305. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.js +1 -3
  306. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.d.ts +2 -2
  307. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +1 -3
  308. package/schematics/ng-update/steps/migrate-templates.d.ts +2 -2
  309. package/schematics/ng-update/steps/migrate-templates.js +63 -24
  310. package/schematics/ng-update/steps/miscellaneous.js +2 -6
  311. package/schematics/ng-update/steps/replace-functions.js +12 -0
  312. package/schematics/ng-update/steps/replace-services.js +5 -1
  313. package/schematics/utils/colored-log.d.ts +2 -0
  314. package/schematics/utils/colored-log.js +10 -0
  315. package/schematics/utils/insert-todo.d.ts +2 -0
  316. package/schematics/utils/insert-todo.js +8 -0
  317. package/schematics/utils/templates/elements.d.ts +1 -0
  318. package/schematics/utils/templates/elements.js +7 -18
  319. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +2 -1
  320. package/schematics/utils/templates/ng-component-input-manipulations.js +2 -1
  321. package/services/hovered.service.d.ts +1 -0
  322. package/services/taiga-ui-cdk-services.metadata.json +1 -1
  323. package/utils/browser/is-edge-older-than.d.ts +4 -0
  324. package/utils/browser/is-edge.d.ts +4 -0
  325. package/utils/browser/is-firefox.d.ts +4 -0
  326. package/utils/browser/is-ie.d.ts +4 -0
  327. package/utils/browser/is-safari.d.ts +4 -0
  328. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +1 -1
  329. package/utils/dom/can-scroll.d.ts +4 -0
  330. package/utils/dom/contains-or-after.d.ts +4 -0
  331. package/utils/dom/get-actual-target.d.ts +2 -0
  332. package/utils/dom/get-clipboard-data-text.d.ts +2 -0
  333. package/utils/dom/get-closest-element.d.ts +1 -1
  334. package/utils/dom/get-document-or-shadow-root.d.ts +4 -0
  335. package/utils/dom/get-element-obscurers.d.ts +2 -0
  336. package/utils/dom/get-element-offset.d.ts +2 -0
  337. package/utils/dom/get-scroll-parent.d.ts +3 -1
  338. package/utils/dom/index.d.ts +1 -0
  339. package/utils/dom/is-current-target.d.ts +4 -0
  340. package/utils/dom/is-inside-iframe.d.ts +2 -0
  341. package/utils/dom/is-node-in.d.ts +2 -0
  342. package/utils/dom/point-to-client-rect.d.ts +1 -0
  343. package/utils/dom/taiga-ui-cdk-utils-dom.metadata.json +1 -1
  344. package/utils/focus/blur-native-focused.d.ts +2 -0
  345. package/utils/focus/get-closest-keyboard-focusable.d.ts +5 -1
  346. package/utils/focus/get-native-focused.d.ts +2 -0
  347. package/utils/focus/is-native-focused-in.d.ts +2 -0
  348. package/utils/focus/is-native-focused.d.ts +2 -0
  349. package/utils/focus/is-native-keyboard-focusable.d.ts +2 -0
  350. package/utils/focus/is-native-mouse-focusable.d.ts +4 -0
  351. package/utils/focus/move-focus.d.ts +2 -0
  352. package/utils/focus/set-native-mouse-focused.d.ts +2 -0
  353. package/utils/focus/taiga-ui-cdk-utils-focus.metadata.json +1 -1
  354. package/utils/format/pad-start.d.ts +1 -2
  355. package/utils/format/px.d.ts +2 -0
  356. package/utils/format/taiga-ui-cdk-utils-format.metadata.json +1 -1
  357. package/utils/math/clamp.d.ts +2 -0
  358. package/utils/math/in-range.d.ts +2 -0
  359. package/utils/math/normalize-to-int-number.d.ts +2 -0
  360. package/utils/math/quantize.d.ts +2 -0
  361. package/utils/math/round.d.ts +12 -0
  362. package/utils/math/sum.d.ts +2 -0
  363. package/utils/math/taiga-ui-cdk-utils-math.metadata.json +1 -1
  364. package/utils/math/to-int.d.ts +4 -0
  365. package/utils/math/to-radians.d.ts +2 -0
  366. package/utils/miscellaneous/distance-between-touches.d.ts +4 -0
  367. package/utils/miscellaneous/ease-in-out-quad.d.ts +4 -0
  368. package/utils/miscellaneous/fallback-value.d.ts +1 -1
  369. package/utils/miscellaneous/flat-length.d.ts +3 -1
  370. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +2 -0
  371. package/utils/miscellaneous/get-swipe-direction.d.ts +4 -0
  372. package/utils/miscellaneous/is-element-editable.d.ts +4 -0
  373. package/utils/miscellaneous/is-number.d.ts +4 -0
  374. package/utils/miscellaneous/is-present.d.ts +4 -0
  375. package/utils/miscellaneous/mark-control-as-touched-and-validate.d.ts +4 -0
  376. package/utils/miscellaneous/nullable-same.d.ts +2 -0
  377. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.metadata.json +1 -1
  378. package/utils/miscellaneous/uniq-by.d.ts +4 -0
  379. package/utils/os/is-apple-platform.d.ts +3 -1
  380. package/utils/os/is-apple.d.ts +4 -0
  381. package/utils/os/is-ios.d.ts +4 -0
  382. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +1 -1
  383. package/utils/svg/svg-linear-gradient-processor.d.ts +3 -1
  384. package/utils/svg/taiga-ui-cdk-utils-svg.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-components-dropdown-host.js","sources":["ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.component.ts","ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.module.ts","ng://@taiga-ui/cdk/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, ViewChild} from '@angular/core';\nimport {\n AbstractTuiPortalHostComponent,\n AbstractTuiPortalService,\n} from '@taiga-ui/cdk/abstract';\nimport {TuiPortalService} from '@taiga-ui/cdk/components/portal-host';\n\nconst BLANK_CLIENT_RECT: ClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n\n/**\n * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.\n */\n@Component({\n selector: 'tui-dropdown-host',\n templateUrl: './dropdown-host.template.html',\n styleUrls: ['./dropdown-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: AbstractTuiPortalService, useExisting: TuiPortalService}],\n})\nexport class TuiDropdownHostComponent extends AbstractTuiPortalHostComponent {\n @ViewChild('positionFixedOffset')\n private readonly positionFixedOffsetRef?: ElementRef<HTMLDivElement>;\n\n fixedPositionOffset(): ClientRect {\n return (\n this.positionFixedOffsetRef?.nativeElement.getBoundingClientRect() ||\n BLANK_CLIENT_RECT\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDropdownHostComponent} from './dropdown-host.component';\n\n@NgModule({\n declarations: [TuiDropdownHostComponent],\n exports: [TuiDropdownHostComponent],\n})\nexport class TuiDropdownHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOA,MAAM,iBAAiB,GAAe;IAClC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;CACX,CAAC;AAEF;;;IAUa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,8BAA8B;IAIxE,mBAAmB;;QACf,QACI,OAAA,IAAI,CAAC,sBAAsB,0CAAE,aAAa,CAAC,qBAAqB;YAChE,iBAAiB,EACnB;KACL;EACJ;AARG;IADC,SAAS,CAAC,qBAAqB,CAAC;wEACoC;AAF5D,wBAAwB;IAPpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,mKAA4C;QAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;;KAClF,CAAC;GACW,wBAAwB,CAUpC;;IC5BY,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAJjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACtC,CAAC;GACW,qBAAqB,CAAG;;ACRrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-components-dropdown-host.js","sources":["ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.component.ts","ng://@taiga-ui/cdk/components/dropdown-host/dropdown-host.module.ts","ng://@taiga-ui/cdk/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, ViewChild} from '@angular/core';\nimport {\n AbstractTuiPortalHostComponent,\n AbstractTuiPortalService,\n} from '@taiga-ui/cdk/abstract';\nimport {TuiPortalService} from '@taiga-ui/cdk/components/portal-host';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk/constants';\n\n/**\n * Host element for dynamically created portals, for example using {@link TuiDropdownDirective}.\n */\n@Component({\n selector: 'tui-dropdown-host',\n templateUrl: './dropdown-host.template.html',\n styleUrls: ['./dropdown-host.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: AbstractTuiPortalService, useExisting: TuiPortalService}],\n})\nexport class TuiDropdownHostComponent extends AbstractTuiPortalHostComponent {\n @ViewChild('positionFixedOffset')\n private readonly positionFixedOffsetRef?: ElementRef<HTMLDivElement>;\n\n fixedPositionOffset(): ClientRect {\n return (\n this.positionFixedOffsetRef?.nativeElement.getBoundingClientRect() ||\n EMPTY_CLIENT_RECT\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDropdownHostComponent} from './dropdown-host.component';\n\n@NgModule({\n declarations: [TuiDropdownHostComponent],\n exports: [TuiDropdownHostComponent],\n})\nexport class TuiDropdownHostModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQA;;;IAUa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,8BAA8B;IAIxE,mBAAmB;;QACf,QACI,OAAA,IAAI,CAAC,sBAAsB,0CAAE,aAAa,CAAC,qBAAqB;YAChE,iBAAiB,EACnB;KACL;EACJ;AARG;IADC,SAAS,CAAC,qBAAqB,CAAC;wEACoC;AAF5D,wBAAwB;IAPpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;QAC7B,mKAA4C;QAE5C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAC,CAAC;;KAClF,CAAC;GACW,wBAAwB,CAUpC;;ICpBY,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAJjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACtC,CAAC;GACW,qBAAqB,CAAG;;ACRrC;;;;;;"}
@@ -23,6 +23,14 @@ const EMPTY_ARRAY = [];
23
23
  const EMPTY_FUNCTION = () => { };
24
24
  /** @deprecated use Validators.nullValidator */
25
25
  const EMPTY_VALIDATOR = () => null;
26
+ const EMPTY_CLIENT_RECT = {
27
+ bottom: 0,
28
+ height: 0,
29
+ left: 0,
30
+ right: 0,
31
+ top: 0,
32
+ width: 0,
33
+ };
26
34
 
27
35
  /**
28
36
  * Default method to turn arbitrary object into string
@@ -123,5 +131,5 @@ const CHAR_ZERO_WIDTH_SPACE = '\u200B';
123
131
  * Generated bundle index. Do not edit.
124
132
  */
125
133
 
126
- export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_FUNCTION, EMPTY_QUERY, EMPTY_VALIDATOR, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_STRICT_MATCHER, svgNodeFilter };
134
+ export { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_ZERO_WIDTH_SPACE, CHROMIUM_EDGE_START_VERSION, EMPTY_ARRAY, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, EMPTY_QUERY, EMPTY_VALIDATOR, POLLING_TIME, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_PARENT_ANIMATION, TUI_STRICT_MATCHER, svgNodeFilter };
127
135
  //# sourceMappingURL=taiga-ui-cdk-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words or as minus sign before digits.\n * @example well-behaved, -42\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;MAGa,oBAAoB,GAAG,MAAa;;ACHjD;;;MAGa,mBAAmB,GAAG,MAAY;;MCHlC,2BAA2B,GAAG;;ACG3C;;;;;MAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;MACnC,WAAW,GAAO,GAAG;MACrB,cAAc,GAA6B,UAAS;AACjE;MACa,eAAe,GAAgB,MAAM;;ACVlD;;;MAGa,qBAAqB,GAA8B,IAAI,IAAI,MAAM,CAAC,IAAI;;ACDnF;;;;;;MAMa,mBAAmB,GAAG,CAC/B,IAAO,EACP,MAAc,EACd,YAAmC,qBAAqB,KAC9C,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;AAE3E;;;;;;MAMa,kBAAkB,GAAG,CAC9B,IAAO,EACP,MAAc,EACd,YAAmC,qBAAqB,KAC9C,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,GAAG;AAErE;;;;;;;MAOa,4BAA4B,GAAgC,CAAC,KAAK,EAAE,KAAK,KAClF,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;MCtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,WAAW,EAAE;QACpB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;MCPY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;MACa,aAAa,IAAgB,CAAC,IAAU,KACjD,iBAAiB,IAAI,IAAI;MACnB,UAAU,CAAC,aAAa;MACxB,UAAU,CAAC,aAAa;;ACLlC;;;MAGa,mBAAmB,GAAG,SAAS;AAE5C;;;;;;;MAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;MAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;MAOa,WAAW,GAAG,SAAS;AAEpC;;;MAGa,SAAS,GAAG,SAAS;AAElC;;;MAGa,WAAW,GAAG,SAAS;AAEpC;;;MAGa,aAAa,GAAG,SAAS;AAEtC;;;MAGa,kBAAkB,GAAG,SAAS;AAE3C;;;MAGa,qBAAqB,GAAG;;ACvDrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = (): false => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = (): true => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\nexport const EMPTY_CLIENT_RECT: ClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<unknown> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition('* => void', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words or as minus sign before digits.\n * @example well-behaved, -42\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;MAGa,oBAAoB,GAAG,MAAa;;ACHjD;;;MAGa,mBAAmB,GAAG,MAAY;;MCHlC,2BAA2B,GAAG;;ACG3C;;;;;MAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;MACnC,WAAW,GAAO,GAAG;MACrB,cAAc,GAA6B,UAAS;AACjE;MACa,eAAe,GAAgB,MAAM,KAAK;MAC1C,iBAAiB,GAAe;IACzC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;;;ACjBZ;;;MAGa,qBAAqB,GAA8B,IAAI,IAAI,MAAM,CAAC,IAAI;;ACDnF;;;;;;MAMa,mBAAmB,GAAG,CAC/B,IAAO,EACP,MAAc,EACd,YAAmC,qBAAqB,KAC9C,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE;AAE3E;;;;;;MAMa,kBAAkB,GAAG,CAC9B,IAAO,EACP,MAAc,EACd,YAAmC,qBAAqB,KAC9C,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,GAAG;AAErE;;;;;;;MAOa,4BAA4B,GAAgC,CAAC,KAAK,EAAE,KAAK,KAClF,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;MCtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,WAAW,EAAE;QACpB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;MCPY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;MACa,aAAa,IAAgB,CAAC,IAAU,KACjD,iBAAiB,IAAI,IAAI;MACnB,UAAU,CAAC,aAAa;MACxB,UAAU,CAAC,aAAa;;ACLlC;;;MAGa,mBAAmB,GAAG,SAAS;AAE5C;;;;;;;MAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;MAOa,YAAY,GAAG,SAAS;AAErC;;;;;;;MAOa,WAAW,GAAG,SAAS;AAEpC;;;MAGa,SAAS,GAAG,SAAS;AAElC;;;MAGa,WAAW,GAAG,SAAS;AAEpC;;;MAGa,aAAa,GAAG,SAAS;AAEtC;;;MAGa,kBAAkB,GAAG,SAAS;AAE3C;;;MAGa,qBAAqB,GAAG;;ACvDrC;;;;;;"}
@@ -1,25 +1,40 @@
1
- import { __decorate, __param } from 'tslib';
2
- import { ElementRef, Inject, Output, Directive, NgModule } from '@angular/core';
3
- import { TuiHoveredService } from '@taiga-ui/cdk/services';
1
+ import { __decorate } from 'tslib';
2
+ import { EventEmitter, Output, HostListener, Directive, NgModule } from '@angular/core';
3
+ import { tuiAssertIsHTMLElement } from '@taiga-ui/cdk/classes';
4
+ import { shouldCall } from '@tinkoff/ng-event-plugins';
4
5
 
6
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
+ function movedOut({ currentTarget, relatedTarget }) {
8
+ tuiAssertIsHTMLElement(currentTarget);
9
+ tuiAssertIsHTMLElement(relatedTarget);
10
+ return !currentTarget.contains(relatedTarget);
11
+ }
5
12
  let TuiHoveredDirective = class TuiHoveredDirective {
6
- constructor({ nativeElement }, hoveredService) {
7
- this.tuiHoveredChange = hoveredService.createHovered$(nativeElement);
13
+ constructor() {
14
+ this.tuiHoveredChange = new EventEmitter();
15
+ }
16
+ onHover() {
17
+ this.tuiHoveredChange.emit(true);
18
+ }
19
+ onOut(_) {
20
+ this.tuiHoveredChange.emit(false);
8
21
  }
9
22
  };
10
- TuiHoveredDirective.ctorParameters = () => [
11
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
12
- { type: TuiHoveredService, decorators: [{ type: Inject, args: [TuiHoveredService,] }] }
13
- ];
14
23
  __decorate([
15
24
  Output()
16
25
  ], TuiHoveredDirective.prototype, "tuiHoveredChange", void 0);
26
+ __decorate([
27
+ HostListener('mouseenter')
28
+ ], TuiHoveredDirective.prototype, "onHover", null);
29
+ __decorate([
30
+ shouldCall(movedOut),
31
+ HostListener('mouseout.init', ['$event']),
32
+ HostListener('mouseout.silent', ['$event'])
33
+ ], TuiHoveredDirective.prototype, "onOut", null);
17
34
  TuiHoveredDirective = __decorate([
18
35
  Directive({
19
36
  selector: '[tuiHoveredChange]',
20
- }),
21
- __param(0, Inject(ElementRef)),
22
- __param(1, Inject(TuiHoveredService))
37
+ })
23
38
  ], TuiHoveredDirective);
24
39
 
25
40
  let TuiHoveredModule = class TuiHoveredModule {
@@ -35,5 +50,5 @@ TuiHoveredModule = __decorate([
35
50
  * Generated bundle index. Do not edit.
36
51
  */
37
52
 
38
- export { TuiHoveredDirective, TuiHoveredModule };
53
+ export { TuiHoveredDirective, TuiHoveredModule, movedOut };
39
54
  //# sourceMappingURL=taiga-ui-cdk-directives-hovered.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-hovered.js","sources":["ng://@taiga-ui/cdk/directives/hovered/hovered.directive.ts","ng://@taiga-ui/cdk/directives/hovered/hovered.module.ts","ng://@taiga-ui/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {TuiHoveredService} from '@taiga-ui/cdk/services';\nimport {Observable} from 'rxjs';\n\n@Directive({\n selector: '[tuiHoveredChange]',\n})\nexport class TuiHoveredDirective {\n @Output()\n readonly tuiHoveredChange: Observable<boolean>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<Element>,\n @Inject(TuiHoveredService) hoveredService: TuiHoveredService,\n ) {\n this.tuiHoveredChange = hoveredService.createHovered$(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHoveredDirective} from './hovered.directive';\n\n@NgModule({\n declarations: [TuiHoveredDirective],\n exports: [TuiHoveredDirective],\n})\nexport class TuiHoveredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAOa,mBAAmB,GAAhC,MAAa,mBAAmB;IAI5B,YACwB,EAAC,aAAa,EAAsB,EAC7B,cAAiC;QAE5D,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;KACxE;EACJ;;YAL4C,UAAU,uBAA9C,MAAM,SAAC,UAAU;YACyB,iBAAiB,uBAA3D,MAAM,SAAC,iBAAiB;;AAJ7B;IADC,MAAM,EAAE;6DACsC;AAFtC,mBAAmB;IAH/B,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;KACjC,CAAC;IAMO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GANrB,mBAAmB,CAU/B;;ICTY,gBAAgB,GAA7B,MAAa,gBAAgB;EAAG;AAAnB,gBAAgB;IAJ5B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;QACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;KACjC,CAAC;GACW,gBAAgB,CAAG;;ACRhC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-hovered.js","sources":["ng://@taiga-ui/cdk/directives/hovered/hovered.directive.ts","ng://@taiga-ui/cdk/directives/hovered/hovered.module.ts","ng://@taiga-ui/cdk/directives/hovered/taiga-ui-cdk-directives-hovered.ts"],"sourcesContent":["import {Directive, EventEmitter, HostListener, Output} from '@angular/core';\nimport {tuiAssertIsHTMLElement} from '@taiga-ui/cdk/classes';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function movedOut({currentTarget, relatedTarget}: MouseEvent): boolean {\n tuiAssertIsHTMLElement(currentTarget);\n tuiAssertIsHTMLElement(relatedTarget);\n\n return !currentTarget.contains(relatedTarget);\n}\n\n@Directive({\n selector: '[tuiHoveredChange]',\n})\nexport class TuiHoveredDirective {\n @Output()\n readonly tuiHoveredChange = new EventEmitter<boolean>();\n\n @HostListener('mouseenter')\n onHover(): void {\n this.tuiHoveredChange.emit(true);\n }\n\n @shouldCall(movedOut)\n @HostListener('mouseout.init', ['$event'])\n @HostListener('mouseout.silent', ['$event'])\n onOut(_: MouseEvent): void {\n this.tuiHoveredChange.emit(false);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHoveredDirective} from './hovered.directive';\n\n@NgModule({\n declarations: [TuiHoveredDirective],\n exports: [TuiHoveredDirective],\n})\nexport class TuiHoveredModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;SACgB,QAAQ,CAAC,EAAC,aAAa,EAAE,aAAa,EAAa;IAC/D,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACtC,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAEtC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;IAKY,mBAAmB,GAAhC,MAAa,mBAAmB;IAAhC;QAEa,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;KAa3D;IAVG,OAAO;QACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAKD,KAAK,CAAC,CAAa;QACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;EACJ;AAbG;IADC,MAAM,EAAE;6DAC+C;AAGxD;IADC,YAAY,CAAC,YAAY,CAAC;kDAG1B;AAKD;IAHC,UAAU,CAAC,QAAQ,CAAC;IACpB,YAAY,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzC,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAC;gDAG3C;AAdQ,mBAAmB;IAH/B,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;KACjC,CAAC;GACW,mBAAmB,CAe/B;;ICtBY,gBAAgB,GAA7B,MAAa,gBAAgB;EAAG;AAAnB,gBAAgB;IAJ5B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;QACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;KACjC,CAAC;GACW,gBAAgB,CAAG;;ACRhC;;;;;;"}
@@ -2,9 +2,11 @@ import { __decorate, __param } from 'tslib';
2
2
  import { EventEmitter, ElementRef, Inject, Input, HostBinding, Output, HostListener, Directive, NgModule } from '@angular/core';
3
3
  import { tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk/decorators';
4
4
 
5
+ // eslint-disable-next-line @typescript-eslint/naming-convention
5
6
  function nonNegativeFiniteAssertion(value) {
6
7
  return isFinite(value) && value >= 0;
7
8
  }
9
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8
10
  function volumeAssertion(volume) {
9
11
  return isFinite(volume) && volume >= 0 && volume <= 1;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-media.js","sources":["ng://@taiga-ui/cdk/directives/media/media.directive.ts","ng://@taiga-ui/cdk/directives/media/media.module.ts","ng://@taiga-ui/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\nexport function nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n\nexport function volumeAssertion(volume: number): boolean {\n return isFinite(volume) && volume >= 0 && volume <= 1;\n}\n\n@Directive({\n selector: 'video[tuiMedia], audio[tuiMedia]',\n exportAs: 'tuiMedia',\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding('volume')\n @tuiDefaultProp(volumeAssertion)\n volume = 1;\n\n @Input('playbackRate')\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener('ended', ['true'])\n @HostListener('pause', ['true'])\n @HostListener('play', ['false'])\n onPausedChange(paused: boolean): void {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener('volumechange')\n onVolumeChange(): void {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener('timeupdate')\n @HostListener('seeking')\n @HostListener('seeked')\n onCurrentTimeChange(): void {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener('durationchange')\n changeDetectionTrigger(): void {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number): void {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\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-directives-media.js","sources":["ng://@taiga-ui/cdk/directives/media/media.directive.ts","ng://@taiga-ui/cdk/directives/media/media.module.ts","ng://@taiga-ui/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function volumeAssertion(volume: number): boolean {\n return isFinite(volume) && volume >= 0 && volume <= 1;\n}\n\n@Directive({\n selector: 'video[tuiMedia], audio[tuiMedia]',\n exportAs: 'tuiMedia',\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding('volume')\n @tuiDefaultProp(volumeAssertion)\n volume = 1;\n\n @Input('playbackRate')\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener('ended', ['true'])\n @HostListener('pause', ['true'])\n @HostListener('play', ['false'])\n onPausedChange(paused: boolean): void {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener('volumechange')\n onVolumeChange(): void {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener('timeupdate')\n @HostListener('seeking')\n @HostListener('seeked')\n onCurrentTimeChange(): void {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener('durationchange')\n changeDetectionTrigger(): void {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number): void {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,17 +4,25 @@ import { fromEvent, merge, concat, pipe, timer, Observable } from 'rxjs';
4
4
  import { take, map, endWith, takeWhile, repeat, switchMapTo, mapTo, startWith, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, tap } from 'rxjs/operators';
5
5
  import { isNativeFocused } from '@taiga-ui/cdk/utils/focus';
6
6
 
7
+ /**
8
+ * @deprecated: use {@link tuiTypedFromEvent} instead
9
+ */
10
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
11
  function typedFromEvent(target, event, options = {}) {
8
12
  return fromEvent(target, event, options);
9
13
  }
14
+ const tuiTypedFromEvent = typedFromEvent;
10
15
 
11
16
  /**
17
+ * @deprecated: use {@link tuiMouseDragFinishFrom} instead
12
18
  * Letting go of the mouse after it was pressed
13
19
  * @param target
14
20
  */
21
+ // eslint-disable-next-line @typescript-eslint/naming-convention
15
22
  function mouseDragFinishFrom(target) {
16
23
  return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));
17
24
  }
25
+ const tuiMouseDragFinishFrom = mouseDragFinishFrom;
18
26
 
19
27
  var TuiDragStage;
20
28
  (function (TuiDragStage) {
@@ -28,6 +36,10 @@ class TuiDragState {
28
36
  this.event = event;
29
37
  }
30
38
  }
39
+ /**
40
+ * @deprecated: use {@link tuiDragAndDropFrom} instead
41
+ */
42
+ // eslint-disable-next-line @typescript-eslint/naming-convention
31
43
  function dragAndDropFrom(element) {
32
44
  const { ownerDocument } = element;
33
45
  if (!ownerDocument) {
@@ -35,6 +47,7 @@ function dragAndDropFrom(element) {
35
47
  }
36
48
  return concat(typedFromEvent(element, 'mousedown').pipe(take(1), map(event => new TuiDragState(0 /* Start */, event))), merge(typedFromEvent(ownerDocument, 'mousemove').pipe(map(event => new TuiDragState(1 /* Continues */, event))), mouseDragFinishFrom(ownerDocument).pipe(take(1), map(event => new TuiDragState(2 /* End */, event)), endWith(null))).pipe(takeWhile(isPresent))).pipe(repeat());
37
49
  }
50
+ const tuiDragAndDropFrom = dragAndDropFrom;
38
51
 
39
52
  /**
40
53
  * Operator to set lifespan after which current value is considered obsolete
@@ -45,6 +58,10 @@ function tuiIsAlive(lifespan = 0) {
45
58
 
46
59
  let documentMouseUpIsAlive$;
47
60
  let documentMouseDownIsAlive$;
61
+ /**
62
+ * @deprecated: use {@link tuiFocusVisibleObservable} instead
63
+ */
64
+ // eslint-disable-next-line @typescript-eslint/naming-convention
48
65
  function focusVisibleObservable(element) {
49
66
  const elementBlur$ = typedFromEvent(element, 'blur');
50
67
  const { ownerDocument } = element;
@@ -65,14 +82,22 @@ function focusVisibleObservable(element) {
65
82
  // filtering out blur events when element remains focused so that we ignore browser tab focus loss
66
83
  elementBlur$.pipe(filter(() => !isNativeFocused(element)), take(1), ignoreElements())).pipe(repeat(), withLatestFrom(documentMouseDownIsAlive$, documentMouseUpIsAlive$, (_event, elementActual, documentActual) => elementActual || documentActual), filter(isUserFocus => !isUserFocus))).pipe(switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))), distinctUntilChanged());
67
84
  }
85
+ const tuiFocusVisibleObservable = focusVisibleObservable;
68
86
 
69
87
  /**
88
+ * @deprecated: use {@link tuiItemsQueryListObservable} instead
70
89
  * Converts changes observable of a QueryList to an Observable of arrays
71
90
  */
91
+ // eslint-disable-next-line @typescript-eslint/naming-convention
72
92
  function itemsQueryListObservable(queryList) {
73
93
  return queryList.changes.pipe(map(() => getOriginalArrayFromQueryList(queryList)), startWith(getOriginalArrayFromQueryList(queryList)));
74
94
  }
95
+ const tuiItemsQueryListObservable = itemsQueryListObservable;
75
96
 
97
+ /**
98
+ * @deprecated: use {@link tuiMustBePresent} instead
99
+ */
100
+ // eslint-disable-next-line @typescript-eslint/naming-convention
76
101
  function mustBePresent() {
77
102
  return map(value => {
78
103
  if (!isPresent(value)) {
@@ -81,7 +106,12 @@ function mustBePresent() {
81
106
  return value;
82
107
  });
83
108
  }
109
+ const tuiMustBePresent = mustBePresent;
84
110
 
111
+ /**
112
+ * @deprecated: use {@link tuiPressedObservable} instead
113
+ */
114
+ // eslint-disable-next-line @typescript-eslint/naming-convention
85
115
  function pressedObservable(element, { onlyTrusted } = { onlyTrusted: true }) {
86
116
  const { ownerDocument } = element;
87
117
  if (!ownerDocument) {
@@ -89,10 +119,16 @@ function pressedObservable(element, { onlyTrusted } = { onlyTrusted: true }) {
89
119
  }
90
120
  return typedFromEvent(element, 'mousedown').pipe(filter(({ isTrusted }) => isTrusted || !onlyTrusted), switchMapTo(mouseDragFinishFrom(ownerDocument).pipe(mapTo(false), take(1), startWith(true))));
91
121
  }
122
+ const tuiPressedObservable = pressedObservable;
92
123
 
124
+ /**
125
+ * @deprecated: use {@link tuiPreventDefault} instead
126
+ */
127
+ // eslint-disable-next-line @typescript-eslint/naming-convention
93
128
  function preventDefault() {
94
129
  return tap(event => event.preventDefault());
95
130
  }
131
+ const tuiPreventDefault = preventDefault;
96
132
 
97
133
  /**
98
134
  * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
@@ -107,17 +143,27 @@ function tuiReplayedValueChangesFrom(control) {
107
143
  });
108
144
  }
109
145
 
146
+ /**
147
+ * @deprecated: use {@link tuiStopPropagation} instead
148
+ */
149
+ // eslint-disable-next-line @typescript-eslint/naming-convention
110
150
  function stopPropagation() {
111
151
  return tap(e => {
112
152
  e.stopPropagation();
113
153
  });
114
154
  }
155
+ const tuiStopPropagation = stopPropagation;
115
156
 
157
+ /**
158
+ * @deprecated: use {@link tuiWatch} instead
159
+ */
160
+ // eslint-disable-next-line @typescript-eslint/naming-convention
116
161
  function watch(changeDetectorRef) {
117
162
  return tap(() => {
118
163
  changeDetectorRef.markForCheck();
119
164
  });
120
165
  }
166
+ const tuiWatch = watch;
121
167
 
122
168
  function tuiZonefull(ngZone) {
123
169
  return source => new Observable(subscriber => source.subscribe({
@@ -137,5 +183,5 @@ function tuiZoneOptimized(ngZone) {
137
183
  * Generated bundle index. Do not edit.
138
184
  */
139
185
 
140
- export { TuiDragStage, TuiDragState, dragAndDropFrom, focusVisibleObservable, itemsQueryListObservable, mouseDragFinishFrom, mustBePresent, pressedObservable, preventDefault, stopPropagation, tuiIsAlive, tuiReplayedValueChangesFrom, tuiZoneOptimized, tuiZonefree, tuiZonefull, typedFromEvent, watch };
186
+ export { TuiDragStage, TuiDragState, dragAndDropFrom, focusVisibleObservable, itemsQueryListObservable, mouseDragFinishFrom, mustBePresent, pressedObservable, preventDefault, stopPropagation, tuiDragAndDropFrom, tuiFocusVisibleObservable, tuiIsAlive, tuiItemsQueryListObservable, tuiMouseDragFinishFrom, tuiMustBePresent, tuiPressedObservable, tuiPreventDefault, tuiReplayedValueChangesFrom, tuiStopPropagation, tuiTypedFromEvent, tuiWatch, tuiZoneOptimized, tuiZonefree, tuiZonefull, typedFromEvent, watch };
141
187
  //# sourceMappingURL=taiga-ui-cdk-observables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<unknown, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: 3.0 name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\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-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\n/**\n * @deprecated: use {@link tuiTypedFromEvent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n\nexport const tuiTypedFromEvent = typedFromEvent;\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * @deprecated: use {@link tuiMouseDragFinishFrom} instead\n * Letting go of the mouse after it was pressed\n * @param target\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n\nexport const tuiMouseDragFinishFrom = mouseDragFinishFrom;\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\n/**\n * @deprecated: use {@link tuiDragAndDropFrom} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n\nexport const tuiDragAndDropFrom = dragAndDropFrom;\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<unknown, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\n/**\n * @deprecated: use {@link tuiFocusVisibleObservable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(\n tuiIsAlive(),\n startWith(false),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n\nexport const tuiFocusVisibleObservable = focusVisibleObservable;\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * @deprecated: use {@link tuiItemsQueryListObservable} instead\n * Converts changes observable of a QueryList to an Observable of arrays\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<readonly T[]> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n\nexport const tuiItemsQueryListObservable = itemsQueryListObservable;\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * @deprecated: use {@link tuiMustBePresent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n\nexport const tuiMustBePresent = mustBePresent;\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\n/**\n * @deprecated: use {@link tuiPressedObservable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n\nexport const tuiPressedObservable = pressedObservable;\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\n/**\n * @deprecated: use {@link tuiPreventDefault} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(event => event.preventDefault());\n}\n\nexport const tuiPreventDefault = preventDefault;\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: 3.0 name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\n/**\n * @deprecated: use {@link tuiStopPropagation} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n\nexport const tuiStopPropagation = stopPropagation;\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\n/**\n * @deprecated: use {@link tuiWatch} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n\nexport const tuiWatch = watch;\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -101,6 +101,7 @@ TuiFocusVisibleService = __decorate([
101
101
  __param(2, Inject(TuiDestroyService))
102
102
  ], TuiFocusVisibleService);
103
103
 
104
+ /** @deprecated TODO remove in v3.0 */
104
105
  // @dynamic
105
106
  let TuiHoveredService = class TuiHoveredService {
106
107
  constructor(documentRef, ngZone) {