@taiga-ui/cdk 2.22.0 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/README.md +7 -3
  2. package/abstract/dialog.directive.d.ts +12 -0
  3. package/abstract/index.d.ts +1 -0
  4. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  5. package/bundles/taiga-ui-cdk-abstract.umd.js +56 -11
  6. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
  8. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -1
  10. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +1 -1
  12. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +1 -1
  14. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +1 -1
  16. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  18. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-date-time.umd.js +45 -45
  20. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-date-time.umd.min.js +2 -2
  22. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  24. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  26. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  28. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  30. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  32. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  34. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  36. package/bundles/taiga-ui-cdk-directives-element.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  38. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  40. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  42. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  44. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  46. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  48. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  50. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js.map +1 -1
  52. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-item.umd.js +259 -0
  54. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -0
  55. package/bundles/taiga-ui-cdk-directives-item.umd.min.js +16 -0
  56. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +1 -0
  57. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  58. package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  60. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  62. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  64. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-pan.umd.js +5 -5
  66. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +2 -2
  68. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  70. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  72. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  74. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  76. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +5 -5
  78. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  79. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +2 -2
  80. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  82. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +5 -5
  84. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +2 -2
  86. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives.umd.js +26 -18
  88. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives.umd.min.js +1 -1
  90. package/bundles/taiga-ui-cdk-enums.umd.js +11 -11
  91. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  92. package/bundles/taiga-ui-cdk-enums.umd.min.js +1 -1
  93. package/bundles/taiga-ui-cdk-enums.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-cdk-services.umd.js +39 -39
  101. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  102. package/bundles/taiga-ui-cdk-services.umd.min.js +1 -1
  103. package/bundles/taiga-ui-cdk-services.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-cdk-tokens.umd.js +11 -11
  105. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  106. package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
  107. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-cdk-utils-dom.umd.js +8 -10
  109. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  110. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  112. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +15 -14
  114. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +1 -1
  116. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +1 -1
  117. package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
  118. package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
  119. package/date-time/index.d.ts +4 -4
  120. package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
  121. package/directives/active-zone/taiga-ui-cdk-directives-active-zone.metadata.json +1 -1
  122. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  123. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
  124. package/directives/checked/taiga-ui-cdk-directives-checked.metadata.json +1 -1
  125. package/directives/drag/taiga-ui-cdk-directives-drag.metadata.json +1 -1
  126. package/directives/droppable/taiga-ui-cdk-directives-droppable.metadata.json +1 -1
  127. package/directives/element/taiga-ui-cdk-directives-element.metadata.json +1 -1
  128. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.metadata.json +1 -1
  129. package/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.metadata.json +1 -1
  130. package/directives/focusable/taiga-ui-cdk-directives-focusable.metadata.json +1 -1
  131. package/directives/focused/taiga-ui-cdk-directives-focused.metadata.json +1 -1
  132. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +1 -1
  133. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.metadata.json +1 -1
  134. package/directives/hovered/taiga-ui-cdk-directives-hovered.metadata.json +1 -1
  135. package/directives/index.d.ts +5 -4
  136. package/directives/input-mode/taiga-ui-cdk-directives-input-mode.metadata.json +1 -1
  137. package/directives/item/index.d.ts +2 -0
  138. package/directives/item/item.directive.d.ts +6 -0
  139. package/directives/item/item.module.d.ts +2 -0
  140. package/directives/item/package.json +13 -0
  141. package/directives/item/taiga-ui-cdk-directives-item.d.ts +4 -0
  142. package/directives/item/taiga-ui-cdk-directives-item.metadata.json +1 -0
  143. package/directives/let/taiga-ui-cdk-directives-let.metadata.json +1 -1
  144. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +1 -1
  145. package/directives/obscured/taiga-ui-cdk-directives-obscured.metadata.json +1 -1
  146. package/directives/overscroll/taiga-ui-cdk-directives-overscroll.metadata.json +1 -1
  147. package/directives/pan/pan.directive.d.ts +3 -3
  148. package/directives/pan/taiga-ui-cdk-directives-pan.metadata.json +1 -1
  149. package/directives/pressed/taiga-ui-cdk-directives-pressed.metadata.json +1 -1
  150. package/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.metadata.json +1 -1
  151. package/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.metadata.json +1 -1
  152. package/directives/resize/taiga-ui-cdk-directives-resize.metadata.json +1 -1
  153. package/directives/swipe/swipe.directive.d.ts +4 -3
  154. package/directives/swipe/taiga-ui-cdk-directives-swipe.metadata.json +1 -1
  155. package/directives/taiga-ui-cdk-directives.metadata.json +1 -1
  156. package/directives/validator/taiga-ui-cdk-directives-validator.metadata.json +1 -1
  157. package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +1 -1
  158. package/directives/zoom/zoom.directive.d.ts +4 -3
  159. package/enums/index.d.ts +1 -1
  160. package/enums/taiga-ui-cdk-enums.metadata.json +1 -1
  161. package/esm2015/abstract/control.js +7 -5
  162. package/esm2015/abstract/dialog.directive.js +35 -0
  163. package/esm2015/abstract/index.js +2 -1
  164. package/esm2015/abstract/interactive.js +9 -6
  165. package/esm2015/abstract/multiple-control.js +1 -1
  166. package/esm2015/abstract/nullable-control.js +1 -1
  167. package/esm2015/components/dialog-host/dialog-host.component.js +3 -3
  168. package/esm2015/components/dialog-host/dialog-host.module.js +1 -1
  169. package/esm2015/components/portal-host/portal-host.component.js +2 -2
  170. package/esm2015/components/portal-host/portal-host.module.js +1 -1
  171. package/esm2015/components/portal-host/portal.service.js +1 -1
  172. package/esm2015/constants/matcher.js +1 -1
  173. package/esm2015/date-time/date-fillers.js +1 -1
  174. package/esm2015/date-time/day-range.js +1 -1
  175. package/esm2015/date-time/day.js +1 -1
  176. package/esm2015/date-time/index.js +5 -5
  177. package/esm2015/date-time/month-range.js +1 -1
  178. package/esm2015/date-time/month.js +1 -1
  179. package/esm2015/date-time/time.js +1 -1
  180. package/esm2015/date-time/year.js +1 -1
  181. package/esm2015/directives/active-zone/active-zone.module.js +1 -1
  182. package/esm2015/directives/auto-focus/autofocus.module.js +1 -1
  183. package/esm2015/directives/autofilled/autofilled.module.js +1 -1
  184. package/esm2015/directives/checked/checked.module.js +1 -1
  185. package/esm2015/directives/drag/drag.module.js +1 -1
  186. package/esm2015/directives/droppable/droppable.module.js +1 -1
  187. package/esm2015/directives/element/element.module.js +1 -1
  188. package/esm2015/directives/focus-trap/focus-trap.module.js +1 -1
  189. package/esm2015/directives/focus-visible/focus-visible.module.js +1 -1
  190. package/esm2015/directives/focusable/focusable.module.js +1 -1
  191. package/esm2015/directives/focused/focused.module.js +1 -1
  192. package/esm2015/directives/for/for.module.js +1 -1
  193. package/esm2015/directives/high-dpi/high-dpi.module.js +1 -1
  194. package/esm2015/directives/hovered/hovered.module.js +1 -1
  195. package/esm2015/directives/index.js +6 -5
  196. package/esm2015/directives/input-mode/input-mode.module.js +1 -1
  197. package/esm2015/directives/item/index.js +3 -0
  198. package/esm2015/directives/item/item.directive.js +15 -0
  199. package/esm2015/directives/item/item.module.js +13 -0
  200. package/esm2015/directives/item/taiga-ui-cdk-directives-item.js +5 -0
  201. package/esm2015/directives/let/let.directive.js +1 -1
  202. package/esm2015/directives/let/let.module.js +1 -1
  203. package/esm2015/directives/media/media.module.js +1 -1
  204. package/esm2015/directives/obscured/obscured.module.js +1 -1
  205. package/esm2015/directives/overscroll/overscroll.module.js +1 -1
  206. package/esm2015/directives/pan/pan.directive.js +3 -2
  207. package/esm2015/directives/pan/pan.module.js +1 -1
  208. package/esm2015/directives/pressed/pressed.module.js +1 -1
  209. package/esm2015/directives/prevent-default/prevent-default.module.js +1 -1
  210. package/esm2015/directives/repeat-times/repeat-times.module.js +1 -1
  211. package/esm2015/directives/resize/resize.module.js +1 -1
  212. package/esm2015/directives/swipe/swipe.directive.js +3 -2
  213. package/esm2015/directives/swipe/swipe.module.js +1 -1
  214. package/esm2015/directives/validator/validator.module.js +1 -1
  215. package/esm2015/directives/zoom/zoom.directive.js +3 -2
  216. package/esm2015/directives/zoom/zoom.module.js +1 -1
  217. package/esm2015/enums/index.js +2 -2
  218. package/esm2015/interfaces/base-dialog-context.js +1 -1
  219. package/esm2015/interfaces/base-dialog.js +1 -1
  220. package/esm2015/interfaces/focusable-element-accessor.js +1 -1
  221. package/esm2015/interfaces/index.js +1 -1
  222. package/esm2015/observables/drag-and-drop-from.js +1 -1
  223. package/esm2015/observables/focus-visible-observable.js +1 -1
  224. package/esm2015/observables/mouse-drag-finish-from.js +1 -1
  225. package/esm2015/observables/pressed-observable.js +1 -1
  226. package/esm2015/pipes/filter/filter.module.js +1 -1
  227. package/esm2015/pipes/mapper/mapper.module.js +1 -1
  228. package/esm2015/services/focus-visible.service.js +1 -1
  229. package/esm2015/services/hovered.service.js +2 -2
  230. package/esm2015/services/index.js +2 -2
  231. package/esm2015/services/obscured.service.js +1 -1
  232. package/esm2015/services/resize.service.js +1 -1
  233. package/esm2015/services/static-request.service.js +1 -1
  234. package/esm2015/tokens/active-element.js +4 -5
  235. package/esm2015/tokens/index.js +3 -3
  236. package/esm2015/tokens/is-android.js +1 -1
  237. package/esm2015/types/index.js +1 -1
  238. package/esm2015/utils/dom/contains-or-after.js +2 -4
  239. package/esm2015/utils/dom/get-element-obscurers.js +1 -1
  240. package/esm2015/utils/dom/index.js +2 -2
  241. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +1 -1
  242. package/esm2015/utils/miscellaneous/fallback-value.js +2 -1
  243. package/esm2015/utils/miscellaneous/index.js +3 -3
  244. package/esm5/abstract/control.js +7 -5
  245. package/esm5/abstract/dialog.directive.js +44 -0
  246. package/esm5/abstract/index.js +2 -1
  247. package/esm5/abstract/interactive.js +9 -6
  248. package/esm5/abstract/multiple-control.js +1 -1
  249. package/esm5/abstract/nullable-control.js +1 -1
  250. package/esm5/components/dialog-host/dialog-host.component.js +3 -3
  251. package/esm5/components/dialog-host/dialog-host.module.js +1 -1
  252. package/esm5/components/portal-host/portal-host.component.js +2 -2
  253. package/esm5/components/portal-host/portal-host.module.js +1 -1
  254. package/esm5/components/portal-host/portal.service.js +1 -1
  255. package/esm5/constants/matcher.js +1 -1
  256. package/esm5/date-time/date-fillers.js +1 -1
  257. package/esm5/date-time/day-range.js +1 -1
  258. package/esm5/date-time/day.js +1 -1
  259. package/esm5/date-time/index.js +5 -5
  260. package/esm5/date-time/month-range.js +1 -1
  261. package/esm5/date-time/month.js +1 -1
  262. package/esm5/date-time/time.js +1 -1
  263. package/esm5/date-time/year.js +1 -1
  264. package/esm5/directives/active-zone/active-zone.module.js +1 -1
  265. package/esm5/directives/auto-focus/autofocus.module.js +1 -1
  266. package/esm5/directives/autofilled/autofilled.module.js +1 -1
  267. package/esm5/directives/checked/checked.module.js +1 -1
  268. package/esm5/directives/drag/drag.module.js +1 -1
  269. package/esm5/directives/droppable/droppable.module.js +1 -1
  270. package/esm5/directives/element/element.module.js +1 -1
  271. package/esm5/directives/focus-trap/focus-trap.module.js +1 -1
  272. package/esm5/directives/focus-visible/focus-visible.module.js +1 -1
  273. package/esm5/directives/focusable/focusable.module.js +1 -1
  274. package/esm5/directives/focused/focused.module.js +1 -1
  275. package/esm5/directives/for/for.module.js +1 -1
  276. package/esm5/directives/high-dpi/high-dpi.module.js +1 -1
  277. package/esm5/directives/hovered/hovered.module.js +1 -1
  278. package/esm5/directives/index.js +6 -5
  279. package/esm5/directives/input-mode/input-mode.module.js +1 -1
  280. package/esm5/directives/item/index.js +3 -0
  281. package/esm5/directives/item/item.directive.js +18 -0
  282. package/esm5/directives/item/item.module.js +16 -0
  283. package/esm5/directives/item/taiga-ui-cdk-directives-item.js +5 -0
  284. package/esm5/directives/let/let.directive.js +1 -1
  285. package/esm5/directives/let/let.module.js +1 -1
  286. package/esm5/directives/media/media.module.js +1 -1
  287. package/esm5/directives/obscured/obscured.module.js +1 -1
  288. package/esm5/directives/overscroll/overscroll.module.js +1 -1
  289. package/esm5/directives/pan/pan.directive.js +3 -2
  290. package/esm5/directives/pan/pan.module.js +1 -1
  291. package/esm5/directives/pressed/pressed.module.js +1 -1
  292. package/esm5/directives/prevent-default/prevent-default.module.js +1 -1
  293. package/esm5/directives/repeat-times/repeat-times.module.js +1 -1
  294. package/esm5/directives/resize/resize.module.js +1 -1
  295. package/esm5/directives/swipe/swipe.directive.js +3 -2
  296. package/esm5/directives/swipe/swipe.module.js +1 -1
  297. package/esm5/directives/validator/validator.module.js +1 -1
  298. package/esm5/directives/zoom/zoom.directive.js +3 -2
  299. package/esm5/directives/zoom/zoom.module.js +1 -1
  300. package/esm5/enums/index.js +2 -2
  301. package/esm5/interfaces/base-dialog-context.js +1 -1
  302. package/esm5/interfaces/base-dialog.js +1 -1
  303. package/esm5/interfaces/focusable-element-accessor.js +1 -1
  304. package/esm5/interfaces/index.js +1 -1
  305. package/esm5/observables/drag-and-drop-from.js +1 -1
  306. package/esm5/observables/focus-visible-observable.js +1 -1
  307. package/esm5/observables/mouse-drag-finish-from.js +1 -1
  308. package/esm5/observables/pressed-observable.js +1 -1
  309. package/esm5/pipes/filter/filter.module.js +1 -1
  310. package/esm5/pipes/mapper/mapper.module.js +1 -1
  311. package/esm5/services/focus-visible.service.js +1 -1
  312. package/esm5/services/hovered.service.js +2 -2
  313. package/esm5/services/index.js +2 -2
  314. package/esm5/services/obscured.service.js +1 -1
  315. package/esm5/services/resize.service.js +1 -1
  316. package/esm5/services/static-request.service.js +1 -1
  317. package/esm5/tokens/active-element.js +5 -5
  318. package/esm5/tokens/index.js +3 -3
  319. package/esm5/tokens/is-android.js +1 -1
  320. package/esm5/types/index.js +1 -1
  321. package/esm5/utils/dom/contains-or-after.js +2 -4
  322. package/esm5/utils/dom/get-element-obscurers.js +1 -1
  323. package/esm5/utils/dom/index.js +2 -2
  324. package/esm5/utils/focus/get-closest-keyboard-focusable.js +1 -1
  325. package/esm5/utils/miscellaneous/fallback-value.js +2 -1
  326. package/esm5/utils/miscellaneous/index.js +3 -3
  327. package/fesm2015/taiga-ui-cdk-abstract.js +47 -12
  328. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  329. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +1 -1
  330. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  331. package/fesm2015/taiga-ui-cdk-components-portal-host.js +1 -1
  332. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
  333. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  334. package/fesm2015/taiga-ui-cdk-date-time.js +43 -43
  335. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  336. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  337. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  338. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  339. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  340. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  341. package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
  342. package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
  343. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  344. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  345. package/fesm2015/taiga-ui-cdk-directives-focusable.js.map +1 -1
  346. package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
  347. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  348. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  349. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  350. package/fesm2015/taiga-ui-cdk-directives-input-mode.js.map +1 -1
  351. package/fesm2015/taiga-ui-cdk-directives-item.js +30 -0
  352. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -0
  353. package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
  354. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  355. package/fesm2015/taiga-ui-cdk-directives-obscured.js.map +1 -1
  356. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  357. package/fesm2015/taiga-ui-cdk-directives-pan.js +2 -1
  358. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  359. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  360. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  361. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  362. package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
  363. package/fesm2015/taiga-ui-cdk-directives-swipe.js +2 -1
  364. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  365. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  366. package/fesm2015/taiga-ui-cdk-directives-zoom.js +2 -1
  367. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  368. package/fesm2015/taiga-ui-cdk-directives.js +5 -4
  369. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  370. package/fesm2015/taiga-ui-cdk-enums.js +11 -11
  371. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  372. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  373. package/fesm2015/taiga-ui-cdk-pipes-filter.js.map +1 -1
  374. package/fesm2015/taiga-ui-cdk-pipes-mapper.js.map +1 -1
  375. package/fesm2015/taiga-ui-cdk-services.js +30 -30
  376. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  377. package/fesm2015/taiga-ui-cdk-tokens.js +10 -11
  378. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  379. package/fesm2015/taiga-ui-cdk-utils-dom.js +8 -10
  380. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  381. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  382. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +14 -13
  383. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  384. package/fesm5/taiga-ui-cdk-abstract.js +56 -12
  385. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  386. package/fesm5/taiga-ui-cdk-components-dialog-host.js +1 -1
  387. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  388. package/fesm5/taiga-ui-cdk-components-portal-host.js +1 -1
  389. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
  390. package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
  391. package/fesm5/taiga-ui-cdk-date-time.js +43 -43
  392. package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
  393. package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  394. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  395. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  396. package/fesm5/taiga-ui-cdk-directives-checked.js.map +1 -1
  397. package/fesm5/taiga-ui-cdk-directives-drag.js.map +1 -1
  398. package/fesm5/taiga-ui-cdk-directives-droppable.js.map +1 -1
  399. package/fesm5/taiga-ui-cdk-directives-element.js.map +1 -1
  400. package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  401. package/fesm5/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  402. package/fesm5/taiga-ui-cdk-directives-focusable.js.map +1 -1
  403. package/fesm5/taiga-ui-cdk-directives-focused.js.map +1 -1
  404. package/fesm5/taiga-ui-cdk-directives-for.js.map +1 -1
  405. package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  406. package/fesm5/taiga-ui-cdk-directives-hovered.js.map +1 -1
  407. package/fesm5/taiga-ui-cdk-directives-input-mode.js.map +1 -1
  408. package/fesm5/taiga-ui-cdk-directives-item.js +36 -0
  409. package/fesm5/taiga-ui-cdk-directives-item.js.map +1 -0
  410. package/fesm5/taiga-ui-cdk-directives-let.js.map +1 -1
  411. package/fesm5/taiga-ui-cdk-directives-media.js.map +1 -1
  412. package/fesm5/taiga-ui-cdk-directives-obscured.js.map +1 -1
  413. package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  414. package/fesm5/taiga-ui-cdk-directives-pan.js +2 -1
  415. package/fesm5/taiga-ui-cdk-directives-pan.js.map +1 -1
  416. package/fesm5/taiga-ui-cdk-directives-pressed.js.map +1 -1
  417. package/fesm5/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  418. package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  419. package/fesm5/taiga-ui-cdk-directives-resize.js.map +1 -1
  420. package/fesm5/taiga-ui-cdk-directives-swipe.js +2 -1
  421. package/fesm5/taiga-ui-cdk-directives-swipe.js.map +1 -1
  422. package/fesm5/taiga-ui-cdk-directives-validator.js.map +1 -1
  423. package/fesm5/taiga-ui-cdk-directives-zoom.js +2 -1
  424. package/fesm5/taiga-ui-cdk-directives-zoom.js.map +1 -1
  425. package/fesm5/taiga-ui-cdk-directives.js +5 -4
  426. package/fesm5/taiga-ui-cdk-directives.js.map +1 -1
  427. package/fesm5/taiga-ui-cdk-enums.js +11 -11
  428. package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
  429. package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
  430. package/fesm5/taiga-ui-cdk-pipes-filter.js.map +1 -1
  431. package/fesm5/taiga-ui-cdk-pipes-mapper.js.map +1 -1
  432. package/fesm5/taiga-ui-cdk-services.js +40 -40
  433. package/fesm5/taiga-ui-cdk-services.js.map +1 -1
  434. package/fesm5/taiga-ui-cdk-tokens.js +11 -11
  435. package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
  436. package/fesm5/taiga-ui-cdk-utils-dom.js +8 -10
  437. package/fesm5/taiga-ui-cdk-utils-dom.js.map +1 -1
  438. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  439. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +15 -14
  440. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  441. package/interfaces/focusable-element-accessor.d.ts +2 -0
  442. package/interfaces/index.d.ts +1 -1
  443. package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
  444. package/observables/taiga-ui-cdk-observables.metadata.json +1 -1
  445. package/package.json +3 -3
  446. package/pipes/filter/taiga-ui-cdk-pipes-filter.metadata.json +1 -1
  447. package/pipes/mapper/taiga-ui-cdk-pipes-mapper.metadata.json +1 -1
  448. package/services/index.d.ts +1 -1
  449. package/services/taiga-ui-cdk-services.metadata.json +1 -1
  450. package/tokens/index.d.ts +2 -2
  451. package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
  452. package/types/index.d.ts +1 -1
  453. package/types/taiga-ui-cdk-types.metadata.json +1 -1
  454. package/utils/dom/index.d.ts +1 -1
  455. package/utils/dom/taiga-ui-cdk-utils-dom.metadata.json +1 -1
  456. package/utils/miscellaneous/fallback-value.d.ts +1 -0
  457. package/utils/miscellaneous/index.d.ts +2 -2
  458. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = () => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = () => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: Function = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<any> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition(':enter', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n transition(':leave', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}.\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200b';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAM,OAAA,KAAK;;ACH/C;;;IAGa,mBAAmB,GAAG,cAAM,OAAA,IAAI;;ICHhC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAAa,gBAAS;AACjD;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI;;ACVtD;;;IAGa,qBAAqB,GAA0B,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC;;ACFhF;;;;;;IAMa,mBAAmB,GAAG,UAC/B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAA5D,EAA6D;AAElE;;;;;;IAMa,kBAAkB,GAAG,UAC9B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;AAAtD,EAAuD;AAE5D;;;;;;;IAOa,4BAA4B,GAAgC,UAAC,KAAK,EAAE,KAAK;IAClF,OAAA,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAA1C,EAA2C;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;ICrCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;IACF,UAAU,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;ICXY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;IACa,aAAa,IAAgB,UAAC,IAAU;IACjD,OAAA,iBAAiB,IAAI,IAAI;UACnB,UAAU,CAAC,aAAa;UACxB,UAAU,CAAC,aAAa;AAF9B,CAE8B;;ACLlC;;;IAGa,mBAAmB,GAAG,SAAS;AAE5C;;;IAGa,YAAY,GAAG,SAAS;AAErC;;;IAGa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,aAAa,GAAG,SAAS;AAEtC;;;IAGa,kBAAkB,GAAG,SAAS;AAE3C;;;IAGa,qBAAqB,GAAG;;AC5BrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.js","sources":["ng://@taiga-ui/cdk/constants/always-false-handler.ts","ng://@taiga-ui/cdk/constants/always-true-handler.ts","ng://@taiga-ui/cdk/constants/browser.ts","ng://@taiga-ui/cdk/constants/empty.ts","ng://@taiga-ui/cdk/constants/stringify.ts","ng://@taiga-ui/cdk/constants/matcher.ts","ng://@taiga-ui/cdk/constants/parent-animation.ts","ng://@taiga-ui/cdk/constants/polling-time.ts","ng://@taiga-ui/cdk/constants/svg-node-filter.ts","ng://@taiga-ui/cdk/constants/unicode-chars.ts","ng://@taiga-ui/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["/**\n * Handler that always returns `false`.\n */\nexport const ALWAYS_FALSE_HANDLER = () => false;\n","/**\n * Handler that always returns `true`.\n */\nexport const ALWAYS_TRUE_HANDLER = () => true;\n","export const CHROMIUM_EDGE_START_VERSION = 79;\n","import {QueryList} from '@angular/core';\nimport {ValidatorFn} from '@angular/forms';\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: Function = () => {};\n/** @deprecated use Validators.nullValidator */\nexport const EMPTY_VALIDATOR: ValidatorFn = () => null;\n","import {TuiStringHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Default method to turn arbitrary object into string\n */\nexport const TUI_DEFAULT_STRINGIFY: TuiStringHandler<any> = item => String(item);\n","import {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nimport {TUI_DEFAULT_STRINGIFY} from './stringify';\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = TUI_DEFAULT_STRINGIFY,\n) => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n","import {animateChild, query, style, transition, trigger} from '@angular/animations';\n\nexport const TUI_PARENT_ANIMATION = trigger('tuiParentAnimation', [\n transition(':enter', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n transition(':leave', [\n style({overflow: 'hidden'}),\n query('@*', [animateChild()], {optional: true}),\n ]),\n]);\n","export const POLLING_TIME = 1000 / 15;\n","// Filtering SVGElements for TreeWalker\n// Filter must be a function in IE, other modern browsers are compliant to this format\nexport const svgNodeFilter: NodeFilter = ((node: Node) =>\n 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT) as any;\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}.\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200b';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;;IAGa,oBAAoB,GAAG,cAAM,OAAA,KAAK;;ACH/C;;;IAGa,mBAAmB,GAAG,cAAM,OAAA,IAAI;;ICHhC,2BAA2B,GAAG;;ACG3C;;;;;IAKa,WAAW,GAAG,IAAI,SAAS,GAAQ;IACnC,WAAW,GAAO,GAAG;IACrB,cAAc,GAAa,gBAAS;AACjD;IACa,eAAe,GAAgB,cAAM,OAAA,IAAI;;ACVtD;;;IAGa,qBAAqB,GAA0B,UAAA,IAAI,IAAI,OAAA,MAAM,CAAC,IAAI,CAAC;;ACDhF;;;;;;IAMa,mBAAmB,GAAG,UAC/B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;AAA5D,EAA6D;AAElE;;;;;;IAMa,kBAAkB,GAAG,UAC9B,IAAO,EACP,MAAc,EACd,SAAwD;IAAxD,0BAAA,EAAA,iCAAwD;IACvD,OAAA,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE;AAAtD,EAAuD;AAE5D;;;;;;;IAOa,4BAA4B,GAAgC,UAAC,KAAK,EAAE,KAAK;IAClF,OAAA,KAAK,KAAK,KAAK,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AAA1C,EAA2C;AAE/C,SAAS,SAAS,CAAC,KAAc,EAAE,KAAc;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AAC1F;;ICtCa,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,EAAE;IAC9D,UAAU,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;IACF,UAAU,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClD,CAAC;CACL;;ICXY,YAAY,GAAG,IAAI,GAAG;;ACAnC;AACA;IACa,aAAa,IAAgB,UAAC,IAAU;IACjD,OAAA,iBAAiB,IAAI,IAAI;UACnB,UAAU,CAAC,aAAa;UACxB,UAAU,CAAC,aAAa;AAF9B,CAE8B;;ACLlC;;;IAGa,mBAAmB,GAAG,SAAS;AAE5C;;;IAGa,YAAY,GAAG,SAAS;AAErC;;;IAGa,WAAW,GAAG,SAAS;AAEpC;;;IAGa,aAAa,GAAG,SAAS;AAEtC;;;IAGa,kBAAkB,GAAG,SAAS;AAE3C;;;IAGa,qBAAqB,GAAG;;AC5BrC;;;;;;"}
@@ -1,9 +1,9 @@
1
+ import { InjectionToken, inject } from '@angular/core';
2
+ import { CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk/constants';
1
3
  import { __extends } from 'tslib';
2
4
  import { tuiAssert } from '@taiga-ui/cdk/classes';
3
5
  import { padStart } from '@taiga-ui/cdk/utils/format';
4
6
  import { inRange, normalizeToIntNumber } from '@taiga-ui/cdk/utils/math';
5
- import { CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk/constants';
6
- import { InjectionToken, inject } from '@angular/core';
7
7
 
8
8
  var DAYS_IN_WEEK = 7;
9
9
  var DAYS_IN_NORMAL_YEAR = 365;
@@ -23,6 +23,44 @@ var MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;
23
23
  var MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;
24
24
  var MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;
25
25
 
26
+ /**
27
+ * @deprecated dont use it. See {@link TUI_DATE_FORMAT}
28
+ * TODO: get rid of this in v3.0
29
+ */
30
+ var TUI_DATE_FILLER = new InjectionToken('date filler for Taiga UI', {
31
+ factory: function () { return "dd.mm.yyyy"; },
32
+ });
33
+ /**
34
+ * @deprecated dont use it
35
+ * TODO: get rid of this in v3.0
36
+ */
37
+ var TUI_DATE_RANGE_FILLER = new InjectionToken('date range filler for Taiga UI', {
38
+ factory: function () {
39
+ var dateFiller = inject(TUI_DATE_FILLER);
40
+ return "" + dateFiller + RANGE_SEPARATOR_CHAR + dateFiller;
41
+ },
42
+ });
43
+ /**
44
+ * @internal 'dd.mm.yyyy'.length
45
+ * Used in:
46
+ * - {@link TuiInputDateComponent}
47
+ * - {@link TuiInputDateRangeComponent}
48
+ * - {@link TuiInputDateTimeComponent}
49
+ */
50
+ var DATE_FILLER_LENGTH = 10;
51
+ /**
52
+ * @internal
53
+ * Used in {@link TuiInputDateRangeComponent}
54
+ */
55
+ var DATE_RANGE_FILLER_LENGTH = 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;
56
+
57
+ /**
58
+ * TODO This token supports only DMY now. Add other {@link TuiDateMode} support
59
+ */
60
+ var TUI_DATE_FORMAT = new InjectionToken('Active date format for Taiga UI', {
61
+ factory: function () { return 'DMY'; },
62
+ });
63
+
26
64
  /**
27
65
  * Immutable year object
28
66
  * @nosideeffects
@@ -659,40 +697,6 @@ var TuiDay = /** @class */ (function (_super) {
659
697
  return TuiDay;
660
698
  }(TuiMonth));
661
699
 
662
- var TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);
663
- var TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);
664
-
665
- /**
666
- * @deprecated dont use it. See {@link TUI_DATE_FORMAT}
667
- * TODO: get rid of this in v3.0
668
- */
669
- var TUI_DATE_FILLER = new InjectionToken('date filler for Taiga UI', {
670
- factory: function () { return "dd.mm.yyyy"; },
671
- });
672
- /**
673
- * @deprecated dont use it
674
- * TODO: get rid of this in v3.0
675
- */
676
- var TUI_DATE_RANGE_FILLER = new InjectionToken('date range filler for Taiga UI', {
677
- factory: function () {
678
- var dateFiller = inject(TUI_DATE_FILLER);
679
- return "" + dateFiller + RANGE_SEPARATOR_CHAR + dateFiller;
680
- },
681
- });
682
- /**
683
- * @internal 'dd.mm.yyyy'.length
684
- * Used in:
685
- * - {@link TuiInputDateComponent}
686
- * - {@link TuiInputDateRangeComponent}
687
- * - {@link TuiInputDateTimeComponent}
688
- */
689
- var DATE_FILLER_LENGTH = 10;
690
- /**
691
- * @internal
692
- * Used in {@link TuiInputDateRangeComponent}
693
- */
694
- var DATE_RANGE_FILLER_LENGTH = 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;
695
-
696
700
  /**
697
701
  * An immutable range of two {@link TuiMonth} objects
698
702
  */
@@ -806,6 +810,9 @@ var TuiDayRange = /** @class */ (function (_super) {
806
810
  return TuiDayRange;
807
811
  }(TuiMonthRange));
808
812
 
813
+ var TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);
814
+ var TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);
815
+
809
816
  /**
810
817
  * Immutable time object with hours, minutes, seconds and ms
811
818
  */
