@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
@@ -5,12 +5,14 @@
5
5
  }(this, (function (exports, classes) { 'use strict';
6
6
 
7
7
  /**
8
+ * @deprecated: use {@link tuiClamp} instead
8
9
  * Clamps a value between two inclusive limits
9
10
  *
10
11
  * @param value
11
12
  * @param min lower limit
12
13
  * @param max upper limit
13
14
  */
15
+ // eslint-disable-next-line @typescript-eslint/naming-convention
14
16
  function clamp(value, min, max) {
15
17
  classes.tuiAssert.assert(!isNaN(value));
16
18
  classes.tuiAssert.assert(!isNaN(min));
@@ -18,14 +20,17 @@
18
20
  classes.tuiAssert.assert(max >= min);
19
21
  return Math.min(max, Math.max(min, value));
20
22
  }
23
+ var tuiClamp = clamp;
21
24
 
22
25
  /**
26
+ * @deprecated: use {@link tuiInRange} instead
23
27
  * Checks if the value is in range
24
28
  *
25
29
  * @param value
26
30
  * @param fromInclude lower inclusive limit
27
31
  * @param toExclude upper exclusive limit
28
32
  */
33
+ // eslint-disable-next-line @typescript-eslint/naming-convention
29
34
  function inRange(value, fromInclude, toExclude) {
30
35
  classes.tuiAssert.assert(!isNaN(value));
31
36
  classes.tuiAssert.assert(!isNaN(fromInclude));
@@ -33,8 +38,10 @@
33
38
  classes.tuiAssert.assert(fromInclude < toExclude);
34
39
  return value >= fromInclude && value < toExclude;
35
40
  }
41
+ var tuiInRange = inRange;
36
42
 
37
43
  /**
44
+ * @deprecated: use {@link tuiNormalizeToIntNumber} instead
38
45
  * Normalizes any number to an integer within inclusive range
39
46
  *
40
47
  * @param value
@@ -42,6 +49,7 @@
42
49
  * @param max upper inclusive integer
43
50
  * @return an integer between min and max inclusive
44
51
  */
52
+ // eslint-disable-next-line @typescript-eslint/naming-convention
45
53
  function normalizeToIntNumber(value, min, max) {
46
54
  classes.tuiAssert.assert(Number.isInteger(min));
47
55
  classes.tuiAssert.assert(Number.isInteger(max));
@@ -54,13 +62,16 @@
54
62
  }
55
63
  return Math.round(value);
56
64
  }
65
+ var tuiNormalizeToIntNumber = normalizeToIntNumber;
57
66
 
58
67
  /**
68
+ * @deprecated: use {@link tuiQuantize} instead
59
69
  * Rounds a number to the closest value in a fixed discrete series
60
70
  *
61
71
  * @param value
62
72
  * @param quantum series step
63
73
  */
74
+ // eslint-disable-next-line @typescript-eslint/naming-convention
64
75
  function quantize(value, quantum) {
65
76
  classes.tuiAssert.assert(Number.isFinite(value));
66
77
  classes.tuiAssert.assert(Number.isFinite(quantum));
@@ -68,20 +79,36 @@
68
79
  var remainder = value % quantum;
69
80
  return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;
70
81
  }
82
+ var tuiQuantize = quantize;
71
83
 
72
84
  var MAX_PRECISION = 292;
85
+ /**
86
+ * @deprecated: use {@link tuiRound} instead
87
+ */
88
+ // eslint-disable-next-line @typescript-eslint/naming-convention
73
89
  function round(value, precision) {
74
90
  if (precision === void 0) { precision = 0; }
75
91
  return calculate(value, precision, Math.round);
76
92
  }
93
+ /**
94
+ * @deprecated: use {@link tuiCeil} instead
95
+ */
96
+ // eslint-disable-next-line @typescript-eslint/naming-convention
77
97
  function ceil(value, precision) {
78
98
  if (precision === void 0) { precision = 0; }
79
99
  return calculate(value, precision, Math.ceil);
80
100
  }
101
+ /**
102
+ * @deprecated: use {@link tuiFloor} instead
103
+ */
104
+ // eslint-disable-next-line @typescript-eslint/naming-convention
81
105
  function floor(value, precision) {
82
106
  if (precision === void 0) { precision = 0; }
83
107
  return calculate(value, precision, Math.floor);
84
108
  }
109
+ var tuiRound = round;
110
+ var tuiCeil = ceil;
111
+ var tuiFloor = floor;
85
112
  /**
86
113
  * Rounding number to the set precision
87
114
  *
@@ -103,8 +130,10 @@
103
130
  }
104
131
 
105
132
  /**
133
+ * @deprecated: use {@link tuiSum} instead
106
134
  * Calculates sum of any number of passed arguments
107
135
  */
136
+ // eslint-disable-next-line @typescript-eslint/naming-convention
108
137
  function sum() {
109
138
  var args = [];
110
139
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -112,17 +141,26 @@
112
141
  }
113
142
  return args.reduce(function (a, b) { return a + b; }, 0);
114
143
  }
144
+ var tuiSum = sum;
115
145
 
146
+ /**
147
+ * @deprecated: use {@link tuiToInt} instead
148
+ */
149
+ // eslint-disable-next-line @typescript-eslint/naming-convention
116
150
  function toInt(bool) {
117
151
  return bool ? 1 : 0;
118
152
  }
153
+ var tuiToInt = toInt;
119
154
 
120
155
  /**
156
+ * @deprecated: use {@link tuiToRadians} instead
121
157
  * Converts angle in degrees to radians
122
158
  */
159
+ // eslint-disable-next-line @typescript-eslint/naming-convention
123
160
  function toRadians(deg) {
124
161
  return (deg * Math.PI) / 180;
125
162
  }
163
+ var tuiToRadians = toRadians;
126
164
 
127
165
  exports.ceil = ceil;
128
166
  exports.clamp = clamp;
@@ -134,6 +172,16 @@
134
172
  exports.sum = sum;
135
173
  exports.toInt = toInt;
136
174
  exports.toRadians = toRadians;
175
+ exports.tuiCeil = tuiCeil;
176
+ exports.tuiClamp = tuiClamp;
177
+ exports.tuiFloor = tuiFloor;
178
+ exports.tuiInRange = tuiInRange;
179
+ exports.tuiNormalizeToIntNumber = tuiNormalizeToIntNumber;
180
+ exports.tuiQuantize = tuiQuantize;
181
+ exports.tuiRound = tuiRound;
182
+ exports.tuiSum = tuiSum;
183
+ exports.tuiToInt = tuiToInt;
184
+ exports.tuiToRadians = tuiToRadians;
137
185
 
138
186
  Object.defineProperty(exports, '__esModule', { value: true });
139
187
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-math.umd.js","sources":["ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), 'Value must be number');\n tuiAssert.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split('e');\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function sum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function toInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function toRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n"],"names":["tuiAssert"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-math.umd.js","sources":["ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiClamp} instead\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n\nexport const tuiClamp = clamp;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiInRange} instead\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n\nexport const tuiInRange = inRange;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiNormalizeToIntNumber} instead\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n\nexport const tuiNormalizeToIntNumber = normalizeToIntNumber;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiQuantize} instead\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n\nexport const tuiQuantize = quantize;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\n/**\n * @deprecated: use {@link tuiRound} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\n/**\n * @deprecated: use {@link tuiCeil} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\n/**\n * @deprecated: use {@link tuiFloor} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport const tuiRound = round;\nexport const tuiCeil = ceil;\nexport const tuiFloor = floor;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), 'Value must be number');\n tuiAssert.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split('e');\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * @deprecated: use {@link tuiSum} instead\n * Calculates sum of any number of passed arguments\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n\nexport const tuiSum = sum;\n","/**\n * @deprecated: use {@link tuiToInt} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n\nexport const tuiToInt = toInt;\n","/**\n * @deprecated: use {@link tuiToRadians} instead\n * Converts angle in degrees to radians\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n\nexport const tuiToRadians = toRadians;\n"],"names":["tuiAssert"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@taiga-ui/cdk/classes")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/math",["exports","@taiga-ui/cdk/classes"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].cdk=t["taiga-ui"].cdk||{},t["taiga-ui"].cdk.utils=t["taiga-ui"].cdk.utils||{},t["taiga-ui"].cdk.utils.math={}),t["taiga-ui"].cdk.classes)}(this,(function(t,e){"use strict";function s(t,s,i){if(t===1/0)return t;e.tuiAssert.assert(!isNaN(t),"Value must be number"),e.tuiAssert.assert(Number.isInteger(s),"Precision must be integer"),s=Math.min(s,292);var r=(t+"e").split("e"),u=(i(Number(r[0]+"e"+(Number(r[1])+s)))+"e").split("e");return Number(u[0]+"e"+(Number(u[1])-s))}t.ceil=function(t,e){return void 0===e&&(e=0),s(t,e,Math.ceil)},t.clamp=function(t,s,i){return e.tuiAssert.assert(!isNaN(t)),e.tuiAssert.assert(!isNaN(s)),e.tuiAssert.assert(!isNaN(i)),e.tuiAssert.assert(i>=s),Math.min(i,Math.max(s,t))},t.floor=function(t,e){return void 0===e&&(e=0),s(t,e,Math.floor)},t.inRange=function(t,s,i){return e.tuiAssert.assert(!isNaN(t)),e.tuiAssert.assert(!isNaN(s)),e.tuiAssert.assert(!isNaN(i)),e.tuiAssert.assert(s<i),t>=s&&t<i},t.normalizeToIntNumber=function(t,s,i){return e.tuiAssert.assert(Number.isInteger(s)),e.tuiAssert.assert(Number.isInteger(i)),e.tuiAssert.assert(s<=i),isNaN(t)||t<=s?s:t>=i?i:Math.round(t)},t.quantize=function(t,s){e.tuiAssert.assert(Number.isFinite(t)),e.tuiAssert.assert(Number.isFinite(s)),e.tuiAssert.assert(s>0);var i=t%s;return i<s/2?t-i:t+s-i},t.round=function(t,e){return void 0===e&&(e=0),s(t,e,Math.round)},t.sum=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce((function(t,e){return t+e}),0)},t.toInt=function(t){return t?1:0},t.toRadians=function(t){return t*Math.PI/180},Object.defineProperty(t,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@taiga-ui/cdk/classes")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/math",["exports","@taiga-ui/cdk/classes"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].cdk=t["taiga-ui"].cdk||{},t["taiga-ui"].cdk.utils=t["taiga-ui"].cdk.utils||{},t["taiga-ui"].cdk.utils.math={}),t["taiga-ui"].cdk.classes)}(this,(function(t,e){"use strict";function i(t,i,s){return e.tuiAssert.assert(!isNaN(t)),e.tuiAssert.assert(!isNaN(i)),e.tuiAssert.assert(!isNaN(s)),e.tuiAssert.assert(s>=i),Math.min(s,Math.max(i,t))}var s=i;function r(t,i,s){return e.tuiAssert.assert(!isNaN(t)),e.tuiAssert.assert(!isNaN(i)),e.tuiAssert.assert(!isNaN(s)),e.tuiAssert.assert(i<s),t>=i&&t<s}var u=r;function a(t,i,s){return e.tuiAssert.assert(Number.isInteger(i)),e.tuiAssert.assert(Number.isInteger(s)),e.tuiAssert.assert(i<=s),isNaN(t)||t<=i?i:t>=s?s:Math.round(t)}var n=a;function o(t,i){e.tuiAssert.assert(Number.isFinite(t)),e.tuiAssert.assert(Number.isFinite(i)),e.tuiAssert.assert(i>0);var s=t%i;return s<i/2?t-s:t+i-s}var c=o;function d(t,e){return void 0===e&&(e=0),b(t,e,Math.round)}function f(t,e){return void 0===e&&(e=0),b(t,e,Math.ceil)}function N(t,e){return void 0===e&&(e=0),b(t,e,Math.floor)}var m=d,l=f,g=N;function b(t,i,s){if(t===1/0)return t;e.tuiAssert.assert(!isNaN(t),"Value must be number"),e.tuiAssert.assert(Number.isInteger(i),"Precision must be integer"),i=Math.min(i,292);var r=(t+"e").split("e"),u=(s(Number(r[0]+"e"+(Number(r[1])+i)))+"e").split("e");return Number(u[0]+"e"+(Number(u[1])-i))}function A(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return t.reduce((function(t,e){return t+e}),0)}var v=A;function h(t){return t?1:0}var p=h;function k(t){return t*Math.PI/180}var I=k;t.ceil=f,t.clamp=i,t.floor=N,t.inRange=r,t.normalizeToIntNumber=a,t.quantize=o,t.round=d,t.sum=A,t.toInt=h,t.toRadians=k,t.tuiCeil=l,t.tuiClamp=s,t.tuiFloor=g,t.tuiInRange=u,t.tuiNormalizeToIntNumber=n,t.tuiQuantize=c,t.tuiRound=m,t.tuiSum=v,t.tuiToInt=p,t.tuiToRadians=I,Object.defineProperty(t,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-cdk-utils-math.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts"],"names":["calculate","value","precision","func","Infinity","tuiAssert","assert","isNaN","Number","isInteger","Math","min","pair","split","processedPair","ceil","max","floor","fromInclude","toExclude","round","quantum","isFinite","remainder","args","_i","arguments","length","reduce","a","b","bool","deg","PI"],"mappings":"scAuBA,SAASA,EACLC,EACAC,EACAC,GAEA,GAAIF,IAAUG,EAAAA,EACV,OAAOH,EAGXI,EAAAA,UAAUC,QAAQC,MAAMN,GAAQ,wBAChCI,EAAAA,UAAUC,OAAOE,OAAOC,UAAUP,GAAY,6BAE9CA,EAAYQ,KAAKC,IAAIT,EAjCH,KAmClB,IAAMU,GAAUX,EAAK,KAAIY,MAAM,KAEzBC,GADYX,EAAKK,OAAUI,EAAK,GAAE,KAAIJ,OAAOI,EAAK,IAAMV,KAC5B,KAAIW,MAAM,KAE5C,OAAOL,OAAUM,EAAc,GAAE,KAAIN,OAAOM,EAAc,IAAMZ,oBAjC/CD,EAAeC,GAChC,YADgC,IAAAA,IAAAA,EAAA,GACzBF,EAAUC,EAAOC,EAAWQ,KAAKK,wBCAtBd,EAAeU,EAAaK,GAM9C,OALAX,EAAAA,UAAUC,QAAQC,MAAMN,IACxBI,EAAAA,UAAUC,QAAQC,MAAMI,IACxBN,EAAAA,UAAUC,QAAQC,MAAMS,IACxBX,EAAAA,UAAUC,OAAOU,GAAOL,GAEjBD,KAAKC,IAAIK,EAAKN,KAAKM,IAAIL,EAAKV,sBDHjBA,EAAeC,GACjC,YADiC,IAAAA,IAAAA,EAAA,GAC1BF,EAAUC,EAAOC,EAAWQ,KAAKO,2BEJpBhB,EAAeiB,EAAqBC,GAMxD,OALAd,EAAAA,UAAUC,QAAQC,MAAMN,IACxBI,EAAAA,UAAUC,QAAQC,MAAMW,IACxBb,EAAAA,UAAUC,QAAQC,MAAMY,IACxBd,EAAAA,UAAUC,OAAOY,EAAcC,GAExBlB,GAASiB,GAAejB,EAAQkB,mCCLNlB,EAAeU,EAAaK,GAK7D,OAJAX,EAAAA,UAAUC,OAAOE,OAAOC,UAAUE,IAClCN,EAAAA,UAAUC,OAAOE,OAAOC,UAAUO,IAClCX,EAAAA,UAAUC,OAAOK,GAAOK,GAEpBT,MAAMN,IAAUA,GAASU,EAClBA,EAGPV,GAASe,EACFA,EAGJN,KAAKU,MAAMnB,wBCfGA,EAAeoB,GACpChB,EAAAA,UAAUC,OAAOE,OAAOc,SAASrB,IACjCI,EAAAA,UAAUC,OAAOE,OAAOc,SAASD,IACjChB,EAAAA,UAAUC,OAAOe,EAAU,GAE3B,IAAME,EAAYtB,EAAQoB,EAE1B,OAAOE,EAAYF,EAAU,EAAIpB,EAAQsB,EAAYtB,EAAQoB,EAAUE,oBJXrDtB,EAAeC,GACjC,YADiC,IAAAA,IAAAA,EAAA,GAC1BF,EAAUC,EAAOC,EAAWQ,KAAKU,6BKFxB,IAAAI,EAAA,GAAAC,EAAA,EAAAA,EAAAC,UAAAC,OAAAF,IAAAD,EAAAC,GAAAC,UAAAD,GAChB,OAAOD,EAAKI,QAAO,SAACC,EAAGC,GAAM,OAAAD,EAAIC,IAAG,qBCJlBC,GAClB,OAAOA,EAAO,EAAI,wBCEIC,GACtB,OAAQA,EAAMtB,KAAKuB,GAAM","sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), 'Value must be number');\n tuiAssert.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split('e');\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function sum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function toInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function toRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/cdk/utils/math/clamp.ts","ng://@taiga-ui/cdk/utils/math/in-range.ts","ng://@taiga-ui/cdk/utils/math/normalize-to-int-number.ts","ng://@taiga-ui/cdk/utils/math/quantize.ts","ng://@taiga-ui/cdk/utils/math/round.ts","ng://@taiga-ui/cdk/utils/math/sum.ts","ng://@taiga-ui/cdk/utils/math/to-int.ts","ng://@taiga-ui/cdk/utils/math/to-radians.ts"],"names":["clamp","value","min","max","tuiAssert","assert","isNaN","Math","tuiClamp","inRange","fromInclude","toExclude","tuiInRange","normalizeToIntNumber","Number","isInteger","round","tuiNormalizeToIntNumber","quantize","quantum","isFinite","remainder","tuiQuantize","precision","calculate","ceil","floor","tuiRound","tuiCeil","tuiFloor","func","Infinity","pair","split","processedPair","sum","args","_i","arguments","length","reduce","a","b","tuiSum","toInt","bool","tuiToInt","toRadians","deg","PI","tuiToRadians"],"mappings":"+cAWgBA,EAAMC,EAAeC,EAAaC,GAM9C,OALAC,EAAAA,UAAUC,QAAQC,MAAML,IACxBG,EAAAA,UAAUC,QAAQC,MAAMJ,IACxBE,EAAAA,UAAUC,QAAQC,MAAMH,IACxBC,EAAAA,UAAUC,OAAOF,GAAOD,GAEjBK,KAAKL,IAAIC,EAAKI,KAAKJ,IAAID,EAAKD,QAG1BO,EAAWR,WCTRS,EAAQR,EAAeS,EAAqBC,GAMxD,OALAP,EAAAA,UAAUC,QAAQC,MAAML,IACxBG,EAAAA,UAAUC,QAAQC,MAAMI,IACxBN,EAAAA,UAAUC,QAAQC,MAAMK,IACxBP,EAAAA,UAAUC,OAAOK,EAAcC,GAExBV,GAASS,GAAeT,EAAQU,MAG9BC,EAAaH,WCRVI,EAAqBZ,EAAeC,EAAaC,GAK7D,OAJAC,EAAAA,UAAUC,OAAOS,OAAOC,UAAUb,IAClCE,EAAAA,UAAUC,OAAOS,OAAOC,UAAUZ,IAClCC,EAAAA,UAAUC,OAAOH,GAAOC,GAEpBG,MAAML,IAAUA,GAASC,EAClBA,EAGPD,GAASE,EACFA,EAGJI,KAAKS,MAAMf,OAGTgB,EAA0BJ,WClBvBK,EAASjB,EAAekB,GACpCf,EAAAA,UAAUC,OAAOS,OAAOM,SAASnB,IACjCG,EAAAA,UAAUC,OAAOS,OAAOM,SAASD,IACjCf,EAAAA,UAAUC,OAAOc,EAAU,GAE3B,IAAME,EAAYpB,EAAQkB,EAE1B,OAAOE,EAAYF,EAAU,EAAIlB,EAAQoB,EAAYpB,EAAQkB,EAAUE,MAG9DC,EAAcJ,WCZXF,EAAMf,EAAesB,GACjC,YADiC,IAAAA,IAAAA,EAAA,GAC1BC,EAAUvB,EAAOsB,EAAWhB,KAAKS,gBAO5BS,EAAKxB,EAAesB,GAChC,YADgC,IAAAA,IAAAA,EAAA,GACzBC,EAAUvB,EAAOsB,EAAWhB,KAAKkB,eAO5BC,EAAMzB,EAAesB,GACjC,YADiC,IAAAA,IAAAA,EAAA,GAC1BC,EAAUvB,EAAOsB,EAAWhB,KAAKmB,WAG/BC,EAAWX,EACXY,EAAUH,EACVI,EAAWH,EASxB,SAASF,EACLvB,EACAsB,EACAO,GAEA,GAAI7B,IAAU8B,EAAAA,EACV,OAAO9B,EAGXG,EAAAA,UAAUC,QAAQC,MAAML,GAAQ,wBAChCG,EAAAA,UAAUC,OAAOS,OAAOC,UAAUQ,GAAY,6BAE9CA,EAAYhB,KAAKL,IAAIqB,EAjDH,KAmDlB,IAAMS,GAAU/B,EAAK,KAAIgC,MAAM,KAEzBC,GADYJ,EAAKhB,OAAUkB,EAAK,GAAE,KAAIlB,OAAOkB,EAAK,IAAMT,KAC5B,KAAIU,MAAM,KAE5C,OAAOnB,OAAUoB,EAAc,GAAE,KAAIpB,OAAOoB,EAAc,IAAMX,aCpDpDY,QAAI,IAAAC,EAAA,GAAAC,EAAA,EAAAA,EAAAC,UAAAC,OAAAF,IAAAD,EAAAC,GAAAC,UAAAD,GAChB,OAAOD,EAAKI,QAAO,SAACC,EAAGC,GAAM,OAAAD,EAAIC,IAAG,OAG3BC,EAASR,WCLNS,EAAMC,GAClB,OAAOA,EAAO,EAAI,MAGTC,EAAWF,WCHRG,EAAUC,GACtB,OAAQA,EAAMzC,KAAK0C,GAAM,QAGhBC,EAAeH","sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiClamp} instead\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function clamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n\nexport const tuiClamp = clamp;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiInRange} instead\n * Checks if the value is in range\n *\n * @param value\n * @param fromInclude lower inclusive limit\n * @param toExclude upper exclusive limit\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function inRange(value: number, fromInclude: number, toExclude: number): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n\nexport const tuiInRange = inRange;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiNormalizeToIntNumber} instead\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function normalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n\nexport const tuiNormalizeToIntNumber = normalizeToIntNumber;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiQuantize} instead\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function quantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n\nexport const tuiQuantize = quantize;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\n/**\n * @deprecated: use {@link tuiRound} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function round(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\n/**\n * @deprecated: use {@link tuiCeil} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function ceil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\n/**\n * @deprecated: use {@link tuiFloor} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function floor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport const tuiRound = round;\nexport const tuiCeil = ceil;\nexport const tuiFloor = floor;\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), 'Value must be number');\n tuiAssert.assert(Number.isInteger(precision), 'Precision must be integer');\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split('e');\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split('e');\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * @deprecated: use {@link tuiSum} instead\n * Calculates sum of any number of passed arguments\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function sum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n\nexport const tuiSum = sum;\n","/**\n * @deprecated: use {@link tuiToInt} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n\nexport const tuiToInt = toInt;\n","/**\n * @deprecated: use {@link tuiToRadians} instead\n * Converts angle in degrees to radians\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function toRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n\nexport const tuiToRadians = toRadians;\n"]}
@@ -4,45 +4,66 @@
4
4
  (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].cdk = global['taiga-ui'].cdk || {}, global['taiga-ui'].cdk.utils = global['taiga-ui'].cdk.utils || {}, global['taiga-ui'].cdk.utils.miscellaneous = {}), global['taiga-ui'].cdk.classes, global.ng.forms));
