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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/abstract/control.d.ts +0 -6
  2. package/abstract/interactive.d.ts +0 -9
  3. package/abstract/portal-host.d.ts +0 -3
  4. package/abstract/portal-service.d.ts +0 -3
  5. package/abstract/taiga-ui-cdk-abstract.d.ts +0 -3
  6. package/abstract/theme-switcher.d.ts +0 -6
  7. package/bundles/taiga-ui-cdk-abstract.umd.js +0 -32
  8. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-classes.umd.js +0 -9
  10. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-coercion.umd.js +0 -10
  12. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +0 -8
  14. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +0 -11
  16. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +0 -10
  18. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js +0 -4
  20. package/bundles/taiga-ui-cdk-components-scroll-controls.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components.umd.js +0 -4
  22. package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-constants.umd.js +1 -109
  24. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-date-time.umd.js +0 -284
  26. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-decorators.umd.js +0 -26
  28. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +0 -4
  30. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +1 -44
  32. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +0 -4
  34. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-checked.umd.js +0 -4
  36. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-click-outside.umd.js +0 -4
  38. package/bundles/taiga-ui-cdk-directives-click-outside.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-control.umd.js +0 -4
  40. package/bundles/taiga-ui-cdk-directives-control.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +0 -4
  42. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-drag.umd.js +0 -10
  44. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +0 -5
  46. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-element.umd.js +0 -18
  48. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +0 -17
  50. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +0 -9
  52. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-focusable.umd.js +0 -10
  54. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-focused.umd.js +0 -9
  56. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +0 -7
  58. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-for.umd.js +0 -4
  60. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +0 -7
  62. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +1 -7
  64. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-item.umd.js +0 -7
  66. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-let.umd.js +0 -17
  68. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-media.umd.js +0 -7
  70. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +0 -7
  72. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +0 -10
  74. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-pan.umd.js +0 -7
  76. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-platform.umd.js +0 -4
  78. package/bundles/taiga-ui-cdk-directives-platform.umd.js.map +1 -1
  79. package/bundles/taiga-ui-cdk-directives-portal.umd.js +0 -4
  80. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +0 -4
  82. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  83. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +0 -12
  84. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +0 -11
  86. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives-resize.umd.js +0 -7
  88. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives-resizer.umd.js +0 -5
  90. package/bundles/taiga-ui-cdk-directives-resizer.umd.js.map +1 -1
  91. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +0 -7
  92. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  93. package/bundles/taiga-ui-cdk-directives-validator.umd.js +0 -4
  94. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js +0 -4
  96. package/bundles/taiga-ui-cdk-directives-value-changes.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +0 -7
  98. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-directives.umd.js +0 -4
  100. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  101. package/bundles/taiga-ui-cdk-enums.umd.js +0 -8
  102. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  103. package/bundles/taiga-ui-cdk-exceptions.umd.js +0 -4
  104. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  105. package/bundles/taiga-ui-cdk-interfaces.umd.js +1 -3
  106. package/bundles/taiga-ui-cdk-interfaces.umd.js.map +1 -1
  107. package/bundles/taiga-ui-cdk-observables.umd.js +1 -34
  108. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  109. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +0 -4
  110. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js +0 -4
  112. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-pipes-keys.umd.js +0 -4
  114. package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +0 -4
  116. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  117. package/bundles/taiga-ui-cdk-pipes-replace.umd.js +1 -7
  118. package/bundles/taiga-ui-cdk-pipes-replace.umd.js.map +1 -1
  119. package/bundles/taiga-ui-cdk-pipes.umd.js +0 -4
  120. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  121. package/bundles/taiga-ui-cdk-services.umd.js +5 -53
  122. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  123. package/bundles/taiga-ui-cdk-tokens.umd.js +5 -109
  124. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  125. package/bundles/taiga-ui-cdk-types.umd.js +1 -3
  126. package/bundles/taiga-ui-cdk-types.umd.js.map +1 -1
  127. package/bundles/taiga-ui-cdk-utils-browser.umd.js +0 -4
  128. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  129. package/bundles/taiga-ui-cdk-utils-color.umd.js +0 -10
  130. package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -1
  131. package/bundles/taiga-ui-cdk-utils-dom.umd.js +2 -53
  132. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  133. package/bundles/taiga-ui-cdk-utils-focus.umd.js +0 -51
  134. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  135. package/bundles/taiga-ui-cdk-utils-format.umd.js +0 -7
  136. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  137. package/bundles/taiga-ui-cdk-utils-math.umd.js +0 -38
  138. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  139. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +6 -42
  140. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  141. package/bundles/taiga-ui-cdk-utils-os.umd.js +0 -14
  142. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  143. package/bundles/taiga-ui-cdk-utils-svg.umd.js +1 -19
  144. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  145. package/bundles/taiga-ui-cdk-utils.umd.js +0 -4
  146. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  147. package/bundles/taiga-ui-cdk.umd.js +0 -4
  148. package/bundles/taiga-ui-cdk.umd.js.map +1 -1
  149. package/classes/assert.d.ts +0 -5
  150. package/classes/taiga-ui-cdk-classes.d.ts +0 -3
  151. package/coercion/coerce-boolean-property.d.ts +0 -4
  152. package/coercion/taiga-ui-cdk-coercion.d.ts +0 -3
  153. package/components/alert-host/taiga-ui-cdk-components-alert-host.d.ts +0 -3
  154. package/components/dialog-host/dialog-host.component.d.ts +0 -3
  155. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.d.ts +0 -3
  156. package/components/dropdown-host/dropdown-host.component.d.ts +0 -3
  157. package/components/dropdown-host/dropdown-portal.service.d.ts +0 -3
  158. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +0 -3
  159. package/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.d.ts +0 -3
  160. package/components/taiga-ui-cdk-components.d.ts +0 -3
  161. package/constants/always-false-handler.d.ts +0 -3
  162. package/constants/always-true-handler.d.ts +0 -3
  163. package/constants/browser.d.ts +0 -4
  164. package/constants/empty.d.ts +0 -5
  165. package/constants/matcher.d.ts +0 -19
  166. package/constants/parent-animation.d.ts +0 -6
  167. package/constants/stringify.d.ts +0 -3
  168. package/constants/taiga-ui-cdk-constants.d.ts +0 -3
  169. package/constants/unicode-chars.d.ts +0 -51
  170. package/constants/used-icons.d.ts +0 -6
  171. package/constants/version.d.ts +1 -1
  172. package/constants/version.js +1 -1
  173. package/date-time/date-fillers.d.ts +0 -11
  174. package/date-time/date-format.d.ts +0 -3
  175. package/date-time/date-separator.d.ts +0 -3
  176. package/date-time/day-range.d.ts +0 -33
  177. package/date-time/day.d.ts +0 -91
  178. package/date-time/month-range.d.ts +0 -3
  179. package/date-time/month.d.ts +0 -56
  180. package/date-time/taiga-ui-cdk-date-time.d.ts +0 -3
  181. package/date-time/time.d.ts +0 -36
  182. package/date-time/year.d.ts +0 -42
  183. package/decorators/debounce.d.ts +0 -4
  184. package/decorators/default-prop.d.ts +0 -9
  185. package/decorators/pure.d.ts +0 -18
  186. package/decorators/required-setter.d.ts +0 -9
  187. package/decorators/taiga-ui-cdk-decorators.d.ts +0 -3
  188. package/directives/active-zone/taiga-ui-cdk-directives-active-zone.d.ts +0 -3
  189. package/directives/auto-focus/handlers/ios.handler.d.ts +0 -39
  190. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.d.ts +0 -3
  191. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.d.ts +0 -3
  192. package/directives/checked/taiga-ui-cdk-directives-checked.d.ts +0 -3
  193. package/directives/click-outside/taiga-ui-cdk-directives-click-outside.d.ts +0 -3
  194. package/directives/control/taiga-ui-cdk-directives-control.d.ts +0 -3
  195. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +0 -3
  196. package/directives/drag/drag.directive.d.ts +0 -3
  197. package/directives/drag/drag.module.d.ts +0 -3
  198. package/directives/drag/taiga-ui-cdk-directives-drag.d.ts +0 -3
  199. package/directives/droppable/taiga-ui-cdk-directives-droppable.d.ts +0 -3
  200. package/directives/element/taiga-ui-cdk-directives-element.d.ts +0 -3
  201. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.d.ts +0 -3
  202. package/directives/focus-visible/focus-visible.directive.d.ts +0 -5
  203. package/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.d.ts +0 -3
  204. package/directives/focusable/focusable.directive.d.ts +0 -6
  205. package/directives/focusable/taiga-ui-cdk-directives-focusable.d.ts +0 -3
  206. package/directives/focused/focused.directive.d.ts +0 -5
  207. package/directives/focused/taiga-ui-cdk-directives-focused.d.ts +0 -3
  208. package/directives/for/taiga-ui-cdk-directives-for.d.ts +0 -3
  209. package/directives/for-async/for-async.module.d.ts +0 -3
  210. package/directives/for-async/taiga-ui-cdk-directives-for-async.d.ts +0 -3
  211. package/directives/high-dpi/high-dpi.directive.d.ts +0 -3
  212. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.d.ts +0 -3
  213. package/directives/hovered/taiga-ui-cdk-directives-hovered.d.ts +0 -3
  214. package/directives/item/item.directive.d.ts +0 -3
  215. package/directives/item/taiga-ui-cdk-directives-item.d.ts +0 -3
  216. package/directives/let/let-context.d.ts +0 -3
  217. package/directives/let/let.directive.d.ts +0 -10
  218. package/directives/let/taiga-ui-cdk-directives-let.d.ts +0 -3
  219. package/directives/media/taiga-ui-cdk-directives-media.d.ts +0 -3
  220. package/directives/obscured/obscured.directive.d.ts +0 -3
  221. package/directives/obscured/taiga-ui-cdk-directives-obscured.d.ts +0 -3
  222. package/directives/overscroll/overscroll.directive.d.ts +0 -3
  223. package/directives/overscroll/taiga-ui-cdk-directives-overscroll.d.ts +0 -3
  224. package/directives/pan/pan.module.d.ts +0 -3
  225. package/directives/pan/taiga-ui-cdk-directives-pan.d.ts +0 -3
  226. package/directives/platform/taiga-ui-cdk-directives-platform.d.ts +0 -3
  227. package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +0 -3
  228. package/directives/pressed/taiga-ui-cdk-directives-pressed.d.ts +0 -3
  229. package/directives/prevent-default/prevent-default.directive.d.ts +0 -5
  230. package/directives/prevent-default/prevent-default.module.d.ts +0 -3
  231. package/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.d.ts +0 -3
  232. package/directives/repeat-times/repeat-times.directive.d.ts +0 -7
  233. package/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.d.ts +0 -3
  234. package/directives/resize/resize.module.d.ts +0 -3
  235. package/directives/resize/taiga-ui-cdk-directives-resize.d.ts +0 -3
  236. package/directives/resizer/taiga-ui-cdk-directives-resizer.d.ts +0 -3
  237. package/directives/swipe/swipe.module.d.ts +0 -3
  238. package/directives/swipe/taiga-ui-cdk-directives-swipe.d.ts +0 -3
  239. package/directives/taiga-ui-cdk-directives.d.ts +0 -3
  240. package/directives/validator/taiga-ui-cdk-directives-validator.d.ts +0 -3
  241. package/directives/value-changes/taiga-ui-cdk-directives-value-changes.d.ts +0 -3
  242. package/directives/zoom/taiga-ui-cdk-directives-zoom.d.ts +0 -3
  243. package/directives/zoom/zoom.module.d.ts +0 -3
  244. package/enums/taiga-ui-cdk-enums.d.ts +0 -3
  245. package/esm2015/abstract/control.js +1 -7
  246. package/esm2015/abstract/interactive.js +1 -11
  247. package/esm2015/abstract/portal-host.js +1 -4
  248. package/esm2015/abstract/portal-service.js +1 -4
  249. package/esm2015/abstract/taiga-ui-cdk-abstract.js +1 -4
  250. package/esm2015/abstract/theme-switcher.js +1 -7
  251. package/esm2015/classes/assert.js +1 -6
  252. package/esm2015/classes/taiga-ui-cdk-classes.js +1 -4
  253. package/esm2015/coercion/coerce-boolean-property.js +1 -7
  254. package/esm2015/coercion/taiga-ui-cdk-coercion.js +1 -4
  255. package/esm2015/components/alert-host/alert-host.component.js +1 -5
  256. package/esm2015/components/alert-host/taiga-ui-cdk-components-alert-host.js +1 -4
  257. package/esm2015/components/dialog-host/dialog-host.component.js +1 -8
  258. package/esm2015/components/dialog-host/taiga-ui-cdk-components-dialog-host.js +1 -4
  259. package/esm2015/components/dropdown-host/dropdown-host.component.js +1 -4
  260. package/esm2015/components/dropdown-host/dropdown-portal.service.js +1 -4
  261. package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +1 -4
  262. package/esm2015/components/scroll-controls/taiga-ui-cdk-components-scroll-controls.js +1 -4
  263. package/esm2015/components/taiga-ui-cdk-components.js +1 -4
  264. package/esm2015/constants/always-false-handler.js +1 -5
  265. package/esm2015/constants/always-true-handler.js +1 -5
  266. package/esm2015/constants/browser.js +1 -5
  267. package/esm2015/constants/empty.js +1 -6
  268. package/esm2015/constants/matcher.js +1 -20
  269. package/esm2015/constants/parent-animation.js +1 -7
  270. package/esm2015/constants/stringify.js +1 -4
  271. package/esm2015/constants/svg-node-filter.js +1 -3
  272. package/esm2015/constants/taiga-ui-cdk-constants.js +1 -4
  273. package/esm2015/constants/unicode-chars.js +1 -52
  274. package/esm2015/constants/used-icons.js +1 -7
  275. package/esm2015/constants/version.js +2 -2
  276. package/esm2015/date-time/date-fillers.js +1 -12
  277. package/esm2015/date-time/date-format.js +1 -4
  278. package/esm2015/date-time/date-separator.js +1 -4
  279. package/esm2015/date-time/day-range.js +1 -34
  280. package/esm2015/date-time/day.js +1 -94
  281. package/esm2015/date-time/month-range.js +1 -4
  282. package/esm2015/date-time/month.js +1 -57
  283. package/esm2015/date-time/taiga-ui-cdk-date-time.js +1 -4
  284. package/esm2015/date-time/time.js +1 -37
  285. package/esm2015/date-time/year.js +1 -43
  286. package/esm2015/decorators/debounce.js +1 -5
  287. package/esm2015/decorators/default-prop.js +1 -10
  288. package/esm2015/decorators/required-setter.js +1 -10
  289. package/esm2015/decorators/taiga-ui-cdk-decorators.js +1 -4
  290. package/esm2015/directives/active-zone/taiga-ui-cdk-directives-active-zone.js +1 -4
  291. package/esm2015/directives/auto-focus/autofocus.options.js +2 -3
  292. package/esm2015/directives/auto-focus/handlers/ios.handler.js +1 -40
  293. package/esm2015/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.js +1 -4
  294. package/esm2015/directives/autofilled/taiga-ui-cdk-directives-autofilled.js +1 -4
  295. package/esm2015/directives/checked/taiga-ui-cdk-directives-checked.js +1 -4
  296. package/esm2015/directives/click-outside/taiga-ui-cdk-directives-click-outside.js +1 -4
  297. package/esm2015/directives/control/taiga-ui-cdk-directives-control.js +1 -4
  298. package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +1 -4
  299. package/esm2015/directives/drag/drag.directive.js +1 -4
  300. package/esm2015/directives/drag/drag.module.js +1 -4
  301. package/esm2015/directives/drag/taiga-ui-cdk-directives-drag.js +1 -4
  302. package/esm2015/directives/droppable/droppable.directive.js +1 -2
  303. package/esm2015/directives/droppable/taiga-ui-cdk-directives-droppable.js +1 -4
  304. package/esm2015/directives/element/element.directive.js +1 -15
  305. package/esm2015/directives/element/taiga-ui-cdk-directives-element.js +1 -4
  306. package/esm2015/directives/focus-trap/focus-trap.directive.js +1 -14
  307. package/esm2015/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.js +1 -4
  308. package/esm2015/directives/focus-visible/focus-visible.directive.js +1 -6
  309. package/esm2015/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.js +1 -4
  310. package/esm2015/directives/focusable/focusable.directive.js +1 -7
  311. package/esm2015/directives/focusable/taiga-ui-cdk-directives-focusable.js +1 -4
  312. package/esm2015/directives/focused/focused.directive.js +1 -6
  313. package/esm2015/directives/focused/taiga-ui-cdk-directives-focused.js +1 -4
  314. package/esm2015/directives/for/taiga-ui-cdk-directives-for.js +1 -4
  315. package/esm2015/directives/for-async/for-async.module.js +1 -4
  316. package/esm2015/directives/for-async/taiga-ui-cdk-directives-for-async.js +1 -4
  317. package/esm2015/directives/high-dpi/high-dpi.directive.js +1 -4
  318. package/esm2015/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.js +1 -4
  319. package/esm2015/directives/hovered/hovered.service.js +2 -4
  320. package/esm2015/directives/hovered/taiga-ui-cdk-directives-hovered.js +1 -4
  321. package/esm2015/directives/item/item.directive.js +1 -4
  322. package/esm2015/directives/item/taiga-ui-cdk-directives-item.js +1 -4
  323. package/esm2015/directives/let/let-context.js +1 -4
  324. package/esm2015/directives/let/let.directive.js +1 -11
  325. package/esm2015/directives/let/taiga-ui-cdk-directives-let.js +1 -4
  326. package/esm2015/directives/media/media.directive.js +1 -4
  327. package/esm2015/directives/media/taiga-ui-cdk-directives-media.js +1 -4
  328. package/esm2015/directives/obscured/obscured.directive.js +1 -4
  329. package/esm2015/directives/obscured/taiga-ui-cdk-directives-obscured.js +1 -4
  330. package/esm2015/directives/overscroll/overscroll.directive.js +1 -7
  331. package/esm2015/directives/overscroll/taiga-ui-cdk-directives-overscroll.js +1 -4
  332. package/esm2015/directives/pan/pan.module.js +1 -4
  333. package/esm2015/directives/pan/taiga-ui-cdk-directives-pan.js +1 -4
  334. package/esm2015/directives/platform/taiga-ui-cdk-directives-platform.js +1 -4
  335. package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +1 -4
  336. package/esm2015/directives/pressed/taiga-ui-cdk-directives-pressed.js +1 -4
  337. package/esm2015/directives/prevent-default/prevent-default.directive.js +1 -6
  338. package/esm2015/directives/prevent-default/prevent-default.module.js +1 -4
  339. package/esm2015/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.js +1 -4
  340. package/esm2015/directives/repeat-times/repeat-times.directive.js +1 -8
  341. package/esm2015/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.js +1 -4
  342. package/esm2015/directives/resize/resize.module.js +1 -4
  343. package/esm2015/directives/resize/taiga-ui-cdk-directives-resize.js +1 -4
  344. package/esm2015/directives/resizer/resizer.directive.js +1 -2
  345. package/esm2015/directives/resizer/taiga-ui-cdk-directives-resizer.js +1 -4
  346. package/esm2015/directives/swipe/swipe.module.js +1 -4
  347. package/esm2015/directives/swipe/taiga-ui-cdk-directives-swipe.js +1 -4
  348. package/esm2015/directives/taiga-ui-cdk-directives.js +1 -4
  349. package/esm2015/directives/validator/taiga-ui-cdk-directives-validator.js +1 -4
  350. package/esm2015/directives/value-changes/taiga-ui-cdk-directives-value-changes.js +1 -4
  351. package/esm2015/directives/zoom/taiga-ui-cdk-directives-zoom.js +1 -4
  352. package/esm2015/directives/zoom/zoom.module.js +1 -4
  353. package/esm2015/enums/day-of-week.js +1 -3
  354. package/esm2015/enums/month-number.js +1 -3
  355. package/esm2015/enums/taiga-ui-cdk-enums.js +1 -4
  356. package/esm2015/exceptions/taiga-ui-cdk-exceptions.js +1 -4
  357. package/esm2015/interfaces/taiga-ui-cdk-interfaces.js +1 -4
  358. package/esm2015/observables/control-value.js +1 -4
  359. package/esm2015/observables/drag-and-drop-from.js +1 -3
  360. package/esm2015/observables/focus-visible-observable.js +2 -6
  361. package/esm2015/observables/is-alive.js +1 -4
  362. package/esm2015/observables/items-query-list-observable.js +1 -7
  363. package/esm2015/observables/mouse-drag-finish-from.js +1 -5
  364. package/esm2015/observables/scroll-from.js +1 -4
  365. package/esm2015/observables/taiga-ui-cdk-observables.js +1 -4
  366. package/esm2015/observables/typed-from-event.js +1 -5
  367. package/esm2015/pipes/filter/taiga-ui-cdk-pipes-filter.js +1 -4
  368. package/esm2015/pipes/is-present/taiga-ui-cdk-pipes-is-present.js +1 -4
  369. package/esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js +1 -4
  370. package/esm2015/pipes/mapper/taiga-ui-cdk-pipes-mapper.js +1 -4
  371. package/esm2015/pipes/replace/replace.pipe.js +2 -4
  372. package/esm2015/pipes/replace/taiga-ui-cdk-pipes-replace.js +1 -4
  373. package/esm2015/pipes/taiga-ui-cdk-pipes.js +1 -4
  374. package/esm2015/services/destroy.service.js +1 -9
  375. package/esm2015/services/directive-styles.service.js +1 -4
  376. package/esm2015/services/focus-visible.service.js +1 -6
  377. package/esm2015/services/id.service.js +1 -4
  378. package/esm2015/services/obscured.service.js +2 -10
  379. package/esm2015/services/pan.service.js +2 -4
  380. package/esm2015/services/parents-scroll.service.js +2 -7
  381. package/esm2015/services/resize.service.js +2 -8
  382. package/esm2015/services/static-request.service.js +2 -5
  383. package/esm2015/services/taiga-ui-cdk-services.js +1 -4
  384. package/esm2015/taiga-ui-cdk.js +1 -4
  385. package/esm2015/tokens/active-element.js +4 -26
  386. package/esm2015/tokens/alerts.js +1 -4
  387. package/esm2015/tokens/default-renderer.js +2 -10
  388. package/esm2015/tokens/dialogs.js +1 -5
  389. package/esm2015/tokens/ensure-base-href.js +1 -4
  390. package/esm2015/tokens/focusable-item-accessor.js +1 -4
  391. package/esm2015/tokens/is-android.js +1 -4
  392. package/esm2015/tokens/is-apple.js +1 -4
  393. package/esm2015/tokens/is-chromium.js +1 -4
  394. package/esm2015/tokens/is-cypress.js +1 -5
  395. package/esm2015/tokens/is-e2e.js +1 -4
  396. package/esm2015/tokens/is-firefox.js +1 -4
  397. package/esm2015/tokens/is-ios.js +1 -4
  398. package/esm2015/tokens/is-mobile.js +1 -5
  399. package/esm2015/tokens/is-playwright.js +1 -4
  400. package/esm2015/tokens/is-webkit.js +1 -4
  401. package/esm2015/tokens/platform.js +1 -2
  402. package/esm2015/tokens/range.js +1 -4
  403. package/esm2015/tokens/removed-element.js +1 -4
  404. package/esm2015/tokens/scroll-ref.js +1 -4
  405. package/esm2015/tokens/swipe-options.js +1 -4
  406. package/esm2015/tokens/taiga-ui-cdk-tokens.js +1 -4
  407. package/esm2015/tokens/take-only-trusted-events.js +1 -7
  408. package/esm2015/tokens/window-height.js +1 -4
  409. package/esm2015/tokens/zoom-options.js +1 -4
  410. package/esm2015/types/taiga-ui-cdk-types.js +1 -4
  411. package/esm2015/utils/browser/taiga-ui-cdk-utils-browser.js +1 -4
  412. package/esm2015/utils/color/hex-to-rgba.js +1 -2
  413. package/esm2015/utils/color/hsv-to-rgb.js +1 -4
  414. package/esm2015/utils/color/rgb-to-hsv.js +1 -2
  415. package/esm2015/utils/color/rgba-to-hex.js +1 -2
  416. package/esm2015/utils/color/taiga-ui-cdk-utils-color.js +1 -4
  417. package/esm2015/utils/dom/element-checks.js +1 -2
  418. package/esm2015/utils/dom/get-actual-target.js +1 -4
  419. package/esm2015/utils/dom/get-clipboard-data-text.js +1 -4
  420. package/esm2015/utils/dom/get-element-obscurers.js +1 -10
  421. package/esm2015/utils/dom/get-element-offset.js +1 -8
  422. package/esm2015/utils/dom/get-scroll-parent.js +1 -7
  423. package/esm2015/utils/dom/get-selected-text.js +1 -9
  424. package/esm2015/utils/dom/is-inside-iframe.js +1 -4
  425. package/esm2015/utils/dom/is-node-in.js +1 -8
  426. package/esm2015/utils/dom/retarget-boundary-crossing.js +3 -3
  427. package/esm2015/utils/dom/taiga-ui-cdk-utils-dom.js +1 -4
  428. package/esm2015/utils/focus/blur-native-focused.js +1 -4
  429. package/esm2015/utils/focus/get-closest-focusable.js +1 -5
  430. package/esm2015/utils/focus/get-native-focused.js +1 -6
  431. package/esm2015/utils/focus/is-native-focused-in.js +1 -8
  432. package/esm2015/utils/focus/is-native-focused.js +1 -9
  433. package/esm2015/utils/focus/is-native-keyboard-focusable.js +1 -7
  434. package/esm2015/utils/focus/move-focus.js +1 -8
  435. package/esm2015/utils/focus/set-native-mouse-focused.js +1 -8
  436. package/esm2015/utils/focus/taiga-ui-cdk-utils-focus.js +1 -4
  437. package/esm2015/utils/format/px.js +1 -4
  438. package/esm2015/utils/format/taiga-ui-cdk-utils-format.js +1 -4
  439. package/esm2015/utils/math/clamp.js +1 -8
  440. package/esm2015/utils/math/normalize-to-int-number.js +1 -9
  441. package/esm2015/utils/math/quantize.js +1 -7
  442. package/esm2015/utils/math/round.js +1 -8
  443. package/esm2015/utils/math/sum.js +1 -4
  444. package/esm2015/utils/math/taiga-ui-cdk-utils-math.js +1 -4
  445. package/esm2015/utils/math/to-radians.js +1 -4
  446. package/esm2015/utils/miscellaneous/create-options.js +1 -2
  447. package/esm2015/utils/miscellaneous/flat-length.js +1 -6
  448. package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +1 -7
  449. package/esm2015/utils/miscellaneous/is-number.js +1 -2
  450. package/esm2015/utils/miscellaneous/is-object.js +1 -2
  451. package/esm2015/utils/miscellaneous/is-string.js +1 -2
  452. package/esm2015/utils/miscellaneous/is-valid-url.js +7 -8
  453. package/esm2015/utils/miscellaneous/nullable-same.js +1 -9
  454. package/esm2015/utils/miscellaneous/object-from-entries.js +1 -9
  455. package/esm2015/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.js +1 -4
  456. package/esm2015/utils/os/is-apple-platform.js +1 -11
  457. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +1 -4
  458. package/esm2015/utils/svg/svg-linear-gradient-processor.js +2 -16
  459. package/esm2015/utils/svg/taiga-ui-cdk-utils-svg.js +1 -4
  460. package/esm2015/utils/taiga-ui-cdk-utils.js +1 -4
  461. package/exceptions/taiga-ui-cdk-exceptions.d.ts +0 -3
  462. package/fesm2015/taiga-ui-cdk-abstract.js +0 -32
  463. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  464. package/fesm2015/taiga-ui-cdk-classes.js +0 -9
  465. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  466. package/fesm2015/taiga-ui-cdk-coercion.js +0 -10
  467. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  468. package/fesm2015/taiga-ui-cdk-components-alert-host.js +0 -8
  469. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  470. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +0 -11
  471. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  472. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +0 -10
  473. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  474. package/fesm2015/taiga-ui-cdk-components-scroll-controls.js +0 -4
  475. package/fesm2015/taiga-ui-cdk-components-scroll-controls.js.map +1 -1
  476. package/fesm2015/taiga-ui-cdk-components.js +0 -4
  477. package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
  478. package/fesm2015/taiga-ui-cdk-constants.js +1 -109
  479. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  480. package/fesm2015/taiga-ui-cdk-date-time.js +0 -284
  481. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  482. package/fesm2015/taiga-ui-cdk-decorators.js +0 -26
  483. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  484. package/fesm2015/taiga-ui-cdk-directives-active-zone.js +0 -4
  485. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  486. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +1 -44
  487. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  488. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +0 -4
  489. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  490. package/fesm2015/taiga-ui-cdk-directives-checked.js +0 -4
  491. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  492. package/fesm2015/taiga-ui-cdk-directives-click-outside.js +0 -4
  493. package/fesm2015/taiga-ui-cdk-directives-click-outside.js.map +1 -1
  494. package/fesm2015/taiga-ui-cdk-directives-control.js +0 -4
  495. package/fesm2015/taiga-ui-cdk-directives-control.js.map +1 -1
  496. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +0 -4
  497. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  498. package/fesm2015/taiga-ui-cdk-directives-drag.js +0 -10
  499. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  500. package/fesm2015/taiga-ui-cdk-directives-droppable.js +0 -5
  501. package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
  502. package/fesm2015/taiga-ui-cdk-directives-element.js +0 -18
  503. package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
  504. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +0 -17
  505. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  506. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js +0 -9
  507. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  508. package/fesm2015/taiga-ui-cdk-directives-focusable.js +0 -10
  509. package/fesm2015/taiga-ui-cdk-directives-focusable.js.map +1 -1
  510. package/fesm2015/taiga-ui-cdk-directives-focused.js +0 -9
  511. package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
  512. package/fesm2015/taiga-ui-cdk-directives-for-async.js +0 -7
  513. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
  514. package/fesm2015/taiga-ui-cdk-directives-for.js +0 -4
  515. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  516. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js +0 -7
  517. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  518. package/fesm2015/taiga-ui-cdk-directives-hovered.js +1 -7
  519. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  520. package/fesm2015/taiga-ui-cdk-directives-item.js +0 -7
  521. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  522. package/fesm2015/taiga-ui-cdk-directives-let.js +0 -17
  523. package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
  524. package/fesm2015/taiga-ui-cdk-directives-media.js +0 -7
  525. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  526. package/fesm2015/taiga-ui-cdk-directives-obscured.js +0 -7
  527. package/fesm2015/taiga-ui-cdk-directives-obscured.js.map +1 -1
  528. package/fesm2015/taiga-ui-cdk-directives-overscroll.js +0 -10
  529. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  530. package/fesm2015/taiga-ui-cdk-directives-pan.js +0 -7
  531. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  532. package/fesm2015/taiga-ui-cdk-directives-platform.js +0 -4
  533. package/fesm2015/taiga-ui-cdk-directives-platform.js.map +1 -1
  534. package/fesm2015/taiga-ui-cdk-directives-portal.js +0 -4
  535. package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -1
  536. package/fesm2015/taiga-ui-cdk-directives-pressed.js +0 -4
  537. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  538. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +0 -12
  539. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  540. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js +0 -11
  541. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  542. package/fesm2015/taiga-ui-cdk-directives-resize.js +0 -7
  543. package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
  544. package/fesm2015/taiga-ui-cdk-directives-resizer.js +0 -5
  545. package/fesm2015/taiga-ui-cdk-directives-resizer.js.map +1 -1
  546. package/fesm2015/taiga-ui-cdk-directives-swipe.js +0 -7
  547. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  548. package/fesm2015/taiga-ui-cdk-directives-validator.js +0 -4
  549. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  550. package/fesm2015/taiga-ui-cdk-directives-value-changes.js +0 -4
  551. package/fesm2015/taiga-ui-cdk-directives-value-changes.js.map +1 -1
  552. package/fesm2015/taiga-ui-cdk-directives-zoom.js +0 -7
  553. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  554. package/fesm2015/taiga-ui-cdk-directives.js +0 -4
  555. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  556. package/fesm2015/taiga-ui-cdk-enums.js +0 -8
  557. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  558. package/fesm2015/taiga-ui-cdk-exceptions.js +0 -4
  559. package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -1
  560. package/fesm2015/taiga-ui-cdk-interfaces.js +1 -3
  561. package/fesm2015/taiga-ui-cdk-interfaces.js.map +1 -1
  562. package/fesm2015/taiga-ui-cdk-observables.js +1 -34
  563. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  564. package/fesm2015/taiga-ui-cdk-pipes-filter.js +0 -4
  565. package/fesm2015/taiga-ui-cdk-pipes-filter.js.map +1 -1
  566. package/fesm2015/taiga-ui-cdk-pipes-is-present.js +0 -4
  567. package/fesm2015/taiga-ui-cdk-pipes-is-present.js.map +1 -1
  568. package/fesm2015/taiga-ui-cdk-pipes-keys.js +0 -4
  569. package/fesm2015/taiga-ui-cdk-pipes-keys.js.map +1 -1
  570. package/fesm2015/taiga-ui-cdk-pipes-mapper.js +0 -4
  571. package/fesm2015/taiga-ui-cdk-pipes-mapper.js.map +1 -1
  572. package/fesm2015/taiga-ui-cdk-pipes-replace.js +1 -7
  573. package/fesm2015/taiga-ui-cdk-pipes-replace.js.map +1 -1
  574. package/fesm2015/taiga-ui-cdk-pipes.js +0 -4
  575. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  576. package/fesm2015/taiga-ui-cdk-services.js +5 -52
  577. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  578. package/fesm2015/taiga-ui-cdk-tokens.js +4 -108
  579. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  580. package/fesm2015/taiga-ui-cdk-types.js +1 -3
  581. package/fesm2015/taiga-ui-cdk-types.js.map +1 -1
  582. package/fesm2015/taiga-ui-cdk-utils-browser.js +0 -4
  583. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  584. package/fesm2015/taiga-ui-cdk-utils-color.js +0 -10
  585. package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -1
  586. package/fesm2015/taiga-ui-cdk-utils-dom.js +2 -53
  587. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  588. package/fesm2015/taiga-ui-cdk-utils-focus.js +0 -51
  589. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  590. package/fesm2015/taiga-ui-cdk-utils-format.js +0 -7
  591. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  592. package/fesm2015/taiga-ui-cdk-utils-math.js +0 -38
  593. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  594. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +6 -42
  595. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  596. package/fesm2015/taiga-ui-cdk-utils-os.js +0 -14
  597. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  598. package/fesm2015/taiga-ui-cdk-utils-svg.js +1 -19
  599. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
  600. package/fesm2015/taiga-ui-cdk-utils.js +0 -4
  601. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  602. package/fesm2015/taiga-ui-cdk.js +0 -4
  603. package/fesm2015/taiga-ui-cdk.js.map +1 -1
  604. package/interfaces/control-value-transformer.d.ts +0 -3
  605. package/interfaces/day-like.d.ts +0 -3
  606. package/interfaces/focusable-element-accessor.d.ts +0 -4
  607. package/interfaces/month-like.d.ts +0 -3
  608. package/interfaces/taiga-ui-cdk-interfaces.d.ts +0 -3
  609. package/interfaces/year-like.d.ts +0 -3
  610. package/observables/control-value.d.ts +0 -3
  611. package/observables/is-alive.d.ts +0 -3
  612. package/observables/items-query-list-observable.d.ts +0 -6
  613. package/observables/mouse-drag-finish-from.d.ts +0 -4
  614. package/observables/scroll-from.d.ts +0 -3
  615. package/observables/taiga-ui-cdk-observables.d.ts +0 -3
  616. package/package.json +1 -1
  617. package/pipes/filter/filter.pipe.d.ts +0 -7
  618. package/pipes/filter/taiga-ui-cdk-pipes-filter.d.ts +0 -3
  619. package/pipes/is-present/taiga-ui-cdk-pipes-is-present.d.ts +0 -3
  620. package/pipes/keys/taiga-ui-cdk-pipes-keys.d.ts +0 -3
  621. package/pipes/mapper/mapper.pipe.d.ts +0 -7
  622. package/pipes/mapper/taiga-ui-cdk-pipes-mapper.d.ts +0 -3
  623. package/pipes/replace/taiga-ui-cdk-pipes-replace.d.ts +0 -3
  624. package/pipes/taiga-ui-cdk-pipes.d.ts +0 -3
  625. package/schematics/constants/file-globs.js +1 -3
  626. package/schematics/ng-add/index.js +0 -1
  627. package/schematics/ng-add/schema.d.ts +0 -12
  628. package/schematics/ng-update/steps/show-warnings.js +0 -5
  629. package/schematics/ng-update/v3/constants/breakpoints.js +0 -2
  630. package/schematics/ng-update/v3/constants/enums.js +0 -4
  631. package/schematics/ng-update/v3/constants/templates.d.ts +0 -5
  632. package/schematics/ng-update/v3/constants/templates.js +0 -5
  633. package/schematics/ng-update/v3/index.js +1 -5
  634. package/schematics/ng-update/v3/steps/migrate-date-time.js +0 -18
  635. package/schematics/ng-update/v3/steps/migrate-progress.js +1 -3
  636. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +0 -6
  637. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +0 -5
  638. package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +0 -1
  639. package/schematics/ng-update/v3/steps/migrate-templates.js +0 -1
  640. package/schematics/ng-update/v3/steps/miscellaneous.js +0 -4
  641. package/schematics/ng-update/v3/steps/replace-functions.js +1 -1
  642. package/schematics/ng-update/v3-30/index.js +0 -1
  643. package/schematics/ng-update/v3-35/index.js +0 -1
  644. package/schematics/ng-update/v3-36/index.js +0 -1
  645. package/schematics/ng-update/v3-40/index.js +0 -1
  646. package/schematics/ng-update/v3-5/index.js +0 -1
  647. package/schematics/ng-update/v4/index.js +0 -1
  648. package/schematics/utils/add-import-to-component.js +0 -1
  649. package/schematics/utils/angular/ng-module.d.ts +0 -3
  650. package/schematics/utils/angular/ng-module.js +0 -3
  651. package/schematics/utils/angular-json-manipulations.js +0 -7
  652. package/schematics/utils/colored-log.js +1 -1
  653. package/schematics/utils/get-projects.js +1 -3
  654. package/schematics/utils/is-ci.js +11 -13
  655. package/schematics/utils/progress.js +0 -1
  656. package/schematics/utils/push-to-array-property.js +0 -1
  657. package/schematics/utils/templates/elements.d.ts +0 -19
  658. package/schematics/utils/templates/elements.js +2 -26
  659. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +0 -44
  660. package/schematics/utils/templates/ng-component-input-manipulations.js +1 -47
  661. package/services/destroy.service.d.ts +0 -8
  662. package/services/directive-styles.service.d.ts +0 -3
  663. package/services/focus-visible.service.d.ts +0 -5
  664. package/services/id.service.d.ts +0 -3
  665. package/services/obscured.service.d.ts +0 -5
  666. package/services/parents-scroll.service.d.ts +0 -3
  667. package/services/taiga-ui-cdk-services.d.ts +0 -3
  668. package/taiga-ui-cdk.d.ts +0 -3
  669. package/tokens/active-element.d.ts +0 -3
  670. package/tokens/alerts.d.ts +0 -3
  671. package/tokens/default-renderer.d.ts +0 -6
  672. package/tokens/dialogs.d.ts +0 -3
  673. package/tokens/ensure-base-href.d.ts +0 -3
  674. package/tokens/focusable-item-accessor.d.ts +0 -3
  675. package/tokens/is-android.d.ts +0 -3
  676. package/tokens/is-apple.d.ts +0 -3
  677. package/tokens/is-chromium.d.ts +0 -3
  678. package/tokens/is-cypress.d.ts +0 -4
  679. package/tokens/is-e2e.d.ts +0 -3
  680. package/tokens/is-firefox.d.ts +0 -3
  681. package/tokens/is-ios.d.ts +0 -3
  682. package/tokens/is-mobile.d.ts +0 -3
  683. package/tokens/is-playwright.d.ts +0 -3
  684. package/tokens/is-webkit.d.ts +0 -3
  685. package/tokens/range.d.ts +0 -3
  686. package/tokens/removed-element.d.ts +0 -3
  687. package/tokens/scroll-ref.d.ts +0 -3
  688. package/tokens/swipe-options.d.ts +0 -3
  689. package/tokens/taiga-ui-cdk-tokens.d.ts +0 -3
  690. package/tokens/take-only-trusted-events.d.ts +0 -6
  691. package/tokens/window-height.d.ts +0 -3
  692. package/tokens/zoom-options.d.ts +0 -3
  693. package/types/autocomplete.d.ts +0 -1
  694. package/types/date-mode.d.ts +0 -5
  695. package/types/event-with.d.ts +0 -3
  696. package/types/mapper.d.ts +0 -8
  697. package/types/matcher.d.ts +0 -8
  698. package/types/taiga-ui-cdk-types.d.ts +0 -3
  699. package/utils/browser/taiga-ui-cdk-utils-browser.d.ts +0 -3
  700. package/utils/color/hsv-to-rgb.d.ts +0 -3
  701. package/utils/color/taiga-ui-cdk-utils-color.d.ts +0 -3
  702. package/utils/dom/get-actual-target.d.ts +0 -3
  703. package/utils/dom/get-clipboard-data-text.d.ts +0 -3
  704. package/utils/dom/get-element-obscurers.d.ts +0 -9
  705. package/utils/dom/get-element-offset.d.ts +0 -7
  706. package/utils/dom/get-scroll-parent.d.ts +0 -6
  707. package/utils/dom/get-selected-text.d.ts +0 -8
  708. package/utils/dom/is-inside-iframe.d.ts +0 -3
  709. package/utils/dom/is-node-in.d.ts +0 -7
  710. package/utils/dom/taiga-ui-cdk-utils-dom.d.ts +0 -3
  711. package/utils/focus/blur-native-focused.d.ts +0 -3
  712. package/utils/focus/get-closest-focusable.d.ts +0 -20
  713. package/utils/focus/get-native-focused.d.ts +0 -5
  714. package/utils/focus/is-native-focused-in.d.ts +0 -6
  715. package/utils/focus/is-native-focused.d.ts +0 -8
  716. package/utils/focus/is-native-keyboard-focusable.d.ts +0 -6
  717. package/utils/focus/move-focus.d.ts +0 -7
  718. package/utils/focus/set-native-mouse-focused.d.ts +0 -7
  719. package/utils/focus/taiga-ui-cdk-utils-focus.d.ts +0 -3
  720. package/utils/format/px.d.ts +0 -3
  721. package/utils/format/taiga-ui-cdk-utils-format.d.ts +0 -3
  722. package/utils/math/clamp.d.ts +0 -7
  723. package/utils/math/normalize-to-int-number.d.ts +0 -8
  724. package/utils/math/quantize.d.ts +0 -6
  725. package/utils/math/sum.d.ts +0 -3
  726. package/utils/math/taiga-ui-cdk-utils-math.d.ts +0 -3
  727. package/utils/math/to-radians.d.ts +0 -3
  728. package/utils/miscellaneous/create-options.d.ts +0 -1
  729. package/utils/miscellaneous/flat-length.d.ts +0 -5
  730. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -6
  731. package/utils/miscellaneous/is-string.js +0 -1
  732. package/utils/miscellaneous/nullable-same.d.ts +0 -8
  733. package/utils/miscellaneous/object-from-entries.d.ts +0 -8
  734. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.d.ts +0 -3
  735. package/utils/os/is-apple-platform.d.ts +0 -10
  736. package/utils/os/taiga-ui-cdk-utils-os.d.ts +0 -3
  737. package/utils/svg/svg-linear-gradient-processor.d.ts +0 -14
  738. package/utils/svg/taiga-ui-cdk-utils-svg.d.ts +0 -3
  739. package/utils/taiga-ui-cdk-utils.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-date-time.js","sources":["../../../projects/cdk/date-time/date-clamp.ts","../../../projects/cdk/date-time/date-time.ts","../../../projects/cdk/date-time/date-fillers.ts","../../../projects/cdk/date-time/date-format.ts","../../../projects/cdk/date-time/date-separator.ts","../../../projects/cdk/date-time/year.ts","../../../projects/cdk/date-time/month.ts","../../../projects/cdk/date-time/day.ts","../../../projects/cdk/date-time/month-range.ts","../../../projects/cdk/date-time/day-range.ts","../../../projects/cdk/date-time/days.const.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["import type {TuiYear} from './year';\n\nexport function tuiDateClamp<T extends TuiYear>(date: T, min?: T, max?: T): T {\n if (max && max < date) {\n return max;\n }\n\n if (min && min > date) {\n return min;\n }\n\n return date;\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const DAYS_IN_NORMAL_YEAR = 365;\n\nexport const DAYS_IN_LEAP_YEAR = 366;\n\nexport const MONTHS_IN_YEAR = 12;\n\nexport const MIN_DAY = 1;\n\nexport const MIN_MONTH = 0;\n\nexport const MAX_MONTH = 11;\n\nexport const MIN_YEAR = 0;\n\nexport const MAX_YEAR = 9999;\n\nexport const RANGE_SEPARATOR_CHAR = `${CHAR_NO_BREAK_SPACE}${CHAR_EN_DASH}${CHAR_NO_BREAK_SPACE}`;\n\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const SECONDS_IN_MINUTE = 60;\n\nexport const MINUTES_IN_HOUR = 60;\n\nexport const HOURS_IN_DAY = 24;\n\nexport const MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;\n\nexport const MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;\n\nexport const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;\n","import {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @internal 'dd.mm.yyyy'.length\n * Used in:\n * - {@link TuiInputDateComponent}\n * - {@link TuiInputDateRangeComponent}\n * - {@link TuiInputDateTimeComponent}\n */\nexport const DATE_FILLER_LENGTH = 10;\n/**\n * @internal\n * Used in {@link TuiInputDateRangeComponent}\n */\nexport const DATE_RANGE_FILLER_LENGTH =\n 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;\n","import {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Active date format for Taiga UI\n */\nexport const TUI_DATE_FORMAT = tuiCreateToken<TuiDateMode>(`DMY`);\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Date separator for Taiga UI components\n */\nexport const TUI_DATE_SEPARATOR = tuiCreateToken(`.`);\n\nexport const changeDateSeparator = (\n dateString: string,\n newDateSeparator: string,\n): string => dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_YEAR, MIN_YEAR} from './date-time';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(readonly year: number) {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n }\n\n /**\n * Checks year for validity\n */\n static isValidYear(year: number): boolean {\n return Number.isInteger(year) && tuiInRange(year, MIN_YEAR, MAX_YEAR + 1);\n }\n\n /**\n * Check if passed year is a leap year\n */\n static isLeapYear(year: number): boolean {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n }\n\n /**\n * Returns amount of leap years from year 0 to the passed one\n */\n static getAbsoluteLeapYears(year: number): number {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n static lengthBetween(from: TuiYear, to: TuiYear): number {\n return to.year - from.year;\n }\n\n /**\n * Normalizes year by clamping it between min and max years\n */\n protected static normalizeYearPart(year: number): number {\n return tuiNormalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\n }\n\n get formattedYear(): string {\n return String(this.year).padStart(4, `0`);\n }\n\n get isLeapYear(): boolean {\n return TuiYear.isLeapYear(this.year);\n }\n\n /**\n * Returns amount of leap years from year 0 to current\n */\n get absoluteLeapYears(): number {\n return TuiYear.getAbsoluteLeapYears(this.year);\n }\n\n /**\n * Passed year is after current\n */\n yearBefore({year}: TuiYear): boolean {\n return this.year < year;\n }\n\n /**\n * Passed year is the same or after current\n */\n yearSameOrBefore({year}: TuiYear): boolean {\n return this.year <= year;\n }\n\n /**\n * Passed year is the same as current\n */\n yearSame({year}: TuiYear): boolean {\n return this.year === year;\n }\n\n /**\n * Passed year is either the same of before the current\n */\n yearSameOrAfter({year}: TuiYear): boolean {\n return this.year >= year;\n }\n\n /**\n * Passed year is before current\n */\n yearAfter({year}: TuiYear): boolean {\n return this.year > year;\n }\n\n /**\n * Immutably offsets year\n */\n append({year = 0}: TuiYearLike): TuiYear {\n ngDevMode && tuiAssert.assert(Number.isInteger(year));\n\n const resultYear = this.year + year;\n\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n toString(): string {\n return this.formattedYear;\n }\n\n valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiMonthLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR} from './date-time';\nimport {TuiYear} from './year';\n\n/**\n * Immutable object consisting of year and month\n */\nexport class TuiMonth extends TuiYear implements TuiMonthLike {\n /**\n * @param year\n * @param month (starting with 0)\n */\n constructor(\n year: number,\n readonly month: number,\n ) {\n super(year);\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n }\n\n /**\n * Tests month and year for validity\n */\n static isValidMonth(year: number, month: number): boolean {\n return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);\n }\n\n /**\n * Returns number of days in a month\n */\n static getMonthDaysCount(month: number, isLeapYear: boolean): number {\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonthPart(month));\n\n switch (month) {\n case TuiMonthNumber.February:\n return isLeapYear ? 29 : 28;\n case TuiMonthNumber.April:\n case TuiMonthNumber.June:\n case TuiMonthNumber.September:\n case TuiMonthNumber.November:\n return 30;\n default:\n return 31;\n }\n }\n\n /**\n * Returns current month and year based on local time zone\n * @nosideeffects\n */\n static currentLocal(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());\n }\n\n /**\n * Returns current month and year based on UTC\n */\n static currentUtc(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());\n }\n\n static override lengthBetween(from: TuiMonth, to: TuiMonth): number {\n const absoluteFrom = from.month + from.year * 12;\n const absoluteTo = to.month + to.year * 12;\n\n return absoluteTo - absoluteFrom;\n }\n\n /**\n * Normalizes number by clamping it between min and max month\n */\n protected static normalizeMonthPart(month: number): number {\n return tuiNormalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);\n }\n\n /**\n * Tests month for validity\n */\n private static isValidMonthPart(month: number): boolean {\n return Number.isInteger(month) && tuiInRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n\n get formattedMonthPart(): string {\n return String(this.month + 1).padStart(2, `0`);\n }\n\n /**\n * Returns days in a month\n */\n get daysCount(): number {\n return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);\n }\n\n /**\n * Passed month and year are after current\n */\n monthBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month < another.month)\n );\n }\n\n /**\n * Passed month and year are after or the same as current\n */\n monthSameOrBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month <= another.month)\n );\n }\n\n /**\n * Passed month and year are the same as current\n */\n monthSame(another: TuiMonth): boolean {\n return this.yearSame(another) && this.month === another.month;\n }\n\n /**\n * Passed month and year are either before or equal to current\n */\n monthSameOrAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month >= another.month)\n );\n }\n\n /**\n * Passed month and year are before current\n */\n monthAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month > another.month)\n );\n }\n\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @return new month and year object as a result of offsetting current\n */\n override append({year = 0, month = 0}: TuiMonthLike): TuiMonth {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n\n return new TuiMonth(\n Math.floor(totalMonths / MONTHS_IN_YEAR),\n totalMonths % MONTHS_IN_YEAR,\n );\n }\n\n override toString(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n override valueOf(): number {\n return this.toLocalNativeDate().valueOf();\n }\n\n override toJSON(): string {\n return `${super.toJSON()}-${this.formattedMonthPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n toLocalNativeDate(): Date {\n return new Date(this.year, this.month);\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month));\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {\n TuiInvalidDayException,\n TuiInvalidMonthException,\n TuiInvalidYearException,\n} from '@taiga-ui/cdk/exceptions';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\nimport {MIN_DAY, MONTHS_IN_YEAR} from './date-time';\nimport {TuiMonth} from './month';\nimport {TuiYear} from './year';\n\n// TODO: Localized formatting\n/**\n * Immutable date object, consisting of day, month and year\n */\nexport class TuiDay extends TuiMonth {\n constructor(\n year: number,\n month: number,\n readonly day: number,\n ) {\n super(year, month);\n ngDevMode && tuiAssert.assert(TuiDay.isValidDay(year, month, day));\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} based on local time zone\n */\n static fromLocalNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} using UTC\n */\n static fromUtcNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n /**\n * Check validity of year, month and day\n *\n * @param year\n * @param month\n * @param day\n * @return boolean validity\n */\n static isValidDay(year: number, month: number, day: number): boolean {\n return (\n TuiMonth.isValidMonth(year, month) &&\n Number.isInteger(day) &&\n tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * Current day based on local time zone\n */\n static override currentLocal(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getFullYear();\n const month = nativeDate.getMonth();\n const day = nativeDate.getDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Returns current day based on UTC\n */\n static override currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n static override lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = `DMY`,\n ): {day: number; month: number; year: number} {\n ngDevMode &&\n tuiAssert.assert(\n date.length === DATE_FILLER_LENGTH,\n `[parseRawDateString]: wrong date string length`,\n );\n\n switch (dateMode) {\n case `YMD`:\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case `MDY`:\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n default:\n case `DMY`:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n static normalizeParse(rawDate: string, dateMode: TuiDateMode = `DMY`): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, `YMD`);\n\n if (!TuiYear.isValidYear(year)) {\n throw new TuiInvalidYearException(year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new TuiInvalidMonthException(month);\n }\n\n if (\n !Number.isInteger(day) ||\n !tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new TuiInvalidDayException(day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n protected static normalizeDayPart(day: number, month: number, year: number): number {\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return tuiNormalizeToIntNumber(day, 1, monthDaysCount);\n }\n\n get formattedDayPart(): string {\n return String(this.day).padStart(2, `0`);\n }\n\n get isWeekend(): boolean {\n const dayOfWeek = this.dayOfWeek(false);\n\n return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;\n }\n\n /**\n * Returns day of week\n *\n * @param startFromMonday whether week starts from Monday and not from Sunday\n * @return day of week (from 0 to 6)\n */\n dayOfWeek(startFromMonday: boolean = true): number {\n const dayOfWeek = startFromMonday\n ? this.toLocalNativeDate().getDay() - 1\n : this.toLocalNativeDate().getDay();\n\n return dayOfWeek < 0 ? 6 : dayOfWeek;\n }\n\n /**\n * Passed date is after current\n */\n dayBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day < another.day)\n );\n }\n\n /**\n * Passed date is after or equals to current\n */\n daySameOrBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day <= another.day)\n );\n }\n\n /**\n * Passed date is the same as current\n */\n daySame(another: TuiDay): boolean {\n return this.monthSame(another) && this.day === another.day;\n }\n\n /**\n * Passed date is either before or the same as current\n */\n daySameOrAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day >= another.day)\n );\n }\n\n /**\n * Passed date is before current\n */\n dayAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day > another.day)\n );\n }\n\n /**\n * Clamping date between two limits\n *\n * @param min\n * @param max\n * @return clamped date\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDay {\n if (min !== null && this.dayBefore(min)) {\n return min;\n }\n\n if (max !== null && this.dayAfter(max)) {\n return max;\n }\n\n return this;\n }\n\n /**\n * Immutably alters current day by passed offset\n *\n * If resulting month has more days than original one, date is rounded to the maximum day\n * in the resulting month. Offset of days will be calculated based on the resulted year and month\n * to not interfere with parent classes methods\n *\n * @param offset\n * @return new date object as a result of offsetting current\n */\n override append({year = 0, month = 0, day = 0}: TuiDayLike): TuiDay {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n let years = Math.floor(totalMonths / MONTHS_IN_YEAR);\n let months = totalMonths % MONTHS_IN_YEAR;\n\n let days =\n Math.min(\n this.day,\n TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years)),\n ) + day;\n\n while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {\n days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n\n if (months === TuiMonthNumber.December) {\n years++;\n months = TuiMonthNumber.January;\n } else {\n months++;\n }\n }\n\n while (days < MIN_DAY) {\n if (months === TuiMonthNumber.January) {\n years--;\n months = TuiMonthNumber.December;\n } else {\n months--;\n }\n\n days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n }\n\n return new TuiDay(years, months, days);\n }\n\n /**\n * Returns formatted whole date\n */\n getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n ngDevMode &&\n tuiAssert.assert(\n separator.length === 1,\n `Separator should consist of only 1 symbol`,\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case `YMD`:\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case `MDY`:\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case `DMY`:\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n override toString(dateFormat: TuiDateMode = `DMY`, separator: string = `.`): string {\n return this.getFormattedDay(dateFormat, separator);\n }\n\n override toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n override toLocalNativeDate(): Date {\n return new Date(this.year, this.month, this.day);\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n override toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month, this.day));\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiMonth} from './month';\n\n/**\n * An immutable range of two {@link TuiMonth} objects\n */\nexport class TuiMonthRange {\n constructor(\n readonly from: TuiMonth,\n readonly to: TuiMonth,\n ) {\n ngDevMode && tuiAssert.assert(from.monthSameOrBefore(to));\n }\n\n static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n monthSame(another: TuiMonthRange): boolean {\n return this.from.monthSame(another.from) && this.to.monthSame(another.to);\n }\n\n toString(): string {\n return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\n\n/**\n * An immutable range of two {@link TuiDay} objects\n */\nexport class TuiDayRange extends TuiMonthRange {\n constructor(\n override readonly from: TuiDay,\n override readonly to: TuiDay,\n ) {\n super(from, to);\n\n ngDevMode && tuiAssert.assert(from.daySameOrBefore(to));\n }\n\n /**\n * Creates range from two days after sorting them\n *\n * @param day1\n * @param day2\n * @return new range with sorted days\n */\n static override sort(day1: TuiDay, day2: TuiDay): TuiDayRange {\n return day1.daySameOrBefore(day2)\n ? new TuiDayRange(day1, day2)\n : new TuiDayRange(day2, day1);\n }\n\n /**\n * Parse and correct a day range in string format\n *\n * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy\n * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n static normalizeParse(\n rangeString: string,\n dateMode: TuiDateMode = `DMY`,\n ): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateMode,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateMode,\n ),\n );\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n override toString(\n dateFormat: TuiDateMode = `DMY`,\n dateSeparator: string = `.`,\n ): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n}\n","import {MAX_MONTH, MAX_YEAR, MIN_DAY, MIN_MONTH, MIN_YEAR} from './date-time';\nimport {TuiDay} from './day';\n\nexport const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);\n\nexport const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiTimeLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiTimeMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {\n HOURS_IN_DAY,\n MILLISECONDS_IN_DAY,\n MILLISECONDS_IN_HOUR,\n MILLISECONDS_IN_MINUTE,\n MINUTES_IN_HOUR,\n SECONDS_IN_MINUTE,\n} from './date-time';\n\n/**\n * Immutable time object with hours, minutes, seconds and ms\n */\nexport class TuiTime implements TuiTimeLike {\n constructor(\n readonly hours: number,\n readonly minutes: number,\n readonly seconds: number = 0,\n readonly ms: number = 0,\n ) {\n ngDevMode &&\n tuiAssert.assert(\n TuiTime.isValidTime(hours, minutes, seconds, ms),\n `Time must be real, but got:`,\n hours,\n minutes,\n seconds,\n ms,\n );\n }\n\n /**\n * Checks if time is valid\n */\n static isValidTime(\n hours: number,\n minutes: number,\n seconds: number = 0,\n ms: number = 0,\n ): boolean {\n return (\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000)\n );\n }\n\n /**\n * Current UTC time.\n */\n static current(): TuiTime {\n return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);\n }\n\n /**\n * Current time in local timezone\n */\n static currentLocal(): TuiTime {\n const date = new Date();\n\n return TuiTime.fromAbsoluteMilliseconds(\n (Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %\n MILLISECONDS_IN_DAY,\n );\n }\n\n /**\n * Calculates TuiTime from milliseconds\n */\n static fromAbsoluteMilliseconds(milliseconds: number): TuiTime {\n ngDevMode && tuiAssert.assert(Number.isInteger(milliseconds));\n ngDevMode &&\n tuiAssert.assert(\n tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY),\n `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`,\n );\n\n const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);\n const minutes = Math.floor(\n (milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE,\n );\n const seconds =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000,\n ) || 0;\n const ms =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000,\n ) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Parses string into TuiTime object\n */\n static fromString(time: string): TuiTime {\n const hours = Number(time.slice(0, 2));\n const minutes = Number(time.slice(3, 5));\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Converts Date object into TuiTime\n * @param date\n */\n static fromLocalNativeDate(date: Date): TuiTime {\n return new TuiTime(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n }\n\n /**\n * Shifts time by hours and minutes\n */\n shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const newMs = (1000 + this.ms + (ms % 1000)) % 1000;\n\n const secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);\n const secondsToAdd = secondsInMs + seconds;\n const newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;\n\n const minutesInSeconds =\n secondsToAdd < 0\n ? Math.ceil(secondsToAdd / 60)\n : Math.floor(secondsToAdd / 60);\n const minutesToAdd = minutesInSeconds + minutes;\n const newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;\n\n const hoursInMinutes =\n minutesToAdd < 0\n ? Math.ceil(minutesToAdd / 60)\n : Math.floor(minutesToAdd / 60);\n const hoursToAdd = hoursInMinutes + hours;\n const newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;\n\n return new TuiTime(newHours, newMinutes, newSeconds, newMs);\n }\n\n /**\n * Converts TuiTime to string\n */\n toString(mode?: TuiTimeMode): string {\n const needAddMs = mode === `HH:MM:SS.MSS` || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode === `HH:MM:SS` || (!mode && this.seconds > 0);\n\n return (\n `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}` +\n `${needAddSeconds ? `:${this.formatTime(this.seconds)}` : ``}` +\n `${needAddMs ? `.${this.formatTime(this.ms, 3)}` : ``}`\n );\n }\n\n valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits: number = 2): string {\n return String(time).padStart(digits, `0`);\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-date-time.js","sources":["../../../projects/cdk/date-time/date-clamp.ts","../../../projects/cdk/date-time/date-time.ts","../../../projects/cdk/date-time/date-fillers.ts","../../../projects/cdk/date-time/date-format.ts","../../../projects/cdk/date-time/date-separator.ts","../../../projects/cdk/date-time/year.ts","../../../projects/cdk/date-time/month.ts","../../../projects/cdk/date-time/day.ts","../../../projects/cdk/date-time/month-range.ts","../../../projects/cdk/date-time/day-range.ts","../../../projects/cdk/date-time/days.const.ts","../../../projects/cdk/date-time/time.ts"],"sourcesContent":["import type {TuiYear} from './year';\n\nexport function tuiDateClamp<T extends TuiYear>(date: T, min?: T, max?: T): T {\n if (max && max < date) {\n return max;\n }\n\n if (min && min > date) {\n return min;\n }\n\n return date;\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const DAYS_IN_NORMAL_YEAR = 365;\n\nexport const DAYS_IN_LEAP_YEAR = 366;\n\nexport const MONTHS_IN_YEAR = 12;\n\nexport const MIN_DAY = 1;\n\nexport const MIN_MONTH = 0;\n\nexport const MAX_MONTH = 11;\n\nexport const MIN_YEAR = 0;\n\nexport const MAX_YEAR = 9999;\n\nexport const RANGE_SEPARATOR_CHAR = `${CHAR_NO_BREAK_SPACE}${CHAR_EN_DASH}${CHAR_NO_BREAK_SPACE}`;\n\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const SECONDS_IN_MINUTE = 60;\n\nexport const MINUTES_IN_HOUR = 60;\n\nexport const HOURS_IN_DAY = 24;\n\nexport const MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;\n\nexport const MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;\n\nexport const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;\n","import {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @internal 'dd.mm.yyyy'.length\n * Used in:\n * - {@link TuiInputDateComponent}\n * - {@link TuiInputDateRangeComponent}\n * - {@link TuiInputDateTimeComponent}\n */\nexport const DATE_FILLER_LENGTH = 10;\n/**\n * @internal\n * Used in {@link TuiInputDateRangeComponent}\n */\nexport const DATE_RANGE_FILLER_LENGTH =\n 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;\n","import {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Active date format for Taiga UI\n */\nexport const TUI_DATE_FORMAT = tuiCreateToken<TuiDateMode>(`DMY`);\n","import {tuiCreateToken} from '@taiga-ui/cdk/utils';\n\n/**\n * Date separator for Taiga UI components\n */\nexport const TUI_DATE_SEPARATOR = tuiCreateToken(`.`);\n\nexport const changeDateSeparator = (\n dateString: string,\n newDateSeparator: string,\n): string => dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_YEAR, MIN_YEAR} from './date-time';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(readonly year: number) {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n }\n\n /**\n * Checks year for validity\n */\n static isValidYear(year: number): boolean {\n return Number.isInteger(year) && tuiInRange(year, MIN_YEAR, MAX_YEAR + 1);\n }\n\n /**\n * Check if passed year is a leap year\n */\n static isLeapYear(year: number): boolean {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n }\n\n /**\n * Returns amount of leap years from year 0 to the passed one\n */\n static getAbsoluteLeapYears(year: number): number {\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n static lengthBetween(from: TuiYear, to: TuiYear): number {\n return to.year - from.year;\n }\n\n /**\n * Normalizes year by clamping it between min and max years\n */\n protected static normalizeYearPart(year: number): number {\n return tuiNormalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\n }\n\n get formattedYear(): string {\n return String(this.year).padStart(4, `0`);\n }\n\n get isLeapYear(): boolean {\n return TuiYear.isLeapYear(this.year);\n }\n\n /**\n * Returns amount of leap years from year 0 to current\n */\n get absoluteLeapYears(): number {\n return TuiYear.getAbsoluteLeapYears(this.year);\n }\n\n /**\n * Passed year is after current\n */\n yearBefore({year}: TuiYear): boolean {\n return this.year < year;\n }\n\n /**\n * Passed year is the same or after current\n */\n yearSameOrBefore({year}: TuiYear): boolean {\n return this.year <= year;\n }\n\n /**\n * Passed year is the same as current\n */\n yearSame({year}: TuiYear): boolean {\n return this.year === year;\n }\n\n /**\n * Passed year is either the same of before the current\n */\n yearSameOrAfter({year}: TuiYear): boolean {\n return this.year >= year;\n }\n\n /**\n * Passed year is before current\n */\n yearAfter({year}: TuiYear): boolean {\n return this.year > year;\n }\n\n /**\n * Immutably offsets year\n */\n append({year = 0}: TuiYearLike): TuiYear {\n ngDevMode && tuiAssert.assert(Number.isInteger(year));\n\n const resultYear = this.year + year;\n\n ngDevMode && tuiAssert.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n toString(): string {\n return this.formattedYear;\n }\n\n valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiMonthLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR} from './date-time';\nimport {TuiYear} from './year';\n\n/**\n * Immutable object consisting of year and month\n */\nexport class TuiMonth extends TuiYear implements TuiMonthLike {\n /**\n * @param year\n * @param month (starting with 0)\n */\n constructor(\n year: number,\n readonly month: number,\n ) {\n super(year);\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n }\n\n /**\n * Tests month and year for validity\n */\n static isValidMonth(year: number, month: number): boolean {\n return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);\n }\n\n /**\n * Returns number of days in a month\n */\n static getMonthDaysCount(month: number, isLeapYear: boolean): number {\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonthPart(month));\n\n switch (month) {\n case TuiMonthNumber.February:\n return isLeapYear ? 29 : 28;\n case TuiMonthNumber.April:\n case TuiMonthNumber.June:\n case TuiMonthNumber.September:\n case TuiMonthNumber.November:\n return 30;\n default:\n return 31;\n }\n }\n\n /**\n * Returns current month and year based on local time zone\n * @nosideeffects\n */\n static currentLocal(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());\n }\n\n /**\n * Returns current month and year based on UTC\n */\n static currentUtc(): TuiMonth {\n const nativeDate = new Date();\n\n return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());\n }\n\n static override lengthBetween(from: TuiMonth, to: TuiMonth): number {\n const absoluteFrom = from.month + from.year * 12;\n const absoluteTo = to.month + to.year * 12;\n\n return absoluteTo - absoluteFrom;\n }\n\n /**\n * Normalizes number by clamping it between min and max month\n */\n protected static normalizeMonthPart(month: number): number {\n return tuiNormalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);\n }\n\n /**\n * Tests month for validity\n */\n private static isValidMonthPart(month: number): boolean {\n return Number.isInteger(month) && tuiInRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n\n get formattedMonthPart(): string {\n return String(this.month + 1).padStart(2, `0`);\n }\n\n /**\n * Returns days in a month\n */\n get daysCount(): number {\n return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);\n }\n\n /**\n * Passed month and year are after current\n */\n monthBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month < another.month)\n );\n }\n\n /**\n * Passed month and year are after or the same as current\n */\n monthSameOrBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month <= another.month)\n );\n }\n\n /**\n * Passed month and year are the same as current\n */\n monthSame(another: TuiMonth): boolean {\n return this.yearSame(another) && this.month === another.month;\n }\n\n /**\n * Passed month and year are either before or equal to current\n */\n monthSameOrAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month >= another.month)\n );\n }\n\n /**\n * Passed month and year are before current\n */\n monthAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month > another.month)\n );\n }\n\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @return new month and year object as a result of offsetting current\n */\n override append({year = 0, month = 0}: TuiMonthLike): TuiMonth {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n\n return new TuiMonth(\n Math.floor(totalMonths / MONTHS_IN_YEAR),\n totalMonths % MONTHS_IN_YEAR,\n );\n }\n\n override toString(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n override valueOf(): number {\n return this.toLocalNativeDate().valueOf();\n }\n\n override toJSON(): string {\n return `${super.toJSON()}-${this.formattedMonthPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n toLocalNativeDate(): Date {\n return new Date(this.year, this.month);\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month));\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {\n TuiInvalidDayException,\n TuiInvalidMonthException,\n TuiInvalidYearException,\n} from '@taiga-ui/cdk/exceptions';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\nimport {MIN_DAY, MONTHS_IN_YEAR} from './date-time';\nimport {TuiMonth} from './month';\nimport {TuiYear} from './year';\n\n// TODO: Localized formatting\n/**\n * Immutable date object, consisting of day, month and year\n */\nexport class TuiDay extends TuiMonth {\n constructor(\n year: number,\n month: number,\n readonly day: number,\n ) {\n super(year, month);\n ngDevMode && tuiAssert.assert(TuiDay.isValidDay(year, month, day));\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} based on local time zone\n */\n static fromLocalNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} using UTC\n */\n static fromUtcNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n /**\n * Check validity of year, month and day\n *\n * @param year\n * @param month\n * @param day\n * @return boolean validity\n */\n static isValidDay(year: number, month: number, day: number): boolean {\n return (\n TuiMonth.isValidMonth(year, month) &&\n Number.isInteger(day) &&\n tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * Current day based on local time zone\n */\n static override currentLocal(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getFullYear();\n const month = nativeDate.getMonth();\n const day = nativeDate.getDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Returns current day based on UTC\n */\n static override currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n static override lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = `DMY`,\n ): {day: number; month: number; year: number} {\n ngDevMode &&\n tuiAssert.assert(\n date.length === DATE_FILLER_LENGTH,\n `[parseRawDateString]: wrong date string length`,\n );\n\n switch (dateMode) {\n case `YMD`:\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case `MDY`:\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n default:\n case `DMY`:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n static normalizeParse(rawDate: string, dateMode: TuiDateMode = `DMY`): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, `YMD`);\n\n if (!TuiYear.isValidYear(year)) {\n throw new TuiInvalidYearException(year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new TuiInvalidMonthException(month);\n }\n\n if (\n !Number.isInteger(day) ||\n !tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new TuiInvalidDayException(day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n protected static normalizeDayPart(day: number, month: number, year: number): number {\n ngDevMode && tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return tuiNormalizeToIntNumber(day, 1, monthDaysCount);\n }\n\n get formattedDayPart(): string {\n return String(this.day).padStart(2, `0`);\n }\n\n get isWeekend(): boolean {\n const dayOfWeek = this.dayOfWeek(false);\n\n return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;\n }\n\n /**\n * Returns day of week\n *\n * @param startFromMonday whether week starts from Monday and not from Sunday\n * @return day of week (from 0 to 6)\n */\n dayOfWeek(startFromMonday: boolean = true): number {\n const dayOfWeek = startFromMonday\n ? this.toLocalNativeDate().getDay() - 1\n : this.toLocalNativeDate().getDay();\n\n return dayOfWeek < 0 ? 6 : dayOfWeek;\n }\n\n /**\n * Passed date is after current\n */\n dayBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day < another.day)\n );\n }\n\n /**\n * Passed date is after or equals to current\n */\n daySameOrBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day <= another.day)\n );\n }\n\n /**\n * Passed date is the same as current\n */\n daySame(another: TuiDay): boolean {\n return this.monthSame(another) && this.day === another.day;\n }\n\n /**\n * Passed date is either before or the same as current\n */\n daySameOrAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day >= another.day)\n );\n }\n\n /**\n * Passed date is before current\n */\n dayAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day > another.day)\n );\n }\n\n /**\n * Clamping date between two limits\n *\n * @param min\n * @param max\n * @return clamped date\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDay {\n if (min !== null && this.dayBefore(min)) {\n return min;\n }\n\n if (max !== null && this.dayAfter(max)) {\n return max;\n }\n\n return this;\n }\n\n /**\n * Immutably alters current day by passed offset\n *\n * If resulting month has more days than original one, date is rounded to the maximum day\n * in the resulting month. Offset of days will be calculated based on the resulted year and month\n * to not interfere with parent classes methods\n *\n * @param offset\n * @return new date object as a result of offsetting current\n */\n override append({year = 0, month = 0, day = 0}: TuiDayLike): TuiDay {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n let years = Math.floor(totalMonths / MONTHS_IN_YEAR);\n let months = totalMonths % MONTHS_IN_YEAR;\n\n let days =\n Math.min(\n this.day,\n TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years)),\n ) + day;\n\n while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {\n days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n\n if (months === TuiMonthNumber.December) {\n years++;\n months = TuiMonthNumber.January;\n } else {\n months++;\n }\n }\n\n while (days < MIN_DAY) {\n if (months === TuiMonthNumber.January) {\n years--;\n months = TuiMonthNumber.December;\n } else {\n months--;\n }\n\n days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n }\n\n return new TuiDay(years, months, days);\n }\n\n /**\n * Returns formatted whole date\n */\n getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n ngDevMode &&\n tuiAssert.assert(\n separator.length === 1,\n `Separator should consist of only 1 symbol`,\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case `YMD`:\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case `MDY`:\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case `DMY`:\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n override toString(dateFormat: TuiDateMode = `DMY`, separator: string = `.`): string {\n return this.getFormattedDay(dateFormat, separator);\n }\n\n override toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\n }\n\n /**\n * Returns native {@link Date} based on local time zone\n */\n override toLocalNativeDate(): Date {\n return new Date(this.year, this.month, this.day);\n }\n\n /**\n * Returns native {@link Date} based on UTC\n */\n override toUtcNativeDate(): Date {\n return new Date(Date.UTC(this.year, this.month, this.day));\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiMonth} from './month';\n\n/**\n * An immutable range of two {@link TuiMonth} objects\n */\nexport class TuiMonthRange {\n constructor(\n readonly from: TuiMonth,\n readonly to: TuiMonth,\n ) {\n ngDevMode && tuiAssert.assert(from.monthSameOrBefore(to));\n }\n\n static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n monthSame(another: TuiMonthRange): boolean {\n return this.from.monthSame(another.from) && this.to.monthSame(another.to);\n }\n\n toString(): string {\n return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\n\n/**\n * An immutable range of two {@link TuiDay} objects\n */\nexport class TuiDayRange extends TuiMonthRange {\n constructor(\n override readonly from: TuiDay,\n override readonly to: TuiDay,\n ) {\n super(from, to);\n\n ngDevMode && tuiAssert.assert(from.daySameOrBefore(to));\n }\n\n /**\n * Creates range from two days after sorting them\n *\n * @param day1\n * @param day2\n * @return new range with sorted days\n */\n static override sort(day1: TuiDay, day2: TuiDay): TuiDayRange {\n return day1.daySameOrBefore(day2)\n ? new TuiDayRange(day1, day2)\n : new TuiDayRange(day2, day1);\n }\n\n /**\n * Parse and correct a day range in string format\n *\n * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy\n * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n static normalizeParse(\n rangeString: string,\n dateMode: TuiDateMode = `DMY`,\n ): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateMode,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateMode,\n ),\n );\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n override toString(\n dateFormat: TuiDateMode = `DMY`,\n dateSeparator: string = `.`,\n ): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n}\n","import {MAX_MONTH, MAX_YEAR, MIN_DAY, MIN_MONTH, MIN_YEAR} from './date-time';\nimport {TuiDay} from './day';\n\nexport const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);\n\nexport const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiTimeLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiTimeMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {\n HOURS_IN_DAY,\n MILLISECONDS_IN_DAY,\n MILLISECONDS_IN_HOUR,\n MILLISECONDS_IN_MINUTE,\n MINUTES_IN_HOUR,\n SECONDS_IN_MINUTE,\n} from './date-time';\n\n/**\n * Immutable time object with hours, minutes, seconds and ms\n */\nexport class TuiTime implements TuiTimeLike {\n constructor(\n readonly hours: number,\n readonly minutes: number,\n readonly seconds: number = 0,\n readonly ms: number = 0,\n ) {\n ngDevMode &&\n tuiAssert.assert(\n TuiTime.isValidTime(hours, minutes, seconds, ms),\n `Time must be real, but got:`,\n hours,\n minutes,\n seconds,\n ms,\n );\n }\n\n /**\n * Checks if time is valid\n */\n static isValidTime(\n hours: number,\n minutes: number,\n seconds: number = 0,\n ms: number = 0,\n ): boolean {\n return (\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000)\n );\n }\n\n /**\n * Current UTC time.\n */\n static current(): TuiTime {\n return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);\n }\n\n /**\n * Current time in local timezone\n */\n static currentLocal(): TuiTime {\n const date = new Date();\n\n return TuiTime.fromAbsoluteMilliseconds(\n (Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %\n MILLISECONDS_IN_DAY,\n );\n }\n\n /**\n * Calculates TuiTime from milliseconds\n */\n static fromAbsoluteMilliseconds(milliseconds: number): TuiTime {\n ngDevMode && tuiAssert.assert(Number.isInteger(milliseconds));\n ngDevMode &&\n tuiAssert.assert(\n tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY),\n `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`,\n );\n\n const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);\n const minutes = Math.floor(\n (milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE,\n );\n const seconds =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000,\n ) || 0;\n const ms =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000,\n ) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Parses string into TuiTime object\n */\n static fromString(time: string): TuiTime {\n const hours = Number(time.slice(0, 2));\n const minutes = Number(time.slice(3, 5));\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Converts Date object into TuiTime\n * @param date\n */\n static fromLocalNativeDate(date: Date): TuiTime {\n return new TuiTime(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n }\n\n /**\n * Shifts time by hours and minutes\n */\n shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const newMs = (1000 + this.ms + (ms % 1000)) % 1000;\n\n const secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);\n const secondsToAdd = secondsInMs + seconds;\n const newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;\n\n const minutesInSeconds =\n secondsToAdd < 0\n ? Math.ceil(secondsToAdd / 60)\n : Math.floor(secondsToAdd / 60);\n const minutesToAdd = minutesInSeconds + minutes;\n const newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;\n\n const hoursInMinutes =\n minutesToAdd < 0\n ? Math.ceil(minutesToAdd / 60)\n : Math.floor(minutesToAdd / 60);\n const hoursToAdd = hoursInMinutes + hours;\n const newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;\n\n return new TuiTime(newHours, newMinutes, newSeconds, newMs);\n }\n\n /**\n * Converts TuiTime to string\n */\n toString(mode?: TuiTimeMode): string {\n const needAddMs = mode === `HH:MM:SS.MSS` || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode === `HH:MM:SS` || (!mode && this.seconds > 0);\n\n return (\n `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}` +\n `${needAddSeconds ? `:${this.formatTime(this.seconds)}` : ``}` +\n `${needAddMs ? `.${this.formatTime(this.ms, 3)}` : ``}`\n );\n }\n\n valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): number | string {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits: number = 2): string {\n return String(time).padStart(digits, `0`);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  import { tuiAssert } from '@taiga-ui/cdk/classes';
2
2
  import { TuiPureException } from '@taiga-ui/cdk/exceptions';
3
3
 
4
- /**
5
- * @deprecated:
6
- * not compatible with TypeScript 5
7
- */
8
4
  function tuiDebounce(timeout) {
9
5
  let timeoutRef;
10
6
  return function (_target, _key, descriptor) {
@@ -17,15 +13,6 @@ function tuiDebounce(timeout) {
17
13
  };
18
14
  }
19
15
 
20
- /**
21
- * @deprecated:
22
- * not compatible with TypeScript 5
23
- *
24
- * Decorator for checking input values for undefined. You can also pass
25
- * optional assertion to check input against.
26
- *
27
- * CAUTION: This decorator overwrites other getters and setters.
28
- */
29
16
  function tuiDefaultProp(assertion, ...args) {
30
17
  return (target, key) => {
31
18
  const { name } = target.constructor;
@@ -151,15 +138,6 @@ function tuiPure(target, propertyKeyOrContext, descriptor) {
151
138
  };
152
139
  }
153
140
 
154
- /**
155
- * @deprecated:
156
- * not compatible with TypeScript 5
157
- *
158
- * Decorator for checking input setter values against a custom assertion which
159
- * takes value passed to input setter and component instance as arguments.
160
- * It specifically checks for undefined values and prevents calls to the
161
- * original setter in this case.
162
- */
163
141
  function tuiRequiredSetter(assertion, ...args) {
164
142
  return (target, key, { configurable, enumerable, get, set }) => {
165
143
  const { name } = target.constructor;
@@ -185,9 +163,5 @@ function errorSet(key, component) {
185
163
  return `Undefined was passed as ${String(key)} to ${component}, setter will not be called`;
186
164
  }
187
165
 
188
- /**
189
- * Generated bundle index. Do not edit.
190
- */
191
-
192
166
  export { tuiDebounce, tuiDefaultProp, tuiPure, tuiRequiredSetter };
193
167
  //# sourceMappingURL=taiga-ui-cdk-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["../../../projects/cdk/decorators/debounce.ts","../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["/**\n * @deprecated:\n * not compatible with TypeScript 5\n */\nexport function tuiDebounce(timeout: number): MethodDecorator {\n let timeoutRef: ReturnType<typeof setTimeout> | undefined;\n\n return function (_target, _key: string | symbol, descriptor: PropertyDescriptor) {\n const {value} = descriptor;\n\n descriptor.value = function (...args: unknown[]) {\n clearTimeout(timeoutRef);\n timeoutRef = setTimeout(() => value.apply(this, args), timeout);\n };\n\n return descriptor;\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated:\n * not compatible with TypeScript 5\n *\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = ngDevMode && errorGetDefault(key, name);\n const errorSetDefaultMessage = ngDevMode && errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n configurable: true,\n get(): undefined {\n ngDevMode && tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = ngDevMode && errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n ngDevMode && tuiAssert.assert(isValid, errorMessage);\n\n if (ngDevMode && isValid && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n configurable: true,\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n ngDevMode &&\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (ngDevMode && isValid && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/** TODO Delete after updating typescript to version 5 and when backward compatibility will not be required */\ninterface ClassGetterDecoratorContext {\n kind: 'getter';\n name: string;\n}\n\n/** TODO Delete after updating typescript to version 5 and when backward compatibility will not be required */\ninterface ClassMethodDecoratorContext {\n kind: 'method';\n name: string;\n}\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: boolean = 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 */\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 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","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated:\n * not compatible with TypeScript 5\n *\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: Record<string, any>,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (ngDevMode && value !== undefined && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n ngDevMode &&\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\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-decorators.js","sources":["../../../projects/cdk/decorators/debounce.ts","../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts"],"sourcesContent":["/**\n * @deprecated:\n * not compatible with TypeScript 5\n */\nexport function tuiDebounce(timeout: number): MethodDecorator {\n let timeoutRef: ReturnType<typeof setTimeout> | undefined;\n\n return function (_target, _key: string | symbol, descriptor: PropertyDescriptor) {\n const {value} = descriptor;\n\n descriptor.value = function (...args: unknown[]) {\n clearTimeout(timeoutRef);\n timeoutRef = setTimeout(() => value.apply(this, args), timeout);\n };\n\n return descriptor;\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated:\n * not compatible with TypeScript 5\n *\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = ngDevMode && errorGetDefault(key, name);\n const errorSetDefaultMessage = ngDevMode && errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n configurable: true,\n get(): undefined {\n ngDevMode && tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = ngDevMode && errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n ngDevMode && tuiAssert.assert(isValid, errorMessage);\n\n if (ngDevMode && isValid && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n configurable: true,\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n ngDevMode &&\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (ngDevMode && isValid && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/** TODO Delete after updating typescript to version 5 and when backward compatibility will not be required */\ninterface ClassGetterDecoratorContext {\n kind: 'getter';\n name: string;\n}\n\n/** TODO Delete after updating typescript to version 5 and when backward compatibility will not be required */\ninterface ClassMethodDecoratorContext {\n kind: 'method';\n name: string;\n}\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: boolean = 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 */\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 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","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * @deprecated:\n * not compatible with TypeScript 5\n *\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: Record<string, any>,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (ngDevMode && value !== undefined && assertion && tuiAssert) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n ngDevMode &&\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n"],"names":[],"mappings":"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"}
@@ -92,9 +92,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
92
92
  }]
93
93
  }] });
