@taiga-ui/cdk 4.52.0-canary.bf9131e → 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 (291) 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 -28
  35. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +23 -72
  37. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +12 -14
  39. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -4
  41. package/fesm2022/taiga-ui-cdk-directives-control.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +8 -11
  43. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-cdk-directives-element.mjs +4 -5
  45. package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +5 -8
  47. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +4 -7
  49. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -4
  51. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +11 -14
  53. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -4
  55. package/fesm2022/taiga-ui-cdk-directives-item.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-cdk-directives-media.mjs +33 -58
  57. package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +9 -11
  59. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +14 -26
  61. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +10 -12
  63. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +9 -12
  65. package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +19 -23
  67. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +10 -12
  69. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +8 -15
  71. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-cdk-directives-validator.mjs +4 -5
  73. package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +12 -12
  75. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +5 -5
  77. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
  79. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +8 -8
  80. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-cdk-directives.mjs +0 -5
  82. package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-cdk-observables.mjs +2 -24
  84. package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -4
  86. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -4
  88. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +5 -5
  90. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-cdk-pipes.mjs +0 -6
  92. package/fesm2022/taiga-ui-cdk-pipes.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-cdk-portals.mjs +16 -16
  94. package/fesm2022/taiga-ui-cdk-portals.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-cdk-tokens.mjs +14 -47
  96. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-cdk-utils-browser.mjs +3 -26
  98. package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-cdk-utils-di.mjs +45 -4
  100. package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-cdk-utils-dom.mjs +2 -74
  102. package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +22 -38
  104. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-cdk-utils-math.mjs +13 -21
  106. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +45 -202
  108. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-cdk-utils.mjs +0 -1
  110. package/fesm2022/taiga-ui-cdk-utils.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-cdk.mjs +0 -1
  112. package/fesm2022/taiga-ui-cdk.mjs.map +1 -1
  113. package/index.d.ts +0 -1
  114. package/observables/index.d.ts +0 -2
  115. package/package.json +11 -61
  116. package/pipes/index.d.ts +0 -6
  117. package/pipes/obfuscate/obfuscate.options.d.ts +1 -1
  118. package/portals/portal.d.ts +1 -2
  119. package/schematics/index.d.ts +5 -0
  120. package/schematics/index.js +4 -0
  121. package/schematics/index.js.map +1 -1
  122. package/schematics/ng-add/constants/versions.d.ts +1 -1
  123. package/schematics/ng-add/steps/add-taiga-modules.js +0 -15
  124. package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
  125. package/schematics/ng-update/interfaces/html-comment.d.ts +1 -1
  126. package/schematics/ng-update/interfaces/removable-input.d.ts +1 -1
  127. package/schematics/ng-update/interfaces/replacement-attribute-to-directive.d.ts +1 -1
  128. package/schematics/ng-update/interfaces/replacement-attribute-value.d.ts +1 -1
  129. package/schematics/ng-update/interfaces/replacement-attribute.d.ts +1 -1
  130. package/schematics/ng-update/interfaces/replacement-tag.d.ts +1 -1
  131. package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +4 -4
  132. package/schematics/ng-update/v4/migrate-css-vars/palette.js +4 -4
  133. package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -1
  134. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js +1 -1
  135. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js.map +1 -1
  136. package/schematics/ng-update/v4/steps/migrate-templates.d.ts +2 -2
  137. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js +1 -1
  138. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js.map +1 -1
  139. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +13 -13
  140. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -1
  141. package/schematics/ng-update/v5/index.js +7 -0
  142. package/schematics/ng-update/v5/index.js.map +1 -1
  143. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.d.ts +2 -0
  144. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +26 -0
  145. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -0
  146. package/schematics/ng-update/v5/steps/constants/functions.js +37 -6
  147. package/schematics/ng-update/v5/steps/constants/functions.js.map +1 -1
  148. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.d.ts +2 -0
  149. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +32 -0
  150. package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -0
  151. package/schematics/ng-update/v5/steps/migrate-css-variables.d.ts +3 -0
  152. package/schematics/ng-update/v5/steps/migrate-css-variables.js +30 -0
  153. package/schematics/ng-update/v5/steps/migrate-css-variables.js.map +1 -0
  154. package/schematics/ng-update/v5/steps/migrate-templates.d.ts +2 -2
  155. package/schematics/ng-update/v5/steps/migrate-templates.js +8 -0
  156. package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
  157. package/schematics/ng-update/v5/steps/migrate-tui-let.d.ts +3 -0
  158. package/schematics/ng-update/v5/steps/migrate-tui-let.js +95 -0
  159. package/schematics/ng-update/v5/steps/migrate-tui-let.js.map +1 -0
  160. package/schematics/ng-update/v5/steps/templates/migrate-avatar.d.ts +8 -0
  161. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js +111 -0
  162. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js.map +1 -0
  163. package/schematics/ng-update/v5/steps/templates/migrate-input-year.d.ts +8 -0
  164. package/schematics/ng-update/v5/steps/templates/migrate-input-year.js +52 -0
  165. package/schematics/ng-update/v5/steps/templates/migrate-input-year.js.map +1 -0
  166. package/schematics/ng-update/v5/steps/templates/migrate-notification.d.ts +8 -0
  167. package/schematics/ng-update/v5/steps/templates/migrate-notification.js +45 -0
  168. package/schematics/ng-update/v5/steps/templates/migrate-notification.js.map +1 -0
  169. package/schematics/utils/run-migration.d.ts +14 -0
  170. package/schematics/utils/run-migration.js +27 -0
  171. package/schematics/utils/run-migration.js.map +1 -0
  172. package/schematics/utils/templates/elements.d.ts +4 -1
  173. package/schematics/utils/templates/elements.js.map +1 -1
  174. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +3 -3
  175. package/tokens/environment.d.ts +0 -13
  176. package/tokens/index.d.ts +0 -2
  177. package/tokens/removed-element.d.ts +0 -3
  178. package/types/index.d.ts +0 -3
  179. package/utils/browser/index.d.ts +0 -2
  180. package/utils/di/index.d.ts +3 -0
  181. package/utils/dom/index.d.ts +0 -6
  182. package/utils/focus/get-closest-focusable.d.ts +1 -6
  183. package/utils/focus/index.d.ts +4 -6
  184. package/utils/focus/{is-native-keyboard-focusable.d.ts → is-focusable.d.ts} +1 -1
  185. package/utils/index.d.ts +0 -1
  186. package/utils/math/clamp.d.ts +1 -5
  187. package/utils/math/index.d.ts +0 -2
  188. package/utils/miscellaneous/generate-id.d.ts +1 -0
  189. package/utils/miscellaneous/index.d.ts +2 -11
  190. package/utils/miscellaneous/sanitize-text.d.ts +23 -0
  191. package/directives/animated/animated-parent.directive.d.ts +0 -10
  192. package/directives/click-outside/click-outside.directive.d.ts +0 -14
  193. package/directives/click-outside/index.d.ts +0 -1
  194. package/directives/droppable/droppable.directive.d.ts +0 -8
  195. package/directives/droppable/index.d.ts +0 -1
  196. package/directives/let/index.d.ts +0 -2
  197. package/directives/let/let-context.d.ts +0 -11
  198. package/directives/let/let.directive.d.ts +0 -18
  199. package/directives/popover/index.d.ts +0 -1
  200. package/directives/popover/popover.directive.d.ts +0 -14
  201. package/directives/repeat-times/index.d.ts +0 -1
  202. package/directives/repeat-times/repeat-times.directive.d.ts +0 -22
  203. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +0 -39
  204. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +0 -1
  205. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +0 -37
  206. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +0 -1
  207. package/fesm2022/taiga-ui-cdk-directives-let.mjs +0 -53
  208. package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +0 -1
  209. package/fesm2022/taiga-ui-cdk-directives-popover.mjs +0 -32
  210. package/fesm2022/taiga-ui-cdk-directives-popover.mjs.map +0 -1
  211. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +0 -61
  212. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +0 -1
  213. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs +0 -33
  214. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs.map +0 -1
  215. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs +0 -25
  216. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs.map +0 -1
  217. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs +0 -24
  218. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs.map +0 -1
  219. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs +0 -25
  220. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs.map +0 -1
  221. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs +0 -26
  222. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs +0 -24
  224. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs.map +0 -1
  225. package/fesm2022/taiga-ui-cdk-services.mjs +0 -151
  226. package/fesm2022/taiga-ui-cdk-services.mjs.map +0 -1
  227. package/fesm2022/taiga-ui-cdk-utils-color.mjs +0 -195
  228. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +0 -1
  229. package/observables/must-be-present.d.ts +0 -5
  230. package/observables/query-list-observable.d.ts +0 -6
  231. package/pipes/animation/animation.pipe.d.ts +0 -13
  232. package/pipes/animation/index.d.ts +0 -1
  233. package/pipes/is-present/index.d.ts +0 -1
  234. package/pipes/is-present/is-present.pipe.d.ts +0 -7
  235. package/pipes/keys/index.d.ts +0 -1
  236. package/pipes/keys/keys.pipe.d.ts +0 -7
  237. package/pipes/repeat-times/index.d.ts +0 -7
  238. package/pipes/replace/index.d.ts +0 -1
  239. package/pipes/replace/replace.pipe.d.ts +0 -7
  240. package/pipes/to-array/index.d.ts +0 -1
  241. package/pipes/to-array/to-array.pipe.d.ts +0 -7
  242. package/schematics/migrate-tui-let/index.d.ts +0 -3
  243. package/schematics/migrate-tui-let/index.js +0 -73
  244. package/schematics/migrate-tui-let/index.js.map +0 -1
  245. package/schematics/migrate-tui-let/schema.json +0 -7
  246. package/services/id.service.d.ts +0 -8
  247. package/services/index.d.ts +0 -4
  248. package/services/popover.service.d.ts +0 -25
  249. package/services/scroll.service.d.ts +0 -13
  250. package/services/theme-color.service.d.ts +0 -18
  251. package/tokens/base-href.d.ts +0 -2
  252. package/tokens/range.d.ts +0 -5
  253. package/types/loose-union.d.ts +0 -36
  254. package/types/safe-html.d.ts +0 -2
  255. package/types/values-of.d.ts +0 -1
  256. package/utils/browser/is-apple.d.ts +0 -11
  257. package/utils/browser/is-ios.d.ts +0 -6
  258. package/utils/color/get-gradient-data.d.ts +0 -1
  259. package/utils/color/hex-to-rgb.d.ts +0 -1
  260. package/utils/color/hex-to-rgba.d.ts +0 -3
  261. package/utils/color/hsv-to-rgb.d.ts +0 -4
  262. package/utils/color/index.d.ts +0 -9
  263. package/utils/color/parse-color.d.ts +0 -1
  264. package/utils/color/parse-gradient.d.ts +0 -10
  265. package/utils/color/rgb-to-hex.d.ts +0 -1
  266. package/utils/color/rgb-to-hsv.d.ts +0 -1
  267. package/utils/color/rgba-to-hex.d.ts +0 -2
  268. package/utils/dom/get-element-point.d.ts +0 -2
  269. package/utils/dom/is-current-target.d.ts +0 -1
  270. package/utils/dom/is-inside-iframe.d.ts +0 -4
  271. package/utils/dom/is-node-in.d.ts +0 -8
  272. package/utils/dom/retarget-boundary-crossing.d.ts +0 -1
  273. package/utils/dom/value-binding.d.ts +0 -3
  274. package/utils/focus/blur-native-focused.d.ts +0 -4
  275. package/utils/focus/is-native-mouse-focusable.d.ts +0 -1
  276. package/utils/math/to-integer.d.ts +0 -1
  277. package/utils/math/to-radians.d.ts +0 -4
  278. package/utils/miscellaneous/change-date-separator.d.ts +0 -1
  279. package/utils/miscellaneous/create-token.d.ts +0 -9
  280. package/utils/miscellaneous/flat-length.d.ts +0 -6
  281. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -8
  282. package/utils/miscellaneous/is-falsy.d.ts +0 -1
  283. package/utils/miscellaneous/is-valid-url.d.ts +0 -4
  284. package/utils/miscellaneous/pure.d.ts +0 -22
  285. package/utils/miscellaneous/uniq-by.d.ts +0 -1
  286. /package/utils/{miscellaneous → di}/directive-binding.d.ts +0 -0
  287. /package/utils/{miscellaneous → di}/provide-options.d.ts +0 -0
  288. /package/utils/{miscellaneous → di}/provide.d.ts +0 -0
  289. /package/utils/focus/{get-native-focused.d.ts → get-focused.d.ts} +0 -0
  290. /package/utils/focus/{is-native-focused-in.d.ts → is-focused-in.d.ts} +0 -0
  291. /package/utils/focus/{is-native-focused.d.ts → is-focused.d.ts} +0 -0
