@taiga-ui/cdk 4.52.0-canary.c107f6a → 4.52.0-canary.c8448e0

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 (274) hide show
  1. package/README.md +1 -1
  2. package/classes/control.d.ts +4 -6
  3. package/constants/empty.d.ts +0 -9
  4. package/constants/handlers.d.ts +2 -0
  5. package/constants/used-icons.d.ts +2 -2
  6. package/constants/version.d.ts +1 -1
  7. package/constants/version.js +1 -1
  8. package/date-time/date-fillers.d.ts +5 -5
  9. package/date-time/day-range.d.ts +1 -1
  10. package/date-time/day.d.ts +3 -3
  11. package/date-time/types.d.ts +1 -7
  12. package/directives/active-zone/active-zone.directive.d.ts +0 -3
  13. package/directives/animated/animated.directive.d.ts +1 -3
  14. package/directives/animated/index.d.ts +0 -1
  15. package/directives/auto-focus/autofocus.directive.d.ts +2 -3
  16. package/directives/copy-processor/copy-processor.directive.d.ts +2 -2
  17. package/directives/hovered/hovered.directive.d.ts +1 -2
  18. package/directives/index.d.ts +0 -5
  19. package/directives/media/media.directive.d.ts +8 -12
  20. package/directives/native-validator/native-validator.directive.d.ts +2 -2
  21. package/directives/obscured/obscured.directive.d.ts +4 -4
  22. package/directives/pan/pan.directive.d.ts +1 -2
  23. package/directives/platform/platform.directive.d.ts +2 -2
  24. package/directives/resizer/resizer.directive.d.ts +3 -4
  25. package/directives/swipe/swipe.directive.d.ts +1 -2
  26. package/directives/transitioned/transitioned.directive.d.ts +1 -0
  27. package/directives/value-changes/value-changes.directive.d.ts +3 -3
  28. package/fesm2022/taiga-ui-cdk-classes.mjs +8 -20
  29. package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-cdk-constants.mjs +16 -14
  31. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-cdk-date-time.mjs +23 -24
  33. package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +16 -27
  35. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +23 -70
  37. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +12 -13
  39. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
  41. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +8 -10
  42. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-cdk-directives-element.mjs +4 -4
  44. package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +5 -7
  46. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
  48. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
  49. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +11 -13
  50. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
  52. package/fesm2022/taiga-ui-cdk-directives-media.mjs +33 -57
  53. package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +9 -10
  55. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +14 -25
  57. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +10 -11
  59. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +9 -11
  61. package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +19 -21
  63. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +10 -11
  65. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +8 -14
  67. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-cdk-directives-validator.mjs +4 -4
  69. package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +12 -11
  71. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +5 -4
  73. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
  75. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +8 -7
  76. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-cdk-directives.mjs +0 -5
  78. package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-cdk-observables.mjs +2 -24
  80. package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
  82. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
  83. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +5 -4
  84. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-cdk-pipes.mjs +0 -6
  86. package/fesm2022/taiga-ui-cdk-pipes.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-cdk-portals.mjs +16 -16
  88. package/fesm2022/taiga-ui-cdk-portals.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-cdk-tokens.mjs +14 -47
  90. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-cdk-utils-browser.mjs +2 -3
  92. package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-cdk-utils-di.mjs +45 -4
  94. package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-cdk-utils-dom.mjs +2 -74
  96. package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +22 -38
  98. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-cdk-utils-math.mjs +13 -21
  100. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +45 -202
  102. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-cdk-utils.mjs +0 -1
  104. package/fesm2022/taiga-ui-cdk-utils.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-cdk.mjs +0 -1
  106. package/fesm2022/taiga-ui-cdk.mjs.map +1 -1
  107. package/index.d.ts +0 -1
  108. package/observables/index.d.ts +0 -2
  109. package/package.json +7 -60
  110. package/pipes/index.d.ts +0 -6
  111. package/pipes/obfuscate/obfuscate.options.d.ts +1 -1
  112. package/portals/portal.d.ts +1 -2
  113. package/schematics/index.d.ts +5 -0
  114. package/schematics/index.js +4 -0
  115. package/schematics/index.js.map +1 -1
  116. package/schematics/ng-add/constants/versions.d.ts +1 -1
  117. package/schematics/ng-add/steps/add-taiga-modules.js +0 -15
  118. package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
  119. package/schematics/ng-update/interfaces/html-comment.d.ts +1 -1
  120. package/schematics/ng-update/interfaces/removable-input.d.ts +1 -1
  121. package/schematics/ng-update/interfaces/replacement-attribute-to-directive.d.ts +1 -1
  122. package/schematics/ng-update/interfaces/replacement-attribute-value.d.ts +1 -1
  123. package/schematics/ng-update/interfaces/replacement-attribute.d.ts +1 -1
  124. package/schematics/ng-update/interfaces/replacement-tag.d.ts +1 -1
  125. package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +4 -4
  126. package/schematics/ng-update/v4/migrate-css-vars/palette.js +4 -4
  127. package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -1
  128. package/schematics/ng-update/v4/steps/migrate-templates.d.ts +2 -2
  129. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +13 -13
  130. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -1
  131. package/schematics/ng-update/v5/index.js +4 -0
  132. package/schematics/ng-update/v5/index.js.map +1 -1
  133. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.d.ts +2 -0
  134. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +26 -0
  135. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -0
  136. package/schematics/ng-update/v5/steps/constants/functions.js +1 -6
  137. package/schematics/ng-update/v5/steps/constants/functions.js.map +1 -1
  138. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +10 -0
  139. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -1
  140. package/schematics/ng-update/v5/steps/migrate-css-variables.d.ts +3 -0
  141. package/schematics/ng-update/v5/steps/migrate-css-variables.js +30 -0
  142. package/schematics/ng-update/v5/steps/migrate-css-variables.js.map +1 -0
  143. package/schematics/ng-update/v5/steps/migrate-templates.d.ts +2 -2
  144. package/schematics/ng-update/v5/steps/migrate-templates.js +6 -0
  145. package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
  146. package/schematics/ng-update/v5/steps/migrate-tui-let.d.ts +3 -0
  147. package/schematics/ng-update/v5/steps/migrate-tui-let.js +95 -0
  148. package/schematics/ng-update/v5/steps/migrate-tui-let.js.map +1 -0
  149. package/schematics/ng-update/v5/steps/templates/migrate-avatar.d.ts +8 -0
  150. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js +111 -0
  151. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js.map +1 -0
  152. package/schematics/ng-update/v5/steps/templates/migrate-notification.d.ts +8 -0
  153. package/schematics/ng-update/v5/steps/templates/migrate-notification.js +45 -0
  154. package/schematics/ng-update/v5/steps/templates/migrate-notification.js.map +1 -0
  155. package/schematics/utils/run-migration.d.ts +2 -2
  156. package/schematics/utils/run-migration.js +4 -3
  157. package/schematics/utils/run-migration.js.map +1 -1
  158. package/schematics/utils/templates/elements.d.ts +4 -1
  159. package/schematics/utils/templates/elements.js.map +1 -1
  160. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +3 -3
  161. package/tokens/environment.d.ts +0 -13
  162. package/tokens/index.d.ts +0 -2
  163. package/tokens/removed-element.d.ts +0 -3
  164. package/types/index.d.ts +0 -3
  165. package/utils/di/index.d.ts +3 -0
  166. package/utils/dom/index.d.ts +0 -6
  167. package/utils/focus/get-closest-focusable.d.ts +1 -6
  168. package/utils/focus/index.d.ts +4 -6
  169. package/utils/focus/{is-native-keyboard-focusable.d.ts → is-focusable.d.ts} +1 -1
  170. package/utils/index.d.ts +0 -1
  171. package/utils/math/clamp.d.ts +1 -5
  172. package/utils/math/index.d.ts +0 -2
  173. package/utils/miscellaneous/generate-id.d.ts +1 -0
  174. package/utils/miscellaneous/index.d.ts +2 -11
  175. package/utils/miscellaneous/sanitize-text.d.ts +23 -0
  176. package/directives/animated/animated-parent.directive.d.ts +0 -10
  177. package/directives/click-outside/click-outside.directive.d.ts +0 -14
  178. package/directives/click-outside/index.d.ts +0 -1
  179. package/directives/droppable/droppable.directive.d.ts +0 -8
  180. package/directives/droppable/index.d.ts +0 -1
  181. package/directives/let/index.d.ts +0 -2
  182. package/directives/let/let-context.d.ts +0 -11
  183. package/directives/let/let.directive.d.ts +0 -18
  184. package/directives/popover/index.d.ts +0 -1
  185. package/directives/popover/popover.directive.d.ts +0 -14
  186. package/directives/repeat-times/index.d.ts +0 -1
  187. package/directives/repeat-times/repeat-times.directive.d.ts +0 -22
  188. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +0 -38
  189. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +0 -36
  191. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-cdk-directives-let.mjs +0 -52
  193. package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-cdk-directives-popover.mjs +0 -32
  195. package/fesm2022/taiga-ui-cdk-directives-popover.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +0 -60
  197. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs +0 -32
  199. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs +0 -24
  201. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs +0 -23
  203. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs +0 -24
  205. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs +0 -25
  207. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs +0 -23
  209. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-cdk-services.mjs +0 -151
  211. package/fesm2022/taiga-ui-cdk-services.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-cdk-utils-color.mjs +0 -195
  213. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +0 -1
  214. package/observables/must-be-present.d.ts +0 -5
  215. package/observables/query-list-observable.d.ts +0 -6
  216. package/pipes/animation/animation.pipe.d.ts +0 -13
  217. package/pipes/animation/index.d.ts +0 -1
  218. package/pipes/is-present/index.d.ts +0 -1
  219. package/pipes/is-present/is-present.pipe.d.ts +0 -7
  220. package/pipes/keys/index.d.ts +0 -1
  221. package/pipes/keys/keys.pipe.d.ts +0 -7
  222. package/pipes/repeat-times/index.d.ts +0 -7
  223. package/pipes/replace/index.d.ts +0 -1
  224. package/pipes/replace/replace.pipe.d.ts +0 -7
  225. package/pipes/to-array/index.d.ts +0 -1
  226. package/pipes/to-array/to-array.pipe.d.ts +0 -7
  227. package/schematics/migrate-tui-let/index.d.ts +0 -3
  228. package/schematics/migrate-tui-let/index.js +0 -73
  229. package/schematics/migrate-tui-let/index.js.map +0 -1
  230. package/schematics/migrate-tui-let/schema.json +0 -7
  231. package/services/id.service.d.ts +0 -8
  232. package/services/index.d.ts +0 -4
  233. package/services/popover.service.d.ts +0 -25
  234. package/services/scroll.service.d.ts +0 -13
  235. package/services/theme-color.service.d.ts +0 -18
  236. package/tokens/base-href.d.ts +0 -2
  237. package/tokens/range.d.ts +0 -5
  238. package/types/loose-union.d.ts +0 -36
  239. package/types/safe-html.d.ts +0 -2
  240. package/types/values-of.d.ts +0 -1
  241. package/utils/color/get-gradient-data.d.ts +0 -1
  242. package/utils/color/hex-to-rgb.d.ts +0 -1
  243. package/utils/color/hex-to-rgba.d.ts +0 -3
  244. package/utils/color/hsv-to-rgb.d.ts +0 -4
  245. package/utils/color/index.d.ts +0 -9
  246. package/utils/color/parse-color.d.ts +0 -1
  247. package/utils/color/parse-gradient.d.ts +0 -10
  248. package/utils/color/rgb-to-hex.d.ts +0 -1
  249. package/utils/color/rgb-to-hsv.d.ts +0 -1
  250. package/utils/color/rgba-to-hex.d.ts +0 -2
  251. package/utils/dom/get-element-point.d.ts +0 -2
  252. package/utils/dom/is-current-target.d.ts +0 -1
  253. package/utils/dom/is-inside-iframe.d.ts +0 -4
  254. package/utils/dom/is-node-in.d.ts +0 -8
  255. package/utils/dom/retarget-boundary-crossing.d.ts +0 -1
  256. package/utils/dom/value-binding.d.ts +0 -3
  257. package/utils/focus/blur-native-focused.d.ts +0 -4
  258. package/utils/focus/is-native-mouse-focusable.d.ts +0 -1
  259. package/utils/math/to-integer.d.ts +0 -1
  260. package/utils/math/to-radians.d.ts +0 -4
  261. package/utils/miscellaneous/change-date-separator.d.ts +0 -1
  262. package/utils/miscellaneous/create-token.d.ts +0 -9
  263. package/utils/miscellaneous/flat-length.d.ts +0 -6
  264. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -8
  265. package/utils/miscellaneous/is-falsy.d.ts +0 -1
  266. package/utils/miscellaneous/is-valid-url.d.ts +0 -4
  267. package/utils/miscellaneous/pure.d.ts +0 -22
  268. package/utils/miscellaneous/uniq-by.d.ts +0 -1
  269. /package/utils/{miscellaneous → di}/directive-binding.d.ts +0 -0
  270. /package/utils/{miscellaneous → di}/provide-options.d.ts +0 -0
  271. /package/utils/{miscellaneous → di}/provide.d.ts +0 -0
  272. /package/utils/focus/{get-native-focused.d.ts → get-focused.d.ts} +0 -0
  273. /package/utils/focus/{is-native-focused-in.d.ts → is-focused-in.d.ts} +0 -0
  274. /package/utils/focus/{is-native-focused.d.ts → is-focused.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
1
  import { FormArray, FormGroup } from '@angular/forms';
2
2
  import { tuiToInt } from '@taiga-ui/cdk/utils/math';
3
- import { InjectionToken, isSignal, signal, inject, effect, DestroyRef, EnvironmentInjector, createComponent } from '@angular/core';
4
3
  import { SIGNAL } from '@angular/core/primitives/signals';
4
+ import { InjectionToken, inject, DestroyRef, EnvironmentInjector, createComponent } from '@angular/core';
5
5
 
6
6
  function tuiArrayRemove(array, index) {
7
7
  return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));