94
94
 
95
- /**
96
- * Generated bundle index. Do not edit.
97
- */
98
-
99
95
  export { TuiActiveZoneDirective, TuiActiveZoneModule };
100
96
  //# sourceMappingURL=taiga-ui-cdk-directives-active-zone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/active-zone.module.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n@Directive({\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: readonly TuiActiveZoneDirective[] = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n this.setZone(zone);\n }\n\n @Output()\n readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.zone),\n );\n\n constructor(\n @Inject(TUI_ACTIVE_ELEMENT)\n private readonly active$: Observable<Element | null>,\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Optional()\n @SkipSelf()\n @Inject(TuiActiveZoneDirective)\n private readonly directParentActiveZone: TuiActiveZoneDirective | null,\n ) {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n contains(node: Node): boolean {\n return (\n this.el.nativeElement.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZoneDirective | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiActiveZoneDirective} from './active-zone.directive';\n\n@NgModule({\n declarations: [TuiActiveZoneDirective],\n exports: [TuiActiveZoneDirective],\n})\nexport class TuiActiveZoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/active-zone.module.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n@Directive({\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: readonly TuiActiveZoneDirective[] = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n this.setZone(zone);\n }\n\n @Output()\n readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.zone),\n );\n\n constructor(\n @Inject(TUI_ACTIVE_ELEMENT)\n private readonly active$: Observable<Element | null>,\n @Inject(NgZone) private readonly zone: NgZone,\n @Inject(ElementRef) private readonly el: ElementRef<Element>,\n @Optional()\n @SkipSelf()\n @Inject(TuiActiveZoneDirective)\n private readonly directParentActiveZone: TuiActiveZoneDirective | null,\n ) {\n this.directParentActiveZone?.addSubActiveZone(this);\n }\n\n ngOnDestroy(): void {\n this.directParentActiveZone?.removeSubActiveZone(this);\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n }\n\n contains(node: Node): boolean {\n return (\n this.el.nativeElement.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZoneDirective | null): void {\n this.tuiActiveZoneParent?.removeSubActiveZone(this);\n zone?.addSubActiveZone(this);\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiActiveZoneDirective} from './active-zone.directive';\n\n@NgModule({\n declarations: [TuiActiveZoneDirective],\n exports: [TuiActiveZoneDirective],\n})\nexport class TuiActiveZoneModule {}\n"],"names":[],"mappings":"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"}
