@taiga-ui/cdk 2.61.0 → 3.0.0-rc.2

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 (1812) hide show
  1. package/abstract/control.d.ts +5 -1
  2. package/abstract/controller.d.ts +4 -7
  3. package/abstract/dialog.directive.d.ts +3 -0
  4. package/abstract/dialog.service.d.ts +4 -1
  5. package/abstract/interactive.d.ts +6 -19
  6. package/abstract/multiple-control.d.ts +3 -0
  7. package/abstract/nullable-control.d.ts +3 -0
  8. package/abstract/package.json +2 -5
  9. package/abstract/portal-host.d.ts +8 -3
  10. package/abstract/portal-service.d.ts +6 -2
  11. package/abstract/taiga-ui-cdk-abstract.d.ts +1 -0
  12. package/abstract/theme-switcher.d.ts +3 -1
  13. package/bundles/taiga-ui-cdk-abstract.umd.js +567 -497
  14. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-classes.umd.js +7 -13
  16. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-coercion.umd.js +7 -3
  18. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-components-alert-host.umd.js +68 -284
  20. package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +420 -296
  22. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +405 -270
  24. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-components.umd.js +11 -25
  26. package/bundles/taiga-ui-cdk-components.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-constants.umd.js +16 -15
  28. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-date-time.umd.js +370 -464
  30. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-decorators.umd.js +335 -259
  32. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +407 -295
  34. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +454 -337
  36. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +102 -316
  38. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-directives-checked.umd.js +60 -278
  40. package/bundles/taiga-ui-cdk-directives-checked.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +383 -273
  42. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  43. package/bundles/taiga-ui-cdk-directives-drag.umd.js +64 -281
  44. package/bundles/taiga-ui-cdk-directives-drag.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-directives-droppable.umd.js +62 -280
  46. package/bundles/taiga-ui-cdk-directives-droppable.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-directives-element.umd.js +377 -267
  48. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js +75 -288
  50. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js +51 -268
  52. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.js.map +1 -1
  53. package/bundles/taiga-ui-cdk-directives-focusable.umd.js +50 -268
  54. package/bundles/taiga-ui-cdk-directives-focusable.umd.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-directives-focused.umd.js +54 -271
  56. package/bundles/taiga-ui-cdk-directives-focused.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +380 -271
  58. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-directives-for.umd.js +54 -274
  60. package/bundles/taiga-ui-cdk-directives-for.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js +54 -270
  62. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.js.map +1 -1
  63. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +413 -290
  64. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  65. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js +64 -276
  66. package/bundles/taiga-ui-cdk-directives-input-mode.umd.js.map +1 -1
  67. package/bundles/taiga-ui-cdk-directives-item.umd.js +62 -281
  68. package/bundles/taiga-ui-cdk-directives-item.umd.js.map +1 -1
  69. package/bundles/taiga-ui-cdk-directives-let.umd.js +55 -272
  70. package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
  71. package/bundles/taiga-ui-cdk-directives-media.umd.js +434 -321
  72. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  73. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +397 -284
  74. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  75. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js +81 -297
  76. package/bundles/taiga-ui-cdk-directives-overscroll.umd.js.map +1 -1
  77. package/bundles/taiga-ui-cdk-directives-pan.umd.js +51 -268
  78. package/bundles/taiga-ui-cdk-directives-pan.umd.js.map +1 -1
  79. package/bundles/taiga-ui-cdk-directives-portal.umd.js +57 -273
  80. package/bundles/taiga-ui-cdk-directives-portal.umd.js.map +1 -1
  81. package/bundles/taiga-ui-cdk-directives-pressed.umd.js +54 -271
  82. package/bundles/taiga-ui-cdk-directives-pressed.umd.js.map +1 -1
  83. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js +61 -275
  84. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.js.map +1 -1
  85. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +385 -273
  86. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  87. package/bundles/taiga-ui-cdk-directives-resize.umd.js +51 -268
  88. package/bundles/taiga-ui-cdk-directives-resize.umd.js.map +1 -1
  89. package/bundles/taiga-ui-cdk-directives-swipe.umd.js +51 -268
  90. package/bundles/taiga-ui-cdk-directives-swipe.umd.js.map +1 -1
  91. package/bundles/taiga-ui-cdk-directives-validator.umd.js +388 -274
  92. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  93. package/bundles/taiga-ui-cdk-directives-zoom.umd.js +54 -271
  94. package/bundles/taiga-ui-cdk-directives-zoom.umd.js.map +1 -1
  95. package/bundles/taiga-ui-cdk-directives.umd.js +71 -125
  96. package/bundles/taiga-ui-cdk-directives.umd.js.map +1 -1
  97. package/bundles/taiga-ui-cdk-enums.umd.js +14 -62
  98. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  99. package/bundles/taiga-ui-cdk-exceptions.umd.js +341 -298
  100. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  101. package/bundles/taiga-ui-cdk-interfaces.umd.js +2 -2
  102. package/bundles/taiga-ui-cdk-interfaces.umd.js.map +1 -1
  103. package/bundles/taiga-ui-cdk-observables.umd.js +38 -101
  104. package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
  105. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +369 -260
  106. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  107. package/bundles/taiga-ui-cdk-pipes-keys.umd.js +41 -259
  108. package/bundles/taiga-ui-cdk-pipes-keys.umd.js.map +1 -1
  109. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +369 -260
  110. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  111. package/bundles/taiga-ui-cdk-pipes.umd.js +9 -15
  112. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  113. package/bundles/taiga-ui-cdk-services.umd.js +585 -504
  114. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  115. package/bundles/taiga-ui-cdk-tokens.umd.js +392 -289
  116. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  117. package/bundles/taiga-ui-cdk-types.umd.js +2 -2
  118. package/bundles/taiga-ui-cdk-types.umd.js.map +1 -1
  119. package/bundles/taiga-ui-cdk-utils-browser.umd.js +11 -42
  120. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  121. package/bundles/taiga-ui-cdk-utils-color.umd.js +81 -0
  122. package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -0
  123. package/bundles/taiga-ui-cdk-utils-dom.umd.js +65 -130
  124. package/bundles/taiga-ui-cdk-utils-dom.umd.js.map +1 -1
  125. package/bundles/taiga-ui-cdk-utils-focus.umd.js +46 -111
  126. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  127. package/bundles/taiga-ui-cdk-utils-format.umd.js +8 -27
  128. package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
  129. package/bundles/taiga-ui-cdk-utils-math.umd.js +17 -68
  130. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  131. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +363 -105
  132. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  133. package/bundles/taiga-ui-cdk-utils-os.umd.js +11 -23
  134. package/bundles/taiga-ui-cdk-utils-os.umd.js.map +1 -1
  135. package/bundles/taiga-ui-cdk-utils-svg.umd.js +335 -259
  136. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  137. package/bundles/taiga-ui-cdk-utils.umd.js +27 -37
  138. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  139. package/bundles/taiga-ui-cdk.umd.js +47 -65
  140. package/bundles/taiga-ui-cdk.umd.js.map +1 -1
  141. package/classes/assert.d.ts +0 -3
  142. package/classes/package.json +2 -5
  143. package/classes/taiga-ui-cdk-classes.d.ts +1 -0
  144. package/coercion/package.json +2 -5
  145. package/coercion/taiga-ui-cdk-coercion.d.ts +1 -0
  146. package/components/alert-host/alert-host.component.d.ts +3 -0
  147. package/components/alert-host/alert-host.module.d.ts +7 -0
  148. package/components/alert-host/package.json +2 -5
  149. package/components/alert-host/taiga-ui-cdk-components-alert-host.d.ts +1 -0
  150. package/components/dialog-host/dialog-host.component.d.ts +3 -6
  151. package/components/dialog-host/dialog-host.module.d.ts +10 -0
  152. package/components/dialog-host/package.json +2 -5
  153. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.d.ts +1 -0
  154. package/components/dropdown-host/dropdown-host.component.d.ts +3 -0
  155. package/components/dropdown-host/dropdown-host.module.d.ts +5 -0
  156. package/components/dropdown-host/dropdown-portal.service.d.ts +9 -0
  157. package/components/dropdown-host/index.d.ts +1 -0
  158. package/components/dropdown-host/package.json +2 -5
  159. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.d.ts +1 -0
  160. package/components/index.d.ts +0 -1
  161. package/components/package.json +2 -5
  162. package/components/taiga-ui-cdk-components.d.ts +1 -0
  163. package/constants/browser.d.ts +4 -0
  164. package/constants/empty.d.ts +0 -3
  165. package/constants/package.json +2 -5
  166. package/constants/taiga-ui-cdk-constants.d.ts +1 -0
  167. package/constants/version.d.ts +1 -1
  168. package/constants/version.js +2 -1
  169. package/date-time/date-fillers.d.ts +0 -9
  170. package/date-time/day-range.d.ts +5 -12
  171. package/date-time/day.d.ts +1 -18
  172. package/date-time/month-range.d.ts +0 -4
  173. package/date-time/month.d.ts +1 -19
  174. package/date-time/package.json +2 -5
  175. package/date-time/taiga-ui-cdk-date-time.d.ts +1 -0
  176. package/date-time/year.d.ts +1 -17
  177. package/decorators/package.json +2 -5
  178. package/decorators/taiga-ui-cdk-decorators.d.ts +1 -0
  179. package/directives/active-zone/active-zone.directive.d.ts +3 -0
  180. package/directives/active-zone/active-zone.module.d.ts +5 -0
  181. package/directives/active-zone/package.json +2 -5
  182. package/directives/active-zone/taiga-ui-cdk-directives-active-zone.d.ts +1 -0
  183. package/directives/auto-focus/autofocus.directive.d.ts +4 -1
  184. package/directives/auto-focus/autofocus.module.d.ts +5 -0
  185. package/directives/auto-focus/autofocus.options.d.ts +3 -2
  186. package/directives/auto-focus/handlers/abstract.handler.d.ts +3 -0
  187. package/directives/auto-focus/handlers/default.handler.d.ts +3 -0
  188. package/directives/auto-focus/handlers/ios.handler.d.ts +3 -0
  189. package/directives/auto-focus/package.json +2 -5
  190. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.d.ts +1 -0
  191. package/directives/autofilled/autofilled-style.component.d.ts +3 -0
  192. package/directives/autofilled/autofilled.directive.d.ts +3 -0
  193. package/directives/autofilled/autofilled.module.d.ts +6 -0
  194. package/directives/autofilled/package.json +2 -5
  195. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.d.ts +1 -0
  196. package/directives/checked/checked.directive.d.ts +3 -0
  197. package/directives/checked/checked.module.d.ts +5 -0
  198. package/directives/checked/package.json +2 -5
  199. package/directives/checked/taiga-ui-cdk-directives-checked.d.ts +1 -0
  200. package/directives/copy-processor/copy-processor.directive.d.ts +3 -0
  201. package/directives/copy-processor/copy-processor.module.d.ts +5 -0
  202. package/directives/copy-processor/package.json +2 -5
  203. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.d.ts +1 -0
  204. package/directives/drag/drag.directive.d.ts +3 -0
  205. package/directives/drag/drag.module.d.ts +5 -0
  206. package/directives/drag/package.json +2 -5
  207. package/directives/drag/taiga-ui-cdk-directives-drag.d.ts +1 -0
  208. package/directives/droppable/droppable.directive.d.ts +3 -0
  209. package/directives/droppable/droppable.module.d.ts +5 -0
  210. package/directives/droppable/package.json +2 -5
  211. package/directives/droppable/taiga-ui-cdk-directives-droppable.d.ts +1 -0
  212. package/directives/element/element.directive.d.ts +3 -0
  213. package/directives/element/element.module.d.ts +5 -0
  214. package/directives/element/package.json +2 -5
  215. package/directives/element/taiga-ui-cdk-directives-element.d.ts +1 -0
  216. package/directives/focus-trap/focus-trap.directive.d.ts +3 -0
  217. package/directives/focus-trap/focus-trap.module.d.ts +5 -0
  218. package/directives/focus-trap/package.json +2 -5
  219. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.d.ts +1 -0
  220. package/directives/focus-visible/focus-visible.directive.d.ts +3 -1
  221. package/directives/focus-visible/focus-visible.module.d.ts +5 -0
  222. package/directives/focus-visible/package.json +2 -5
  223. package/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.d.ts +1 -0
  224. package/directives/focusable/focusable.directive.d.ts +3 -0
  225. package/directives/focusable/focusable.module.d.ts +5 -0
  226. package/directives/focusable/package.json +2 -5
  227. package/directives/focusable/taiga-ui-cdk-directives-focusable.d.ts +1 -0
  228. package/directives/focused/focused.directive.d.ts +3 -0
  229. package/directives/focused/focused.module.d.ts +5 -0
  230. package/directives/focused/package.json +2 -5
  231. package/directives/focused/taiga-ui-cdk-directives-focused.d.ts +1 -0
  232. package/directives/for/for.directive.d.ts +3 -0
  233. package/directives/for/for.module.d.ts +5 -0
  234. package/directives/for/package.json +2 -5
  235. package/directives/for/taiga-ui-cdk-directives-for.d.ts +1 -0
  236. package/directives/for-async/for-async.directive.d.ts +3 -0
  237. package/directives/for-async/for-async.module.d.ts +5 -0
  238. package/directives/for-async/package.json +2 -5
  239. package/directives/for-async/taiga-ui-cdk-directives-for-async.d.ts +1 -0
  240. package/directives/high-dpi/high-dpi.directive.d.ts +3 -1
  241. package/directives/high-dpi/high-dpi.module.d.ts +5 -0
  242. package/directives/high-dpi/package.json +2 -5
  243. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.d.ts +1 -0
  244. package/directives/hovered/hovered.directive.d.ts +6 -5
  245. package/directives/hovered/hovered.module.d.ts +5 -0
  246. package/directives/hovered/hovered.service.d.ts +11 -0
  247. package/directives/hovered/index.d.ts +1 -0
  248. package/directives/hovered/package.json +2 -5
  249. package/directives/hovered/taiga-ui-cdk-directives-hovered.d.ts +1 -0
  250. package/directives/index.d.ts +1 -0
  251. package/directives/input-mode/input-mode.directive.d.ts +5 -2
  252. package/directives/input-mode/input-mode.module.d.ts +5 -0
  253. package/directives/input-mode/package.json +2 -5
  254. package/directives/input-mode/taiga-ui-cdk-directives-input-mode.d.ts +1 -0
  255. package/directives/item/item.directive.d.ts +4 -2
  256. package/directives/item/item.module.d.ts +5 -0
  257. package/directives/item/package.json +2 -5
  258. package/directives/item/taiga-ui-cdk-directives-item.d.ts +1 -0
  259. package/directives/let/let.directive.d.ts +3 -0
  260. package/directives/let/let.module.d.ts +5 -0
  261. package/directives/let/package.json +2 -5
  262. package/directives/let/taiga-ui-cdk-directives-let.d.ts +1 -0
  263. package/directives/media/media.directive.d.ts +3 -2
  264. package/directives/media/media.module.d.ts +5 -0
  265. package/directives/media/package.json +2 -5
  266. package/directives/media/taiga-ui-cdk-directives-media.d.ts +1 -0
  267. package/directives/obscured/obscured.directive.d.ts +3 -0
  268. package/directives/obscured/obscured.module.d.ts +5 -0
  269. package/directives/obscured/package.json +2 -5
  270. package/directives/obscured/taiga-ui-cdk-directives-obscured.d.ts +1 -0
  271. package/directives/overscroll/overscroll.directive.d.ts +5 -3
  272. package/directives/overscroll/overscroll.module.d.ts +5 -0
  273. package/directives/overscroll/package.json +2 -5
  274. package/directives/overscroll/taiga-ui-cdk-directives-overscroll.d.ts +1 -0
  275. package/directives/package.json +2 -5
  276. package/directives/pan/package.json +2 -5
  277. package/directives/pan/pan.directive.d.ts +3 -0
  278. package/directives/pan/pan.module.d.ts +5 -0
  279. package/directives/pan/taiga-ui-cdk-directives-pan.d.ts +1 -0
  280. package/directives/portal/package.json +2 -5
  281. package/directives/portal/portal.directive.d.ts +5 -2
  282. package/directives/portal/portal.module.d.ts +5 -0
  283. package/directives/portal/taiga-ui-cdk-directives-portal.d.ts +1 -0
  284. package/directives/pressed/package.json +2 -5
  285. package/directives/pressed/pressed.directive.d.ts +3 -0
  286. package/directives/pressed/pressed.module.d.ts +5 -0
  287. package/directives/pressed/taiga-ui-cdk-directives-pressed.d.ts +1 -0
  288. package/directives/prevent-default/package.json +2 -5
  289. package/directives/prevent-default/prevent-default.directive.d.ts +3 -1
  290. package/directives/prevent-default/prevent-default.module.d.ts +5 -0
  291. package/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.d.ts +1 -0
  292. package/directives/repeat-times/package.json +2 -5
  293. package/directives/repeat-times/repeat-times.directive.d.ts +3 -0
  294. package/directives/repeat-times/repeat-times.module.d.ts +5 -0
  295. package/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.d.ts +1 -0
  296. package/directives/resize/package.json +2 -5
  297. package/directives/resize/resize.directive.d.ts +3 -1
  298. package/directives/resize/resize.module.d.ts +5 -0
  299. package/directives/resize/taiga-ui-cdk-directives-resize.d.ts +1 -0
  300. package/directives/swipe/package.json +2 -5
  301. package/directives/swipe/swipe.directive.d.ts +3 -0
  302. package/directives/swipe/swipe.module.d.ts +5 -0
  303. package/directives/swipe/taiga-ui-cdk-directives-swipe.d.ts +1 -0
  304. package/directives/taiga-ui-cdk-directives.d.ts +1 -0
  305. package/directives/validator/package.json +2 -5
  306. package/directives/validator/taiga-ui-cdk-directives-validator.d.ts +1 -0
  307. package/directives/validator/validator.directive.d.ts +3 -0
  308. package/directives/validator/validator.module.d.ts +5 -0
  309. package/directives/zoom/package.json +2 -5
  310. package/directives/zoom/taiga-ui-cdk-directives-zoom.d.ts +1 -0
  311. package/directives/zoom/zoom.directive.d.ts +3 -0
  312. package/directives/zoom/zoom.module.d.ts +5 -0
  313. package/enums/autocomplete.d.ts +0 -10
  314. package/enums/index.d.ts +0 -3
  315. package/enums/package.json +2 -5
  316. package/enums/taiga-ui-cdk-enums.d.ts +1 -0
  317. package/esm2015/abstract/control.js +28 -20
  318. package/esm2015/abstract/controller.js +9 -8
  319. package/esm2015/abstract/dialog.directive.js +19 -16
  320. package/esm2015/abstract/dialog.service.js +13 -12
  321. package/esm2015/abstract/index.js +1 -1
  322. package/esm2015/abstract/interactive.js +41 -83
  323. package/esm2015/abstract/multiple-control.js +9 -8
  324. package/esm2015/abstract/nullable-control.js +9 -8
  325. package/esm2015/abstract/portal-host.js +34 -30
  326. package/esm2015/abstract/portal-service.js +12 -11
  327. package/esm2015/abstract/taiga-ui-cdk-abstract.js +1 -1
  328. package/esm2015/abstract/theme-switcher.js +12 -14
  329. package/esm2015/classes/assert.js +1 -10
  330. package/esm2015/classes/index.js +1 -1
  331. package/esm2015/classes/taiga-ui-cdk-classes.js +1 -1
  332. package/esm2015/classes/validation-error.js +1 -1
  333. package/esm2015/coercion/coerce-boolean-property.js +1 -1
  334. package/esm2015/coercion/index.js +1 -1
  335. package/esm2015/coercion/taiga-ui-cdk-coercion.js +1 -1
  336. package/esm2015/components/alert-host/alert-host.component.js +25 -21
  337. package/esm2015/components/alert-host/alert-host.module.js +15 -12
  338. package/esm2015/components/alert-host/index.js +1 -1
  339. package/esm2015/components/alert-host/taiga-ui-cdk-components-alert-host.js +1 -1
  340. package/esm2015/components/dialog-host/dialog-host.component.js +38 -30
  341. package/esm2015/components/dialog-host/dialog-host.module.js +26 -13
  342. package/esm2015/components/dialog-host/index.js +1 -1
  343. package/esm2015/components/dialog-host/taiga-ui-cdk-components-dialog-host.js +1 -1
  344. package/esm2015/components/dropdown-host/dropdown-host.component.js +26 -18
  345. package/esm2015/components/dropdown-host/dropdown-host.module.js +14 -11
  346. package/esm2015/components/dropdown-host/dropdown-portal.service.js +17 -0
  347. package/esm2015/components/dropdown-host/index.js +2 -1
  348. package/esm2015/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +1 -1
  349. package/esm2015/components/index.js +1 -2
  350. package/esm2015/components/taiga-ui-cdk-components.js +1 -1
  351. package/esm2015/constants/always-false-handler.js +1 -1
  352. package/esm2015/constants/always-true-handler.js +1 -1
  353. package/esm2015/constants/browser.js +5 -1
  354. package/esm2015/constants/empty.js +1 -3
  355. package/esm2015/constants/index.js +1 -1
  356. package/esm2015/constants/matcher.js +1 -1
  357. package/esm2015/constants/parent-animation.js +1 -1
  358. package/esm2015/constants/polling-time.js +1 -1
  359. package/esm2015/constants/stringify.js +1 -1
  360. package/esm2015/constants/svg-node-filter.js +1 -1
  361. package/esm2015/constants/taiga-ui-cdk-constants.js +1 -1
  362. package/esm2015/constants/unicode-chars.js +1 -1
  363. package/esm2015/constants/version.js +2 -2
  364. package/esm2015/date-time/date-fillers.js +1 -17
  365. package/esm2015/date-time/date-format.js +1 -1
  366. package/esm2015/date-time/date-separator.js +1 -1
  367. package/esm2015/date-time/date-time.js +1 -1
  368. package/esm2015/date-time/day-range.js +3 -18
  369. package/esm2015/date-time/day.js +12 -53
  370. package/esm2015/date-time/days.const.js +1 -1
  371. package/esm2015/date-time/index.js +1 -1
  372. package/esm2015/date-time/month-range.js +1 -7
  373. package/esm2015/date-time/month.js +8 -42
  374. package/esm2015/date-time/taiga-ui-cdk-date-time.js +1 -1
  375. package/esm2015/date-time/time.js +8 -9
  376. package/esm2015/date-time/year.js +7 -39
  377. package/esm2015/decorators/default-prop.js +1 -1
  378. package/esm2015/decorators/index.js +1 -1
  379. package/esm2015/decorators/pure.js +1 -1
  380. package/esm2015/decorators/required-setter.js +1 -1
  381. package/esm2015/decorators/taiga-ui-cdk-decorators.js +1 -1
  382. package/esm2015/directives/active-zone/active-zone.directive.js +39 -35
  383. package/esm2015/directives/active-zone/active-zone.module.js +14 -11
  384. package/esm2015/directives/active-zone/index.js +1 -1
  385. package/esm2015/directives/active-zone/taiga-ui-cdk-directives-active-zone.js +1 -1
  386. package/esm2015/directives/auto-focus/autofocus.directive.js +21 -20
  387. package/esm2015/directives/auto-focus/autofocus.module.js +14 -11
  388. package/esm2015/directives/auto-focus/autofocus.options.js +4 -9
  389. package/esm2015/directives/auto-focus/handlers/abstract.handler.js +10 -13
  390. package/esm2015/directives/auto-focus/handlers/default.handler.js +24 -19
  391. package/esm2015/directives/auto-focus/handlers/ios.handler.js +34 -29
  392. package/esm2015/directives/auto-focus/index.js +1 -1
  393. package/esm2015/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.js +1 -1
  394. package/esm2015/directives/autofilled/autofilled-style.component.js +14 -12
  395. package/esm2015/directives/autofilled/autofilled.directive.js +25 -24
  396. package/esm2015/directives/autofilled/autofilled.module.js +15 -12
  397. package/esm2015/directives/autofilled/index.js +1 -1
  398. package/esm2015/directives/autofilled/taiga-ui-cdk-directives-autofilled.js +1 -1
  399. package/esm2015/directives/checked/checked.directive.js +25 -25
  400. package/esm2015/directives/checked/checked.module.js +14 -11
  401. package/esm2015/directives/checked/index.js +1 -1
  402. package/esm2015/directives/checked/taiga-ui-cdk-directives-checked.js +1 -1
  403. package/esm2015/directives/copy-processor/copy-processor.directive.js +21 -19
  404. package/esm2015/directives/copy-processor/copy-processor.module.js +14 -11
  405. package/esm2015/directives/copy-processor/index.js +1 -1
  406. package/esm2015/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +1 -1
  407. package/esm2015/directives/drag/drag.directive.js +26 -25
  408. package/esm2015/directives/drag/drag.module.js +14 -11
  409. package/esm2015/directives/drag/index.js +1 -1
  410. package/esm2015/directives/drag/taiga-ui-cdk-directives-drag.js +1 -1
  411. package/esm2015/directives/droppable/droppable.directive.js +31 -31
  412. package/esm2015/directives/droppable/droppable.module.js +14 -11
  413. package/esm2015/directives/droppable/index.js +1 -1
  414. package/esm2015/directives/droppable/taiga-ui-cdk-directives-droppable.js +1 -1
  415. package/esm2015/directives/element/element.directive.js +16 -15
  416. package/esm2015/directives/element/element.module.js +14 -11
  417. package/esm2015/directives/element/index.js +1 -1
  418. package/esm2015/directives/element/taiga-ui-cdk-directives-element.js +1 -1
  419. package/esm2015/directives/focus-trap/focus-trap.directive.js +45 -40
  420. package/esm2015/directives/focus-trap/focus-trap.module.js +14 -11
  421. package/esm2015/directives/focus-trap/index.js +1 -1
  422. package/esm2015/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.js +1 -1
  423. package/esm2015/directives/focus-visible/focus-visible.directive.js +18 -18
  424. package/esm2015/directives/focus-visible/focus-visible.module.js +14 -11
  425. package/esm2015/directives/focus-visible/index.js +1 -1
  426. package/esm2015/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.js +1 -1
  427. package/esm2015/directives/focusable/focusable.directive.js +18 -16
  428. package/esm2015/directives/focusable/focusable.module.js +14 -11
  429. package/esm2015/directives/focusable/index.js +1 -1
  430. package/esm2015/directives/focusable/taiga-ui-cdk-directives-focusable.js +1 -1
  431. package/esm2015/directives/focused/focused.directive.js +23 -22
  432. package/esm2015/directives/focused/focused.module.js +14 -11
  433. package/esm2015/directives/focused/index.js +1 -1
  434. package/esm2015/directives/focused/taiga-ui-cdk-directives-focused.js +1 -1
  435. package/esm2015/directives/for/for.directive.js +22 -24
  436. package/esm2015/directives/for/for.module.js +14 -11
  437. package/esm2015/directives/for/index.js +1 -1
  438. package/esm2015/directives/for/taiga-ui-cdk-directives-for.js +1 -1
  439. package/esm2015/directives/for-async/for-async.directive.js +21 -21
  440. package/esm2015/directives/for-async/for-async.module.js +14 -11
  441. package/esm2015/directives/for-async/index.js +1 -1
  442. package/esm2015/directives/for-async/taiga-ui-cdk-directives-for-async.js +1 -1
  443. package/esm2015/directives/high-dpi/high-dpi.directive.js +21 -19
  444. package/esm2015/directives/high-dpi/high-dpi.module.js +14 -11
  445. package/esm2015/directives/high-dpi/index.js +1 -1
  446. package/esm2015/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.js +1 -1
  447. package/esm2015/directives/hovered/hovered.directive.js +21 -40
  448. package/esm2015/directives/hovered/hovered.module.js +14 -11
  449. package/esm2015/directives/hovered/hovered.service.js +33 -0
  450. package/esm2015/directives/hovered/index.js +2 -1
  451. package/esm2015/directives/hovered/taiga-ui-cdk-directives-hovered.js +1 -1
  452. package/esm2015/directives/index.js +2 -1
  453. package/esm2015/directives/input-mode/index.js +1 -1
  454. package/esm2015/directives/input-mode/input-mode.directive.js +30 -24
  455. package/esm2015/directives/input-mode/input-mode.module.js +14 -11
  456. package/esm2015/directives/input-mode/taiga-ui-cdk-directives-input-mode.js +1 -1
  457. package/esm2015/directives/item/index.js +1 -1
  458. package/esm2015/directives/item/item.directive.js +13 -12
  459. package/esm2015/directives/item/item.module.js +14 -11
  460. package/esm2015/directives/item/taiga-ui-cdk-directives-item.js +1 -1
  461. package/esm2015/directives/let/index.js +1 -1
  462. package/esm2015/directives/let/let-context.js +1 -1
  463. package/esm2015/directives/let/let.directive.js +20 -19
  464. package/esm2015/directives/let/let.module.js +14 -11
  465. package/esm2015/directives/let/taiga-ui-cdk-directives-let.js +1 -1
  466. package/esm2015/directives/media/index.js +1 -1
  467. package/esm2015/directives/media/media.directive.js +63 -56
  468. package/esm2015/directives/media/media.module.js +14 -11
  469. package/esm2015/directives/media/taiga-ui-cdk-directives-media.js +1 -1
  470. package/esm2015/directives/obscured/index.js +1 -1
  471. package/esm2015/directives/obscured/obscured.directive.js +30 -23
  472. package/esm2015/directives/obscured/obscured.module.js +14 -11
  473. package/esm2015/directives/obscured/taiga-ui-cdk-directives-obscured.js +1 -1
  474. package/esm2015/directives/overscroll/index.js +1 -1
  475. package/esm2015/directives/overscroll/overscroll.directive.js +41 -40
  476. package/esm2015/directives/overscroll/overscroll.module.js +14 -11
  477. package/esm2015/directives/overscroll/taiga-ui-cdk-directives-overscroll.js +1 -1
  478. package/esm2015/directives/pan/index.js +1 -1
  479. package/esm2015/directives/pan/pan.directive.js +18 -18
  480. package/esm2015/directives/pan/pan.module.js +14 -11
  481. package/esm2015/directives/pan/taiga-ui-cdk-directives-pan.js +1 -1
  482. package/esm2015/directives/portal/index.js +1 -1
  483. package/esm2015/directives/portal/portal.directive.js +23 -21
  484. package/esm2015/directives/portal/portal.module.js +14 -11
  485. package/esm2015/directives/portal/taiga-ui-cdk-directives-portal.js +1 -1
  486. package/esm2015/directives/pressed/index.js +1 -1
  487. package/esm2015/directives/pressed/pressed.directive.js +22 -21
  488. package/esm2015/directives/pressed/pressed.module.js +14 -11
  489. package/esm2015/directives/pressed/taiga-ui-cdk-directives-pressed.js +1 -1
  490. package/esm2015/directives/prevent-default/index.js +1 -1
  491. package/esm2015/directives/prevent-default/prevent-default.directive.js +29 -25
  492. package/esm2015/directives/prevent-default/prevent-default.module.js +14 -11
  493. package/esm2015/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.js +1 -1
  494. package/esm2015/directives/repeat-times/index.js +1 -1
  495. package/esm2015/directives/repeat-times/repeat-times.directive.js +23 -19
  496. package/esm2015/directives/repeat-times/repeat-times.module.js +14 -11
  497. package/esm2015/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.js +1 -1
  498. package/esm2015/directives/resize/index.js +1 -1
  499. package/esm2015/directives/resize/resize.directive.js +18 -18
  500. package/esm2015/directives/resize/resize.module.js +14 -11
  501. package/esm2015/directives/resize/taiga-ui-cdk-directives-resize.js +1 -1
  502. package/esm2015/directives/swipe/index.js +1 -1
  503. package/esm2015/directives/swipe/swipe.directive.js +18 -18
  504. package/esm2015/directives/swipe/swipe.module.js +14 -11
  505. package/esm2015/directives/swipe/taiga-ui-cdk-directives-swipe.js +1 -1
  506. package/esm2015/directives/taiga-ui-cdk-directives.js +1 -1
  507. package/esm2015/directives/validator/index.js +1 -1
  508. package/esm2015/directives/validator/taiga-ui-cdk-directives-validator.js +1 -1
  509. package/esm2015/directives/validator/validator.directive.js +27 -18
  510. package/esm2015/directives/validator/validator.module.js +14 -11
  511. package/esm2015/directives/zoom/index.js +1 -1
  512. package/esm2015/directives/zoom/taiga-ui-cdk-directives-zoom.js +1 -1
  513. package/esm2015/directives/zoom/zoom.directive.js +21 -21
  514. package/esm2015/directives/zoom/zoom.module.js +14 -11
  515. package/esm2015/enums/autocomplete.js +1 -11
  516. package/esm2015/enums/day-of-week.js +1 -1
  517. package/esm2015/enums/index.js +1 -4
  518. package/esm2015/enums/month-number.js +1 -1
  519. package/esm2015/enums/taiga-ui-cdk-enums.js +1 -1
  520. package/esm2015/exceptions/computed-document.exception.js +1 -1
  521. package/esm2015/exceptions/document-selection.exception.js +1 -1
  522. package/esm2015/exceptions/index.js +1 -1
  523. package/esm2015/exceptions/invalid-day.exception.js +2 -9
  524. package/esm2015/exceptions/invalid-month.exception.js +2 -9
  525. package/esm2015/exceptions/invalid-year.exception.js +2 -9
  526. package/esm2015/exceptions/no-host.exception.js +1 -1
  527. package/esm2015/exceptions/owner-document.exception.js +1 -1
  528. package/esm2015/exceptions/pure.exception.js +1 -1
  529. package/esm2015/exceptions/table-sort-key.exception.js +1 -1
  530. package/esm2015/exceptions/taiga-ui-cdk-exceptions.js +1 -1
  531. package/esm2015/exceptions/ts-parser.exception.js +1 -1
  532. package/esm2015/exceptions/value-changes.exception.js +1 -1
  533. package/esm2015/exceptions/value-present.exception.js +1 -1
  534. package/esm2015/exceptions/xml-parsing.exception.js +1 -1
  535. package/esm2015/index.js +3 -1
  536. package/esm2015/interfaces/alert-context.js +2 -1
  537. package/esm2015/interfaces/aria-dialog-context.js +2 -1
  538. package/esm2015/interfaces/base-dialog-context.js +2 -1
  539. package/esm2015/interfaces/base-dialog.js +2 -1
  540. package/esm2015/interfaces/context-with-implicit.js +2 -1
  541. package/esm2015/interfaces/control-value-transformer.js +2 -1
  542. package/esm2015/interfaces/day-like.js +2 -1
  543. package/esm2015/interfaces/focusable-element-accessor.js +2 -1
  544. package/esm2015/interfaces/index.js +14 -1
  545. package/esm2015/interfaces/month-like.js +2 -1
  546. package/esm2015/interfaces/swipe.js +2 -1
  547. package/esm2015/interfaces/taiga-ui-cdk-interfaces.js +2 -1
  548. package/esm2015/interfaces/time-like.js +2 -1
  549. package/esm2015/interfaces/year-like.js +2 -1
  550. package/esm2015/interfaces/zoom.js +2 -1
  551. package/esm2015/observables/drag-and-drop-from.js +6 -11
  552. package/esm2015/observables/focus-visible-observable.js +9 -14
  553. package/esm2015/observables/index.js +1 -1
  554. package/esm2015/observables/is-alive.js +1 -1
  555. package/esm2015/observables/items-query-list-observable.js +4 -7
  556. package/esm2015/observables/mouse-drag-finish-from.js +4 -7
  557. package/esm2015/observables/must-be-present.js +4 -9
  558. package/esm2015/observables/pressed-observable.js +5 -10
  559. package/esm2015/observables/prevent-default.js +2 -7
  560. package/esm2015/observables/replay-control-value-changes.js +2 -3
  561. package/esm2015/observables/stop-propagation.js +2 -7
  562. package/esm2015/observables/taiga-ui-cdk-observables.js +1 -1
  563. package/esm2015/observables/typed-from-event.js +2 -7
  564. package/esm2015/observables/watch.js +2 -7
  565. package/esm2015/observables/zone-free.js +1 -1
  566. package/esm2015/pipes/filter/filter.module.js +14 -11
  567. package/esm2015/pipes/filter/filter.pipe.js +10 -8
  568. package/esm2015/pipes/filter/index.js +1 -1
  569. package/esm2015/pipes/filter/taiga-ui-cdk-pipes-filter.js +1 -1
  570. package/esm2015/pipes/index.js +1 -1
  571. package/esm2015/pipes/keys/index.js +1 -1
  572. package/esm2015/pipes/keys/keys.module.js +14 -11
  573. package/esm2015/pipes/keys/keys.pipe.js +10 -8
  574. package/esm2015/pipes/keys/taiga-ui-cdk-pipes-keys.js +1 -1
  575. package/esm2015/pipes/mapper/index.js +1 -1
  576. package/esm2015/pipes/mapper/mapper.module.js +14 -11
  577. package/esm2015/pipes/mapper/mapper.pipe.js +10 -8
  578. package/esm2015/pipes/mapper/taiga-ui-cdk-pipes-mapper.js +1 -1
  579. package/esm2015/pipes/taiga-ui-cdk-pipes.js +1 -1
  580. package/esm2015/services/destroy.service.js +9 -8
  581. package/esm2015/services/directive-styles.service.js +19 -42
  582. package/esm2015/services/focus-visible.service.js +21 -19
  583. package/esm2015/services/id.service.js +12 -13
  584. package/esm2015/services/index.js +1 -2
  585. package/esm2015/services/obscured.service.js +33 -27
  586. package/esm2015/services/pan.service.js +20 -22
  587. package/esm2015/services/parents-scroll.service.js +17 -18
  588. package/esm2015/services/resize.service.js +28 -24
  589. package/esm2015/services/scroll.service.js +22 -23
  590. package/esm2015/services/static-request.service.js +11 -11
  591. package/esm2015/services/swipe.service.js +23 -24
  592. package/esm2015/services/taiga-ui-cdk-services.js +1 -1
  593. package/esm2015/services/zoom.service.js +22 -22
  594. package/esm2015/taiga-ui-cdk.js +1 -1
  595. package/esm2015/tokens/active-element.js +16 -16
  596. package/esm2015/tokens/alerts.js +8 -1
  597. package/esm2015/tokens/default-renderer.js +1 -1
  598. package/esm2015/tokens/dialogs.js +8 -1
  599. package/esm2015/tokens/focusable-item-accessor.js +7 -1
  600. package/esm2015/tokens/index.js +2 -2
  601. package/esm2015/tokens/is-android.js +1 -1
  602. package/esm2015/tokens/is-apple.js +3 -3
  603. package/esm2015/tokens/is-chromium.js +1 -1
  604. package/esm2015/tokens/is-cypress.js +1 -1
  605. package/esm2015/tokens/is-firefox.js +1 -1
  606. package/esm2015/tokens/is-ios.js +3 -3
  607. package/esm2015/tokens/is-mobile.js +1 -1
  608. package/esm2015/tokens/is-webkit.js +1 -1
  609. package/esm2015/tokens/range.js +8 -0
  610. package/esm2015/tokens/removed-element.js +2 -3
  611. package/esm2015/tokens/swipe-options.js +1 -1
  612. package/esm2015/tokens/taiga-ui-cdk-tokens.js +1 -1
  613. package/esm2015/tokens/take-only-trusted-events.js +1 -1
  614. package/esm2015/tokens/touch-supported.js +1 -1
  615. package/esm2015/tokens/window-height.js +3 -3
  616. package/esm2015/tokens/zoom-options.js +1 -1
  617. package/esm2015/types/date-mode.js +2 -1
  618. package/esm2015/types/dialog.js +2 -1
  619. package/esm2015/types/event-with.js +2 -1
  620. package/esm2015/types/handler.js +2 -1
  621. package/esm2015/types/index.js +11 -1
  622. package/esm2015/types/input-mode.js +2 -1
  623. package/esm2015/types/input-type.js +2 -1
  624. package/esm2015/types/mapper.js +2 -1
  625. package/esm2015/types/matcher.js +2 -1
  626. package/esm2015/types/overscroll-mode.js +2 -1
  627. package/esm2015/types/taiga-ui-cdk-types.js +2 -1
  628. package/esm2015/types/time-mode.js +2 -1
  629. package/esm2015/utils/browser/index.js +1 -2
  630. package/esm2015/utils/browser/is-edge-older-than.js +2 -7
  631. package/esm2015/utils/browser/is-edge.js +2 -7
  632. package/esm2015/utils/browser/is-firefox.js +2 -7
  633. package/esm2015/utils/browser/is-safari.js +2 -7
  634. package/esm2015/utils/browser/taiga-ui-cdk-utils-browser.js +1 -1
  635. package/esm2015/utils/color/hex-to-rgb.js +12 -0
  636. package/esm2015/utils/color/hsv-to-rgb.js +11 -0
  637. package/esm2015/utils/color/index.js +6 -0
  638. package/esm2015/utils/color/parse-color.js +27 -0
  639. package/esm2015/utils/color/rgb-to-hex.js +4 -0
  640. package/esm2015/utils/color/rgb-to-hsv.js +7 -0
  641. package/{esm5/directives/for/taiga-ui-cdk-directives-for.js → esm2015/utils/color/taiga-ui-cdk-utils-color.js} +1 -1
  642. package/esm2015/utils/dom/can-scroll.js +2 -7
  643. package/esm2015/utils/dom/contains-or-after.js +2 -7
  644. package/esm2015/utils/dom/element-checks.js +21 -0
  645. package/esm2015/utils/dom/get-actual-target.js +2 -5
  646. package/esm2015/utils/dom/get-clipboard-data-text.js +2 -5
  647. package/esm2015/utils/dom/get-document-or-shadow-root.js +2 -7
  648. package/esm2015/utils/dom/get-element-obscurers.js +14 -17
  649. package/esm2015/utils/dom/get-element-offset.js +4 -7
  650. package/esm2015/utils/dom/get-scroll-parent.js +3 -6
  651. package/esm2015/utils/dom/get-selected-text.js +3 -3
  652. package/esm2015/utils/dom/index.js +3 -5
  653. package/esm2015/utils/dom/is-current-target.js +2 -7
  654. package/esm2015/utils/dom/is-element-editable.js +5 -0
  655. package/esm2015/utils/dom/is-inside-iframe.js +2 -5
  656. package/esm2015/utils/dom/is-node-in.js +7 -10
  657. package/esm2015/utils/dom/point-to-client-rect.js +1 -1
  658. package/esm2015/utils/dom/taiga-ui-cdk-utils-dom.js +1 -1
  659. package/esm2015/utils/focus/blur-native-focused.js +7 -11
  660. package/esm2015/utils/focus/get-closest-focusable.js +26 -0
  661. package/esm2015/utils/focus/get-native-focused.js +4 -6
  662. package/esm2015/utils/focus/index.js +2 -3
  663. package/esm2015/utils/focus/is-native-focused-in.js +4 -7
  664. package/esm2015/utils/focus/is-native-focused.js +4 -7
  665. package/esm2015/utils/focus/is-native-keyboard-focusable.js +4 -7
  666. package/esm2015/utils/focus/is-native-mouse-focusable.js +5 -9
  667. package/esm2015/utils/focus/move-focus.js +5 -9
  668. package/esm2015/utils/focus/set-native-mouse-focused.js +8 -7
  669. package/esm2015/utils/focus/taiga-ui-cdk-utils-focus.js +1 -1
  670. package/esm2015/utils/format/index.js +1 -2
  671. package/esm2015/utils/format/px.js +2 -5
  672. package/esm2015/utils/format/taiga-ui-cdk-utils-format.js +1 -1
  673. package/esm2015/utils/index.js +2 -1
  674. package/esm2015/utils/math/clamp.js +2 -5
  675. package/esm2015/utils/math/in-range.js +2 -12
  676. package/esm2015/utils/math/index.js +1 -1
  677. package/esm2015/utils/math/normalize-to-int-number.js +2 -5
  678. package/esm2015/utils/math/quantize.js +2 -5
  679. package/esm2015/utils/math/round.js +4 -19
  680. package/esm2015/utils/math/sum.js +2 -5
  681. package/esm2015/utils/math/taiga-ui-cdk-utils-math.js +1 -1
  682. package/esm2015/utils/math/to-int.js +2 -7
  683. package/esm2015/utils/math/to-radians.js +2 -5
  684. package/esm2015/utils/miscellaneous/array-remove.js +4 -0
  685. package/esm2015/utils/miscellaneous/array-toggle.js +6 -0
  686. package/esm2015/utils/miscellaneous/distance-between-touches.js +2 -7
  687. package/esm2015/utils/miscellaneous/ease-in-out-quad.js +2 -7
  688. package/esm2015/utils/miscellaneous/flat-length.js +2 -5
  689. package/esm2015/utils/miscellaneous/get-original-array-from-query-list.js +2 -5
  690. package/esm2015/utils/miscellaneous/get-swipe-direction.js +2 -7
  691. package/esm2015/utils/miscellaneous/index.js +4 -4
  692. package/esm2015/utils/miscellaneous/is-number.js +2 -7
  693. package/esm2015/utils/miscellaneous/is-present.js +2 -7
  694. package/esm2015/utils/miscellaneous/is-string.js +4 -0
  695. package/esm2015/utils/miscellaneous/mark-control-as-touched-and-validate.js +4 -9
  696. package/esm2015/utils/miscellaneous/nullable-same.js +2 -5
  697. package/esm2015/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.js +1 -1
  698. package/esm2015/utils/miscellaneous/uniq-by.js +2 -7
  699. package/esm2015/utils/os/index.js +1 -1
  700. package/esm2015/utils/os/is-apple-platform.js +2 -5
  701. package/esm2015/utils/os/is-apple.js +4 -9
  702. package/esm2015/utils/os/is-ios.js +4 -9
  703. package/esm2015/utils/os/taiga-ui-cdk-utils-os.js +1 -1
  704. package/esm2015/utils/svg/index.js +1 -1
  705. package/esm2015/utils/svg/svg-linear-gradient-processor.js +2 -5
  706. package/esm2015/utils/svg/taiga-ui-cdk-utils-svg.js +1 -1
  707. package/esm2015/utils/taiga-ui-cdk-utils.js +1 -1
  708. package/exceptions/invalid-day.exception.d.ts +1 -7
  709. package/exceptions/invalid-month.exception.d.ts +1 -7
  710. package/exceptions/invalid-year.exception.d.ts +1 -7
  711. package/exceptions/package.json +2 -5
  712. package/exceptions/taiga-ui-cdk-exceptions.d.ts +1 -0
  713. package/fesm2015/taiga-ui-cdk-abstract.js +164 -184
  714. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  715. package/fesm2015/taiga-ui-cdk-classes.js +1 -10
  716. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  717. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  718. package/fesm2015/taiga-ui-cdk-components-alert-host.js +38 -29
  719. package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
  720. package/fesm2015/taiga-ui-cdk-components-dialog-host.js +62 -39
  721. package/fesm2015/taiga-ui-cdk-components-dialog-host.js.map +1 -1
  722. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js +53 -27
  723. package/fesm2015/taiga-ui-cdk-components-dropdown-host.js.map +1 -1
  724. package/fesm2015/taiga-ui-cdk-components.js +0 -1
  725. package/fesm2015/taiga-ui-cdk-components.js.map +1 -1
  726. package/fesm2015/taiga-ui-cdk-constants.js +6 -4
  727. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  728. package/fesm2015/taiga-ui-cdk-date-time.js +29 -170
  729. package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
  730. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  731. package/fesm2015/taiga-ui-cdk-directives-active-zone.js +50 -41
  732. package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
  733. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +98 -87
  734. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  735. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +50 -41
  736. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  737. package/fesm2015/taiga-ui-cdk-directives-checked.js +37 -32
  738. package/fesm2015/taiga-ui-cdk-directives-checked.js.map +1 -1
  739. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js +33 -26
  740. package/fesm2015/taiga-ui-cdk-directives-copy-processor.js.map +1 -1
  741. package/fesm2015/taiga-ui-cdk-directives-drag.js +38 -32
  742. package/fesm2015/taiga-ui-cdk-directives-drag.js.map +1 -1
  743. package/fesm2015/taiga-ui-cdk-directives-droppable.js +43 -38
  744. package/fesm2015/taiga-ui-cdk-directives-droppable.js.map +1 -1
  745. package/fesm2015/taiga-ui-cdk-directives-element.js +28 -22
  746. package/fesm2015/taiga-ui-cdk-directives-element.js.map +1 -1
  747. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js +56 -46
  748. package/fesm2015/taiga-ui-cdk-directives-focus-trap.js.map +1 -1
  749. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js +30 -25
  750. package/fesm2015/taiga-ui-cdk-directives-focus-visible.js.map +1 -1
  751. package/fesm2015/taiga-ui-cdk-directives-focusable.js +30 -23
  752. package/fesm2015/taiga-ui-cdk-directives-focusable.js.map +1 -1
  753. package/fesm2015/taiga-ui-cdk-directives-focused.js +35 -29
  754. package/fesm2015/taiga-ui-cdk-directives-focused.js.map +1 -1
  755. package/fesm2015/taiga-ui-cdk-directives-for-async.js +32 -27
  756. package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
  757. package/fesm2015/taiga-ui-cdk-directives-for.js +33 -30
  758. package/fesm2015/taiga-ui-cdk-directives-for.js.map +1 -1
  759. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js +33 -26
  760. package/fesm2015/taiga-ui-cdk-directives-high-dpi.js.map +1 -1
  761. package/fesm2015/taiga-ui-cdk-directives-hovered.js +61 -45
  762. package/fesm2015/taiga-ui-cdk-directives-hovered.js.map +1 -1
  763. package/fesm2015/taiga-ui-cdk-directives-input-mode.js +42 -31
  764. package/fesm2015/taiga-ui-cdk-directives-input-mode.js.map +1 -1
  765. package/fesm2015/taiga-ui-cdk-directives-item.js +24 -18
  766. package/fesm2015/taiga-ui-cdk-directives-item.js.map +1 -1
  767. package/fesm2015/taiga-ui-cdk-directives-let.js +32 -26
  768. package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
  769. package/fesm2015/taiga-ui-cdk-directives-media.js +76 -64
  770. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  771. package/fesm2015/taiga-ui-cdk-directives-obscured.js +42 -30
  772. package/fesm2015/taiga-ui-cdk-directives-obscured.js.map +1 -1
  773. package/fesm2015/taiga-ui-cdk-directives-overscroll.js +53 -47
  774. package/fesm2015/taiga-ui-cdk-directives-overscroll.js.map +1 -1
  775. package/fesm2015/taiga-ui-cdk-directives-pan.js +30 -25
  776. package/fesm2015/taiga-ui-cdk-directives-pan.js.map +1 -1
  777. package/fesm2015/taiga-ui-cdk-directives-portal.js +34 -27
  778. package/fesm2015/taiga-ui-cdk-directives-portal.js.map +1 -1
  779. package/fesm2015/taiga-ui-cdk-directives-pressed.js +34 -28
  780. package/fesm2015/taiga-ui-cdk-directives-pressed.js.map +1 -1
  781. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js +41 -32
  782. package/fesm2015/taiga-ui-cdk-directives-prevent-default.js.map +1 -1
  783. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js +35 -26
  784. package/fesm2015/taiga-ui-cdk-directives-repeat-times.js.map +1 -1
  785. package/fesm2015/taiga-ui-cdk-directives-resize.js +30 -25
  786. package/fesm2015/taiga-ui-cdk-directives-resize.js.map +1 -1
  787. package/fesm2015/taiga-ui-cdk-directives-swipe.js +30 -25
  788. package/fesm2015/taiga-ui-cdk-directives-swipe.js.map +1 -1
  789. package/fesm2015/taiga-ui-cdk-directives-validator.js +39 -25
  790. package/fesm2015/taiga-ui-cdk-directives-validator.js.map +1 -1
  791. package/fesm2015/taiga-ui-cdk-directives-zoom.js +33 -28
  792. package/fesm2015/taiga-ui-cdk-directives-zoom.js.map +1 -1
  793. package/fesm2015/taiga-ui-cdk-directives.js +1 -0
  794. package/fesm2015/taiga-ui-cdk-directives.js.map +1 -1
  795. package/fesm2015/taiga-ui-cdk-enums.js +1 -53
  796. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  797. package/fesm2015/taiga-ui-cdk-exceptions.js +4 -25
  798. package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -1
  799. package/fesm2015/taiga-ui-cdk-interfaces.js.map +1 -1
  800. package/fesm2015/taiga-ui-cdk-observables.js +24 -71
  801. package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
  802. package/fesm2015/taiga-ui-cdk-pipes-filter.js +21 -14
  803. package/fesm2015/taiga-ui-cdk-pipes-filter.js.map +1 -1
  804. package/fesm2015/taiga-ui-cdk-pipes-keys.js +21 -14
  805. package/fesm2015/taiga-ui-cdk-pipes-keys.js.map +1 -1
  806. package/fesm2015/taiga-ui-cdk-pipes-mapper.js +21 -14
  807. package/fesm2015/taiga-ui-cdk-pipes-mapper.js.map +1 -1
  808. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  809. package/fesm2015/taiga-ui-cdk-services.js +213 -235
  810. package/fesm2015/taiga-ui-cdk-services.js.map +1 -1
  811. package/fesm2015/taiga-ui-cdk-tokens.js +47 -25
  812. package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
  813. package/fesm2015/taiga-ui-cdk-types.js.map +1 -1
  814. package/fesm2015/taiga-ui-cdk-utils-browser.js +5 -34
  815. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  816. package/fesm2015/taiga-ui-cdk-utils-color.js +67 -0
  817. package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -0
  818. package/fesm2015/taiga-ui-cdk-utils-dom.js +51 -111
  819. package/fesm2015/taiga-ui-cdk-utils-dom.js.map +1 -1
  820. package/fesm2015/taiga-ui-cdk-utils-focus.js +35 -89
  821. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  822. package/fesm2015/taiga-ui-cdk-utils-format.js +2 -22
  823. package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
  824. package/fesm2015/taiga-ui-cdk-utils-math.js +11 -56
  825. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  826. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +25 -87
  827. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  828. package/fesm2015/taiga-ui-cdk-utils-os.js +6 -19
  829. package/fesm2015/taiga-ui-cdk-utils-os.js.map +1 -1
  830. package/fesm2015/taiga-ui-cdk-utils-svg.js +2 -5
  831. package/fesm2015/taiga-ui-cdk-utils-svg.js.map +1 -1
  832. package/fesm2015/taiga-ui-cdk-utils.js +1 -0
  833. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  834. package/fesm2015/taiga-ui-cdk.js +2 -0
  835. package/fesm2015/taiga-ui-cdk.js.map +1 -1
  836. package/interfaces/package.json +2 -5
  837. package/interfaces/taiga-ui-cdk-interfaces.d.ts +1 -0
  838. package/observables/drag-and-drop-from.d.ts +1 -5
  839. package/observables/focus-visible-observable.d.ts +1 -5
  840. package/observables/items-query-list-observable.d.ts +1 -3
  841. package/observables/mouse-drag-finish-from.d.ts +1 -3
  842. package/observables/must-be-present.d.ts +1 -5
  843. package/observables/package.json +2 -5
  844. package/observables/pressed-observable.d.ts +1 -5
  845. package/observables/prevent-default.d.ts +1 -5
  846. package/observables/replay-control-value-changes.d.ts +1 -2
  847. package/observables/stop-propagation.d.ts +1 -5
  848. package/observables/taiga-ui-cdk-observables.d.ts +1 -0
  849. package/observables/typed-from-event.d.ts +5 -21
  850. package/observables/watch.d.ts +1 -5
  851. package/package.json +10 -14
  852. package/pipes/filter/filter.module.d.ts +5 -0
  853. package/pipes/filter/filter.pipe.d.ts +3 -0
  854. package/pipes/filter/package.json +2 -5
  855. package/pipes/filter/taiga-ui-cdk-pipes-filter.d.ts +1 -0
  856. package/pipes/keys/keys.module.d.ts +5 -0
  857. package/pipes/keys/keys.pipe.d.ts +3 -0
  858. package/pipes/keys/package.json +2 -5
  859. package/pipes/keys/taiga-ui-cdk-pipes-keys.d.ts +1 -0
  860. package/pipes/mapper/mapper.module.d.ts +5 -0
  861. package/pipes/mapper/mapper.pipe.d.ts +3 -0
  862. package/pipes/mapper/package.json +2 -5
  863. package/pipes/mapper/taiga-ui-cdk-pipes-mapper.d.ts +1 -0
  864. package/pipes/package.json +2 -5
  865. package/pipes/taiga-ui-cdk-pipes.d.ts +1 -0
  866. package/schematics/constants/file-globs.js +3 -2
  867. package/schematics/constants/taiga-styles.d.ts +5 -0
  868. package/schematics/constants/taiga-styles.js +8 -0
  869. package/schematics/ng-add/constants/modules.js +1 -0
  870. package/schematics/ng-add/constants/packages.js +1 -0
  871. package/schematics/ng-add/constants/versions.js +1 -0
  872. package/schematics/ng-add/index.js +7 -0
  873. package/schematics/ng-add/schema.d.ts +8 -0
  874. package/schematics/ng-add/schema.json +9 -0
  875. package/schematics/ng-add/steps/add-taiga-icons.d.ts +1 -1
  876. package/schematics/ng-add/steps/add-taiga-icons.js +9 -6
  877. package/schematics/ng-add/steps/add-taiga-modules.js +5 -0
  878. package/schematics/ng-add/steps/add-taiga-styles.d.ts +0 -1
  879. package/schematics/ng-add/steps/add-taiga-styles.js +9 -19
  880. package/schematics/ng-add/steps/wrap-with-tui-root.js +4 -0
  881. package/schematics/ng-update/constants/breakpoints.d.ts +82 -0
  882. package/schematics/ng-update/constants/breakpoints.js +34 -0
  883. package/schematics/ng-update/constants/consts.d.ts +1 -1
  884. package/schematics/ng-update/constants/consts.js +171 -0
  885. package/schematics/ng-update/constants/deprecated-functions.js +2 -36
  886. package/schematics/ng-update/constants/enums.js +12 -0
  887. package/schematics/ng-update/constants/modules.js +1 -0
  888. package/schematics/ng-update/constants/services.js +2 -1
  889. package/schematics/ng-update/constants/templates.d.ts +12 -0
  890. package/schematics/ng-update/constants/templates.js +344 -20
  891. package/schematics/ng-update/constants/tui-interactive-selectors.js +1 -0
  892. package/schematics/ng-update/constants/types.js +1 -0
  893. package/schematics/ng-update/constants/warnings.js +11 -0
  894. package/schematics/ng-update/index.d.ts +2 -11
  895. package/schematics/ng-update/index.js +35 -8
  896. package/schematics/ng-update/steps/migrate-date-time.js +1 -0
  897. package/schematics/ng-update/steps/migrate-polymorpheus.d.ts +8 -0
  898. package/schematics/ng-update/steps/migrate-polymorpheus.js +73 -0
  899. package/schematics/ng-update/steps/migrate-progress.js +1 -0
  900. package/schematics/ng-update/steps/migrate-sliders/index.js +1 -0
  901. package/schematics/ng-update/steps/migrate-sliders/migrate-input-range.js +1 -0
  902. package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +1 -0
  903. package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.d.ts +3 -0
  904. package/schematics/ng-update/steps/migrate-taiga-proprietary-icons.js +51 -0
  905. package/schematics/ng-update/steps/migrate-templates.js +74 -17
  906. package/schematics/ng-update/steps/miscellaneous.js +11 -0
  907. package/schematics/ng-update/steps/remove-module.js +1 -0
  908. package/schematics/ng-update/steps/rename-types.js +1 -0
  909. package/schematics/ng-update/steps/replace-const.js +1 -0
  910. package/schematics/ng-update/steps/replace-deep-import.js +1 -0
  911. package/schematics/ng-update/steps/replace-enums.js +1 -0
  912. package/schematics/ng-update/steps/replace-functions.js +37 -0
  913. package/schematics/ng-update/steps/replace-services.js +1 -0
  914. package/schematics/ng-update/steps/replace-styles.d.ts +1 -0
  915. package/schematics/ng-update/steps/replace-styles.js +18 -0
  916. package/schematics/ng-update/steps/show-warnings.js +7 -3
  917. package/schematics/utils/add-import-to-closest-module.d.ts +1 -0
  918. package/schematics/utils/add-import-to-closest-module.js +18 -0
  919. package/schematics/utils/add-styles.d.ts +7 -0
  920. package/schematics/utils/add-styles.js +26 -0
  921. package/schematics/utils/add-unique-import.js +1 -0
  922. package/schematics/utils/angular/ng-component.js +1 -0
  923. package/schematics/utils/angular/ng-module.js +1 -0
  924. package/schematics/utils/colored-log.d.ts +1 -0
  925. package/schematics/utils/colored-log.js +5 -0
  926. package/schematics/utils/create-angular-json.d.ts +3 -0
  927. package/schematics/utils/create-angular-json.js +29 -0
  928. package/schematics/utils/get-execution-time.js +1 -0
  929. package/schematics/utils/get-named-import-references.js +7 -3
  930. package/schematics/utils/get-project-target-options.js +1 -0
  931. package/schematics/utils/get-project.d.ts +1 -1
  932. package/schematics/utils/get-project.js +1 -4
  933. package/schematics/utils/import-manipulations.js +1 -0
  934. package/schematics/utils/insert-todo.d.ts +1 -0
  935. package/schematics/utils/insert-todo.js +3 -1
  936. package/schematics/utils/progress.js +1 -0
  937. package/schematics/utils/replace-tag.d.ts +3 -0
  938. package/schematics/utils/replace-tag.js +17 -0
  939. package/schematics/utils/templates/elements.d.ts +3 -2
  940. package/schematics/utils/templates/elements.js +13 -7
  941. package/schematics/utils/templates/get-component-templates.js +1 -0
  942. package/schematics/utils/templates/ng-component-input-manipulations.d.ts +1 -1
  943. package/schematics/utils/templates/ng-component-input-manipulations.js +3 -12
  944. package/schematics/utils/templates/template-resource.js +1 -0
  945. package/services/destroy.service.d.ts +3 -0
  946. package/services/directive-styles.service.d.ts +5 -9
  947. package/services/focus-visible.service.d.ts +3 -1
  948. package/services/id.service.d.ts +3 -0
  949. package/services/index.d.ts +0 -1
  950. package/services/obscured.service.d.ts +3 -0
  951. package/services/package.json +2 -5
  952. package/services/pan.service.d.ts +3 -3
  953. package/services/parents-scroll.service.d.ts +3 -0
  954. package/services/resize.service.d.ts +4 -2
  955. package/services/scroll.service.d.ts +3 -0
  956. package/services/static-request.service.d.ts +3 -0
  957. package/services/swipe.service.d.ts +3 -3
  958. package/services/taiga-ui-cdk-services.d.ts +1 -0
  959. package/services/zoom.service.d.ts +3 -0
  960. package/taiga-ui-cdk.d.ts +1 -0
  961. package/tokens/alerts.d.ts +2 -1
  962. package/tokens/dialogs.d.ts +2 -1
  963. package/tokens/focusable-item-accessor.d.ts +2 -1
  964. package/tokens/index.d.ts +1 -1
  965. package/tokens/is-cypress.d.ts +0 -3
  966. package/tokens/package.json +2 -5
  967. package/tokens/range.d.ts +2 -0
  968. package/tokens/taiga-ui-cdk-tokens.d.ts +1 -0
  969. package/types/input-mode.d.ts +1 -1
  970. package/types/input-type.d.ts +1 -1
  971. package/types/overscroll-mode.d.ts +1 -1
  972. package/types/package.json +2 -5
  973. package/types/taiga-ui-cdk-types.d.ts +1 -0
  974. package/utils/browser/index.d.ts +0 -1
  975. package/utils/browser/is-edge-older-than.d.ts +1 -5
  976. package/utils/browser/is-edge.d.ts +1 -5
  977. package/utils/browser/is-firefox.d.ts +1 -5
  978. package/utils/browser/is-safari.d.ts +1 -5
  979. package/utils/browser/package.json +2 -5
  980. package/utils/browser/taiga-ui-cdk-utils-browser.d.ts +1 -0
  981. package/utils/color/hex-to-rgb.d.ts +1 -0
  982. package/utils/color/hsv-to-rgb.d.ts +4 -0
  983. package/utils/color/index.d.ts +5 -0
  984. package/utils/color/package.json +10 -0
  985. package/utils/color/parse-color.d.ts +1 -0
  986. package/utils/color/rgb-to-hex.d.ts +1 -0
  987. package/utils/color/rgb-to-hsv.d.ts +1 -0
  988. package/{components/portal-host/taiga-ui-cdk-components-portal-host.d.ts → utils/color/taiga-ui-cdk-utils-color.d.ts} +1 -0
  989. package/utils/dom/can-scroll.d.ts +1 -5
  990. package/utils/dom/contains-or-after.d.ts +1 -5
  991. package/utils/dom/element-checks.d.ts +6 -0
  992. package/utils/dom/get-actual-target.d.ts +1 -3
  993. package/utils/dom/get-clipboard-data-text.d.ts +1 -3
  994. package/utils/dom/get-document-or-shadow-root.d.ts +1 -5
  995. package/utils/dom/get-element-obscurers.d.ts +1 -3
  996. package/utils/dom/get-element-offset.d.ts +1 -3
  997. package/utils/dom/get-scroll-parent.d.ts +1 -3
  998. package/utils/dom/index.d.ts +2 -4
  999. package/utils/dom/is-current-target.d.ts +1 -5
  1000. package/utils/dom/is-element-editable.d.ts +1 -0
  1001. package/utils/dom/is-inside-iframe.d.ts +1 -3
  1002. package/utils/dom/is-node-in.d.ts +1 -3
  1003. package/utils/dom/package.json +2 -5
  1004. package/utils/dom/taiga-ui-cdk-utils-dom.d.ts +1 -0
  1005. package/utils/focus/blur-native-focused.d.ts +1 -3
  1006. package/utils/focus/get-closest-focusable.d.ts +27 -0
  1007. package/utils/focus/get-native-focused.d.ts +1 -3
  1008. package/utils/focus/index.d.ts +1 -2
  1009. package/utils/focus/is-native-focused-in.d.ts +1 -3
  1010. package/utils/focus/is-native-focused.d.ts +1 -3
  1011. package/utils/focus/is-native-keyboard-focusable.d.ts +1 -3
  1012. package/utils/focus/is-native-mouse-focusable.d.ts +1 -5
  1013. package/utils/focus/move-focus.d.ts +1 -3
  1014. package/utils/focus/package.json +2 -5
  1015. package/utils/focus/set-native-mouse-focused.d.ts +1 -3
  1016. package/utils/focus/taiga-ui-cdk-utils-focus.d.ts +1 -0
  1017. package/utils/format/index.d.ts +0 -1
  1018. package/utils/format/package.json +2 -5
  1019. package/utils/format/px.d.ts +1 -3
  1020. package/utils/format/taiga-ui-cdk-utils-format.d.ts +1 -0
  1021. package/utils/index.d.ts +1 -0
  1022. package/utils/math/clamp.d.ts +1 -3
  1023. package/utils/math/in-range.d.ts +1 -10
  1024. package/utils/math/normalize-to-int-number.d.ts +1 -3
  1025. package/utils/math/package.json +2 -5
  1026. package/utils/math/quantize.d.ts +1 -3
  1027. package/utils/math/round.d.ts +3 -15
  1028. package/utils/math/sum.d.ts +1 -3
  1029. package/utils/math/taiga-ui-cdk-utils-math.d.ts +1 -0
  1030. package/utils/math/to-int.d.ts +1 -5
  1031. package/utils/math/to-radians.d.ts +1 -3
  1032. package/utils/miscellaneous/array-remove.d.ts +1 -0
  1033. package/utils/miscellaneous/array-toggle.d.ts +1 -0
  1034. package/utils/miscellaneous/distance-between-touches.d.ts +1 -5
  1035. package/utils/miscellaneous/ease-in-out-quad.d.ts +1 -5
  1036. package/utils/miscellaneous/flat-length.d.ts +1 -3
  1037. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +1 -3
  1038. package/utils/miscellaneous/get-swipe-direction.d.ts +1 -5
  1039. package/utils/miscellaneous/index.d.ts +3 -3
  1040. package/utils/miscellaneous/is-number.d.ts +1 -5
  1041. package/utils/miscellaneous/is-present.d.ts +1 -5
  1042. package/utils/miscellaneous/is-string.d.ts +1 -0
  1043. package/utils/miscellaneous/mark-control-as-touched-and-validate.d.ts +1 -5
  1044. package/utils/miscellaneous/nullable-same.d.ts +1 -3
  1045. package/utils/miscellaneous/package.json +2 -5
  1046. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.d.ts +1 -0
  1047. package/utils/miscellaneous/uniq-by.d.ts +1 -5
  1048. package/utils/os/is-apple-platform.d.ts +1 -3
  1049. package/utils/os/is-apple.d.ts +1 -5
  1050. package/utils/os/is-ios.d.ts +1 -5
  1051. package/utils/os/package.json +2 -5
  1052. package/utils/os/taiga-ui-cdk-utils-os.d.ts +1 -0
  1053. package/utils/package.json +2 -5
  1054. package/utils/svg/package.json +2 -5
  1055. package/utils/svg/svg-linear-gradient-processor.d.ts +1 -3
  1056. package/utils/svg/taiga-ui-cdk-utils-svg.d.ts +1 -0
  1057. package/utils/taiga-ui-cdk-utils.d.ts +1 -0
  1058. package/abstract/taiga-ui-cdk-abstract.metadata.json +0 -1
  1059. package/bundles/taiga-ui-cdk-abstract.umd.min.js +0 -2
  1060. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +0 -1
  1061. package/bundles/taiga-ui-cdk-classes.umd.min.js +0 -2
  1062. package/bundles/taiga-ui-cdk-classes.umd.min.js.map +0 -1
  1063. package/bundles/taiga-ui-cdk-coercion.umd.min.js +0 -2
  1064. package/bundles/taiga-ui-cdk-coercion.umd.min.js.map +0 -1
  1065. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js +0 -2
  1066. package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +0 -1
  1067. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js +0 -2
  1068. package/bundles/taiga-ui-cdk-components-dialog-host.umd.min.js.map +0 -1
  1069. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js +0 -2
  1070. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.min.js.map +0 -1
  1071. package/bundles/taiga-ui-cdk-components-portal-host.umd.js +0 -279
  1072. package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +0 -1
  1073. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +0 -2
  1074. package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +0 -1
  1075. package/bundles/taiga-ui-cdk-components.umd.min.js +0 -2
  1076. package/bundles/taiga-ui-cdk-components.umd.min.js.map +0 -1
  1077. package/bundles/taiga-ui-cdk-constants.umd.min.js +0 -2
  1078. package/bundles/taiga-ui-cdk-constants.umd.min.js.map +0 -1
  1079. package/bundles/taiga-ui-cdk-date-time.umd.min.js +0 -2
  1080. package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +0 -1
  1081. package/bundles/taiga-ui-cdk-decorators.umd.min.js +0 -2
  1082. package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +0 -1
  1083. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js +0 -2
  1084. package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +0 -1
  1085. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +0 -2
  1086. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +0 -1
  1087. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +0 -2
  1088. package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +0 -1
  1089. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js +0 -2
  1090. package/bundles/taiga-ui-cdk-directives-checked.umd.min.js.map +0 -1
  1091. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js +0 -2
  1092. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.min.js.map +0 -1
  1093. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js +0 -2
  1094. package/bundles/taiga-ui-cdk-directives-drag.umd.min.js.map +0 -1
  1095. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js +0 -2
  1096. package/bundles/taiga-ui-cdk-directives-droppable.umd.min.js.map +0 -1
  1097. package/bundles/taiga-ui-cdk-directives-element.umd.min.js +0 -2
  1098. package/bundles/taiga-ui-cdk-directives-element.umd.min.js.map +0 -1
  1099. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js +0 -2
  1100. package/bundles/taiga-ui-cdk-directives-focus-trap.umd.min.js.map +0 -1
  1101. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js +0 -2
  1102. package/bundles/taiga-ui-cdk-directives-focus-visible.umd.min.js.map +0 -1
  1103. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js +0 -2
  1104. package/bundles/taiga-ui-cdk-directives-focusable.umd.min.js.map +0 -1
  1105. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js +0 -2
  1106. package/bundles/taiga-ui-cdk-directives-focused.umd.min.js.map +0 -1
  1107. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js +0 -2
  1108. package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js.map +0 -1
  1109. package/bundles/taiga-ui-cdk-directives-for.umd.min.js +0 -2
  1110. package/bundles/taiga-ui-cdk-directives-for.umd.min.js.map +0 -1
  1111. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js +0 -2
  1112. package/bundles/taiga-ui-cdk-directives-high-dpi.umd.min.js.map +0 -1
  1113. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js +0 -2
  1114. package/bundles/taiga-ui-cdk-directives-hovered.umd.min.js.map +0 -1
  1115. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js +0 -2
  1116. package/bundles/taiga-ui-cdk-directives-input-mode.umd.min.js.map +0 -1
  1117. package/bundles/taiga-ui-cdk-directives-item.umd.min.js +0 -2
  1118. package/bundles/taiga-ui-cdk-directives-item.umd.min.js.map +0 -1
  1119. package/bundles/taiga-ui-cdk-directives-let.umd.min.js +0 -2
  1120. package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +0 -1
  1121. package/bundles/taiga-ui-cdk-directives-media.umd.min.js +0 -2
  1122. package/bundles/taiga-ui-cdk-directives-media.umd.min.js.map +0 -1
  1123. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js +0 -2
  1124. package/bundles/taiga-ui-cdk-directives-obscured.umd.min.js.map +0 -1
  1125. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js +0 -2
  1126. package/bundles/taiga-ui-cdk-directives-overscroll.umd.min.js.map +0 -1
  1127. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js +0 -2
  1128. package/bundles/taiga-ui-cdk-directives-pan.umd.min.js.map +0 -1
  1129. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js +0 -2
  1130. package/bundles/taiga-ui-cdk-directives-portal.umd.min.js.map +0 -1
  1131. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js +0 -2
  1132. package/bundles/taiga-ui-cdk-directives-pressed.umd.min.js.map +0 -1
  1133. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js +0 -2
  1134. package/bundles/taiga-ui-cdk-directives-prevent-default.umd.min.js.map +0 -1
  1135. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js +0 -2
  1136. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.min.js.map +0 -1
  1137. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js +0 -2
  1138. package/bundles/taiga-ui-cdk-directives-resize.umd.min.js.map +0 -1
  1139. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js +0 -2
  1140. package/bundles/taiga-ui-cdk-directives-swipe.umd.min.js.map +0 -1
  1141. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js +0 -2
  1142. package/bundles/taiga-ui-cdk-directives-validator.umd.min.js.map +0 -1
  1143. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js +0 -2
  1144. package/bundles/taiga-ui-cdk-directives-zoom.umd.min.js.map +0 -1
  1145. package/bundles/taiga-ui-cdk-directives.umd.min.js +0 -2
  1146. package/bundles/taiga-ui-cdk-directives.umd.min.js.map +0 -1
  1147. package/bundles/taiga-ui-cdk-enums.umd.min.js +0 -2
  1148. package/bundles/taiga-ui-cdk-enums.umd.min.js.map +0 -1
  1149. package/bundles/taiga-ui-cdk-exceptions.umd.min.js +0 -2
  1150. package/bundles/taiga-ui-cdk-exceptions.umd.min.js.map +0 -1
  1151. package/bundles/taiga-ui-cdk-interfaces.umd.min.js +0 -2
  1152. package/bundles/taiga-ui-cdk-interfaces.umd.min.js.map +0 -1
  1153. package/bundles/taiga-ui-cdk-observables.umd.min.js +0 -2
  1154. package/bundles/taiga-ui-cdk-observables.umd.min.js.map +0 -1
  1155. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js +0 -2
  1156. package/bundles/taiga-ui-cdk-pipes-filter.umd.min.js.map +0 -1
  1157. package/bundles/taiga-ui-cdk-pipes-keys.umd.min.js +0 -2
  1158. package/bundles/taiga-ui-cdk-pipes-keys.umd.min.js.map +0 -1
  1159. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js +0 -2
  1160. package/bundles/taiga-ui-cdk-pipes-mapper.umd.min.js.map +0 -1
  1161. package/bundles/taiga-ui-cdk-pipes.umd.min.js +0 -2
  1162. package/bundles/taiga-ui-cdk-pipes.umd.min.js.map +0 -1
  1163. package/bundles/taiga-ui-cdk-services.umd.min.js +0 -2
  1164. package/bundles/taiga-ui-cdk-services.umd.min.js.map +0 -1
  1165. package/bundles/taiga-ui-cdk-tokens.umd.min.js +0 -2
  1166. package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +0 -1
  1167. package/bundles/taiga-ui-cdk-types.umd.min.js +0 -2
  1168. package/bundles/taiga-ui-cdk-types.umd.min.js.map +0 -1
  1169. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +0 -2
  1170. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +0 -1
  1171. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js +0 -2
  1172. package/bundles/taiga-ui-cdk-utils-dom.umd.min.js.map +0 -1
  1173. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +0 -2
  1174. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +0 -1
  1175. package/bundles/taiga-ui-cdk-utils-format.umd.min.js +0 -2
  1176. package/bundles/taiga-ui-cdk-utils-format.umd.min.js.map +0 -1
  1177. package/bundles/taiga-ui-cdk-utils-math.umd.min.js +0 -2
  1178. package/bundles/taiga-ui-cdk-utils-math.umd.min.js.map +0 -1
  1179. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js +0 -2
  1180. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.min.js.map +0 -1
  1181. package/bundles/taiga-ui-cdk-utils-os.umd.min.js +0 -2
  1182. package/bundles/taiga-ui-cdk-utils-os.umd.min.js.map +0 -1
  1183. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js +0 -2
  1184. package/bundles/taiga-ui-cdk-utils-svg.umd.min.js.map +0 -1
  1185. package/bundles/taiga-ui-cdk-utils.umd.min.js +0 -2
  1186. package/bundles/taiga-ui-cdk-utils.umd.min.js.map +0 -1
  1187. package/bundles/taiga-ui-cdk.umd.min.js +0 -2
  1188. package/bundles/taiga-ui-cdk.umd.min.js.map +0 -1
  1189. package/classes/taiga-ui-cdk-classes.metadata.json +0 -1
  1190. package/coercion/taiga-ui-cdk-coercion.metadata.json +0 -1
  1191. package/components/alert-host/taiga-ui-cdk-components-alert-host.metadata.json +0 -1
  1192. package/components/dialog-host/taiga-ui-cdk-components-dialog-host.metadata.json +0 -1
  1193. package/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.metadata.json +0 -1
  1194. package/components/portal-host/index.d.ts +0 -1
  1195. package/components/portal-host/package.json +0 -13
  1196. package/components/portal-host/portal.service.d.ts +0 -7
  1197. package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +0 -1
  1198. package/components/taiga-ui-cdk-components.metadata.json +0 -1
  1199. package/constants/taiga-ui-cdk-constants.metadata.json +0 -1
  1200. package/date-time/taiga-ui-cdk-date-time.metadata.json +0 -1
  1201. package/decorators/taiga-ui-cdk-decorators.metadata.json +0 -1
  1202. package/directives/active-zone/taiga-ui-cdk-directives-active-zone.metadata.json +0 -1
  1203. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +0 -1
  1204. package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +0 -1
  1205. package/directives/checked/taiga-ui-cdk-directives-checked.metadata.json +0 -1
  1206. package/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.metadata.json +0 -1
  1207. package/directives/drag/taiga-ui-cdk-directives-drag.metadata.json +0 -1
  1208. package/directives/droppable/taiga-ui-cdk-directives-droppable.metadata.json +0 -1
  1209. package/directives/element/taiga-ui-cdk-directives-element.metadata.json +0 -1
  1210. package/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.metadata.json +0 -1
  1211. package/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.metadata.json +0 -1
  1212. package/directives/focusable/taiga-ui-cdk-directives-focusable.metadata.json +0 -1
  1213. package/directives/focused/taiga-ui-cdk-directives-focused.metadata.json +0 -1
  1214. package/directives/for/taiga-ui-cdk-directives-for.metadata.json +0 -1
  1215. package/directives/for-async/taiga-ui-cdk-directives-for-async.metadata.json +0 -1
  1216. package/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.metadata.json +0 -1
  1217. package/directives/hovered/taiga-ui-cdk-directives-hovered.metadata.json +0 -1
  1218. package/directives/input-mode/taiga-ui-cdk-directives-input-mode.metadata.json +0 -1
  1219. package/directives/item/taiga-ui-cdk-directives-item.metadata.json +0 -1
  1220. package/directives/let/taiga-ui-cdk-directives-let.metadata.json +0 -1
  1221. package/directives/media/taiga-ui-cdk-directives-media.metadata.json +0 -1
  1222. package/directives/obscured/taiga-ui-cdk-directives-obscured.metadata.json +0 -1
  1223. package/directives/overscroll/taiga-ui-cdk-directives-overscroll.metadata.json +0 -1
  1224. package/directives/pan/taiga-ui-cdk-directives-pan.metadata.json +0 -1
  1225. package/directives/portal/taiga-ui-cdk-directives-portal.metadata.json +0 -1
  1226. package/directives/pressed/taiga-ui-cdk-directives-pressed.metadata.json +0 -1
  1227. package/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.metadata.json +0 -1
  1228. package/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.metadata.json +0 -1
  1229. package/directives/resize/taiga-ui-cdk-directives-resize.metadata.json +0 -1
  1230. package/directives/swipe/taiga-ui-cdk-directives-swipe.metadata.json +0 -1
  1231. package/directives/taiga-ui-cdk-directives.metadata.json +0 -1
  1232. package/directives/validator/taiga-ui-cdk-directives-validator.metadata.json +0 -1
  1233. package/directives/zoom/taiga-ui-cdk-directives-zoom.metadata.json +0 -1
  1234. package/enums/input-mode.d.ts +0 -13
  1235. package/enums/input-type.d.ts +0 -10
  1236. package/enums/overscroll-mode.d.ts +0 -13
  1237. package/enums/taiga-ui-cdk-enums.metadata.json +0 -1
  1238. package/esm2015/components/portal-host/index.js +0 -2
  1239. package/esm2015/components/portal-host/portal.service.js +0 -18
  1240. package/esm2015/components/portal-host/taiga-ui-cdk-components-portal-host.js +0 -5
  1241. package/esm2015/enums/input-mode.js +0 -15
  1242. package/esm2015/enums/input-type.js +0 -12
  1243. package/esm2015/enums/overscroll-mode.js +0 -15
  1244. package/esm2015/services/hovered.service.js +0 -34
  1245. package/esm2015/tokens/sanitizer.js +0 -4
  1246. package/esm2015/utils/browser/is-ie.js +0 -9
  1247. package/esm2015/utils/dom/custom-event.js +0 -10
  1248. package/esm2015/utils/dom/get-closest-element.js +0 -20
  1249. package/esm2015/utils/dom/is-element.js +0 -5
  1250. package/esm2015/utils/dom/is-form-field.js +0 -8
  1251. package/esm2015/utils/focus/get-closest-keyboard-focusable.js +0 -40
  1252. package/esm2015/utils/focus/set-native-focused.js +0 -19
  1253. package/esm2015/utils/format/pad-start.js +0 -17
  1254. package/esm2015/utils/miscellaneous/fallback-value.js +0 -12
  1255. package/esm2015/utils/miscellaneous/identity.js +0 -8
  1256. package/esm2015/utils/miscellaneous/is-element-editable.js +0 -12
  1257. package/esm5/abstract/control.js +0 -247
  1258. package/esm5/abstract/controller.js +0 -25
  1259. package/esm5/abstract/dialog.directive.js +0 -44
  1260. package/esm5/abstract/dialog.service.js +0 -39
  1261. package/esm5/abstract/index.js +0 -11
  1262. package/esm5/abstract/interactive.js +0 -172
  1263. package/esm5/abstract/multiple-control.js +0 -21
  1264. package/esm5/abstract/nullable-control.js +0 -18
  1265. package/esm5/abstract/portal-host.js +0 -50
  1266. package/esm5/abstract/portal-service.js +0 -42
  1267. package/esm5/abstract/taiga-ui-cdk-abstract.js +0 -5
  1268. package/esm5/abstract/theme-switcher.js +0 -55
  1269. package/esm5/classes/assert.js +0 -19
  1270. package/esm5/classes/index.js +0 -3
  1271. package/esm5/classes/taiga-ui-cdk-classes.js +0 -5
  1272. package/esm5/classes/validation-error.js +0 -10
  1273. package/esm5/coercion/coerce-boolean-property.js +0 -10
  1274. package/esm5/coercion/index.js +0 -2
  1275. package/esm5/coercion/taiga-ui-cdk-coercion.js +0 -5
  1276. package/esm5/components/alert-host/alert-host.component.js +0 -42
  1277. package/esm5/components/alert-host/alert-host.module.js +0 -19
  1278. package/esm5/components/alert-host/index.js +0 -3
  1279. package/esm5/components/alert-host/taiga-ui-cdk-components-alert-host.js +0 -5
  1280. package/esm5/components/dialog-host/dialog-host.component.js +0 -77
  1281. package/esm5/components/dialog-host/dialog-host.module.js +0 -28
  1282. package/esm5/components/dialog-host/index.js +0 -3
  1283. package/esm5/components/dialog-host/taiga-ui-cdk-components-dialog-host.js +0 -5
  1284. package/esm5/components/dropdown-host/dropdown-host.component.js +0 -34
  1285. package/esm5/components/dropdown-host/dropdown-host.module.js +0 -16
  1286. package/esm5/components/dropdown-host/index.js +0 -3
  1287. package/esm5/components/dropdown-host/taiga-ui-cdk-components-dropdown-host.js +0 -5
  1288. package/esm5/components/index.js +0 -5
  1289. package/esm5/components/portal-host/index.js +0 -2
  1290. package/esm5/components/portal-host/portal.service.js +0 -23
  1291. package/esm5/components/portal-host/taiga-ui-cdk-components-portal-host.js +0 -5
  1292. package/esm5/components/taiga-ui-cdk-components.js +0 -5
  1293. package/esm5/constants/always-false-handler.js +0 -5
  1294. package/esm5/constants/always-true-handler.js +0 -5
  1295. package/esm5/constants/browser.js +0 -2
  1296. package/esm5/constants/empty.js +0 -20
  1297. package/esm5/constants/index.js +0 -12
  1298. package/esm5/constants/matcher.js +0 -35
  1299. package/esm5/constants/parent-animation.js +0 -8
  1300. package/esm5/constants/polling-time.js +0 -2
  1301. package/esm5/constants/stringify.js +0 -5
  1302. package/esm5/constants/svg-node-filter.js +0 -8
  1303. package/esm5/constants/taiga-ui-cdk-constants.js +0 -5
  1304. package/esm5/constants/unicode-chars.js +0 -64
  1305. package/esm5/constants/version.js +0 -2
  1306. package/esm5/date-time/date-fillers.js +0 -31
  1307. package/esm5/date-time/date-format.js +0 -5
  1308. package/esm5/date-time/date-separator.js +0 -6
  1309. package/esm5/date-time/date-time.js +0 -19
  1310. package/esm5/date-time/day-range.js +0 -111
  1311. package/esm5/date-time/day.js +0 -350
  1312. package/esm5/date-time/days.const.js +0 -5
  1313. package/esm5/date-time/index.js +0 -12
  1314. package/esm5/date-time/month-range.js +0 -43
  1315. package/esm5/date-time/month.js +0 -209
  1316. package/esm5/date-time/taiga-ui-cdk-date-time.js +0 -5
  1317. package/esm5/date-time/time.js +0 -134
  1318. package/esm5/date-time/year.js +0 -168
  1319. package/esm5/decorators/default-prop.js +0 -62
  1320. package/esm5/decorators/index.js +0 -4
  1321. package/esm5/decorators/pure.js +0 -55
  1322. package/esm5/decorators/required-setter.js +0 -39
  1323. package/esm5/decorators/taiga-ui-cdk-decorators.js +0 -5
  1324. package/esm5/directives/active-zone/active-zone.directive.js +0 -92
  1325. package/esm5/directives/active-zone/active-zone.module.js +0 -16
  1326. package/esm5/directives/active-zone/index.js +0 -3
  1327. package/esm5/directives/active-zone/taiga-ui-cdk-directives-active-zone.js +0 -5
  1328. package/esm5/directives/auto-focus/autofocus.directive.js +0 -31
  1329. package/esm5/directives/auto-focus/autofocus.module.js +0 -16
  1330. package/esm5/directives/auto-focus/autofocus.options.js +0 -29
  1331. package/esm5/directives/auto-focus/handlers/abstract.handler.js +0 -34
  1332. package/esm5/directives/auto-focus/handlers/default.handler.js +0 -43
  1333. package/esm5/directives/auto-focus/handlers/ios.handler.js +0 -137
  1334. package/esm5/directives/auto-focus/index.js +0 -7
  1335. package/esm5/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.js +0 -5
  1336. package/esm5/directives/autofilled/autofilled-style.component.js +0 -16
  1337. package/esm5/directives/autofilled/autofilled.directive.js +0 -42
  1338. package/esm5/directives/autofilled/autofilled.module.js +0 -18
  1339. package/esm5/directives/autofilled/index.js +0 -4
  1340. package/esm5/directives/autofilled/taiga-ui-cdk-directives-autofilled.js +0 -5
  1341. package/esm5/directives/checked/checked.directive.js +0 -49
  1342. package/esm5/directives/checked/checked.module.js +0 -16
  1343. package/esm5/directives/checked/index.js +0 -3
  1344. package/esm5/directives/checked/taiga-ui-cdk-directives-checked.js +0 -5
  1345. package/esm5/directives/copy-processor/copy-processor.directive.js +0 -39
  1346. package/esm5/directives/copy-processor/copy-processor.module.js +0 -16
  1347. package/esm5/directives/copy-processor/index.js +0 -3
  1348. package/esm5/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.js +0 -5
  1349. package/esm5/directives/drag/drag.directive.js +0 -52
  1350. package/esm5/directives/drag/drag.module.js +0 -16
  1351. package/esm5/directives/drag/index.js +0 -3
  1352. package/esm5/directives/drag/taiga-ui-cdk-directives-drag.js +0 -5
  1353. package/esm5/directives/droppable/droppable.directive.js +0 -43
  1354. package/esm5/directives/droppable/droppable.module.js +0 -16
  1355. package/esm5/directives/droppable/index.js +0 -3
  1356. package/esm5/directives/droppable/taiga-ui-cdk-directives-droppable.js +0 -5
  1357. package/esm5/directives/element/element.directive.js +0 -22
  1358. package/esm5/directives/element/element.module.js +0 -16
  1359. package/esm5/directives/element/index.js +0 -3
  1360. package/esm5/directives/element/taiga-ui-cdk-directives-element.js +0 -5
  1361. package/esm5/directives/focus-trap/focus-trap.directive.js +0 -78
  1362. package/esm5/directives/focus-trap/focus-trap.module.js +0 -16
  1363. package/esm5/directives/focus-trap/index.js +0 -3
  1364. package/esm5/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.js +0 -5
  1365. package/esm5/directives/focus-visible/focus-visible.directive.js +0 -29
  1366. package/esm5/directives/focus-visible/focus-visible.module.js +0 -16
  1367. package/esm5/directives/focus-visible/index.js +0 -3
  1368. package/esm5/directives/focus-visible/taiga-ui-cdk-directives-focus-visible.js +0 -5
  1369. package/esm5/directives/focusable/focusable.directive.js +0 -34
  1370. package/esm5/directives/focusable/focusable.module.js +0 -16
  1371. package/esm5/directives/focusable/index.js +0 -3
  1372. package/esm5/directives/focusable/taiga-ui-cdk-directives-focusable.js +0 -5
  1373. package/esm5/directives/focused/focused.directive.js +0 -34
  1374. package/esm5/directives/focused/focused.module.js +0 -16
  1375. package/esm5/directives/focused/index.js +0 -3
  1376. package/esm5/directives/focused/taiga-ui-cdk-directives-focused.js +0 -5
  1377. package/esm5/directives/for/for.directive.js +0 -39
  1378. package/esm5/directives/for/for.module.js +0 -16
  1379. package/esm5/directives/for/index.js +0 -3
  1380. package/esm5/directives/for-async/for-async.directive.js +0 -53
  1381. package/esm5/directives/for-async/for-async.module.js +0 -19
  1382. package/esm5/directives/for-async/index.js +0 -3
  1383. package/esm5/directives/for-async/taiga-ui-cdk-directives-for-async.js +0 -5
  1384. package/esm5/directives/high-dpi/high-dpi.directive.js +0 -31
  1385. package/esm5/directives/high-dpi/high-dpi.module.js +0 -16
  1386. package/esm5/directives/high-dpi/index.js +0 -3
  1387. package/esm5/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.js +0 -5
  1388. package/esm5/directives/hovered/hovered.directive.js +0 -44
  1389. package/esm5/directives/hovered/hovered.module.js +0 -16
  1390. package/esm5/directives/hovered/index.js +0 -3
  1391. package/esm5/directives/hovered/taiga-ui-cdk-directives-hovered.js +0 -5
  1392. package/esm5/directives/index.js +0 -31
  1393. package/esm5/directives/input-mode/index.js +0 -3
  1394. package/esm5/directives/input-mode/input-mode.directive.js +0 -44
  1395. package/esm5/directives/input-mode/input-mode.module.js +0 -16
  1396. package/esm5/directives/input-mode/taiga-ui-cdk-directives-input-mode.js +0 -5
  1397. package/esm5/directives/item/index.js +0 -3
  1398. package/esm5/directives/item/item.directive.js +0 -18
  1399. package/esm5/directives/item/item.module.js +0 -16
  1400. package/esm5/directives/item/taiga-ui-cdk-directives-item.js +0 -5
  1401. package/esm5/directives/let/index.js +0 -4
  1402. package/esm5/directives/let/let-context.js +0 -25
  1403. package/esm5/directives/let/let.directive.js +0 -38
  1404. package/esm5/directives/let/let.module.js +0 -16
  1405. package/esm5/directives/let/taiga-ui-cdk-directives-let.js +0 -5
  1406. package/esm5/directives/media/index.js +0 -3
  1407. package/esm5/directives/media/media.directive.js +0 -130
  1408. package/esm5/directives/media/media.module.js +0 -16
  1409. package/esm5/directives/media/taiga-ui-cdk-directives-media.js +0 -5
  1410. package/esm5/directives/obscured/index.js +0 -3
  1411. package/esm5/directives/obscured/obscured.directive.js +0 -53
  1412. package/esm5/directives/obscured/obscured.module.js +0 -16
  1413. package/esm5/directives/obscured/taiga-ui-cdk-directives-obscured.js +0 -5
  1414. package/esm5/directives/overscroll/index.js +0 -3
  1415. package/esm5/directives/overscroll/overscroll.directive.js +0 -112
  1416. package/esm5/directives/overscroll/overscroll.module.js +0 -16
  1417. package/esm5/directives/overscroll/taiga-ui-cdk-directives-overscroll.js +0 -5
  1418. package/esm5/directives/pan/index.js +0 -3
  1419. package/esm5/directives/pan/pan.directive.js +0 -24
  1420. package/esm5/directives/pan/pan.module.js +0 -19
  1421. package/esm5/directives/pan/taiga-ui-cdk-directives-pan.js +0 -5
  1422. package/esm5/directives/portal/index.js +0 -3
  1423. package/esm5/directives/portal/portal.directive.js +0 -41
  1424. package/esm5/directives/portal/portal.module.js +0 -16
  1425. package/esm5/directives/portal/taiga-ui-cdk-directives-portal.js +0 -5
  1426. package/esm5/directives/pressed/index.js +0 -3
  1427. package/esm5/directives/pressed/pressed.directive.js +0 -30
  1428. package/esm5/directives/pressed/pressed.module.js +0 -16
  1429. package/esm5/directives/pressed/taiga-ui-cdk-directives-pressed.js +0 -5
  1430. package/esm5/directives/prevent-default/index.js +0 -3
  1431. package/esm5/directives/prevent-default/prevent-default.directive.js +0 -38
  1432. package/esm5/directives/prevent-default/prevent-default.module.js +0 -16
  1433. package/esm5/directives/prevent-default/taiga-ui-cdk-directives-prevent-default.js +0 -5
  1434. package/esm5/directives/repeat-times/index.js +0 -3
  1435. package/esm5/directives/repeat-times/repeat-times.directive.js +0 -67
  1436. package/esm5/directives/repeat-times/repeat-times.module.js +0 -16
  1437. package/esm5/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.js +0 -5
  1438. package/esm5/directives/resize/index.js +0 -3
  1439. package/esm5/directives/resize/resize.directive.js +0 -24
  1440. package/esm5/directives/resize/resize.module.js +0 -19
  1441. package/esm5/directives/resize/taiga-ui-cdk-directives-resize.js +0 -5
  1442. package/esm5/directives/swipe/index.js +0 -3
  1443. package/esm5/directives/swipe/swipe.directive.js +0 -24
  1444. package/esm5/directives/swipe/swipe.module.js +0 -19
  1445. package/esm5/directives/swipe/taiga-ui-cdk-directives-swipe.js +0 -5
  1446. package/esm5/directives/taiga-ui-cdk-directives.js +0 -5
  1447. package/esm5/directives/validator/index.js +0 -3
  1448. package/esm5/directives/validator/taiga-ui-cdk-directives-validator.js +0 -5
  1449. package/esm5/directives/validator/validator.directive.js +0 -45
  1450. package/esm5/directives/validator/validator.module.js +0 -16
  1451. package/esm5/directives/zoom/index.js +0 -3
  1452. package/esm5/directives/zoom/taiga-ui-cdk-directives-zoom.js +0 -5
  1453. package/esm5/directives/zoom/zoom.directive.js +0 -27
  1454. package/esm5/directives/zoom/zoom.module.js +0 -19
  1455. package/esm5/enums/autocomplete.js +0 -66
  1456. package/esm5/enums/day-of-week.js +0 -11
  1457. package/esm5/enums/index.js +0 -7
  1458. package/esm5/enums/input-mode.js +0 -15
  1459. package/esm5/enums/input-type.js +0 -12
  1460. package/esm5/enums/month-number.js +0 -16
  1461. package/esm5/enums/overscroll-mode.js +0 -15
  1462. package/esm5/enums/taiga-ui-cdk-enums.js +0 -5
  1463. package/esm5/exceptions/computed-document.exception.js +0 -10
  1464. package/esm5/exceptions/document-selection.exception.js +0 -10
  1465. package/esm5/exceptions/index.js +0 -14
  1466. package/esm5/exceptions/invalid-day.exception.js +0 -23
  1467. package/esm5/exceptions/invalid-month.exception.js +0 -23
  1468. package/esm5/exceptions/invalid-year.exception.js +0 -23
  1469. package/esm5/exceptions/no-host.exception.js +0 -10
  1470. package/esm5/exceptions/owner-document.exception.js +0 -10
  1471. package/esm5/exceptions/pure.exception.js +0 -10
  1472. package/esm5/exceptions/table-sort-key.exception.js +0 -10
  1473. package/esm5/exceptions/taiga-ui-cdk-exceptions.js +0 -5
  1474. package/esm5/exceptions/ts-parser.exception.js +0 -10
  1475. package/esm5/exceptions/value-changes.exception.js +0 -10
  1476. package/esm5/exceptions/value-present.exception.js +0 -10
  1477. package/esm5/exceptions/xml-parsing.exception.js +0 -10
  1478. package/esm5/index.js +0 -16
  1479. package/esm5/interfaces/alert-context.js +0 -1
  1480. package/esm5/interfaces/aria-dialog-context.js +0 -1
  1481. package/esm5/interfaces/base-dialog-context.js +0 -1
  1482. package/esm5/interfaces/base-dialog.js +0 -1
  1483. package/esm5/interfaces/context-with-implicit.js +0 -1
  1484. package/esm5/interfaces/control-value-transformer.js +0 -1
  1485. package/esm5/interfaces/day-like.js +0 -1
  1486. package/esm5/interfaces/focusable-element-accessor.js +0 -1
  1487. package/esm5/interfaces/index.js +0 -1
  1488. package/esm5/interfaces/month-like.js +0 -1
  1489. package/esm5/interfaces/swipe.js +0 -1
  1490. package/esm5/interfaces/taiga-ui-cdk-interfaces.js +0 -4
  1491. package/esm5/interfaces/time-like.js +0 -1
  1492. package/esm5/interfaces/year-like.js +0 -1
  1493. package/esm5/interfaces/zoom.js +0 -1
  1494. package/esm5/observables/drag-and-drop-from.js +0 -33
  1495. package/esm5/observables/focus-visible-observable.js +0 -36
  1496. package/esm5/observables/index.js +0 -14
  1497. package/esm5/observables/is-alive.js +0 -10
  1498. package/esm5/observables/items-query-list-observable.js +0 -12
  1499. package/esm5/observables/mouse-drag-finish-from.js +0 -13
  1500. package/esm5/observables/must-be-present.js +0 -17
  1501. package/esm5/observables/pressed-observable.js +0 -21
  1502. package/esm5/observables/prevent-default.js +0 -10
  1503. package/esm5/observables/replay-control-value-changes.js +0 -16
  1504. package/esm5/observables/stop-propagation.js +0 -12
  1505. package/esm5/observables/taiga-ui-cdk-observables.js +0 -5
  1506. package/esm5/observables/typed-from-event.js +0 -11
  1507. package/esm5/observables/watch.js +0 -12
  1508. package/esm5/observables/zone-free.js +0 -23
  1509. package/esm5/pipes/filter/filter.module.js +0 -16
  1510. package/esm5/pipes/filter/filter.pipe.js +0 -26
  1511. package/esm5/pipes/filter/index.js +0 -3
  1512. package/esm5/pipes/filter/taiga-ui-cdk-pipes-filter.js +0 -5
  1513. package/esm5/pipes/index.js +0 -4
  1514. package/esm5/pipes/keys/index.js +0 -3
  1515. package/esm5/pipes/keys/keys.module.js +0 -16
  1516. package/esm5/pipes/keys/keys.pipe.js +0 -15
  1517. package/esm5/pipes/keys/taiga-ui-cdk-pipes-keys.js +0 -5
  1518. package/esm5/pipes/mapper/index.js +0 -3
  1519. package/esm5/pipes/mapper/mapper.module.js +0 -16
  1520. package/esm5/pipes/mapper/mapper.pipe.js +0 -26
  1521. package/esm5/pipes/mapper/taiga-ui-cdk-pipes-mapper.js +0 -5
  1522. package/esm5/pipes/taiga-ui-cdk-pipes.js +0 -5
  1523. package/esm5/services/destroy.service.js +0 -22
  1524. package/esm5/services/directive-styles.service.js +0 -56
  1525. package/esm5/services/focus-visible.service.js +0 -35
  1526. package/esm5/services/hovered.service.js +0 -39
  1527. package/esm5/services/id.service.js +0 -26
  1528. package/esm5/services/index.js +0 -14
  1529. package/esm5/services/obscured.service.js +0 -50
  1530. package/esm5/services/pan.service.js +0 -47
  1531. package/esm5/services/parents-scroll.service.js +0 -40
  1532. package/esm5/services/resize.service.js +0 -41
  1533. package/esm5/services/scroll.service.js +0 -58
  1534. package/esm5/services/static-request.service.js +0 -48
  1535. package/esm5/services/swipe.service.js +0 -60
  1536. package/esm5/services/taiga-ui-cdk-services.js +0 -5
  1537. package/esm5/services/zoom.service.js +0 -64
  1538. package/esm5/taiga-ui-cdk.js +0 -5
  1539. package/esm5/tokens/active-element.js +0 -67
  1540. package/esm5/tokens/alerts.js +0 -5
  1541. package/esm5/tokens/default-renderer.js +0 -7
  1542. package/esm5/tokens/dialogs.js +0 -5
  1543. package/esm5/tokens/focusable-item-accessor.js +0 -3
  1544. package/esm5/tokens/index.js +0 -21
  1545. package/esm5/tokens/is-android.js +0 -7
  1546. package/esm5/tokens/is-apple.js +0 -5
  1547. package/esm5/tokens/is-chromium.js +0 -6
  1548. package/esm5/tokens/is-cypress.js +0 -9
  1549. package/esm5/tokens/is-firefox.js +0 -9
  1550. package/esm5/tokens/is-ios.js +0 -7
  1551. package/esm5/tokens/is-mobile.js +0 -12
  1552. package/esm5/tokens/is-webkit.js +0 -6
  1553. package/esm5/tokens/removed-element.js +0 -19
  1554. package/esm5/tokens/sanitizer.js +0 -4
  1555. package/esm5/tokens/swipe-options.js +0 -5
  1556. package/esm5/tokens/taiga-ui-cdk-tokens.js +0 -5
  1557. package/esm5/tokens/take-only-trusted-events.js +0 -11
  1558. package/esm5/tokens/touch-supported.js +0 -6
  1559. package/esm5/tokens/window-height.js +0 -11
  1560. package/esm5/tokens/zoom-options.js +0 -7
  1561. package/esm5/types/date-mode.js +0 -1
  1562. package/esm5/types/dialog.js +0 -1
  1563. package/esm5/types/event-with.js +0 -1
  1564. package/esm5/types/handler.js +0 -1
  1565. package/esm5/types/index.js +0 -1
  1566. package/esm5/types/input-mode.js +0 -1
  1567. package/esm5/types/input-type.js +0 -1
  1568. package/esm5/types/mapper.js +0 -1
  1569. package/esm5/types/matcher.js +0 -1
  1570. package/esm5/types/overscroll-mode.js +0 -1
  1571. package/esm5/types/taiga-ui-cdk-types.js +0 -4
  1572. package/esm5/types/time-mode.js +0 -1
  1573. package/esm5/utils/browser/index.js +0 -6
  1574. package/esm5/utils/browser/is-edge-older-than.js +0 -11
  1575. package/esm5/utils/browser/is-edge.js +0 -9
  1576. package/esm5/utils/browser/is-firefox.js +0 -9
  1577. package/esm5/utils/browser/is-ie.js +0 -9
  1578. package/esm5/utils/browser/is-safari.js +0 -11
  1579. package/esm5/utils/browser/taiga-ui-cdk-utils-browser.js +0 -5
  1580. package/esm5/utils/dom/can-scroll.js +0 -47
  1581. package/esm5/utils/dom/contains-or-after.js +0 -10
  1582. package/esm5/utils/dom/custom-event.js +0 -11
  1583. package/esm5/utils/dom/get-actual-target.js +0 -13
  1584. package/esm5/utils/dom/get-clipboard-data-text.js +0 -15
  1585. package/esm5/utils/dom/get-closest-element.js +0 -20
  1586. package/esm5/utils/dom/get-document-or-shadow-root.js +0 -11
  1587. package/esm5/utils/dom/get-element-obscurers.js +0 -39
  1588. package/esm5/utils/dom/get-element-offset.js +0 -23
  1589. package/esm5/utils/dom/get-scroll-parent.js +0 -23
  1590. package/esm5/utils/dom/get-selected-text.js +0 -17
  1591. package/esm5/utils/dom/index.js +0 -18
  1592. package/esm5/utils/dom/is-current-target.js +0 -10
  1593. package/esm5/utils/dom/is-element.js +0 -5
  1594. package/esm5/utils/dom/is-form-field.js +0 -8
  1595. package/esm5/utils/dom/is-inside-iframe.js +0 -10
  1596. package/esm5/utils/dom/is-node-in.js +0 -18
  1597. package/esm5/utils/dom/point-to-client-rect.js +0 -13
  1598. package/esm5/utils/dom/taiga-ui-cdk-utils-dom.js +0 -5
  1599. package/esm5/utils/focus/blur-native-focused.js +0 -16
  1600. package/esm5/utils/focus/get-closest-keyboard-focusable.js +0 -42
  1601. package/esm5/utils/focus/get-native-focused.js +0 -19
  1602. package/esm5/utils/focus/index.js +0 -11
  1603. package/esm5/utils/focus/is-native-focused-in.js +0 -19
  1604. package/esm5/utils/focus/is-native-focused.js +0 -16
  1605. package/esm5/utils/focus/is-native-keyboard-focusable.js +0 -36
  1606. package/esm5/utils/focus/is-native-mouse-focusable.js +0 -11
  1607. package/esm5/utils/focus/move-focus.js +0 -23
  1608. package/esm5/utils/focus/set-native-focused.js +0 -21
  1609. package/esm5/utils/focus/set-native-mouse-focused.js +0 -28
  1610. package/esm5/utils/focus/taiga-ui-cdk-utils-focus.js +0 -5
  1611. package/esm5/utils/format/index.js +0 -3
  1612. package/esm5/utils/format/pad-start.js +0 -18
  1613. package/esm5/utils/format/px.js +0 -12
  1614. package/esm5/utils/format/taiga-ui-cdk-utils-format.js +0 -5
  1615. package/esm5/utils/index.js +0 -9
  1616. package/esm5/utils/math/clamp.js +0 -19
  1617. package/esm5/utils/math/in-range.js +0 -19
  1618. package/esm5/utils/math/index.js +0 -9
  1619. package/esm5/utils/math/normalize-to-int-number.js +0 -25
  1620. package/esm5/utils/math/quantize.js +0 -18
  1621. package/esm5/utils/math/round.js +0 -49
  1622. package/esm5/utils/math/sum.js +0 -14
  1623. package/esm5/utils/math/taiga-ui-cdk-utils-math.js +0 -5
  1624. package/esm5/utils/math/to-int.js +0 -9
  1625. package/esm5/utils/math/to-radians.js +0 -10
  1626. package/esm5/utils/miscellaneous/distance-between-touches.js +0 -10
  1627. package/esm5/utils/miscellaneous/ease-in-out-quad.js +0 -11
  1628. package/esm5/utils/miscellaneous/fallback-value.js +0 -12
  1629. package/esm5/utils/miscellaneous/flat-length.js +0 -12
  1630. package/esm5/utils/miscellaneous/get-original-array-from-query-list.js +0 -18
  1631. package/esm5/utils/miscellaneous/get-swipe-direction.js +0 -14
  1632. package/esm5/utils/miscellaneous/identity.js +0 -8
  1633. package/esm5/utils/miscellaneous/index.js +0 -14
  1634. package/esm5/utils/miscellaneous/is-element-editable.js +0 -12
  1635. package/esm5/utils/miscellaneous/is-number.js +0 -9
  1636. package/esm5/utils/miscellaneous/is-present.js +0 -9
  1637. package/esm5/utils/miscellaneous/mark-control-as-touched-and-validate.js +0 -21
  1638. package/esm5/utils/miscellaneous/nullable-same.js +0 -21
  1639. package/esm5/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.js +0 -5
  1640. package/esm5/utils/miscellaneous/uniq-by.js +0 -11
  1641. package/esm5/utils/os/index.js +0 -4
  1642. package/esm5/utils/os/is-apple-platform.js +0 -17
  1643. package/esm5/utils/os/is-apple.js +0 -11
  1644. package/esm5/utils/os/is-ios.js +0 -12
  1645. package/esm5/utils/os/taiga-ui-cdk-utils-os.js +0 -5
  1646. package/esm5/utils/svg/index.js +0 -2
  1647. package/esm5/utils/svg/svg-linear-gradient-processor.js +0 -32
  1648. package/esm5/utils/svg/taiga-ui-cdk-utils-svg.js +0 -5
  1649. package/esm5/utils/taiga-ui-cdk-utils.js +0 -5
  1650. package/exceptions/taiga-ui-cdk-exceptions.metadata.json +0 -1
  1651. package/fesm2015/taiga-ui-cdk-components-portal-host.js +0 -23
  1652. package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +0 -1
  1653. package/fesm5/taiga-ui-cdk-abstract.js +0 -682
  1654. package/fesm5/taiga-ui-cdk-abstract.js.map +0 -1
  1655. package/fesm5/taiga-ui-cdk-classes.js +0 -35
  1656. package/fesm5/taiga-ui-cdk-classes.js.map +0 -1
  1657. package/fesm5/taiga-ui-cdk-coercion.js +0 -16
  1658. package/fesm5/taiga-ui-cdk-coercion.js.map +0 -1
  1659. package/fesm5/taiga-ui-cdk-components-alert-host.js +0 -63
  1660. package/fesm5/taiga-ui-cdk-components-alert-host.js.map +0 -1
  1661. package/fesm5/taiga-ui-cdk-components-dialog-host.js +0 -107
  1662. package/fesm5/taiga-ui-cdk-components-dialog-host.js.map +0 -1
  1663. package/fesm5/taiga-ui-cdk-components-dropdown-host.js +0 -52
  1664. package/fesm5/taiga-ui-cdk-components-dropdown-host.js.map +0 -1
  1665. package/fesm5/taiga-ui-cdk-components-portal-host.js +0 -28
  1666. package/fesm5/taiga-ui-cdk-components-portal-host.js.map +0 -1
  1667. package/fesm5/taiga-ui-cdk-components.js +0 -9
  1668. package/fesm5/taiga-ui-cdk-components.js.map +0 -1
  1669. package/fesm5/taiga-ui-cdk-constants.js +0 -162
  1670. package/fesm5/taiga-ui-cdk-constants.js.map +0 -1
  1671. package/fesm5/taiga-ui-cdk-date-time.js +0 -1051
  1672. package/fesm5/taiga-ui-cdk-date-time.js.map +0 -1
  1673. package/fesm5/taiga-ui-cdk-decorators.js +0 -161
  1674. package/fesm5/taiga-ui-cdk-decorators.js.map +0 -1
  1675. package/fesm5/taiga-ui-cdk-directives-active-zone.js +0 -110
  1676. package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +0 -1
  1677. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +0 -273
  1678. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +0 -1
  1679. package/fesm5/taiga-ui-cdk-directives-autofilled.js +0 -73
  1680. package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +0 -1
  1681. package/fesm5/taiga-ui-cdk-directives-checked.js +0 -67
  1682. package/fesm5/taiga-ui-cdk-directives-checked.js.map +0 -1
  1683. package/fesm5/taiga-ui-cdk-directives-copy-processor.js +0 -57
  1684. package/fesm5/taiga-ui-cdk-directives-copy-processor.js.map +0 -1
  1685. package/fesm5/taiga-ui-cdk-directives-drag.js +0 -70
  1686. package/fesm5/taiga-ui-cdk-directives-drag.js.map +0 -1
  1687. package/fesm5/taiga-ui-cdk-directives-droppable.js +0 -61
  1688. package/fesm5/taiga-ui-cdk-directives-droppable.js.map +0 -1
  1689. package/fesm5/taiga-ui-cdk-directives-element.js +0 -40
  1690. package/fesm5/taiga-ui-cdk-directives-element.js.map +0 -1
  1691. package/fesm5/taiga-ui-cdk-directives-focus-trap.js +0 -96
  1692. package/fesm5/taiga-ui-cdk-directives-focus-trap.js.map +0 -1
  1693. package/fesm5/taiga-ui-cdk-directives-focus-visible.js +0 -47
  1694. package/fesm5/taiga-ui-cdk-directives-focus-visible.js.map +0 -1
  1695. package/fesm5/taiga-ui-cdk-directives-focusable.js +0 -52
  1696. package/fesm5/taiga-ui-cdk-directives-focusable.js.map +0 -1
  1697. package/fesm5/taiga-ui-cdk-directives-focused.js +0 -52
  1698. package/fesm5/taiga-ui-cdk-directives-focused.js.map +0 -1
  1699. package/fesm5/taiga-ui-cdk-directives-for-async.js +0 -74
  1700. package/fesm5/taiga-ui-cdk-directives-for-async.js.map +0 -1
  1701. package/fesm5/taiga-ui-cdk-directives-for.js +0 -57
  1702. package/fesm5/taiga-ui-cdk-directives-for.js.map +0 -1
  1703. package/fesm5/taiga-ui-cdk-directives-high-dpi.js +0 -49
  1704. package/fesm5/taiga-ui-cdk-directives-high-dpi.js.map +0 -1
  1705. package/fesm5/taiga-ui-cdk-directives-hovered.js +0 -62
  1706. package/fesm5/taiga-ui-cdk-directives-hovered.js.map +0 -1
  1707. package/fesm5/taiga-ui-cdk-directives-input-mode.js +0 -62
  1708. package/fesm5/taiga-ui-cdk-directives-input-mode.js.map +0 -1
  1709. package/fesm5/taiga-ui-cdk-directives-item.js +0 -36
  1710. package/fesm5/taiga-ui-cdk-directives-item.js.map +0 -1
  1711. package/fesm5/taiga-ui-cdk-directives-let.js +0 -79
  1712. package/fesm5/taiga-ui-cdk-directives-let.js.map +0 -1
  1713. package/fesm5/taiga-ui-cdk-directives-media.js +0 -148
  1714. package/fesm5/taiga-ui-cdk-directives-media.js.map +0 -1
  1715. package/fesm5/taiga-ui-cdk-directives-obscured.js +0 -71
  1716. package/fesm5/taiga-ui-cdk-directives-obscured.js.map +0 -1
  1717. package/fesm5/taiga-ui-cdk-directives-overscroll.js +0 -130
  1718. package/fesm5/taiga-ui-cdk-directives-overscroll.js.map +0 -1
  1719. package/fesm5/taiga-ui-cdk-directives-pan.js +0 -45
  1720. package/fesm5/taiga-ui-cdk-directives-pan.js.map +0 -1
  1721. package/fesm5/taiga-ui-cdk-directives-portal.js +0 -59
  1722. package/fesm5/taiga-ui-cdk-directives-portal.js.map +0 -1
  1723. package/fesm5/taiga-ui-cdk-directives-pressed.js +0 -48
  1724. package/fesm5/taiga-ui-cdk-directives-pressed.js.map +0 -1
  1725. package/fesm5/taiga-ui-cdk-directives-prevent-default.js +0 -56
  1726. package/fesm5/taiga-ui-cdk-directives-prevent-default.js.map +0 -1
  1727. package/fesm5/taiga-ui-cdk-directives-repeat-times.js +0 -84
  1728. package/fesm5/taiga-ui-cdk-directives-repeat-times.js.map +0 -1
  1729. package/fesm5/taiga-ui-cdk-directives-resize.js +0 -45
  1730. package/fesm5/taiga-ui-cdk-directives-resize.js.map +0 -1
  1731. package/fesm5/taiga-ui-cdk-directives-swipe.js +0 -45
  1732. package/fesm5/taiga-ui-cdk-directives-swipe.js.map +0 -1
  1733. package/fesm5/taiga-ui-cdk-directives-validator.js +0 -63
  1734. package/fesm5/taiga-ui-cdk-directives-validator.js.map +0 -1
  1735. package/fesm5/taiga-ui-cdk-directives-zoom.js +0 -48
  1736. package/fesm5/taiga-ui-cdk-directives-zoom.js.map +0 -1
  1737. package/fesm5/taiga-ui-cdk-directives.js +0 -35
  1738. package/fesm5/taiga-ui-cdk-directives.js.map +0 -1
  1739. package/fesm5/taiga-ui-cdk-enums.js +0 -141
  1740. package/fesm5/taiga-ui-cdk-enums.js.map +0 -1
  1741. package/fesm5/taiga-ui-cdk-exceptions.js +0 -148
  1742. package/fesm5/taiga-ui-cdk-exceptions.js.map +0 -1
  1743. package/fesm5/taiga-ui-cdk-interfaces.js +0 -4
  1744. package/fesm5/taiga-ui-cdk-interfaces.js.map +0 -1
  1745. package/fesm5/taiga-ui-cdk-observables.js +0 -204
  1746. package/fesm5/taiga-ui-cdk-observables.js.map +0 -1
  1747. package/fesm5/taiga-ui-cdk-pipes-filter.js +0 -44
  1748. package/fesm5/taiga-ui-cdk-pipes-filter.js.map +0 -1
  1749. package/fesm5/taiga-ui-cdk-pipes-keys.js +0 -33
  1750. package/fesm5/taiga-ui-cdk-pipes-keys.js.map +0 -1
  1751. package/fesm5/taiga-ui-cdk-pipes-mapper.js +0 -44
  1752. package/fesm5/taiga-ui-cdk-pipes-mapper.js.map +0 -1
  1753. package/fesm5/taiga-ui-cdk-pipes.js +0 -8
  1754. package/fesm5/taiga-ui-cdk-pipes.js.map +0 -1
  1755. package/fesm5/taiga-ui-cdk-services.js +0 -507
  1756. package/fesm5/taiga-ui-cdk-services.js.map +0 -1
  1757. package/fesm5/taiga-ui-cdk-tokens.js +0 -181
  1758. package/fesm5/taiga-ui-cdk-tokens.js.map +0 -1
  1759. package/fesm5/taiga-ui-cdk-types.js +0 -4
  1760. package/fesm5/taiga-ui-cdk-types.js.map +0 -1
  1761. package/fesm5/taiga-ui-cdk-utils-browser.js +0 -55
  1762. package/fesm5/taiga-ui-cdk-utils-browser.js.map +0 -1
  1763. package/fesm5/taiga-ui-cdk-utils-dom.js +0 -297
  1764. package/fesm5/taiga-ui-cdk-utils-dom.js.map +0 -1
  1765. package/fesm5/taiga-ui-cdk-utils-focus.js +0 -228
  1766. package/fesm5/taiga-ui-cdk-utils-focus.js.map +0 -1
  1767. package/fesm5/taiga-ui-cdk-utils-format.js +0 -37
  1768. package/fesm5/taiga-ui-cdk-utils-format.js.map +0 -1
  1769. package/fesm5/taiga-ui-cdk-utils-math.js +0 -166
  1770. package/fesm5/taiga-ui-cdk-utils-math.js.map +0 -1
  1771. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js +0 -174
  1772. package/fesm5/taiga-ui-cdk-utils-miscellaneous.js.map +0 -1
  1773. package/fesm5/taiga-ui-cdk-utils-os.js +0 -44
  1774. package/fesm5/taiga-ui-cdk-utils-os.js.map +0 -1
  1775. package/fesm5/taiga-ui-cdk-utils-svg.js +0 -39
  1776. package/fesm5/taiga-ui-cdk-utils-svg.js.map +0 -1
  1777. package/fesm5/taiga-ui-cdk-utils.js +0 -13
  1778. package/fesm5/taiga-ui-cdk-utils.js.map +0 -1
  1779. package/fesm5/taiga-ui-cdk.js +0 -20
  1780. package/fesm5/taiga-ui-cdk.js.map +0 -1
  1781. package/interfaces/taiga-ui-cdk-interfaces.metadata.json +0 -1
  1782. package/observables/taiga-ui-cdk-observables.metadata.json +0 -1
  1783. package/pipes/filter/taiga-ui-cdk-pipes-filter.metadata.json +0 -1
  1784. package/pipes/keys/taiga-ui-cdk-pipes-keys.metadata.json +0 -1
  1785. package/pipes/mapper/taiga-ui-cdk-pipes-mapper.metadata.json +0 -1
  1786. package/pipes/taiga-ui-cdk-pipes.metadata.json +0 -1
  1787. package/services/hovered.service.d.ts +0 -9
  1788. package/services/taiga-ui-cdk-services.metadata.json +0 -1
  1789. package/taiga-ui-cdk.metadata.json +0 -1
  1790. package/tokens/sanitizer.d.ts +0 -2
  1791. package/tokens/taiga-ui-cdk-tokens.metadata.json +0 -1
  1792. package/types/taiga-ui-cdk-types.metadata.json +0 -1
  1793. package/utils/browser/is-ie.d.ts +0 -5
  1794. package/utils/browser/taiga-ui-cdk-utils-browser.metadata.json +0 -1
  1795. package/utils/dom/custom-event.d.ts +0 -2
  1796. package/utils/dom/get-closest-element.d.ts +0 -5
  1797. package/utils/dom/is-element.d.ts +0 -1
  1798. package/utils/dom/is-form-field.d.ts +0 -1
  1799. package/utils/dom/taiga-ui-cdk-utils-dom.metadata.json +0 -1
  1800. package/utils/focus/get-closest-keyboard-focusable.d.ts +0 -16
  1801. package/utils/focus/set-native-focused.d.ts +0 -10
  1802. package/utils/focus/taiga-ui-cdk-utils-focus.metadata.json +0 -1
  1803. package/utils/format/pad-start.d.ts +0 -9
  1804. package/utils/format/taiga-ui-cdk-utils-format.metadata.json +0 -1
  1805. package/utils/math/taiga-ui-cdk-utils-math.metadata.json +0 -1
  1806. package/utils/miscellaneous/fallback-value.d.ts +0 -7
  1807. package/utils/miscellaneous/identity.d.ts +0 -4
  1808. package/utils/miscellaneous/is-element-editable.d.ts +0 -5
  1809. package/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.metadata.json +0 -1
  1810. package/utils/os/taiga-ui-cdk-utils-os.metadata.json +0 -1
  1811. package/utils/svg/taiga-ui-cdk-utils-svg.metadata.json +0 -1
  1812. package/utils/taiga-ui-cdk-utils.metadata.json +0 -1