package/README.md CHANGED
@@ -14,7 +14,7 @@ consisting of multiple base libraries and several add-ons
14
14
 
15
15
  ## How to install
16
16
 
17
- ```
17
+ ```bash
18
18
  npm i @taiga-ui/cdk
19
19
  ```
20
20
 
@@ -8,30 +8,28 @@ import * as i0 from "@angular/core";
8
8
  export declare abstract class TuiControl<T> implements ControlValueAccessor {
9
9
  private readonly fallback;
10
10
  private readonly refresh$;
11
- private readonly pseudoInvalid;
12
11
  private readonly internal;
13
12
  protected readonly control: NgControl;
14
13
  protected readonly cdr: ChangeDetectorRef;
15
14
  protected transformer: TuiValueTransformer<any, any>;
16
15
  readonly value: import("@angular/core").Signal<T>;
17
- readonly readOnly: import("@angular/core").WritableSignal<boolean>;
16
+ readonly readOnly: import("@angular/core").InputSignal<boolean>;
17
+ readonly pseudoInvalid: import("@angular/core").InputSignal<boolean | null>;
18
18
  readonly touched: import("@angular/core").WritableSignal<boolean>;
19
19
  readonly status: import("@angular/core").WritableSignal<FormControlStatus | undefined>;
20
20
  readonly disabled: import("@angular/core").Signal<boolean>;
21
21
  readonly interactive: import("@angular/core").Signal<boolean>;
22
22
  readonly invalid: import("@angular/core").Signal<boolean>;
23
- readonly mode: import("@angular/core").Signal<"readonly" | "invalid" | "valid">;
23
+ readonly mode: import("@angular/core").Signal<"invalid" | "readonly" | "valid">;
24
24
  onTouched: (...args: any[]) => void;
25
25
  onChange: (value: T) => void;
26
26
  constructor();
27
- set readOnlySetter(readOnly: boolean);
28
- set invalidSetter(invalid: boolean | null);
29
27
  registerOnChange(onChange: (value: unknown) => void): void;
30
28
  registerOnTouched(onTouched: () => void): void;
31
29
  setDisabledState(): void;
32
30
  writeValue(value: T | null): void;
33
31
  private update;
34
32
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiControl<any>, never>;
35
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiControl<any>, never, never, { "readOnlySetter": { "alias": "readOnly"; "required": false; }; "invalidSetter": { "alias": "invalid"; "required": false; }; }, {}, never, never, true, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiControl<any>, never, never, { "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "pseudoInvalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
36
34
  }
37
35
  export declare function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider;
@@ -1,11 +1,2 @@
1
- import { QueryList } from '@angular/core';
2
- /**
3
- * For type safety when using @ContentChildren and @ViewChildren
4
- *
5
- * NOTE: Be careful subscribing to 'changes'
6
- * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking
7
- */
8
- export declare const EMPTY_QUERY: QueryList<any>;
9
- export declare const EMPTY_ARRAY: [];
10
1
  export declare const EMPTY_FUNCTION: (...args: any[]) => void;
11
2
  export declare const EMPTY_CLIENT_RECT: DOMRect;
@@ -1,3 +1,4 @@
1
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
1
2
  /**
2
3
  * Handler that always returns `false`.
3
4
  */
@@ -6,3 +7,4 @@ export declare const TUI_FALSE_HANDLER: () => false;
6
7
  * Handler that always returns `true`.
7
8
  */
8
9
  export declare const TUI_TRUE_HANDLER: () => true;
10
+ export declare const TUI_STRINGIFY: PolymorpheusContent;
@@ -2,6 +2,6 @@
2
2
  * @description:
3
3
  * AUTOGENERATED
4
4
  *
5
- * Array of icons used in taiga-ui components
5
+ * Array of icons used in ./projects
6
6
  */
7
- export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.external-link", "@tui.languages", "@tui.shrink", "@tui.expand", "@tui.a-large-small", "@tui.arrow-right-left", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.ellipsis", "@tui.chevron-left", "@tui.clock", "@tui.trash", "@tui.minus", "@tui.file", "@tui.calendar", "@tui.plus", "@tui.heart", "@tui.heart-filled", "@tui.star", "@tui.rotate-ccw-square", "@tui.arrow-left", "@tui.arrow-right", "@tui.minimize", "@tui.filter", "@tui.layout-grid"];
7
+ export declare const TUI_USED_ICONS: readonly ["@tui.mir", "@tui.visa", "@tui.electron", "@img.mastercard", "@img.maestro", "@img.amex", "@img.diners-club", "@img.discover", "@img.humo", "@img.jcb", "@img.ru-pay", "@img.union-pay", "@img.uzcard", "@img.verve", "@tui.search", "@tui.sun", "@tui.moon", "@tui.code", "@tui.menu", "@tui.copy", "@tui.check", "@tui.link", "@tui.external-link", "@tui.languages", "@tui.shrink", "@tui.expand", "@tui.a-large-small", "@tui.arrow-right-left", "@tui.eye-off", "@tui.eye", "@tui.grip-vertical", "@tui.chevron-up", "@tui.chevron-down", "@tui.chevrons-up-down", "@tui.info", "@tui.circle-check", "@tui.circle-x", "@tui.circle-alert", "@tui.circle-help", "@tui.x", "@tui.chevron-right", "@tui.ellipsis", "@tui.chevron-left", "@tui.clock", "@tui.trash", "@tui.minus", "@tui.file", "@tui.calendar", "@tui.plus", "@tui.heart", "@tui.heart-filled", "@tui.rotate-ccw-square", "@tui.arrow-left", "@tui.arrow-right", "@tui.minimize", "@tui.star", "@tui.filter", "@tui.layout-grid"];
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.52.0-canary.bf9131e";
1
+ export declare const TUI_VERSION = "4.52.0-canary.c8448e0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.52.0-canary.bf9131e';
4
+ exports.TUI_VERSION = '4.52.0-canary.c8448e0';
5
5
  //# sourceMappingURL=version.js.map
@@ -1,13 +1,13 @@
1
1
  /**
2
- * @internal 'dd.mm.yyyy'.length
2
+ * @internal 'dd/mm/yyyy'.length
3
3
  * Used in:
4
- * - {@link TuiInputDateComponent}
5
- * - {@link TuiInputDateRangeComponent}
6
- * - {@link TuiInputDateTimeComponent}
4
+ * - {@link TuiInputDate}
5
+ * - {@link TuiInputDateRange}
6
+ * - {@link TuiInputDateTime}
7
7
  */
8
8
  export declare const DATE_FILLER_LENGTH = 10;
9
9
  /**
10
10
  * @internal
11
- * Used in {@link TuiInputDateRangeComponent}
11
+ * Used in {@link TuiInputDateRange}
12
12
  */
13
13
  export declare const DATE_RANGE_FILLER_LENGTH: number;
@@ -19,7 +19,7 @@ export declare class TuiDayRange extends TuiMonthRange {
19
19
  /**
20
20
  * Parse and correct a day range in string format
21
21
  *
22
- * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy
22
+ * @param rangeString a string of dates in a format dd/mm/yyyy - dd/mm/yyyy
23
23
  * @param dateMode {@link TuiDateMode}
24
24
  * @return normalized day range object
25
25
  */
@@ -55,17 +55,17 @@ export declare class TuiDay extends TuiMonth {
55
55
  * Parsing a string with date with normalization
56
56
  *
57
57
  * @param rawDate date string
58
- * @param dateMode date format of the date string (DMY | MDY | YMD)
58
+ * @param dateMode date format of the date string (dd/mm/yyyy | mm/dd/yyyy | yyyy/mm/dd)
59
59
  * @return normalized date
60
60
  */
61
61
  static normalizeParse(rawDate: string, dateMode?: TuiDateMode): TuiDay;
62
62
  /**
63
63
  * Parsing a date stringified in a toJSON format
64
- * @param yearMonthDayString date string in format of YYYY-MM-DD
64
+ * @param ymdString date string in format of YYYY-MM-DD
65
65
  * @return date
66
66
  * @throws exceptions if any part of the date is invalid
67
67
  */
68
- static jsonParse(yearMonthDayString: string): TuiDay;
68
+ static jsonParse(ymdString: string): TuiDay;
69
69
  static normalizeDayPart(day: number, month: number, year: number): number;
70
70
  get formattedDayPart(): string;
71
71
  get isWeekend(): boolean;
@@ -1,10 +1,4 @@
1
- /**
2
- * * DMY - dd.mm.yyyy
3
- * * MDY - mm.dd.yyyy
4
- * * YMD - yyyy.mm.dd
5
- * TODO: Change to be MaskitoDateMode compatible in v5
6
- */
7
- export type TuiDateMode = 'DMY' | 'MDY' | 'YMD';
1
+ export type TuiDateMode = 'dd/mm/yyyy' | 'mm/dd/yyyy' | 'yyyy/mm/dd';
8
2
  /**
9
3
  * Optionally has year and/or month and/or day
10
4
  */
@@ -2,9 +2,7 @@ import { type OnDestroy } from '@angular/core';
2
2
  import { type Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiActiveZone implements OnDestroy {
5
- private readonly control;
6
5
  private readonly active$;
7
- private readonly zone;
8
6
  private tuiActiveZoneParent;
9
7
  private readonly parent;
10
8
  private readonly el;
@@ -14,7 +12,6 @@ export declare class TuiActiveZone implements OnDestroy {
14
12
  set tuiActiveZoneParentSetter(zone: TuiActiveZone | null);
15
13
  ngOnDestroy(): void;
16
14
  contains(node: Node): boolean;
17
- private setZone;
18
15
  private addSubActiveZone;
19
16
  private removeSubActiveZone;
20
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiActiveZone, never>;
@@ -1,12 +1,10 @@
1
- import { type OnDestroy } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare const TUI_ENTER = "tui-enter";
4
3
  export declare const TUI_LEAVE = "tui-leave";
5
- export declare class TuiAnimated implements OnDestroy {
4
+ export declare class TuiAnimated {
6
5
  private readonly renderer;
7
6
  private readonly el;
8
7
  constructor();
9
- ngOnDestroy(): void;
10
8
  protected remove(): void;
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAnimated, never>;
12
10
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAnimated, "[tuiAnimated]", never, {}, {}, never, never, true, never>;
@@ -1,2 +1 @@
1
1
  export * from './animated.directive';
2
- export * from './animated-parent.directive';
@@ -5,10 +5,9 @@ export declare class TuiAutoFocus implements AfterViewInit {
5
5
  private readonly handler;
6
6
  private readonly options;
7
7
  private readonly destroyRef;
8
- autoFocus: BooleanInput;
8
+ readonly autoFocus: import("@angular/core").InputSignalWithTransform<BooleanInput, any>;
9
9
  ngAfterViewInit(): void;
10
10
  focus(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAutoFocus, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAutoFocus, "[tuiAutoFocus]", never, { "autoFocus": { "alias": "tuiAutoFocus"; "required": false; }; }, {}, never, never, true, never>;
13
- static ngAcceptInputType_autoFocus: any;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAutoFocus, "[tuiAutoFocus]", never, { "autoFocus": { "alias": "tuiAutoFocus"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
14
13
  }
@@ -2,8 +2,8 @@ import { type TuiStringHandler } from '@taiga-ui/cdk/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiCopyProcessor {
4
4
  private readonly win;
5
- tuiCopyProcessor: TuiStringHandler<string>;
5
+ readonly tuiCopyProcessor: import("@angular/core").InputSignal<TuiStringHandler<string>>;
6
6
  protected onCopy(event: ClipboardEvent): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCopyProcessor, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCopyProcessor, "[tuiCopyProcessor]", never, { "tuiCopyProcessor": { "alias": "tuiCopyProcessor"; "required": false; }; }, {}, never, never, true, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCopyProcessor, "[tuiCopyProcessor]", never, { "tuiCopyProcessor": { "alias": "tuiCopyProcessor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
9
  }
@@ -1,7 +1,6 @@
1
- import { TuiHoveredService } from './hovered.service';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiHovered {
4
- readonly tuiHoveredChange: TuiHoveredService;
3
+ readonly tuiHoveredChange: import("@angular/core").OutputRef<boolean>;
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHovered, never>;
6
5
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHovered, "[tuiHoveredChange]", never, {}, { "tuiHoveredChange": "tuiHoveredChange"; }, never, never, true, never>;
7
6
  }
@@ -1,24 +1,19 @@
1
1
  export * from '@taiga-ui/cdk/directives/active-zone';
2
2
  export * from '@taiga-ui/cdk/directives/animated';
3
3
  export * from '@taiga-ui/cdk/directives/auto-focus';
4
- export * from '@taiga-ui/cdk/directives/click-outside';
5
4
  export * from '@taiga-ui/cdk/directives/control';
6
5
  export * from '@taiga-ui/cdk/directives/copy-processor';
7
- export * from '@taiga-ui/cdk/directives/droppable';
8
6
  export * from '@taiga-ui/cdk/directives/element';
9
7
  export * from '@taiga-ui/cdk/directives/focus-trap';
10
8
  export * from '@taiga-ui/cdk/directives/font-size';
11
9
  export * from '@taiga-ui/cdk/directives/high-dpi';
12
10
  export * from '@taiga-ui/cdk/directives/hovered';
13
11
  export * from '@taiga-ui/cdk/directives/item';
14
- export * from '@taiga-ui/cdk/directives/let';
15
12
  export * from '@taiga-ui/cdk/directives/media';
16
13
  export * from '@taiga-ui/cdk/directives/native-validator';
17
14
  export * from '@taiga-ui/cdk/directives/obscured';
18
15
  export * from '@taiga-ui/cdk/directives/pan';
19
16
  export * from '@taiga-ui/cdk/directives/platform';
20
- export * from '@taiga-ui/cdk/directives/popover';
21
- export * from '@taiga-ui/cdk/directives/repeat-times';
22
17
  export * from '@taiga-ui/cdk/directives/resizer';
23
18
  export * from '@taiga-ui/cdk/directives/swipe';
24
19
  export * from '@taiga-ui/cdk/directives/transitioned';
@@ -1,21 +1,17 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiMedia {
4
3
  private readonly el;
5
- private playbackRate;
6
- volume: number;
7
- readonly currentTimeChange: EventEmitter<number>;
8
- readonly pausedChange: EventEmitter<boolean>;
9
- readonly volumeChange: EventEmitter<number>;
10
- set playbackRateSetter(playbackRate: number);
11
- set currentTime(currentTime: number);
12
- set paused(paused: boolean);
13
- get currentTime(): number;
14
- get paused(): boolean;
4
+ protected readonly setElCurrentTime: import("@angular/core").EffectRef;
5
+ protected readonly setElPlaybackRate: import("@angular/core").EffectRef;
6
+ protected readonly setElPaused: import("@angular/core").EffectRef;
7
+ readonly playbackRate: import("@angular/core").InputSignal<number>;
8
+ readonly volume: import("@angular/core").ModelSignal<number>;
9
+ readonly currentTime: import("@angular/core").ModelSignal<number>;
10
+ readonly paused: import("@angular/core").ModelSignal<boolean>;
15
11
  protected onPausedChange(paused: boolean): void;
16
12
  protected onVolumeChange(): void;
17
13
  protected onCurrentTimeChange(): void;
18
14
  private updatePlaybackRate;
19
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiMedia, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiMedia, "video[tuiMedia], audio[tuiMedia]", ["tuiMedia"], { "volume": { "alias": "volume"; "required": false; }; "playbackRateSetter": { "alias": "playbackRate"; "required": false; }; "currentTime": { "alias": "currentTime"; "required": false; }; "paused": { "alias": "paused"; "required": false; }; }, { "currentTimeChange": "currentTimeChange"; "pausedChange": "pausedChange"; "volumeChange": "volumeChange"; }, never, never, true, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiMedia, "video[tuiMedia], audio[tuiMedia]", ["tuiMedia"], { "playbackRate": { "alias": "playbackRate"; "required": false; "isSignal": true; }; "volume": { "alias": "volume"; "required": false; "isSignal": true; }; "currentTime": { "alias": "currentTime"; "required": false; "isSignal": true; }; "paused": { "alias": "paused"; "required": false; "isSignal": true; }; }, { "volume": "volumeChange"; "currentTime": "currentTimeChange"; "paused": "pausedChange"; }, never, never, true, never>;
21
17
  }
@@ -4,9 +4,9 @@ export declare class TuiNativeValidator implements Validator {
4
4
  private readonly el;
5
5
  private readonly control$;
6
6
  protected readonly sub: import("rxjs").Subscription;
7
- tuiNativeValidator: string;
7
+ readonly tuiNativeValidator: import("@angular/core").InputSignal<string>;
8
8
  validate(control: AbstractControl): null;
9
9
  protected handleValidation(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiNativeValidator, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNativeValidator, "[tuiNativeValidator]", never, { "tuiNativeValidator": { "alias": "tuiNativeValidator"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiNativeValidator, "[tuiNativeValidator]", never, { "tuiNativeValidator": { "alias": "tuiNativeValidator"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
12
  }
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
4
4
  */
5
5
  export declare class TuiObscured {
6
6
  private readonly activeZone;
7
- private readonly enabled$;
8
7
  private readonly obscured$;
9
- readonly tuiObscured: import("rxjs").Observable<boolean>;
10
- set tuiObscuredEnabled(enabled: boolean);
8
+ readonly tuiObscuredEnabled: import("@angular/core").InputSignal<boolean | undefined>;
9
+ readonly tuiObscured$: import("rxjs").Observable<boolean>;
10
+ readonly tuiObscured: import("@angular/core").OutputRef<boolean>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiObscured, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiObscured, "[tuiObscured]", never, { "tuiObscuredEnabled": { "alias": "tuiObscuredEnabled"; "required": false; }; }, { "tuiObscured": "tuiObscured"; }, never, never, true, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiObscured, "[tuiObscured]", never, { "tuiObscuredEnabled": { "alias": "tuiObscuredEnabled"; "required": false; "isSignal": true; }; }, { "tuiObscured": "tuiObscured"; }, never, never, true, never>;
13
13
  }
@@ -1,7 +1,6 @@
1
- import { TuiPanService } from './pan.service';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiPan {
4
- readonly tuiPan: TuiPanService;
3
+ readonly tuiPan: import("@angular/core").OutputRef<readonly [number, number]>;
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiPan, never>;
6
5
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPan, "[tuiPan]", never, {}, { "tuiPan": "tuiPan"; }, never, never, true, never>;
7
6
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TuiPlatform {
3
- tuiPlatform: "android" | "ios" | "web";
3
+ readonly tuiPlatform: import("@angular/core").InputSignal<"android" | "ios" | "web">;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiPlatform, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPlatform, "[tuiPlatform]", never, { "tuiPlatform": { "alias": "tuiPlatform"; "required": false; }; }, {}, never, never, true, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiPlatform, "[tuiPlatform]", never, { "tuiPlatform": { "alias": "tuiPlatform"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
6
6
  }
@@ -1,4 +1,3 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiResizer {
4
3
  private readonly resizable;
@@ -6,13 +5,13 @@ export declare class TuiResizer {
6
5
  protected y: number;
7
6
  protected width: number;
8
7
  protected height: number;
9
- tuiResizer: readonly [x: number, y: number];
10
- readonly tuiSizeChange: EventEmitter<readonly [x: number, y: number]>;
8
+ readonly tuiResizer: import("@angular/core").InputSignal<readonly [x: number, y: number]>;
9
+ readonly tuiSizeChange: import("@angular/core").OutputEmitterRef<readonly [x: number, y: number]>;
11
10
  protected get cursor(): string;
12
11
  protected onPointerDown(x: number, y: number): void;
13
12
  protected onPointerMove({ x, y, buttons }: PointerEvent): void;
14
13
  protected onPointerUp(): void;
15
14
  protected onMove(x: number, y: number): void;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiResizer, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiResizer, "[tuiResizer]", never, { "tuiResizer": { "alias": "tuiResizer"; "required": false; }; }, { "tuiSizeChange": "tuiSizeChange"; }, never, never, true, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiResizer, "[tuiResizer]", never, { "tuiResizer": { "alias": "tuiResizer"; "required": false; "isSignal": true; }; }, { "tuiSizeChange": "tuiSizeChange"; }, never, never, true, never>;
18
17
  }
@@ -1,7 +1,6 @@
1
- import { TuiSwipeService } from './swipe.service';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare class TuiSwipe {
4
- readonly tuiSwipe: TuiSwipeService;
3
+ readonly tuiSwipe: import("@angular/core").OutputRef<import("@taiga-ui/cdk/directives/swipe").TuiSwipeEvent>;
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSwipe, never>;
6
5
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSwipe, "[tuiSwipe]", never, {}, { "tuiSwipe": "tuiSwipe"; }, never, never, true, never>;
7
6
  }
@@ -1,5 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TuiTransitioned {
3
+ private readonly el;
3
4
  constructor();
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiTransitioned, never>;
5
6
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiTransitioned, "[tuiTransitioned]", never, {}, {}, never, never, true, never>;
@@ -1,11 +1,11 @@
1
1
  import { type DoCheck } from '@angular/core';
2
- import { type Observable } from 'rxjs';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class TuiValueChanges<T> implements DoCheck {
5
4
  private readonly container;
6
5
  private readonly control;
7
- private readonly refresh$;
8
- readonly tuiValueChanges: Observable<T>;
6
+ private readonly control$;
7
+ private readonly tuiValueChanges$;
8
+ readonly tuiValueChanges: import("@angular/core").OutputRef<T>;
9
9
  ngDoCheck(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiValueChanges<any>, never>;
11
11
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiValueChanges<any>, "[tuiValueChanges]", never, {}, { "tuiValueChanges": "tuiValueChanges"; }, never, never, true, never>;
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, signal, ChangeDetectorRef, computed, untracked, Input, Directive } from '@angular/core';
2
+ import { inject, signal, ChangeDetectorRef, computed, input, untracked, Directive } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { NgControl, NgModel } from '@angular/forms';
5
5
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
6
6
  import { TUI_FALLBACK_VALUE } from '@taiga-ui/cdk/tokens';
7
- import { tuiProvide } from '@taiga-ui/cdk/utils';
7
+ import { tuiProvide } from '@taiga-ui/cdk/utils/di';
8
8
  import { identity, Subject, delay, startWith, map, filter, distinctUntilChanged, switchMap, merge, EMPTY } from 'rxjs';
9
9
 
10
10
  class TuiValueTransformer {
@@ -38,13 +38,13 @@ class TuiControl {
38
38
  constructor() {
39
39
  this.fallback = inject(TUI_FALLBACK_VALUE, FLAGS);
40
40
  this.refresh$ = new Subject();
41
- this.pseudoInvalid = signal(null);
42
41
  this.internal = signal(this.fallback);
43
42
  this.control = inject(NgControl, { self: true });
44
43
  this.cdr = inject(ChangeDetectorRef);
45
44
  this.transformer = inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;
46
45
  this.value = computed(() => this.internal() ?? this.fallback);
47
- this.readOnly = signal(false);
46
+ this.readOnly = input(false);
47
+ this.pseudoInvalid = input(null, { alias: 'invalid' });
48
48
  this.touched = signal(false);
49
49
  this.status = signal(undefined);
50
50
  this.disabled = computed(() => this.status() === 'DISABLED');
@@ -62,12 +62,6 @@ class TuiControl {
62
62
  .pipe(delay(0), startWith(null), map(() => this.control.control), filter(Boolean), distinctUntilChanged(), switchMap((c) => merge(c.valueChanges, c.statusChanges, c.events || EMPTY).pipe(startWith(null))), takeUntilDestroyed())
63
63
  .subscribe(() => this.update());
64
64
  }
65
- set readOnlySetter(readOnly) {
66
- this.readOnly.set(readOnly);
67
- }
68
- set invalidSetter(invalid) {
69
- this.pseudoInvalid.set(invalid);
70
- }
71
65
  registerOnChange(onChange) {
72
66
  this.refresh$.next();
73
67
  this.onChange = (value) => {
@@ -100,18 +94,12 @@ class TuiControl {
100
94
  this.touched.set(!!this.control.control?.touched);
101
95
  this.cdr.markForCheck();
102
96
  }
103
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
104
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiControl, isStandalone: true, inputs: { readOnlySetter: ["readOnly", "readOnlySetter"], invalidSetter: ["invalid", "invalidSetter"] }, ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiControl, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.17", type: TuiControl, isStandalone: true, inputs: { readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, pseudoInvalid: { classPropertyName: "pseudoInvalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
105
99
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiControl, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TuiControl, decorators: [{
107
101
  type: Directive
108
- }], ctorParameters: () => [], propDecorators: { readOnlySetter: [{
109
- type: Input,
110
- args: ['readOnly']
111
- }], invalidSetter: [{
112
- type: Input,
113
- args: ['invalid']
114
- }] } });
102
+ }], ctorParameters: () => [] });
115
103
  function tuiAsControl(control) {
116
104
  return tuiProvide(TuiControl, control);
117
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {type FactoryProvider, inject, type ProviderToken} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any> = {\n fromControlValue: identity,\n toControlValue: identity,\n};\n","import {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n Input,\n type Provider,\n signal,\n type Type,\n untracked,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n type ControlValueAccessor,\n type FormControlStatus,\n NgControl,\n NgModel,\n} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly pseudoInvalid = signal<boolean | null>(null);\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly cdr = inject(ChangeDetectorRef);\n protected transformer =\n inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = signal(false);\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.update());\n }\n\n @Input('readOnly')\n public set readOnlySetter(readOnly: boolean) {\n this.readOnly.set(readOnly);\n }\n\n @Input('invalid')\n public set invalidSetter(invalid: boolean | null) {\n this.pseudoInvalid.set(invalid);\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n const internal = untracked(() => this.internal());\n\n if (value === internal) {\n return;\n }\n\n onChange(this.transformer.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.transformer.fromControlValue(safe));\n this.update();\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","import {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\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-classes.mjs","sources":["../../../projects/cdk/classes/value-transformer.ts","../../../projects/cdk/classes/control.ts","../../../projects/cdk/classes/validation-error.ts","../../../projects/cdk/classes/taiga-ui-cdk-classes.ts"],"sourcesContent":["import {type FactoryProvider, inject, type ProviderToken} from '@angular/core';\nimport {identity} from 'rxjs';\n\nexport abstract class TuiValueTransformer<From, To = unknown> {\n public abstract toControlValue(componentValue: From): To;\n public abstract fromControlValue(controlValue: To): From;\n}\n\nexport function tuiValueTransformerFrom<\n T extends {valueTransformer: TuiValueTransformer<unknown>},\n>(token: ProviderToken<T>): FactoryProvider {\n return {\n provide: TuiValueTransformer,\n useFactory: () => inject(token).valueTransformer,\n };\n}\n\nexport class TuiNonNullableValueTransformer<T> extends TuiValueTransformer<T | null, T> {\n private prevValue!: T;\n\n public fromControlValue(value: T): T {\n this.prevValue = value;\n\n return value;\n }\n\n public toControlValue(value: T | null): T {\n this.prevValue = value ?? this.prevValue;\n\n return this.prevValue;\n }\n}\n\nexport const TUI_IDENTITY_VALUE_TRANSFORMER: TuiValueTransformer<any, any> = {\n fromControlValue: identity,\n toControlValue: identity,\n};\n","import {\n ChangeDetectorRef,\n computed,\n Directive,\n inject,\n input,\n type Provider,\n signal,\n type Type,\n untracked,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n type ControlValueAccessor,\n type FormControlStatus,\n NgControl,\n NgModel,\n} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {TUI_FALLBACK_VALUE} from '@taiga-ui/cdk/tokens';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {\n delay,\n distinctUntilChanged,\n EMPTY,\n filter,\n map,\n merge,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer} from './value-transformer';\n\nconst FLAGS = {self: true, optional: true};\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class TuiControl<T> implements ControlValueAccessor {\n private readonly fallback = inject(TUI_FALLBACK_VALUE, FLAGS) as T;\n private readonly refresh$ = new Subject<void>();\n private readonly internal = signal(this.fallback);\n\n protected readonly control = inject(NgControl, {self: true});\n protected readonly cdr = inject(ChangeDetectorRef);\n protected transformer =\n inject(TuiValueTransformer, FLAGS) ?? TUI_IDENTITY_VALUE_TRANSFORMER;\n\n public readonly value = computed(() => this.internal() ?? this.fallback);\n public readonly readOnly = input(false);\n public readonly pseudoInvalid = input<boolean | null>(null, {alias: 'invalid'});\n public readonly touched = signal(false);\n public readonly status = signal<FormControlStatus | undefined>(undefined);\n public readonly disabled = computed(() => this.status() === 'DISABLED');\n public readonly interactive = computed(() => !this.disabled() && !this.readOnly());\n public readonly invalid = computed(() =>\n this.pseudoInvalid() !== null\n ? !!this.pseudoInvalid() && this.interactive()\n : this.interactive() && this.touched() && this.status() === 'INVALID',\n );\n\n public readonly mode = computed(() =>\n // eslint-disable-next-line no-nested-ternary\n this.readOnly() ? 'readonly' : this.invalid() ? 'invalid' : 'valid',\n );\n\n public onTouched = EMPTY_FUNCTION;\n public onChange: (value: T) => void = EMPTY_FUNCTION;\n\n constructor() {\n this.control.valueAccessor = this;\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.control.control),\n filter(Boolean),\n distinctUntilChanged(),\n switchMap((c) =>\n merge(\n c.valueChanges,\n c.statusChanges,\n (c as any).events || EMPTY,\n ).pipe(startWith(null)),\n ),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.update());\n }\n\n public registerOnChange(onChange: (value: unknown) => void): void {\n this.refresh$.next();\n\n this.onChange = (value: T) => {\n const internal = untracked(() => this.internal());\n\n if (value === internal) {\n return;\n }\n\n onChange(this.transformer.toControlValue(value));\n this.internal.set(value);\n this.update();\n };\n }\n\n public registerOnTouched(onTouched: () => void): void {\n this.onTouched = () => {\n onTouched();\n this.update();\n };\n }\n\n public setDisabledState(): void {\n this.update();\n }\n\n public writeValue(value: T | null): void {\n // TODO: https://github.com/angular/angular/issues/14988\n const safe = this.control instanceof NgModel ? this.control.model : value;\n\n this.internal.set(this.transformer.fromControlValue(safe));\n this.update();\n }\n\n private update(): void {\n this.status.set(this.control.control?.status);\n this.touched.set(!!this.control.control?.touched);\n this.cdr.markForCheck();\n }\n}\n\nexport function tuiAsControl<T>(control: Type<TuiControl<T>>): Provider {\n return tuiProvide(TuiControl, control);\n}\n","import {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport class TuiValidationError<T extends Record<string, any> = Record<string, unknown>> {\n constructor(\n public readonly message: PolymorpheusContent<T>,\n public readonly context: T = {} as T,\n ) {}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import { QueryList } from '@angular/core';
2
-
3
1
  const rect = {
4
2
  bottom: 0,
5
3
  height: 0,
@@ -10,14 +8,6 @@ const rect = {
10
8
  x: 0,
11
9
  y: 0,
12
10
  };
13
- /**
14
- * For type safety when using @ContentChildren and @ViewChildren
15
- *
16
- * NOTE: Be careful subscribing to 'changes'
17
- * @deprecated use viewChild(), viewChildren(), contentChild() and contentChildren() for strict type checking
18
- */
19
- const EMPTY_QUERY = new QueryList();
20
- const EMPTY_ARRAY = [];
21
11
  const EMPTY_FUNCTION = () => { };
22
12
  const EMPTY_CLIENT_RECT = {
23
13
  ...rect,
@@ -32,6 +22,7 @@ const TUI_FALSE_HANDLER = () => false;
32
22
  * Handler that always returns `true`.
33
23
  */
34
24
  const TUI_TRUE_HANDLER = () => true;
25
+ const TUI_STRINGIFY = ({ $implicit }) => String($implicit);
35
26
 
36
27
  function bothEmpty(item1, item2) {
37
28
  return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;
@@ -139,12 +130,23 @@ const CHAR_ZERO_WIDTH_SPACE = '\u200B';
139
130
  * @description:
140
131
  * AUTOGENERATED
141
132
  *
142
- * Array of icons used in taiga-ui components
133
+ * Array of icons used in ./projects
143
134
  */
144
135
  const TUI_USED_ICONS = [
145
136
  '@tui.mir',
146
137
  '@tui.visa',
147
138
  '@tui.electron',
139
+ '@img.mastercard',
140
+ '@img.maestro',
141
+ '@img.amex',
142
+ '@img.diners-club',
143
+ '@img.discover',
144
+ '@img.humo',
145
+ '@img.jcb',
146
+ '@img.ru-pay',
147
+ '@img.union-pay',
148
+ '@img.uzcard',
149
+ '@img.verve',
148
150
  '@tui.search',
149
151
  '@tui.sun',
150
152
  '@tui.moon',
@@ -182,20 +184,20 @@ const TUI_USED_ICONS = [
182
184
  '@tui.plus',
183
185
  '@tui.heart',
184
186
  '@tui.heart-filled',
185
- '@tui.star',
186
187
  '@tui.rotate-ccw-square',
187
188
  '@tui.arrow-left',
188
189
  '@tui.arrow-right',
189
190
  '@tui.minimize',
191
+ '@tui.star',
190
192
  '@tui.filter',
191
193
  '@tui.layout-grid',
192
194
  ];
193
195
 
194
- const TUI_VERSION = '4.52.0-canary.bf9131e';
196
+ const TUI_VERSION = '4.52.0-canary.c8448e0';
195
197
 
196
198
  /**
197
199
  * Generated bundle index. Do not edit.
198
200
  */
199
201
 
200
- export { CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_LAQUO, CHAR_MINUS, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_RAQUO, CHAR_ZERO_WIDTH_SPACE, EMPTY_ARRAY, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, EMPTY_QUERY, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DIGIT_REGEXP, TUI_FALSE_HANDLER, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_STRICT_MATCHER, TUI_TRUE_HANDLER, TUI_USED_ICONS, TUI_VERSION, svgNodeFilter };
202
+ export { CHAR_BULLET, CHAR_CURRENCY_SIGN, CHAR_ELLIPSIS, CHAR_EM_DASH, CHAR_EN_DASH, CHAR_HYPHEN, CHAR_LAQUO, CHAR_MINUS, CHAR_NO_BREAK_SPACE, CHAR_PLUS, CHAR_RAQUO, CHAR_ZERO_WIDTH_SPACE, EMPTY_CLIENT_RECT, EMPTY_FUNCTION, TUI_DEFAULT_IDENTITY_MATCHER, TUI_DEFAULT_MATCHER, TUI_DIGIT_REGEXP, TUI_FALSE_HANDLER, TUI_NON_DIGITS_REGEXP, TUI_NON_DIGIT_REGEXP, TUI_STRICT_MATCHER, TUI_STRINGIFY, TUI_TRUE_HANDLER, TUI_USED_ICONS, TUI_VERSION, svgNodeFilter };
201
203
  //# sourceMappingURL=taiga-ui-cdk-constants.mjs.map