@@ -123,24 +123,6 @@ class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
123
123
  }
124
124
  fakeInput.focus({ preventScroll: true });
125
125
  }
126
- /**
127
- * @note:
128
- * emulate textfield position in layout with cursor
129
- * before focus to real textfield element
130
- *
131
- * required note:
132
- * [fakeInput.readOnly = true] ~
133
- * don't use {readOnly: true} value, it's doesn't work for emulate autofill
134
- *
135
- * [fakeInput.style.opacity = 0] ~
136
- * don't use {opacity: 0}, sometimes it's doesn't work for emulate real input
137
- *
138
- * [fakeInput.style.fontSize = 16px] ~
139
- * disable possible auto zoom
140
- *
141
- * [fakeInput.style.top/left] ~
142
- * emulate position cursor before focus to real textfield element
143
- */
144
126
  makeFakeInput() {
145
127
  const fakeInput = this.renderer.createElement(`input`);
146
128
  const rect = this.element.getBoundingClientRect();
@@ -165,24 +147,9 @@ class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
165
147
  .getComputedStyle(this.element)
166
148
  .getPropertyValue(`--tui-duration`)) || 0);
167
149
  }
168
- /**
169
- * @note:
170
- * unfortunately, in older versions of iOS
171
- * there is a bug that the fake input cursor
172
- * will move along with the dialog animation
173
- * and then that dialog will be shaking
174
- */
175
150
  insideDialog() {
176
151
  return !!this.element.closest(`tui-dialog`);
177
152
  }