8
8
  }
9
9
 
10
10
  function tuiArrayShallowEquals(a, b) {
11
- return a.length === b.length && a.every((item, index) => item === b[index]);
11
+ return a.length === b.length && a.every((item, index) => Object.is(item, b[index]));
12
12
  }
13
13
 
14
14
  function tuiArrayToggle(array, item, identity) {
@@ -18,9 +18,6 @@ function tuiArrayToggle(array, item, identity) {
18
18
  return index === -1 ? [...array, item] : tuiArrayRemove(array, index);
19
19
  }
20
20
 
21
- /* internal */
22
- const changeDateSeparator = (dateString, newDateSeparator) => dateString.replaceAll(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);
23
-
24
21
  function tuiIsControlEmpty({ value = null }) {
25
22
  return value === null || value === '' || (Array.isArray(value) && !value.length);
26
23
  }
@@ -35,21 +32,6 @@ function tuiCountFilledControls(control) {
35
32
  return tuiToInt(!tuiIsControlEmpty(control));
36
33
  }
37
34
 
38
- /**
39
- * @deprecated: drop in v5.0
40
- */
41
- function tuiCreateToken(defaults) {
42
- return defaults === undefined
43
- ? new InjectionToken('')
44
- : tuiCreateTokenFromFactory(() => defaults);
45
- }
46
- /**
47
- * @deprecated: drop in v5.0
48
- */
49
- function tuiCreateTokenFromFactory(factory) {
50
- return factory ? new InjectionToken('', { factory }) : new InjectionToken('');
51
- }
52
-
53
35
  function tuiIsString(value) {
54
36
  return typeof value === 'string';
55
37
  }
@@ -64,45 +46,6 @@ function tuiDefaultSort(x, y) {
64
46
  return x > y ? 1 : -1;
65
47
  }
66
48
 
67
- function tuiSetSignal(signal, value) {
68
- if ('set' in signal) {
69
- signal.set(value);
70
- }
71
- else if ('applyValueToInputSignal' in signal[SIGNAL]) {
72
- signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);
73
- }
74
- else {
75
- ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');
76
- }
77
- }
78
-
79
- function tuiDirectiveBinding(token, key, initial, options = { self: true }) {
80
- const result = isSignal(initial) ? initial : signal(initial);
81
- const directive = inject(token, options);
82
- const output = directive?.[`${key.toString()}Change`];
83
- if (!directive) {
84
- return result;
85
- }
86
- // TODO: Figure out why effects are executed all the time and not just when result changes (check with Angular 18)
87
- let previous;
88
- effect(() => {
89
- const value = result();
90
- if (previous === value) {
91
- return;
92
- }
93
- if (isSignal(directive[key])) {
94
- tuiSetSignal(directive[key], value);
95
- }
96
- else {
97
- directive[key] = value;
98
- }
99
- directive.ngOnChanges?.({});
100
- output?.emit?.(value);
101
- previous = value;
102
- });
103
- return result;
104
- }
105
-
106
49
  function tuiDistanceBetweenTouches({ touches }) {
107
50
  return Math.hypot((touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0), (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0));
108
51
  }