@@ -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/date-fillers.ts","ng://@taiga-ui/cdk/date-time/date-format.ts","ng://@taiga-ui/cdk/date-time/date-separator.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 */\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 */\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\nexport const TUI_DATE_FORMAT = new InjectionToken<TuiDateMode>(\n `Active date format for Taiga UI`,\n {\n factory: () => `DMY`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DATE_SEPARATOR = new InjectionToken<string>(\n `Date separator for Taiga UI components`,\n {\n factory: () => `.`,\n },\n);\n\nexport const changeDateSeparator = (\n dateString: string,\n newDateSeparator: string,\n): string => dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {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 /**\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 get formattedYear(): string {\n return padStart(String(this.year), 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: 3.0 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 valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): string | number {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiMonthLike} from '@taiga-ui/cdk/interfaces';\nimport {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 /**\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 get formattedMonthPart(): string {\n return padStart(String(this.month + 1), 2, `0`);\n }\n\n /**\n * @deprecated\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: 3.0 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 valueOf(): number {\n return this.toLocalNativeDate().valueOf();\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","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {\n InvalidDayException,\n InvalidMonthException,\n InvalidYearException,\n} from '@taiga-ui/cdk/exceptions';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {padStart} from '@taiga-ui/cdk/utils/format';\nimport {inRange, normalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\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 /**\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 * Returns current day based on UTC\n */\n static currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n static lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = `DMY`,\n ): {day: number; month: number; year: number} {\n tuiAssert.assert(\n date.length === DATE_FILLER_LENGTH,\n `[parseRawDateString]: wrong date string length`,\n );\n\n switch (dateMode) {\n case `YMD`:\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case `MDY`:\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n default:\n case `DMY`:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n static normalizeParse(rawDate: string, dateMode: TuiDateMode = `DMY`): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, `YMD`);\n\n if (!TuiYear.isValidYear(year)) {\n throw new InvalidYearException(year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new InvalidMonthException(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 InvalidDayException(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 get formattedDayPart(): string {\n return padStart(String(this.day), 2, `0`);\n }\n\n /**\n * @deprecated use {@link getFormattedDay} instead\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: 3.0 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 /**\n * Returns formatted whole date\n */\n getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n tuiAssert.assert(\n separator.length === 1,\n `Separator should consist of only 1 symbol`,\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case `YMD`:\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case `MDY`:\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case `DMY`:\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n toString(dateFormat: TuiDateMode = `DMY`, separator: string = `.`): string {\n return this.getFormattedDay(dateFormat, separator);\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","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 static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n /**\n * @deprecated\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","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\n\n/**\n * Temporary type guard to satisfy ts-overloading of normalizeParse method\n * @deprecated\n */\nexport const isDateMode = (dateMode: string): dateMode is TuiDateMode =>\n [`DMY`, `YMD`, `MDY`].includes(dateMode);\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 /**\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 */\n static normalizeParse(\n rangeString: string,\n dateFiller: string,\n dateRangeFiller: string,\n ): TuiDayRange;\n static normalizeParse(rangeString: string, dateMode?: TuiDateMode): 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 * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n static normalizeParse(\n rangeString: string,\n dateMode: string | TuiDateMode = `DMY`,\n ): TuiDayRange {\n const dateFormat = isDateMode(dateMode) ? dateMode : `DMY`;\n\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateFormat,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateFormat,\n ),\n );\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Human readable format.\n * @deprecated use {@link getFormattedDayRange} instead\n */\n get formattedDayRange(): string {\n const from = this.from.getFormattedDay(`DMY`, `.`);\n const to = this.to.getFormattedDay(`DMY`, `.`);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n toString(dateFormat: TuiDateMode = `DMY`, dateSeparator: string = `.`): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n}\n","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 * 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 /**\n * Shifts time by hours and minutes\n */\n shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const newMs = (1000 + this.ms + (ms % 1000)) % 1000;\n\n const secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);\n const secondsToAdd = secondsInMs + seconds;\n const newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;\n\n const minutesInSeconds =\n secondsToAdd < 0\n ? Math.ceil(secondsToAdd / 60)\n : Math.floor(secondsToAdd / 60);\n const minutesToAdd = minutesInSeconds + minutes;\n const newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;\n\n const hoursInMinutes =\n minutesToAdd < 0\n ? Math.ceil(minutesToAdd / 60)\n : Math.floor(minutesToAdd / 60);\n const hoursToAdd = hoursInMinutes + hours;\n const newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;\n\n return new TuiTime(newHours, newMinutes, newSeconds, newMs);\n }\n\n /**\n * Converts TuiTime to string\n */\n toString(mode?: TuiTimeMode): string {\n const needAddMs = mode === `HH:MM:SS.MSS` || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode === `HH:MM:SS` || (!mode && this.seconds > 0);\n\n return (\n `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}` +\n `${needAddSeconds ? `:${this.formatTime(this.seconds)}` : ``}` +\n `${needAddMs ? `.${this.formatTime(this.ms, 3)}` : ``}`\n );\n }\n\n valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): string | number {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits: number = 2): string {\n return padStart(String(time), digits, `0`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-date-time.js","sources":["../../../projects/cdk/date-time/date-time.ts","../../../projects/cdk/date-time/date-fillers.ts","../../../projects/cdk/date-time/date-format.ts","../../../projects/cdk/date-time/date-separator.ts","../../../projects/cdk/date-time/year.ts","../../../projects/cdk/date-time/month.ts","../../../projects/cdk/date-time/day.ts","../../../projects/cdk/date-time/month-range.ts","../../../projects/cdk/date-time/day-range.ts","../../../projects/cdk/date-time/days.const.ts","../../../projects/cdk/date-time/time.ts","../../../projects/cdk/date-time/taiga-ui-cdk-date-time.ts"],"sourcesContent":["import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\n\nexport const DAYS_IN_WEEK = 7;\n\nexport const DAYS_IN_NORMAL_YEAR = 365;\n\nexport const DAYS_IN_LEAP_YEAR = 366;\n\nexport const MONTHS_IN_YEAR = 12;\n\nexport const MIN_DAY = 1;\n\nexport const MIN_MONTH = 0;\n\nexport const MAX_MONTH = 11;\n\nexport const MIN_YEAR = 0;\n\nexport const MAX_YEAR = 9999;\n\nexport const RANGE_SEPARATOR_CHAR = `${CHAR_NO_BREAK_SPACE}${CHAR_EN_DASH}${CHAR_NO_BREAK_SPACE}`;\n\nexport const MILLISECONDS_IN_SECOND = 1000;\n\nexport const SECONDS_IN_MINUTE = 60;\n\nexport const MINUTES_IN_HOUR = 60;\n\nexport const HOURS_IN_DAY = 24;\n\nexport const MILLISECONDS_IN_MINUTE = MILLISECONDS_IN_SECOND * SECONDS_IN_MINUTE;\n\nexport const MILLISECONDS_IN_HOUR = MILLISECONDS_IN_MINUTE * MINUTES_IN_HOUR;\n\nexport const MILLISECONDS_IN_DAY = MILLISECONDS_IN_HOUR * HOURS_IN_DAY;\n","import {RANGE_SEPARATOR_CHAR} from './date-time';\n\n/**\n * @internal 'dd.mm.yyyy'.length\n * Used in:\n * - {@link TuiInputDateComponent}\n * - {@link TuiInputDateRangeComponent}\n * - {@link TuiInputDateTimeComponent}\n */\nexport const DATE_FILLER_LENGTH = 10;\n/**\n * @internal\n * Used in {@link TuiInputDateRangeComponent}\n */\nexport const DATE_RANGE_FILLER_LENGTH =\n 2 * DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length;\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\nexport const TUI_DATE_FORMAT = new InjectionToken<TuiDateMode>(\n `Active date format for Taiga UI`,\n {\n factory: () => `DMY`,\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DATE_SEPARATOR = new InjectionToken<string>(\n `Date separator for Taiga UI components`,\n {\n factory: () => `.`,\n },\n);\n\nexport const changeDateSeparator = (\n dateString: string,\n newDateSeparator: string,\n): string => dateString.replace(/[^0-9A-Za-zА-Яа-я]/gi, newDateSeparator);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiYearLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_YEAR, MIN_YEAR} from './date-time';\n\n/**\n * Immutable year object\n * @nosideeffects\n */\nexport class TuiYear implements TuiYearLike {\n constructor(readonly year: number) {\n tuiAssert.assert(TuiYear.isValidYear(year));\n }\n\n /**\n * Checks year for validity\n */\n static isValidYear(year: number): boolean {\n return Number.isInteger(year) && tuiInRange(year, MIN_YEAR, MAX_YEAR + 1);\n }\n\n /**\n * Check if passed year is a leap year\n */\n static isLeapYear(year: number): boolean {\n 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 static lengthBetween(from: TuiYear, to: TuiYear): number {\n return to.year - from.year;\n }\n\n /**\n * Normalizes year by clamping it between min and max years\n */\n protected static normalizeYearPart(year: number): number {\n return tuiNormalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);\n }\n\n get formattedYear(): string {\n return String(this.year).padStart(4, `0`);\n }\n\n get isLeapYear(): boolean {\n return TuiYear.isLeapYear(this.year);\n }\n\n /**\n * Returns amount of leap years from year 0 to current\n */\n get absoluteLeapYears(): number {\n return TuiYear.getAbsoluteLeapYears(this.year);\n }\n\n /**\n * Passed year is after current\n */\n yearBefore({year}: TuiYear): boolean {\n return this.year < year;\n }\n\n /**\n * Passed year is the same or after current\n */\n yearSameOrBefore({year}: TuiYear): boolean {\n return this.year <= year;\n }\n\n /**\n * Passed year is the same as current\n */\n yearSame({year}: TuiYear): boolean {\n return this.year === year;\n }\n\n /**\n * Passed year is either the same of before the current\n */\n yearSameOrAfter({year}: TuiYear): boolean {\n return this.year >= year;\n }\n\n /**\n * Passed year is before current\n */\n yearAfter({year}: TuiYear): boolean {\n return this.year > year;\n }\n\n /**\n * Immutably offsets year\n */\n append({year = 0}: TuiYearLike): TuiYear {\n tuiAssert.assert(Number.isInteger(year));\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 valueOf(): number {\n return this.year;\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): string | number {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n toJSON(): string {\n return this.formattedYear;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {TuiMonthLike} from '@taiga-ui/cdk/interfaces';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR} from './date-time';\nimport {TuiYear} from './year';\n\n/**\n * Immutable object consisting of year and month\n */\nexport class TuiMonth extends TuiYear implements TuiMonthLike {\n /**\n * @param year\n * @param month (starting with 0)\n */\n constructor(year: number, readonly month: number) {\n super(year);\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n }\n\n /**\n * Tests month and year for validity\n */\n static isValidMonth(year: number, month: number): boolean {\n return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);\n }\n\n /**\n * Returns number of days in a month\n */\n static getMonthDaysCount(month: number, isLeapYear: boolean): number {\n 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 tuiNormalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);\n }\n\n /**\n * Tests month for validity\n */\n private static isValidMonthPart(month: number): boolean {\n return Number.isInteger(month) && tuiInRange(month, MIN_MONTH, MAX_MONTH + 1);\n }\n\n get formattedMonthPart(): string {\n return String(this.month + 1).padStart(2, `0`);\n }\n\n /**\n * Returns days in a month\n */\n get daysCount(): number {\n return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);\n }\n\n /**\n * Passed month and year are after current\n */\n monthBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month < another.month)\n );\n }\n\n /**\n * Passed month and year are after or the same as current\n */\n monthSameOrBefore(another: TuiMonth): boolean {\n return (\n this.yearBefore(another) ||\n (this.yearSame(another) && this.month <= another.month)\n );\n }\n\n /**\n * Passed month and year are the same as current\n */\n monthSame(another: TuiMonth): boolean {\n return this.yearSame(another) && this.month === another.month;\n }\n\n /**\n * Passed month and year are either before or equal to current\n */\n monthSameOrAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month >= another.month)\n );\n }\n\n /**\n * Passed month and year are before current\n */\n monthAfter(another: TuiMonth): boolean {\n return (\n this.yearAfter(another) ||\n (this.yearSame(another) && this.month > another.month)\n );\n }\n\n /**\n * Immutably alters current month and year by passed offset\n *\n * @param offset\n * @return new month and year object as a result of offsetting current\n */\n append({year = 0, month = 0}: TuiMonthLike): TuiMonth {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n\n return new TuiMonth(\n Math.floor(totalMonths / MONTHS_IN_YEAR),\n totalMonths % MONTHS_IN_YEAR,\n );\n }\n\n toString(): string {\n return `${this.formattedMonthPart}.${this.formattedYear}`;\n }\n\n valueOf(): number {\n return this.toLocalNativeDate().valueOf();\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","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDayOfWeek, TuiMonthNumber} from '@taiga-ui/cdk/enums';\nimport {\n TuiInvalidDayException,\n TuiInvalidMonthException,\n TuiInvalidYearException,\n} from '@taiga-ui/cdk/exceptions';\nimport {TuiDayLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange, tuiNormalizeToIntNumber} from '@taiga-ui/cdk/utils/math';\n\nimport {DATE_FILLER_LENGTH} from './date-fillers';\nimport {MIN_DAY, MONTHS_IN_YEAR} from './date-time';\nimport {TuiMonth} from './month';\nimport {TuiYear} from './year';\n\n// TODO: Localized formatting\n/**\n * Immutable date object, consisting of day, month and year\n */\nexport class TuiDay extends TuiMonth {\n constructor(year: number, month: number, readonly day: number) {\n super(year, month);\n tuiAssert.assert(TuiDay.isValidDay(year, month, day));\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} based on local time zone\n */\n static fromLocalNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());\n }\n\n /**\n * Creates {@link TuiDay} from native {@link Date} using UTC\n */\n static fromUtcNativeDate(date: Date): TuiDay {\n return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n }\n\n /**\n * Check validity of year, month and day\n *\n * @param year\n * @param month\n * @param day\n * @return boolean validity\n */\n static isValidDay(year: number, month: number, day: number): boolean {\n return (\n TuiMonth.isValidMonth(year, month) &&\n Number.isInteger(day) &&\n tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n );\n }\n\n /**\n * Current day based on local time zone\n */\n static currentLocal(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getFullYear();\n const month = nativeDate.getMonth();\n const day = nativeDate.getDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Returns current day based on UTC\n */\n static currentUtc(): TuiDay {\n const nativeDate = new Date();\n const year = nativeDate.getUTCFullYear();\n const month = nativeDate.getUTCMonth();\n const day = nativeDate.getUTCDate();\n\n return new TuiDay(year, month, day);\n }\n\n /**\n * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.\n *\n * @param year any year value, including invalid\n * @param month any month value, including invalid (months start with 0)\n * @param day any day value, including invalid\n * @return normalized date\n */\n static normalizeOf(year: number, month: number, day: number): TuiDay {\n const normalizedYear = TuiYear.normalizeYearPart(year);\n const normalizedMonth = TuiMonth.normalizeMonthPart(month);\n const normalizedDay = TuiDay.normalizeDayPart(\n day,\n normalizedMonth,\n normalizedYear,\n );\n\n return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);\n }\n\n static lengthBetween(from: TuiDay, to: TuiDay): number {\n return Math.round(\n (to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /\n (1000 * 60 * 60 * 24),\n );\n }\n\n static parseRawDateString(\n date: string,\n dateMode: TuiDateMode = `DMY`,\n ): {day: number; month: number; year: number} {\n tuiAssert.assert(\n date.length === DATE_FILLER_LENGTH,\n `[parseRawDateString]: wrong date string length`,\n );\n\n switch (dateMode) {\n case `YMD`:\n return {\n day: parseInt(date.slice(8, 10), 10),\n month: parseInt(date.slice(5, 7), 10) - 1,\n year: parseInt(date.slice(0, 4), 10),\n };\n\n case `MDY`:\n return {\n day: parseInt(date.slice(3, 5), 10),\n month: parseInt(date.slice(0, 2), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n\n default:\n case `DMY`:\n return {\n day: parseInt(date.slice(0, 2), 10),\n month: parseInt(date.slice(3, 5), 10) - 1,\n year: parseInt(date.slice(6, 10), 10),\n };\n }\n }\n\n // TODO: Move month and year related code corresponding classes\n /**\n * Parsing a string with date with normalization\n *\n * @param rawDate date string\n * @param dateMode date format of the date string (DMY | MDY | YMD)\n * @return normalized date\n */\n static normalizeParse(rawDate: string, dateMode: TuiDateMode = `DMY`): TuiDay {\n const {day, month, year} = this.parseRawDateString(rawDate, dateMode);\n\n return TuiDay.normalizeOf(year, month, day);\n }\n\n /**\n * Parsing a date stringified in a toJSON format\n * @param yearMonthDayString date string in format of YYYY-MM-DD\n * @return date\n * @throws exceptions if any part of the date is invalid\n */\n static jsonParse(yearMonthDayString: string): TuiDay {\n const {day, month, year} = this.parseRawDateString(yearMonthDayString, `YMD`);\n\n if (!TuiYear.isValidYear(year)) {\n throw new TuiInvalidYearException(year);\n }\n\n if (!TuiMonth.isValidMonth(year, month)) {\n throw new TuiInvalidMonthException(month);\n }\n\n if (\n !Number.isInteger(day) ||\n !tuiInRange(\n day,\n MIN_DAY,\n TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1,\n )\n ) {\n throw new TuiInvalidDayException(day);\n }\n\n return new TuiDay(year, month, day);\n }\n\n protected static normalizeDayPart(day: number, month: number, year: number): number {\n tuiAssert.assert(TuiMonth.isValidMonth(year, month));\n\n const monthDaysCount = TuiMonth.getMonthDaysCount(\n month,\n TuiYear.isLeapYear(year),\n );\n\n return tuiNormalizeToIntNumber(day, 1, monthDaysCount);\n }\n\n get formattedDayPart(): string {\n return String(this.day).padStart(2, `0`);\n }\n\n get isWeekend(): boolean {\n const dayOfWeek = this.dayOfWeek(false);\n\n return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;\n }\n\n /**\n * Returns day of week\n *\n * @param startFromMonday whether week starts from Monday and not from Sunday\n * @return day of week (from 0 to 6)\n */\n dayOfWeek(startFromMonday: boolean = true): number {\n const dayOfWeek = startFromMonday\n ? this.toLocalNativeDate().getDay() - 1\n : this.toLocalNativeDate().getDay();\n\n return dayOfWeek < 0 ? 6 : dayOfWeek;\n }\n\n /**\n * Passed date is after current\n */\n dayBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day < another.day)\n );\n }\n\n /**\n * Passed date is after or equals to current\n */\n daySameOrBefore(another: TuiDay): boolean {\n return (\n this.monthBefore(another) ||\n (this.monthSame(another) && this.day <= another.day)\n );\n }\n\n /**\n * Passed date is the same as current\n */\n daySame(another: TuiDay): boolean {\n return this.monthSame(another) && this.day === another.day;\n }\n\n /**\n * Passed date is either before or the same as current\n */\n daySameOrAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day >= another.day)\n );\n }\n\n /**\n * Passed date is before current\n */\n dayAfter(another: TuiDay): boolean {\n return (\n this.monthAfter(another) ||\n (this.monthSame(another) && this.day > another.day)\n );\n }\n\n /**\n * Clamping date between two limits\n *\n * @param min\n * @param max\n * @return clamped date\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDay {\n if (min !== null && this.dayBefore(min)) {\n return min;\n }\n\n if (max !== null && this.dayAfter(max)) {\n return max;\n }\n\n return this;\n }\n\n /**\n * Immutably alters current day by passed offset\n *\n * If resulting month has more days than original one, date is rounded to the maximum day\n * in the resulting month. Offset of days will be calculated based on the resulted year and month\n * to not interfere with parent classes methods\n *\n * @param offset\n * @return new date object as a result of offsetting current\n */\n append({year = 0, month = 0, day = 0}: TuiDayLike): TuiDay {\n const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;\n let years = Math.floor(totalMonths / MONTHS_IN_YEAR);\n let months = totalMonths % MONTHS_IN_YEAR;\n\n let days =\n Math.min(\n this.day,\n TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years)),\n ) + day;\n\n while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {\n days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n\n if (months === TuiMonthNumber.December) {\n years++;\n months = TuiMonthNumber.January;\n } else {\n months++;\n }\n }\n\n while (days < MIN_DAY) {\n if (months === TuiMonthNumber.January) {\n years--;\n months = TuiMonthNumber.December;\n } else {\n months--;\n }\n\n days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));\n }\n\n return new TuiDay(years, months, days);\n }\n\n /**\n * Returns formatted whole date\n */\n getFormattedDay(dateFormat: TuiDateMode, separator: string): string {\n tuiAssert.assert(\n separator.length === 1,\n `Separator should consist of only 1 symbol`,\n );\n\n const dd = this.formattedDayPart;\n const mm = this.formattedMonthPart;\n const yyyy = this.formattedYear;\n\n switch (dateFormat) {\n case `YMD`:\n return `${yyyy}${separator}${mm}${separator}${dd}`;\n case `MDY`:\n return `${mm}${separator}${dd}${separator}${yyyy}`;\n case `DMY`:\n default:\n return `${dd}${separator}${mm}${separator}${yyyy}`;\n }\n }\n\n toString(dateFormat: TuiDateMode = `DMY`, separator: string = `.`): string {\n return this.getFormattedDay(dateFormat, separator);\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","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 static sort(month1: TuiMonth, month2: TuiMonth): TuiMonthRange {\n return month1.monthSameOrBefore(month2)\n ? new TuiMonthRange(month1, month2)\n : new TuiMonthRange(month2, month1);\n }\n\n get isSingleMonth(): boolean {\n return this.from.monthSame(this.to);\n }\n\n monthSame(another: TuiMonthRange): boolean {\n return this.from.monthSame(another.from) && this.to.monthSame(another.to);\n }\n\n toString(): string {\n return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;\n }\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiDateMode} from '@taiga-ui/cdk/types';\n\nimport {DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH} from './date-fillers';\nimport {RANGE_SEPARATOR_CHAR} from './date-time';\nimport {TuiDay} from './day';\nimport {TuiMonthRange} from './month-range';\n\n/**\n * An immutable range of two {@link TuiDay} objects\n */\nexport class TuiDayRange extends TuiMonthRange {\n constructor(readonly from: TuiDay, readonly to: TuiDay) {\n super(from, to);\n\n tuiAssert.assert(from.daySameOrBefore(to));\n }\n\n /**\n * Creates range from two days after sorting them\n *\n * @param day1\n * @param day2\n * @return new range with sorted days\n */\n static sort(day1: TuiDay, day2: TuiDay): TuiDayRange {\n return day1.daySameOrBefore(day2)\n ? new TuiDayRange(day1, day2)\n : new TuiDayRange(day2, day1);\n }\n\n /**\n * Parse and correct a day range in string format\n *\n * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy\n * @param dateMode {@link TuiDateMode}\n * @return normalized day range object\n */\n static normalizeParse(\n rangeString: string,\n dateMode: TuiDateMode = `DMY`,\n ): TuiDayRange {\n const leftDay = TuiDay.normalizeParse(\n rangeString.slice(0, DATE_FILLER_LENGTH),\n dateMode,\n );\n\n if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {\n return new TuiDayRange(leftDay, leftDay);\n }\n\n return TuiDayRange.sort(\n leftDay,\n TuiDay.normalizeParse(\n rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n dateMode,\n ),\n );\n }\n\n get isSingleDay(): boolean {\n return this.from.daySame(this.to);\n }\n\n /**\n * Tests ranges for identity\n *\n * @param another second range to test against current\n * @return `true` if days are identical\n */\n daySame(another: TuiDayRange): boolean {\n return this.from.daySame(another.from) && this.to.daySame(another.to);\n }\n\n /**\n * Locks range between two days included, or limits from one side if the other is null\n *\n * @param min\n * @param max\n * @return range — clamped range\n */\n dayLimit(min: TuiDay | null, max: TuiDay | null): TuiDayRange {\n return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));\n }\n\n /**\n * Human readable format.\n */\n getFormattedDayRange(dateFormat: TuiDateMode, dateSeparator: string): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n\n toString(dateFormat: TuiDateMode = `DMY`, dateSeparator: string = `.`): string {\n const from = this.from.getFormattedDay(dateFormat, dateSeparator);\n const to = this.to.getFormattedDay(dateFormat, dateSeparator);\n\n return `${from}${RANGE_SEPARATOR_CHAR}${to}`;\n }\n}\n","import {MAX_MONTH, MAX_YEAR, MIN_DAY, MIN_MONTH, MIN_YEAR} from './date-time';\nimport {TuiDay} from './day';\n\nexport const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);\n\nexport const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiTimeLike} from '@taiga-ui/cdk/interfaces';\nimport {TuiTimeMode} from '@taiga-ui/cdk/types';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {\n HOURS_IN_DAY,\n MILLISECONDS_IN_DAY,\n MILLISECONDS_IN_HOUR,\n MILLISECONDS_IN_MINUTE,\n MINUTES_IN_HOUR,\n SECONDS_IN_MINUTE,\n} from './date-time';\n\n/**\n * Immutable time object with hours, minutes, seconds and ms\n */\nexport class TuiTime implements TuiTimeLike {\n constructor(\n readonly hours: number,\n readonly minutes: number,\n readonly seconds: number = 0,\n readonly ms: number = 0,\n ) {\n tuiAssert.assert(\n TuiTime.isValidTime(hours, minutes, seconds, ms),\n `Time must be real, but got:`,\n hours,\n minutes,\n seconds,\n ms,\n );\n }\n\n /**\n * Checks if time is valid\n */\n static isValidTime(\n hours: number,\n minutes: number,\n seconds: number = 0,\n ms: number = 0,\n ): boolean {\n return (\n Number.isInteger(hours) &&\n tuiInRange(hours, 0, HOURS_IN_DAY) &&\n Number.isInteger(minutes) &&\n tuiInRange(minutes, 0, MINUTES_IN_HOUR) &&\n Number.isInteger(seconds) &&\n tuiInRange(seconds, 0, SECONDS_IN_MINUTE) &&\n Number.isInteger(ms) &&\n tuiInRange(ms, 0, 1000)\n );\n }\n\n /**\n * Current UTC time.\n */\n static current(): TuiTime {\n return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);\n }\n\n /**\n * Current time in local timezone\n */\n static currentLocal(): TuiTime {\n const date = new Date();\n\n return TuiTime.fromAbsoluteMilliseconds(\n (Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %\n MILLISECONDS_IN_DAY,\n );\n }\n\n /**\n * Calculates TuiTime from milliseconds\n */\n static fromAbsoluteMilliseconds(milliseconds: number): TuiTime {\n tuiAssert.assert(Number.isInteger(milliseconds));\n tuiAssert.assert(\n tuiInRange(milliseconds, 0, MILLISECONDS_IN_DAY),\n `Milliseconds must be below ${MILLISECONDS_IN_DAY} (milliseconds in a day).`,\n );\n\n const hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);\n const minutes = Math.floor(\n (milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE,\n );\n const seconds =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000,\n ) || 0;\n const ms =\n Math.floor(\n ((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000,\n ) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Parses string into TuiTime object\n */\n static fromString(time: string): TuiTime {\n const hours = Number(time.slice(0, 2));\n const minutes = Number(time.slice(3, 5));\n const seconds = Number(time.slice(6, 8)) || 0;\n const ms = Number(time.slice(9, 12)) || 0;\n\n return new TuiTime(hours, minutes, seconds, ms);\n }\n\n /**\n * Converts Date object into TuiTime\n * @param date\n */\n static fromLocalNativeDate(date: Date): TuiTime {\n return new TuiTime(\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n );\n }\n\n /**\n * Shifts time by hours and minutes\n */\n shift({hours = 0, minutes = 0, seconds = 0, ms = 0}: TuiTimeLike): TuiTime {\n const newMs = (1000 + this.ms + (ms % 1000)) % 1000;\n\n const secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);\n const secondsToAdd = secondsInMs + seconds;\n const newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;\n\n const minutesInSeconds =\n secondsToAdd < 0\n ? Math.ceil(secondsToAdd / 60)\n : Math.floor(secondsToAdd / 60);\n const minutesToAdd = minutesInSeconds + minutes;\n const newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;\n\n const hoursInMinutes =\n minutesToAdd < 0\n ? Math.ceil(minutesToAdd / 60)\n : Math.floor(minutesToAdd / 60);\n const hoursToAdd = hoursInMinutes + hours;\n const newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;\n\n return new TuiTime(newHours, newMinutes, newSeconds, newMs);\n }\n\n /**\n * Converts TuiTime to string\n */\n toString(mode?: TuiTimeMode): string {\n const needAddMs = mode === `HH:MM:SS.MSS` || (!mode && this.ms > 0);\n const needAddSeconds =\n needAddMs || mode === `HH:MM:SS` || (!mode && this.seconds > 0);\n\n return (\n `${this.formatTime(this.hours)}:${this.formatTime(this.minutes)}` +\n `${needAddSeconds ? `:${this.formatTime(this.seconds)}` : ``}` +\n `${needAddMs ? `.${this.formatTime(this.ms, 3)}` : ``}`\n );\n }\n\n valueOf(): number {\n return this.toAbsoluteMilliseconds();\n }\n\n /**\n * Returns the primitive value of the given Date object.\n * Depending on the argument, the method can return either a string or a number.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive\n */\n [Symbol.toPrimitive](hint: string): string | number {\n return Date.prototype[Symbol.toPrimitive].call(this, hint);\n }\n\n /**\n * Converts TuiTime to milliseconds\n */\n toAbsoluteMilliseconds(): number {\n return (\n this.hours * MILLISECONDS_IN_HOUR +\n this.minutes * MILLISECONDS_IN_MINUTE +\n this.seconds * 1000 +\n this.ms\n );\n }\n\n private formatTime(time: number, digits: number = 2): string {\n return String(time).padStart(digits, `0`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEO,MAAM,YAAY,GAAG,EAAE;AAEvB,MAAM,mBAAmB,GAAG,IAAI;AAEhC,MAAM,iBAAiB,GAAG,IAAI;AAE9B,MAAM,cAAc,GAAG,GAAG;AAE1B,MAAM,OAAO,GAAG,EAAE;AAElB,MAAM,SAAS,GAAG,EAAE;AAEpB,MAAM,SAAS,GAAG,GAAG;AAErB,MAAM,QAAQ,GAAG,EAAE;AAEnB,MAAM,QAAQ,GAAG,KAAK;AAEhB,MAAA,oBAAoB,GAAG,CAAA,EAAG,mBAAmB,CAAA,EAAG,YAAY,CAAA,EAAG,mBAAmB,CAAA,EAAG;AAE3F,MAAM,sBAAsB,GAAG,KAAK;AAEpC,MAAM,iBAAiB,GAAG,GAAG;AAE7B,MAAM,eAAe,GAAG,GAAG;AAE3B,MAAM,YAAY,GAAG,GAAG;AAElB,MAAA,sBAAsB,GAAG,sBAAsB,GAAG,kBAAkB;AAEpE,MAAA,oBAAoB,GAAG,sBAAsB,GAAG,gBAAgB;AAEhE,MAAA,mBAAmB,GAAG,oBAAoB,GAAG;;AChC1D;;;;;;AAMG;AACI,MAAM,kBAAkB,GAAG,GAAG;AACrC;;;AAGG;AACU,MAAA,wBAAwB,GACjC,CAAC,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;;MCZrC,eAAe,GAAG,IAAI,cAAc,CAC7C,iCAAiC,EACjC;AACI,IAAA,OAAO,EAAE,MAAM,CAAK,GAAA,CAAA;AACvB,CAAA;;MCLQ,kBAAkB,GAAG,IAAI,cAAc,CAChD,wCAAwC,EACxC;AACI,IAAA,OAAO,EAAE,MAAM,CAAG,CAAA,CAAA;AACrB,CAAA,EACH;AAEW,MAAA,mBAAmB,GAAG,CAC/B,UAAkB,EAClB,gBAAwB,KACf,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,gBAAgB;;ACNxE;;;AAGG;MACU,OAAO,CAAA;AAChB,IAAA,WAAA,CAAqB,IAAY,EAAA;QAAZ,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAC7B,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;KAC/C;AAED;;AAEG;IACH,OAAO,WAAW,CAAC,IAAY,EAAA;AAC3B,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;KAC7E;AAED;;AAEG;IACH,OAAO,UAAU,CAAC,IAAY,EAAA;QAC1B,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5C,QAAA,OAAO,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;KACnE;AAED;;AAEG;IACH,OAAO,oBAAoB,CAAC,IAAY,EAAA;QACpC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;KAChF;AAED,IAAA,OAAO,aAAa,CAAC,IAAa,EAAE,EAAW,EAAA;AAC3C,QAAA,OAAO,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;KAC9B;AAED;;AAEG;IACO,OAAO,iBAAiB,CAAC,IAAY,EAAA;QAC3C,OAAO,uBAAuB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC5D;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;KAC7C;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxC;AAED;;AAEG;AACH,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClD;AAED;;AAEG;IACH,UAAU,CAAC,EAAC,IAAI,EAAU,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAC3B;AAED;;AAEG;IACH,gBAAgB,CAAC,EAAC,IAAI,EAAU,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;KAC5B;AAED;;AAEG;IACH,QAAQ,CAAC,EAAC,IAAI,EAAU,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;KAC7B;AAED;;AAEG;IACH,eAAe,CAAC,EAAC,IAAI,EAAU,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;KAC5B;AAED;;AAEG;IACH,SAAS,CAAC,EAAC,IAAI,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KAC3B;AAED;;AAEG;AACH,IAAA,MAAM,CAAC,EAAC,IAAI,GAAG,CAAC,EAAc,EAAA;QAC1B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAEzC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEpC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAElD,QAAA,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,QAAQ,GAAA;QACJ,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;IAED,OAAO,GAAA;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AAED;;;;AAIG;AACH,IAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC9D;IAED,MAAM,GAAA;QACF,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AACJ;;AC9HD;;AAEG;AACG,MAAO,QAAS,SAAQ,OAAO,CAAA;AACjC;;;AAGG;IACH,WAAY,CAAA,IAAY,EAAW,KAAa,EAAA;QAC5C,KAAK,CAAC,IAAI,CAAC,CAAC;QADmB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AAE5C,QAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KACxD;AAED;;AAEG;AACH,IAAA,OAAO,YAAY,CAAC,IAAY,EAAE,KAAa,EAAA;AAC3C,QAAA,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KACxE;AAED;;AAEG;AACH,IAAA,OAAO,iBAAiB,CAAC,KAAa,EAAE,UAAmB,EAAA;QACvD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAEnD,QAAA,QAAQ,KAAK;AACT,YAAA,KAAA,CAAA;gBACI,OAAO,UAAU,GAAG,EAAE,GAAG,EAAE,CAAC;YAChC,KAA0B,CAAA,aAAA;YAC1B,KAAyB,CAAA,YAAA;YACzB,KAA8B,CAAA,iBAAA;AAC9B,YAAA,KAAA,EAAA;AACI,gBAAA,OAAO,EAAE,CAAC;AACd,YAAA;AACI,gBAAA,OAAO,EAAE,CAAC;AACjB,SAAA;KACJ;AAED;;;AAGG;AACH,IAAA,OAAO,YAAY,GAAA;AACf,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;AAE9B,QAAA,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;KACxE;AAED;;AAEG;AACH,IAAA,OAAO,UAAU,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;AAE9B,QAAA,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;KAC9E;AAED,IAAA,OAAO,aAAa,CAAC,IAAc,EAAE,EAAY,EAAA;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;QAE3C,OAAO,UAAU,GAAG,YAAY,CAAC;KACpC;AAED;;AAEG;IACO,OAAO,kBAAkB,CAAC,KAAa,EAAA;QAC7C,OAAO,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;KAC/D;AAED;;AAEG;IACK,OAAO,gBAAgB,CAAC,KAAa,EAAA;AACzC,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;KACjF;AAED,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;KAClD;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;KAClE;AAED;;AAEG;AACH,IAAA,WAAW,CAAC,OAAiB,EAAA;AACzB,QAAA,QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,aAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EACxD;KACL;AAED;;AAEG;AACH,IAAA,iBAAiB,CAAC,OAAiB,EAAA;AAC/B,QAAA,QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,aAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EACzD;KACL;AAED;;AAEG;AACH,IAAA,SAAS,CAAC,OAAiB,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC;KACjE;AAED;;AAEG;AACH,IAAA,gBAAgB,CAAC,OAAiB,EAAA;AAC9B,QAAA,QACI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACvB,aAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EACzD;KACL;AAED;;AAEG;AACH,IAAA,UAAU,CAAC,OAAiB,EAAA;AACxB,QAAA,QACI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;AACvB,aAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EACxD;KACL;AAED;;;;;AAKG;IACH,MAAM,CAAC,EAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAe,EAAA;AACtC,QAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAE7E,QAAA,OAAO,IAAI,QAAQ,CACf,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,EACxC,WAAW,GAAG,cAAc,CAC/B,CAAC;KACL;IAED,QAAQ,GAAA;QACJ,OAAO,CAAA,EAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAA,CAAE,CAAC;KAC7D;IAED,OAAO,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,CAAC;KAC7C;IAED,MAAM,GAAA;QACF,OAAO,CAAA,EAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAA,CAAE,CAAC;KACzD;AAED;;AAEG;IACH,iBAAiB,GAAA;QACb,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;IACH,eAAe,GAAA;AACX,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACpD;AACJ;;ACzKD;AACA;;AAEG;AACG,MAAO,MAAO,SAAQ,QAAQ,CAAA;AAChC,IAAA,WAAA,CAAY,IAAY,EAAE,KAAa,EAAW,GAAW,EAAA;AACzD,QAAA,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAD2B,IAAG,CAAA,GAAA,GAAH,GAAG,CAAQ;AAEzD,QAAA,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;KACzD;AAED;;AAEG;IACH,OAAO,mBAAmB,CAAC,IAAU,EAAA;AACjC,QAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC1E;AAED;;AAEG;IACH,OAAO,iBAAiB,CAAC,IAAU,EAAA;AAC/B,QAAA,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;KACnF;AAED;;;;;;;AAOG;AACH,IAAA,OAAO,UAAU,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAA;QACtD,QACI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;AAClC,YAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,UAAU,CACN,GAAG,EACH,OAAO,EACP,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAClE,EACH;KACL;AAED;;AAEG;AACH,IAAA,OAAO,YAAY,GAAA;AACf,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;AAC9B,QAAA,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;AACtC,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;AACpC,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAEjC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACvC;AAED;;AAEG;AACH,IAAA,OAAO,UAAU,GAAA;AACb,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;AAC9B,QAAA,MAAM,IAAI,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;AACzC,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;AACvC,QAAA,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAEpC,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACvC;AAED;;;;;;;AAOG;AACH,IAAA,OAAO,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAA;QACvD,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC3D,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CACzC,GAAG,EACH,eAAe,EACf,cAAc,CACjB,CAAC;QAEF,OAAO,IAAI,MAAM,CAAC,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;KACrE;AAED,IAAA,OAAO,aAAa,CAAC,IAAY,EAAE,EAAU,EAAA;QACzC,OAAO,IAAI,CAAC,KAAK,CACb,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE;aACjE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAC5B,CAAC;KACL;AAED,IAAA,OAAO,kBAAkB,CACrB,IAAY,EACZ,WAAwB,CAAK,GAAA,CAAA,EAAA;QAE7B,SAAS,CAAC,MAAM,CACZ,IAAI,CAAC,MAAM,KAAK,kBAAkB,EAClC,CAAgD,8CAAA,CAAA,CACnD,CAAC;AAEF,QAAA,QAAQ,QAAQ;AACZ,YAAA,KAAK,CAAK,GAAA,CAAA;gBACN,OAAO;AACH,oBAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACpC,oBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACzC,oBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;iBACvC,CAAC;AAEN,YAAA,KAAK,CAAK,GAAA,CAAA;gBACN,OAAO;AACH,oBAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,oBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACzC,oBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;iBACxC,CAAC;YAEN,QAAQ;AACR,YAAA,KAAK,CAAK,GAAA,CAAA;gBACN,OAAO;AACH,oBAAA,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;AACnC,oBAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;AACzC,oBAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;iBACxC,CAAC;AACT,SAAA;KACJ;;AAGD;;;;;;AAMG;AACH,IAAA,OAAO,cAAc,CAAC,OAAe,EAAE,WAAwB,CAAK,GAAA,CAAA,EAAA;AAChE,QAAA,MAAM,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtE,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KAC/C;AAED;;;;;AAKG;IACH,OAAO,SAAS,CAAC,kBAA0B,EAAA;AACvC,QAAA,MAAM,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAA,GAAA,CAAK,CAAC,CAAC;AAE9E,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,MAAM,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;AACrC,YAAA,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC,CAAC;AAC7C,SAAA;AAED,QAAA,IACI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;YACtB,CAAC,UAAU,CACP,GAAG,EACH,OAAO,EACP,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAClE,EACH;AACE,YAAA,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;AACzC,SAAA;QAED,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACvC;AAES,IAAA,OAAO,gBAAgB,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY,EAAA;AACtE,QAAA,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAErD,QAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,CAC7C,KAAK,EACL,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAC3B,CAAC;QAEF,OAAO,uBAAuB,CAAC,GAAG,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;KAC1D;AAED,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAA,CAAA,CAAG,CAAC,CAAC;KAC5C;AAED,IAAA,IAAI,SAAS,GAAA;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAExC,QAAA,OAAO,SAAS,KAAA,CAAA,mBAA8B,SAAS,oBAAyB;KACnF;AAED;;;;;AAKG;IACH,SAAS,CAAC,kBAA2B,IAAI,EAAA;QACrC,MAAM,SAAS,GAAG,eAAe;cAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC;cACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC;QAExC,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;KACxC;AAED;;AAEG;AACH,IAAA,SAAS,CAAC,OAAe,EAAA;AACrB,QAAA,QACI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACzB,aAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EACrD;KACL;AAED;;AAEG;AACH,IAAA,eAAe,CAAC,OAAe,EAAA;AAC3B,QAAA,QACI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;AACzB,aAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EACtD;KACL;AAED;;AAEG;AACH,IAAA,OAAO,CAAC,OAAe,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;KAC9D;AAED;;AAEG;AACH,IAAA,cAAc,CAAC,OAAe,EAAA;AAC1B,QAAA,QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,aAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EACtD;KACL;AAED;;AAEG;AACH,IAAA,QAAQ,CAAC,OAAe,EAAA;AACpB,QAAA,QACI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AACxB,aAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EACrD;KACL;AAED;;;;;;AAMG;IACH,QAAQ,CAAC,GAAkB,EAAE,GAAkB,EAAA;QAC3C,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;AACrC,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;QAED,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACpC,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;;;;;;;;AASG;AACH,IAAA,MAAM,CAAC,EAAC,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAa,EAAA;AAC7C,QAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,CAAC;AACrD,QAAA,IAAI,MAAM,GAAG,WAAW,GAAG,cAAc,CAAC;QAE1C,IAAI,IAAI,GACJ,IAAI,CAAC,GAAG,CACJ,IAAI,CAAC,GAAG,EACR,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAChE,GAAG,GAAG,CAAC;AAEZ,QAAA,OAAO,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;AACzE,YAAA,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,wBAA8B;AACpC,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,MAAM,mBAA0B;AACnC,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,EAAE,CAAC;AACZ,aAAA;AACJ,SAAA;QAED,OAAO,IAAI,GAAG,OAAO,EAAE;YACnB,IAAI,MAAM,sBAA6B;AACnC,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,MAAM,qBAA2B;AACpC,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,EAAE,CAAC;AACZ,aAAA;AAED,YAAA,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,SAAA;QAED,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;IACH,eAAe,CAAC,UAAuB,EAAE,SAAiB,EAAA;QACtD,SAAS,CAAC,MAAM,CACZ,SAAS,CAAC,MAAM,KAAK,CAAC,EACtB,CAA2C,yCAAA,CAAA,CAC9C,CAAC;AAEF,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;AACjC,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;AACnC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;AAEhC,QAAA,QAAQ,UAAU;AACd,YAAA,KAAK,CAAK,GAAA,CAAA;gBACN,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,CAAE,CAAC;AACvD,YAAA,KAAK,CAAK,GAAA,CAAA;gBACN,OAAO,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AACvD,YAAA,KAAK,KAAK,CAAC;AACX,YAAA;gBACI,OAAO,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,EAAE,CAAA,EAAG,SAAS,CAAA,EAAG,IAAI,CAAA,CAAE,CAAC;AAC1D,SAAA;KACJ;AAED,IAAA,QAAQ,CAAC,UAAA,GAA0B,CAAK,GAAA,CAAA,EAAE,YAAoB,CAAG,CAAA,CAAA,EAAA;QAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;KACtD;IAED,MAAM,GAAA;QACF,OAAO,CAAA,EAAG,KAAK,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAA,CAAE,CAAC;KACvD;AAED;;AAEG;IACH,iBAAiB,GAAA;AACb,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACpD;AAED;;AAEG;IACH,eAAe,GAAA;QACX,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9D;AACJ;;ACzXD;;AAEG;MACU,aAAa,CAAA;IACtB,WAAqB,CAAA,IAAc,EAAW,EAAY,EAAA;QAArC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAU;QAAW,IAAE,CAAA,EAAA,GAAF,EAAE,CAAU;QACtD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;KAChD;AAED,IAAA,OAAO,IAAI,CAAC,MAAgB,EAAE,MAAgB,EAAA;AAC1C,QAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACnC,cAAE,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;cACjC,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3C;AAED,IAAA,IAAI,aAAa,GAAA;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,OAAsB,EAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC7E;IAED,QAAQ,GAAA;QACJ,OAAO,CAAA,EAAG,IAAI,CAAC,IAAI,CAAA,EAAG,oBAAoB,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;KAC1D;AACJ;;ACtBD;;AAEG;AACG,MAAO,WAAY,SAAQ,aAAa,CAAA;IAC1C,WAAqB,CAAA,IAAY,EAAW,EAAU,EAAA;AAClD,QAAA,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QADC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QAAW,IAAE,CAAA,EAAA,GAAF,EAAE,CAAQ;QAGlD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9C;AAED;;;;;;AAMG;AACH,IAAA,OAAO,IAAI,CAAC,IAAY,EAAE,IAAY,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;AAC7B,cAAE,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;cAC3B,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACrC;AAED;;;;;;AAMG;AACH,IAAA,OAAO,cAAc,CACjB,WAAmB,EACnB,WAAwB,CAAK,GAAA,CAAA,EAAA;AAE7B,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CACjC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,EACxC,QAAQ,CACX,CAAC;AAEF,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,wBAAwB,EAAE;AAC/C,YAAA,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAA;QAED,OAAO,WAAW,CAAC,IAAI,CACnB,OAAO,EACP,MAAM,CAAC,cAAc,CACjB,WAAW,CAAC,KAAK,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC,EACnE,QAAQ,CACX,CACJ,CAAC;KACL;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACrC;AAED;;;;;AAKG;AACH,IAAA,OAAO,CAAC,OAAoB,EAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KACzE;AAED;;;;;;AAMG;IACH,QAAQ,CAAC,GAAkB,EAAE,GAAkB,EAAA;QAC3C,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;KACpF;AAED;;AAEG;IACH,oBAAoB,CAAC,UAAuB,EAAE,aAAqB,EAAA;AAC/D,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAClE,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE9D,QAAA,OAAO,GAAG,IAAI,CAAA,EAAG,oBAAoB,CAAG,EAAA,EAAE,EAAE,CAAC;KAChD;AAED,IAAA,QAAQ,CAAC,UAAA,GAA0B,CAAK,GAAA,CAAA,EAAE,gBAAwB,CAAG,CAAA,CAAA,EAAA;AACjE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAClE,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAE9D,QAAA,OAAO,GAAG,IAAI,CAAA,EAAG,oBAAoB,CAAG,EAAA,EAAE,EAAE,CAAC;KAChD;AACJ;;AClGM,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;AAE/D,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;;ACS9D;;AAEG;MACU,OAAO,CAAA;IAChB,WACa,CAAA,KAAa,EACb,OAAe,EACf,UAAkB,CAAC,EACnB,KAAa,CAAC,EAAA;QAHd,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QACb,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;QACf,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QAEvB,SAAS,CAAC,MAAM,CACZ,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAChD,CAA6B,2BAAA,CAAA,EAC7B,KAAK,EACL,OAAO,EACP,OAAO,EACP,EAAE,CACL,CAAC;KACL;AAED;;AAEG;IACH,OAAO,WAAW,CACd,KAAa,EACb,OAAe,EACf,OAAkB,GAAA,CAAC,EACnB,EAAA,GAAa,CAAC,EAAA;AAEd,QAAA,QACI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;AACvB,YAAA,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC;AAClC,YAAA,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;AACzB,YAAA,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,eAAe,CAAC;AACvC,YAAA,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;AACzB,YAAA,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,CAAC;AACzC,YAAA,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EACzB;KACL;AAED;;AAEG;AACH,IAAA,OAAO,OAAO,GAAA;QACV,OAAO,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,mBAAmB,CAAC,CAAC;KAC7E;AAED;;AAEG;AACH,IAAA,OAAO,YAAY,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAExB,QAAA,OAAO,OAAO,CAAC,wBAAwB,CACnC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,sBAAsB;AAC3D,YAAA,mBAAmB,CAC1B,CAAC;KACL;AAED;;AAEG;IACH,OAAO,wBAAwB,CAAC,YAAoB,EAAA;QAChD,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AACjD,QAAA,SAAS,CAAC,MAAM,CACZ,UAAU,CAAC,YAAY,EAAE,CAAC,EAAE,mBAAmB,CAAC,EAChD,CAAA,2BAAA,EAA8B,mBAAmB,CAAA,yBAAA,CAA2B,CAC/E,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,oBAAoB,CAAC,CAAC;AAC9D,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACtB,CAAC,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,CACjE,CAAC;QACF,MAAM,OAAO,GACT,IAAI,CAAC,KAAK,CACN,CAAC,CAAC,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,IAAI,IAAI,CAC1E,IAAI,CAAC,CAAC;QACX,MAAM,EAAE,GACJ,IAAI,CAAC,KAAK,CACN,CAAC,CAAC,YAAY,GAAG,oBAAoB,IAAI,sBAAsB,IAAI,IAAI,CAC1E,IAAI,CAAC,CAAC;QAEX,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;KACnD;AAED;;AAEG;IACH,OAAO,UAAU,CAAC,IAAY,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1C,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;KACnD;AAED;;;AAGG;IACH,OAAO,mBAAmB,CAAC,IAAU,EAAA;QACjC,OAAO,IAAI,OAAO,CACd,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,eAAe,EAAE,CACzB,CAAC;KACL;AAED;;AAEG;AACH,IAAA,KAAK,CAAC,EAAC,KAAK,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAc,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;QAEpD,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AAC1E,QAAA,MAAM,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAC3C,QAAA,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAElE,QAAA,MAAM,gBAAgB,GAClB,YAAY,GAAG,CAAC;cACV,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;cAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;AACxC,QAAA,MAAM,YAAY,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAChD,QAAA,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,YAAY,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAElE,QAAA,MAAM,cAAc,GAChB,YAAY,GAAG,CAAC;cACV,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;cAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;AACxC,QAAA,MAAM,UAAU,GAAG,cAAc,GAAG,KAAK,CAAC;AAC1C,QAAA,MAAM,QAAQ,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;QAE5D,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;KAC/D;AAED;;AAEG;AACH,IAAA,QAAQ,CAAC,IAAkB,EAAA;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,KAAK,CAAA,YAAA,CAAc,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpE,QAAA,MAAM,cAAc,GAChB,SAAS,IAAI,IAAI,KAAK,UAAU,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AAEpE,QAAA,QACI,CAAG,EAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAE,CAAA;AACjE,YAAA,CAAA,EAAG,cAAc,GAAG,CAAI,CAAA,EAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAE,GAAG,EAAE,CAAE,CAAA;YAC9D,CAAG,EAAA,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAE,CAAA,GAAG,CAAA,CAAE,CAAE,CAAA,EACzD;KACL;IAED,OAAO,GAAA;AACH,QAAA,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACxC;AAED;;;;AAIG;AACH,IAAA,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAY,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC9D;AAED;;AAEG;IACH,sBAAsB,GAAA;AAClB,QAAA,QACI,IAAI,CAAC,KAAK,GAAG,oBAAoB;YACjC,IAAI,CAAC,OAAO,GAAG,sBAAsB;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI;YACnB,IAAI,CAAC,EAAE,EACT;KACL;AAEO,IAAA,UAAU,CAAC,IAAY,EAAE,MAAA,GAAiB,CAAC,EAAA;QAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAG,CAAA,CAAA,CAAC,CAAC;KAC7C;AACJ;;ACnMD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["ng://@taiga-ui/cdk/decorators/default-prop.ts","ng://@taiga-ui/cdk/decorators/pure.ts","ng://@taiga-ui/cdk/decorators/required-setter.ts","ng://@taiga-ui/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: object,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {value: patched});\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: object,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: object,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {value: patched});\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: object,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
- import { __decorate, __param } from 'tslib';
2
- import { Inject, NgZone, ElementRef, Optional, SkipSelf, Input, Output, Directive, NgModule } from '@angular/core';
1
+ import { __decorate } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { NgZone, ElementRef, Directive, Inject, Optional, SkipSelf, Input, Output, NgModule } from '@angular/core';
3
4
  import { tuiDefaultProp, tuiPure } from '@taiga-ui/cdk/decorators';
