@taiga-ui/cdk 3.491.0-canary.34e703b → 3.491.1-canary.5e01f6f

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 (739) hide show
  1. package/abstract/control.d.ts +0 -6
  2. package/abstract/interactive.d.ts +0 -9
  3. package/abstract/portal-host.d.ts +0 -3
  4. package/abstract/portal-service.d.ts +0 -3
  5. package/abstract/taiga-ui-cdk-abstract.d.ts +0 -3
  6. package/abstract/theme-switcher.d.ts +0 -6
  7. package/bundles/taiga-ui-cdk-abstract.umd.js +0 -32
  8. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-classes.umd.js +0 -9
  10. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-coercion.umd.js +0 -10
  12. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +0 -8
  14. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +0 -11
  16. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +0 -10
  18. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js +0 -4
  20. package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components.umd.js +0 -4
  22. package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-constants.umd.js +1 -109
  24. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-date-time.umd.js +0 -284
  26. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-decorators.umd.js +0 -26
  28. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +0 -4
  30. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +1 -44
  32. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +0 -4
  34. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-checked.umd.js +0 -4
  36. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-click-outside.umd.js +0 -4
  38. package/bundles/taiga-ui-cdk-directives-click-outside.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-control.umd.js +0 -4
  40. package/bundles/taiga-ui-cdk-directives-control.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +0 -4
  42. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-drag.umd.js +0 -10
  44. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +0 -5
  46. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-element.umd.js +0 -18
  48. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +0 -17
  50. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +0 -9
  52. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-focusable.umd.js +0 -10
  54. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-focused.umd.js +0 -9
  56. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +0 -7
  58. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-for.umd.js +0 -4
  60. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +0 -7
  62. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +1 -7
  64. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-item.umd.js +0 -7
  66. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-let.umd.js +0 -17
  68. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-media.umd.js +0 -7
  70. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +0 -7
  72. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +0 -10
  74. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-pan.umd.js +0 -7
  76. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-platform.umd.js +0 -4
  78. package/bundles/taiga-ui-cdk-directives-platform.umd.js.map +1 -1
  79. package/bundles/taiga-ui-cdk-directives-portal.umd.js +0 -4
  80. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +0 -4
  82. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  83. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +0 -12
  84. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +0 -11
  86. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives-resize.umd.js +0 -7
  88. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives-resizer.umd.js +0 -5
  90. package/bundles/taiga-ui-cdk-directives-resizer.umd.js.map +1 -1
  91. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +0 -7
  92. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  93. package/bundles/taiga-ui-cdk-directives-validator.umd.js +0 -4
  94. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js +0 -4
  96. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +0 -7
  98. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-directives.umd.js +0 -4
  100. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  101. package/bundles/taiga-ui-cdk-enums.umd.js +0 -8
  102. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  103. package/bundles/taiga-ui-cdk-exceptions.umd.js +0 -4
  104. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  105. package/bundles/taiga-ui-cdk-interfaces.umd.js +1 -3
  106. package/bundles/taiga-ui-cdk-interfaces.umd.js.map +1 -1
  107. package/bundles/taiga-ui-cdk-observables.umd.js +1 -34
  108. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  109. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +0 -4
  110. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js +0 -4
  112. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-pipes-keys.umd.js +0 -4
  114. package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +0 -4
  116. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  117. package/bundles/taiga-ui-cdk-pipes-replace.umd.js +1 -7
  118. package/bundles/taiga-ui-cdk-pipes-replace.umd.js.map +1 -1
  119. package/bundles/taiga-ui-cdk-pipes.umd.js +0 -4
  120. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  121. package/bundles/taiga-ui-cdk-services.umd.js +5 -53
  122. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  123. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -109
  124. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  125. package/bundles/taiga-ui-cdk-types.umd.js +1 -3
  126. package/bundles/taiga-ui-cdk-types.umd.js.map +1 -1
  127. package/bundles/taiga-ui-cdk-utils-browser.umd.js +0 -4
  128. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  129. package/bundles/taiga-ui-cdk-utils-color.umd.js +0 -10
  130. package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -1
  131. package/bundles/taiga-ui-cdk-utils-dom.umd.js +2 -53
  132. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  133. package/bundles/taiga-ui-cdk-utils-focus.umd.js +0 -51
  134. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  135. package/bundles/taiga-ui-cdk-utils-format.umd.js +0 -7
  136. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  137. package/bundles/taiga-ui-cdk-utils-math.umd.js +0 -38
  138. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  139. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +6 -42
  140. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  141. package/bundles/taiga-ui-cdk-utils-os.umd.js +0 -14
  142. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  143. package/bundles/taiga-ui-cdk-utils-svg.umd.js +1 -19
  144. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  145. package/bundles/taiga-ui-cdk-utils.umd.js +0 -4
  146. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  147. package/bundles/taiga-ui-cdk.umd.js +0 -4
  148. package/bundles/taiga-ui-cdk.umd.js.map +1 -1
  149. package/classes/assert.d.ts +0 -5
  150. package/classes/taiga-ui-cdk-classes.d.ts +0 -3
  151. package/coercion/coerce-boolean-property.d.ts +0 -4
  152. package/coercion/taiga-ui-cdk-coercion.d.ts +0 -3
  153. package/components/alert-host/taiga-ui-cdk-components-alert-host.d.ts +0 -3
  154. package/components/dialog-host/dialog-host.component.d.ts +0 -3
  155. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.d.ts +0 -3
  156. package/components/dropdown-host/dropdown-host.component.d.ts +0 -3
  157. package/components/dropdown-host/dropdown-portal.service.d.ts +0 -3
  158. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +0 -3
  159. package/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.d.ts +0 -3
  160. package/components/taiga-ui-cdk-components.d.ts +0 -3
  161. package/constants/always-false-handler.d.ts +0 -3
  162. package/constants/always-true-handler.d.ts +0 -3
  163. package/constants/browser.d.ts +0 -4
  164. package/constants/empty.d.ts +0 -5
  165. package/constants/matcher.d.ts +0 -19
  166. package/constants/parent-animation.d.ts +0 -6
  167. package/constants/stringify.d.ts +0 -3
  168. package/constants/taiga-ui-cdk-constants.d.ts +0 -3
  169. package/constants/unicode-chars.d.ts +0 -51
  170. package/constants/used-icons.d.ts +0 -6
  171. package/constants/version.d.ts +1 -1
  172. package/constants/version.js +1 -1
  173. package/date-time/date-fillers.d.ts +0 -11
  174. package/date-time/date-format.d.ts +0 -3
  175. package/date-time/date-separator.d.ts +0 -3
  176. package/date-time/day-range.d.ts +0 -33
  177. package/date-time/day.d.ts +0 -91
  178. package/date-time/month-range.d.ts +0 -3
  179. package/date-time/month.d.ts +0 -56
  180. package/date-time/taiga-ui-cdk-date-time.d.ts +0 -3
  181. package/date-time/time.d.ts +0 -36
  182. package/date-time/year.d.ts +0 -42
  183. package/decorators/debounce.d.ts +0 -4
  184. package/decorators/default-prop.d.ts +0 -9
  185. package/decorators/pure.d.ts +0 -18
  186. package/decorators/required-setter.d.ts +0 -9
  187. package/decorators/taiga-ui-cdk-decorators.d.ts +0 -3
  188. package/directives/active-zone/taiga-ui-cdk-directives-active-zone.d.ts +0 -3
  189. package/directives/auto-focus/handlers/ios.handler.d.ts +0 -39
  190. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.d.ts +0 -3
  191. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.d.ts +0 -3
  192. package/directives/checked/taiga-ui-cdk-directives-checked.d.ts +0 -3
  193. package/directives/click-outside/taiga-ui-cdk-directives-click-outside.d.ts +0 -3
  194. package/directives/control/taiga-ui-cdk-directives-control.d.ts +0 -3
  195. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +0 -3
  196. package/directives/drag/drag.directive.d.ts +0 -3
  197. package/directives/drag/drag.module.d.ts +0 -3
  198. package/directives/drag/taiga-ui-cdk-directives-drag.d.ts +0 -3
  199. package/directives/droppable/taiga-ui-cdk-directives-droppable.d.ts +0 -3
  200. package/directives/element/taiga-ui-cdk-directives-element.d.ts +0 -3
  201. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.d.ts +0 -3
  202. package/directives/focus-visible/focus-visible.directive.d.ts +0 -5
  203. package/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.d.ts +0 -3
  204. package/directives/focusable/focusable.directive.d.ts +0 -6
  205. package/directives/focusable/taiga-ui-cdk-directives-focusable.d.ts +0 -3
  206. package/directives/focused/focused.directive.d.ts +0 -5
  207. package/directives/focused/taiga-ui-cdk-directives-focused.d.ts +0 -3
  208. package/directives/for/taiga-ui-cdk-directives-for.d.ts +0 -3
  209. package/directives/for-async/for-async.module.d.ts +0 -3
  210. package/directives/for-async/taiga-ui-cdk-directives-for-async.d.ts +0 -3
  211. package/directives/high-dpi/high-dpi.directive.d.ts +0 -3
  212. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.d.ts +0 -3
  213. package/directives/hovered/taiga-ui-cdk-directives-hovered.d.ts +0 -3
  214. package/directives/item/item.directive.d.ts +0 -3
  215. package/directives/item/taiga-ui-cdk-directives-item.d.ts +0 -3
  216. package/directives/let/let-context.d.ts +0 -3
  217. package/directives/let/let.directive.d.ts +0 -10
  218. package/directives/let/taiga-ui-cdk-directives-let.d.ts +0 -3
  219. package/directives/media/taiga-ui-cdk-directives-media.d.ts +0 -3
  220. package/directives/obscured/obscured.directive.d.ts +0 -3
  221. package/directives/obscured/taiga-ui-cdk-directives-obscured.d.ts +0 -3
  222. package/directives/overscroll/overscroll.directive.d.ts +0 -3
  223. package/directives/overscroll/taiga-ui-cdk-directives-overscroll.d.ts +0 -3
  224. package/directives/pan/pan.module.d.ts +0 -3
  225. package/directives/pan/taiga-ui-cdk-directives-pan.d.ts +0 -3
  226. package/directives/platform/taiga-ui-cdk-directives-platform.d.ts +0 -3
  227. package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +0 -3
  228. package/directives/pressed/taiga-ui-cdk-directives-pressed.d.ts +0 -3
  229. package/directives/prevent-default/prevent-default.directive.d.ts +0 -5
  230. package/directives/prevent-default/prevent-default.module.d.ts +0 -3
  231. package/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.d.ts +0 -3
  232. package/directives/repeat-times/repeat-times.directive.d.ts +0 -7
  233. package/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.d.ts +0 -3
  234. package/directives/resize/resize.module.d.ts +0 -3
  235. package/directives/resize/taiga-ui-cdk-directives-resize.d.ts +0 -3
  236. package/directives/resizer/taiga-ui-cdk-directives-resizer.d.ts +0 -3
  237. package/directives/swipe/swipe.module.d.ts +0 -3
  238. package/directives/swipe/taiga-ui-cdk-directives-swipe.d.ts +0 -3
  239. package/directives/taiga-ui-cdk-directives.d.ts +0 -3
  240. package/directives/validator/taiga-ui-cdk-directives-validator.d.ts +0 -3
  241. package/directives/value-changes/taiga-ui-cdk-directives-value-changes.d.ts +0 -3
  242. package/directives/zoom/taiga-ui-cdk-directives-zoom.d.ts +0 -3
  243. package/directives/zoom/zoom.module.d.ts +0 -3
  244. package/enums/taiga-ui-cdk-enums.d.ts +0 -3
  245. package/esm2015/abstract/control.js +1 -7
  246. package/esm2015/abstract/interactive.js +1 -11
  247. package/esm2015/abstract/portal-host.js +1 -4
  248. package/esm2015/abstract/portal-service.js +1 -4
  249. package/esm2015/abstract/taiga-ui-cdk-abstract.js +1 -4
  250. package/esm2015/abstract/theme-switcher.js +1 -7
  251. package/esm2015/classes/assert.js +1 -6
  252. package/esm2015/classes/taiga-ui-cdk-classes.js +1 -4
  253. package/esm2015/coercion/coerce-boolean-property.js +1 -7
  254. package/esm2015/coercion/taiga-ui-cdk-coercion.js +1 -4
  255. package/esm2015/components/alert-host/alert-host.component.js +1 -5
  256. package/esm2015/components/alert-host/taiga-ui-cdk-components-alert-host.js +1 -4
  257. package/esm2015/components/dialog-host/dialog-host.component.js +1 -8
  258. package/esm2015/components/dialog-host/taiga-ui-cdk-components-dialog-host.js +1 -4
  259. package/esm2015/components/dropdown-host/dropdown-host.component.js +1 -4
  260. package/esm2015/components/dropdown-host/dropdown-portal.service.js +1 -4
  261. package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +1 -4
  262. package/esm2015/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.js +1 -4
  263. package/esm2015/components/taiga-ui-cdk-components.js +1 -4
  264. package/esm2015/constants/always-false-handler.js +1 -5
  265. package/esm2015/constants/always-true-handler.js +1 -5
  266. package/esm2015/constants/browser.js +1 -5
  267. package/esm2015/constants/empty.js +1 -6
  268. package/esm2015/constants/matcher.js +1 -20
  269. package/esm2015/constants/parent-animation.js +1 -7
  270. package/esm2015/constants/stringify.js +1 -4
  271. package/esm2015/constants/svg-node-filter.js +1 -3
  272. package/esm2015/constants/taiga-ui-cdk-constants.js +1 -4
  273. package/esm2015/constants/unicode-chars.js +1 -52
  274. package/esm2015/constants/used-icons.js +1 -7
  275. package/esm2015/constants/version.js +2 -2
  276. package/esm2015/date-time/date-fillers.js +1 -12
  277. package/esm2015/date-time/date-format.js +1 -4
  278. package/esm2015/date-time/date-separator.js +1 -4
  279. package/esm2015/date-time/day-range.js +1 -34
  280. package/esm2015/date-time/day.js +1 -94
  281. package/esm2015/date-time/month-range.js +1 -4
  282. package/esm2015/date-time/month.js +1 -57
  283. package/esm2015/date-time/taiga-ui-cdk-date-time.js +1 -4
  284. package/esm2015/date-time/time.js +1 -37
  285. package/esm2015/date-time/year.js +1 -43
  286. package/esm2015/decorators/debounce.js +1 -5
  287. package/esm2015/decorators/default-prop.js +1 -10
  288. package/esm2015/decorators/required-setter.js +1 -10
  289. package/esm2015/decorators/taiga-ui-cdk-decorators.js +1 -4
  290. package/esm2015/directives/active-zone/taiga-ui-cdk-directives-active-zone.js +1 -4
  291. package/esm2015/directives/auto-focus/autofocus.options.js +2 -3
  292. package/esm2015/directives/auto-focus/handlers/ios.handler.js +1 -40
  293. package/esm2015/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.js +1 -4
  294. package/esm2015/directives/autofilled/taiga-ui-cdk-directives-autofilled.js +1 -4
  295. package/esm2015/directives/checked/taiga-ui-cdk-directives-checked.js +1 -4
  296. package/esm2015/directives/click-outside/taiga-ui-cdk-directives-click-outside.js +1 -4
  297. package/esm2015/directives/control/taiga-ui-cdk-directives-control.js +1 -4
  298. package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +1 -4
  299. package/esm2015/directives/drag/drag.directive.js +1 -4
  300. package/esm2015/directives/drag/drag.module.js +1 -4
  301. package/esm2015/directives/drag/taiga-ui-cdk-directives-drag.js +1 -4
  302. package/esm2015/directives/droppable/droppable.directive.js +1 -2
  303. package/esm2015/directives/droppable/taiga-ui-cdk-directives-droppable.js +1 -4
  304. package/esm2015/directives/element/element.directive.js +1 -15
  305. package/esm2015/directives/element/taiga-ui-cdk-directives-element.js +1 -4
  306. package/esm2015/directives/focus-trap/focus-trap.directive.js +1 -14
  307. package/esm2015/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.js +1 -4
  308. package/esm2015/directives/focus-visible/focus-visible.directive.js +1 -6
  309. package/esm2015/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.js +1 -4
  310. package/esm2015/directives/focusable/focusable.directive.js +1 -7
  311. package/esm2015/directives/focusable/taiga-ui-cdk-directives-focusable.js +1 -4
  312. package/esm2015/directives/focused/focused.directive.js +1 -6
  313. package/esm2015/directives/focused/taiga-ui-cdk-directives-focused.js +1 -4
  314. package/esm2015/directives/for/taiga-ui-cdk-directives-for.js +1 -4
  315. package/esm2015/directives/for-async/for-async.module.js +1 -4
  316. package/esm2015/directives/for-async/taiga-ui-cdk-directives-for-async.js +1 -4
  317. package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -4
  318. package/esm2015/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.js +1 -4
  319. package/esm2015/directives/hovered/hovered.service.js +2 -4
  320. package/esm2015/directives/hovered/taiga-ui-cdk-directives-hovered.js +1 -4
  321. package/esm2015/directives/item/item.directive.js +1 -4
  322. package/esm2015/directives/item/taiga-ui-cdk-directives-item.js +1 -4
  323. package/esm2015/directives/let/let-context.js +1 -4
  324. package/esm2015/directives/let/let.directive.js +1 -11
  325. package/esm2015/directives/let/taiga-ui-cdk-directives-let.js +1 -4
  326. package/esm2015/directives/media/media.directive.js +1 -4
  327. package/esm2015/directives/media/taiga-ui-cdk-directives-media.js +1 -4
  328. package/esm2015/directives/obscured/obscured.directive.js +1 -4
  329. package/esm2015/directives/obscured/taiga-ui-cdk-directives-obscured.js +1 -4
  330. package/esm2015/directives/overscroll/overscroll.directive.js +1 -7
  331. package/esm2015/directives/overscroll/taiga-ui-cdk-directives-overscroll.js +1 -4
  332. package/esm2015/directives/pan/pan.module.js +1 -4
  333. package/esm2015/directives/pan/taiga-ui-cdk-directives-pan.js +1 -4
  334. package/esm2015/directives/platform/taiga-ui-cdk-directives-platform.js +1 -4
  335. package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +1 -4
  336. package/esm2015/directives/pressed/taiga-ui-cdk-directives-pressed.js +1 -4
  337. package/esm2015/directives/prevent-default/prevent-default.directive.js +1 -6
  338. package/esm2015/directives/prevent-default/prevent-default.module.js +1 -4
  339. package/esm2015/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.js +1 -4
  340. package/esm2015/directives/repeat-times/repeat-times.directive.js +1 -8
  341. package/esm2015/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.js +1 -4
  342. package/esm2015/directives/resize/resize.module.js +1 -4
  343. package/esm2015/directives/resize/taiga-ui-cdk-directives-resize.js +1 -4
  344. package/esm2015/directives/resizer/resizer.directive.js +1 -2
  345. package/esm2015/directives/resizer/taiga-ui-cdk-directives-resizer.js +1 -4
  346. package/esm2015/directives/swipe/swipe.module.js +1 -4
  347. package/esm2015/directives/swipe/taiga-ui-cdk-directives-swipe.js +1 -4
  348. package/esm2015/directives/taiga-ui-cdk-directives.js +1 -4
  349. package/esm2015/directives/validator/taiga-ui-cdk-directives-validator.js +1 -4
  350. package/esm2015/directives/value-changes/taiga-ui-cdk-directives-value-changes.js +1 -4
  351. package/esm2015/directives/zoom/taiga-ui-cdk-directives-zoom.js +1 -4
  352. package/esm2015/directives/zoom/zoom.module.js +1 -4
  353. package/esm2015/enums/day-of-week.js +1 -3
  354. package/esm2015/enums/month-number.js +1 -3
  355. package/esm2015/enums/taiga-ui-cdk-enums.js +1 -4
  356. package/esm2015/exceptions/taiga-ui-cdk-exceptions.js +1 -4
  357. package/esm2015/interfaces/taiga-ui-cdk-interfaces.js +1 -4
  358. package/esm2015/observables/control-value.js +1 -4
  359. package/esm2015/observables/drag-and-drop-from.js +1 -3
  360. package/esm2015/observables/focus-visible-observable.js +2 -6
  361. package/esm2015/observables/is-alive.js +1 -4
  362. package/esm2015/observables/items-query-list-observable.js +1 -7
  363. package/esm2015/observables/mouse-drag-finish-from.js +1 -5
  364. package/esm2015/observables/scroll-from.js +1 -4
  365. package/esm2015/observables/taiga-ui-cdk-observables.js +1 -4
  366. package/esm2015/observables/typed-from-event.js +1 -5
  367. package/esm2015/pipes/filter/taiga-ui-cdk-pipes-filter.js +1 -4
  368. package/esm2015/pipes/is-present/taiga-ui-cdk-pipes-is-present.js +1 -4
  369. package/esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js +1 -4
  370. package/esm2015/pipes/mapper/taiga-ui-cdk-pipes-mapper.js +1 -4
  371. package/esm2015/pipes/replace/replace.pipe.js +2 -4
  372. package/esm2015/pipes/replace/taiga-ui-cdk-pipes-replace.js +1 -4
  373. package/esm2015/pipes/taiga-ui-cdk-pipes.js +1 -4
  374. package/esm2015/services/destroy.service.js +1 -9
  375. package/esm2015/services/directive-styles.service.js +1 -4
  376. package/esm2015/services/focus-visible.service.js +1 -6
  377. package/esm2015/services/id.service.js +1 -4
  378. package/esm2015/services/obscured.service.js +2 -10
  379. package/esm2015/services/pan.service.js +2 -4
  380. package/esm2015/services/parents-scroll.service.js +2 -7
  381. package/esm2015/services/resize.service.js +2 -8
  382. package/esm2015/services/static-request.service.js +2 -5
  383. package/esm2015/services/taiga-ui-cdk-services.js +1 -4
  384. package/esm2015/taiga-ui-cdk.js +1 -4
  385. package/esm2015/tokens/active-element.js +4 -26
  386. package/esm2015/tokens/alerts.js +1 -4
  387. package/esm2015/tokens/default-renderer.js +2 -10
  388. package/esm2015/tokens/dialogs.js +1 -5
  389. package/esm2015/tokens/ensure-base-href.js +1 -4
  390. package/esm2015/tokens/focusable-item-accessor.js +1 -4
  391. package/esm2015/tokens/is-android.js +1 -4
  392. package/esm2015/tokens/is-apple.js +1 -4
  393. package/esm2015/tokens/is-chromium.js +1 -4
  394. package/esm2015/tokens/is-cypress.js +1 -5
  395. package/esm2015/tokens/is-e2e.js +1 -4
  396. package/esm2015/tokens/is-firefox.js +1 -4
  397. package/esm2015/tokens/is-ios.js +1 -4
  398. package/esm2015/tokens/is-mobile.js +1 -5
  399. package/esm2015/tokens/is-playwright.js +1 -4
  400. package/esm2015/tokens/is-webkit.js +1 -4
  401. package/esm2015/tokens/platform.js +1 -2
  402. package/esm2015/tokens/range.js +1 -4
  403. package/esm2015/tokens/removed-element.js +1 -4
  404. package/esm2015/tokens/scroll-ref.js +1 -4
  405. package/esm2015/tokens/swipe-options.js +1 -4
  406. package/esm2015/tokens/taiga-ui-cdk-tokens.js +1 -4
  407. package/esm2015/tokens/take-only-trusted-events.js +1 -7
  408. package/esm2015/tokens/window-height.js +1 -4
  409. package/esm2015/tokens/zoom-options.js +1 -4
  410. package/esm2015/types/taiga-ui-cdk-types.js +1 -4
  411. package/esm2015/utils/browser/taiga-ui-cdk-utils-browser.js +1 -4
  412. package/esm2015/utils/color/hex-to-rgba.js +1 -2
  413. package/esm2015/utils/color/hsv-to-rgb.js +1 -4
  414. package/esm2015/utils/color/rgb-to-hsv.js +1 -2
  415. package/esm2015/utils/color/rgba-to-hex.js +1 -2
  416. package/esm2015/utils/color/taiga-ui-cdk-utils-color.js +1 -4
  417. package/esm2015/utils/dom/element-checks.js +1 -2
  418. package/esm2015/utils/dom/get-actual-target.js +1 -4
  419. package/esm2015/utils/dom/get-clipboard-data-text.js +1 -4
  420. package/esm2015/utils/dom/get-element-obscurers.js +1 -10
  421. package/esm2015/utils/dom/get-element-offset.js +1 -8
  422. package/esm2015/utils/dom/get-scroll-parent.js +1 -7
  423. package/esm2015/utils/dom/get-selected-text.js +1 -9
  424. package/esm2015/utils/dom/is-inside-iframe.js +1 -4
  425. package/esm2015/utils/dom/is-node-in.js +1 -8
  426. package/esm2015/utils/dom/retarget-boundary-crossing.js +3 -3
  427. package/esm2015/utils/dom/taiga-ui-cdk-utils-dom.js +1 -4
  428. package/esm2015/utils/focus/blur-native-focused.js +1 -4
  429. package/esm2015/utils/focus/get-closest-focusable.js +1 -5
  430. package/esm2015/utils/focus/get-native-focused.js +1 -6
  431. package/esm2015/utils/focus/is-native-focused-in.js +1 -8
  432. package/esm2015/utils/focus/is-native-focused.js +1 -9
  433. package/esm2015/utils/focus/is-native-keyboard-focusable.js +1 -7
  434. package/esm2015/utils/focus/move-focus.js +1 -8
  435. package/esm2015/utils/focus/set-native-mouse-focused.js +1 -8
  436. package/esm2015/utils/focus/taiga-ui-cdk-utils-focus.js +1 -4
  437. package/esm2015/utils/format/px.js +1 -4
  438. package/esm2015/utils/format/taiga-ui-cdk-utils-format.js +1 -4
  439. package/esm2015/utils/math/clamp.js +1 -8
  440. package/esm2015/utils/math/normalize-to-int-number.js +1 -9
  441. package/esm2015/utils/math/quantize.js +1 -7
  442. package/esm2015/utils/math/round.js +1 -8
  443. package/esm2015/utils/math/sum.js +1 -4
  444. package/esm2015/utils/math/taiga-ui-cdk-utils-math.js +1 -4
  445. package/esm2015/utils/math/to-radians.js +1 -4
  446. package/esm2015/utils/miscellaneous/create-options.js +1 -2
  447. package/esm2015/utils/miscellaneous/flat-length.js +1 -6
  448. package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +1 -7
  449. package/esm2015/utils/miscellaneous/is-number.js +1 -2
  450. package/esm2015/utils/miscellaneous/is-object.js +1 -2
  451. package/esm2015/utils/miscellaneous/is-string.js +1 -2
  452. package/esm2015/utils/miscellaneous/is-valid-url.js +7 -8
  453. package/esm2015/utils/miscellaneous/nullable-same.js +1 -9
  454. package/esm2015/utils/miscellaneous/object-from-entries.js +1 -9
  455. package/esm2015/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.js +1 -4
  456. package/esm2015/utils/os/is-apple-platform.js +1 -11
  457. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +1 -4
  458. package/esm2015/utils/svg/svg-linear-gradient-processor.js +2 -16
  459. package/esm2015/utils/svg/taiga-ui-cdk-utils-svg.js +1 -4
  460. package/esm2015/utils/taiga-ui-cdk-utils.js +1 -4
  461. package/exceptions/taiga-ui-cdk-exceptions.d.ts +0 -3
  462. package/fesm2015/taiga-ui-cdk-abstract.js +0 -32
  463. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  464. package/fesm2015/taiga-ui-cdk-classes.js +0 -9
  465. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  466. package/fesm2015/taiga-ui-cdk-coercion.js +0 -10
  467. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  468. package/fesm2015/taiga-ui-cdk-components-alert-host.js +0 -8
  469. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  470. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +0 -11
  471. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  472. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +0 -10
  473. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  474. package/fesm2015/taiga-ui-cdk-components-scroll-controls.js +0 -4
  475. package/fesm2015/taiga-ui-cdk-components-scroll-controls.js.map +1 -1
  476. package/fesm2015/taiga-ui-cdk-components.js +0 -4
  477. package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
  478. package/fesm2015/taiga-ui-cdk-constants.js +1 -109
  479. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  480. package/fesm2015/taiga-ui-cdk-date-time.js +0 -284
  481. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  482. package/fesm2015/taiga-ui-cdk-decorators.js +0 -26
  483. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  484. package/fesm2015/taiga-ui-cdk-directives-active-zone.js +0 -4
  485. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  486. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +1 -44
  487. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  488. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +0 -4
  489. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  490. package/fesm2015/taiga-ui-cdk-directives-checked.js +0 -4
  491. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  492. package/fesm2015/taiga-ui-cdk-directives-click-outside.js +0 -4
  493. package/fesm2015/taiga-ui-cdk-directives-click-outside.js.map +1 -1
  494. package/fesm2015/taiga-ui-cdk-directives-control.js +0 -4
  495. package/fesm2015/taiga-ui-cdk-directives-control.js.map +1 -1
  496. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +0 -4
  497. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  498. package/fesm2015/taiga-ui-cdk-directives-drag.js +0 -10
  499. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  500. package/fesm2015/taiga-ui-cdk-directives-droppable.js +0 -5
  501. package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
  502. package/fesm2015/taiga-ui-cdk-directives-element.js +0 -18
  503. package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
  504. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +0 -17
  505. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  506. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js +0 -9
  507. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  508. package/fesm2015/taiga-ui-cdk-directives-focusable.js +0 -10
  509. package/fesm2015/taiga-ui-cdk-directives-focusable.js.map +1 -1
  510. package/fesm2015/taiga-ui-cdk-directives-focused.js +0 -9
  511. package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
  512. package/fesm2015/taiga-ui-cdk-directives-for-async.js +0 -7
  513. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
  514. package/fesm2015/taiga-ui-cdk-directives-for.js +0 -4
  515. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  516. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js +0 -7
  517. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  518. package/fesm2015/taiga-ui-cdk-directives-hovered.js +1 -7
  519. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  520. package/fesm2015/taiga-ui-cdk-directives-item.js +0 -7
  521. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  522. package/fesm2015/taiga-ui-cdk-directives-let.js +0 -17
  523. package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
  524. package/fesm2015/taiga-ui-cdk-directives-media.js +0 -7
  525. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  526. package/fesm2015/taiga-ui-cdk-directives-obscured.js +0 -7
  527. package/fesm2015/taiga-ui-cdk-directives-obscured.js.map +1 -1
  528. package/fesm2015/taiga-ui-cdk-directives-overscroll.js +0 -10
  529. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  530. package/fesm2015/taiga-ui-cdk-directives-pan.js +0 -7
  531. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  532. package/fesm2015/taiga-ui-cdk-directives-platform.js +0 -4
  533. package/fesm2015/taiga-ui-cdk-directives-platform.js.map +1 -1
  534. package/fesm2015/taiga-ui-cdk-directives-portal.js +0 -4
  535. package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -1
  536. package/fesm2015/taiga-ui-cdk-directives-pressed.js +0 -4
  537. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  538. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +0 -12
  539. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  540. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js +0 -11
  541. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  542. package/fesm2015/taiga-ui-cdk-directives-resize.js +0 -7
  543. package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
  544. package/fesm2015/taiga-ui-cdk-directives-resizer.js +0 -5
  545. package/fesm2015/taiga-ui-cdk-directives-resizer.js.map +1 -1
  546. package/fesm2015/taiga-ui-cdk-directives-swipe.js +0 -7
  547. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  548. package/fesm2015/taiga-ui-cdk-directives-validator.js +0 -4
  549. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  550. package/fesm2015/taiga-ui-cdk-directives-value-changes.js +0 -4
  551. package/fesm2015/taiga-ui-cdk-directives-value-changes.js.map +1 -1
  552. package/fesm2015/taiga-ui-cdk-directives-zoom.js +0 -7
  553. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  554. package/fesm2015/taiga-ui-cdk-directives.js +0 -4
  555. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  556. package/fesm2015/taiga-ui-cdk-enums.js +0 -8
  557. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  558. package/fesm2015/taiga-ui-cdk-exceptions.js +0 -4
  559. package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -1
  560. package/fesm2015/taiga-ui-cdk-interfaces.js +1 -3
  561. package/fesm2015/taiga-ui-cdk-interfaces.js.map +1 -1
  562. package/fesm2015/taiga-ui-cdk-observables.js +1 -34
  563. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  564. package/fesm2015/taiga-ui-cdk-pipes-filter.js +0 -4
  565. package/fesm2015/taiga-ui-cdk-pipes-filter.js.map +1 -1
  566. package/fesm2015/taiga-ui-cdk-pipes-is-present.js +0 -4
  567. package/fesm2015/taiga-ui-cdk-pipes-is-present.js.map +1 -1
  568. package/fesm2015/taiga-ui-cdk-pipes-keys.js +0 -4
  569. package/fesm2015/taiga-ui-cdk-pipes-keys.js.map +1 -1
  570. package/fesm2015/taiga-ui-cdk-pipes-mapper.js +0 -4
  571. package/fesm2015/taiga-ui-cdk-pipes-mapper.js.map +1 -1
  572. package/fesm2015/taiga-ui-cdk-pipes-replace.js +1 -7
  573. package/fesm2015/taiga-ui-cdk-pipes-replace.js.map +1 -1
  574. package/fesm2015/taiga-ui-cdk-pipes.js +0 -4
  575. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  576. package/fesm2015/taiga-ui-cdk-services.js +5 -52
  577. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  578. package/fesm2015/taiga-ui-cdk-tokens.js +4 -108
  579. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  580. package/fesm2015/taiga-ui-cdk-types.js +1 -3
  581. package/fesm2015/taiga-ui-cdk-types.js.map +1 -1
  582. package/fesm2015/taiga-ui-cdk-utils-browser.js +0 -4
  583. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  584. package/fesm2015/taiga-ui-cdk-utils-color.js +0 -10
  585. package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -1
  586. package/fesm2015/taiga-ui-cdk-utils-dom.js +2 -53
  587. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  588. package/fesm2015/taiga-ui-cdk-utils-focus.js +0 -51
  589. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  590. package/fesm2015/taiga-ui-cdk-utils-format.js +0 -7
  591. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  592. package/fesm2015/taiga-ui-cdk-utils-math.js +0 -38
  593. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  594. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +6 -42
  595. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  596. package/fesm2015/taiga-ui-cdk-utils-os.js +0 -14
  597. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  598. package/fesm2015/taiga-ui-cdk-utils-svg.js +1 -19
  599. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
  600. package/fesm2015/taiga-ui-cdk-utils.js +0 -4
  601. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  602. package/fesm2015/taiga-ui-cdk.js +0 -4
  603. package/fesm2015/taiga-ui-cdk.js.map +1 -1
  604. package/interfaces/control-value-transformer.d.ts +0 -3
  605. package/interfaces/day-like.d.ts +0 -3
  606. package/interfaces/focusable-element-accessor.d.ts +0 -4
  607. package/interfaces/month-like.d.ts +0 -3
  608. package/interfaces/taiga-ui-cdk-interfaces.d.ts +0 -3
  609. package/interfaces/year-like.d.ts +0 -3
  610. package/observables/control-value.d.ts +0 -3
  611. package/observables/is-alive.d.ts +0 -3
  612. package/observables/items-query-list-observable.d.ts +0 -6
  613. package/observables/mouse-drag-finish-from.d.ts +0 -4
  614. package/observables/scroll-from.d.ts +0 -3
  615. package/observables/taiga-ui-cdk-observables.d.ts +0 -3
  616. package/package.json +1 -1
  617. package/pipes/filter/filter.pipe.d.ts +0 -7
  618. package/pipes/filter/taiga-ui-cdk-pipes-filter.d.ts +0 -3
  619. package/pipes/is-present/taiga-ui-cdk-pipes-is-present.d.ts +0 -3
  620. package/pipes/keys/taiga-ui-cdk-pipes-keys.d.ts +0 -3
  621. package/pipes/mapper/mapper.pipe.d.ts +0 -7
  622. package/pipes/mapper/taiga-ui-cdk-pipes-mapper.d.ts +0 -3
  623. package/pipes/replace/taiga-ui-cdk-pipes-replace.d.ts +0 -3
  624. package/pipes/taiga-ui-cdk-pipes.d.ts +0 -3
  625. package/schematics/constants/file-globs.js +1 -3
  626. package/schematics/ng-add/index.js +0 -1
  627. package/schematics/ng-add/schema.d.ts +0 -12
  628. package/schematics/ng-update/steps/show-warnings.js +0 -5
  629. package/schematics/ng-update/v3/constants/breakpoints.js +0 -2
  630. package/schematics/ng-update/v3/constants/enums.js +0 -4
  631. package/schematics/ng-update/v3/constants/templates.d.ts +0 -5
  632. package/schematics/ng-update/v3/constants/templates.js +0 -5
  633. package/schematics/ng-update/v3/index.js +1 -5
  634. package/schematics/ng-update/v3/steps/migrate-date-time.js +0 -18
  635. package/schematics/ng-update/v3/steps/migrate-progress.js +1 -3
  636. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +0 -6
  637. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +0 -5
  638. package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +0 -1
  639. package/schematics/ng-update/v3/steps/migrate-templates.js +0 -1
  640. package/schematics/ng-update/v3/steps/miscellaneous.js +0 -4
  641. package/schematics/ng-update/v3/steps/replace-functions.js +1 -1
  642. package/schematics/ng-update/v3-30/index.js +0 -1
  643. package/schematics/ng-update/v3-35/index.js +0 -1
  644. package/schematics/ng-update/v3-36/index.js +0 -1
  645. package/schematics/ng-update/v3-40/index.js +0 -1
  646. package/schematics/ng-update/v3-5/index.js +0 -1
  647. package/schematics/ng-update/v4/index.js +0 -1
  648. package/schematics/utils/add-import-to-component.js +0 -1
  649. package/schematics/utils/angular/ng-module.d.ts +0 -3
  650. package/schematics/utils/angular/ng-module.js +0 -3
  651. package/schematics/utils/angular-json-manipulations.js +0 -7
  652. package/schematics/utils/colored-log.js +1 -1
  653. package/schematics/utils/get-projects.js +1 -3
  654. package/schematics/utils/is-ci.js +11 -13
  655. package/schematics/utils/progress.js +0 -1
  656. package/schematics/utils/push-to-array-property.js +0 -1
  657. package/schematics/utils/templates/elements.d.ts +0 -19
  658. package/schematics/utils/templates/elements.js +2 -26
  659. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +0 -44
  660. package/schematics/utils/templates/ng-component-input-manipulations.js +1 -47
  661. package/services/destroy.service.d.ts +0 -8
  662. package/services/directive-styles.service.d.ts +0 -3
  663. package/services/focus-visible.service.d.ts +0 -5
  664. package/services/id.service.d.ts +0 -3
  665. package/services/obscured.service.d.ts +0 -5
  666. package/services/parents-scroll.service.d.ts +0 -3
  667. package/services/taiga-ui-cdk-services.d.ts +0 -3
  668. package/taiga-ui-cdk.d.ts +0 -3
  669. package/tokens/active-element.d.ts +0 -3
  670. package/tokens/alerts.d.ts +0 -3
  671. package/tokens/default-renderer.d.ts +0 -6
  672. package/tokens/dialogs.d.ts +0 -3
  673. package/tokens/ensure-base-href.d.ts +0 -3
  674. package/tokens/focusable-item-accessor.d.ts +0 -3
  675. package/tokens/is-android.d.ts +0 -3
  676. package/tokens/is-apple.d.ts +0 -3
  677. package/tokens/is-chromium.d.ts +0 -3
  678. package/tokens/is-cypress.d.ts +0 -4
  679. package/tokens/is-e2e.d.ts +0 -3
  680. package/tokens/is-firefox.d.ts +0 -3
  681. package/tokens/is-ios.d.ts +0 -3
  682. package/tokens/is-mobile.d.ts +0 -3
  683. package/tokens/is-playwright.d.ts +0 -3
  684. package/tokens/is-webkit.d.ts +0 -3
  685. package/tokens/range.d.ts +0 -3
  686. package/tokens/removed-element.d.ts +0 -3
  687. package/tokens/scroll-ref.d.ts +0 -3
  688. package/tokens/swipe-options.d.ts +0 -3
  689. package/tokens/taiga-ui-cdk-tokens.d.ts +0 -3
  690. package/tokens/take-only-trusted-events.d.ts +0 -6
  691. package/tokens/window-height.d.ts +0 -3
  692. package/tokens/zoom-options.d.ts +0 -3
  693. package/types/autocomplete.d.ts +0 -1
  694. package/types/date-mode.d.ts +0 -5
  695. package/types/event-with.d.ts +0 -3
  696. package/types/mapper.d.ts +0 -8
  697. package/types/matcher.d.ts +0 -8
  698. package/types/taiga-ui-cdk-types.d.ts +0 -3
  699. package/utils/browser/taiga-ui-cdk-utils-browser.d.ts +0 -3
  700. package/utils/color/hsv-to-rgb.d.ts +0 -3
  701. package/utils/color/taiga-ui-cdk-utils-color.d.ts +0 -3
  702. package/utils/dom/get-actual-target.d.ts +0 -3
  703. package/utils/dom/get-clipboard-data-text.d.ts +0 -3
  704. package/utils/dom/get-element-obscurers.d.ts +0 -9
  705. package/utils/dom/get-element-offset.d.ts +0 -7
  706. package/utils/dom/get-scroll-parent.d.ts +0 -6
  707. package/utils/dom/get-selected-text.d.ts +0 -8
  708. package/utils/dom/is-inside-iframe.d.ts +0 -3
  709. package/utils/dom/is-node-in.d.ts +0 -7
  710. package/utils/dom/taiga-ui-cdk-utils-dom.d.ts +0 -3
  711. package/utils/focus/blur-native-focused.d.ts +0 -3
  712. package/utils/focus/get-closest-focusable.d.ts +0 -20
  713. package/utils/focus/get-native-focused.d.ts +0 -5
  714. package/utils/focus/is-native-focused-in.d.ts +0 -6
  715. package/utils/focus/is-native-focused.d.ts +0 -8
  716. package/utils/focus/is-native-keyboard-focusable.d.ts +0 -6
  717. package/utils/focus/move-focus.d.ts +0 -7
  718. package/utils/focus/set-native-mouse-focused.d.ts +0 -7
  719. package/utils/focus/taiga-ui-cdk-utils-focus.d.ts +0 -3
  720. package/utils/format/px.d.ts +0 -3
  721. package/utils/format/taiga-ui-cdk-utils-format.d.ts +0 -3
  722. package/utils/math/clamp.d.ts +0 -7
  723. package/utils/math/normalize-to-int-number.d.ts +0 -8
  724. package/utils/math/quantize.d.ts +0 -6
  725. package/utils/math/sum.d.ts +0 -3
  726. package/utils/math/taiga-ui-cdk-utils-math.d.ts +0 -3
  727. package/utils/math/to-radians.d.ts +0 -3
  728. package/utils/miscellaneous/create-options.d.ts +0 -1
  729. package/utils/miscellaneous/flat-length.d.ts +0 -5
  730. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -6
  731. package/utils/miscellaneous/is-string.js +0 -1
  732. package/utils/miscellaneous/nullable-same.d.ts +0 -8
  733. package/utils/miscellaneous/object-from-entries.d.ts +0 -8
  734. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.d.ts +0 -3
  735. package/utils/os/is-apple-platform.d.ts +0 -10
  736. package/utils/os/taiga-ui-cdk-utils-os.d.ts +0 -3
  737. package/utils/svg/svg-linear-gradient-processor.d.ts +0 -14
  738. package/utils/svg/taiga-ui-cdk-utils-svg.d.ts +0 -3
  739. package/utils/taiga-ui-cdk-utils.d.ts +0 -3