@@ -114,15 +57,6 @@ function tuiEaseInOutQuad(t) {
114
57
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
115
58
  }
116
59
 
117
- /**
118
- * Flattens two-dimensional array and calculates resulting length
119
- *
120
- * @param array twi dimensional array
121
- */
122
- function tuiFlatLength(array) {
123
- return array.reduce((count, section) => count + section.length, 0);
124
- }
125
-
126
60
  const IFRAME = 'position: fixed; visibility: hidden; pointer-events: none';
127
61
  const BODY = 'height: fit-content; line-height: 1em;';
128
62
  const CLASS = 'tui-font-size-watcher';
@@ -153,23 +87,9 @@ function tuiFontSizeWatcher(callback, win = window) {
153
87
  };
154
88
  }
155
89
 
156
- /**
157
- * Extracts original array from {@link QueryList} rather than
158
- * creating a copy like {@link QueryList.toArray} does.
159
- * @param queryList
160
- * @returns original array from {@link QueryList}.
161
- */
162
- function tuiGetOriginalArrayFromQueryList(queryList) {
163
- let array = [];
164
- queryList.find((_item, _index, originalArray) => {
165
- array = originalArray;
166
- return true;
167
- });
168
- return array;
169
- }
170
-
171
- function tuiIsFalsy(value) {
172
- return !value;
90
+ let autoId = 0;
91
+ function tuiGenerateId() {
92
+ return `tui_${autoId++}${Date.now()}`;
173
93
  }
174
94
 
175
95
  function tuiIsNumber(value) {
@@ -184,19 +104,6 @@ function tuiIsPresent(value) {
184
104
  return value !== null && value !== undefined;
185
105
  }
186
106
 
187
- /**
188
- * @deprecated: drop in v5.0
189
- */
190
- function tuiIsValidUrl(url) {
191
- return new RegExp(String.raw `^([a-zA-Z]+:\/\/)?` + // protocol
192
- String.raw `((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|localhost|` + // domain name
193
- String.raw `((\d{1,3}\.){3}\d{1,3}))` + // OR IP (v4) address
194
- String.raw `(\:\d+)?(\/[-a-z\d%_.~+\:]*)*` + // port and path
195
- String.raw `(\?[)(;&a-z\d%_.~+=-]*)?` + // query string
196
- String.raw `(\#[-a-z\d_]*)?$`, // fragment locator
197
- 'i').test(url);
198
- }
199
-
200
107
  function tuiMarkControlAsTouchedAndValidate(control) {
201
108
  if (control instanceof FormArray) {
202
109
  control.controls.forEach((nestedControl) => {
@@ -283,105 +190,6 @@ function getObfuscateIndexes(value, match) {
283
190
  return obfuscateIndexes;
284
191
  }
285
192
 
286
- function tuiProvide(provide, useExisting, multi = false) {
287
- return { provide, useExisting, multi };
288
- }
289
-
290
- function tuiProvideOptions(provide, options, fallback) {
291
- return {
292
- provide,
293
- useFactory: () => ({
294
- ...(inject(provide, { optional: true, skipSelf: true }) || fallback),
295
- ...(inject(options, { optional: true }) ||
296
- // @ts-ignore
297
- (typeof options === 'function' ? options() : options)),
298
- }),
299
- };
300
- }
301
-
302
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
303
- function decorateMethod(originalMethod) {
304
- let previousArgs = [];
305
- let originalFnWasCalledLeastAtOnce = false;
306
- let pureValue;
307
- return function tuiPureMethodPatched(...args) {
308
- const isPure = originalFnWasCalledLeastAtOnce &&
309
- previousArgs.length === args.length &&
310
- args.every((arg, index) => arg === previousArgs[index]);
311
- if (isPure) {
312
- return pureValue;
313
- }
314
- previousArgs = args;
315
- pureValue = originalMethod.apply(this, args);
316
- originalFnWasCalledLeastAtOnce = true;
317
- return pureValue;
318
- };
319
- }
320
- function decorateGetter(originalGetter, propertyKey, enumerable = true) {
321
- return function tuiPureGetterPatched() {
322
- const value = originalGetter.call(this);
323
- Object.defineProperty(this, propertyKey, { enumerable, value });
324
- return value;
325
- };
326
- }
327
- function tuiPure(target, propertyKeyOrContext, descriptor) {
328
- if (typeof target === 'function') {
329
- const context = propertyKeyOrContext;
330
- if (context.kind === 'getter') {
331
- return decorateGetter(target, context.name);
332
- }
333
- if (context.kind === 'method') {
334
- return decorateMethod(target);
335
- }
336
- throw new TuiPureException();
337
- }
338
- // TODO(v5): drop compatibility for legacy "experimentalDecorators": true
339
- const { get, enumerable, value } = descriptor;
340
- const propertyKey = propertyKeyOrContext;
341
- if (get) {
342
- return {
343
- configurable: true,
344
- enumerable,
345
- get: decorateGetter(get, propertyKey, enumerable),
346
- };
347
- }
348
- if (typeof value !== 'function') {
349
- throw new TuiPureException();
350
- }
351
- const original = value;
352
- return {
353
- configurable: true,
354
- enumerable,
355
- get() {
356
- let previousArgs = [];
357
- let originalFnWasCalledLeastAtOnce = false;
358
- let pureValue;
359
- const patched = (...args) => {
360
- const isPure = originalFnWasCalledLeastAtOnce &&
361
- previousArgs.length === args.length &&
362
- args.every((arg, index) => arg === previousArgs[index]);
363
- if (isPure) {
364
- return pureValue;
365
- }
366
- previousArgs = args;
367
- pureValue = original.apply(this, args);
368
- originalFnWasCalledLeastAtOnce = true;
369
- return pureValue;
370
- };
371
- Object.defineProperty(this, propertyKey, {
372
- configurable: true,
373
- value: patched,
374
- });
375
- return patched;
376
- },
377
- };
378
- }
379
- class TuiPureException extends Error {
380
- constructor() {
381
- super(ngDevMode ? 'tuiPure can only be used with functions or getters' : '');
382
- }
383
- }
384
-
385
193
  /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
386
194
  /**
387
195
  * Adds 'px' to the number and turns it into a string
@@ -391,10 +199,45 @@ function tuiPx(value) {
391
199
  return `${value}px`;
392
200
  }
393
201
 
394
- function tuiUniqBy(array, key) {
395
- return Array.from(array
396
- .reduce((map, item) => (map.has(item[key]) ? map : map.set(item[key], item)), new Map())
397
- .values());
202
+ /**
203
+ * Sanitizes pasted or dropped text by removing invisible and control characters
204
+ * that can appear in clipboard or drag-and-drop data.
205
+ *
206
+ * Removes:
207
+ * 1. ASCII control characters (0x00–0x1F) — non-printable characters like
208
+ * NULL, BEL, BS, CR, LF, TAB, ESC, etc.
209
+ * 2. Extended control characters (0x7F–0x9F) — C1 control codes from ISO-8859-1,
210
+ * often found in legacy or malformed text encodings.
211
+ * 3. Zero-width and special Unicode characters:
212
+ * - U+200B ZERO WIDTH SPACE
213
+ * - U+200C ZERO WIDTH NON-JOINER
214
+ * - U+200D ZERO WIDTH JOINER
215
+ * - U+FEFF BYTE ORDER MARK (BOM)
216
+ *
217
+ * @param {string} value - The input string from clipboard or drag event.
218
+ * @returns {string} - A cleaned string without control or invisible characters.
219
+ *
220
+ * @example
221
+ * tuiSanitizeText('Hello\u0000World\u200B!');
222
+ * // → "HelloWorld!"
223
+ */
224
+ function tuiSanitizeText(value) {
225
+ // eslint-disable-next-line no-control-regex
226
+ const controlCharsRegex = /[\x00-\x1F\x7F-\x9F]/g;
227
+ const zeroWidthCharsRegex = /[\u200B-\u200D\uFEFF]/g;
228
+ return value.replaceAll(controlCharsRegex, '').replaceAll(zeroWidthCharsRegex, '');
229
+ }
230
+
231
+ function tuiSetSignal(signal, value) {
232
+ if ('set' in signal) {
233
+ signal.set(value);
234
+ }
235
+ else if ('applyValueToInputSignal' in signal[SIGNAL]) {
236
+ signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);
237
+ }
238
+ else {
239
+ ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');
240
+ }
398
241
  }
399
242
 
400
243
  const MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {
@@ -417,5 +260,5 @@ function tuiWithStyles(component) {
417
260
  * Generated bundle index. Do not edit.
418
261
  */
419
262
 
420
- export { TuiPureException, changeDateSeparator, tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiCountFilledControls, tuiCreateToken, tuiCreateTokenFromFactory, tuiDefaultSort, tuiDirectiveBinding, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFlatLength, tuiFontSizeWatcher, tuiGetOriginalArrayFromQueryList, tuiIsControlEmpty, tuiIsFalsy, tuiIsNumber, tuiIsObject, tuiIsPresent, tuiIsString, tuiIsValidUrl, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiObfuscate, tuiProvide, tuiProvideOptions, tuiPure, tuiPx, tuiSetSignal, tuiUniqBy, tuiWithStyles };
263
+ export { tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiCountFilledControls, tuiDefaultSort, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFontSizeWatcher, tuiGenerateId, tuiIsControlEmpty, tuiIsNumber, tuiIsObject, tuiIsPresent, tuiIsString, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiObfuscate, tuiPx, tuiSanitizeText, tuiSetSignal, tuiWithStyles };
421
264
  //# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.mjs","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-shallow-equals.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/change-date-separator.ts","../../../projects/cdk/utils/miscellaneous/is-control-empty.ts","../../../projects/cdk/utils/miscellaneous/count-filled-controls.ts","../../../projects/cdk/utils/miscellaneous/create-token.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/default-sort.ts","../../../projects/cdk/utils/miscellaneous/set-signal.ts","../../../projects/cdk/utils/miscellaneous/directive-binding.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/flat-length.ts","../../../projects/cdk/utils/miscellaneous/font-size-watcher.ts","../../../projects/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","../../../projects/cdk/utils/miscellaneous/is-falsy.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-object.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/is-valid-url.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/obfuscate.ts","../../../projects/cdk/utils/miscellaneous/provide.ts","../../../projects/cdk/utils/miscellaneous/provide-options.ts","../../../projects/cdk/utils/miscellaneous/pure.ts","../../../projects/cdk/utils/miscellaneous/px.ts","../../../projects/cdk/utils/miscellaneous/uniq-by.ts","../../../projects/cdk/utils/miscellaneous/with-styles.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","export function tuiArrayShallowEquals<T>(a: readonly T[], b: readonly T[]): boolean {\n return a.length === b.length && a.every((item, index) => item === b[index]);\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(\n array: readonly T[],\n item: T,\n identity?: TuiIdentityMatcher<T>,\n): T[] {\n const index = identity\n ? array.findIndex((it) => identity(it, item))\n : array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","/* internal */\nexport const changeDateSeparator = (\n dateString: string,\n newDateSeparator: string,\n): string => dateString.replaceAll(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);\n","import {type AbstractControl} from '@angular/forms';\n\nexport function tuiIsControlEmpty({value = null}: AbstractControl): boolean {\n return value === null || value === '' || (Array.isArray(value) && !value.length);\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\nimport {tuiToInt} from '@taiga-ui/cdk/utils/math';\n\nimport {tuiIsControlEmpty} from './is-control-empty';\n\nexport function tuiCountFilledControls(control: AbstractControl): number {\n if (control instanceof FormArray) {\n return control.controls.reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n if (control instanceof FormGroup) {\n return Object.values(control.controls).reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n return tuiToInt(!tuiIsControlEmpty(control));\n}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiCreateToken<T>(defaults?: T): InjectionToken<T> {\n return defaults === undefined\n ? new InjectionToken('')\n : tuiCreateTokenFromFactory(() => defaults);\n}\n\n/**\n * @deprecated: drop in v5.0\n */\nexport function tuiCreateTokenFromFactory<T>(factory?: () => T): InjectionToken<T> {\n return factory ? new InjectionToken<T>('', {factory}) : new InjectionToken<T>('');\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {tuiIsString} from './is-string';\n\nexport function tuiDefaultSort<T>(x: T, y: T): number {\n if (x === y) {\n return 0;\n }\n\n if (tuiIsString(x) && tuiIsString(y)) {\n return x.localeCompare(y);\n }\n\n return x > y ? 1 : -1;\n}\n","import {type InputSignal, type WritableSignal} from '@angular/core';\nimport {SIGNAL} from '@angular/core/primitives/signals';\n\nexport function tuiSetSignal<T>(\n signal: InputSignal<T> | WritableSignal<T>,\n value: T,\n): void {\n if ('set' in signal) {\n signal.set(value);\n } else if ('applyValueToInputSignal' in signal[SIGNAL]) {\n signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);\n } else {\n ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');\n }\n}\n","import {\n effect,\n inject,\n type InjectOptions,\n isSignal,\n type ProviderToken,\n type Signal,\n signal,\n type WritableSignal,\n} from '@angular/core';\n\nimport {tuiSetSignal} from './set-signal';\n\ntype SignalLikeTypeOf<T> = T extends Signal<infer R> ? R : T;\n\ntype SignalLike<T> = Signal<T> | T;\n\nexport function tuiDirectiveBinding<\n T,\n G extends keyof T,\n I extends SignalLike<SignalLikeTypeOf<T[G]>>,\n>(\n token: ProviderToken<T>,\n key: G,\n initial: I,\n options: InjectOptions = {self: true},\n): I extends Signal<any> ? I : WritableSignal<I> {\n const result: any = isSignal(initial) ? initial : signal(initial);\n const directive: any = inject(token, options);\n const output = directive?.[`${key.toString()}Change`];\n\n if (!directive) {\n return result;\n }\n\n // TODO: Figure out why effects are executed all the time and not just when result changes (check with Angular 18)\n let previous: any;\n\n effect(() => {\n const value: any = result();\n\n if (previous === value) {\n return;\n }\n\n if (isSignal(directive[key])) {\n tuiSetSignal(directive[key] as any, value);\n } else {\n directive[key] = value;\n }\n\n directive.ngOnChanges?.({});\n output?.emit?.(value);\n previous = value;\n });\n\n return result;\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n (touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0),\n (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0),\n );\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport function tuiEaseInOutQuad(t: number): number {\n ngDevMode &&\n console.assert(\n t >= 0 && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","/**\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function tuiFlatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","const IFRAME = 'position: fixed; visibility: hidden; pointer-events: none';\nconst BODY = 'height: fit-content; line-height: 1em;';\nconst CLASS = 'tui-font-size-watcher';\n\nexport function tuiFontSizeWatcher(\n callback: (fontSize: number) => void,\n win: Window = window,\n): () => void {\n if (win.document.querySelector(`.${CLASS}`)) {\n return () => {};\n }\n\n const iframe = win.document.createElement('iframe');\n const resize = (): void => {\n const {innerWidth, outerWidth, devicePixelRatio} = win;\n\n iframe.width = `${innerWidth === outerWidth ? innerWidth : innerWidth / devicePixelRatio}`;\n };\n\n win.document.body.append(iframe);\n win.addEventListener('resize', resize);\n\n const doc = iframe.contentWindow?.document;\n const observer = new ResizeObserver(() => callback(doc?.body.offsetHeight || 0));\n\n iframe.setAttribute('class', CLASS);\n iframe.setAttribute('style', IFRAME);\n doc?.documentElement.style.setProperty('font', '-apple-system-body');\n doc?.body.setAttribute('style', BODY);\n doc?.body.insertAdjacentText('beforeend', '.'.repeat(1000));\n observer.observe(doc?.body || iframe);\n resize();\n\n return () => {\n observer.disconnect();\n iframe.remove();\n win.removeEventListener('resize', resize);\n };\n}\n","import {type QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function tuiGetOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","export function tuiIsFalsy(value: unknown): boolean {\n return !value;\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","export function tuiIsObject<T extends Record<string, any>>(\n value: unknown,\n): value is NonNullable<T> {\n return typeof value === 'object' && !!value;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","/**\n * @deprecated: drop in v5.0\n */\nexport function tuiIsValidUrl(url: string): boolean {\n return new RegExp(\n String.raw`^([a-zA-Z]+:\\/\\/)?` + // protocol\n String.raw`((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|localhost|` + // domain name\n String.raw`((\\d{1,3}\\.){3}\\d{1,3}))` + // OR IP (v4) address\n String.raw`(\\:\\d+)?(\\/[-a-z\\d%_.~+\\:]*)*` + // port and path\n String.raw`(\\?[)(;&a-z\\d%_.~+=-]*)?` + // query string\n String.raw`(\\#[-a-z\\d_]*)?$`, // fragment locator\n 'i',\n ).test(url);\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","/**\n * Obfuscates a string by replacing certain characters with a symbol.\n *\n * @param value the input string to obfuscate\n * @param symbol the symbol for obfuscation\n * @return the obfuscated string\n *\n * The function determines which characters to obfuscate using a regular expression and the string's length:\n * - 8 or more: show first 2 and last 2 characters\n * - 4 to 7: show first and last character\n * - less than 4: obfuscate all characters\n * - obfuscates only alphanumeric characters\n */\nexport function tuiObfuscate(value: string, symbol: string): string {\n if (!value) {\n return value;\n }\n\n const match = /[\\p{L}\\p{N}]/gu;\n\n let visible = 0;\n let obfuscateIndexes: number[] = getObfuscateIndexes(value, match);\n\n if (obfuscateIndexes.length >= 8) {\n visible = 2;\n } else if (obfuscateIndexes.length >= 4) {\n visible = 1;\n }\n\n obfuscateIndexes = obfuscateIndexes.slice(visible, obfuscateIndexes.length);\n\n const lastIndex = (obfuscateIndexes.length satisfies number) - visible;\n\n obfuscateIndexes = obfuscateIndexes.slice(0, lastIndex < 0 ? 0 : lastIndex);\n\n const result = value.split('');\n\n obfuscateIndexes.forEach((index) => {\n result[index] = symbol;\n });\n\n return result.join('');\n}\n\nfunction getObfuscateIndexes(value: string, match?: RegExp): number[] {\n if (!match) {\n return Array.from({length: value.length}).map((_, index) => index);\n }\n\n const obfuscateIndexes: number[] = [];\n let matchResult;\n let count = 0;\n\n while ((matchResult = match.exec(value)) !== null && count < value.length) {\n const start = matchResult.index;\n const end = match.lastIndex - 1;\n\n for (let i = start; i <= end; i++) {\n obfuscateIndexes.push(i);\n }\n\n count++;\n }\n\n return obfuscateIndexes;\n}\n","import {type ExistingProvider, type ProviderToken} from '@angular/core';\n\nexport function tuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n): ExistingProvider;\nexport function tuiProvide<T>(\n provide: ProviderToken<T | T[]>,\n useExisting: ProviderToken<T>,\n multi: boolean,\n): ExistingProvider;\nexport function tuiProvide<T>(\n provide: ProviderToken<T>,\n useExisting: ProviderToken<T>,\n multi = false,\n): ExistingProvider {\n return {provide, useExisting, multi};\n}\n","import {type FactoryProvider, inject, type InjectionToken} from '@angular/core';\n\nexport function tuiProvideOptions<T>(\n provide: InjectionToken<T>,\n options: Partial<T> | (() => Partial<T>),\n fallback: T,\n): FactoryProvider {\n return {\n provide,\n useFactory: (): T => ({\n ...(inject(provide, {optional: true, skipSelf: true}) || fallback),\n ...(inject(options as any, {optional: true}) ||\n // @ts-ignore\n (typeof options === 'function' ? options() : options)),\n }),\n };\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nfunction decorateMethod(\n originalMethod: (...args: unknown[]) => unknown,\n): (this: object, ...args: unknown[]) => unknown {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n return function tuiPureMethodPatched(this: object, ...args: unknown[]): unknown {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = originalMethod.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n}\n\nfunction decorateGetter(\n originalGetter: () => unknown,\n propertyKey: string | symbol,\n enumerable = true,\n): (this: object) => unknown {\n return function tuiPureGetterPatched(this: object): unknown {\n const value = originalGetter.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n };\n}\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: they must be pure.\n * TODO(v5): drop compatibility for legacy \"experimentalDecorators\": true\n */\nexport function tuiPure<T>(\n target: object,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T>;\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * CAUTION: they must be pure.\n */\nexport function tuiPure<A extends unknown[], R>(\n target: (...args: A) => R,\n context: ClassGetterDecoratorContext | ClassMethodDecoratorContext,\n): (...args: A) => R;\n\nexport function tuiPure(\n target: object | ((...args: unknown[]) => unknown),\n propertyKeyOrContext:\n | ClassGetterDecoratorContext\n | ClassMethodDecoratorContext\n | string,\n descriptor?: TypedPropertyDescriptor<(...args: unknown[]) => unknown>,\n): TypedPropertyDescriptor<unknown> | ((...args: unknown[]) => unknown) {\n if (typeof target === 'function') {\n const context = propertyKeyOrContext as\n | ClassGetterDecoratorContext\n | ClassMethodDecoratorContext;\n\n if (context.kind === 'getter') {\n return decorateGetter(target as () => unknown, context.name);\n }\n\n if (context.kind === 'method') {\n return decorateMethod(target as (...args: unknown[]) => unknown);\n }\n\n throw new TuiPureException();\n }\n\n // TODO(v5): drop compatibility for legacy \"experimentalDecorators\": true\n const {get, enumerable, value} = descriptor!;\n const propertyKey = propertyKeyOrContext as string;\n\n if (get) {\n return {\n configurable: true,\n enumerable,\n get: decorateGetter(get, propertyKey, enumerable),\n };\n }\n\n if (typeof value !== 'function') {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n configurable: true,\n enumerable,\n get(): unknown {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {\n configurable: true,\n value: patched,\n });\n\n return patched as unknown;\n },\n };\n}\n\nexport class TuiPureException extends Error {\n constructor() {\n super(ngDevMode ? 'tuiPure can only be used with functions or getters' : '');\n }\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && console.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","import {type TuiValuesOf} from '@taiga-ui/cdk/types';\n\nexport function tuiUniqBy<T extends Record<string, any>>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<TuiValuesOf<T>, T>(),\n )\n .values(),\n );\n}\n","import {\n createComponent,\n DestroyRef,\n EnvironmentInjector,\n inject,\n InjectionToken,\n type Type,\n} from '@angular/core';\n\nconst MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {\n factory: () => {\n const map = new Map();\n\n inject(DestroyRef).onDestroy(() =>\n map.forEach((component) => component.destroy()),\n );\n\n return map;\n },\n});\n\nexport function tuiWithStyles(component: Type<unknown>): undefined {\n const map = inject(MAP);\n const environmentInjector = inject(EnvironmentInjector);\n\n if (!map.has(component)) {\n map.set(component, createComponent(component, {environmentInjector}));\n }\n\n return undefined;\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-miscellaneous.mjs","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-shallow-equals.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/is-control-empty.ts","../../../projects/cdk/utils/miscellaneous/count-filled-controls.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/default-sort.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/font-size-watcher.ts","../../../projects/cdk/utils/miscellaneous/generate-id.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-object.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/obfuscate.ts","../../../projects/cdk/utils/miscellaneous/px.ts","../../../projects/cdk/utils/miscellaneous/sanitize-text.ts","../../../projects/cdk/utils/miscellaneous/set-signal.ts","../../../projects/cdk/utils/miscellaneous/with-styles.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","export function tuiArrayShallowEquals<T>(a: readonly T[], b: readonly T[]): boolean {\n return a.length === b.length && a.every((item, index) => Object.is(item, b[index]));\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(\n array: readonly T[],\n item: T,\n identity?: TuiIdentityMatcher<T>,\n): T[] {\n const index = identity\n ? array.findIndex((it) => identity(it, item))\n : array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","import {type AbstractControl} from '@angular/forms';\n\nexport function tuiIsControlEmpty({value = null}: AbstractControl): boolean {\n return value === null || value === '' || (Array.isArray(value) && !value.length);\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\nimport {tuiToInt} from '@taiga-ui/cdk/utils/math';\n\nimport {tuiIsControlEmpty} from './is-control-empty';\n\nexport function tuiCountFilledControls(control: AbstractControl): number {\n if (control instanceof FormArray) {\n return control.controls.reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n if (control instanceof FormGroup) {\n return Object.values(control.controls).reduce(\n (acc, nestedControl) => acc + tuiCountFilledControls(nestedControl),\n 0,\n );\n }\n\n return tuiToInt(!tuiIsControlEmpty(control));\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === 'string';\n}\n","import {tuiIsString} from './is-string';\n\nexport function tuiDefaultSort<T>(x: T, y: T): number {\n if (x === y) {\n return 0;\n }\n\n if (tuiIsString(x) && tuiIsString(y)) {\n return x.localeCompare(y);\n }\n\n return x > y ? 1 : -1;\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n (touches[0]?.clientX ?? 0) - (touches[1]?.clientX ?? 0),\n (touches[0]?.clientY ?? 0) - (touches[1]?.clientY ?? 0),\n );\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\nexport function tuiEaseInOutQuad(t: number): number {\n ngDevMode &&\n console.assert(\n t >= 0 && t <= 1,\n 'Input must be between 0 and 1 inclusive but received ',\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","const IFRAME = 'position: fixed; visibility: hidden; pointer-events: none';\nconst BODY = 'height: fit-content; line-height: 1em;';\nconst CLASS = 'tui-font-size-watcher';\n\nexport function tuiFontSizeWatcher(\n callback: (fontSize: number) => void,\n win: Window = window,\n): () => void {\n if (win.document.querySelector(`.${CLASS}`)) {\n return () => {};\n }\n\n const iframe = win.document.createElement('iframe');\n const resize = (): void => {\n const {innerWidth, outerWidth, devicePixelRatio} = win;\n\n iframe.width = `${innerWidth === outerWidth ? innerWidth : innerWidth / devicePixelRatio}`;\n };\n\n win.document.body.append(iframe);\n win.addEventListener('resize', resize);\n\n const doc = iframe.contentWindow?.document;\n const observer = new ResizeObserver(() => callback(doc?.body.offsetHeight || 0));\n\n iframe.setAttribute('class', CLASS);\n iframe.setAttribute('style', IFRAME);\n doc?.documentElement.style.setProperty('font', '-apple-system-body');\n doc?.body.setAttribute('style', BODY);\n doc?.body.insertAdjacentText('beforeend', '.'.repeat(1000));\n observer.observe(doc?.body || iframe);\n resize();\n\n return () => {\n observer.disconnect();\n iframe.remove();\n win.removeEventListener('resize', resize);\n };\n}\n","let autoId = 0;\n\nexport function tuiGenerateId(): string {\n return `tui_${autoId++}${Date.now()}`;\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === 'number';\n}\n","export function tuiIsObject<T extends Record<string, any>>(\n value: unknown,\n): value is NonNullable<T> {\n return typeof value === 'object' && !!value;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","import {type AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach((nestedControl) => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","/**\n * Obfuscates a string by replacing certain characters with a symbol.\n *\n * @param value the input string to obfuscate\n * @param symbol the symbol for obfuscation\n * @return the obfuscated string\n *\n * The function determines which characters to obfuscate using a regular expression and the string's length:\n * - 8 or more: show first 2 and last 2 characters\n * - 4 to 7: show first and last character\n * - less than 4: obfuscate all characters\n * - obfuscates only alphanumeric characters\n */\nexport function tuiObfuscate(value: string, symbol: string): string {\n if (!value) {\n return value;\n }\n\n const match = /[\\p{L}\\p{N}]/gu;\n\n let visible = 0;\n let obfuscateIndexes: number[] = getObfuscateIndexes(value, match);\n\n if (obfuscateIndexes.length >= 8) {\n visible = 2;\n } else if (obfuscateIndexes.length >= 4) {\n visible = 1;\n }\n\n obfuscateIndexes = obfuscateIndexes.slice(visible, obfuscateIndexes.length);\n\n const lastIndex = (obfuscateIndexes.length satisfies number) - visible;\n\n obfuscateIndexes = obfuscateIndexes.slice(0, lastIndex < 0 ? 0 : lastIndex);\n\n const result = value.split('');\n\n obfuscateIndexes.forEach((index) => {\n result[index] = symbol;\n });\n\n return result.join('');\n}\n\nfunction getObfuscateIndexes(value: string, match?: RegExp): number[] {\n if (!match) {\n return Array.from({length: value.length}).map((_, index) => index);\n }\n\n const obfuscateIndexes: number[] = [];\n let matchResult;\n let count = 0;\n\n while ((matchResult = match.exec(value)) !== null && count < value.length) {\n const start = matchResult.index;\n const end = match.lastIndex - 1;\n\n for (let i = start; i <= end; i++) {\n obfuscateIndexes.push(i);\n }\n\n count++;\n }\n\n return obfuscateIndexes;\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function tuiPx(value: number): string {\n ngDevMode && console.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","/**\n * Sanitizes pasted or dropped text by removing invisible and control characters\n * that can appear in clipboard or drag-and-drop data.\n *\n * Removes:\n * 1. ASCII control characters (0x00–0x1F) — non-printable characters like\n * NULL, BEL, BS, CR, LF, TAB, ESC, etc.\n * 2. Extended control characters (0x7F–0x9F) — C1 control codes from ISO-8859-1,\n * often found in legacy or malformed text encodings.\n * 3. Zero-width and special Unicode characters:\n * - U+200B ZERO WIDTH SPACE\n * - U+200C ZERO WIDTH NON-JOINER\n * - U+200D ZERO WIDTH JOINER\n * - U+FEFF BYTE ORDER MARK (BOM)\n *\n * @param {string} value - The input string from clipboard or drag event.\n * @returns {string} - A cleaned string without control or invisible characters.\n *\n * @example\n * tuiSanitizeText('Hello\\u0000World\\u200B!');\n * // → \"HelloWorld!\"\n */\nexport function tuiSanitizeText(value: string): string {\n // eslint-disable-next-line no-control-regex\n const controlCharsRegex = /[\\x00-\\x1F\\x7F-\\x9F]/g;\n const zeroWidthCharsRegex = /[\\u200B-\\u200D\\uFEFF]/g;\n\n return value.replaceAll(controlCharsRegex, '').replaceAll(zeroWidthCharsRegex, '');\n}\n","import {type InputSignal, type WritableSignal} from '@angular/core';\nimport {SIGNAL} from '@angular/core/primitives/signals';\n\nexport function tuiSetSignal<T>(\n signal: InputSignal<T> | WritableSignal<T>,\n value: T,\n): void {\n if ('set' in signal) {\n signal.set(value);\n } else if ('applyValueToInputSignal' in signal[SIGNAL]) {\n signal[SIGNAL].applyValueToInputSignal(signal[SIGNAL], value);\n } else {\n ngDevMode && console.assert(false, 'tuiSetSignal was called on read-only signal');\n }\n}\n","import {\n createComponent,\n DestroyRef,\n EnvironmentInjector,\n inject,\n InjectionToken,\n type Type,\n} from '@angular/core';\n\nconst MAP = new InjectionToken(ngDevMode ? 'MAP' : '', {\n factory: () => {\n const map = new Map();\n\n inject(DestroyRef).onDestroy(() =>\n map.forEach((component) => component.destroy()),\n );\n\n return map;\n },\n});\n\nexport function tuiWithStyles(component: Type<unknown>): undefined {\n const map = inject(MAP);\n const environmentInjector = inject(EnvironmentInjector);\n\n if (!map.has(component)) {\n map.set(component, createComponent(component, {environmentInjector}));\n }\n\n return undefined;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from '@taiga-ui/cdk/utils/browser';
2
- export * from '@taiga-ui/cdk/utils/color';
3
2
  export * from '@taiga-ui/cdk/utils/di';
4
3
  export * from '@taiga-ui/cdk/utils/dom';
5
4
  export * from '@taiga-ui/cdk/utils/focus';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils.mjs","sources":["../../../projects/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils.mjs","sources":["../../../projects/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;AAEG"}
@@ -5,7 +5,6 @@ export * from '@taiga-ui/cdk/directives';
5
5
  export * from '@taiga-ui/cdk/observables';
6
6
  export * from '@taiga-ui/cdk/pipes';
7
7
  export * from '@taiga-ui/cdk/portals';
8
- export * from '@taiga-ui/cdk/services';
9
8
  export * from '@taiga-ui/cdk/tokens';
10
9
  export * from '@taiga-ui/cdk/utils';
11
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk.mjs","sources":["../../../projects/cdk/taiga-ui-cdk.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-cdk.mjs","sources":["../../../projects/cdk/taiga-ui-cdk.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAEG"}
package/index.d.ts CHANGED
@@ -5,7 +5,6 @@ export * from '@taiga-ui/cdk/directives';
5
5
  export * from '@taiga-ui/cdk/observables';
6
6
  export * from '@taiga-ui/cdk/pipes';
7
7
  export * from '@taiga-ui/cdk/portals';
8
- export * from '@taiga-ui/cdk/services';
9
8
  export * from '@taiga-ui/cdk/tokens';
10
9
  export type * from '@taiga-ui/cdk/types';
11
10
  export * from '@taiga-ui/cdk/utils';
@@ -3,8 +3,6 @@ export * from './control-value';
3
3
  export * from './drag-and-drop-from';
4
4
  export * from './events';
5
5
  export * from './if-map';
6
- export * from './must-be-present';
7
- export * from './query-list-observable';
8
6
  export * from './scroll-from';
9
7
  export * from './take-until-destroyed';
10
8
  export * from './typed-from-event';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "4.52.0-canary.c107f6a",
3
+ "version": "4.52.0-canary.c8448e0",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",
@@ -54,10 +54,6 @@
54
54
  "types": "./portals/index.d.ts",
55
55
  "default": "./fesm2022/taiga-ui-cdk-portals.mjs"
56
56
  },
57
- "./services": {
58
- "types": "./services/index.d.ts",
59
- "default": "./fesm2022/taiga-ui-cdk-services.mjs"
60
- },
61
57
  "./tokens": {
62
58
  "types": "./tokens/index.d.ts",
63
59
  "default": "./fesm2022/taiga-ui-cdk-tokens.mjs"
@@ -82,10 +78,6 @@
82
78
  "types": "./directives/auto-focus/index.d.ts",
83
79
  "default": "./fesm2022/taiga-ui-cdk-directives-auto-focus.mjs"
84
80
  },
85
- "./directives/click-outside": {
86
- "types": "./directives/click-outside/index.d.ts",
87
- "default": "./fesm2022/taiga-ui-cdk-directives-click-outside.mjs"
88
- },
89
81
  "./directives/control": {
90
82
  "types": "./directives/control/index.d.ts",
91
83
  "default": "./fesm2022/taiga-ui-cdk-directives-control.mjs"
@@ -94,10 +86,6 @@
94
86
  "types": "./directives/copy-processor/index.d.ts",
95
87
  "default": "./fesm2022/taiga-ui-cdk-directives-copy-processor.mjs"
96
88
  },
97
- "./directives/droppable": {
98
- "types": "./directives/droppable/index.d.ts",
99
- "default": "./fesm2022/taiga-ui-cdk-directives-droppable.mjs"
100
- },
101
89
  "./directives/element": {
102
90
  "types": "./directives/element/index.d.ts",
103
91
  "default": "./fesm2022/taiga-ui-cdk-directives-element.mjs"
@@ -122,10 +110,6 @@
122
110
  "types": "./directives/item/index.d.ts",
123
111
  "default": "./fesm2022/taiga-ui-cdk-directives-item.mjs"
124
112
  },
125
- "./directives/let": {
126
- "types": "./directives/let/index.d.ts",
127
- "default": "./fesm2022/taiga-ui-cdk-directives-let.mjs"
128
- },
129
113
  "./directives/media": {
130
114
  "types": "./directives/media/index.d.ts",
131
115
  "default": "./fesm2022/taiga-ui-cdk-directives-media.mjs"
@@ -146,14 +130,6 @@
146
130
  "types": "./directives/platform/index.d.ts",
147
131
  "default": "./fesm2022/taiga-ui-cdk-directives-platform.mjs"
148
132
  },
149
- "./directives/popover": {
150
- "types": "./directives/popover/index.d.ts",
151
- "default": "./fesm2022/taiga-ui-cdk-directives-popover.mjs"
152
- },
153
- "./directives/repeat-times": {
154
- "types": "./directives/repeat-times/index.d.ts",
155
- "default": "./fesm2022/taiga-ui-cdk-directives-repeat-times.mjs"
156
- },
157
133
  "./directives/resizer": {
158
134
  "types": "./directives/resizer/index.d.ts",
159
135
  "default": "./fesm2022/taiga-ui-cdk-directives-resizer.mjs"
@@ -182,54 +158,26 @@
182
158
  "types": "./directives/with-styles/index.d.ts",
183
159
  "default": "./fesm2022/taiga-ui-cdk-directives-with-styles.mjs"
184
160
  },
185
- "./directives/zoom": {
186
- "types": "./directives/zoom/index.d.ts",
187
- "default": "./fesm2022/taiga-ui-cdk-directives-zoom.mjs"
188
- },
189
- "./pipes/animation": {
190
- "types": "./pipes/animation/index.d.ts",
191
- "default": "./fesm2022/taiga-ui-cdk-pipes-animation.mjs"
192
- },
193
161
  "./pipes/filter": {
194
162
  "types": "./pipes/filter/index.d.ts",
195
163
  "default": "./fesm2022/taiga-ui-cdk-pipes-filter.mjs"
196
164
  },
197
- "./pipes/is-present": {
198
- "types": "./pipes/is-present/index.d.ts",
199
- "default": "./fesm2022/taiga-ui-cdk-pipes-is-present.mjs"
200
- },
201
- "./pipes/keys": {
202
- "types": "./pipes/keys/index.d.ts",
203
- "default": "./fesm2022/taiga-ui-cdk-pipes-keys.mjs"
204
- },
205
- "./pipes/mapper": {
206
- "types": "./pipes/mapper/index.d.ts",
207
- "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
165
+ "./directives/zoom": {
166
+ "types": "./directives/zoom/index.d.ts",
167
+ "default": "./fesm2022/taiga-ui-cdk-directives-zoom.mjs"
208
168
  },
209
169
  "./pipes/obfuscate": {
210
170
  "types": "./pipes/obfuscate/index.d.ts",
211
171
  "default": "./fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs"
212
172
  },
213
- "./pipes/repeat-times": {
214
- "types": "./pipes/repeat-times/index.d.ts",
215
- "default": "./fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs"
216
- },
217
- "./pipes/replace": {
218
- "types": "./pipes/replace/index.d.ts",
219
- "default": "./fesm2022/taiga-ui-cdk-pipes-replace.mjs"
220
- },
221
- "./pipes/to-array": {
222
- "types": "./pipes/to-array/index.d.ts",
223
- "default": "./fesm2022/taiga-ui-cdk-pipes-to-array.mjs"
173
+ "./pipes/mapper": {
174
+ "types": "./pipes/mapper/index.d.ts",
175
+ "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
224
176
  },
225
177
  "./utils/browser": {
226
178
  "types": "./utils/browser/index.d.ts",
227
179
  "default": "./fesm2022/taiga-ui-cdk-utils-browser.mjs"
228
180
  },
229
- "./utils/color": {
230
- "types": "./utils/color/index.d.ts",
231
- "default": "./fesm2022/taiga-ui-cdk-utils-color.mjs"
232
- },
233
181
  "./utils/di": {
234
182
  "types": "./utils/di/index.d.ts",
235
183
  "default": "./fesm2022/taiga-ui-cdk-utils-di.mjs"
@@ -255,7 +203,6 @@
255
203
  "tslib": "2.8.1"
256
204
  },
257
205
  "peerDependencies": {
258
- "@angular/animations": ">=19.0.0",
259
206
  "@angular/cdk": ">=19.0.0",
260
207
  "@angular/common": ">=19.0.0",
261
208
  "@angular/core": ">=19.0.0",
package/pipes/index.d.ts CHANGED
@@ -1,9 +1,3 @@
1
- export * from '@taiga-ui/cdk/pipes/animation';
2
1
  export * from '@taiga-ui/cdk/pipes/filter';
3
- export * from '@taiga-ui/cdk/pipes/is-present';
4
- export * from '@taiga-ui/cdk/pipes/keys';
5
2
  export * from '@taiga-ui/cdk/pipes/mapper';
6
3
  export * from '@taiga-ui/cdk/pipes/obfuscate';
7
- export * from '@taiga-ui/cdk/pipes/repeat-times';
8
- export * from '@taiga-ui/cdk/pipes/replace';
9
- export * from '@taiga-ui/cdk/pipes/to-array';
@@ -6,7 +6,7 @@ export interface TuiObfuscateOptions {
6
6
  * Default function used to obfuscate a string
7
7
  * if no recipe was found.
8
8
  */
9
- readonly default: (value: string, symbol?: string) => string;
9
+ default(value: string, symbol?: string): string;
10
10
  /**
11
11
  * Collection of named recipes for different obfuscation scenarios.
12
12
  */