4
5
  import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
5
6
  import { TUI_ACTIVE_ELEMENT } from '@taiga-ui/cdk/tokens';
6
- import { Observable } from 'rxjs';
7
+ import { tuiArrayRemove } from '@taiga-ui/cdk/utils';
7
8
  import { map, startWith, distinctUntilChanged, skip } from 'rxjs/operators';
9
+ import * as i1 from 'rxjs';
8
10
 
9
- var TuiActiveZoneDirective_1;
10
- let TuiActiveZoneDirective = TuiActiveZoneDirective_1 = class TuiActiveZoneDirective {
11
+ class TuiActiveZoneDirective {
11
12
  constructor(active$, ngZone, elementRef, directParentActiveZone) {
12
13
  this.active$ = active$;
13
14
  this.ngZone = ngZone;
@@ -48,50 +49,58 @@ let TuiActiveZoneDirective = TuiActiveZoneDirective_1 = class TuiActiveZoneDirec
48
49
  this.subActiveZones = [...this.subActiveZones, activeZone];
49
50
  }
50
51
  removeSubActiveZone(activeZone) {
51
- const index = this.subActiveZones.findIndex(item => item === activeZone);
52
- this.subActiveZones = [
53
- ...this.subActiveZones.slice(0, index),
54
- ...this.subActiveZones.slice(index + 1),
55
- ];
52
+ this.subActiveZones = tuiArrayRemove(this.subActiveZones, this.subActiveZones.indexOf(activeZone));
56
53
  }
57
- };
58
- TuiActiveZoneDirective.ctorParameters = () => [
59
- { type: Observable, decorators: [{ type: Inject, args: [TUI_ACTIVE_ELEMENT,] }] },
60
- { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
61
- { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
62
- { type: TuiActiveZoneDirective, decorators: [{ type: Optional }, { type: SkipSelf }, { type: Inject, args: [TuiActiveZoneDirective_1,] }] }
63
- ];
54
+ }
55
+ TuiActiveZoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneDirective, deps: [{ token: TUI_ACTIVE_ELEMENT }, { token: NgZone }, { token: ElementRef }, { token: TuiActiveZoneDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
56
+ TuiActiveZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: { tuiActiveZoneParentSetter: ["tuiActiveZoneParent", "tuiActiveZoneParentSetter"] }, outputs: { tuiActiveZoneChange: "tuiActiveZoneChange" }, exportAs: ["tuiActiveZone"], ngImport: i0 });
64
57
  __decorate([
65
- Input(`tuiActiveZoneParent`),
66
58
  tuiDefaultProp()
67
59
  ], TuiActiveZoneDirective.prototype, "tuiActiveZoneParentSetter", null);
68
- __decorate([
69
- Output()
70
- ], TuiActiveZoneDirective.prototype, "tuiActiveZoneChange", void 0);
71
60
  __decorate([
72
61
  tuiPure
73
62
  ], TuiActiveZoneDirective.prototype, "setZone", null);
74
- TuiActiveZoneDirective = TuiActiveZoneDirective_1 = __decorate([
75
- Directive({
76
- selector: `[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)`,
77
- exportAs: `tuiActiveZone`,
78
- }),
79
- __param(0, Inject(TUI_ACTIVE_ELEMENT)),
80
- __param(1, Inject(NgZone)),
81
- __param(2, Inject(ElementRef)),
82
- __param(3, Optional()),
83
- __param(3, SkipSelf()),
84
- __param(3, Inject(TuiActiveZoneDirective_1))
85
- ], TuiActiveZoneDirective);
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneDirective, decorators: [{
64
+ type: Directive,
65
+ args: [{
66
+ selector: `[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)`,
67
+ exportAs: `tuiActiveZone`,
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
70
+ type: Inject,
71
+ args: [TUI_ACTIVE_ELEMENT]
72
+ }] }, { type: i0.NgZone, decorators: [{
73
+ type: Inject,
74
+ args: [NgZone]
75
+ }] }, { type: i0.ElementRef, decorators: [{
76
+ type: Inject,
77
+ args: [ElementRef]
78
+ }] }, { type: TuiActiveZoneDirective, decorators: [{
79
+ type: Optional
80
+ }, {
81
+ type: SkipSelf
82
+ }, {
83
+ type: Inject,
84
+ args: [TuiActiveZoneDirective]
85
+ }] }]; }, propDecorators: { tuiActiveZoneParentSetter: [{
86
+ type: Input,
87
+ args: [`tuiActiveZoneParent`]
88
+ }], tuiActiveZoneChange: [{
89
+ type: Output
90
+ }], setZone: [] } });
86
91
 
