@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,209 +0,0 @@
1
- import { __extends } from "tslib";
2
- import { tuiAssert } from '@taiga-ui/cdk/classes';
3
- import { padStart } from '@taiga-ui/cdk/utils/format';
4
- import { inRange, normalizeToIntNumber } from '@taiga-ui/cdk/utils/math';
5
- import { DAYS_IN_WEEK, MAX_MONTH, MIN_MONTH, MONTHS_IN_YEAR } from './date-time';
6
- import { TuiYear } from './year';
7
- /**
8
- * Immutable object consisting of year and month
9
- */
10
- var TuiMonth = /** @class */ (function (_super) {
11
- __extends(TuiMonth, _super);
12
- /**
13
- * @param year
14
- * @param month (starting with 0)
15
- */
16
- function TuiMonth(year, month) {
17
- var _this = _super.call(this, year) || this;
18
- _this.month = month;
19
- tuiAssert.assert(TuiMonth.isValidMonth(year, month));
20
- return _this;
21
- }
22
- /**
23
- * Tests month and year for validity
24
- */
25
- TuiMonth.isValidMonth = function (year, month) {
26
- return TuiYear.isValidYear(year) && TuiMonth.isValidMonthPart(month);
27
- };
28
- /**
29
- * Returns number of days in a month
30
- */
31
- TuiMonth.getMonthDaysCount = function (month, isLeapYear) {
32
- tuiAssert.assert(TuiMonth.isValidMonthPart(month));
33
- switch (month) {
34
- case 1 /* February */:
35
- return isLeapYear ? 29 : 28;
36
- case 3 /* April */:
37
- case 5 /* June */:
38
- case 8 /* September */:
39
- case 10 /* November */:
40
- return 30;
41
- default:
42
- return 31;
43
- }
44
- };
45
- /**
46
- * Returns current month and year based on local time zone
47
- * @nosideeffects
48
- */
49
- TuiMonth.currentLocal = function () {
50
- var nativeDate = new Date();
51
- return new TuiMonth(nativeDate.getFullYear(), nativeDate.getMonth());
52
- };
53
- /**
54
- * Returns current month and year based on UTC
55
- */
56
- TuiMonth.currentUtc = function () {
57
- var nativeDate = new Date();
58
- return new TuiMonth(nativeDate.getUTCFullYear(), nativeDate.getUTCMonth());
59
- };
60
- TuiMonth.lengthBetween = function (from, to) {
61
- var absoluteFrom = from.month + from.year * 12;
62
- var absoluteTo = to.month + to.year * 12;
63
- return absoluteTo - absoluteFrom;
64
- };
65
- /**
66
- * Normalizes number by clamping it between min and max month
67
- */
68
- TuiMonth.normalizeMonthPart = function (month) {
69
- return normalizeToIntNumber(month, MIN_MONTH, MAX_MONTH);
70
- };
71
- /**
72
- * Tests month for validity
73
- */
74
- TuiMonth.isValidMonthPart = function (month) {
75
- return Number.isInteger(month) && inRange(month, MIN_MONTH, MAX_MONTH + 1);
76
- };
77
- Object.defineProperty(TuiMonth.prototype, "formattedMonthPart", {
78
- get: function () {
79
- return padStart(String(this.month + 1), 2, "0");
80
- },
81
- enumerable: true,
82
- configurable: true
83
- });
84
- Object.defineProperty(TuiMonth.prototype, "formattedMonth", {
85
- /**
86
- * @deprecated
87
- * Formatter month and year
88
- */
89
- get: function () {
90
- return this.formattedMonthPart + "." + this.formattedYear;
91
- },
92
- enumerable: true,
93
- configurable: true
94
- });
95
- Object.defineProperty(TuiMonth.prototype, "weeksRowsCount", {
96
- /**
97
- * @deprecated DONT USE IT (will be deleted soon)
98
- *
99
- * Calculates number of weeks in a month (counting non-full weeks)
100
- */
101
- get: function () {
102
- return Math.ceil((this.monthStartDaysOffset + this.daysCount) / DAYS_IN_WEEK);
103
- },
104
- enumerable: true,
105
- configurable: true
106
- });
107
- Object.defineProperty(TuiMonth.prototype, "daysCount", {
108
- /**
109
- * Returns days in a month
110
- */
111
- get: function () {
112
- return TuiMonth.getMonthDaysCount(this.month, this.isLeapYear);
113
- },
114
- enumerable: true,
115
- configurable: true
116
- });
117
- Object.defineProperty(TuiMonth.prototype, "monthStartDaysOffset", {
118
- /**
119
- * @deprecated DONT USE IT (will be deleted soon)
120
- *
121
- * Computes day of week offset of the beginning of the month
122
- */
123
- get: function () {
124
- var result = this.yearStartDaysOffset;
125
- for (var currentMonth = 0; currentMonth <= this.month - 1; currentMonth++) {
126
- result += TuiMonth.getMonthDaysCount(currentMonth, this.isLeapYear);
127
- }
128
- return result % DAYS_IN_WEEK;
129
- },
130
- enumerable: true,
131
- configurable: true
132
- });
133
- /**
134
- * Passed month and year are after current
135
- */
136
- TuiMonth.prototype.monthBefore = function (another) {
137
- return (this.yearBefore(another) ||
138
- (this.yearSame(another) && this.month < another.month));
139
- };
140
- /**
141
- * Passed month and year are after or the same as current
142
- */
143
- TuiMonth.prototype.monthSameOrBefore = function (another) {
144
- return (this.yearBefore(another) ||
145
- (this.yearSame(another) && this.month <= another.month));
146
- };
147
- /**
148
- * Passed month and year are the same as current
149
- */
150
- TuiMonth.prototype.monthSame = function (another) {
151
- return this.yearSame(another) && this.month === another.month;
152
- };
153
- /**
154
- * Passed month and year are either before or equal to current
155
- */
156
- TuiMonth.prototype.monthSameOrAfter = function (another) {
157
- return (this.yearAfter(another) ||
158
- (this.yearSame(another) && this.month >= another.month));
159
- };
160
- /**
161
- * Passed month and year are before current
162
- */
163
- TuiMonth.prototype.monthAfter = function (another) {
164
- return (this.yearAfter(another) ||
165
- (this.yearSame(another) && this.month > another.month));
166
- };
167
- // TODO: 3.0 Consider removing `backwards` option
168
- /**
169
- * Immutably alters current month and year by passed offset
170
- *
171
- * @param offset
172
- * @param backwards shift date backwards
173
- * @return new month and year object as a result of offsetting current
174
- */
175
- TuiMonth.prototype.append = function (_a, backwards) {
176
- var _b = _a.year, year = _b === void 0 ? 0 : _b, _c = _a.month, month = _c === void 0 ? 0 : _c;
177
- if (backwards === void 0) { backwards = false; }
178
- if (backwards) {
179
- year *= -1;
180
- month *= -1;
181
- }
182
- var totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;
183
- return new TuiMonth(Math.floor(totalMonths / MONTHS_IN_YEAR), totalMonths % MONTHS_IN_YEAR);
184
- };
185
- TuiMonth.prototype.toString = function () {
186
- return this.formattedMonth;
187
- };
188
- TuiMonth.prototype.valueOf = function () {
189
- return this.toLocalNativeDate().valueOf();
190
- };
191
- TuiMonth.prototype.toJSON = function () {
192
- return _super.prototype.toJSON.call(this) + "-" + this.formattedMonthPart;
193
- };
194
- /**
195
- * Returns native {@link Date} based on local time zone
196
- */
197
- TuiMonth.prototype.toLocalNativeDate = function () {
198
- return new Date(this.year, this.month);
199
- };
200
- /**
201
- * Returns native {@link Date} based on UTC
202
- */
203
- TuiMonth.prototype.toUtcNativeDate = function () {
204
- return new Date(Date.UTC(this.year, this.month));
205
- };
206
- return TuiMonth;
207
- }(TuiYear));
208
- export { TuiMonth };
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbIm1vbnRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSDtJQUE4Qiw0QkFBTztJQUNqQzs7O09BR0c7SUFDSCxrQkFBWSxJQUFZLEVBQVcsS0FBYTtRQUFoRCxZQUNJLGtCQUFNLElBQUksQ0FBQyxTQUVkO1FBSGtDLFdBQUssR0FBTCxLQUFLLENBQVE7UUFFNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxxQkFBWSxHQUFuQixVQUFvQixJQUFZLEVBQUUsS0FBYTtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLDBCQUFpQixHQUF4QixVQUF5QixLQUFhLEVBQUUsVUFBbUI7UUFDdkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRCxRQUFRLEtBQUssRUFBRTtZQUNYO2dCQUNJLE9BQU8sVUFBVSxDQUFDLENB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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHtUdWlNb250aE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9lbnVtcyc7XG5pbXBvcnQge1R1aU1vbnRoTGlrZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7cGFkU3RhcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7aW5SYW5nZSwgbm9ybWFsaXplVG9JbnROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7REFZU19JTl9XRUVLLCBNQVhfTU9OVEgsIE1JTl9NT05USCwgTU9OVEhTX0lOX1lFQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpWWVhcn0gZnJvbSAnLi95ZWFyJztcblxuLyoqXG4gKiBJbW11dGFibGUgb2JqZWN0IGNvbnNpc3Rpbmcgb2YgeWVhciBhbmQgbW9udGhcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vbnRoIGV4dGVuZHMgVHVpWWVhciBpbXBsZW1lbnRzIFR1aU1vbnRoTGlrZSB7XG4gICAgLyoqXG4gICAgICogQHBhcmFtIHllYXJcbiAgICAgKiBAcGFyYW0gbW9udGggKHN0YXJ0aW5nIHdpdGggMClcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcih5ZWFyOiBudW1iZXIsIHJlYWRvbmx5IG1vbnRoOiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIoeWVhcik7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpTW9udGguaXNWYWxpZE1vbnRoKHllYXIsIG1vbnRoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggYW5kIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRNb250aCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikgJiYgVHVpTW9udGguaXNWYWxpZE1vbnRoUGFydChtb250aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoXG4gICAgICovXG4gICAgc3RhdGljIGdldE1vbnRoRGF5c0NvdW50KG1vbnRoOiBudW1iZXIsIGlzTGVhcFllYXI6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aU1vbnRoLmlzVmFsaWRNb250aFBhcnQobW9udGgpKTtcblxuICAgICAgICBzd2l0Y2ggKG1vbnRoKSB7XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkZlYnJ1YXJ5OlxuICAgICAgICAgICAgICAgIHJldHVybiBpc0xlYXBZZWFyID8gMjkgOiAyODtcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuQXByaWw6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLkp1bmU6XG4gICAgICAgICAgICBjYXNlIFR1aU1vbnRoTnVtYmVyLlNlcHRlbWJlcjpcbiAgICAgICAgICAgIGNhc2UgVHVpTW9udGhOdW1iZXIuTm92ZW1iZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIDMwO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gMzE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYmFzZWQgb24gbG9jYWwgdGltZSB6b25lXG4gICAgICogQG5vc2lkZWVmZmVjdHNcbiAgICAgKi9cbiAgICBzdGF0aWMgY3VycmVudExvY2FsKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldEZ1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0TW9udGgoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IG1vbnRoIGFuZCB5ZWFyIGJhc2VkIG9uIFVUQ1xuICAgICAqL1xuICAgIHN0YXRpYyBjdXJyZW50VXRjKCk6IFR1aU1vbnRoIHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlNb250aChuYXRpdmVEYXRlLmdldFVUQ0Z1bGxZZWFyKCksIG5hdGl2ZURhdGUuZ2V0VVRDTW9udGgoKSk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpTW9udGgsIHRvOiBUdWlNb250aCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGFic29sdXRlRnJvbSA9IGZyb20ubW9udGggKyBmcm9tLnllYXIgKiAxMjtcbiAgICAgICAgY29uc3QgYWJzb2x1dGVUbyA9IHRvLm1vbnRoICsgdG8ueWVhciAqIDEyO1xuXG4gICAgICAgIHJldHVybiBhYnNvbHV0ZVRvIC0gYWJzb2x1dGVGcm9tO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5vcm1hbGl6ZXMgbnVtYmVyIGJ5IGNsYW1waW5nIGl0IGJldHdlZW4gbWluIGFuZCBtYXggbW9udGhcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc3RhdGljIG5vcm1hbGl6ZU1vbnRoUGFydChtb250aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgbW9udGggZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBzdGF0aWMgaXNWYWxpZE1vbnRoUGFydChtb250aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKG1vbnRoKSAmJiBpblJhbmdlKG1vbnRoLCBNSU5fTU9OVEgsIE1BWF9NT05USCArIDEpO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRNb250aFBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLm1vbnRoICsgMSksIDIsIGAwYCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBGb3JtYXR0ZXIgbW9udGggYW5kIHllYXJcbiAgICAgKi9cbiAgICBnZXQgZm9ybWF0dGVkTW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fS4ke3RoaXMuZm9ybWF0dGVkWWVhcn1gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIENhbGN1bGF0ZXMgbnVtYmVyIG9mIHdlZWtzIGluIGEgbW9udGggKGNvdW50aW5nIG5vbi1mdWxsIHdlZWtzKVxuICAgICAqL1xuICAgIGdldCB3ZWVrc1Jvd3NDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKCh0aGlzLm1vbnRoU3RhcnREYXlzT2Zmc2V0ICsgdGhpcy5kYXlzQ291bnQpIC8gREFZU19JTl9XRUVLKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRheXMgaW4gYSBtb250aFxuICAgICAqL1xuICAgIGdldCBkYXlzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KHRoaXMubW9udGgsIHRoaXMuaXNMZWFwWWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogQ29tcHV0ZXMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1vbnRoXG4gICAgICovXG4gICAgZ2V0IG1vbnRoU3RhcnREYXlzT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnllYXJTdGFydERheXNPZmZzZXQ7XG5cbiAgICAgICAgZm9yIChsZXQgY3VycmVudE1vbnRoID0gMDsgY3VycmVudE1vbnRoIDw9IHRoaXMubW9udGggLSAxOyBjdXJyZW50TW9udGgrKykge1xuICAgICAgICAgICAgcmVzdWx0ICs9IFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KGN1cnJlbnRNb250aCwgdGhpcy5pc0xlYXBZZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQgJSBEQVlTX0lOX1dFRUs7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8IGFub3RoZXIubW9udGgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIG1vbnRoIGFuZCB5ZWFyIGFyZSBhZnRlciBvciB0aGUgc2FtZSBhcyBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JCZWZvcmUoYW5vdGhlcjogVHVpTW9udGgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMueWVhckJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMueWVhclNhbWUoYW5vdGhlcikgJiYgdGhpcy5tb250aCA8PSBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgdGhlIHNhbWUgYXMgY3VycmVudFxuICAgICAqL1xuICAgIG1vbnRoU2FtZShhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyU2FtZShhbm90aGVyKSAmJiB0aGlzLm1vbnRoID09PSBhbm90aGVyLm1vbnRoO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBtb250aCBhbmQgeWVhciBhcmUgZWl0aGVyIGJlZm9yZSBvciBlcXVhbCB0byBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhTYW1lT3JBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPj0gYW5vdGhlci5tb250aClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgbW9udGggYW5kIHllYXIgYXJlIGJlZm9yZSBjdXJyZW50XG4gICAgICovXG4gICAgbW9udGhBZnRlcihhbm90aGVyOiBUdWlNb250aCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy55ZWFyQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLnllYXJTYW1lKGFub3RoZXIpICYmIHRoaXMubW9udGggPiBhbm90aGVyLm1vbnRoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRPRE86IDMuMCBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgYWx0ZXJzIGN1cnJlbnQgbW9udGggYW5kIHllYXIgYnkgcGFzc2VkIG9mZnNldFxuICAgICAqXG4gICAgICogQHBhcmFtIG9mZnNldFxuICAgICAqIEBwYXJhbSBiYWNrd2FyZHMgc2hpZnQgZGF0ZSBiYWNrd2FyZHNcbiAgICAgKiBAcmV0dXJuIG5ldyBtb250aCBhbmQgeWVhciBvYmplY3QgYXMgYSByZXN1bHQgb2Ygb2Zmc2V0dGluZyBjdXJyZW50XG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMCwgbW9udGggPSAwfTogVHVpTW9udGhMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aU1vbnRoIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkcykge1xuICAgICAgICAgICAgeWVhciAqPSAtMTtcbiAgICAgICAgICAgIG1vbnRoICo9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG90YWxNb250aHMgPSAodGhpcy55ZWFyICsgeWVhcikgKiBNT05USFNfSU5fWUVBUiArIHRoaXMubW9udGggKyBtb250aDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aU1vbnRoKFxuICAgICAgICAgICAgTWF0aC5mbG9vcih0b3RhbE1vbnRocyAvIE1PTlRIU19JTl9ZRUFSKSxcbiAgICAgICAgICAgIHRvdGFsTW9udGhzICUgTU9OVEhTX0lOX1lFQVIsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVkTW9udGg7XG4gICAgfVxuXG4gICAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50b0xvY2FsTmF0aXZlRGF0ZSgpLnZhbHVlT2YoKTtcbiAgICB9XG5cbiAgICB0b0pTT04oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3N1cGVyLnRvSlNPTigpfS0ke3RoaXMuZm9ybWF0dGVkTW9udGhQYXJ0fWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBuYXRpdmUge0BsaW5rIERhdGV9IGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqL1xuICAgIHRvTG9jYWxOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodGhpcy55ZWFyLCB0aGlzLm1vbnRoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG5hdGl2ZSB7QGxpbmsgRGF0ZX0gYmFzZWQgb24gVVRDXG4gICAgICovXG4gICAgdG9VdGNOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLCB0aGlzLm1vbnRoKSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktY2RrLWRhdGUtdGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGFpZ2EtdWktY2RrLWRhdGUtdGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,134 +0,0 @@
1
- import { tuiAssert } from '@taiga-ui/cdk/classes';
2
- import { padStart } from '@taiga-ui/cdk/utils/format';
3
- import { inRange } from '@taiga-ui/cdk/utils/math';
4
- import { HOURS_IN_DAY, MILLISECONDS_IN_DAY, MILLISECONDS_IN_HOUR, MILLISECONDS_IN_MINUTE, MINUTES_IN_HOUR, SECONDS_IN_MINUTE, } from './date-time';
5
- /**
6
- * Immutable time object with hours, minutes, seconds and ms
7
- */
8
- var TuiTime = /** @class */ (function () {
9
- function TuiTime(hours, minutes, seconds, ms) {
10
- if (seconds === void 0) { seconds = 0; }
11
- if (ms === void 0) { ms = 0; }
12
- this.hours = hours;
13
- this.minutes = minutes;
14
- this.seconds = seconds;
15
- this.ms = ms;
16
- tuiAssert.assert(TuiTime.isValidTime(hours, minutes, seconds, ms), "Time must be real, but got:", hours, minutes, seconds, ms);
17
- }
18
- /**
19
- * Checks if time is valid
20
- */
21
- TuiTime.isValidTime = function (hours, minutes, seconds, ms) {
22
- if (seconds === void 0) { seconds = 0; }
23
- if (ms === void 0) { ms = 0; }
24
- return (Number.isInteger(hours) &&
25
- inRange(hours, 0, HOURS_IN_DAY) &&
26
- Number.isInteger(minutes) &&
27
- inRange(minutes, 0, MINUTES_IN_HOUR) &&
28
- Number.isInteger(seconds) &&
29
- inRange(seconds, 0, SECONDS_IN_MINUTE) &&
30
- Number.isInteger(ms) &&
31
- inRange(ms, 0, 1000));
32
- };
33
- /**
34
- * Current UTC time.
35
- */
36
- TuiTime.current = function () {
37
- return TuiTime.fromAbsoluteMilliseconds(Date.now() % MILLISECONDS_IN_DAY);
38
- };
39
- /**
40
- * Current time in local timezone
41
- */
42
- TuiTime.currentLocal = function () {
43
- var date = new Date();
44
- return TuiTime.fromAbsoluteMilliseconds((Date.now() - date.getTimezoneOffset() * MILLISECONDS_IN_MINUTE) %
45
- MILLISECONDS_IN_DAY);
46
- };
47
- /**
48
- * Calculates TuiTime from milliseconds
49
- */
50
- TuiTime.fromAbsoluteMilliseconds = function (milliseconds) {
51
- tuiAssert.assert(Number.isInteger(milliseconds));
52
- tuiAssert.assert(inRange(milliseconds, 0, MILLISECONDS_IN_DAY), "Milliseconds must be below " + MILLISECONDS_IN_DAY + " (milliseconds in a day).");
53
- var hours = Math.floor(milliseconds / MILLISECONDS_IN_HOUR);
54
- var minutes = Math.floor((milliseconds % MILLISECONDS_IN_HOUR) / MILLISECONDS_IN_MINUTE);
55
- var seconds = Math.floor(((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) / 1000) || 0;
56
- var ms = Math.floor(((milliseconds % MILLISECONDS_IN_HOUR) % MILLISECONDS_IN_MINUTE) % 1000) || 0;
57
- return new TuiTime(hours, minutes, seconds, ms);
58
- };
59
- /**
60
- * Parses string into TuiTime object
61
- */
62
- TuiTime.fromString = function (time) {
63
- var hours = Number(time.slice(0, 2));
64
- var minutes = Number(time.slice(3, 5));
65
- var seconds = Number(time.slice(6, 8)) || 0;
66
- var ms = Number(time.slice(9, 12)) || 0;
67
- return new TuiTime(hours, minutes, seconds, ms);
68
- };
69
- /**
70
- * Converts Date object into TuiTime
71
- * @param date
72
- */
73
- TuiTime.fromLocalNativeDate = function (date) {
74
- return new TuiTime(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
75
- };
76
- /**
77
- * Shifts time by hours and minutes
78
- */
79
- TuiTime.prototype.shift = function (_a) {
80
- var _b = _a.hours, hours = _b === void 0 ? 0 : _b, _c = _a.minutes, minutes = _c === void 0 ? 0 : _c, _d = _a.seconds, seconds = _d === void 0 ? 0 : _d, _e = _a.ms, ms = _e === void 0 ? 0 : _e;
81
- var newMs = (1000 + this.ms + (ms % 1000)) % 1000;
82
- var secondsInMs = ms < 0 ? Math.ceil(ms / 1000) : Math.floor(ms / 1000);
83
- var secondsToAdd = secondsInMs + seconds;
84
- var newSeconds = (60 + this.seconds + (secondsToAdd % 60)) % 60;
85
- var minutesInSeconds = secondsToAdd < 0
86
- ? Math.ceil(secondsToAdd / 60)
87
- : Math.floor(secondsToAdd / 60);
88
- var minutesToAdd = minutesInSeconds + minutes;
89
- var newMinutes = (60 + this.minutes + (minutesToAdd % 60)) % 60;
90
- var hoursInMinutes = minutesToAdd < 0
91
- ? Math.ceil(minutesToAdd / 60)
92
- : Math.floor(minutesToAdd / 60);
93
- var hoursToAdd = hoursInMinutes + hours;
94
- var newHours = (24 + this.hours + (hoursToAdd % 24)) % 24;
95
- return new TuiTime(newHours, newMinutes, newSeconds, newMs);
96
- };
97
- /**
98
- * Converts TuiTime to string
99
- */
100
- TuiTime.prototype.toString = function (mode) {
101
- var needAddMs = mode === "HH:MM:SS.MSS" || (!mode && this.ms > 0);
102
- var needAddSeconds = needAddMs || mode === "HH:MM:SS" || (!mode && this.seconds > 0);
103
- return (this.formatTime(this.hours) + ":" + this.formatTime(this.minutes) +
104
- ("" + (needAddSeconds ? ":" + this.formatTime(this.seconds) : "")) +
105
- ("" + (needAddMs ? "." + this.formatTime(this.ms, 3) : "")));
106
- };
107
- TuiTime.prototype.valueOf = function () {
108
- return this.toAbsoluteMilliseconds();
109
- };
110
- /**
111
- * Returns the primitive value of the given Date object.
112
- * Depending on the argument, the method can return either a string or a number.
113
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
114
- */
115
- TuiTime.prototype[Symbol.toPrimitive] = function (hint) {
116
- return Date.prototype[Symbol.toPrimitive].call(this, hint);
117
- };
118
- /**
119
- * Converts TuiTime to milliseconds
120
- */
121
- TuiTime.prototype.toAbsoluteMilliseconds = function () {
122
- return (this.hours * MILLISECONDS_IN_HOUR +
123
- this.minutes * MILLISECONDS_IN_MINUTE +
124
- this.seconds * 1000 +
125
- this.ms);
126
- };
127
- TuiTime.prototype.formatTime = function (time, digits) {
128
- if (digits === void 0) { digits = 2; }
129
- return padStart(String(time), digits, "0");
130
- };
131
- return TuiTime;
132
- }());
133
- export { TuiTime };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsidGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFHaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRCxPQUFPLEVBQ0gsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckI7O0dBRUc7QUFDSDtJQUNJLGlCQUNhLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBSGQsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLE9BQUUsR0FBRixFQUFFLENBQVk7UUFFdkIsU0FBUyxDQUFDLE1BQU0sQ0FDWixPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUNoRCw2QkFBNkIsRUFDN0IsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsRUFBRSxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUNJLEtBQWEsRUFDYixPQUFlLEVBQ2YsT0FBbUIsRUFDbkIsRUFBYztRQURkLHdCQUFBLEVBQUEsV0FBbUI7UUFDbkIsbUJBQUEsRUFBQSxNQUFjO1FBRWQsT0FBTyxDQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxLQUFL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LE1BQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUEsQ0FDMUQsQ0FBQztJQUNOLENBQUM7SUFFRCx5QkFBTyxHQUFQO1FBQ0ksT0FBTyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBcEIsVUFBcUIsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0NBQXNCLEdBQXRCO1FBQ0ksT0FBTyxDQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsb0JBQW9CO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsc0JBQXNCO1lBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSTtZQUNuQixJQUFJLENBQUMsRUFBRSxDQUNWLENBQUM7SUFDTixDQUFDO0lBRU8sNEJBQVUsR0FBbEIsVUFBbUIsSUFBWSxFQUFFLE1BQWtCO1FBQWxCLHVCQUFBLEVBQUEsVUFBa0I7UUFDL0MsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0wsY0FBQztBQUFELENBQUMsQUFsTEQsSUFrTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpVGltZUxpa2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aVRpbWVNb2RlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7cGFkU3RhcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9ybWF0JztcbmltcG9ydCB7aW5SYW5nZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBIT1VSU19JTl9EQVksXG4gICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICBNSUxMSVNFQ09ORFNfSU5fSE9VUixcbiAgICBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFLFxuICAgIE1JTlVURVNfSU5fSE9VUixcbiAgICBTRUNPTkRTX0lOX01JTlVURSxcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB0aW1lIG9iamVjdCB3aXRoIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzIGFuZCBtc1xuICovXG5leHBvcnQgY2xhc3MgVHVpVGltZSBpbXBsZW1lbnRzIFR1aVRpbWVMaWtlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgaG91cnM6IG51bWJlcixcbiAgICAgICAgcmVhZG9ubHkgbWludXRlczogbnVtYmVyLFxuICAgICAgICByZWFkb25seSBzZWNvbmRzOiBudW1iZXIgPSAwLFxuICAgICAgICByZWFkb25seSBtczogbnVtYmVyID0gMCxcbiAgICApIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgIFR1aVRpbWUuaXNWYWxpZFRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKSxcbiAgICAgICAgICAgIGBUaW1lIG11c3QgYmUgcmVhbCwgYnV0IGdvdDpgLFxuICAgICAgICAgICAgaG91cnMsXG4gICAgICAgICAgICBtaW51dGVzLFxuICAgICAgICAgICAgc2Vjb25kcyxcbiAgICAgICAgICAgIG1zLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aW1lIGlzIHZhbGlkXG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRUaW1lKFxuICAgICAgICBob3VyczogbnVtYmVyLFxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHNlY29uZHM6IG51bWJlciA9IDAsXG4gICAgICAgIG1zOiBudW1iZXIgPSAwLFxuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihob3VycykgJiZcbiAgICAgICAgICAgIGluUmFuZ2UoaG91cnMsIDAsIEhPVVJTX0lOX0RBWSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobWludXRlcykgJiZcbiAgICAgICAgICAgIGluUmFuZ2UobWludXRlcywgMCwgTUlOVVRFU19JTl9IT1VSKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzSW50ZWdlcihzZWNvbmRzKSAmJlxuICAgICAgICAgICAgaW5SYW5nZShzZWNvbmRzLCAwLCBTRUNPTkRTX0lOX01JTlVURSkgJiZcbiAgICAgICAgICAgIE51bWJlci5pc0ludGVnZXIobXMpICYmXG4gICAgICAgICAgICBpblJhbmdlKG1zLCAwLCAxMDAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgVVRDIHRpbWUuXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnQoKTogVHVpVGltZSB7XG4gICAgICAgIHJldHVybiBUdWlUaW1lLmZyb21BYnNvbHV0ZU1pbGxpc2Vjb25kcyhEYXRlLm5vdygpICUgTUlMTElTRUNPTkRTX0lOX0RBWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3VycmVudCB0aW1lIGluIGxvY2FsIHRpbWV6b25lXG4gICAgICovXG4gICAgc3RhdGljIGN1cnJlbnRMb2NhbCgpOiBUdWlUaW1lIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIFR1aVRpbWUuZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKFxuICAgICAgICAgICAgKERhdGUubm93KCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFKSAlXG4gICAgICAgICAgICAgICAgTUlMTElTRUNPTkRTX0lOX0RBWSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIFR1aVRpbWUgZnJvbSBtaWxsaXNlY29uZHNcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbUFic29sdXRlTWlsbGlzZWNvbmRzKG1pbGxpc2Vjb25kczogbnVtYmVyKTogVHVpVGltZSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoTnVtYmVyLmlzSW50ZWdlcihtaWxsaXNlY29uZHMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgIGluUmFuZ2UobWlsbGlzZWNvbmRzLCAwLCBNSUxMSVNFQ09ORFNfSU5fREFZKSxcbiAgICAgICAgICAgIGBNaWxsaXNlY29uZHMgbXVzdCBiZSBiZWxvdyAke01JTExJU0VDT05EU19JTl9EQVl9IChtaWxsaXNlY29uZHMgaW4gYSBkYXkpLmAsXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKG1pbGxpc2Vjb25kcyAvIE1JTExJU0VDT05EU19JTl9IT1VSKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoXG4gICAgICAgICAgICAobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpIC8gTUlMTElTRUNPTkRTX0lOX01JTlVURSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgLyAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9XG4gICAgICAgICAgICBNYXRoLmZsb29yKFxuICAgICAgICAgICAgICAgICgobWlsbGlzZWNvbmRzICUgTUlMTElTRUNPTkRTX0lOX0hPVVIpICUgTUlMTElTRUNPTkRTX0lOX01JTlVURSkgJSAxMDAwLFxuICAgICAgICAgICAgKSB8fCAwO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShob3VycywgbWludXRlcywgc2Vjb25kcywgbXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlcyBzdHJpbmcgaW50byBUdWlUaW1lIG9iamVjdFxuICAgICAqL1xuICAgIHN0YXRpYyBmcm9tU3RyaW5nKHRpbWU6IHN0cmluZyk6IFR1aVRpbWUge1xuICAgICAgICBjb25zdCBob3VycyA9IE51bWJlcih0aW1lLnNsaWNlKDAsIDIpKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IE51bWJlcih0aW1lLnNsaWNlKDMsIDUpKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kcyA9IE51bWJlcih0aW1lLnNsaWNlKDYsIDgpKSB8fCAwO1xuICAgICAgICBjb25zdCBtcyA9IE51bWJlcih0aW1lLnNsaWNlKDksIDEyKSkgfHwgMDtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aVRpbWUoaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBEYXRlIG9iamVjdCBpbnRvIFR1aVRpbWVcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHN0YXRpYyBmcm9tTG9jYWxOYXRpdmVEYXRlKGRhdGU6IERhdGUpOiBUdWlUaW1lIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlUaW1lKFxuICAgICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hpZnRzIHRpbWUgYnkgaG91cnMgYW5kIG1pbnV0ZXNcbiAgICAgKi9cbiAgICBzaGlmdCh7aG91cnMgPSAwLCBtaW51dGVzID0gMCwgc2Vjb25kcyA9IDAsIG1zID0gMH06IFR1aVRpbWVMaWtlKTogVHVpVGltZSB7XG4gICAgICAgIGNvbnN0IG5ld01zID0gKDEwMDAgKyB0aGlzLm1zICsgKG1zICUgMTAwMCkpICUgMTAwMDtcblxuICAgICAgICBjb25zdCBzZWNvbmRzSW5NcyA9IG1zIDwgMCA/IE1hdGguY2VpbChtcyAvIDEwMDApIDogTWF0aC5mbG9vcihtcyAvIDEwMDApO1xuICAgICAgICBjb25zdCBzZWNvbmRzVG9BZGQgPSBzZWNvbmRzSW5NcyArIHNlY29uZHM7XG4gICAgICAgIGNvbnN0IG5ld1NlY29uZHMgPSAoNjAgKyB0aGlzLnNlY29uZHMgKyAoc2Vjb25kc1RvQWRkICUgNjApKSAlIDYwO1xuXG4gICAgICAgIGNvbnN0IG1pbnV0ZXNJblNlY29uZHMgPVxuICAgICAgICAgICAgc2Vjb25kc1RvQWRkIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5jZWlsKHNlY29uZHNUb0FkZCAvIDYwKVxuICAgICAgICAgICAgICAgIDogTWF0aC5mbG9vcihzZWNvbmRzVG9BZGQgLyA2MCk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZXNUb0FkZCA9IG1pbnV0ZXNJblNlY29uZHMgKyBtaW51dGVzO1xuICAgICAgICBjb25zdCBuZXdNaW51dGVzID0gKDYwICsgdGhpcy5taW51dGVzICsgKG1pbnV0ZXNUb0FkZCAlIDYwKSkgJSA2MDtcblxuICAgICAgICBjb25zdCBob3Vyc0luTWludXRlcyA9XG4gICAgICAgICAgICBtaW51dGVzVG9BZGQgPCAwXG4gICAgICAgICAgICAgICAgPyBNYXRoLmNlaWwobWludXRlc1RvQWRkIC8gNjApXG4gICAgICAgICAgICAgICAgOiBNYXRoLmZsb29yKG1pbnV0ZXNUb0FkZCAvIDYwKTtcbiAgICAgICAgY29uc3QgaG91cnNUb0FkZCA9IGhvdXJzSW5NaW51dGVzICsgaG91cnM7XG4gICAgICAgIGNvbnN0IG5ld0hvdXJzID0gKDI0ICsgdGhpcy5ob3VycyArIChob3Vyc1RvQWRkICUgMjQpKSAlIDI0O1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpVGltZShuZXdIb3VycywgbmV3TWludXRlcywgbmV3U2Vjb25kcywgbmV3TXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFR1aVRpbWUgdG8gc3RyaW5nXG4gICAgICovXG4gICAgdG9TdHJpbmcobW9kZT86IFR1aVRpbWVNb2RlKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbmVlZEFkZE1zID0gbW9kZSA9PT0gYEhIOk1NOlNTLk1TU2AgfHwgKCFtb2RlICYmIHRoaXMubXMgPiAwKTtcbiAgICAgICAgY29uc3QgbmVlZEFkZFNlY29uZHMgPVxuICAgICAgICAgICAgbmVlZEFkZE1zIHx8IG1vZGUgPT09IGBISDpNTTpTU2AgfHwgKCFtb2RlICYmIHRoaXMuc2Vjb25kcyA+IDApO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5ob3Vycyl9OiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubWludXRlcyl9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkU2Vjb25kcyA/IGA6JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5zZWNvbmRzKX1gIDogYGB9YCArXG4gICAgICAgICAgICBgJHtuZWVkQWRkTXMgPyBgLiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMubXMsIDMpfWAgOiBgYH1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdmFsdWVPZigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50b0Fic29sdXRlTWlsbGlzZWNvbmRzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgcHJpbWl0aXZlIHZhbHVlIG9mIHRoZSBnaXZlbiBEYXRlIG9iamVjdC5cbiAgICAgKiBEZXBlbmRpbmcgb24gdGhlIGFyZ3VtZW50LCB0aGUgbWV0aG9kIGNhbiByZXR1cm4gZWl0aGVyIGEgc3RyaW5nIG9yIGEgbnVtYmVyLlxuICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS9AQHRvUHJpbWl0aXZlXG4gICAgICovXG4gICAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludDogc3RyaW5nKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIERhdGUucHJvdG90eXBlW1N5bWJvbC50b1ByaW1pdGl2ZV0uY2FsbCh0aGlzLCBoaW50KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBUdWlUaW1lIHRvIG1pbGxpc2Vjb25kc1xuICAgICAqL1xuICAgIHRvQWJzb2x1dGVNaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaG91cnMgKiBNSUxMSVNFQ09ORFNfSU5fSE9VUiArXG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMgKiBNSUxMSVNFQ09ORFNfSU5fTUlOVVRFICtcbiAgICAgICAgICAgIHRoaXMuc2Vjb25kcyAqIDEwMDAgK1xuICAgICAgICAgICAgdGhpcy5tc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VGltZSh0aW1lOiBudW1iZXIsIGRpZ2l0czogbnVtYmVyID0gMik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwYWRTdGFydChTdHJpbmcodGltZSksIGRpZ2l0cywgYDBgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,168 +0,0 @@
1
- import { tuiAssert } from '@taiga-ui/cdk/classes';
2
- import { padStart } from '@taiga-ui/cdk/utils/format';
3
- import { inRange, normalizeToIntNumber } from '@taiga-ui/cdk/utils/math';
4
- import { DAYS_IN_LEAP_YEAR, DAYS_IN_NORMAL_YEAR, DAYS_IN_WEEK, MAX_YEAR, MIN_YEAR, } from './date-time';
5
- /**
6
- * Immutable year object
7
- * @nosideeffects
8
- */
9
- var TuiYear = /** @class */ (function () {
10
- function TuiYear(year) {
11
- this.year = year;
12
- tuiAssert.assert(TuiYear.isValidYear(year));
13
- }
14
- /**
15
- * Checks year for validity
16
- */
17
- TuiYear.isValidYear = function (year) {
18
- return Number.isInteger(year) && inRange(year, MIN_YEAR, MAX_YEAR + 1);
19
- };
20
- /**
21
- * Check if passed year is a leap year
22
- */
23
- TuiYear.isLeapYear = function (year) {
24
- tuiAssert.assert(TuiYear.isValidYear(year));
25
- return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);
26
- };
27
- /**
28
- * Returns amount of leap years from year 0 to the passed one
29
- */
30
- TuiYear.getAbsoluteLeapYears = function (year) {
31
- tuiAssert.assert(TuiYear.isValidYear(year));
32
- return Math.ceil(year / 400) + (Math.ceil(year / 4) - Math.ceil(year / 100));
33
- };
34
- /**
35
- * @deprecated DONT USE IT (will be deleted soon)
36
- *
37
- * Returns day of week offset of the beginning of the passed year
38
- *
39
- * @param year
40
- * @param absoluteLeapYears amount of leap years prior to the passed one
41
- * @return offset in days
42
- */
43
- TuiYear.getYearStartDaysOffset = function (year, absoluteLeapYears) {
44
- tuiAssert.assert(TuiYear.isValidYear(year));
45
- tuiAssert.assert(Number.isInteger(absoluteLeapYears));
46
- tuiAssert.assert(year >= absoluteLeapYears);
47
- tuiAssert.assert(absoluteLeapYears >= 0);
48
- return ((absoluteLeapYears * DAYS_IN_LEAP_YEAR +
49
- (year - absoluteLeapYears) * DAYS_IN_NORMAL_YEAR +
50
- 5) %
51
- DAYS_IN_WEEK);
52
- };
53
- TuiYear.lengthBetween = function (from, to) {
54
- return to.year - from.year;
55
- };
56
- /**
57
- * Normalizes year by clamping it between min and max years
58
- */
59
- TuiYear.normalizeYearPart = function (year) {
60
- return normalizeToIntNumber(year, MIN_YEAR, MAX_YEAR);
61
- };
62
- Object.defineProperty(TuiYear.prototype, "formattedYear", {
63
- get: function () {
64
- return padStart(String(this.year), 4, "0");
65
- },
66
- enumerable: true,
67
- configurable: true
68
- });
69
- Object.defineProperty(TuiYear.prototype, "isLeapYear", {
70
- get: function () {
71
- return TuiYear.isLeapYear(this.year);
72
- },
73
- enumerable: true,
74
- configurable: true
75
- });
76
- Object.defineProperty(TuiYear.prototype, "absoluteLeapYears", {
77
- /**
78
- * Returns amount of leap years from year 0 to current
79
- */
80
- get: function () {
81
- return TuiYear.getAbsoluteLeapYears(this.year);
82
- },
83
- enumerable: true,
84
- configurable: true
85
- });
86
- Object.defineProperty(TuiYear.prototype, "yearStartDaysOffset", {
87
- /**
88
- * @deprecated DONT USE IT (will be deleted soon)
89
- *
90
- * Returns day of week offset of the beginning of the current year
91
- */
92
- get: function () {
93
- return TuiYear.getYearStartDaysOffset(this.year, this.absoluteLeapYears);
94
- },
95
- enumerable: true,
96
- configurable: true
97
- });
98
- /**
99
- * Passed year is after current
100
- */
101
- TuiYear.prototype.yearBefore = function (_a) {
102
- var year = _a.year;
103
- return this.year < year;
104
- };
105
- /**
106
- * Passed year is the same or after current
107
- */
108
- TuiYear.prototype.yearSameOrBefore = function (_a) {
109
- var year = _a.year;
110
- return this.year <= year;
111
- };
112
- /**
113
- * Passed year is the same as current
114
- */
115
- TuiYear.prototype.yearSame = function (_a) {
116
- var year = _a.year;
117
- return this.year === year;
118
- };
119
- /**
120
- * Passed year is either the same of before the current
121
- */
122
- TuiYear.prototype.yearSameOrAfter = function (_a) {
123
- var year = _a.year;
124
- return this.year >= year;
125
- };
126
- /**
127
- * Passed year is before current
128
- */
129
- TuiYear.prototype.yearAfter = function (_a) {
130
- var year = _a.year;
131
- return this.year > year;
132
- };
133
- // TODO: 3.0 Consider removing `backwards` option
134
- /**
135
- * Immutably offsets year
136
- */
137
- TuiYear.prototype.append = function (_a, backwards) {
138
- var _b = _a.year, year = _b === void 0 ? 0 : _b;
139
- if (backwards === void 0) { backwards = false; }
140
- tuiAssert.assert(Number.isInteger(year));
141
- if (backwards) {
142
- year *= -1;
143
- }
144
- var resultYear = this.year + year;
145
- tuiAssert.assert(TuiYear.isValidYear(resultYear));
146
- return new TuiYear(resultYear);
147
- };
148
- TuiYear.prototype.toString = function () {
149
- return this.formattedYear;
150
- };
151
- TuiYear.prototype.valueOf = function () {
152
- return this.year;
153
- };
154
- /**
155
- * Returns the primitive value of the given Date object.
156
- * Depending on the argument, the method can return either a string or a number.
157
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/@@toPrimitive
158
- */
159
- TuiYear.prototype[Symbol.toPrimitive] = function (hint) {
160
- return Date.prototype[Symbol.toPrimitive].call(this, hint);
161
- };
162
- TuiYear.prototype.toJSON = function () {
163
- return this.formattedYear;
164
- };
165
- return TuiYear;
166
- }());
167
- export { TuiYear };
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lLyIsInNvdXJjZXMiOlsieWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUV2RSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osUUFBUSxFQUNSLFFBQVEsR0FDWCxNQUFNLGFBQWEsQ0FBQztBQUVyQjs7O0dBR0c7QUFDSDtJQUNJLGlCQUFxQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQkFBVyxHQUFsQixVQUFtQixJQUFZO1FBQzNCLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0ksa0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUMxQixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1QyxPQUFPLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSw0QkFBb0IsR0FBM0IsVUFBNEIsSUFB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QUksR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELGlEQUFpRDtJQUNqRDs7T0FFRztJQUNILHdCQUFNLEdBQU4sVUFBTyxFQUF1QixFQUFFLFNBQTBCO1lBQWxELFlBQVEsRUFBUiw2QkFBUTtRQUFnQiwwQkFBQSxFQUFBLGlCQUEwQjtRQUN0RCxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLFNBQVMsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFFcEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsMEJBQVEsR0FBUjtRQUNJLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQseUJBQU8sR0FBUDtRQUNJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtCQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBcEIsVUFBcUIsSUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELHdCQUFNLEdBQU47UUFDSSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUNMLGNBQUM7QUFBRCxDQUFDLEFBaktELElBaUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVllYXJMaWtlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtwYWRTdGFydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb3JtYXQnO1xuaW1wb3J0IHtpblJhbmdlLCBub3JtYWxpemVUb0ludE51bWJlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHtcbiAgICBEQVlTX0lOX0xFQVBfWUVBUixcbiAgICBEQVlTX0lOX05PUk1BTF9ZRUFSLFxuICAgIERBWVNfSU5fV0VFSyxcbiAgICBNQVhfWUVBUixcbiAgICBNSU5fWUVBUixcbn0gZnJvbSAnLi9kYXRlLXRpbWUnO1xuXG4vKipcbiAqIEltbXV0YWJsZSB5ZWFyIG9iamVjdFxuICogQG5vc2lkZWVmZmVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aVllYXIgaW1wbGVtZW50cyBUdWlZZWFyTGlrZSB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgeWVhcjogbnVtYmVyKSB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHllYXIgZm9yIHZhbGlkaXR5XG4gICAgICovXG4gICAgc3RhdGljIGlzVmFsaWRZZWFyKHllYXI6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih5ZWFyKSAmJiBpblJhbmdlKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUiArIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHBhc3NlZCB5ZWFyIGlzIGEgbGVhcCB5ZWFyXG4gICAgICovXG4gICAgc3RhdGljIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHR1aUFzc2VydC5hc3NlcnQoVHVpWWVhci5pc1ZhbGlkWWVhcih5ZWFyKSk7XG5cbiAgICAgICAgcmV0dXJuIHllYXIgJSA0MDAgPT09IDAgfHwgKHllYXIgJSA0ID09PSAwICYmIHllYXIgJSAxMDAgIT09IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW1vdW50IG9mIGxlYXAgeWVhcnMgZnJvbSB5ZWFyIDAgdG8gdGhlIHBhc3NlZCBvbmVcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0QWJzb2x1dGVMZWFwWWVhcnMoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChUdWlZZWFyLmlzVmFsaWRZZWFyKHllYXIpKTtcblxuICAgICAgICByZXR1cm4gTWF0aC5jZWlsKHllYXIgLyA0MDApICsgKE1hdGguY2VpbCh5ZWFyIC8gNCkgLSBNYXRoLmNlaWwoeWVhciAvIDEwMCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIERPTlQgVVNFIElUICh3aWxsIGJlIGRlbGV0ZWQgc29vbilcbiAgICAgKlxuICAgICAqIFJldHVybnMgZGF5IG9mIHdlZWsgb2Zmc2V0IG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhc3NlZCB5ZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWVhclxuICAgICAqIEBwYXJhbSBhYnNvbHV0ZUxlYXBZZWFycyBhbW91bnQgb2YgbGVhcCB5ZWFycyBwcmlvciB0byB0aGUgcGFzc2VkIG9uZVxuICAgICAqIEByZXR1cm4gb2Zmc2V0IGluIGRheXNcbiAgICAgKi9cbiAgICBzdGF0aWMgZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh5ZWFyOiBudW1iZXIsIGFic29sdXRlTGVhcFllYXJzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIoeWVhcikpO1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoYWJzb2x1dGVMZWFwWWVhcnMpKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydCh5ZWFyID49IGFic29sdXRlTGVhcFllYXJzKTtcbiAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChhYnNvbHV0ZUxlYXBZZWFycyA+PSAwKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGFic29sdXRlTGVhcFllYXJzICogREFZU19JTl9MRUFQX1lFQVIgK1xuICAgICAgICAgICAgICAgICh5ZWFyIC0gYWJzb2x1dGVMZWFwWWVhcnMpICogREFZU19JTl9OT1JNQUxfWUVBUiArXG4gICAgICAgICAgICAgICAgNSkgJVxuICAgICAgICAgICAgREFZU19JTl9XRUVLXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3RhdGljIGxlbmd0aEJldHdlZW4oZnJvbTogVHVpWWVhciwgdG86IFR1aVllYXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdG8ueWVhciAtIGZyb20ueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOb3JtYWxpemVzIHllYXIgYnkgY2xhbXBpbmcgaXQgYmV0d2VlbiBtaW4gYW5kIG1heCB5ZWFyc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBzdGF0aWMgbm9ybWFsaXplWWVhclBhcnQoeWVhcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVRvSW50TnVtYmVyKHllYXIsIE1JTl9ZRUFSLCBNQVhfWUVBUik7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHBhZFN0YXJ0KFN0cmluZyh0aGlzLnllYXIpLCA0LCBgMGApO1xuICAgIH1cblxuICAgIGdldCBpc0xlYXBZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gVHVpWWVhci5pc0xlYXBZZWFyKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbW91bnQgb2YgbGVhcCB5ZWFycyBmcm9tIHllYXIgMCB0byBjdXJyZW50XG4gICAgICovXG4gICAgZ2V0IGFic29sdXRlTGVhcFllYXJzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBUdWlZZWFyLmdldEFic29sdXRlTGVhcFllYXJzKHRoaXMueWVhcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgRE9OVCBVU0UgSVQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKVxuICAgICAqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2VlayBvZmZzZXQgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCB5ZWFyXG4gICAgICovXG4gICAgZ2V0IHllYXJTdGFydERheXNPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFR1aVllYXIuZ2V0WWVhclN0YXJ0RGF5c09mZnNldCh0aGlzLnllYXIsIHRoaXMuYWJzb2x1dGVMZWFwWWVhcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQmVmb3JlKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyIDwgeWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyB0aGUgc2FtZSBvciBhZnRlciBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckJlZm9yZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA8PSB5ZWFyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCB5ZWFyIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyU2FtZSh7eWVhcn06IFR1aVllYXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhciA9PT0geWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgeWVhciBpcyBlaXRoZXIgdGhlIHNhbWUgb2YgYmVmb3JlIHRoZSBjdXJyZW50XG4gICAgICovXG4gICAgeWVhclNhbWVPckFmdGVyKHt5ZWFyfTogVHVpWWVhcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy55ZWFyID49IHllYXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIHllYXIgaXMgYmVmb3JlIGN1cnJlbnRcbiAgICAgKi9cbiAgICB5ZWFyQWZ0ZXIoe3llYXJ9OiBUdWlZZWFyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnllYXIgPiB5ZWFyO1xuICAgIH1cblxuICAgIC8vIFRPRE86IDMuMCBDb25zaWRlciByZW1vdmluZyBgYmFja3dhcmRzYCBvcHRpb25cbiAgICAvKipcbiAgICAgKiBJbW11dGFibHkgb2Zmc2V0cyB5ZWFyXG4gICAgICovXG4gICAgYXBwZW5kKHt5ZWFyID0gMH06IFR1aVllYXJMaWtlLCBiYWNrd2FyZHM6IGJvb2xlYW4gPSBmYWxzZSk6IFR1aVllYXIge1xuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoeWVhcikpO1xuXG4gICAgICAgIGlmIChiYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIHllYXIgKj0gLTE7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHRZZWFyID0gdGhpcy55ZWFyICsgeWVhcjtcblxuICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFR1aVllYXIuaXNWYWxpZFllYXIocmVzdWx0WWVhcikpO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpWWVhcihyZXN1bHRZZWFyKTtcbiAgICB9XG5cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cblxuICAgIHZhbHVlT2YoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueWVhcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBwcmltaXRpdmUgdmFsdWUgb2YgdGhlIGdpdmVuIERhdGUgb2JqZWN0LlxuICAgICAqIERlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQsIHRoZSBtZXRob2QgY2FuIHJldHVybiBlaXRoZXIgYSBzdHJpbmcgb3IgYSBudW1iZXIuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL0BAdG9QcmltaXRpdmVcbiAgICAgKi9cbiAgICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXIge1xuICAgICAgICByZXR1cm4gRGF0ZS5wcm90b3R5cGVbU3ltYm9sLnRvUHJpbWl0aXZlXS5jYWxsKHRoaXMsIGhpbnQpO1xuICAgIH1cblxuICAgIHRvSlNPTigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuICAgIH1cbn1cbiJdfQ==