@@ -67,24 +67,17 @@ function tuiIsElement(node) {
67
67
  return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;
68
68
  }
69
69
  function tuiIsHTMLElement(node) {
70
- // TODO: iframe warning
71
70
  return node instanceof HTMLElement;
72
71
  }
73
72
  function tuiIsTextNode(node) {
74
73
  return node.nodeType === Node.TEXT_NODE;
75
74
  }
76
75
 
77
- /**
78
- * Gets actual target from open Shadow DOM if event happened within it
79
- */
80
76
  function tuiGetActualTarget(event) {
81
77
  return event.composedPath()[0];
82
78
  }
83
79
 
84
80
  const DEFAULT_FORMAT = `text/plain`;
85
- /**
86
- * Gets text from data of clipboardEvent, it also works in IE and Edge browsers
87
- */
88
81
  function tuiGetClipboardDataText(event, format = DEFAULT_FORMAT) {
89
82
  return `clipboardData` in event && event.clipboardData !== null
90
83
  ? event.clipboardData.getData(format) ||
@@ -98,15 +91,6 @@ function tuiGetDocumentOrShadowRoot(node) {
98
91
  : node.ownerDocument;
99
92
  }
100
93
 
101
- /**
102
- * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible
103
- *
104
- * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered
105
- * TODO: v4.0 change function signature to
106
- * ```ts
107
- * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null
108
- * ```
109
- */
110
94
  function tuiGetElementObscures(element) {
111
95
  const { ownerDocument } = element;
112
96
  if (!(ownerDocument === null || ownerDocument === void 0 ? void 0 : ownerDocument.defaultView) || !element.getBoundingClientRect) {
@@ -138,13 +122,6 @@ function tuiGetElementObscures(element) {
138
122
  return filtered.length === 4 ? filtered : null;
139
123
  }
140
124
 
141
- /**
142
- * Calculates offset for an element relative to it's parent several levels above
143
- *
144
- * @param host parent element
145
- * @param element
146
- * @return object with offsetTop and offsetLeft number properties
147
- */
148
125
  function tuiGetElementOffset(host, element) {
149
126
  ngDevMode && tuiAssert.assert(host.contains(element), `Host must contain element`);
150
127
  let { offsetTop, offsetLeft, offsetParent } = element;
@@ -156,12 +133,6 @@ function tuiGetElementOffset(host, element) {
156
133
  return { offsetTop, offsetLeft };
157
134
  }
158
135
 
159
- /**
160
- * Finds the nearest parent with scroll in it
161
- *
162
- * @param element initial element
163
- * @param vertical flag for orientation of scroll
164
- */
165
136
  function tuiGetScrollParent(element, vertical = true) {
166
137
  if (element === null) {
167
138
  return null;
@@ -175,14 +146,6 @@ function tuiGetScrollParent(element, vertical = true) {
175
146
  return tuiGetScrollParent(element.parentElement, vertical);
176
147
  }
177
148
 
178
- /**
179
- * @description:
180
- * cross browser way to get selected text
181
- *
182
- * History:
183
- * BUG - window.getSelection() fails when text selected in a form field
184
- * https://bugzilla.mozilla.org/show_bug.cgi?id=85686
185
- */
186
149
  function tuiGetSelectedText({ getSelection, document }) {
187
150
  var _a;
188
151
  return document.activeElement && tuiIsTextfield(document.activeElement)
@@ -198,20 +161,10 @@ function tuiIsElementEditable(element) {
198
161
  return (tuiIsTextfield(element) && !element.readOnly) || !!element.isContentEditable;
199
162
  }
200
163
 
201
- /**
202
- * Checks if an app is running inside <iframe /> tag
203
- */
204
164
  function tuiIsInsideIframe(win) {
205
165
  return win.parent !== win;
206
166
  }
207
167
 
208
- /**
209
- * Checks if node is inside a specific selector
210
- *
211
- * @param node
212
- * @param selector
213
- * @return true if node is inside a particular selector
214
- */
215
168
  function tuiIsNodeIn(node, selector) {
216
169
  var _a;
217
170
  return tuiIsTextNode(node)
@@ -238,17 +191,13 @@ function tuiPointToClientRect(x = 0, y = 0) {
238
191
  function tuiRetargetedBoundaryCrossing(event) {
239
192
  var _a, _b;
240
193
  if (`explicitOriginalTarget` in event) {
241
- return (event === null || event === void 0 ? void 0 : event.explicitOriginalTarget) !== event.target; // firefox
194
+ return (event === null || event === void 0 ? void 0 : event.explicitOriginalTarget) !== event.target;
242
195
  }
243
196
  if (`layerX` in event && `layerY` in event) {
244
- return ((_a = event === null || event === void 0 ? void 0 : event.layerX) !== null && _a !== void 0 ? _a : 0) < 0 || ((_b = event === null || event === void 0 ? void 0 : event.layerY) !== null && _b !== void 0 ? _b : 0) < 0; // chrome/safari/etc
197
+ return ((_a = event === null || event === void 0 ? void 0 : event.layerX) !== null && _a !== void 0 ? _a : 0) < 0 || ((_b = event === null || event === void 0 ? void 0 : event.layerY) !== null && _b !== void 0 ? _b : 0) < 0;
245
198
  }
246
199
  return false;
247
200
  }
248
201
 
249
- /**
250
- * Generated bundle index. Do not edit.
251
- */
252
-
253
202
  export { tuiCanScroll, tuiContainsOrAfter, tuiGetActualTarget, tuiGetClipboardDataText, tuiGetDocumentOrShadowRoot, tuiGetElementObscures, tuiGetElementOffset, tuiGetScrollParent, tuiGetSelectedText, tuiIsCurrentTarget, tuiIsElement, tuiIsElementEditable, tuiIsHTMLElement, tuiIsInput, tuiIsInsideIframe, tuiIsNodeIn, tuiIsTextNode, tuiIsTextarea, tuiIsTextfield, tuiPointToClientRect, tuiRetargetedBoundaryCrossing };
254
203
  //# sourceMappingURL=taiga-ui-cdk-utils-dom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts","../../../projects/cdk/utils/dom/taiga-ui-cdk-utils-dom.ts"],"sourcesContent":["export function tuiCanScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches(`input`);\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches(`textarea`);\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return `clipboardData` in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData(`text`);\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const doc = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n\n if (rect.width === 0 && rect.height === 0) {\n return null;\n }\n\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n doc.elementFromPoint(horizontalMiddle, top),\n doc.elementFromPoint(horizontalMiddle, bottom),\n doc.elementFromPoint(left, verticalMiddle),\n doc.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || !!element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: any): boolean {\n if (`explicitOriginalTarget` in event) {\n return event?.explicitOriginalTarget !== event.target; // firefox\n }\n\n if (`layerX` in event && `layerY` in event) {\n return (event?.layerX ?? 0) < 0 || (event?.layerY ?? 0) < 0; // chrome/safari/etc\n }\n\n return false;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-dom.js","sources":["../../../projects/cdk/utils/dom/can-scroll.ts","../../../projects/cdk/utils/dom/contains-or-after.ts","../../../projects/cdk/utils/dom/element-checks.ts","../../../projects/cdk/utils/dom/get-actual-target.ts","../../../projects/cdk/utils/dom/get-clipboard-data-text.ts","../../../projects/cdk/utils/dom/get-document-or-shadow-root.ts","../../../projects/cdk/utils/dom/get-element-obscurers.ts","../../../projects/cdk/utils/dom/get-element-offset.ts","../../../projects/cdk/utils/dom/get-scroll-parent.ts","../../../projects/cdk/utils/dom/get-selected-text.ts","../../../projects/cdk/utils/dom/is-current-target.ts","../../../projects/cdk/utils/dom/is-element-editable.ts","../../../projects/cdk/utils/dom/is-inside-iframe.ts","../../../projects/cdk/utils/dom/is-node-in.ts","../../../projects/cdk/utils/dom/point-to-client-rect.ts","../../../projects/cdk/utils/dom/retarget-boundary-crossing.ts"],"sourcesContent":["export function tuiCanScroll(\n element: Element,\n rootElement: Element,\n vertical: boolean,\n scrollEnd: boolean,\n): boolean {\n return vertical\n ? canScrollVertical(element, rootElement, scrollEnd)\n : canScrollHorizontal(element, rootElement, scrollEnd);\n}\n\nfunction canScrollVertical(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollTop) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollTop + currentElement.clientHeight) <\n currentElement.scrollHeight &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nfunction canScrollHorizontal(\n element: Element,\n rootElement: Element,\n scrollEnd: boolean,\n): boolean {\n let currentElement = element;\n\n while (currentElement !== rootElement.parentElement) {\n if (\n (Math.floor(currentElement.scrollLeft) > 0 && !scrollEnd) ||\n (Math.ceil(currentElement.scrollLeft + currentElement.clientWidth) <\n currentElement.scrollWidth &&\n scrollEnd)\n ) {\n return true;\n }\n\n if (currentElement.parentElement) {\n currentElement = currentElement.parentElement;\n } else {\n return false;\n }\n }\n\n return false;\n}\n","export function tuiContainsOrAfter(current: Node, node: Node): boolean {\n try {\n return (\n current.contains(node) ||\n !!(node.compareDocumentPosition(current) & Node.DOCUMENT_POSITION_PRECEDING)\n );\n } catch {\n return false;\n }\n}\n","export function tuiIsInput(element: Element): element is HTMLInputElement {\n return element.matches(`input`);\n}\n\nexport function tuiIsTextarea(element: Element): element is HTMLTextAreaElement {\n return element.matches(`textarea`);\n}\n\nexport function tuiIsTextfield(\n element: Element,\n): element is HTMLInputElement | HTMLTextAreaElement {\n return tuiIsInput(element) || tuiIsTextarea(element);\n}\n\nexport function tuiIsElement(\n node?: Element | EventTarget | Node | null,\n): node is Element {\n return !!node && `nodeType` in node && node.nodeType === Node.ELEMENT_NODE;\n}\n\nexport function tuiIsHTMLElement(node: unknown): node is HTMLElement {\n // TODO: iframe warning\n return node instanceof HTMLElement;\n}\n\nexport function tuiIsTextNode(node: Node): node is Text {\n return node.nodeType === Node.TEXT_NODE;\n}\n","/**\n * Gets actual target from open Shadow DOM if event happened within it\n */\nexport function tuiGetActualTarget(event: Event): Node {\n return event.composedPath()[0] as Node;\n}\n","const DEFAULT_FORMAT = `text/plain`;\n\n/**\n * Gets text from data of clipboardEvent, it also works in IE and Edge browsers\n */\nexport function tuiGetClipboardDataText(\n event: ClipboardEvent,\n format: string = DEFAULT_FORMAT,\n): string {\n return `clipboardData` in event && event.clipboardData !== null\n ? event.clipboardData.getData(format) ||\n event.clipboardData.getData(DEFAULT_FORMAT)\n : (event as any).target.ownerDocument.defaultView.clipboardData.getData(`text`);\n}\n","export function tuiGetDocumentOrShadowRoot(node: Node): DocumentOrShadowRoot {\n return `getRootNode` in node && node.isConnected\n ? (node.getRootNode() as Document)\n : (node.ownerDocument as DocumentOrShadowRoot);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetDocumentOrShadowRoot} from './get-document-or-shadow-root';\n\n/**\n * Returns array of Elements covering edges of given element or null if at least one edge middle point is visible\n *\n * CAUTION: Empty array means element if offscreen i.e. covered by no elements, rather than not covered\n * TODO: v4.0 change function signature to\n * ```ts\n * function tuiGetElementObscures(element: Element): readonly [Element, Element, Element, Element] | [] | null\n * ```\n */\nexport function tuiGetElementObscures(element: Element): readonly Element[] | null {\n const {ownerDocument} = element;\n\n if (!ownerDocument?.defaultView || !element.getBoundingClientRect) {\n return null;\n }\n\n const {innerWidth, innerHeight} = ownerDocument.defaultView;\n const doc = tuiGetDocumentOrShadowRoot(element);\n const rect = element.getBoundingClientRect();\n\n if (rect.width === 0 && rect.height === 0) {\n return null;\n }\n\n const left = tuiClamp(Math.round(rect.left) + 2, 0, innerWidth);\n const top = tuiClamp(Math.round(rect.top) + 2, 0, innerHeight);\n const right = tuiClamp(Math.round(rect.right) - 2, 0, innerWidth);\n const bottom = tuiClamp(Math.round(rect.bottom) - 2, 0, innerHeight);\n const horizontalMiddle = tuiClamp(\n Math.round(rect.left + rect.width / 2),\n 0,\n innerWidth,\n );\n const verticalMiddle = tuiClamp(\n Math.round(rect.top + rect.height / 2),\n 0,\n innerHeight,\n );\n const elements = [\n doc.elementFromPoint(horizontalMiddle, top),\n doc.elementFromPoint(horizontalMiddle, bottom),\n doc.elementFromPoint(left, verticalMiddle),\n doc.elementFromPoint(right, verticalMiddle),\n ];\n const nonNull = elements.filter(tuiIsPresent);\n\n if (!nonNull.length) {\n return nonNull;\n }\n\n const filtered = nonNull.filter(el => !element.contains(el));\n\n return filtered.length === 4 ? filtered : null;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {tuiIsHTMLElement} from './element-checks';\n\n/**\n * Calculates offset for an element relative to it's parent several levels above\n *\n * @param host parent element\n * @param element\n * @return object with offsetTop and offsetLeft number properties\n */\nexport function tuiGetElementOffset(\n host: Element,\n element: HTMLElement,\n): {offsetLeft: number; offsetTop: number} {\n ngDevMode && tuiAssert.assert(host.contains(element), `Host must contain element`);\n\n let {offsetTop, offsetLeft, offsetParent} = element;\n\n while (tuiIsHTMLElement(offsetParent) && offsetParent !== host) {\n offsetTop += offsetParent.offsetTop;\n offsetLeft += offsetParent.offsetLeft;\n offsetParent = offsetParent.offsetParent;\n }\n\n return {offsetTop, offsetLeft};\n}\n","/**\n * Finds the nearest parent with scroll in it\n *\n * @param element initial element\n * @param vertical flag for orientation of scroll\n */\nexport function tuiGetScrollParent(\n element: Element | null,\n vertical: boolean = true,\n): Element | null {\n if (element === null) {\n return null;\n }\n\n if (vertical && element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (!vertical && element.scrollWidth > element.clientWidth) {\n return element;\n }\n\n return tuiGetScrollParent(element.parentElement, vertical);\n}\n","import {tuiIsTextfield} from './element-checks';\n\n/**\n * @description:\n * cross browser way to get selected text\n *\n * History:\n * BUG - window.getSelection() fails when text selected in a form field\n * https://bugzilla.mozilla.org/show_bug.cgi?id=85686\n */\nexport function tuiGetSelectedText({getSelection, document}: Window): string | null {\n return document.activeElement && tuiIsTextfield(document.activeElement)\n ? document.activeElement.value.slice(\n document.activeElement.selectionStart || 0,\n document.activeElement.selectionEnd || 0,\n )\n : getSelection()?.toString() || null;\n}\n","export function tuiIsCurrentTarget({target, currentTarget}: Event): boolean {\n return target === currentTarget;\n}\n","import {tuiIsTextfield} from './element-checks';\n\nexport function tuiIsElementEditable(element: HTMLElement): boolean {\n return (tuiIsTextfield(element) && !element.readOnly) || !!element.isContentEditable;\n}\n","/**\n * Checks if an app is running inside <iframe /> tag\n */\nexport function tuiIsInsideIframe(win: Window): boolean {\n return win.parent !== win;\n}\n","import {tuiIsElement, tuiIsTextNode} from './element-checks';\n\n/**\n * Checks if node is inside a specific selector\n *\n * @param node\n * @param selector\n * @return true if node is inside a particular selector\n */\nexport function tuiIsNodeIn(node: Node, selector: string): boolean {\n return tuiIsTextNode(node)\n ? !!node.parentElement?.closest(selector)\n : tuiIsElement(node) && !!node.closest(selector);\n}\n","export function tuiPointToClientRect(x: number = 0, y: number = 0): DOMRect {\n const rect = {\n x,\n y,\n left: x,\n right: x,\n top: y,\n bottom: y,\n width: 0,\n height: 0,\n } as const;\n\n return {\n ...rect,\n toJSON() {\n return rect;\n },\n };\n}\n","export function tuiRetargetedBoundaryCrossing(event: any): boolean {\n if (`explicitOriginalTarget` in event) {\n return event?.explicitOriginalTarget !== event.target; // firefox\n }\n\n if (`layerX` in event && `layerY` in event) {\n return (event?.layerX ?? 0) < 0 || (event?.layerY ?? 0) < 0; // chrome/safari/etc\n }\n\n return false;\n}\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,6 @@
1
1
  import { tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
2
2
  import { svgNodeFilter } from '@taiga-ui/cdk/constants';
3
3
 
4
- /**
5
- * Returns current active element, including shadow dom
6
- *
7
- * @return element or null
8
- */
9
4
  function tuiGetNativeFocused({ activeElement }) {
10
5
  if (!(activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot)) {
11
6
  return activeElement;
@@ -17,9 +12,6 @@ function tuiGetNativeFocused({ activeElement }) {
17
12
  return element;
18
13
  }
19
14
 
20
- /**
21
- * Finds and blurs current active element, including shadow DOM
22
- */
23
15
  function tuiBlurNativeFocused(doc) {
24
16
  const activeElement = tuiGetNativeFocused(doc);
25
17
  if (tuiIsHTMLElement(activeElement)) {
@@ -27,12 +19,6 @@ function tuiBlurNativeFocused(doc) {
27
19
  }
28
20
  }
29
21
 
30
- /**
31
- * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to
32
- * only target natural focus order. Not checking the possibility of an element to
33
- * be focused, for example element can have display: none applied to it or any other
34
- * circumstances could prevent actual focus.
35
- */
36
22
  function tuiIsNativeKeyboardFocusable(element) {
37
23
  if (element.hasAttribute(`disabled`) || element.getAttribute(`tabIndex`) === `-1`) {
38
24
  return false;
@@ -65,10 +51,6 @@ function tuiIsNativeMouseFocusable(element) {
65
51
  tuiIsNativeKeyboardFocusable(element)));
66
52
  }
67
53
 
68
- /**
69
- * @description:
70
- * Finds the closest element that can be focused with a keyboard or mouse in theory
71
- */
72
54
  function tuiGetClosestFocusable({ initial, root, previous = false, keyboard = true, }) {
73
55
  if (!root.ownerDocument) {
74
56
  return null;
@@ -87,26 +69,11 @@ function tuiGetClosestFocusable({ initial, root, previous = false, keyboard = tr
87
69
  return null;
88
70
  }
89
71
 
90
- /**
91
- * Checks if element is focused.
92
- *
93
- * Could return true even after blur since element remains focused if you switch away from a browser tab.
94
- *
95
- * @param node or null (as a common return value of DOM nodes walking)
96
- * @return true if focused
97
- */
98
72
  function tuiIsNativeFocused(node) {
99
73
  return !!(node === null || node === void 0 ? void 0 : node.ownerDocument) && tuiGetNativeFocused(node.ownerDocument) === node;
100
74
  }
101
75
 
102
- /**
103
- * Checks if focused element is within given element.
104
- *
105
- * @param node
106
- * @return true if focused node is contained within element
107
- */
108
76
  function tuiIsNativeFocusedIn(node) {
109
- // !node.contains - check for IE11
110
77
  if (!node.ownerDocument || !node.contains) {
111
78
  return false;
112
79
  }
@@ -114,13 +81,6 @@ function tuiIsNativeFocusedIn(node) {
114
81
  return nativeFocused !== null && node.contains(nativeFocused);
115
82
  }
116
83
 
117
- /**
118
- * Utility method for moving focus in a list of elements
119
- *
120
- * @param currentIndex currently focused index
121
- * @param elements array of focusable elements
122
- * @param step a step to move focus by, typically -1 or 1
123
- */
124
84
  function tuiMoveFocus(currentIndex, elements, step) {
125
85
  currentIndex += step;
126
86
  while (currentIndex >= 0 && currentIndex < elements.length) {
@@ -132,13 +92,6 @@ function tuiMoveFocus(currentIndex, elements, step) {
132
92
  }
133
93
  }
134
94
 
135
- /**
136
- * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})
137
- *
138
- * @param element
139
- * @param focused desired focused state
140
- * @param preventScroll optionally prevent native browser scroll after focus
141
- */
142
95
  function tuiSetNativeMouseFocused(element, focused = true, preventScroll = false) {
143
96
  if (!element.ownerDocument) {
144
97
  return;
@@ -159,9 +112,5 @@ function tuiSetNativeMouseFocused(element, focused = true, preventScroll = false
159
112
  }
160
113
  }
161
114
 
162
- /**
163
- * Generated bundle index. Do not edit.
164
- */
165
-
166
115
  export { tuiBlurNativeFocused, tuiGetClosestFocusable, tuiGetNativeFocused, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, tuiIsNativeMouseFocusable, tuiMoveFocus, tuiSetNativeMouseFocused };
167
116
  //# sourceMappingURL=taiga-ui-cdk-utils-focus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-focus.js","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/set-native-mouse-focused.ts","../../../projects/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute(`disabled`) || element.getAttribute(`tabIndex`) === `-1`) {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute(`tabIndex`) === `0`\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case `BUTTON`:\n case `SELECT`:\n case `TEXTAREA`:\n return true;\n case `VIDEO`:\n case `AUDIO`:\n return element.hasAttribute(`controls`);\n case `INPUT`:\n return element.getAttribute(`type`) !== `hidden`;\n case `A`:\n case `LINK`:\n return element.hasAttribute(`href`);\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute(`disabled`) &&\n (element.getAttribute(`tabIndex`) === `-1` ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node: Node | null): boolean {\n return !!node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument) === node;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = tuiGetNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function tuiSetNativeMouseFocused(\n element: Element & HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === `function`) {\n element.dispatchEvent(new Event(`mousedown`, {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent(`Event`);\n\n event.initEvent(`mousedown`, true, true);\n element.dispatchEvent(event);\n }\n\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-focus.js","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/set-native-mouse-focused.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute(`disabled`) || element.getAttribute(`tabIndex`) === `-1`) {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute(`tabIndex`) === `0`\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case `BUTTON`:\n case `SELECT`:\n case `TEXTAREA`:\n return true;\n case `VIDEO`:\n case `AUDIO`:\n return element.hasAttribute(`controls`);\n case `INPUT`:\n return element.getAttribute(`type`) !== `hidden`;\n case `A`:\n case `LINK`:\n return element.hasAttribute(`href`);\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute(`disabled`) &&\n (element.getAttribute(`tabIndex`) === `-1` ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node: Node | null): boolean {\n return !!node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument) === node;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = tuiGetNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function tuiSetNativeMouseFocused(\n element: Element & HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === `function`) {\n element.dispatchEvent(new Event(`mousedown`, {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent(`Event`);\n\n event.initEvent(`mousedown`, true, true);\n element.dispatchEvent(event);\n }\n\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,16 +1,9 @@
1
1
  import { tuiAssert } from '@taiga-ui/cdk/classes';
2
2
 
3
- /**
4
- * Adds 'px' to the number and turns it into a string
5
- */
6
3
  function tuiPx(value) {
7
4
  ngDevMode && tuiAssert.assert(Number.isFinite(value), `Value must be finite number`);
8
5
  return `${value}px`;
9
6
  }
10
7
 
11
- /**
12
- * Generated bundle index. Do not edit.
13
- */
14
-
15
8
  export { tuiPx };
16
9
  //# sourceMappingURL=taiga-ui-cdk-utils-format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["../../../projects/cdk/utils/format/px.ts","../../../projects/cdk/utils/format/taiga-ui-cdk-utils-format.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && tuiAssert.assert(Number.isFinite(value), `Value must be finite number`);\n\n return `${value}px`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA;;AAEG;AACG,SAAU,KAAK,CAAC,KAAa,EAAA;AAC/B,IAAA,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA,2BAAA,CAA6B,CAAC,CAAC;IAErF,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI,CAAC;AACxB;;ACTA;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["../../../projects/cdk/utils/format/px.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && tuiAssert.assert(Number.isFinite(value), `Value must be finite number`);\n\n return `${value}px`;\n}\n"],"names":[],"mappings":";;AAKM,SAAU,KAAK,CAAC,KAAa,EAAA;AAC/B,IAAA,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA,2BAAA,CAA6B,CAAC,CAAC;IAErF,OAAO,CAAA,EAAG,KAAK,CAAA,EAAA,CAAI,CAAC;AACxB;;;;"}
@@ -1,12 +1,5 @@
1
1
  import { tuiAssert } from '@taiga-ui/cdk/classes';
2
2
 
3
- /**
4
- * Clamps a value between two inclusive limits
5
- *
6
- * @param value
7
- * @param min lower limit
8
- * @param max upper limit
9
- */
10
3
  function tuiClamp(value, min, max) {
11
4
  ngDevMode && tuiAssert.assert(!Number.isNaN(value));
12
5
  ngDevMode && tuiAssert.assert(!Number.isNaN(min));
@@ -23,14 +16,6 @@ function tuiInRange(value, fromInclude, toExclude) {
23
16
  return value >= fromInclude && value < toExclude;
24
17
  }
25
18
 
26
- /**
27
- * Normalizes any number to an integer within inclusive range
28
- *
29
- * @param value
30
- * @param min lower inclusive integer
31
- * @param max upper inclusive integer
32
- * @return an integer between min and max inclusive
33
- */
34
19
  function tuiNormalizeToIntNumber(value, min, max) {
35
20
  ngDevMode && tuiAssert.assert(Number.isInteger(min));
36
21
  ngDevMode && tuiAssert.assert(Number.isInteger(max));
@@ -44,12 +29,6 @@ function tuiNormalizeToIntNumber(value, min, max) {
44
29
  return Math.round(value);
45
30
  }
46
31
 
47
- /**
48
- * Rounds a number to the closest value in a fixed discrete series
49
- *
50
- * @param value
51
- * @param quantum series step
52
- */
53
32
  function tuiQuantize(value, quantum) {
54
33
  ngDevMode && tuiAssert.assert(Number.isFinite(value));
55
34
  ngDevMode && tuiAssert.assert(Number.isFinite(quantum));
@@ -71,13 +50,6 @@ function tuiFloor(value, precision = 0) {
71
50
  function tuiTrunc(value, precision = 0) {
72
51
  return calculate(value, precision, Math.trunc);
73
52
  }
74
- /**
75
- * Rounding number to the set precision
76
- *
77
- * @param value
78
- * @param precision number of digits in a float part
79
- * @param func rounding function (round, floor, ceil)
80
- */
81
53
  function calculate(value, precision, func) {
82
54
  if (value === Infinity) {
83
55
  return value;
@@ -105,9 +77,6 @@ function tuiRoundWith({ value, precision, method, }) {
105
77
  }
106
78
  }
107
79
 
108
- /**
109
- * Calculates sum of any number of passed arguments
110
- */
111
80
  function tuiSum(...args) {
112
81
  return args.reduce((a, b) => a + b, 0);
113
82
  }
@@ -120,16 +89,9 @@ function tuiToInteger(value) {
120
89
  return parseInt(value, 10);
121
90
  }
122
91
 
123
- /**
124
- * Converts angle in degrees to radians
125
- */
126
92
  function tuiToRadians(deg) {
127
93
  return (deg * Math.PI) / 180;
128
94
  }
129
95
 
130
- /**
131
- * Generated bundle index. Do not edit.
132
- */
133
-
134
96
  export { tuiCeil, tuiClamp, tuiFloor, tuiInRange, tuiNormalizeToIntNumber, tuiQuantize, tuiRound, tuiRoundWith, tuiSum, tuiToInt, tuiToInteger, tuiToRadians, tuiTrunc };
135
97
  //# sourceMappingURL=taiga-ui-cdk-utils-math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-math.js","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/round-with.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/to-integer.ts","../../../projects/cdk/utils/math/to-radians.ts","../../../projects/cdk/utils/math/taiga-ui-cdk-utils-math.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 tuiClamp(value: number, min: number, max: number): number {\n ngDevMode && tuiAssert.assert(!Number.isNaN(value));\n ngDevMode && tuiAssert.assert(!Number.isNaN(min));\n ngDevMode && tuiAssert.assert(!Number.isNaN(max));\n ngDevMode && tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n ngDevMode && tuiAssert.assert(!Number.isNaN(value));\n ngDevMode && tuiAssert.assert(!Number.isNaN(fromInclude));\n ngDevMode && tuiAssert.assert(!Number.isNaN(toExclude));\n ngDevMode && 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 tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n ngDevMode && tuiAssert.assert(Number.isInteger(min));\n ngDevMode && tuiAssert.assert(Number.isInteger(max));\n ngDevMode && tuiAssert.assert(min <= max);\n\n if (Number.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 tuiQuantize(value: number, quantum: number): number {\n ngDevMode && tuiAssert.assert(Number.isFinite(value));\n ngDevMode && tuiAssert.assert(Number.isFinite(quantum));\n ngDevMode && 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 tuiRound(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport function tuiTrunc(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.trunc);\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 ngDevMode && tuiAssert.assert(!Number.isNaN(value), `Value must be number`);\n ngDevMode &&\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 {TuiRounding} from '@taiga-ui/cdk/types';\n\nimport {tuiCeil, tuiFloor, tuiRound, tuiTrunc} from './round';\n\nexport function tuiRoundWith({\n value,\n precision,\n method,\n}: {\n method: TuiRounding;\n precision: number;\n value: number;\n}): number {\n switch (method) {\n case `round`:\n return tuiRound(value, precision);\n case `ceil`:\n return tuiCeil(value, precision);\n case `floor`:\n return tuiFloor(value, precision);\n default:\n return tuiTrunc(value, precision);\n }\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function tuiSum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function tuiToInt(bool: boolean): 0 | 1 {\n return bool ? 1 : 0;\n}\n","export function tuiToInteger(value: number | string): number {\n return parseInt(value as unknown as string, 10);\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function tuiToRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-math.js","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/round-with.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/to-integer.ts","../../../projects/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 tuiClamp(value: number, min: number, max: number): number {\n ngDevMode && tuiAssert.assert(!Number.isNaN(value));\n ngDevMode && tuiAssert.assert(!Number.isNaN(min));\n ngDevMode && tuiAssert.assert(!Number.isNaN(max));\n ngDevMode && tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n ngDevMode && tuiAssert.assert(!Number.isNaN(value));\n ngDevMode && tuiAssert.assert(!Number.isNaN(fromInclude));\n ngDevMode && tuiAssert.assert(!Number.isNaN(toExclude));\n ngDevMode && 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 tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n ngDevMode && tuiAssert.assert(Number.isInteger(min));\n ngDevMode && tuiAssert.assert(Number.isInteger(max));\n ngDevMode && tuiAssert.assert(min <= max);\n\n if (Number.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 tuiQuantize(value: number, quantum: number): number {\n ngDevMode && tuiAssert.assert(Number.isFinite(value));\n ngDevMode && tuiAssert.assert(Number.isFinite(quantum));\n ngDevMode && 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 tuiRound(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\nexport function tuiTrunc(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.trunc);\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 ngDevMode && tuiAssert.assert(!Number.isNaN(value), `Value must be number`);\n ngDevMode &&\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 {TuiRounding} from '@taiga-ui/cdk/types';\n\nimport {tuiCeil, tuiFloor, tuiRound, tuiTrunc} from './round';\n\nexport function tuiRoundWith({\n value,\n precision,\n method,\n}: {\n method: TuiRounding;\n precision: number;\n value: number;\n}): number {\n switch (method) {\n case `round`:\n return tuiRound(value, precision);\n case `ceil`:\n return tuiCeil(value, precision);\n case `floor`:\n return tuiFloor(value, precision);\n default:\n return tuiTrunc(value, precision);\n }\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function tuiSum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function tuiToInt(bool: boolean): 0 | 1 {\n return bool ? 1 : 0;\n}\n","export function tuiToInteger(value: number | string): number {\n return parseInt(value as unknown as string, 10);\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function tuiToRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n"],"names":[],"mappings":"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"}
@@ -16,7 +16,6 @@ function tuiArrayToggle(array, item) {
16
16
  }
17
17
 
18
18
  function tuiIsString(value) {
19
- // eslint-disable-next-line @taiga-ui/experience/no-typeof
20
19
  return typeof value === `string`;
21
20
  }
22
21
 
@@ -35,7 +34,6 @@ function tuiCreateTokenFromFactory(factory) {
35
34
  return new InjectionToken(``, { factory });
36
35
  }
37
36
 
38
- /** @deprecated use {@link tuiCreateToken} instead */
39
37
  function tuiCreateOptions(defaults) {
40
38
  return tuiCreateTokenFromFactory(() => defaults);
41
39
  }
@@ -60,21 +58,10 @@ function tuiEaseInOutQuad(t) {
60
58
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
61
59
  }
62
60
 
63
- /**
64
- * Flattens two-dimensional array and calculates resulting length
65
- *
66
- * @param array twi dimensional array
67
- */
68
61
  function tuiFlatLength(array) {
69
62
  return array.reduce((count, section) => count + section.length, 0);
70
63
  }
71
64
 
72
- /**
73
- * Extracts original array from {@link QueryList} rather than
74
- * creating a copy like {@link QueryList.toArray} does.
75
- * @param queryList
76
- * @returns original array from {@link QueryList}.
77
- */
78
65
  function tuiGetOriginalArrayFromQueryList(queryList) {
79
66
  let array = [];
80
67
  queryList.find((_item, _index, originalArray) => {
@@ -96,12 +83,10 @@ function tuiIsFalsy(value) {
96
83
  }
97
84
 
98
85
  function tuiIsNumber(value) {
99
- // eslint-disable-next-line @taiga-ui/experience/no-typeof
100
86
  return typeof value === `number`;
101
87
  }
102
88
 
103
89
  function tuiIsObject(value) {
104
- // eslint-disable-next-line @taiga-ui/experience/no-typeof
105
90
  return typeof value === `object` && !!value;
106
91
  }
107
92
 
@@ -110,13 +95,12 @@ function tuiIsPresent(value) {
110
95
  }
111
96
 
112
97
  function tuiIsValidUrl(url) {
113
- const pattern = new RegExp(`^([a-zA-Z]+:\\/\\/)?` + // protocol
114
- `((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|localhost|` + // domain name
115
- `((\\d{1,3}\\.){3}\\d{1,3}))` + // OR IP (v4) address
116
- `(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*` + // port and path
117
- `(\\?[;&a-z\\d%_.~+=-]*)?` + // query string
118
- `(\\#[-a-z\\d_]*)?$`, // fragment locator
119
- `i`);
98
+ const pattern = new RegExp(`^([a-zA-Z]+:\\/\\/)?` +
99
+ `((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|localhost|` +
100
+ `((\\d{1,3}\\.){3}\\d{1,3}))` +
101
+ `(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*` +
102
+ `(\\?[;&a-z\\d%_.~+=-]*)?` +
103
+ `(\\#[-a-z\\d_]*)?$`, `i`);
120
104
  return pattern.test(url);
121
105
  }
122
106
 
@@ -135,14 +119,6 @@ function tuiMarkControlAsTouchedAndValidate(control) {
135
119
  control.updateValueAndValidity();
136
120
  }
137
121
 
138
- /**
139
- * Checks identity for nullable elements.
140
- *
141
- * @param a element a
142
- * @param b element b
143
- * @param handler called if both elements are not null
144
- * @return true if either both are null or they pass identity handler
145
- */
146
122
  function tuiNullableSame(a, b, handler) {
147
123
  if (a === null) {
148
124
  return b === null;
@@ -153,14 +129,6 @@ function tuiNullableSame(a, b, handler) {
153
129
  return handler(a, b);
154
130
  }
155
131
 
156
- /**
157
- * @deprecated use `Object.fromEntries` instead
158
- * (check browser support first https://caniuse.com/mdn-javascript_builtins_object_fromentries)
159
- * ___
160
- * TODO: after we bump Firefox to 63+ replace this function with `Object.fromEntries`.
161
- * TODO: Add `es2019.object` to `tsconfig.json` => `compilerOptions.lib`.
162
- *
163
- */
164
132
  function tuiObjectFromEntries(keyValuePairs) {
165
133
  return keyValuePairs.reduce((obj, [key, val]) => (Object.assign(Object.assign({}, obj), { [key]: val })), {});
166
134
  }
@@ -179,9 +147,5 @@ function tuiUniqBy(array, key) {
179
147
  .values());
180
148
  }
181
149
 
182
- /**
183
- * Generated bundle index. Do not edit.
184
- */
185
-
186
150
  export { tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiCleanObject, tuiCreateOptions, tuiCreateToken, tuiCreateTokenFromFactory, tuiDefaultSort, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFlatLength, tuiGetOriginalArrayFromQueryList, tuiGetSwipeDirection, tuiIsFalsy, tuiIsNumber, tuiIsObject, tuiIsPresent, tuiIsString, tuiIsValidUrl, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiObjectFromEntries, tuiProvideOptions, tuiUniqBy };
187
151
  //# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.js.map