87
- let TuiActiveZoneModule = class TuiActiveZoneModule {
88
- };
89
- TuiActiveZoneModule = __decorate([
90
- NgModule({
91
- declarations: [TuiActiveZoneDirective],
92
- exports: [TuiActiveZoneDirective],
93
- })
94
- ], TuiActiveZoneModule);
92
+ class TuiActiveZoneModule {
93
+ }
94
+ TuiActiveZoneModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
95
+ TuiActiveZoneModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneModule, declarations: [TuiActiveZoneDirective], exports: [TuiActiveZoneDirective] });
96
+ TuiActiveZoneModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneModule });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiActiveZoneModule, decorators: [{
98
+ type: NgModule,
99
+ args: [{
100
+ declarations: [TuiActiveZoneDirective],
101
+ exports: [TuiActiveZoneDirective],
102
+ }]
103
+ }] });
95
104
 
96
105
  /**
97
106
  * Generated bundle index. Do not edit.
@@ -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, tuiPure} 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: `[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)`,\n exportAs: `tuiActiveZone`,\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: readonly TuiActiveZoneDirective[] = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input(`tuiActiveZoneParent`)\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n this.setZone(zone);\n }\n\n @Output()\n readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.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(): void {\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 @tuiPure\n private setZone(zone: TuiActiveZoneDirective | null): void {\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 private addSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective): void {\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
+ {"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["../../../projects/cdk/directives/active-zone/active-zone.directive.ts","../../../projects/cdk/directives/active-zone/active-zone.module.ts","../../../projects/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiPure} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {tuiArrayRemove} from '@taiga-ui/cdk/utils';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n@Directive({\n selector: `[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)`,\n exportAs: `tuiActiveZone`,\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: readonly TuiActiveZoneDirective[] = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input(`tuiActiveZoneParent`)\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n this.setZone(zone);\n }\n\n @Output()\n readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.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(): void {\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 @tuiPure\n private setZone(zone: TuiActiveZoneDirective | null): void {\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 private addSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective): void {\n this.subActiveZones = tuiArrayRemove(\n this.subActiveZones,\n this.subActiveZones.indexOf(activeZone),\n );\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiActiveZoneDirective} from './active-zone.directive';\n\n@NgModule({\n declarations: [TuiActiveZoneDirective],\n exports: [TuiActiveZoneDirective],\n})\nexport class TuiActiveZoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;MAsBa,sBAAsB,CAAA;AAoB/B,IAAA,WAAA,CAEqB,OAAmC,EACnB,MAAc,EACV,UAA+B,EAInD,sBAAqD,EAAA;QANrD,IAAO,CAAA,OAAA,GAAP,OAAO,CAA4B;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACV,IAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;QAInD,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAA+B;QA3BlE,IAAc,CAAA,cAAA,GAAsC,EAAE,CAAC;QAEvD,IAAmB,CAAA,mBAAA,GAAkC,IAAI,CAAC;QASzD,IAAmB,CAAA,mBAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAC5C,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACnD,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,EACP,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAChC,CAAC;QAYE,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACtD,SAAA;KACJ;IA1BD,IAAI,yBAAyB,CAAC,IAAmC,EAAA;AAC7D,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IA0BD,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,YAAA,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACzD,SAAA;QAED,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACtD,SAAA;KACJ;AAED,IAAA,QAAQ,CAAC,IAAU,EAAA;QACf,QACI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,KACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3D,EACH;KACL;AAGO,IAAA,OAAO,CAAC,IAAmC,EAAA;QAC/C,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACnC;AAEO,IAAA,gBAAgB,CAAC,UAAkC,EAAA;QACvD,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KAC9D;AAEO,IAAA,mBAAmB,CAAC,UAAkC,EAAA;AAC1D,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc,CAChC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAC1C,CAAC;KACL;;AA7EQ,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAqBnB,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAElB,MAAM,EACN,EAAA,EAAA,KAAA,EAAA,UAAU,aAGV,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGA3BzB,sBAAsB,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,EAAA,yBAAA,EAAA,CAAA,qBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;AAO/B,UAAA,CAAA;AADC,IAAA,cAAc,EAAE;AAGhB,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,2BAAA,EAAA,IAAA,CAAA,CAAA;AA+CD,UAAA,CAAA;IADC,OAAO;AAWP,CAAA,EAAA,sBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,IAAA,CAAA,CAAA;4FAlEQ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAqH,mHAAA,CAAA;AAC/H,oBAAA,QAAQ,EAAE,CAAe,aAAA,CAAA;AAC5B,iBAAA,CAAA;;0BAsBQ,MAAM;2BAAC,kBAAkB,CAAA;;0BAEzB,MAAM;2BAAC,MAAM,CAAA;;0BACb,MAAM;2BAAC,UAAU,CAAA;8BAIuB,sBAAsB,EAAA,UAAA,EAAA,CAAA;0BAH9D,QAAQ;;0BACR,QAAQ;;0BACR,MAAM;2BAAC,sBAAsB,CAAA;4CApB9B,yBAAyB,EAAA,CAAA;sBAF5B,KAAK;uBAAC,CAAqB,mBAAA,CAAA,CAAA;gBAOnB,mBAAmB,EAAA,CAAA;sBAD3B,MAAM;gBA6CC,OAAO,EAAA,EAAA,EAAA,EAAA,CAAA;;MCtEN,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAC3B,sBAAsB,CAAA,EAAA,CAAA,CAAA;kHAEvB,mBAAmB,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;oBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACpC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}