@@ -924,13 +931,6 @@ var TuiTime = /** @class */ (function () {
924
931
  return TuiTime;
925
932
  }());
926
933
 
927
- /**
928
- * TODO This token supports only DMY now. Add other {@link TuiDateMode} support
929
- */
930
- var TUI_DATE_FORMAT = new InjectionToken('Active date format for Taiga UI', {
931
- factory: function () { return 'DMY'; },
932
- });
933
-
934
934
  /**
935
935
  * Generated bundle index. Do not edit.
936
936
  */
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-date-time.js","sources":["ng://@taiga-ui/cdk/date-time/date-time.ts","ng://@taiga-ui/cdk/date-time/year.ts","ng://@taiga-ui/cdk/date-time/month.ts","ng://@taiga-ui/cdk/date-time/day.ts","ng://@taiga-ui/cdk/date-time/days.const.ts","ng://@taiga-ui/cdk/date-time/date-fillers.ts","ng://@taiga-ui/cdk/date-time/month-range.ts","ng://@taiga-ui/cdk/date-time/day-range.ts","ng://@taiga-ui/cdk/date-time/time.ts","ng://@taiga-ui/cdk/date-time/date-format.ts","ng://@taiga-ui/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["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 {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\nimport {\n DAYS_IN_LEAP_YEAR,\n DAYS_IN_NORMAL_YEAR,\n DAYS_IN_WEEK,\n MAX_YEAR,\n MIN_YEAR,\n} from './date-time';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(readonly year: number) {\n tuiAssert.assert(TuiYear.isValidYear(year));\n }\n\n get formattedYear(): string {\n return padStart(this.year.toString(), 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 * @deprecated DONT USE IT (will be deleted soon)\n *\n * Returns day of week offset of the beginning of the current year\n */\n get yearStartDaysOffset(): number {\n return TuiYear.getYearStartDaysOffset(this.year, this.absoluteLeapYears);\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 // TODO: Consider removing `backwards` option\n /**\n * Immutably offsets year\n */\n append({year = 0}: TuiYearLike, backwards: boolean = false): TuiYear {\n tuiAssert.assert(Number.isInteger(year));\n\n if (backwards) {\n year *= -1;\n }\n\n const resultYear = this.year + year;\n\n tuiAssert.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n toString(): string {\n return this.formattedYear;\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n\n /**\n * Checks year for validity\n */\n static isValidYear(year: number): boolean {\n return Number.isInteger(year) && inRange(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 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 tuiAssert.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Returns day of week offset of the beginning of the passed year\n *\n * @param year\n * @param absoluteLeapYears amount of leap years prior to the passed one\n * @return offset in days\n */\n static getYearStartDaysOffset(year: number, absoluteLeapYears: number): number {\n tuiAssert.assert(TuiYear.isValidYear(year));\n tuiAssert.assert(Number.isInteger(absoluteLeapYears));\n tuiAssert.assert(year >= absoluteLeapYears);\n tuiAssert.assert(absoluteLeapYears >= 0);\n\n return (\n (absoluteLeapYears * DAYS_IN_LEAP_YEAR +\n (year - absoluteLeapYears) * DAYS_IN_NORMAL_YEAR +\n 5) %\n DAYS_IN_WEEK\n );\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 normalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\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 {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\nimport {DAYS_IN_WEEK, 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(year: number, readonly month: number) {\n super(year);\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n }\n\n get formattedMonthPart(): string {\n return padStart((this.month + 1).toString(), 2, '0');\n }\n\n /**\n * Formatter month and year\n */\n get formattedMonth(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Calculates number of weeks in a month (counting non-full weeks)\n */\n get weeksRowsCount(): number {\n return Math.ceil((this.monthStartDaysOffset + this.daysCount) / DAYS_IN_WEEK);\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 * @deprecated DONT USE IT (will be deleted soon)\n *\n * Computes day of week offset of the beginning of the month\n */\n get monthStartDaysOffset(): number {\n let result = this.yearStartDaysOffset;\n\n for (let currentMonth = 0; currentMonth <= this.month - 1; currentMonth++) {\n result += TuiMonth.getMonthDaysCount(currentMonth, this.isLeapYear);\n }\n\n return result % DAYS_IN_WEEK;\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 // TODO: Consider removing `backwards` option\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @param backwards shift date backwards\n * @return new month and year object as a result of offsetting current\n */\n append({year = 0, month = 0}: TuiMonthLike, backwards: boolean = false): TuiMonth {\n if (backwards) {\n year *= -1;\n month *= -1;\n }\n\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 toString(): string {\n return this.formattedMonth;\n }\n\n 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 /**\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 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 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 normalizeToIntNumber(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) && inRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\nimport {DAYS_IN_WEEK, 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(year: number, month: number, readonly day: number) {\n super(year, month);\n tuiAssert.assert(TuiDay.isValidDay(year, month, day));\n }\n\n get formattedDayPart(): string {\n return padStart(this.day.toString(), 2, '0');\n }\n\n /**\n * Formatted whole date\n */\n get formattedDay(): string {\n return `${this.formattedDayPart}.${this.formattedMonth}`;\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 // TODO: Consider removing `backwards` option\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 * @param backwards shift date backwards\n * @return new date object as a result of offsetting current\n */\n append(\n {year = 0, month = 0, day = 0}: TuiDayLike,\n backwards: boolean = false,\n ): TuiDay {\n if (backwards) {\n year *= -1;\n month *= -1;\n day *= -1;\n }\n\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 toString(): string {\n return this.formattedDay;\n }\n\n toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\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, this.day);\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, this.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 inRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Calculated day on a calendar grid\n *\n * @param month\n * @param row row in a calendar\n * @param col column in a calendar\n * @return resulting day on these coordinates (could exceed passed month)\n */\n static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay {\n tuiAssert.assert(Number.isInteger(row));\n tuiAssert.assert(inRange(row, 0, 6));\n tuiAssert.assert(Number.isInteger(col));\n tuiAssert.assert(inRange(col, 0, DAYS_IN_WEEK));\n\n let day = row * DAYS_IN_WEEK + col - month.monthStartDaysOffset + 1;\n\n if (day > month.daysCount) {\n day = day - month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n }\n\n /**\n * Current day based on local time zone\n */\n static 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 * 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 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 // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param yearMonthDayString date string in format of DD.MM.Yyyy\n * @return normalized date\n */\n static normalizeParse(yearMonthDayString: string): TuiDay {\n const day = parseInt(yearMonthDayString.slice(0, 2), 10);\n const month = parseInt(yearMonthDayString.slice(3, 5), 10) - 1;\n const year = parseInt(yearMonthDayString.slice(6, 10), 10);\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 = parseInt(yearMonthDayString.slice(8, 10), 10);\n const month = parseInt(yearMonthDayString.slice(5, 7), 10) - 1;\n const year = parseInt(yearMonthDayString.slice(0, 4), 10);\n\n if (!TuiYear.isValidYear(year)) {\n throw new Error('Invalid year: ' + year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new Error('Invalid month: ' + month);\n }\n\n if (\n !Number.isInteger(day) ||\n !inRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new Error('Invalid day: ' + day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n protected static normalizeDayPart(day: number, month: number, year: number): number {\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return normalizeToIntNumber(day, 1, monthDaysCount);\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 {inject, InjectionToken} from '@angular/core';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @deprecated dont use it. See {@link TUI_DATE_FORMAT}\n * TODO: get rid of this in v3.0\n */\nexport const TUI_DATE_FILLER = new InjectionToken<string>('date filler for Taiga UI', {\n factory: () => `dd.mm.yyyy`,\n});\n\n/**\n * @deprecated dont use it\n * TODO: get rid of this in v3.0\n */\nexport const TUI_DATE_RANGE_FILLER = new InjectionToken<string>(\n 'date range filler for Taiga UI',\n {\n factory: () => {\n const dateFiller = inject(TUI_DATE_FILLER);\n\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n },\n },\n);\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 {tuiAssert} from '@taiga-ui/cdk/classes';\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(readonly from: TuiMonth, readonly to: TuiMonth) {\n tuiAssert.assert(from.monthSameOrBefore(to));\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n get formattedMonthRange(): string {\n return `${this.from.formattedMonth}${RANGE_SEPARATOR_CHAR}${this.to.formattedMonth}`;\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 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","import {tuiAssert} from '@taiga-ui/cdk/classes';\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(readonly from: TuiDay, readonly to: TuiDay) {\n super(from, to);\n\n tuiAssert.assert(from.daySameOrBefore(to));\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Human readable format.\n */\n get formattedDayRange(): string {\n return `${this.from.formattedDay}${RANGE_SEPARATOR_CHAR}${this.to.formattedDay}`;\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 * 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 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 * @deprecated\n * TODO rm deprecated version in v3.0\n */\n static normalizeParse(\n rangeString: string,\n dateFiller: string,\n dateRangeFiller: string,\n ): TuiDayRange;\n static normalizeParse(rangeString: string): TuiDayRange;\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 * @return normalized day range object\n */\n static normalizeParse(rangeString: string): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(rangeString.slice(0, DATE_FILLER_LENGTH));\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 ),\n );\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiTimeLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiTimeMode} from '@taiga-ui/cdk/types';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange} from '@taiga-ui/cdk/utils/math';\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 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 * 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 /**\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 /**\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 inRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n inRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n inRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n inRange(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 tuiAssert.assert(Number.isInteger(milliseconds));\n tuiAssert.assert(\n inRange(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 private formatTime(time: number, digits: number = 2): string {\n return padStart(time.toString(), digits, '0');\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\n/**\n * TODO This token supports only DMY now. Add other {@link TuiDateMode} support\n */\nexport const TUI_DATE_FORMAT = new InjectionToken<TuiDateMode>(\n 'Active date format for Taiga UI',\n {\n factory: () => 'DMY',\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":["ng://@taiga-ui/cdk/date-time/date-time.ts","ng://@taiga-ui/cdk/date-time/date-fillers.ts","ng://@taiga-ui/cdk/date-time/date-format.ts","ng://@taiga-ui/cdk/date-time/year.ts","ng://@taiga-ui/cdk/date-time/month.ts","ng://@taiga-ui/cdk/date-time/day.ts","ng://@taiga-ui/cdk/date-time/month-range.ts","ng://@taiga-ui/cdk/date-time/day-range.ts","ng://@taiga-ui/cdk/date-time/days.const.ts","ng://@taiga-ui/cdk/date-time/time.ts","ng://@taiga-ui/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["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 {inject, InjectionToken} from '@angular/core';\n\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @deprecated dont use it. See {@link TUI_DATE_FORMAT}\n * TODO: get rid of this in v3.0\n */\nexport const TUI_DATE_FILLER = new InjectionToken<string>('date filler for Taiga UI', {\n factory: () => `dd.mm.yyyy`,\n});\n\n/**\n * @deprecated dont use it\n * TODO: get rid of this in v3.0\n */\nexport const TUI_DATE_RANGE_FILLER = new InjectionToken<string>(\n 'date range filler for Taiga UI',\n {\n factory: () => {\n const dateFiller = inject(TUI_DATE_FILLER);\n\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n },\n },\n);\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 {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\n/**\n * TODO This token supports only DMY now. Add other {@link TuiDateMode} support\n */\nexport const TUI_DATE_FORMAT = new InjectionToken<TuiDateMode>(\n 'Active date format for Taiga UI',\n {\n factory: () => 'DMY',\n },\n);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {\n DAYS_IN_LEAP_YEAR,\n DAYS_IN_NORMAL_YEAR,\n DAYS_IN_WEEK,\n MAX_YEAR,\n MIN_YEAR,\n} from './date-time';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(readonly year: number) {\n tuiAssert.assert(TuiYear.isValidYear(year));\n }\n\n get formattedYear(): string {\n return padStart(this.year.toString(), 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 * @deprecated DONT USE IT (will be deleted soon)\n *\n * Returns day of week offset of the beginning of the current year\n */\n get yearStartDaysOffset(): number {\n return TuiYear.getYearStartDaysOffset(this.year, this.absoluteLeapYears);\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 // TODO: Consider removing `backwards` option\n /**\n * Immutably offsets year\n */\n append({year = 0}: TuiYearLike, backwards: boolean = false): TuiYear {\n tuiAssert.assert(Number.isInteger(year));\n\n if (backwards) {\n year *= -1;\n }\n\n const resultYear = this.year + year;\n\n tuiAssert.assert(TuiYear.isValidYear(resultYear));\n\n return new TuiYear(resultYear);\n }\n\n toString(): string {\n return this.formattedYear;\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n\n /**\n * Checks year for validity\n */\n static isValidYear(year: number): boolean {\n return Number.isInteger(year) && inRange(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 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 tuiAssert.assert(TuiYear.isValidYear(year));\n\n return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Returns day of week offset of the beginning of the passed year\n *\n * @param year\n * @param absoluteLeapYears amount of leap years prior to the passed one\n * @return offset in days\n */\n static getYearStartDaysOffset(year: number, absoluteLeapYears: number): number {\n tuiAssert.assert(TuiYear.isValidYear(year));\n tuiAssert.assert(Number.isInteger(absoluteLeapYears));\n tuiAssert.assert(year >= absoluteLeapYears);\n tuiAssert.assert(absoluteLeapYears >= 0);\n\n return (\n (absoluteLeapYears * DAYS_IN_LEAP_YEAR +\n (year - absoluteLeapYears) * DAYS_IN_NORMAL_YEAR +\n 5) %\n DAYS_IN_WEEK\n );\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 normalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\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 {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DAYS_IN_WEEK, 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(year: number, readonly month: number) {\n super(year);\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n }\n\n get formattedMonthPart(): string {\n return padStart((this.month + 1).toString(), 2, '0');\n }\n\n /**\n * Formatter month and year\n */\n get formattedMonth(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Calculates number of weeks in a month (counting non-full weeks)\n */\n get weeksRowsCount(): number {\n return Math.ceil((this.monthStartDaysOffset + this.daysCount) / DAYS_IN_WEEK);\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 * @deprecated DONT USE IT (will be deleted soon)\n *\n * Computes day of week offset of the beginning of the month\n */\n get monthStartDaysOffset(): number {\n let result = this.yearStartDaysOffset;\n\n for (let currentMonth = 0; currentMonth <= this.month - 1; currentMonth++) {\n result += TuiMonth.getMonthDaysCount(currentMonth, this.isLeapYear);\n }\n\n return result % DAYS_IN_WEEK;\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 // TODO: Consider removing `backwards` option\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @param backwards shift date backwards\n * @return new month and year object as a result of offsetting current\n */\n append({year = 0, month = 0}: TuiMonthLike, backwards: boolean = false): TuiMonth {\n if (backwards) {\n year *= -1;\n month *= -1;\n }\n\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 toString(): string {\n return this.formattedMonth;\n }\n\n 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 /**\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 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 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 normalizeToIntNumber(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) && inRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DAYS_IN_WEEK, 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(year: number, month: number, readonly day: number) {\n super(year, month);\n tuiAssert.assert(TuiDay.isValidDay(year, month, day));\n }\n\n get formattedDayPart(): string {\n return padStart(this.day.toString(), 2, '0');\n }\n\n /**\n * Formatted whole date\n */\n get formattedDay(): string {\n return `${this.formattedDayPart}.${this.formattedMonth}`;\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 // TODO: Consider removing `backwards` option\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 * @param backwards shift date backwards\n * @return new date object as a result of offsetting current\n */\n append(\n {year = 0, month = 0, day = 0}: TuiDayLike,\n backwards: boolean = false,\n ): TuiDay {\n if (backwards) {\n year *= -1;\n month *= -1;\n day *= -1;\n }\n\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 toString(): string {\n return this.formattedDay;\n }\n\n toJSON(): string {\n return `${super.toJSON()}-${this.formattedDayPart}`;\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, this.day);\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, this.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 inRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * @deprecated DONT USE IT (will be deleted soon)\n *\n * Calculated day on a calendar grid\n *\n * @param month\n * @param row row in a calendar\n * @param col column in a calendar\n * @return resulting day on these coordinates (could exceed passed month)\n */\n static getDayFromMonthRowCol(month: TuiMonth, row: number, col: number): TuiDay {\n tuiAssert.assert(Number.isInteger(row));\n tuiAssert.assert(inRange(row, 0, 6));\n tuiAssert.assert(Number.isInteger(col));\n tuiAssert.assert(inRange(col, 0, DAYS_IN_WEEK));\n\n let day = row * DAYS_IN_WEEK + col - month.monthStartDaysOffset + 1;\n\n if (day > month.daysCount) {\n day = day - month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n }\n\n /**\n * Current day based on local time zone\n */\n static 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 * 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 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 // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param yearMonthDayString date string in format of DD.MM.Yyyy\n * @return normalized date\n */\n static normalizeParse(yearMonthDayString: string): TuiDay {\n const day = parseInt(yearMonthDayString.slice(0, 2), 10);\n const month = parseInt(yearMonthDayString.slice(3, 5), 10) - 1;\n const year = parseInt(yearMonthDayString.slice(6, 10), 10);\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 = parseInt(yearMonthDayString.slice(8, 10), 10);\n const month = parseInt(yearMonthDayString.slice(5, 7), 10) - 1;\n const year = parseInt(yearMonthDayString.slice(0, 4), 10);\n\n if (!TuiYear.isValidYear(year)) {\n throw new Error('Invalid year: ' + year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new Error('Invalid month: ' + month);\n }\n\n if (\n !Number.isInteger(day) ||\n !inRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new Error('Invalid day: ' + day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n protected static normalizeDayPart(day: number, month: number, year: number): number {\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return normalizeToIntNumber(day, 1, monthDaysCount);\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(readonly from: TuiMonth, readonly to: TuiMonth) {\n tuiAssert.assert(from.monthSameOrBefore(to));\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n get formattedMonthRange(): string {\n return `${this.from.formattedMonth}${RANGE_SEPARATOR_CHAR}${this.to.formattedMonth}`;\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 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","import {tuiAssert} from '@taiga-ui/cdk/classes';\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(readonly from: TuiDay, readonly to: TuiDay) {\n super(from, to);\n\n tuiAssert.assert(from.daySameOrBefore(to));\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Human readable format.\n */\n get formattedDayRange(): string {\n return `${this.from.formattedDay}${RANGE_SEPARATOR_CHAR}${this.to.formattedDay}`;\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 * 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 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 * @deprecated\n * TODO rm deprecated version in v3.0\n */\n static normalizeParse(\n rangeString: string,\n dateFiller: string,\n dateRangeFiller: string,\n ): TuiDayRange;\n static normalizeParse(rangeString: string): TuiDayRange;\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 * @return normalized day range object\n */\n static normalizeParse(rangeString: string): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(rangeString.slice(0, DATE_FILLER_LENGTH));\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 ),\n );\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 {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange} 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 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 * 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 /**\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 /**\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 inRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n inRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n inRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n inRange(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 tuiAssert.assert(Number.isInteger(milliseconds));\n tuiAssert.assert(\n inRange(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 private formatTime(time: number, digits: number = 2): string {\n return padStart(time.toString(), 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 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["ng://@taiga-ui/cdk/directives/active-zone/active-zone.directive.ts","ng://@taiga-ui/cdk/directives/active-zone/active-zone.module.ts","ng://@taiga-ui/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 {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\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: ReadonlyArray<TuiActiveZoneDirective> = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n if (this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n\n if (zone) {\n zone.addSubActiveZone(this);\n }\n\n this.tuiActiveZoneParent = 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.ngZone),\n );\n\n constructor(\n @Inject(TUI_ACTIVE_ELEMENT)\n private readonly active$: Observable<Element | null>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n @Optional()\n @SkipSelf()\n @Inject(TuiActiveZoneDirective)\n private readonly directParentActiveZone: TuiActiveZoneDirective | null,\n ) {\n if (this.directParentActiveZone) {\n this.directParentActiveZone.addSubActiveZone(this);\n }\n }\n\n ngOnDestroy() {\n if (!!this.directParentActiveZone) {\n this.directParentActiveZone.removeSubActiveZone(this);\n }\n\n if (!!this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n }\n\n contains(node: Node): boolean {\n return (\n this.elementRef.nativeElement.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n private addSubActiveZone(activeZone: TuiActiveZoneDirective) {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective) {\n const index = this.subActiveZones.findIndex(item => item === activeZone);\n\n this.subActiveZones = [\n ...this.subActiveZones.slice(0, index),\n ...this.subActiveZones.slice(index + 1),\n ];\n }\n}\n","import {NgModule} from '@angular/core';\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":["ng://@taiga-ui/cdk/directives/active-zone/active-zone.directive.ts","ng://@taiga-ui/cdk/directives/active-zone/active-zone.module.ts","ng://@taiga-ui/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 {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\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: ReadonlyArray<TuiActiveZoneDirective> = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n if (this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n\n if (zone) {\n zone.addSubActiveZone(this);\n }\n\n this.tuiActiveZoneParent = 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.ngZone),\n );\n\n constructor(\n @Inject(TUI_ACTIVE_ELEMENT)\n private readonly active$: Observable<Element | null>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n @Optional()\n @SkipSelf()\n @Inject(TuiActiveZoneDirective)\n private readonly directParentActiveZone: TuiActiveZoneDirective | null,\n ) {\n if (this.directParentActiveZone) {\n this.directParentActiveZone.addSubActiveZone(this);\n }\n }\n\n ngOnDestroy() {\n if (!!this.directParentActiveZone) {\n this.directParentActiveZone.removeSubActiveZone(this);\n }\n\n if (!!this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n }\n\n contains(node: Node): boolean {\n return (\n this.elementRef.nativeElement.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n private addSubActiveZone(activeZone: TuiActiveZoneDirective) {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective) {\n const index = this.subActiveZones.findIndex(item => item === activeZone);\n\n this.subActiveZones = [\n ...this.subActiveZones.slice(0, index),\n ...this.subActiveZones.slice(index + 1),\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 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-auto-focus.js","sources":["ng://@taiga-ui/cdk/directives/auto-focus/autofocus.directive.ts","ng://@taiga-ui/cdk/directives/auto-focus/autofocus.module.ts","ng://@taiga-ui/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Inject,\n Input,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {getClosestElement} from '@taiga-ui/cdk/utils/dom';\nimport {setNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {Observable, race, timer} from 'rxjs';\nimport {filter, map, take, throttleTime} from 'rxjs/operators';\n\nconst IOS_TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = '.ng-animating';\n\n// @bad TODO: Consider removing iOS hacks\n// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string\n@Directive({\n selector: '[tuiAutoFocus]',\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input()\n autoFocus = true;\n\n constructor(\n @Inject(ChangeDetectorRef)\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef)\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n ngAfterViewInit() {\n if (!this.autoFocus) {\n return;\n }\n\n const element =\n this.tuiFocusableComponent === null\n ? this.elementRef.nativeElement\n : this.tuiFocusableComponent.nativeFocusableElement;\n\n // TODO: iframe warning\n if (!(element instanceof HTMLElement)) {\n return;\n }\n\n if (!this.isIos) {\n setTimeout(() => {\n setNativeFocused(element);\n this.changeDetectorRef.markForCheck();\n });\n\n return;\n }\n\n this.veryVerySadIosFix(element);\n }\n\n private veryVerySadIosFix(element: HTMLElement) {\n const {nativeElement} = this.viewContainerRef.element;\n const decoy: HTMLElement = this.renderer.createElement('input');\n\n decoy.style.position = 'absolute';\n decoy.style.opacity = '0';\n decoy.style.height = '0';\n\n this.renderer.setAttribute(decoy, 'readonly', 'readonly');\n this.renderer.appendChild(nativeElement, decoy);\n setNativeFocused(decoy);\n\n race<unknown>(\n timer(IOS_TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => getClosestElement(element, NG_ANIMATION_SELECTOR)),\n filter(element => !element),\n take(1),\n ),\n ).subscribe(() => {\n setTimeout(() => {\n setNativeFocused(element);\n this.changeDetectorRef.markForCheck();\n this.renderer.removeChild(nativeElement, decoy);\n });\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\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-auto-focus.js","sources":["ng://@taiga-ui/cdk/directives/auto-focus/autofocus.directive.ts","ng://@taiga-ui/cdk/directives/auto-focus/autofocus.module.ts","ng://@taiga-ui/cdk/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Inject,\n Input,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {POLLING_TIME} from '@taiga-ui/cdk/constants';\nimport {TuiFocusableElementAccessor} from '@taiga-ui/cdk/interfaces';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS} from '@taiga-ui/cdk/tokens';\nimport {getClosestElement} from '@taiga-ui/cdk/utils/dom';\nimport {setNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {Observable, race, timer} from 'rxjs';\nimport {filter, map, take, throttleTime} from 'rxjs/operators';\n\nconst IOS_TIMEOUT = 1000;\nconst NG_ANIMATION_SELECTOR = '.ng-animating';\n\n// @bad TODO: Consider removing iOS hacks\n// TODO: in 3.0 change input name to tuiAutoFocus and handle empty string\n@Directive({\n selector: '[tuiAutoFocus]',\n})\nexport class TuiAutoFocusDirective implements AfterViewInit {\n @Input()\n autoFocus = true;\n\n constructor(\n @Inject(ChangeDetectorRef)\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Self()\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly tuiFocusableComponent: TuiFocusableElementAccessor | null,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef)\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n ) {}\n\n ngAfterViewInit() {\n if (!this.autoFocus) {\n return;\n }\n\n const element =\n this.tuiFocusableComponent === null\n ? this.elementRef.nativeElement\n : this.tuiFocusableComponent.nativeFocusableElement;\n\n // TODO: iframe warning\n if (!(element instanceof HTMLElement)) {\n return;\n }\n\n if (!this.isIos) {\n setTimeout(() => {\n setNativeFocused(element);\n this.changeDetectorRef.markForCheck();\n });\n\n return;\n }\n\n this.veryVerySadIosFix(element);\n }\n\n private veryVerySadIosFix(element: HTMLElement) {\n const {nativeElement} = this.viewContainerRef.element;\n const decoy: HTMLElement = this.renderer.createElement('input');\n\n decoy.style.position = 'absolute';\n decoy.style.opacity = '0';\n decoy.style.height = '0';\n\n this.renderer.setAttribute(decoy, 'readonly', 'readonly');\n this.renderer.appendChild(nativeElement, decoy);\n setNativeFocused(decoy);\n\n race<unknown>(\n timer(IOS_TIMEOUT),\n this.animationFrame$.pipe(\n throttleTime(POLLING_TIME),\n map(() => getClosestElement(element, NG_ANIMATION_SELECTOR)),\n filter(element => !element),\n take(1),\n ),\n ).subscribe(() => {\n setTimeout(() => {\n setNativeFocused(element);\n this.changeDetectorRef.markForCheck();\n this.renderer.removeChild(nativeElement, decoy);\n });\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutoFocusDirective} from './autofocus.directive';\n\n@NgModule({\n declarations: [TuiAutoFocusDirective],\n exports: [TuiAutoFocusDirective],\n})\nexport class TuiAutoFocusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["ng://@taiga-ui/cdk/directives/autofilled/autofilled.directive.ts","ng://@taiga-ui/cdk/directives/autofilled/autofilled.module.ts","ng://@taiga-ui/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\nimport {map, skip} from 'rxjs/operators';\n\nconst ON = 'tuiAutofillOn';\nconst OFF = 'tuiAutofillOff';\nconst STYLE = `\n@keyframes ${ON} {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n@keyframes ${OFF} {\n from {\n content: '2';\n }\n\n to {\n content: '1';\n }\n}`;\n\n// @dynamic\n@Directive({\n selector: 'input[tuiAutofilledChange]',\n host: {\n class: 'tui-autofill',\n },\n})\nexport class TuiAutofilledDirective {\n @Output()\n readonly tuiAutofilledChange = typedFromEvent(\n this.elementRef.nativeElement,\n 'animationstart',\n ).pipe(\n map(({animationName}) => animationName === ON),\n skip(1),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDirectiveStylesService)\n directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiAutofilledDirective');\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiAutofilledDirective} from './autofilled.directive';\n\n@NgModule({\n declarations: [TuiAutofilledDirective],\n exports: [TuiAutofilledDirective],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,IAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,IAAM,GAAG,GAAG,gBAAgB,CAAC;AAC7B,IAAM,KAAK,GAAG,kBACD,EAAE,gHAUF,GAAG,8FAQd,CAAC;AAEH;;IAiBI,gCACyC,UAAwC,EAE7E,eAA0C;QAFL,eAAU,GAAV,UAAU,CAA8B;QATxE,wBAAmB,GAAG,cAAc,CACzC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,gBAAgB,CACnB,CAAC,IAAI,CACF,GAAG,CAAC,UAAC,EAAe;gBAAd,gCAAa;YAAM,OAAA,aAAa,KAAK,EAAE;SAAA,CAAC,EAC9C,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;QAOE,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;KAC7D;;gBALoD,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBAED,yBAAyB,uBADzC,MAAM,SAAC,yBAAyB;;IAVrC;QADC,MAAM,EAAE;uEAOP;IARO,sBAAsB;QANlC,SAAS,CAAC;YACP,QAAQ,EAAE,4BAA4B;YACtC,IAAI,EAAE;gBACF,KAAK,EAAE,cAAc;aACxB;SACJ,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;OAZ7B,sBAAsB,CAiBlC;IAAD,6BAAC;CAjBD;;;IC5BA;KAAmC;IAAtB,mBAAmB;QAJ/B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["ng://@taiga-ui/cdk/directives/autofilled/autofilled.directive.ts","ng://@taiga-ui/cdk/directives/autofilled/autofilled.module.ts","ng://@taiga-ui/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\nimport {map, skip} from 'rxjs/operators';\n\nconst ON = 'tuiAutofillOn';\nconst OFF = 'tuiAutofillOff';\nconst STYLE = `\n@keyframes ${ON} {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n@keyframes ${OFF} {\n from {\n content: '2';\n }\n\n to {\n content: '1';\n }\n}`;\n\n// @dynamic\n@Directive({\n selector: 'input[tuiAutofilledChange]',\n host: {\n class: 'tui-autofill',\n },\n})\nexport class TuiAutofilledDirective {\n @Output()\n readonly tuiAutofilledChange = typedFromEvent(\n this.elementRef.nativeElement,\n 'animationstart',\n ).pipe(\n map(({animationName}) => animationName === ON),\n skip(1),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDirectiveStylesService)\n directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiAutofilledDirective');\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\n\n@NgModule({\n declarations: [TuiAutofilledDirective],\n exports: [TuiAutofilledDirective],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,IAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,IAAM,GAAG,GAAG,gBAAgB,CAAC;AAC7B,IAAM,KAAK,GAAG,kBACD,EAAE,gHAUF,GAAG,8FAQd,CAAC;AAEH;;IAiBI,gCACyC,UAAwC,EAE7E,eAA0C;QAFL,eAAU,GAAV,UAAU,CAA8B;QATxE,wBAAmB,GAAG,cAAc,CACzC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,gBAAgB,CACnB,CAAC,IAAI,CACF,GAAG,CAAC,UAAC,EAAe;gBAAd,gCAAa;YAAM,OAAA,aAAa,KAAK,EAAE;SAAA,CAAC,EAC9C,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;QAOE,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;KAC7D;;gBALoD,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBAED,yBAAyB,uBADzC,MAAM,SAAC,yBAAyB;;IAVrC;QADC,MAAM,EAAE;uEAOP;IARO,sBAAsB;QANlC,SAAS,CAAC;YACP,QAAQ,EAAE,4BAA4B;YACtC,IAAI,EAAE;gBACF,KAAK,EAAE,cAAc;aACxB;SACJ,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;OAZ7B,sBAAsB,CAiBlC;IAAD,6BAAC;CAjBD;;;IC3BA;KAAmC;IAAtB,mBAAmB;QAJ/B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACRA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["ng://@taiga-ui/cdk/directives/checked/checked.directive.ts","ng://@taiga-ui/cdk/directives/checked/checked.module.ts","ng://@taiga-ui/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: 'input[tuiChecked], input[tuiCheckedChange]',\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked: null | boolean) {\n this.updateProperty('checked', checked || false);\n this.updateProperty('indeterminate', checked === null);\n }\n\n @Output()\n readonly tuiCheckedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef)\n private readonly element: ElementRef<HTMLInputElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n this.updateProperty('checked', false);\n }\n\n @HostListener('change', ['$event.target'])\n onChange({checked}: HTMLInputElement) {\n this.updateProperty('indeterminate', false);\n this.tuiCheckedChange.emit(checked);\n }\n\n private updateProperty(property: 'checked' | 'indeterminate', value: boolean) {\n this.renderer.setProperty(this.element.nativeElement, property, value);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiCheckedDirective} from './checked.directive';\n\n@NgModule({\n declarations: [TuiCheckedDirective],\n exports: [TuiCheckedDirective],\n})\nexport class TuiCheckedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAwBI,6BAEqB,OAAqC,EAClB,QAAmB;QADtC,YAAO,GAAP,OAAO,CAA8B;QAClB,aAAQ,GAAR,QAAQ,CAAW;QALlD,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;QAOpD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAdD,sBAAI,2CAAU;aAAd,UAAe,OAAuB;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;SAC1D;;;OAAA;IAcD,sCAAQ,GAAR,UAAS,EAA2B;YAA1B,oBAAO;QACb,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IAEO,4CAAc,GAAtB,UAAuB,QAAqC,EAAE,KAAc;QACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1E;;gBAd6B,UAAU,uBADnC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAXrB;QADC,KAAK,EAAE;yDAIP;IAGD;QADC,MAAM,EAAE;iEAC+C;IAWxD;QADC,YAAY,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;uDAIzC;IAtBQ,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,4CAA4C;SACzD,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAbb,mBAAmB,CA2B/B;IAAD,0BAAC;CA3BD;;;ICPA;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-checked.js","sources":["ng://@taiga-ui/cdk/directives/checked/checked.directive.ts","ng://@taiga-ui/cdk/directives/checked/checked.module.ts","ng://@taiga-ui/cdk/directives/checked/taiga-ui-cdk-directives-checked.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: 'input[tuiChecked], input[tuiCheckedChange]',\n})\nexport class TuiCheckedDirective {\n @Input()\n set tuiChecked(checked: null | boolean) {\n this.updateProperty('checked', checked || false);\n this.updateProperty('indeterminate', checked === null);\n }\n\n @Output()\n readonly tuiCheckedChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(ElementRef)\n private readonly element: ElementRef<HTMLInputElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n ) {\n this.updateProperty('checked', false);\n }\n\n @HostListener('change', ['$event.target'])\n onChange({checked}: HTMLInputElement) {\n this.updateProperty('indeterminate', false);\n this.tuiCheckedChange.emit(checked);\n }\n\n private updateProperty(property: 'checked' | 'indeterminate', value: boolean) {\n this.renderer.setProperty(this.element.nativeElement, property, value);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCheckedDirective} from './checked.directive';\n\n@NgModule({\n declarations: [TuiCheckedDirective],\n exports: [TuiCheckedDirective],\n})\nexport class TuiCheckedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAwBI,6BAEqB,OAAqC,EAClB,QAAmB;QADtC,YAAO,GAAP,OAAO,CAA8B;QAClB,aAAQ,GAAR,QAAQ,CAAW;QALlD,qBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;QAOpD,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACzC;IAdD,sBAAI,2CAAU;aAAd,UAAe,OAAuB;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;YACjD,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;SAC1D;;;OAAA;IAcD,sCAAQ,GAAR,UAAS,EAA2B;YAA1B,oBAAO;QACb,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;IAEO,4CAAc,GAAtB,UAAuB,QAAqC,EAAE,KAAc;QACxE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC1E;;gBAd6B,UAAU,uBADnC,MAAM,SAAC,UAAU;gBAE4B,SAAS,uBAAtD,MAAM,SAAC,SAAS;;IAXrB;QADC,KAAK,EAAE;yDAIP;IAGD;QADC,MAAM,EAAE;iEAC+C;IAWxD;QADC,YAAY,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAC;uDAIzC;IAtBQ,mBAAmB;QAH/B,SAAS,CAAC;YACP,QAAQ,EAAE,4CAA4C;SACzD,CAAC;QAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAbb,mBAAmB,CA2B/B;IAAD,0BAAC;CA3BD;;;ICNA;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-drag.js","sources":["ng://@taiga-ui/cdk/directives/drag/drag.directive.ts","ng://@taiga-ui/cdk/directives/drag/drag.module.ts","ng://@taiga-ui/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {dragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = dragAndDropFrom(this.elementRef.nativeElement);\n\n @Output('tuiDragStart')\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<Element>,\n ) {}\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDragDirective} from './drag.directive';\n\n@NgModule({\n declarations: [TuiDragDirective],\n exports: [TuiDragDirective],\n})\nexport class TuiDragModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IA6BI,0BAEqB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;QAtBnC,qBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAG1E,UAAK,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/D,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAuB,CAAC,EACjD,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;QAGO,cAAS,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAA2B,CAAC,EACrD,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;QAGO,QAAG,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7D,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAqB,CAAC,EAC/C,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;KAKE;;gBAD6B,UAAU,uBADtC,MAAM,SAAC,UAAU;;IAlBtB;QADC,MAAM,CAAC,cAAc,CAAC;mDAIrB;IAGF;QADC,MAAM,CAAC,kBAAkB,CAAC;uDAIzB;IAGF;QADC,MAAM,CAAC,YAAY,CAAC;iDAInB;IAnBO,gBAAgB;QAH5B,SAAS,CAAC;YACP,QAAQ,EAAE,kDAAkD;SAC/D,CAAC;QAuBO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAtBd,gBAAgB,CAyB5B;IAAD,uBAAC;CAzBD;;;ICDA;KAA6B;IAAhB,aAAa;QAJzB,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-drag.js","sources":["ng://@taiga-ui/cdk/directives/drag/drag.directive.ts","ng://@taiga-ui/cdk/directives/drag/drag.module.ts","ng://@taiga-ui/cdk/directives/drag/taiga-ui-cdk-directives-drag.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {dragAndDropFrom, TuiDragStage} from '@taiga-ui/cdk/observables';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDragStart], [tuiDragContinues], [tuiDragEnd]',\n})\nexport class TuiDragDirective {\n private readonly dragAndDropFrom$ = dragAndDropFrom(this.elementRef.nativeElement);\n\n @Output('tuiDragStart')\n readonly start: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Start),\n map(({event}) => event),\n );\n\n @Output('tuiDragContinues')\n readonly continues: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.Continues),\n map(({event}) => event),\n );\n\n @Output('tuiDragEnd')\n readonly end: Observable<MouseEvent> = this.dragAndDropFrom$.pipe(\n filter(({stage}) => stage === TuiDragStage.End),\n map(({event}) => event),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<Element>,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDragDirective} from './drag.directive';\n\n@NgModule({\n declarations: [TuiDragDirective],\n exports: [TuiDragDirective],\n})\nexport class TuiDragModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;IA6BI,0BAEqB,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;QAtBnC,qBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAG1E,UAAK,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/D,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAuB,CAAC,EACjD,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;QAGO,cAAS,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACnE,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAA2B,CAAC,EACrD,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;QAGO,QAAG,GAA2B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7D,MAAM,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAqB,CAAC,EAC/C,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC,CAC1B,CAAC;KAKE;;gBAD6B,UAAU,uBADtC,MAAM,SAAC,UAAU;;IAlBtB;QADC,MAAM,CAAC,cAAc,CAAC;mDAIrB;IAGF;QADC,MAAM,CAAC,kBAAkB,CAAC;uDAIzB;IAGF;QADC,MAAM,CAAC,YAAY,CAAC;iDAInB;IAnBO,gBAAgB;QAH5B,SAAS,CAAC;YACP,QAAQ,EAAE,kDAAkD;SAC/D,CAAC;QAuBO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAtBd,gBAAgB,CAyB5B;IAAD,uBAAC;CAzBD;;;ICAA;KAA6B;IAAhB,aAAa;QAJzB,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;ACRA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-droppable.js","sources":["ng://@taiga-ui/cdk/directives/droppable/droppable.directive.ts","ng://@taiga-ui/cdk/directives/droppable/droppable.module.ts","ng://@taiga-ui/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = typedFromEvent(nativeElement, 'drop').pipe(\n preventDefault(),\n map(event => event.dataTransfer),\n filter(isPresent),\n );\n\n this.tuiDroppableDragOverChange = typedFromEvent(nativeElement, 'dragenter').pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n typedFromEvent(nativeElement, 'dragleave').pipe(\n filter(event => event.target === target),\n ),\n typedFromEvent(nativeElement, 'drop'),\n ).pipe(mapTo(null), startWith(dataTransfer)),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n typedFromEvent(nativeElement, 'dragover')\n .pipe(preventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;;IAYI,+BACwB,EAAwC,EACjC,QAA0B;YADhC,gCAAa;QAGlC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CACjE,cAAc,EAAE,EAChB,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,YAAY,GAAA,CAAC,EAChC,MAAM,CAAC,SAAS,CAAC,CACpB,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC7E,SAAS,CAAC,UAAC,EAAsB;gBAArB,kBAAM,EAAE,8BAAY;YAC5B,OAAA,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,KAAK,MAAM,GAAA,CAAC,CAC3C,EACD,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CACxC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;SAAA,CAC/C,EACD,oBAAoB,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAC7D,CAAC;;QAGF,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;aACpC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC3C,SAAS,EAAE,CAAC;KACpB;;gBAzBwC,UAAU,uBAA9C,MAAM,SAAC,UAAU;gBACmB,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;;IAP7B;QADC,MAAM,EAAE;sEAC8C;IAGvD;QADC,MAAM,EAAE;6EAC4D;IAL5D,qBAAqB;QAJjC,SAAS,CAAC;YACP,QAAQ,EAAE,qDAAqD;YAC/D,SAAS,EAAE,CAAC,iBAAiB,CAAC;SACjC,CAAC;QASO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OATrB,qBAAqB,CAkCjC;IAAD,4BAAC;CAlCD;;;ICbA;KAAkC;IAArB,kBAAkB;QAJ9B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-droppable.js","sources":["ng://@taiga-ui/cdk/directives/droppable/droppable.directive.ts","ng://@taiga-ui/cdk/directives/droppable/droppable.module.ts","ng://@taiga-ui/cdk/directives/droppable/taiga-ui-cdk-directives-droppable.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {preventDefault, typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDestroyService} from '@taiga-ui/cdk/services';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n mapTo,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDroppableDropped], [tuiDroppableDragOverChange]',\n providers: [TuiDestroyService],\n})\nexport class TuiDroppableDirective {\n @Output()\n readonly tuiDroppableDropped: Observable<DataTransfer>;\n\n @Output()\n readonly tuiDroppableDragOverChange: Observable<DataTransfer | null>;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n ) {\n this.tuiDroppableDropped = typedFromEvent(nativeElement, 'drop').pipe(\n preventDefault(),\n map(event => event.dataTransfer),\n filter(isPresent),\n );\n\n this.tuiDroppableDragOverChange = typedFromEvent(nativeElement, 'dragenter').pipe(\n switchMap(({target, dataTransfer}) =>\n merge(\n typedFromEvent(nativeElement, 'dragleave').pipe(\n filter(event => event.target === target),\n ),\n typedFromEvent(nativeElement, 'drop'),\n ).pipe(mapTo(null), startWith(dataTransfer)),\n ),\n distinctUntilChanged((a, b) => (!!a && !!b) || (!a && !b)),\n );\n\n // Required by Drag and Drop API to stop redirecting\n typedFromEvent(nativeElement, 'dragover')\n .pipe(preventDefault(), takeUntil(destroy$))\n .subscribe();\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiDroppableDirective} from './droppable.directive';\n\n@NgModule({\n declarations: [TuiDroppableDirective],\n exports: [TuiDroppableDirective],\n})\nexport class TuiDroppableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;;IAYI,+BACwB,EAAwC,EACjC,QAA0B;YADhC,gCAAa;QAGlC,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CACjE,cAAc,EAAE,EAChB,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,YAAY,GAAA,CAAC,EAChC,MAAM,CAAC,SAAS,CAAC,CACpB,CAAC;QAEF,IAAI,CAAC,0BAA0B,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC7E,SAAS,CAAC,UAAC,EAAsB;gBAArB,kBAAM,EAAE,8BAAY;YAC5B,OAAA,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,MAAM,KAAK,MAAM,GAAA,CAAC,CAC3C,EACD,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CACxC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;SAAA,CAC/C,EACD,oBAAoB,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAA,CAAC,CAC7D,CAAC;;QAGF,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC;aACpC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC3C,SAAS,EAAE,CAAC;KACpB;;gBAzBwC,UAAU,uBAA9C,MAAM,SAAC,UAAU;gBACmB,UAAU,uBAA9C,MAAM,SAAC,iBAAiB;;IAP7B;QADC,MAAM,EAAE;sEAC8C;IAGvD;QADC,MAAM,EAAE;6EAC4D;IAL5D,qBAAqB;QAJjC,SAAS,CAAC;YACP,QAAQ,EAAE,qDAAqD;YAC/D,SAAS,EAAE,CAAC,iBAAiB,CAAC;SACjC,CAAC;QASO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OATrB,qBAAqB,CAkCjC;IAAD,4BAAC;CAlCD;;;ICZA;KAAkC;IAArB,kBAAkB;QAJ9B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,qBAAqB,CAAC;YACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;SACnC,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACRA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["ng://@taiga-ui/cdk/directives/element/element.directive.ts","ng://@taiga-ui/cdk/directives/element/element.module.ts","ng://@taiga-ui/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: '[tuiElement]',\n exportAs: 'elementRef',\n})\nexport class TuiElementDirective<T extends Element> extends ElementRef<T> {\n constructor(@Inject(ElementRef) {nativeElement}: ElementRef<T>) {\n super(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiElementDirective} from './element.directive';\n\n@NgModule({\n declarations: [TuiElementDirective],\n exports: [TuiElementDirective],\n})\nexport class TuiElementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAM4D,uCAAa;IACrE,6BAAgC,EAA8B;YAA7B,gCAAa;eAC1C,kBAAM,aAAa,CAAC;KACvB;;gBAFgD,UAAU,uBAA9C,MAAM,SAAC,UAAU;;IADrB,mBAAmB;QAJ/B,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,YAAY;SACzB,CAAC;QAEe,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OADtB,mBAAmB,CAI/B;IAAD,0BAAC;CAAA,CAJ2D,UAAU;;;ICCtE;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-cdk-directives-element.js","sources":["ng://@taiga-ui/cdk/directives/element/element.directive.ts","ng://@taiga-ui/cdk/directives/element/element.module.ts","ng://@taiga-ui/cdk/directives/element/taiga-ui-cdk-directives-element.ts"],"sourcesContent":["import {Directive, ElementRef, Inject} from '@angular/core';\n\n@Directive({\n selector: '[tuiElement]',\n exportAs: 'elementRef',\n})\nexport class TuiElementDirective<T extends Element> extends ElementRef<T> {\n constructor(@Inject(ElementRef) {nativeElement}: ElementRef<T>) {\n super(nativeElement);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiElementDirective} from './element.directive';\n\n@NgModule({\n declarations: [TuiElementDirective],\n exports: [TuiElementDirective],\n})\nexport class TuiElementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAM4D,uCAAa;IACrE,6BAAgC,EAA8B;YAA7B,gCAAa;eAC1C,kBAAM,aAAa,CAAC;KACvB;;gBAFgD,UAAU,uBAA9C,MAAM,SAAC,UAAU;;IADrB,mBAAmB;QAJ/B,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,YAAY;SACzB,CAAC;QAEe,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OADtB,mBAAmB,CAI/B;IAAD,0BAAC;CAAA,CAJ2D,UAAU;;;ICEtE;KAAgC;IAAnB,gBAAgB;QAJ5B,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;YACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;SACjC,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACRA;;;;;;"}