178
- /**
179
- * @note:
180
- * This is necessary so that the viewport isn't recalculated
181
- * and then the dialogs don't shake.
182
- *
183
- * Also, we need to fixed height viewport,
184
- * so that when focusing the dialogs don't shake
185
- */
186
153
  patchCssStyles() {
187
154
  const doc = this.win.document;
188
155
  for (const element of [doc.documentElement, doc.body]) {
@@ -190,12 +157,6 @@ class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
190
157
  element.style.setProperty(`height`, `100%`);
191
158
  }
192
159
  }
193
- /**
194
- * @note:
195
- * inherit basic attributes values from real input
196
- * for help iOS detect what do you want see on keyboard,
197
- * for example [inputMode=numeric, autocomplete=cc-number]
198
- */
199
160
  patchFakeInputFromFocusableElement(fakeInput) {
200
161
  TEXTFIELD_ATTRS.forEach(attr => {
201
162
  const value = this.element.getAttribute(attr);
@@ -231,7 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
231
192
  }] }]; } });
232
193
 
233
194
  const TUI_AUTOFOCUS_DEFAULT_OPTIONS = {
234
- delay: NaN, // NaN = no delay/sync
195
+ delay: NaN,
235
196
  };
236
197
  const TUI_AUTOFOCUS_OPTIONS = tuiCreateToken(TUI_AUTOFOCUS_DEFAULT_OPTIONS);
237
198
  function tuiAutoFocusOptionsProvider(options) {
@@ -341,9 +302,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
341
302
  args: [ElementRef]
342
303
  }] }]; } });
343
304
 
344
- /**
345
- * Generated bundle index. Do not edit.
346
- */
347
-
348
305
  export { AbstractTuiAutofocusHandler, TUI_AUTOFOCUS_DEFAULT_OPTIONS, TUI_AUTOFOCUS_HANDLER, TUI_AUTOFOCUS_OPTIONS, TUI_AUTOFOCUS_PROVIDERS, TuiAutoFocusDirective, TuiAutoFocusModule, TuiDefaultAutofocusHandler, TuiIosAutofocusHandler, TuiSynchronousAutofocusHandler, tuiAutoFocusOptionsProvider };
349
306
  //# sourceMappingURL=taiga-ui-cdk-directives-auto-focus.js.map