5
5
  }(this, (function (exports, classes, forms) { 'use strict';
6
6
 
7
+ /**
8
+ * @deprecated: use {@link tuiDistanceBetweenTouches} instead
9
+ */
10
+ // eslint-disable-next-line @typescript-eslint/naming-convention
7
11
  function distanceBetweenTouches(_a) {
8
12
  var touches = _a.touches;
9
13
  return Math.hypot(touches[0].clientX - touches[1].clientX, touches[0].clientY - touches[1].clientY);
10
14
  }
15
+ var tuiDistanceBetweenTouches = distanceBetweenTouches;
11
16
 
17
+ /**
18
+ * @deprecated: use {@link tuiEaseInOutQuad} instead
19
+ */
20
+ // eslint-disable-next-line @typescript-eslint/naming-convention
12
21
  function easeInOutQuad(t) {
13
22
  classes.tuiAssert.assert(0 <= t && t <= 1, 'Input must be between 0 and 1 inclusive but received ', t);
14
23
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
15
24
  }
25
+ var tuiEaseInOutQuad = easeInOutQuad;
16
26
 
27
+ /**
28
+ * @deprecated: use {@link tuiIsPresent} instead
29
+ */
30
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17
31
  function isPresent(value) {
18
32
  return value !== null && value !== undefined;
19
33
  }
34
+ var tuiIsPresent = isPresent;
20
35
 
21
36
  /**
37
+ * @deprecated use nullish coalescing operator
22
38
  * If the value is null or undefined, returns default value
23
39
  * @param value
24
40
  * @param fallback alternative fallback
25
- * @deprecated use nullish coalescing operator
26
41
  */
42
+ // eslint-disable-next-line @typescript-eslint/naming-convention
27
43
  function fallbackValue(value, fallback) {
28
44
  return isPresent(value) ? value : fallback;
29
45
  }
30
46
 
31
47
  /**
32
- * Flattens two dimensional array and calculates resulting length
48
+ * @deprecated: use {@link tuiFlatLength} instead
49
+ * Flattens two-dimensional array and calculates resulting length
33
50
  *
34
51
  * @param array twi dimensional array
35
52
  */
53
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
54
  function flatLength(array) {
37
55
  return array.reduce(function (count, section) { return count + section.length; }, 0);
38
56
  }
57
+ var tuiFlatLength = flatLength;
39
58
 
40
59
  /**
60
+ * @deprecated: use {@link tuiGetOriginalArrayFromQueryList} instead
41
61
  * Extracts original array from {@link QueryList} rather than
42
62
  * creating a copy like {@link QueryList.toArray} does.
43
63
  * @param queryList
44
64
  * @returns original array from {@link QueryList}.
45
65
  */
66
+ // eslint-disable-next-line @typescript-eslint/naming-convention
46
67
  function getOriginalArrayFromQueryList(queryList) {
47
68
  var array = [];
48
69
  queryList.find(function (_item, _index, originalArray) {
@@ -51,7 +72,12 @@
51
72
  });
52
73
  return array;
53
74
  }
75
+ var tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;
54
76
 
77
+ /**
78
+ * @deprecated: use {@link tuiGetSwipeDirection} instead
79
+ */
80
+ // eslint-disable-next-line @typescript-eslint/naming-convention
55
81
  function getSwipeDirection(deltaX, deltaY) {
56
82
  if (Math.abs(deltaY) > Math.abs(deltaX)) {
57
83
  return deltaY > 0 ? 'top' : 'bottom';
@@ -60,25 +86,41 @@
60
86
  return deltaX > 0 ? 'left' : 'right';
61
87
  }
62
88
  }
89
+ var tuiGetSwipeDirection = getSwipeDirection;
63
90
 
64
91
  /**
65
92
  * @deprecated: use identity from rxjs
66
93
  */
94
+ // eslint-disable-next-line @typescript-eslint/naming-convention
67
95
  function identity(item) {
68
96
  return item;
69
97
  }
70
98
 
99
+ /**
100
+ * @deprecated: use {@link tuiIsElementEditable} instead
101
+ */
102
+ // eslint-disable-next-line @typescript-eslint/naming-convention
71
103
  function isElementEditable(element) {
72
104
  // TODO: iframe warning
73
105
  return ((element instanceof HTMLInputElement && !element.readOnly) ||
74
106
  (element instanceof HTMLTextAreaElement && !element.readOnly) ||
75
107
  element.isContentEditable);
76
108
  }
109
+ var tuiIsElementEditable = isElementEditable;
77
110
 
111
+ /**
112
+ * @deprecated: use {@link tuiIsNumber} instead
113
+ */
114
+ // eslint-disable-next-line @typescript-eslint/naming-convention
78
115
  function isNumber(value) {
79
116
  return typeof value === 'number';
80
117
  }
118
+ var tuiIsNumber = isNumber;
81
119
 
120
+ /**
121
+ * @deprecated: use {@link tuiMarkControlAsTouchedAndValidate} instead
122
+ */
123
+ // eslint-disable-next-line @typescript-eslint/naming-convention
82
124
  function markControlAsTouchedAndValidate(control) {
83
125
  if (control instanceof forms.FormArray) {
84
126
  control.controls.forEach(function (nestedControl) {
@@ -93,8 +135,10 @@
93
135
  control.markAsTouched();
94
136
  control.updateValueAndValidity();
95
137
  }
138
+ var tuiMarkControlAsTouchedAndValidate = markControlAsTouchedAndValidate;
96
139
 
97
140
  /**
141
+ * @deprecated: use {@link tuiNullableSame} instead
98
142
  * Checks identity for nullable elements.
99
143
  *
100
144
  * @param a element a
@@ -102,6 +146,7 @@
102
146
  * @param handler called if both elements are not null
103
147
  * @return true if either both are null or they pass identity handler
104
148
  */
149
+ // eslint-disable-next-line @typescript-eslint/naming-convention
105
150
  function nullableSame(a, b, handler) {
106
151
  if (a === null) {
107
152
  return b === null;
@@ -111,12 +156,18 @@
111
156
  }
112
157
  return handler(a, b);
113
158
  }
159
+ var tuiNullableSame = nullableSame;
114
160
 
161
+ /**
162
+ * @deprecated: use {@link tuiUniqBy} instead
163
+ */
164
+ // eslint-disable-next-line @typescript-eslint/naming-convention
115
165
  function uniqBy(array, key) {
116
166
  return Array.from(array
117
167
  .reduce(function (map, item) { return (map.has(item[key]) ? map : map.set(item[key], item)); }, new Map())
118
168
  .values());
119
169
  }
170
+ var tuiUniqBy = uniqBy;
120
171
 
121
172
  exports.distanceBetweenTouches = distanceBetweenTouches;
122
173
  exports.easeInOutQuad = easeInOutQuad;
@@ -130,6 +181,17 @@
130
181
  exports.isPresent = isPresent;
131
182
  exports.markControlAsTouchedAndValidate = markControlAsTouchedAndValidate;
132
183
  exports.nullableSame = nullableSame;
184
+ exports.tuiDistanceBetweenTouches = tuiDistanceBetweenTouches;
185
+ exports.tuiEaseInOutQuad = tuiEaseInOutQuad;
186
+ exports.tuiFlatLength = tuiFlatLength;
187
+ exports.tuiGetOriginalArrayFromQueryList = tuiGetOriginalArrayFromQueryList;
188
+ exports.tuiGetSwipeDirection = tuiGetSwipeDirection;
189
+ exports.tuiIsElementEditable = tuiIsElementEditable;
190
+ exports.tuiIsNumber = tuiIsNumber;
191
+ exports.tuiIsPresent = tuiIsPresent;
192
+ exports.tuiMarkControlAsTouchedAndValidate = tuiMarkControlAsTouchedAndValidate;
193
+ exports.tuiNullableSame = tuiNullableSame;
194
+ exports.tuiUniqBy = tuiUniqBy;
133
195
  exports.uniqBy = uniqBy;
134
196
 
135
197
  Object.defineProperty(exports, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.umd.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"sourcesContent":["export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","/**\n * @deprecated: use identity from rxjs\n */\nexport function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"],"names":["tuiAssert","FormArray","FormGroup"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.umd.js","sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiDistanceBetweenTouches} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n\nexport const tuiDistanceBetweenTouches = distanceBetweenTouches;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiEaseInOutQuad} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n\nexport const tuiEaseInOutQuad = easeInOutQuad;\n","/**\n * @deprecated: use {@link tuiIsPresent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n\nexport const tuiIsPresent = isPresent;\n","import {isPresent} from './is-present';\n\n/**\n * @deprecated use nullish coalescing operator\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * @deprecated: use {@link tuiFlatLength} instead\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n\nexport const tuiFlatLength = flatLength;\n","import {QueryList} from '@angular/core';\n\n/**\n * @deprecated: use {@link tuiGetOriginalArrayFromQueryList} instead\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n\nexport const tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\n/**\n * @deprecated: use {@link tuiGetSwipeDirection} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n\nexport const tuiGetSwipeDirection = getSwipeDirection;\n","/**\n * @deprecated: use identity from rxjs\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function identity<T>(item: T): T {\n return item;\n}\n","/**\n * @deprecated: use {@link tuiIsElementEditable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n\nexport const tuiIsElementEditable = isElementEditable;\n","/**\n * @deprecated: use {@link tuiIsNumber} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport const tuiIsNumber = isNumber;\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\n/**\n * @deprecated: use {@link tuiMarkControlAsTouchedAndValidate} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n\nexport const tuiMarkControlAsTouchedAndValidate = markControlAsTouchedAndValidate;\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: use {@link tuiNullableSame} instead\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n\nexport const tuiNullableSame = nullableSame;\n","/**\n * @deprecated: use {@link tuiUniqBy} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n\nexport const tuiUniqBy = uniqBy;\n"],"names":["tuiAssert","FormArray","FormGroup"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/cdk/classes"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/miscellaneous",["exports","@taiga-ui/cdk/classes","@angular/forms"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].cdk=e["taiga-ui"].cdk||{},e["taiga-ui"].cdk.utils=e["taiga-ui"].cdk.utils||{},e["taiga-ui"].cdk.utils.miscellaneous={}),e["taiga-ui"].cdk.classes,e.ng.forms)}(this,(function(e,t,n){"use strict";function i(e){return null!=e}e.distanceBetweenTouches=function(e){var t=e.touches;return Math.hypot(t[0].clientX-t[1].clientX,t[0].clientY-t[1].clientY)},e.easeInOutQuad=function(e){return t.tuiAssert.assert(0<=e&&e<=1,"Input must be between 0 and 1 inclusive but received ",e),e<.5?2*e*e:(4-2*e)*e-1},e.fallbackValue=function(e,t){return i(e)?e:t},e.flatLength=function(e){return e.reduce((function(e,t){return e+t.length}),0)},e.getOriginalArrayFromQueryList=function(e){var t=[];return e.find((function(e,n,i){return t=i,!0})),t},e.getSwipeDirection=function(e,t){return Math.abs(t)>Math.abs(e)?t>0?"top":"bottom":e>0?"left":"right"},e.identity=function(e){return e},e.isElementEditable=function(e){return e instanceof HTMLInputElement&&!e.readOnly||e instanceof HTMLTextAreaElement&&!e.readOnly||e.isContentEditable},e.isNumber=function(e){return"number"==typeof e},e.isPresent=i,e.markControlAsTouchedAndValidate=function e(t){t instanceof n.FormArray&&t.controls.forEach((function(t){e(t)})),t instanceof n.FormGroup&&Object.values(t.controls).forEach((function(t){e(t)})),t.markAsTouched(),t.updateValueAndValidity()},e.nullableSame=function(e,t,n){return null===e?null===t:null!==t&&n(e,t)},e.uniqBy=function(e,t){return Array.from(e.reduce((function(e,n){return e.has(n[t])?e:e.set(n[t],n)}),new Map).values())},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@taiga-ui/cdk/classes"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/miscellaneous",["exports","@taiga-ui/cdk/classes","@angular/forms"],e):e(((t=t||self)["taiga-ui"]=t["taiga-ui"]||{},t["taiga-ui"].cdk=t["taiga-ui"].cdk||{},t["taiga-ui"].cdk.utils=t["taiga-ui"].cdk.utils||{},t["taiga-ui"].cdk.utils.miscellaneous={}),t["taiga-ui"].cdk.classes,t.ng.forms)}(this,(function(t,e,n){"use strict";function i(t){var e=t.touches;return Math.hypot(e[0].clientX-e[1].clientX,e[0].clientY-e[1].clientY)}var u=i;function r(t){return e.tuiAssert.assert(0<=t&&t<=1,"Input must be between 0 and 1 inclusive but received ",t),t<.5?2*t*t:(4-2*t)*t-1}var a=r;function o(t){return null!=t}var s=o;function c(t){return t.reduce((function(t,e){return t+e.length}),0)}var l=c;function f(t){var e=[];return t.find((function(t,n,i){return e=i,!0})),e}var d=f;function m(t,e){return Math.abs(e)>Math.abs(t)?e>0?"top":"bottom":t>0?"left":"right"}var g=m;function b(t){return t instanceof HTMLInputElement&&!t.readOnly||t instanceof HTMLTextAreaElement&&!t.readOnly||t.isContentEditable}var h=b;function v(t){return"number"==typeof t}var y=v;function p(t){t instanceof n.FormArray&&t.controls.forEach((function(t){p(t)})),t instanceof n.FormGroup&&Object.values(t.controls).forEach((function(t){p(t)})),t.markAsTouched(),t.updateValueAndValidity()}var k=p;function A(t,e,n){return null===t?null===e:null!==e&&n(t,e)}var E=A;function M(t,e){return Array.from(t.reduce((function(t,n){return t.has(n[e])?t:t.set(n[e],n)}),new Map).values())}var O=M;t.distanceBetweenTouches=i,t.easeInOutQuad=r,t.fallbackValue=function(t,e){return o(t)?t:e},t.flatLength=c,t.getOriginalArrayFromQueryList=f,t.getSwipeDirection=m,t.identity=function(t){return t},t.isElementEditable=b,t.isNumber=v,t.isPresent=o,t.markControlAsTouchedAndValidate=p,t.nullableSame=A,t.tuiDistanceBetweenTouches=u,t.tuiEaseInOutQuad=a,t.tuiFlatLength=l,t.tuiGetOriginalArrayFromQueryList=d,t.tuiGetSwipeDirection=g,t.tuiIsElementEditable=h,t.tuiIsNumber=y,t.tuiIsPresent=s,t.tuiMarkControlAsTouchedAndValidate=k,t.tuiNullableSame=E,t.tuiUniqBy=O,t.uniqBy=M,Object.defineProperty(t,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts"],"names":["isPresent","value","_a","touches","Math","hypot","clientX","clientY","t","tuiAssert","assert","fallback","array","reduce","count","section","length","queryList","find","_item","_index","originalArray","deltaX","deltaY","abs","item","element","HTMLInputElement","readOnly","HTMLTextAreaElement","isContentEditable","markControlAsTouchedAndValidate","control","FormArray","controls","forEach","nestedControl","FormGroup","Object","values","markAsTouched","updateValueAndValidity","a","b","handler","key","Array","from","map","has","set","Map"],"mappings":"yhBAAgBA,EAAaC,GACzB,OAAOA,MAAAA,oCCD4BC,OAACC,EAAAD,EAAAC,QACpC,OAAOC,KAAKC,MACRF,EAAQ,GAAGG,QAAUH,EAAQ,GAAGG,QAChCH,EAAQ,GAAGI,QAAUJ,EAAQ,GAAGI,mCCDVC,GAO1B,OANAC,EAAAA,UAAUC,OACN,GAAKF,GAAKA,GAAK,EACf,wDACAA,GAGGA,EAAI,GAAM,EAAIA,EAAIA,GAAU,EAAI,EAAIA,GAAKA,EAAlB,4BCDDP,EAA6BU,GAC1D,OAAOX,EAAUC,GAASA,EAAQU,yBCJXC,GACvB,OAAOA,EAAMC,QAAO,SAACC,EAAOC,GAAY,OAAAD,EAAQC,EAAQC,SAAQ,6CCEnBC,GAC7C,IAAIL,EAAsB,GAQ1B,OANAK,EAAUC,MAAK,SAACC,EAAOC,EAAQC,GAG3B,OAFAT,EAAQS,GAED,KAGJT,gCCfuBU,EAAgBC,GAC9C,OAAInB,KAAKoB,IAAID,GAAUnB,KAAKoB,IAAIF,GACrBC,EAAS,EAAI,MAAQ,SAErBD,EAAS,EAAI,OAAS,6BCHTG,GACxB,OAAOA,gCCJuBC,GAE9B,OACKA,aAAmBC,mBAAqBD,EAAQE,UAChDF,aAAmBG,sBAAwBH,EAAQE,UACpDF,EAAQI,uCCLS7B,GACrB,MAAwB,iBAAVA,4DCCF8B,EAAgCC,GACxCA,aAAmBC,EAAAA,WACnBD,EAAQE,SAASC,SAAQ,SAAAC,GACrBL,EAAgCK,MAIpCJ,aAAmBK,EAAAA,WACnBC,OAAOC,OAAOP,EAAQE,UAAUC,SAAQ,SAAAC,GACpCL,EAAgCK,MAIxCJ,EAAQQ,gBACRR,EAAQS,kDCLRC,EACAC,EACAC,GAEA,OAAU,OAANF,EACa,OAANC,EAGD,OAANA,GAIGC,EAAQF,EAAGC,sBCtBlB/B,EACAiC,GAEA,OAAOC,MAAMC,KACTnC,EACKC,QACG,SAACmC,EAAKvB,GAAS,OAACuB,EAAIC,IAAIxB,EAAKoB,IAAQG,EAAMA,EAAIE,IAAIzB,EAAKoB,GAAMpB,KAC9D,IAAI0B,KAEPZ","sourcesContent":["export function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","export function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","import {isPresent} from './is-present';\n\n/**\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n * @deprecated use nullish coalescing operator\n */\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * Flattens two dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n","/**\n * @deprecated: use identity from rxjs\n */\nexport function identity<T>(item: T): T {\n return item;\n}\n","export function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n","export function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/cdk/utils/miscellaneous/distance-between-touches.ts","ng://@taiga-ui/cdk/utils/miscellaneous/ease-in-out-quad.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-present.ts","ng://@taiga-ui/cdk/utils/miscellaneous/flat-length.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","ng://@taiga-ui/cdk/utils/miscellaneous/get-swipe-direction.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-element-editable.ts","ng://@taiga-ui/cdk/utils/miscellaneous/is-number.ts","ng://@taiga-ui/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","ng://@taiga-ui/cdk/utils/miscellaneous/nullable-same.ts","ng://@taiga-ui/cdk/utils/miscellaneous/uniq-by.ts","ng://@taiga-ui/cdk/utils/miscellaneous/fallback-value.ts","ng://@taiga-ui/cdk/utils/miscellaneous/identity.ts"],"names":["distanceBetweenTouches","_a","touches","Math","hypot","clientX","clientY","tuiDistanceBetweenTouches","easeInOutQuad","t","tuiAssert","assert","tuiEaseInOutQuad","isPresent","value","tuiIsPresent","flatLength","array","reduce","count","section","length","tuiFlatLength","getOriginalArrayFromQueryList","queryList","find","_item","_index","originalArray","tuiGetOriginalArrayFromQueryList","getSwipeDirection","deltaX","deltaY","abs","tuiGetSwipeDirection","isElementEditable","element","HTMLInputElement","readOnly","HTMLTextAreaElement","isContentEditable","tuiIsElementEditable","isNumber","tuiIsNumber","markControlAsTouchedAndValidate","control","FormArray","controls","forEach","nestedControl","FormGroup","Object","values","markAsTouched","updateValueAndValidity","tuiMarkControlAsTouchedAndValidate","nullableSame","a","b","handler","tuiNullableSame","uniqBy","key","Array","from","map","item","has","set","Map","tuiUniqBy","fallback"],"mappings":"yhBAIgBA,EAAuBC,OAACC,EAAAD,EAAAC,QACpC,OAAOC,KAAKC,MACRF,EAAQ,GAAGG,QAAUH,EAAQ,GAAGG,QAChCH,EAAQ,GAAGI,QAAUJ,EAAQ,GAAGI,aAI3BC,EAA4BP,WCLzBQ,EAAcC,GAO1B,OANAC,EAAAA,UAAUC,OACN,GAAKF,GAAKA,GAAK,EACf,wDACAA,GAGGA,EAAI,GAAM,EAAIA,EAAIA,GAAU,EAAI,EAAIA,GAAKA,EAAlB,MAGrBG,EAAmBJ,WCZhBK,EAAaC,GACzB,OAAOA,MAAAA,MAGEC,EAAeF,WCDZG,EAAWC,GACvB,OAAOA,EAAMC,QAAO,SAACC,EAAOC,GAAY,OAAAD,EAAQC,EAAQC,SAAQ,OAGvDC,EAAgBN,WCDbO,EAAiCC,GAC7C,IAAIP,EAAsB,GAQ1B,OANAO,EAAUC,MAAK,SAACC,EAAOC,EAAQC,GAG3B,OAFAX,EAAQW,GAED,KAGJX,MAGEY,EAAmCN,WChBhCO,EAAkBC,EAAgBC,GAC9C,OAAI7B,KAAK8B,IAAID,GAAU7B,KAAK8B,IAAIF,GACrBC,EAAS,EAAI,MAAQ,SAErBD,EAAS,EAAI,OAAS,YAIxBG,EAAuBJ,WCVpBK,EAAkBC,GAE9B,OACKA,aAAmBC,mBAAqBD,EAAQE,UAChDF,aAAmBG,sBAAwBH,EAAQE,UACpDF,EAAQI,sBAIHC,EAAuBN,WCTpBO,EAAS5B,GACrB,MAAwB,iBAAVA,MAGL6B,EAAcD,WCFXE,EAAgCC,GACxCA,aAAmBC,EAAAA,WACnBD,EAAQE,SAASC,SAAQ,SAAAC,GACrBL,EAAgCK,MAIpCJ,aAAmBK,EAAAA,WACnBC,OAAOC,OAAOP,EAAQE,UAAUC,SAAQ,SAAAC,GACpCL,EAAgCK,MAIxCJ,EAAQQ,gBACRR,EAAQS,6BAGCC,EAAqCX,WCXlCY,EACZC,EACAC,EACAC,GAEA,OAAU,OAANF,EACa,OAANC,EAGD,OAANA,GAIGC,EAAQF,EAAGC,OAGTE,EAAkBJ,WCxBfK,EACZ5C,EACA6C,GAEA,OAAOC,MAAMC,KACT/C,EACKC,QACG,SAAC+C,EAAKC,GAAS,OAACD,EAAIE,IAAID,EAAKJ,IAAQG,EAAMA,EAAIG,IAAIF,EAAKJ,GAAMI,KAC9D,IAAIG,KAEPjB,cAIAkB,EAAYT,wECTQ/C,EAA6ByD,GAC1D,OAAO1D,EAAUC,GAASA,EAAQyD,8FCNVL,GACxB,OAAOA","sourcesContent":["/**\n * @deprecated: use {@link tuiDistanceBetweenTouches} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function distanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n\nexport const tuiDistanceBetweenTouches = distanceBetweenTouches;\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * @deprecated: use {@link tuiEaseInOutQuad} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function easeInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n\nexport const tuiEaseInOutQuad = easeInOutQuad;\n","/**\n * @deprecated: use {@link tuiIsPresent} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n\nexport const tuiIsPresent = isPresent;\n","/**\n * @deprecated: use {@link tuiFlatLength} instead\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function flatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n\nexport const tuiFlatLength = flatLength;\n","import {QueryList} from '@angular/core';\n\n/**\n * @deprecated: use {@link tuiGetOriginalArrayFromQueryList} instead\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n\nexport const tuiGetOriginalArrayFromQueryList = getOriginalArrayFromQueryList;\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\n/**\n * @deprecated: use {@link tuiGetSwipeDirection} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? 'top' : 'bottom';\n } else {\n return deltaX > 0 ? 'left' : 'right';\n }\n}\n\nexport const tuiGetSwipeDirection = getSwipeDirection;\n","/**\n * @deprecated: use {@link tuiIsElementEditable} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isElementEditable(element: HTMLElement): boolean {\n // TODO: iframe warning\n return (\n (element instanceof HTMLInputElement && !element.readOnly) ||\n (element instanceof HTMLTextAreaElement && !element.readOnly) ||\n element.isContentEditable\n );\n}\n\nexport const tuiIsElementEditable = isElementEditable;\n","/**\n * @deprecated: use {@link tuiIsNumber} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n\nexport const tuiIsNumber = isNumber;\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\n/**\n * @deprecated: use {@link tuiMarkControlAsTouchedAndValidate} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function markControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n markControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n\nexport const tuiMarkControlAsTouchedAndValidate = markControlAsTouchedAndValidate;\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated: use {@link tuiNullableSame} instead\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function nullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n\nexport const tuiNullableSame = nullableSame;\n","/**\n * @deprecated: use {@link tuiUniqBy} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function uniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n\nexport const tuiUniqBy = uniqBy;\n","import {isPresent} from './is-present';\n\n/**\n * @deprecated use nullish coalescing operator\n * If the value is null or undefined, returns default value\n * @param value\n * @param fallback alternative fallback\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function fallbackValue<T>(value: T | null | undefined, fallback: T): T {\n return isPresent(value) ? value : fallback;\n}\n","/**\n * @deprecated: use identity from rxjs\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function identity<T>(item: T): T {\n return item;\n}\n"]}
@@ -5,7 +5,8 @@
5
5
  }(this, (function (exports) { 'use strict';
6
6
 
7
7
  /**
8
- * @note:
8
+ * @deprecated: use {@link tuiIsApplePlatform} instead
9
+ * @description:
9
10
  * All Chrome / Chromium-based browsers will return MacIntel on macOS,
10
11
  * no matter what the hardware architecture is. See the source code here:
11
12
  * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6
@@ -14,24 +15,39 @@
14
15
  * Documentation:
15
16
  * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
16
17
  */
18
+ // eslint-disable-next-line @typescript-eslint/naming-convention
17
19
  function isApplePlatform(navigator) {
18
20
  return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';
19
21
  }
22
+ var tuiIsApplePlatform = isApplePlatform;
20
23
 
21
24
  var IOS_REG_EXP = /ipad|iphone|ipod/;
25
+ /**
26
+ * @deprecated: use {@link tuiIsIos} instead
27
+ */
28
+ // eslint-disable-next-line @typescript-eslint/naming-convention
22
29
  function isIos(navigator) {
23
30
  return (IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||
24
31
  (isApplePlatform(navigator) && navigator.maxTouchPoints > 1));
25
32
  }
33
+ var tuiIsIos = isIos;
26
34
 
27
35
  var SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;
36
+ /**
37
+ * @deprecated: use {@link tuiIsApple} instead
38
+ */
39
+ // eslint-disable-next-line @typescript-eslint/naming-convention
28
40
  function isApple(navigator) {
29
41
  return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());
30
42
  }
43
+ var tuiIsApple = isApple;
31
44
 
32
45
  exports.isApple = isApple;
33
46
  exports.isApplePlatform = isApplePlatform;
34
47
  exports.isIos = isIos;
48
+ exports.tuiIsApple = tuiIsApple;
49
+ exports.tuiIsApplePlatform = tuiIsApplePlatform;
50
+ exports.tuiIsIos = tuiIsIos;
35
51
 
36
52
  Object.defineProperty(exports, '__esModule', { value: true });
37
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-os.umd.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts"],"sourcesContent":["/**\n * @note:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function isApplePlatform(navigator: Navigator): boolean {\n return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';\n}\n","import {isApplePlatform} from './is-apple-platform';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function isIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (isApplePlatform(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n"],"names":[],"mappings":";;;;;;IAAA;;;;;;;;;;aAUgB,eAAe,CAAC,SAAoB;QAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACtF;;ICVA,IAAM,WAAW,GAAG,kBAAkB,CAAC;aAEvB,KAAK,CAAC,SAAoB;QACtC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;aAClD,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAC9D;IACN;;ICPA,IAAM,cAAc,GAAG,gCAAgC,CAAC;aAExC,OAAO,CAAC,SAAoB;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACtF;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-os.umd.js","sources":["ng://@taiga-ui/cdk/utils/os/is-apple-platform.ts","ng://@taiga-ui/cdk/utils/os/is-ios.ts","ng://@taiga-ui/cdk/utils/os/is-apple.ts"],"sourcesContent":["/**\n * @deprecated: use {@link tuiIsApplePlatform} instead\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isApplePlatform(navigator: Navigator): boolean {\n return navigator.platform.indexOf('Mac') === 0 || navigator.platform === 'iPhone';\n}\n\nexport const tuiIsApplePlatform = isApplePlatform;\n","import {isApplePlatform} from './is-apple-platform';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\n/**\n * @deprecated: use {@link tuiIsIos} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (isApplePlatform(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n\nexport const tuiIsIos = isIos;\n","import {isIos} from './is-ios';\n\nconst SAFARI_REG_EXP = /^((?!chrome|android).)*safari/i;\n\n/**\n * @deprecated: use {@link tuiIsApple} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isApple(navigator: Navigator): boolean {\n return isIos(navigator) || SAFARI_REG_EXP.test(navigator.userAgent.toLowerCase());\n}\n\nexport const tuiIsApple = isApple;\n"],"names":[],"mappings":";;;;;;IAAA;;;;;;;;;;;IAWA;aACgB,eAAe,CAAC,SAAoB;QAChD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACtF,CAAC;QAEY,kBAAkB,GAAG;;ICdlC,IAAM,WAAW,GAAG,kBAAkB,CAAC;IAEvC;;;IAGA;aACgB,KAAK,CAAC,SAAoB;QACtC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;aAClD,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EAC9D;IACN,CAAC;QAEY,QAAQ,GAAG;;ICbxB,IAAM,cAAc,GAAG,gCAAgC,CAAC;IAExD;;;IAGA;aACgB,OAAO,CAAC,SAAoB;QACxC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACtF,CAAC;QAEY,UAAU,GAAG;;;;;;;;;;;;;;;;;"}