@taiga-ui/cdk 4.51.0 → 4.52.0-canary.05c3268

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 (782) hide show
  1. package/classes/control.d.ts +2 -2
  2. package/classes/portals.d.ts +1 -1
  3. package/constants/used-icons.d.ts +1 -1
  4. package/constants/version.d.ts +1 -1
  5. package/constants/version.js +2 -1
  6. package/constants/version.js.map +1 -0
  7. package/date-time/date-time.d.ts +1 -1
  8. package/date-time/day.d.ts +1 -1
  9. package/directives/active-zone/active-zone.directive.d.ts +4 -3
  10. package/directives/animated/animated.directive.d.ts +0 -1
  11. package/directives/auto-focus/autofocus.options.d.ts +2 -2
  12. package/directives/index.d.ts +1 -1
  13. package/directives/let/let.directive.d.ts +1 -2
  14. package/directives/popover/popover.directive.d.ts +1 -1
  15. package/directives/with-styles/index.d.ts +1 -0
  16. package/directives/with-styles/with-styles.directive.d.ts +10 -0
  17. package/fesm2022/taiga-ui-cdk-classes.mjs +11 -12
  18. package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-cdk-constants.mjs +1 -21
  20. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-cdk-date-time.mjs +14 -2
  22. package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +22 -26
  24. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +48 -45
  26. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +5 -5
  28. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +4 -4
  30. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
  32. package/fesm2022/taiga-ui-cdk-directives-control.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +4 -4
  34. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +4 -4
  36. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-cdk-directives-element.mjs +4 -4
  38. package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +11 -19
  40. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
  42. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
  44. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +8 -8
  46. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
  48. package/fesm2022/taiga-ui-cdk-directives-item.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-cdk-directives-let.mjs +6 -7
  50. package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-cdk-directives-media.mjs +4 -4
  52. package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +4 -4
  54. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +15 -9
  56. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +8 -8
  58. package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +4 -4
  60. package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-cdk-directives-popover.mjs +3 -3
  62. package/fesm2022/taiga-ui-cdk-directives-popover.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +4 -4
  64. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +7 -7
  66. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +8 -8
  68. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +4 -4
  70. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-cdk-directives-validator.mjs +3 -3
  72. package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +4 -4
  74. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +3 -3
  76. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +29 -0
  78. package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs.map +1 -0
  79. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +7 -7
  80. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-cdk-directives.mjs +1 -1
  82. package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs +3 -3
  84. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
  86. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs +3 -3
  88. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs +3 -3
  90. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
  92. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +3 -3
  94. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs +3 -3
  96. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs +3 -3
  98. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs +3 -3
  100. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-cdk-services.mjs +17 -15
  102. package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-cdk-tokens.mjs +14 -13
  104. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-cdk-utils-color.mjs +1 -1
  107. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-cdk-utils-di.mjs +1 -1
  109. package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-cdk-utils-dom.mjs +14 -21
  111. package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +13 -14
  113. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +23 -5
  116. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  117. package/package.json +27 -139
  118. package/pipes/obfuscate/obfuscate.options.d.ts +1 -1
  119. package/schematics/constants/file-globs.js +2 -1
  120. package/schematics/constants/file-globs.js.map +1 -0
  121. package/schematics/constants/index.js +1 -0
  122. package/schematics/constants/index.js.map +1 -0
  123. package/schematics/constants/taiga-styles.js +1 -0
  124. package/schematics/constants/taiga-styles.js.map +1 -0
  125. package/schematics/index.js +1 -0
  126. package/schematics/index.js.map +1 -0
  127. package/schematics/migrate-tui-let/index.js +2 -1
  128. package/schematics/migrate-tui-let/index.js.map +1 -0
  129. package/schematics/ng-add/constants/modules.js +1 -0
  130. package/schematics/ng-add/constants/modules.js.map +1 -0
  131. package/schematics/ng-add/constants/packages.js +1 -0
  132. package/schematics/ng-add/constants/packages.js.map +1 -0
  133. package/schematics/ng-add/constants/versions.d.ts +1 -1
  134. package/schematics/ng-add/constants/versions.js +1 -0
  135. package/schematics/ng-add/constants/versions.js.map +1 -0
  136. package/schematics/ng-add/index.js +2 -2
  137. package/schematics/ng-add/index.js.map +1 -0
  138. package/schematics/ng-add/schema.js +1 -0
  139. package/schematics/ng-add/schema.js.map +1 -0
  140. package/schematics/ng-add/setup-project.js +2 -1
  141. package/schematics/ng-add/setup-project.js.map +1 -0
  142. package/schematics/ng-add/steps/add-taiga-icons.js +3 -3
  143. package/schematics/ng-add/steps/add-taiga-icons.js.map +1 -0
  144. package/schematics/ng-add/steps/add-taiga-modules.js +2 -2
  145. package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -0
  146. package/schematics/ng-add/steps/add-taiga-styles.js +2 -2
  147. package/schematics/ng-add/steps/add-taiga-styles.js.map +1 -0
  148. package/schematics/ng-add/steps/wrap-with-tui-root.js +2 -2
  149. package/schematics/ng-add/steps/wrap-with-tui-root.js.map +1 -0
  150. package/schematics/ng-update/interfaces/asset.js +1 -0
  151. package/schematics/ng-update/interfaces/asset.js.map +1 -0
  152. package/schematics/ng-update/interfaces/html-comment.js +1 -0
  153. package/schematics/ng-update/interfaces/html-comment.js.map +1 -0
  154. package/schematics/ng-update/interfaces/index.js +1 -0
  155. package/schematics/ng-update/interfaces/index.js.map +1 -0
  156. package/schematics/ng-update/interfaces/migration-warning.js +1 -0
  157. package/schematics/ng-update/interfaces/migration-warning.js.map +1 -0
  158. package/schematics/ng-update/interfaces/removable-input.js +1 -0
  159. package/schematics/ng-update/interfaces/removable-input.js.map +1 -0
  160. package/schematics/ng-update/interfaces/removed-module.js +1 -0
  161. package/schematics/ng-update/interfaces/removed-module.js.map +1 -0
  162. package/schematics/ng-update/interfaces/replacement-attribute-to-directive.js +1 -0
  163. package/schematics/ng-update/interfaces/replacement-attribute-to-directive.js.map +1 -0
  164. package/schematics/ng-update/interfaces/replacement-attribute-value.js +1 -0
  165. package/schematics/ng-update/interfaces/replacement-attribute-value.js.map +1 -0
  166. package/schematics/ng-update/interfaces/replacement-attribute.js +1 -0
  167. package/schematics/ng-update/interfaces/replacement-attribute.js.map +1 -0
  168. package/schematics/ng-update/interfaces/replacement-enum.js +1 -0
  169. package/schematics/ng-update/interfaces/replacement-enum.js.map +1 -0
  170. package/schematics/ng-update/interfaces/replacement-identifier.js +1 -0
  171. package/schematics/ng-update/interfaces/replacement-identifier.js.map +1 -0
  172. package/schematics/ng-update/interfaces/replacement-service.js +1 -0
  173. package/schematics/ng-update/interfaces/replacement-service.js.map +1 -0
  174. package/schematics/ng-update/interfaces/replacement-tag.js +1 -0
  175. package/schematics/ng-update/interfaces/replacement-tag.js.map +1 -0
  176. package/schematics/ng-update/interfaces/replacement-type.js +1 -0
  177. package/schematics/ng-update/interfaces/replacement-type.js.map +1 -0
  178. package/schematics/ng-update/interfaces/template-resource.js +1 -0
  179. package/schematics/ng-update/interfaces/template-resource.js.map +1 -0
  180. package/schematics/ng-update/steps/icons/replace-imports.js +2 -2
  181. package/schematics/ng-update/steps/icons/replace-imports.js.map +1 -0
  182. package/schematics/ng-update/steps/index.js +1 -0
  183. package/schematics/ng-update/steps/index.js.map +1 -0
  184. package/schematics/ng-update/steps/rename-types.js +2 -2
  185. package/schematics/ng-update/steps/rename-types.js.map +1 -0
  186. package/schematics/ng-update/steps/replace-deep-import.js +2 -2
  187. package/schematics/ng-update/steps/replace-deep-import.js.map +1 -0
  188. package/schematics/ng-update/steps/replace-enums.js +2 -2
  189. package/schematics/ng-update/steps/replace-enums.js.map +1 -0
  190. package/schematics/ng-update/steps/replace-identifier.js +3 -3
  191. package/schematics/ng-update/steps/replace-identifier.js.map +1 -0
  192. package/schematics/ng-update/steps/replace-package-name.js +2 -2
  193. package/schematics/ng-update/steps/replace-package-name.js.map +1 -0
  194. package/schematics/ng-update/steps/replace-services.js +2 -2
  195. package/schematics/ng-update/steps/replace-services.js.map +1 -0
  196. package/schematics/ng-update/steps/show-warnings.js +2 -2
  197. package/schematics/ng-update/steps/show-warnings.js.map +1 -0
  198. package/schematics/ng-update/utils/get-file-system.js +2 -2
  199. package/schematics/ng-update/utils/get-file-system.js.map +1 -0
  200. package/schematics/ng-update/{v4/steps → utils}/replace-functions.d.ts +1 -1
  201. package/schematics/ng-update/{v4/steps → utils}/replace-functions.js +3 -3
  202. package/schematics/ng-update/utils/replace-functions.js.map +1 -0
  203. package/schematics/ng-update/utils/replace-text.js +2 -2
  204. package/schematics/ng-update/utils/replace-text.js.map +1 -0
  205. package/schematics/ng-update/utils/templates/index.js +1 -0
  206. package/schematics/ng-update/utils/templates/index.js.map +1 -0
  207. package/schematics/ng-update/utils/templates/remove-inputs.js +2 -2
  208. package/schematics/ng-update/utils/templates/remove-inputs.js.map +1 -0
  209. package/schematics/ng-update/utils/templates/replace-attr-values.js +2 -2
  210. package/schematics/ng-update/utils/templates/replace-attr-values.js.map +1 -0
  211. package/schematics/ng-update/utils/templates/replace-attrs-by-directives.js +2 -2
  212. package/schematics/ng-update/utils/templates/replace-attrs-by-directives.js.map +1 -0
  213. package/schematics/ng-update/utils/templates/replace-attrs.js +2 -2
  214. package/schematics/ng-update/utils/templates/replace-attrs.js.map +1 -0
  215. package/schematics/ng-update/utils/templates/replace-tag.js +2 -2
  216. package/schematics/ng-update/utils/templates/replace-tag.js.map +1 -0
  217. package/schematics/ng-update/utils/templates/replace-tags.js +2 -2
  218. package/schematics/ng-update/utils/templates/replace-tags.js.map +1 -0
  219. package/schematics/ng-update/utils/templates/template-comments.js +2 -2
  220. package/schematics/ng-update/utils/templates/template-comments.js.map +1 -0
  221. package/schematics/ng-update/v4/index.js +3 -3
  222. package/schematics/ng-update/v4/index.js.map +1 -0
  223. package/schematics/ng-update/v4/migrate-addon-doc/index.js +2 -2
  224. package/schematics/ng-update/v4/migrate-addon-doc/index.js.map +1 -0
  225. package/schematics/ng-update/v4/migrate-addon-doc/replace-symbols.js +1 -0
  226. package/schematics/ng-update/v4/migrate-addon-doc/replace-symbols.js.map +1 -0
  227. package/schematics/ng-update/v4/migrate-css-vars/index.js +2 -2
  228. package/schematics/ng-update/v4/migrate-css-vars/index.js.map +1 -0
  229. package/schematics/ng-update/v4/migrate-css-vars/palette.js +1 -0
  230. package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -0
  231. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.d.ts +0 -1
  232. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js +2 -2
  233. package/schematics/ng-update/v4/migrate-css-vars/rename-css-vars.js.map +1 -0
  234. package/schematics/ng-update/v4/migrate-icons/index.js +2 -2
  235. package/schematics/ng-update/v4/migrate-icons/index.js.map +1 -0
  236. package/schematics/ng-update/v4/migrate-icons/rename-icons.d.ts +0 -1
  237. package/schematics/ng-update/v4/migrate-icons/rename-icons.js +2 -2
  238. package/schematics/ng-update/v4/migrate-icons/rename-icons.js.map +1 -0
  239. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.d.ts +0 -1
  240. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js +2 -2
  241. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js.map +1 -0
  242. package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +1 -0
  243. package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js.map +1 -0
  244. package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +1 -0
  245. package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js.map +1 -0
  246. package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +1 -0
  247. package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js.map +1 -0
  248. package/schematics/ng-update/v4/steps/constants/enums.js +1 -0
  249. package/schematics/ng-update/v4/steps/constants/enums.js.map +1 -0
  250. package/schematics/ng-update/v4/steps/constants/functions.js +1 -0
  251. package/schematics/ng-update/v4/steps/constants/functions.js.map +1 -0
  252. package/schematics/ng-update/v4/steps/constants/html-comments.js +1 -0
  253. package/schematics/ng-update/v4/steps/constants/html-comments.js.map +1 -0
  254. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +1 -0
  255. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js.map +1 -0
  256. package/schematics/ng-update/v4/steps/constants/index.js +1 -0
  257. package/schematics/ng-update/v4/steps/constants/index.js.map +1 -0
  258. package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +1 -0
  259. package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js.map +1 -0
  260. package/schematics/ng-update/v4/steps/constants/migration-warnings.js +1 -0
  261. package/schematics/ng-update/v4/steps/constants/migration-warnings.js.map +1 -0
  262. package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +1 -0
  263. package/schematics/ng-update/v4/steps/constants/modules-to-remove.js.map +1 -0
  264. package/schematics/ng-update/v4/steps/constants/modules-to-replace.js +1 -0
  265. package/schematics/ng-update/v4/steps/constants/modules-to-replace.js.map +1 -0
  266. package/schematics/ng-update/v4/steps/constants/services.js +1 -0
  267. package/schematics/ng-update/v4/steps/constants/services.js.map +1 -0
  268. package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +1 -0
  269. package/schematics/ng-update/v4/steps/constants/tags-to-replace.js.map +1 -0
  270. package/schematics/ng-update/v4/steps/constants/types.js +1 -0
  271. package/schematics/ng-update/v4/steps/constants/types.js.map +1 -0
  272. package/schematics/ng-update/v4/steps/drop-universal-mock.js +2 -2
  273. package/schematics/ng-update/v4/steps/drop-universal-mock.js.map +1 -0
  274. package/schematics/ng-update/v4/steps/index.js +1 -0
  275. package/schematics/ng-update/v4/steps/index.js.map +1 -0
  276. package/schematics/ng-update/v4/steps/migrate-alert-service.js +2 -2
  277. package/schematics/ng-update/v4/steps/migrate-alert-service.js.map +1 -0
  278. package/schematics/ng-update/v4/steps/migrate-all-country-iso-codes.js +2 -2
  279. package/schematics/ng-update/v4/steps/migrate-all-country-iso-codes.js.map +1 -0
  280. package/schematics/ng-update/v4/steps/migrate-destroy-service.js +2 -2
  281. package/schematics/ng-update/v4/steps/migrate-destroy-service.js.map +1 -0
  282. package/schematics/ng-update/v4/steps/migrate-editor.d.ts +0 -1
  283. package/schematics/ng-update/v4/steps/migrate-editor.js +3 -2
  284. package/schematics/ng-update/v4/steps/migrate-editor.js.map +1 -0
  285. package/schematics/ng-update/v4/steps/migrate-legacy-mask.js +2 -2
  286. package/schematics/ng-update/v4/steps/migrate-legacy-mask.js.map +1 -0
  287. package/schematics/ng-update/v4/steps/migrate-month-context.js +2 -2
  288. package/schematics/ng-update/v4/steps/migrate-month-context.js.map +1 -0
  289. package/schematics/ng-update/v4/steps/migrate-number-format-settings.js +2 -2
  290. package/schematics/ng-update/v4/steps/migrate-number-format-settings.js.map +1 -0
  291. package/schematics/ng-update/v4/steps/migrate-option-providers.js +2 -2
  292. package/schematics/ng-update/v4/steps/migrate-option-providers.js.map +1 -0
  293. package/schematics/ng-update/v4/steps/migrate-proprietary.d.ts +0 -1
  294. package/schematics/ng-update/v4/steps/migrate-proprietary.js +3 -3
  295. package/schematics/ng-update/v4/steps/migrate-proprietary.js.map +1 -0
  296. package/schematics/ng-update/v4/steps/migrate-providers-from.js +2 -2
  297. package/schematics/ng-update/v4/steps/migrate-providers-from.js.map +1 -0
  298. package/schematics/ng-update/v4/steps/migrate-root.js +2 -2
  299. package/schematics/ng-update/v4/steps/migrate-root.js.map +1 -0
  300. package/schematics/ng-update/v4/steps/migrate-templates.js +3 -3
  301. package/schematics/ng-update/v4/steps/migrate-templates.js.map +1 -0
  302. package/schematics/ng-update/v4/steps/remove-duplicates.js +2 -2
  303. package/schematics/ng-update/v4/steps/remove-duplicates.js.map +1 -0
  304. package/schematics/ng-update/v4/steps/restore-tui-mapper.js +2 -2
  305. package/schematics/ng-update/v4/steps/restore-tui-mapper.js.map +1 -0
  306. package/schematics/ng-update/v4/steps/restore-tui-matcher.js +2 -2
  307. package/schematics/ng-update/v4/steps/restore-tui-matcher.js.map +1 -0
  308. package/schematics/ng-update/v4/steps/styles/index.d.ts +0 -1
  309. package/schematics/ng-update/v4/steps/styles/index.js +3 -2
  310. package/schematics/ng-update/v4/steps/styles/index.js.map +1 -0
  311. package/schematics/ng-update/v4/steps/styles/migrate-legacy-mixins.js +2 -2
  312. package/schematics/ng-update/v4/steps/styles/migrate-legacy-mixins.js.map +1 -0
  313. package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.js +2 -2
  314. package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.js.map +1 -0
  315. package/schematics/ng-update/v4/steps/styles/migrate-mixins.js +2 -2
  316. package/schematics/ng-update/v4/steps/styles/migrate-mixins.js.map +1 -0
  317. package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.js +2 -2
  318. package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.js.map +1 -0
  319. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js +2 -2
  320. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js.map +1 -0
  321. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +2 -2
  322. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -0
  323. package/schematics/ng-update/v4/steps/templates/dropdown-ref-comment.js +2 -2
  324. package/schematics/ng-update/v4/steps/templates/dropdown-ref-comment.js.map +1 -0
  325. package/schematics/ng-update/v4/steps/templates/index.js +1 -0
  326. package/schematics/ng-update/v4/steps/templates/index.js.map +1 -0
  327. package/schematics/ng-update/v4/steps/templates/migrate-active-zone.js +2 -2
  328. package/schematics/ng-update/v4/steps/templates/migrate-active-zone.js.map +1 -0
  329. package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +2 -2
  330. package/schematics/ng-update/v4/steps/templates/migrate-avatar.js.map +1 -0
  331. package/schematics/ng-update/v4/steps/templates/migrate-axes.js +2 -2
  332. package/schematics/ng-update/v4/steps/templates/migrate-axes.js.map +1 -0
  333. package/schematics/ng-update/v4/steps/templates/migrate-badge.js +2 -2
  334. package/schematics/ng-update/v4/steps/templates/migrate-badge.js.map +1 -0
  335. package/schematics/ng-update/v4/steps/templates/migrate-badged-content.js +2 -2
  336. package/schematics/ng-update/v4/steps/templates/migrate-badged-content.js.map +1 -0
  337. package/schematics/ng-update/v4/steps/templates/migrate-blocked.js +2 -2
  338. package/schematics/ng-update/v4/steps/templates/migrate-blocked.js.map +1 -0
  339. package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js +2 -2
  340. package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js.map +1 -0
  341. package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +2 -2
  342. package/schematics/ng-update/v4/steps/templates/migrate-expandable.js.map +1 -0
  343. package/schematics/ng-update/v4/steps/templates/migrate-filter-pipe.js +2 -2
  344. package/schematics/ng-update/v4/steps/templates/migrate-filter-pipe.js.map +1 -0
  345. package/schematics/ng-update/v4/steps/templates/migrate-focusable.js +2 -2
  346. package/schematics/ng-update/v4/steps/templates/migrate-focusable.js.map +1 -0
  347. package/schematics/ng-update/v4/steps/templates/migrate-label.js +2 -2
  348. package/schematics/ng-update/v4/steps/templates/migrate-label.js.map +1 -0
  349. package/schematics/ng-update/v4/steps/templates/migrate-labeled.js +2 -2
  350. package/schematics/ng-update/v4/steps/templates/migrate-labeled.js.map +1 -0
  351. package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.js +2 -2
  352. package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.js.map +1 -0
  353. package/schematics/ng-update/v4/steps/templates/migrate-money.js +2 -2
  354. package/schematics/ng-update/v4/steps/templates/migrate-money.js.map +1 -0
  355. package/schematics/ng-update/v4/steps/templates/migrate-notification.js +2 -2
  356. package/schematics/ng-update/v4/steps/templates/migrate-notification.js.map +1 -0
  357. package/schematics/ng-update/v4/steps/templates/migrate-number-precision.js +2 -2
  358. package/schematics/ng-update/v4/steps/templates/migrate-number-precision.js.map +1 -0
  359. package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +2 -2
  360. package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js.map +1 -0
  361. package/schematics/ng-update/v4/steps/templates/migrate-prevent-default.js +2 -2
  362. package/schematics/ng-update/v4/steps/templates/migrate-prevent-default.js.map +1 -0
  363. package/schematics/ng-update/v4/steps/templates/migrate-progress-segmented.js +2 -2
  364. package/schematics/ng-update/v4/steps/templates/migrate-progress-segmented.js.map +1 -0
  365. package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js +2 -2
  366. package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js.map +1 -0
  367. package/schematics/ng-update/v4/steps/templates/toggles/common.js +5 -5
  368. package/schematics/ng-update/v4/steps/templates/toggles/common.js.map +1 -0
  369. package/schematics/ng-update/v4/steps/templates/toggles/index.js +1 -0
  370. package/schematics/ng-update/v4/steps/templates/toggles/index.js.map +1 -0
  371. package/schematics/ng-update/v4/steps/templates/toggles/migrate-checkbox.js +2 -2
  372. package/schematics/ng-update/v4/steps/templates/toggles/migrate-checkbox.js.map +1 -0
  373. package/schematics/ng-update/v4/steps/templates/toggles/migrate-radio.js +2 -2
  374. package/schematics/ng-update/v4/steps/templates/toggles/migrate-radio.js.map +1 -0
  375. package/schematics/ng-update/v4/steps/templates/toggles/migrate-toggle.js +2 -2
  376. package/schematics/ng-update/v4/steps/templates/toggles/migrate-toggle.js.map +1 -0
  377. package/schematics/ng-update/v4/steps/update-packages.d.ts +0 -1
  378. package/schematics/ng-update/v4/steps/update-packages.js +3 -2
  379. package/schematics/ng-update/v4/steps/update-packages.js.map +1 -0
  380. package/schematics/ng-update/v4/steps/utils/clean-object.js +2 -2
  381. package/schematics/ng-update/v4/steps/utils/clean-object.js.map +1 -0
  382. package/schematics/ng-update/v4/steps/utils/normalize-attr-value.js +2 -2
  383. package/schematics/ng-update/v4/steps/utils/normalize-attr-value.js.map +1 -0
  384. package/schematics/ng-update/v4/steps/utils/remove-attrs.js +2 -2
  385. package/schematics/ng-update/v4/steps/utils/remove-attrs.js.map +1 -0
  386. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js +1 -0
  387. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js.map +1 -0
  388. package/schematics/ng-update/v4/steps/utils/replace-substrings.js +2 -2
  389. package/schematics/ng-update/v4/steps/utils/replace-substrings.js.map +1 -0
  390. package/schematics/ng-update/v4/tests/migrate-destroy-service/utils.js +2 -2
  391. package/schematics/ng-update/v4/tests/migrate-destroy-service/utils.js.map +1 -0
  392. package/schematics/ng-update/v5/index.js +11 -2
  393. package/schematics/ng-update/v5/index.js.map +1 -0
  394. package/schematics/ng-update/v5/steps/constants/functions.d.ts +2 -0
  395. package/schematics/ng-update/v5/steps/constants/functions.js +36 -0
  396. package/schematics/ng-update/v5/steps/constants/functions.js.map +1 -0
  397. package/schematics/ng-update/v5/steps/constants/html-comments.d.ts +2 -0
  398. package/schematics/ng-update/v5/steps/constants/html-comments.js +11 -0
  399. package/schematics/ng-update/v5/steps/constants/html-comments.js.map +1 -0
  400. package/schematics/ng-update/v5/steps/migrate-templates.d.ts +17 -0
  401. package/schematics/ng-update/v5/steps/migrate-templates.js +40 -0
  402. package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -0
  403. package/schematics/ng-update/v5/steps/migrate-tokens/migrate-tokens.js +2 -2
  404. package/schematics/ng-update/v5/steps/migrate-tokens/migrate-tokens.js.map +1 -0
  405. package/schematics/ng-update/v5/steps/migrate-tokens/update-tsconfig.js +2 -2
  406. package/schematics/ng-update/v5/steps/migrate-tokens/update-tsconfig.js.map +1 -0
  407. package/schematics/ng-update/v5/tests/migrate-tokens/utils.js +2 -2
  408. package/schematics/ng-update/v5/tests/migrate-tokens/utils.js.map +1 -0
  409. package/schematics/utils/add-import-to-closest-module.js +3 -3
  410. package/schematics/utils/add-import-to-closest-module.js.map +1 -0
  411. package/schematics/utils/add-unique-import.js +2 -2
  412. package/schematics/utils/add-unique-import.js.map +1 -0
  413. package/schematics/utils/angular-json-manipulations.js +3 -3
  414. package/schematics/utils/angular-json-manipulations.js.map +1 -0
  415. package/schematics/utils/create-angular-json.js +2 -2
  416. package/schematics/utils/create-angular-json.js.map +1 -0
  417. package/schematics/utils/get-component-from-identifier.js +2 -2
  418. package/schematics/utils/get-component-from-identifier.js.map +1 -0
  419. package/schematics/utils/get-execution-time.js +2 -2
  420. package/schematics/utils/get-execution-time.js.map +1 -0
  421. package/schematics/utils/get-named-import-references.js +2 -2
  422. package/schematics/utils/get-named-import-references.js.map +1 -0
  423. package/schematics/utils/get-project-target-options.js +2 -2
  424. package/schematics/utils/get-project-target-options.js.map +1 -0
  425. package/schematics/utils/get-projects.js +2 -2
  426. package/schematics/utils/get-projects.js.map +1 -0
  427. package/schematics/utils/get-standalone-bootstrap-function.d.ts +1 -1
  428. package/schematics/utils/get-standalone-bootstrap-function.js +3 -5
  429. package/schematics/utils/get-standalone-bootstrap-function.js.map +1 -0
  430. package/schematics/utils/import-manipulations.js +3 -3
  431. package/schematics/utils/import-manipulations.js.map +1 -0
  432. package/schematics/utils/insert-todo.js +3 -2
  433. package/schematics/utils/insert-todo.js.map +1 -0
  434. package/schematics/utils/is-ci.js +2 -2
  435. package/schematics/utils/is-ci.js.map +1 -0
  436. package/schematics/utils/make-angular-json-with-assets.js +2 -2
  437. package/schematics/utils/make-angular-json-with-assets.js.map +1 -0
  438. package/schematics/utils/progress.js +2 -2
  439. package/schematics/utils/progress.js.map +1 -0
  440. package/schematics/utils/project-root.js +1 -0
  441. package/schematics/utils/project-root.js.map +1 -0
  442. package/schematics/utils/push-to-array-property.js +2 -2
  443. package/schematics/utils/push-to-array-property.js.map +1 -0
  444. package/schematics/utils/remove-module.js +3 -3
  445. package/schematics/utils/remove-module.js.map +1 -0
  446. package/schematics/utils/templates/elements.js +12 -12
  447. package/schematics/utils/templates/elements.js.map +1 -0
  448. package/schematics/utils/templates/get-component-templates.js +2 -2
  449. package/schematics/utils/templates/get-component-templates.js.map +1 -0
  450. package/schematics/utils/templates/inputs.js +3 -3
  451. package/schematics/utils/templates/inputs.js.map +1 -0
  452. package/schematics/utils/templates/ng-component-input-manipulations.js +6 -6
  453. package/schematics/utils/templates/ng-component-input-manipulations.js.map +1 -0
  454. package/schematics/utils/templates/template-resource.js +4 -4
  455. package/schematics/utils/templates/template-resource.js.map +1 -0
  456. package/services/scroll.service.d.ts +3 -0
  457. package/tokens/environment.d.ts +5 -0
  458. package/utils/di/create-options.d.ts +2 -2
  459. package/utils/dom/get-element-obscurers.d.ts +1 -1
  460. package/utils/focus/blur-native-focused.d.ts +1 -1
  461. package/utils/focus/get-native-focused.d.ts +1 -1
  462. package/utils/focus/is-native-focused-in.d.ts +1 -1
  463. package/utils/focus/is-native-focused.d.ts +1 -1
  464. package/utils/focus/is-native-keyboard-focusable.d.ts +1 -1
  465. package/utils/focus/is-native-mouse-focusable.d.ts +1 -1
  466. package/utils/miscellaneous/index.d.ts +1 -0
  467. package/utils/miscellaneous/is-string.js +2 -2
  468. package/utils/miscellaneous/is-string.js.map +1 -0
  469. package/utils/miscellaneous/provide-options.d.ts +2 -2
  470. package/utils/miscellaneous/set-signal.d.ts +2 -0
  471. package/directives/for/for.directive.d.ts +0 -12
  472. package/directives/for/index.d.ts +0 -1
  473. package/esm2022/classes/control.mjs +0 -96
  474. package/esm2022/classes/index.mjs +0 -5
  475. package/esm2022/classes/portals.mjs +0 -77
  476. package/esm2022/classes/taiga-ui-cdk-classes.mjs +0 -5
  477. package/esm2022/classes/validation-error.mjs +0 -7
  478. package/esm2022/classes/value-transformer.mjs +0 -25
  479. package/esm2022/constants/allow-signal-writes.mjs +0 -3
  480. package/esm2022/constants/empty.mjs +0 -25
  481. package/esm2022/constants/handlers.mjs +0 -11
  482. package/esm2022/constants/index.mjs +0 -10
  483. package/esm2022/constants/matchers.mjs +0 -26
  484. package/esm2022/constants/regexp.mjs +0 -4
  485. package/esm2022/constants/svg-node-filter.mjs +0 -8
  486. package/esm2022/constants/taiga-ui-cdk-constants.mjs +0 -5
  487. package/esm2022/constants/unicode-chars.mjs +0 -64
  488. package/esm2022/constants/used-icons.mjs +0 -76
  489. package/esm2022/constants/version.mjs +0 -2
  490. package/esm2022/date-time/date-clamp.mjs +0 -10
  491. package/esm2022/date-time/date-fillers.mjs +0 -15
  492. package/esm2022/date-time/date-time.mjs +0 -20
  493. package/esm2022/date-time/day-of-week.mjs +0 -10
  494. package/esm2022/date-time/day-range.mjs +0 -84
  495. package/esm2022/date-time/day.mjs +0 -294
  496. package/esm2022/date-time/days.const.mjs +0 -6
  497. package/esm2022/date-time/index.mjs +0 -13
  498. package/esm2022/date-time/month-number.mjs +0 -15
  499. package/esm2022/date-time/month-range.mjs +0 -27
  500. package/esm2022/date-time/month.mjs +0 -152
  501. package/esm2022/date-time/taiga-ui-cdk-date-time.mjs +0 -5
  502. package/esm2022/date-time/time.mjs +0 -161
  503. package/esm2022/date-time/types.mjs +0 -2
  504. package/esm2022/date-time/year.mjs +0 -111
  505. package/esm2022/directives/active-zone/active-zone.directive.mjs +0 -74
  506. package/esm2022/directives/active-zone/index.mjs +0 -2
  507. package/esm2022/directives/active-zone/taiga-ui-cdk-directives-active-zone.mjs +0 -5
  508. package/esm2022/directives/animated/animated-parent.directive.mjs +0 -39
  509. package/esm2022/directives/animated/animated.directive.mjs +0 -81
  510. package/esm2022/directives/animated/index.mjs +0 -3
  511. package/esm2022/directives/animated/taiga-ui-cdk-directives-animated.mjs +0 -5
  512. package/esm2022/directives/auto-focus/autofocus.directive.mjs +0 -46
  513. package/esm2022/directives/auto-focus/autofocus.options.mjs +0 -31
  514. package/esm2022/directives/auto-focus/handlers/abstract.handler.mjs +0 -17
  515. package/esm2022/directives/auto-focus/handlers/default.handler.mjs +0 -21
  516. package/esm2022/directives/auto-focus/handlers/ios.handler.mjs +0 -125
  517. package/esm2022/directives/auto-focus/handlers/sync.handler.mjs +0 -7
  518. package/esm2022/directives/auto-focus/index.mjs +0 -7
  519. package/esm2022/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.mjs +0 -5
  520. package/esm2022/directives/click-outside/click-outside.directive.mjs +0 -33
  521. package/esm2022/directives/click-outside/index.mjs +0 -2
  522. package/esm2022/directives/click-outside/taiga-ui-cdk-directives-click-outside.mjs +0 -5
  523. package/esm2022/directives/control/control.directive.mjs +0 -23
  524. package/esm2022/directives/control/index.mjs +0 -2
  525. package/esm2022/directives/control/taiga-ui-cdk-directives-control.mjs +0 -5
  526. package/esm2022/directives/copy-processor/copy-processor.directive.mjs +0 -33
  527. package/esm2022/directives/copy-processor/index.mjs +0 -2
  528. package/esm2022/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.mjs +0 -5
  529. package/esm2022/directives/droppable/droppable.directive.mjs +0 -31
  530. package/esm2022/directives/droppable/index.mjs +0 -2
  531. package/esm2022/directives/droppable/taiga-ui-cdk-directives-droppable.mjs +0 -5
  532. package/esm2022/directives/element/element.directive.mjs +0 -35
  533. package/esm2022/directives/element/index.mjs +0 -2
  534. package/esm2022/directives/element/taiga-ui-cdk-directives-element.mjs +0 -5
  535. package/esm2022/directives/focus-trap/focus-trap.directive.mjs +0 -67
  536. package/esm2022/directives/focus-trap/index.mjs +0 -2
  537. package/esm2022/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.mjs +0 -5
  538. package/esm2022/directives/font-size/font-size.directive.mjs +0 -27
  539. package/esm2022/directives/font-size/index.mjs +0 -2
  540. package/esm2022/directives/font-size/taiga-ui-cdk-directives-font-size.mjs +0 -5
  541. package/esm2022/directives/for/for.directive.mjs +0 -34
  542. package/esm2022/directives/for/index.mjs +0 -2
  543. package/esm2022/directives/for/taiga-ui-cdk-directives-for.mjs +0 -5
  544. package/esm2022/directives/high-dpi/high-dpi.directive.mjs +0 -23
  545. package/esm2022/directives/high-dpi/index.mjs +0 -2
  546. package/esm2022/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.mjs +0 -5
  547. package/esm2022/directives/hovered/hovered.directive.mjs +0 -22
  548. package/esm2022/directives/hovered/hovered.service.mjs +0 -35
  549. package/esm2022/directives/hovered/index.mjs +0 -3
  550. package/esm2022/directives/hovered/taiga-ui-cdk-directives-hovered.mjs +0 -5
  551. package/esm2022/directives/index.mjs +0 -30
  552. package/esm2022/directives/item/index.mjs +0 -2
  553. package/esm2022/directives/item/item.directive.mjs +0 -18
  554. package/esm2022/directives/item/taiga-ui-cdk-directives-item.mjs +0 -5
  555. package/esm2022/directives/let/index.mjs +0 -3
  556. package/esm2022/directives/let/let-context.mjs +0 -15
  557. package/esm2022/directives/let/let.directive.mjs +0 -34
  558. package/esm2022/directives/let/taiga-ui-cdk-directives-let.mjs +0 -5
  559. package/esm2022/directives/media/index.mjs +0 -2
  560. package/esm2022/directives/media/media.directive.mjs +0 -89
  561. package/esm2022/directives/media/taiga-ui-cdk-directives-media.mjs +0 -5
  562. package/esm2022/directives/native-validator/index.mjs +0 -2
  563. package/esm2022/directives/native-validator/native-validator.directive.mjs +0 -43
  564. package/esm2022/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs +0 -5
  565. package/esm2022/directives/obscured/index.mjs +0 -3
  566. package/esm2022/directives/obscured/obscured.directive.mjs +0 -36
  567. package/esm2022/directives/obscured/obscured.service.mjs +0 -24
  568. package/esm2022/directives/obscured/taiga-ui-cdk-directives-obscured.mjs +0 -5
  569. package/esm2022/directives/pan/index.mjs +0 -3
  570. package/esm2022/directives/pan/pan.directive.mjs +0 -22
  571. package/esm2022/directives/pan/pan.service.mjs +0 -28
  572. package/esm2022/directives/pan/taiga-ui-cdk-directives-pan.mjs +0 -5
  573. package/esm2022/directives/platform/index.mjs +0 -2
  574. package/esm2022/directives/platform/platform.directive.mjs +0 -35
  575. package/esm2022/directives/platform/taiga-ui-cdk-directives-platform.mjs +0 -5
  576. package/esm2022/directives/popover/index.mjs +0 -2
  577. package/esm2022/directives/popover/popover.directive.mjs +0 -26
  578. package/esm2022/directives/popover/taiga-ui-cdk-directives-popover.mjs +0 -5
  579. package/esm2022/directives/repeat-times/index.mjs +0 -2
  580. package/esm2022/directives/repeat-times/repeat-times.directive.mjs +0 -55
  581. package/esm2022/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.mjs +0 -5
  582. package/esm2022/directives/resizer/index.mjs +0 -3
  583. package/esm2022/directives/resizer/resizable.directive.mjs +0 -16
  584. package/esm2022/directives/resizer/resizer.directive.mjs +0 -83
  585. package/esm2022/directives/resizer/taiga-ui-cdk-directives-resizer.mjs +0 -5
  586. package/esm2022/directives/swipe/index.mjs +0 -4
  587. package/esm2022/directives/swipe/swipe.directive.mjs +0 -22
  588. package/esm2022/directives/swipe/swipe.options.mjs +0 -8
  589. package/esm2022/directives/swipe/swipe.service.mjs +0 -50
  590. package/esm2022/directives/swipe/swipe.types.mjs +0 -2
  591. package/esm2022/directives/swipe/taiga-ui-cdk-directives-swipe.mjs +0 -5
  592. package/esm2022/directives/taiga-ui-cdk-directives.mjs +0 -5
  593. package/esm2022/directives/transitioned/index.mjs +0 -2
  594. package/esm2022/directives/transitioned/taiga-ui-cdk-directives-transitioned.mjs +0 -5
  595. package/esm2022/directives/transitioned/transitioned.directive.mjs +0 -27
  596. package/esm2022/directives/validator/index.mjs +0 -2
  597. package/esm2022/directives/validator/taiga-ui-cdk-directives-validator.mjs +0 -5
  598. package/esm2022/directives/validator/validator.directive.mjs +0 -30
  599. package/esm2022/directives/value-changes/index.mjs +0 -2
  600. package/esm2022/directives/value-changes/taiga-ui-cdk-directives-value-changes.mjs +0 -5
  601. package/esm2022/directives/value-changes/value-changes.directive.mjs +0 -28
  602. package/esm2022/directives/visual-viewport/index.mjs +0 -2
  603. package/esm2022/directives/visual-viewport/taiga-ui-cdk-directives-visual-viewport.mjs +0 -5
  604. package/esm2022/directives/visual-viewport/visual-viewport.directive.mjs +0 -34
  605. package/esm2022/directives/zoom/index.mjs +0 -4
  606. package/esm2022/directives/zoom/taiga-ui-cdk-directives-zoom.mjs +0 -5
  607. package/esm2022/directives/zoom/zoom.directive.mjs +0 -24
  608. package/esm2022/directives/zoom/zoom.options.mjs +0 -10
  609. package/esm2022/directives/zoom/zoom.service.mjs +0 -46
  610. package/esm2022/directives/zoom/zoom.types.mjs +0 -2
  611. package/esm2022/index.mjs +0 -10
  612. package/esm2022/observables/close-watcher.mjs +0 -22
  613. package/esm2022/observables/control-value.mjs +0 -8
  614. package/esm2022/observables/drag-and-drop-from.mjs +0 -14
  615. package/esm2022/observables/events.mjs +0 -8
  616. package/esm2022/observables/if-map.mjs +0 -5
  617. package/esm2022/observables/index.mjs +0 -14
  618. package/esm2022/observables/must-be-present.mjs +0 -17
  619. package/esm2022/observables/query-list-observable.mjs +0 -9
  620. package/esm2022/observables/scroll-from.mjs +0 -10
  621. package/esm2022/observables/taiga-ui-cdk-observables.mjs +0 -5
  622. package/esm2022/observables/take-until-destroyed.mjs +0 -9
  623. package/esm2022/observables/typed-from-event.mjs +0 -9
  624. package/esm2022/observables/untracked-scheduler.mjs +0 -11
  625. package/esm2022/observables/watch.mjs +0 -6
  626. package/esm2022/observables/zone.mjs +0 -34
  627. package/esm2022/pipes/animation/animation.pipe.mjs +0 -27
  628. package/esm2022/pipes/animation/index.mjs +0 -2
  629. package/esm2022/pipes/animation/taiga-ui-cdk-pipes-animation.mjs +0 -5
  630. package/esm2022/pipes/filter/filter.pipe.mjs +0 -25
  631. package/esm2022/pipes/filter/index.mjs +0 -2
  632. package/esm2022/pipes/filter/taiga-ui-cdk-pipes-filter.mjs +0 -5
  633. package/esm2022/pipes/index.mjs +0 -10
  634. package/esm2022/pipes/is-present/index.mjs +0 -2
  635. package/esm2022/pipes/is-present/is-present.pipe.mjs +0 -19
  636. package/esm2022/pipes/is-present/taiga-ui-cdk-pipes-is-present.mjs +0 -5
  637. package/esm2022/pipes/keys/index.mjs +0 -2
  638. package/esm2022/pipes/keys/keys.pipe.mjs +0 -18
  639. package/esm2022/pipes/keys/taiga-ui-cdk-pipes-keys.mjs +0 -5
  640. package/esm2022/pipes/mapper/index.mjs +0 -2
  641. package/esm2022/pipes/mapper/mapper.pipe.mjs +0 -25
  642. package/esm2022/pipes/mapper/taiga-ui-cdk-pipes-mapper.mjs +0 -5
  643. package/esm2022/pipes/obfuscate/index.mjs +0 -3
  644. package/esm2022/pipes/obfuscate/obfuscate.options.mjs +0 -10
  645. package/esm2022/pipes/obfuscate/obfuscate.pipe.mjs +0 -44
  646. package/esm2022/pipes/obfuscate/taiga-ui-cdk-pipes-obfuscate.mjs +0 -5
  647. package/esm2022/pipes/repeat-times/index.mjs +0 -19
  648. package/esm2022/pipes/repeat-times/taiga-ui-cdk-pipes-repeat-times.mjs +0 -5
  649. package/esm2022/pipes/replace/index.mjs +0 -2
  650. package/esm2022/pipes/replace/replace.pipe.mjs +0 -20
  651. package/esm2022/pipes/replace/taiga-ui-cdk-pipes-replace.mjs +0 -5
  652. package/esm2022/pipes/taiga-ui-cdk-pipes.mjs +0 -5
  653. package/esm2022/pipes/to-array/index.mjs +0 -2
  654. package/esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs +0 -5
  655. package/esm2022/pipes/to-array/to-array.pipe.mjs +0 -18
  656. package/esm2022/services/id.service.mjs +0 -21
  657. package/esm2022/services/index.mjs +0 -5
  658. package/esm2022/services/popover.service.mjs +0 -45
  659. package/esm2022/services/scroll.service.mjs +0 -55
  660. package/esm2022/services/taiga-ui-cdk-services.mjs +0 -5
  661. package/esm2022/services/theme-color.service.mjs +0 -33
  662. package/esm2022/taiga-ui-cdk.mjs +0 -5
  663. package/esm2022/tokens/active-element.mjs +0 -56
  664. package/esm2022/tokens/base-href.mjs +0 -6
  665. package/esm2022/tokens/environment.mjs +0 -64
  666. package/esm2022/tokens/fallback-value.mjs +0 -11
  667. package/esm2022/tokens/index.mjs +0 -8
  668. package/esm2022/tokens/range.mjs +0 -9
  669. package/esm2022/tokens/removed-element.mjs +0 -20
  670. package/esm2022/tokens/taiga-ui-cdk-tokens.mjs +0 -5
  671. package/esm2022/tokens/window-size.mjs +0 -28
  672. package/esm2022/types/context.mjs +0 -2
  673. package/esm2022/types/handler.mjs +0 -2
  674. package/esm2022/types/index.mjs +0 -2
  675. package/esm2022/types/loose-union.mjs +0 -2
  676. package/esm2022/types/mapper.mjs +0 -2
  677. package/esm2022/types/matcher.mjs +0 -2
  678. package/esm2022/types/rounding.mjs +0 -2
  679. package/esm2022/types/safe-html.mjs +0 -2
  680. package/esm2022/types/taiga-ui-cdk-types.mjs +0 -5
  681. package/esm2022/types/values-of.mjs +0 -2
  682. package/esm2022/utils/browser/index.mjs +0 -6
  683. package/esm2022/utils/browser/is-apple.mjs +0 -14
  684. package/esm2022/utils/browser/is-edge.mjs +0 -4
  685. package/esm2022/utils/browser/is-firefox.mjs +0 -4
  686. package/esm2022/utils/browser/is-ios.mjs +0 -7
  687. package/esm2022/utils/browser/is-safari.mjs +0 -12
  688. package/esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs +0 -5
  689. package/esm2022/utils/color/get-gradient-data.mjs +0 -6
  690. package/esm2022/utils/color/hex-to-rgb.mjs +0 -12
  691. package/esm2022/utils/color/hex-to-rgba.mjs +0 -29
  692. package/esm2022/utils/color/hsv-to-rgb.mjs +0 -11
  693. package/esm2022/utils/color/index.mjs +0 -10
  694. package/esm2022/utils/color/parse-color.mjs +0 -27
  695. package/esm2022/utils/color/parse-gradient.mjs +0 -70
  696. package/esm2022/utils/color/rgb-to-hex.mjs +0 -4
  697. package/esm2022/utils/color/rgb-to-hsv.mjs +0 -8
  698. package/esm2022/utils/color/rgba-to-hex.mjs +0 -23
  699. package/esm2022/utils/color/taiga-ui-cdk-utils-color.mjs +0 -5
  700. package/esm2022/utils/di/create-options.mjs +0 -9
  701. package/esm2022/utils/di/index.mjs +0 -3
  702. package/esm2022/utils/di/taiga-ui-cdk-utils-di.mjs +0 -5
  703. package/esm2022/utils/dom/contains-or-after.mjs +0 -10
  704. package/esm2022/utils/dom/element-checks.mjs +0 -20
  705. package/esm2022/utils/dom/event-checks.mjs +0 -4
  706. package/esm2022/utils/dom/get-actual-target.mjs +0 -7
  707. package/esm2022/utils/dom/get-clipboard-data-text.mjs +0 -11
  708. package/esm2022/utils/dom/get-document-or-shadow-root.mjs +0 -6
  709. package/esm2022/utils/dom/get-element-obscurers.mjs +0 -44
  710. package/esm2022/utils/dom/get-element-offset.mjs +0 -20
  711. package/esm2022/utils/dom/get-element-point.mjs +0 -6
  712. package/esm2022/utils/dom/get-selected-text.mjs +0 -15
  713. package/esm2022/utils/dom/index.mjs +0 -20
  714. package/esm2022/utils/dom/inject-element.mjs +0 -5
  715. package/esm2022/utils/dom/is-current-target.mjs +0 -4
  716. package/esm2022/utils/dom/is-element-editable.mjs +0 -6
  717. package/esm2022/utils/dom/is-inside-iframe.mjs +0 -7
  718. package/esm2022/utils/dom/is-node-in.mjs +0 -14
  719. package/esm2022/utils/dom/point-to-client-rect.mjs +0 -17
  720. package/esm2022/utils/dom/retarget-boundary-crossing.mjs +0 -16
  721. package/esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs +0 -5
  722. package/esm2022/utils/dom/value-binding.mjs +0 -29
  723. package/esm2022/utils/dom/value.mjs +0 -78
  724. package/esm2022/utils/focus/blur-native-focused.mjs +0 -12
  725. package/esm2022/utils/focus/focused-in.mjs +0 -8
  726. package/esm2022/utils/focus/get-closest-focusable.mjs +0 -26
  727. package/esm2022/utils/focus/get-native-focused.mjs +0 -16
  728. package/esm2022/utils/focus/index.mjs +0 -10
  729. package/esm2022/utils/focus/is-native-focused-in.mjs +0 -12
  730. package/esm2022/utils/focus/is-native-focused.mjs +0 -15
  731. package/esm2022/utils/focus/is-native-keyboard-focusable.mjs +0 -33
  732. package/esm2022/utils/focus/is-native-mouse-focusable.mjs +0 -7
  733. package/esm2022/utils/focus/move-focus.mjs +0 -19
  734. package/esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs +0 -5
  735. package/esm2022/utils/index.mjs +0 -8
  736. package/esm2022/utils/math/clamp.mjs +0 -16
  737. package/esm2022/utils/math/in-range.mjs +0 -9
  738. package/esm2022/utils/math/index.mjs +0 -11
  739. package/esm2022/utils/math/normalize-to-int-number.mjs +0 -22
  740. package/esm2022/utils/math/quantize.mjs +0 -15
  741. package/esm2022/utils/math/round-with.mjs +0 -14
  742. package/esm2022/utils/math/round.mjs +0 -42
  743. package/esm2022/utils/math/sum.mjs +0 -7
  744. package/esm2022/utils/math/taiga-ui-cdk-utils-math.mjs +0 -5
  745. package/esm2022/utils/math/to-int.mjs +0 -4
  746. package/esm2022/utils/math/to-integer.mjs +0 -4
  747. package/esm2022/utils/math/to-radians.mjs +0 -7
  748. package/esm2022/utils/miscellaneous/array-remove.mjs +0 -4
  749. package/esm2022/utils/miscellaneous/array-shallow-equals.mjs +0 -4
  750. package/esm2022/utils/miscellaneous/array-toggle.mjs +0 -8
  751. package/esm2022/utils/miscellaneous/change-date-separator.mjs +0 -3
  752. package/esm2022/utils/miscellaneous/count-filled-controls.mjs +0 -13
  753. package/esm2022/utils/miscellaneous/create-token.mjs +0 -16
  754. package/esm2022/utils/miscellaneous/default-sort.mjs +0 -11
  755. package/esm2022/utils/miscellaneous/directive-binding.mjs +0 -26
  756. package/esm2022/utils/miscellaneous/directive-listener.mjs +0 -8
  757. package/esm2022/utils/miscellaneous/distance-between-touches.mjs +0 -4
  758. package/esm2022/utils/miscellaneous/ease-in-out-quad.mjs +0 -7
  759. package/esm2022/utils/miscellaneous/flat-length.mjs +0 -9
  760. package/esm2022/utils/miscellaneous/font-size-watcher.mjs +0 -30
  761. package/esm2022/utils/miscellaneous/get-original-array-from-query-list.mjs +0 -15
  762. package/esm2022/utils/miscellaneous/index.mjs +0 -31
  763. package/esm2022/utils/miscellaneous/is-control-empty.mjs +0 -4
  764. package/esm2022/utils/miscellaneous/is-falsy.mjs +0 -4
  765. package/esm2022/utils/miscellaneous/is-number.mjs +0 -4
  766. package/esm2022/utils/miscellaneous/is-object.mjs +0 -4
  767. package/esm2022/utils/miscellaneous/is-present.mjs +0 -4
  768. package/esm2022/utils/miscellaneous/is-string.mjs +0 -4
  769. package/esm2022/utils/miscellaneous/is-valid-url.mjs +0 -13
  770. package/esm2022/utils/miscellaneous/mark-control-as-touched-and-validate.mjs +0 -16
  771. package/esm2022/utils/miscellaneous/nullable-same.mjs +0 -18
  772. package/esm2022/utils/miscellaneous/obfuscate.mjs +0 -53
  773. package/esm2022/utils/miscellaneous/provide-options.mjs +0 -11
  774. package/esm2022/utils/miscellaneous/provide.mjs +0 -4
  775. package/esm2022/utils/miscellaneous/pure.mjs +0 -83
  776. package/esm2022/utils/miscellaneous/px.mjs +0 -9
  777. package/esm2022/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.mjs +0 -5
  778. package/esm2022/utils/miscellaneous/uniq-by.mjs +0 -6
  779. package/esm2022/utils/miscellaneous/with-styles.mjs +0 -17
  780. package/esm2022/utils/taiga-ui-cdk-utils.mjs +0 -5
  781. package/fesm2022/taiga-ui-cdk-directives-for.mjs +0 -40
  782. package/fesm2022/taiga-ui-cdk-directives-for.mjs.map +0 -1
@@ -1,84 +0,0 @@
1
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
2
- import { DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH } from './date-fillers';
3
- import { RANGE_SEPARATOR_CHAR } from './date-time';
4
- import { TuiDay } from './day';
5
- import { TuiMonthRange } from './month-range';
6
- /**
7
- * An immutable range of two {@link TuiDay} objects
8
- */
9
- export class TuiDayRange extends TuiMonthRange {
10
- constructor(from, to) {
11
- super(from, to);
12
- this.from = from;
13
- this.to = to;
14
- ngDevMode && console.assert(from.daySameOrBefore(to));
15
- }
16
- /**
17
- * Creates range from two days after sorting them
18
- *
19
- * @param day1
20
- * @param day2
21
- * @return new range with sorted days
22
- */
23
- static sort(day1, day2) {
24
- return day1.daySameOrBefore(day2)
25
- ? new TuiDayRange(day1, day2)
26
- : new TuiDayRange(day2, day1);
27
- }
28
- /**
29
- * Parse and correct a day range in string format
30
- *
31
- * @param rangeString a string of dates in a format dd.mm.yyyy - dd.mm.yyyy
32
- * @param dateMode {@link TuiDateMode}
33
- * @return normalized day range object
34
- */
35
- static normalizeParse(rangeString, dateMode = 'DMY') {
36
- const leftDay = TuiDay.normalizeParse(rangeString.slice(0, DATE_FILLER_LENGTH), dateMode);
37
- if (rangeString.length < DATE_RANGE_FILLER_LENGTH) {
38
- return new TuiDayRange(leftDay, leftDay);
39
- }
40
- return TuiDayRange.sort(leftDay, TuiDay.normalizeParse(rangeString.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length), dateMode));
41
- }
42
- get isSingleDay() {
43
- return this.from.daySame(this.to);
44
- }
45
- /**
46
- * Tests ranges for identity
47
- *
48
- * @param another second range to test against current
49
- * @return `true` if days are identical
50
- */
51
- daySame(another) {
52
- return this.from.daySame(another.from) && this.to.daySame(another.to);
53
- }
54
- /**
55
- * Locks range between two days included, or limits from one side if the other is null
56
- *
57
- * @param min
58
- * @param max
59
- * @return range — clamped range
60
- */
61
- dayLimit(min, max) {
62
- return new TuiDayRange(this.from.dayLimit(min, max), this.to.dayLimit(min, max));
63
- }
64
- /**
65
- * Human readable format.
66
- */
67
- getFormattedDayRange(dateFormat, dateSeparator) {
68
- const from = this.from.getFormattedDay(dateFormat, dateSeparator);
69
- const to = this.to.getFormattedDay(dateFormat, dateSeparator);
70
- return `${from}${RANGE_SEPARATOR_CHAR}${to}`;
71
- }
72
- toString(dateFormat = 'DMY', dateSeparator = '.') {
73
- return this.getFormattedDayRange(dateFormat, dateSeparator);
74
- }
75
- toArray() {
76
- const { from, to } = this;
77
- const arr = [];
78
- for (const day = from.toUtcNativeDate(); day <= to.toUtcNativeDate(); day.setDate(day.getDate() + 1)) {
79
- arr.push(TuiDay.fromLocalNativeDate(day));
80
- }
81
- return arr;
82
- }
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXJhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RhdGUtdGltZS9kYXktcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBRXhELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBQzdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHNUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLGFBQWE7SUFDMUMsWUFDNkIsSUFBWSxFQUNaLEVBQVU7UUFFbkMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUhTLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBSW5DLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFVLElBQUksQ0FBQyxJQUFZLEVBQUUsSUFBWTtRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxjQUFjLENBQ3hCLFdBQW1CLEVBQ25CLFdBQXdCLEtBQUs7UUFFN0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FDakMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsRUFDeEMsUUFBUSxDQUNYLENBQUM7UUFFRixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsd0JBQXdCLEVBQUU7WUFDL0MsT0FBTyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDNUM7UUFFRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQ25CLE9BQU8sRUFDUCxNQUFNLENBQUMsY0FBYyxDQUNqQixXQUFXLENBQUMsS0FBSyxDQUFDLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUNuRSxRQUFRLENBQ1gsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQUMsT0FBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsR0FBa0IsRUFBRSxHQUFrQjtRQUNsRCxPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0IsQ0FBQyxVQUF1QixFQUFFLGFBQXFCO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNsRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFFOUQsT0FBTyxHQUFHLElBQUksR0FBRyxvQkFBb0IsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRWUsUUFBUSxDQUNwQixhQUEwQixLQUFLLEVBQy9CLGFBQWEsR0FBRyxHQUFHO1FBRW5CLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sT0FBTztRQUNWLE1BQU0sRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUVmLEtBQ0ksTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUNsQyxHQUFHLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSxFQUMzQixHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDaEM7WUFDRSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIkB0YWlnYS11aS90c2NvbmZpZy9uZy1kZXYtbW9kZVwiIC8+XG5cbmltcG9ydCB7REFURV9GSUxMRVJfTEVOR1RILCBEQVRFX1JBTkdFX0ZJTExFUl9MRU5HVEh9IGZyb20gJy4vZGF0ZS1maWxsZXJzJztcbmltcG9ydCB7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpRGF5fSBmcm9tICcuL2RheSc7XG5pbXBvcnQge1R1aU1vbnRoUmFuZ2V9IGZyb20gJy4vbW9udGgtcmFuZ2UnO1xuaW1wb3J0IHt0eXBlIFR1aURhdGVNb2RlfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBBbiBpbW11dGFibGUgcmFuZ2Ugb2YgdHdvIHtAbGluayBUdWlEYXl9IG9iamVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aURheVJhbmdlIGV4dGVuZHMgVHVpTW9udGhSYW5nZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmcm9tOiBUdWlEYXksXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSB0bzogVHVpRGF5LFxuICAgICkge1xuICAgICAgICBzdXBlcihmcm9tLCB0byk7XG5cbiAgICAgICAgbmdEZXZNb2RlICYmIGNvbnNvbGUuYXNzZXJ0KGZyb20uZGF5U2FtZU9yQmVmb3JlKHRvKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyByYW5nZSBmcm9tIHR3byBkYXlzIGFmdGVyIHNvcnRpbmcgdGhlbVxuICAgICAqXG4gICAgICogQHBhcmFtIGRheTFcbiAgICAgKiBAcGFyYW0gZGF5MlxuICAgICAqIEByZXR1cm4gbmV3IHJhbmdlIHdpdGggc29ydGVkIGRheXNcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHNvcnQoZGF5MTogVHVpRGF5LCBkYXkyOiBUdWlEYXkpOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIHJldHVybiBkYXkxLmRheVNhbWVPckJlZm9yZShkYXkyKVxuICAgICAgICAgICAgPyBuZXcgVHVpRGF5UmFuZ2UoZGF5MSwgZGF5MilcbiAgICAgICAgICAgIDogbmV3IFR1aURheVJhbmdlKGRheTIsIGRheTEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhcnNlIGFuZCBjb3JyZWN0IGEgZGF5IHJhbmdlIGluIHN0cmluZyBmb3JtYXRcbiAgICAgKlxuICAgICAqIEBwYXJhbSByYW5nZVN0cmluZyBhIHN0cmluZyBvZiBkYXRlcyBpbiBhIGZvcm1hdCBkZC5tbS55eXl5IC0gZGQubW0ueXl5eVxuICAgICAqIEBwYXJhbSBkYXRlTW9kZSB7QGxpbmsgVHVpRGF0ZU1vZGV9XG4gICAgICogQHJldHVybiBub3JtYWxpemVkIGRheSByYW5nZSBvYmplY3RcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5vcm1hbGl6ZVBhcnNlKFxuICAgICAgICByYW5nZVN0cmluZzogc3RyaW5nLFxuICAgICAgICBkYXRlTW9kZTogVHVpRGF0ZU1vZGUgPSAnRE1ZJyxcbiAgICApOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIGNvbnN0IGxlZnREYXkgPSBUdWlEYXkubm9ybWFsaXplUGFyc2UoXG4gICAgICAgICAgICByYW5nZVN0cmluZy5zbGljZSgwLCBEQVRFX0ZJTExFUl9MRU5HVEgpLFxuICAgICAgICAgICAgZGF0ZU1vZGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHJhbmdlU3RyaW5nLmxlbmd0aCA8IERBVEVfUkFOR0VfRklMTEVSX0xFTkdUSCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXlSYW5nZShsZWZ0RGF5LCBsZWZ0RGF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBUdWlEYXlSYW5nZS5zb3J0KFxuICAgICAgICAgICAgbGVmdERheSxcbiAgICAgICAgICAgIFR1aURheS5ub3JtYWxpemVQYXJzZShcbiAgICAgICAgICAgICAgICByYW5nZVN0cmluZy5zbGljZShEQVRFX0ZJTExFUl9MRU5HVEggKyBSQU5HRV9TRVBBUkFUT1JfQ0hBUi5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIGRhdGVNb2RlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzU2luZ2xlRGF5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mcm9tLmRheVNhbWUodGhpcy50byk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGVzdHMgcmFuZ2VzIGZvciBpZGVudGl0eVxuICAgICAqXG4gICAgICogQHBhcmFtIGFub3RoZXIgc2Vjb25kIHJhbmdlIHRvIHRlc3QgYWdhaW5zdCBjdXJyZW50XG4gICAgICogQHJldHVybiBgdHJ1ZWAgaWYgZGF5cyBhcmUgaWRlbnRpY2FsXG4gICAgICovXG4gICAgcHVibGljIGRheVNhbWUoYW5vdGhlcjogVHVpRGF5UmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnJvbS5kYXlTYW1lKGFub3RoZXIuZnJvbSkgJiYgdGhpcy50by5kYXlTYW1lKGFub3RoZXIudG8pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvY2tzIHJhbmdlIGJldHdlZW4gdHdvIGRheXMgaW5jbHVkZWQsIG9yIGxpbWl0cyBmcm9tIG9uZSBzaWRlIGlmIHRoZSBvdGhlciBpcyBudWxsXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWluXG4gICAgICogQHBhcmFtIG1heFxuICAgICAqIEByZXR1cm4gcmFuZ2Ug4oCUIGNsYW1wZWQgcmFuZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5TGltaXQobWluOiBUdWlEYXkgfCBudWxsLCBtYXg6IFR1aURheSB8IG51bGwpOiBUdWlEYXlSYW5nZSB7XG4gICAgICAgIHJldHVybiBuZXcgVHVpRGF5UmFuZ2UodGhpcy5mcm9tLmRheUxpbWl0KG1pbiwgbWF4KSwgdGhpcy50by5kYXlMaW1pdChtaW4sIG1heCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEh1bWFuIHJlYWRhYmxlIGZvcm1hdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Rm9ybWF0dGVkRGF5UmFuZ2UoZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsIGRhdGVTZXBhcmF0b3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmZyb20uZ2V0Rm9ybWF0dGVkRGF5KGRhdGVGb3JtYXQsIGRhdGVTZXBhcmF0b3IpO1xuICAgICAgICBjb25zdCB0byA9IHRoaXMudG8uZ2V0Rm9ybWF0dGVkRGF5KGRhdGVGb3JtYXQsIGRhdGVTZXBhcmF0b3IpO1xuXG4gICAgICAgIHJldHVybiBgJHtmcm9tfSR7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9JHt0b31gO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZyhcbiAgICAgICAgZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUgPSAnRE1ZJyxcbiAgICAgICAgZGF0ZVNlcGFyYXRvciA9ICcuJyxcbiAgICApOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWREYXlSYW5nZShkYXRlRm9ybWF0LCBkYXRlU2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9BcnJheSgpOiByZWFkb25seSBUdWlEYXlbXSB7XG4gICAgICAgIGNvbnN0IHtmcm9tLCB0b30gPSB0aGlzO1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcblxuICAgICAgICBmb3IgKFxuICAgICAgICAgICAgY29uc3QgZGF5ID0gZnJvbS50b1V0Y05hdGl2ZURhdGUoKTtcbiAgICAgICAgICAgIGRheSA8PSB0by50b1V0Y05hdGl2ZURhdGUoKTtcbiAgICAgICAgICAgIGRheS5zZXREYXRlKGRheS5nZXREYXRlKCkgKyAxKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGFyci5wdXNoKFR1aURheS5mcm9tTG9jYWxOYXRpdmVEYXRlKGRheSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG59XG4iXX0=
@@ -1,294 +0,0 @@
1
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
2
- import { tuiInRange, tuiNormalizeToIntNumber } from '@taiga-ui/cdk/utils/math';
3
- import { DATE_FILLER_LENGTH } from './date-fillers';
4
- import { MIN_DAY, MONTHS_IN_YEAR } from './date-time';
5
- import { TuiDayOfWeek } from './day-of-week';
6
- import { TuiMonth } from './month';
7
- import { TuiMonthNumber } from './month-number';
8
- import { TuiYear } from './year';
9
- /**
10
- * Immutable date object, consisting of day, month and year
11
- */
12
- export class TuiDay extends TuiMonth {
13
- /**
14
- * @param year
15
- * @param month (starting with 0)
16
- * @param day
17
- */
18
- constructor(year, month, day) {
19
- super(year, month);
20
- this.day = day;
21
- ngDevMode && console.assert(TuiDay.isValidDay(year, month, day));
22
- }
23
- /**
24
- * Creates {@link TuiDay} from native {@link Date} based on local time zone
25
- */
26
- static fromLocalNativeDate(date) {
27
- return new TuiDay(date.getFullYear(), date.getMonth(), date.getDate());
28
- }
29
- /**
30
- * Creates {@link TuiDay} from native {@link Date} using UTC
31
- */
32
- static fromUtcNativeDate(date) {
33
- return new TuiDay(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());
34
- }
35
- /**
36
- * Check validity of year, month and day
37
- *
38
- * @param year
39
- * @param month
40
- * @param day
41
- * @return boolean validity
42
- */
43
- static isValidDay(year, month, day) {
44
- return (TuiMonth.isValidMonth(year, month) &&
45
- Number.isInteger(day) &&
46
- tuiInRange(day, MIN_DAY, TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1));
47
- }
48
- /**
49
- * Current day based on local time zone
50
- */
51
- static currentLocal() {
52
- const nativeDate = new Date();
53
- const year = nativeDate.getFullYear();
54
- const month = nativeDate.getMonth();
55
- const day = nativeDate.getDate();
56
- return new TuiDay(year, month, day);
57
- }
58
- /**
59
- * Returns current day based on UTC
60
- */
61
- static currentUtc() {
62
- const nativeDate = new Date();
63
- const year = nativeDate.getUTCFullYear();
64
- const month = nativeDate.getUTCMonth();
65
- const day = nativeDate.getUTCDate();
66
- return new TuiDay(year, month, day);
67
- }
68
- /**
69
- * Calculates {@link TuiDay} normalizing year, month and day. {@link NaN} is turned into minimal value.
70
- *
71
- * @param year any year value, including invalid
72
- * @param month any month value, including invalid (months start with 0)
73
- * @param day any day value, including invalid
74
- * @return normalized date
75
- */
76
- static normalizeOf(year, month, day) {
77
- const normalizedYear = TuiYear.normalizeYearPart(year);
78
- const normalizedMonth = TuiMonth.normalizeMonthPart(month);
79
- const normalizedDay = TuiDay.normalizeDayPart(day, normalizedMonth, normalizedYear);
80
- return new TuiDay(normalizedYear, normalizedMonth, normalizedDay);
81
- }
82
- static lengthBetween(from, to) {
83
- return Math.round((to.toLocalNativeDate().getTime() - from.toLocalNativeDate().getTime()) /
84
- (1000 * 60 * 60 * 24));
85
- }
86
- static parseRawDateString(date, dateMode = 'DMY') {
87
- ngDevMode &&
88
- console.assert(date.length === DATE_FILLER_LENGTH, '[parseRawDateString]: wrong date string length');
89
- switch (dateMode) {
90
- case 'MDY':
91
- return {
92
- day: parseInt(date.slice(3, 5), 10),
93
- month: parseInt(date.slice(0, 2), 10) - 1,
94
- year: parseInt(date.slice(6, 10), 10),
95
- };
96
- case 'YMD':
97
- return {
98
- day: parseInt(date.slice(8, 10), 10),
99
- month: parseInt(date.slice(5, 7), 10) - 1,
100
- year: parseInt(date.slice(0, 4), 10),
101
- };
102
- case 'DMY':
103
- default:
104
- return {
105
- day: parseInt(date.slice(0, 2), 10),
106
- month: parseInt(date.slice(3, 5), 10) - 1,
107
- year: parseInt(date.slice(6, 10), 10),
108
- };
109
- }
110
- }
111
- // TODO: Move month and year related code corresponding classes
112
- /**
113
- * Parsing a string with date with normalization
114
- *
115
- * @param rawDate date string
116
- * @param dateMode date format of the date string (DMY | MDY | YMD)
117
- * @return normalized date
118
- */
119
- static normalizeParse(rawDate, dateMode = 'DMY') {
120
- const { day, month, year } = this.parseRawDateString(rawDate, dateMode);
121
- return TuiDay.normalizeOf(year, month, day);
122
- }
123
- /**
124
- * Parsing a date stringified in a toJSON format
125
- * @param yearMonthDayString date string in format of YYYY-MM-DD
126
- * @return date
127
- * @throws exceptions if any part of the date is invalid
128
- */
129
- static jsonParse(yearMonthDayString) {
130
- const { day, month, year } = this.parseRawDateString(yearMonthDayString, 'YMD');
131
- if (!TuiMonth.isValidMonth(year, month) ||
132
- !Number.isInteger(day) ||
133
- !tuiInRange(day, MIN_DAY, TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year)) + 1)) {
134
- throw new TuiInvalidDayException(year, month, day);
135
- }
136
- return new TuiDay(year, month, day);
137
- }
138
- static normalizeDayPart(day, month, year) {
139
- ngDevMode && console.assert(TuiMonth.isValidMonth(year, month));
140
- const monthDaysCount = TuiMonth.getMonthDaysCount(month, TuiYear.isLeapYear(year));
141
- return tuiNormalizeToIntNumber(day, 1, monthDaysCount);
142
- }
143
- get formattedDayPart() {
144
- return String(this.day).padStart(2, '0');
145
- }
146
- get isWeekend() {
147
- const dayOfWeek = this.dayOfWeek(false);
148
- return dayOfWeek === TuiDayOfWeek.Saturday || dayOfWeek === TuiDayOfWeek.Sunday;
149
- }
150
- /**
151
- * Returns day of week
152
- *
153
- * @param startFromMonday whether week starts from Monday and not from Sunday
154
- * @return day of week (from 0 to 6)
155
- */
156
- dayOfWeek(startFromMonday = true) {
157
- const dayOfWeek = startFromMonday
158
- ? this.toLocalNativeDate().getDay() - 1
159
- : this.toLocalNativeDate().getDay();
160
- return dayOfWeek < 0 ? 6 : dayOfWeek;
161
- }
162
- /**
163
- * Passed date is after current
164
- */
165
- dayBefore(another) {
166
- return (this.monthBefore(another) ||
167
- (this.monthSame(another) && this.day < another.day));
168
- }
169
- /**
170
- * Passed date is after or equals to current
171
- */
172
- daySameOrBefore(another) {
173
- return (this.monthBefore(another) ||
174
- (this.monthSame(another) && this.day <= another.day));
175
- }
176
- /**
177
- * Passed date is the same as current
178
- */
179
- daySame(another) {
180
- return this.monthSame(another) && this.day === another.day;
181
- }
182
- /**
183
- * Passed date is either before or the same as current
184
- */
185
- daySameOrAfter(another) {
186
- return (this.monthAfter(another) ||
187
- (this.monthSame(another) && this.day >= another.day));
188
- }
189
- /**
190
- * Passed date is before current
191
- */
192
- dayAfter(another) {
193
- return (this.monthAfter(another) ||
194
- (this.monthSame(another) && this.day > another.day));
195
- }
196
- /**
197
- * Clamping date between two limits
198
- *
199
- * @param min
200
- * @param max
201
- * @return clamped date
202
- */
203
- dayLimit(min, max) {
204
- if (min !== null && this.dayBefore(min)) {
205
- return min;
206
- }
207
- if (max !== null && this.dayAfter(max)) {
208
- return max;
209
- }
210
- return this;
211
- }
212
- /**
213
- * Immutably alters current day by passed offset
214
- *
215
- * If resulting month has more days than original one, date is rounded to the maximum day
216
- * in the resulting month. Offset of days will be calculated based on the resulted year and month
217
- * to not interfere with parent classes methods
218
- *
219
- * @param offset
220
- * @return new date object as a result of offsetting current
221
- */
222
- append({ year = 0, month = 0, day = 0 }) {
223
- const totalMonths = (this.year + year) * MONTHS_IN_YEAR + this.month + month;
224
- let years = Math.floor(totalMonths / MONTHS_IN_YEAR);
225
- let months = totalMonths % MONTHS_IN_YEAR;
226
- let days = Math.min(this.day, TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) + day;
227
- while (days > TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years))) {
228
- days -= TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));
229
- if (months === TuiMonthNumber.December) {
230
- years++;
231
- months = TuiMonthNumber.January;
232
- }
233
- else {
234
- months++;
235
- }
236
- }
237
- while (days < MIN_DAY) {
238
- if (months === TuiMonthNumber.January) {
239
- years--;
240
- months = TuiMonthNumber.December;
241
- }
242
- else {
243
- months--;
244
- }
245
- days += TuiMonth.getMonthDaysCount(months, TuiYear.isLeapYear(years));
246
- }
247
- return new TuiDay(years, months, days);
248
- }
249
- /**
250
- * Returns formatted whole date
251
- */
252
- getFormattedDay(dateFormat, separator) {
253
- ngDevMode &&
254
- console.assert(separator.length === 1, 'Separator should consist of only 1 symbol');
255
- const dd = this.formattedDayPart;
256
- const mm = this.formattedMonthPart;
257
- const yyyy = this.formattedYear;
258
- switch (dateFormat) {
259
- case 'MDY':
260
- return `${mm}${separator}${dd}${separator}${yyyy}`;
261
- case 'YMD':
262
- return `${yyyy}${separator}${mm}${separator}${dd}`;
263
- case 'DMY':
264
- default:
265
- return `${dd}${separator}${mm}${separator}${yyyy}`;
266
- }
267
- }
268
- toString(dateFormat = 'DMY', separator = '.') {
269
- return this.getFormattedDay(dateFormat, separator);
270
- }
271
- toJSON() {
272
- return `${super.toJSON()}-${this.formattedDayPart}`;
273
- }
274
- /**
275
- * Returns native {@link Date} based on local time zone
276
- */
277
- toLocalNativeDate() {
278
- const date = super.toLocalNativeDate();
279
- date.setDate(this.day);
280
- return date;
281
- }
282
- /**
283
- * Returns native {@link Date} based on UTC
284
- */
285
- toUtcNativeDate() {
286
- return new Date(Date.UTC(this.year, this.month, this.day));
287
- }
288
- }
289
- export class TuiInvalidDayException extends Error {
290
- constructor(year, month, day) {
291
- super(ngDevMode ? `Invalid day: ${year}-${month}-${day}` : '');
292
- }
293
- }
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RhdGUtdGltZS9kYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBRXhELE9BQU8sRUFBQyxVQUFVLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFL0I7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTyxTQUFRLFFBQVE7SUFDaEM7Ozs7T0FJRztJQUNILFlBQ0ksSUFBWSxFQUNaLEtBQWEsRUFDRyxHQUFXO1FBRTNCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFGSCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBRzNCLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFVO1FBQ3hDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENB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Q0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDYSxpQkFBaUI7UUFDN0IsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ2EsZUFBZTtRQUMzQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxLQUFLO0lBQzdDLFlBQVksSUFBWSxFQUFFLEtBQWEsRUFBRSxHQUFXO1FBQ2hELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIkB0YWlnYS11aS90c2NvbmZpZy9uZy1kZXYtbW9kZVwiIC8+XG5cbmltcG9ydCB7dHVpSW5SYW5nZSwgdHVpTm9ybWFsaXplVG9JbnROdW1iZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmltcG9ydCB7REFURV9GSUxMRVJfTEVOR1RIfSBmcm9tICcuL2RhdGUtZmlsbGVycyc7XG5pbXBvcnQge01JTl9EQVksIE1PTlRIU19JTl9ZRUFSfSBmcm9tICcuL2RhdGUtdGltZSc7XG5pbXBvcnQge1R1aURheU9mV2Vla30gZnJvbSAnLi9kYXktb2Ytd2Vlayc7XG5pbXBvcnQge1R1aU1vbnRofSBmcm9tICcuL21vbnRoJztcbmltcG9ydCB7VHVpTW9udGhOdW1iZXJ9IGZyb20gJy4vbW9udGgtbnVtYmVyJztcbmltcG9ydCB7dHlwZSBUdWlEYXRlTW9kZSwgdHlwZSBUdWlEYXlMaWtlfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7VHVpWWVhcn0gZnJvbSAnLi95ZWFyJztcblxuLyoqXG4gKiBJbW11dGFibGUgZGF0ZSBvYmplY3QsIGNvbnNpc3Rpbmcgb2YgZGF5LCBtb250aCBhbmQgeWVhclxuICovXG5leHBvcnQgY2xhc3MgVHVpRGF5IGV4dGVuZHMgVHVpTW9udGgge1xuICAgIC8qKlxuICAgICAqIEBwYXJhbSB5ZWFyXG4gICAgICogQHBhcmFtIG1vbnRoIChzdGFydGluZyB3aXRoIDApXG4gICAgICogQHBhcmFtIGRheVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICB5ZWFyOiBudW1iZXIsXG4gICAgICAgIG1vbnRoOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBkYXk6IG51bWJlcixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeWVhciwgbW9udGgpO1xuICAgICAgICBuZ0Rldk1vZGUgJiYgY29uc29sZS5hc3NlcnQoVHVpRGF5LmlzVmFsaWREYXkoeWVhciwgbW9udGgsIGRheSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMge0BsaW5rIFR1aURheX0gZnJvbSBuYXRpdmUge0BsaW5rIERhdGV9IGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUxvY2FsTmF0aXZlRGF0ZShkYXRlOiBEYXRlKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXkoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIHtAbGluayBUdWlEYXl9IGZyb20gbmF0aXZlIHtAbGluayBEYXRlfSB1c2luZyBVVENcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZyb21VdGNOYXRpdmVEYXRlKGRhdGU6IERhdGUpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gbmV3IFR1aURheShkYXRlLmdldFVUQ0Z1bGxZZWFyKCksIGRhdGUuZ2V0VVRDTW9udGgoKSwgZGF0ZS5nZXRVVENEYXRlKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHZhbGlkaXR5IG9mIHllYXIsIG1vbnRoIGFuZCBkYXlcbiAgICAgKlxuICAgICAqIEBwYXJhbSB5ZWFyXG4gICAgICogQHBhcmFtIG1vbnRoXG4gICAgICogQHBhcmFtIGRheVxuICAgICAqIEByZXR1cm4gYm9vbGVhbiB2YWxpZGl0eVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZERheSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRheTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBUdWlNb250aC5pc1ZhbGlkTW9udGgoeWVhciwgbW9udGgpICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNJbnRlZ2VyKGRheSkgJiZcbiAgICAgICAgICAgIHR1aUluUmFuZ2UoXG4gICAgICAgICAgICAgICAgZGF5LFxuICAgICAgICAgICAgICAgIE1JTl9EQVksXG4gICAgICAgICAgICAgICAgVHVpTW9udGguZ2V0TW9udGhEYXlzQ291bnQobW9udGgsIFR1aVllYXIuaXNMZWFwWWVhcih5ZWFyKSkgKyAxLFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgZGF5IGJhc2VkIG9uIGxvY2FsIHRpbWUgem9uZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgY3VycmVudExvY2FsKCk6IFR1aURheSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCB5ZWFyID0gbmF0aXZlRGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtb250aCA9IG5hdGl2ZURhdGUuZ2V0TW9udGgoKTtcbiAgICAgICAgY29uc3QgZGF5ID0gbmF0aXZlRGF0ZS5nZXREYXRlKCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXkoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBjdXJyZW50IGRheSBiYXNlZCBvbiBVVENcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGN1cnJlbnRVdGMoKTogVHVpRGF5IHtcbiAgICAgICAgY29uc3QgbmF0aXZlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IHllYXIgPSBuYXRpdmVEYXRlLmdldFVUQ0Z1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gbmF0aXZlRGF0ZS5nZXRVVENNb250aCgpO1xuICAgICAgICBjb25zdCBkYXkgPSBuYXRpdmVEYXRlLmdldFVUQ0RhdGUoKTtcblxuICAgICAgICByZXR1cm4gbmV3IFR1aURheSh5ZWFyLCBtb250aCwgZGF5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGVzIHtAbGluayBUdWlEYXl9IG5vcm1hbGl6aW5nIHllYXIsIG1vbnRoIGFuZCBkYXkuIHtAbGluayBOYU59IGlzIHR1cm5lZCBpbnRvIG1pbmltYWwgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0geWVhciBhbnkgeWVhciB2YWx1ZSwgaW5jbHVkaW5nIGludmFsaWRcbiAgICAgKiBAcGFyYW0gbW9udGggYW55IG1vbnRoIHZhbHVlLCBpbmNsdWRpbmcgaW52YWxpZCAobW9udGhzIHN0YXJ0IHdpdGggMClcbiAgICAgKiBAcGFyYW0gZGF5IGFueSBkYXkgdmFsdWUsIGluY2x1ZGluZyBpbnZhbGlkXG4gICAgICogQHJldHVybiBub3JtYWxpemVkIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIG5vcm1hbGl6ZU9mKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF5OiBudW1iZXIpOiBUdWlEYXkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkWWVhciA9IFR1aVllYXIubm9ybWFsaXplWWVhclBhcnQoeWVhcik7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRNb250aCA9IFR1aU1vbnRoLm5vcm1hbGl6ZU1vbnRoUGFydChtb250aCk7XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWREYXkgPSBUdWlEYXkubm9ybWFsaXplRGF5UGFydChcbiAgICAgICAgICAgIGRheSxcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRNb250aCxcbiAgICAgICAgICAgIG5vcm1hbGl6ZWRZZWFyLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXcgVHVpRGF5KG5vcm1hbGl6ZWRZZWFyLCBub3JtYWxpemVkTW9udGgsIG5vcm1hbGl6ZWREYXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgbGVuZ3RoQmV0d2Vlbihmcm9tOiBUdWlEYXksIHRvOiBUdWlEYXkpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChcbiAgICAgICAgICAgICh0by50b0xvY2FsTmF0aXZlRGF0ZSgpLmdldFRpbWUoKSAtIGZyb20udG9Mb2NhbE5hdGl2ZURhdGUoKS5nZXRUaW1lKCkpIC9cbiAgICAgICAgICAgICAgICAoMTAwMCAqIDYwICogNjAgKiAyNCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZVJhd0RhdGVTdHJpbmcoXG4gICAgICAgIGRhdGU6IHN0cmluZyxcbiAgICAgICAgZGF0ZU1vZGU6IFR1aURhdGVNb2RlID0gJ0RNWScsXG4gICAgKToge2RheTogbnVtYmVyOyBtb250aDogbnVtYmVyOyB5ZWFyOiBudW1iZXJ9IHtcbiAgICAgICAgbmdEZXZNb2RlICYmXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgICAgICAgICBkYXRlLmxlbmd0aCA9PT0gREFURV9GSUxMRVJfTEVOR1RILFxuICAgICAgICAgICAgICAgICdbcGFyc2VSYXdEYXRlU3RyaW5nXTogd3JvbmcgZGF0ZSBzdHJpbmcgbGVuZ3RoJyxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgc3dpdGNoIChkYXRlTW9kZSkge1xuICAgICAgICAgICAgY2FzZSAnTURZJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBkYXk6IHBhcnNlSW50KGRhdGUuc2xpY2UoMywgNSksIDEwKSxcbiAgICAgICAgICAgICAgICAgICAgbW9udGg6IHBhcnNlSW50KGRhdGUuc2xpY2UoMCwgMiksIDEwKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgIHllYXI6IHBhcnNlSW50KGRhdGUuc2xpY2UoNiwgMTApLCAxMCksXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY2FzZSAnWU1EJzpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBkYXk6IHBhcnNlSW50KGRhdGUuc2xpY2UoOCwgMTApLCAxMCksXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoOiBwYXJzZUludChkYXRlLnNsaWNlKDUsIDcpLCAxMCkgLSAxLFxuICAgICAgICAgICAgICAgICAgICB5ZWFyOiBwYXJzZUludChkYXRlLnNsaWNlKDAsIDQpLCAxMCksXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY2FzZSAnRE1ZJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGF5OiBwYXJzZUludChkYXRlLnNsaWNlKDAsIDIpLCAxMCksXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoOiBwYXJzZUludChkYXRlLnNsaWNlKDMsIDUpLCAxMCkgLSAxLFxuICAgICAgICAgICAgICAgICAgICB5ZWFyOiBwYXJzZUludChkYXRlLnNsaWNlKDYsIDEwKSwgMTApLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUT0RPOiBNb3ZlIG1vbnRoIGFuZCB5ZWFyIHJlbGF0ZWQgY29kZSBjb3JyZXNwb25kaW5nIGNsYXNzZXNcbiAgICAvKipcbiAgICAgKiBQYXJzaW5nIGEgc3RyaW5nIHdpdGggZGF0ZSB3aXRoIG5vcm1hbGl6YXRpb25cbiAgICAgKlxuICAgICAqIEBwYXJhbSByYXdEYXRlIGRhdGUgc3RyaW5nXG4gICAgICogQHBhcmFtIGRhdGVNb2RlIGRhdGUgZm9ybWF0IG9mIHRoZSBkYXRlIHN0cmluZyAoRE1ZIHwgTURZIHwgWU1EKVxuICAgICAqIEByZXR1cm4gbm9ybWFsaXplZCBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBub3JtYWxpemVQYXJzZShyYXdEYXRlOiBzdHJpbmcsIGRhdGVNb2RlOiBUdWlEYXRlTW9kZSA9ICdETVknKTogVHVpRGF5IHtcbiAgICAgICAgY29uc3Qge2RheSwgbW9udGgsIHllYXJ9ID0gdGhpcy5wYXJzZVJhd0RhdGVTdHJpbmcocmF3RGF0ZSwgZGF0ZU1vZGUpO1xuXG4gICAgICAgIHJldHVybiBUdWlEYXkubm9ybWFsaXplT2YoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFyc2luZyBhIGRhdGUgc3RyaW5naWZpZWQgaW4gYSB0b0pTT04gZm9ybWF0XG4gICAgICogQHBhcmFtIHllYXJNb250aERheVN0cmluZyBkYXRlIHN0cmluZyBpbiBmb3JtYXQgb2YgWVlZWS1NTS1ERFxuICAgICAqIEByZXR1cm4gZGF0ZVxuICAgICAqIEB0aHJvd3MgZXhjZXB0aW9ucyBpZiBhbnkgcGFydCBvZiB0aGUgZGF0ZSBpcyBpbnZhbGlkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBqc29uUGFyc2UoeWVhck1vbnRoRGF5U3RyaW5nOiBzdHJpbmcpOiBUdWlEYXkge1xuICAgICAgICBjb25zdCB7ZGF5LCBtb250aCwgeWVhcn0gPSB0aGlzLnBhcnNlUmF3RGF0ZVN0cmluZyh5ZWFyTW9udGhEYXlTdHJpbmcsICdZTUQnKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhVHVpTW9udGguaXNWYWxpZE1vbnRoKHllYXIsIG1vbnRoKSB8fFxuICAgICAgICAgICAgIU51bWJlci5pc0ludGVnZXIoZGF5KSB8fFxuICAgICAgICAgICAgIXR1aUluUmFuZ2UoXG4gICAgICAgICAgICAgICAgZGF5LFxuICAgICAgICAgICAgICAgIE1JTl9EQVksXG4gICAgICAgICAgICAgICAgVHVpTW9udGguZ2V0TW9udGhEYXlzQ291bnQobW9udGgsIFR1aVllYXIuaXNMZWFwWWVhcih5ZWFyKSkgKyAxLFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUdWlJbnZhbGlkRGF5RXhjZXB0aW9uKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXkoeWVhciwgbW9udGgsIGRheSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBub3JtYWxpemVEYXlQYXJ0KGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBuZ0Rldk1vZGUgJiYgY29uc29sZS5hc3NlcnQoVHVpTW9udGguaXNWYWxpZE1vbnRoKHllYXIsIG1vbnRoKSk7XG5cbiAgICAgICAgY29uc3QgbW9udGhEYXlzQ291bnQgPSBUdWlNb250aC5nZXRNb250aERheXNDb3VudChcbiAgICAgICAgICAgIG1vbnRoLFxuICAgICAgICAgICAgVHVpWWVhci5pc0xlYXBZZWFyKHllYXIpLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0dWlOb3JtYWxpemVUb0ludE51bWJlcihkYXksIDEsIG1vbnRoRGF5c0NvdW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZvcm1hdHRlZERheVBhcnQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyh0aGlzLmRheSkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzV2Vla2VuZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZGF5T2ZXZWVrID0gdGhpcy5kYXlPZldlZWsoZmFsc2UpO1xuXG4gICAgICAgIHJldHVybiBkYXlPZldlZWsgPT09IFR1aURheU9mV2Vlay5TYXR1cmRheSB8fCBkYXlPZldlZWsgPT09IFR1aURheU9mV2Vlay5TdW5kYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBkYXkgb2Ygd2Vla1xuICAgICAqXG4gICAgICogQHBhcmFtIHN0YXJ0RnJvbU1vbmRheSB3aGV0aGVyIHdlZWsgc3RhcnRzIGZyb20gTW9uZGF5IGFuZCBub3QgZnJvbSBTdW5kYXlcbiAgICAgKiBAcmV0dXJuIGRheSBvZiB3ZWVrIChmcm9tIDAgdG8gNilcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5T2ZXZWVrKHN0YXJ0RnJvbU1vbmRheSA9IHRydWUpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBkYXlPZldlZWsgPSBzdGFydEZyb21Nb25kYXlcbiAgICAgICAgICAgID8gdGhpcy50b0xvY2FsTmF0aXZlRGF0ZSgpLmdldERheSgpIC0gMVxuICAgICAgICAgICAgOiB0aGlzLnRvTG9jYWxOYXRpdmVEYXRlKCkuZ2V0RGF5KCk7XG5cbiAgICAgICAgcmV0dXJuIGRheU9mV2VlayA8IDAgPyA2IDogZGF5T2ZXZWVrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBkYXRlIGlzIGFmdGVyIGN1cnJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5QmVmb3JlKGFub3RoZXI6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tb250aEJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMubW9udGhTYW1lKGFub3RoZXIpICYmIHRoaXMuZGF5IDwgYW5vdGhlci5kYXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFzc2VkIGRhdGUgaXMgYWZ0ZXIgb3IgZXF1YWxzIHRvIGN1cnJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5U2FtZU9yQmVmb3JlKGFub3RoZXI6IFR1aURheSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tb250aEJlZm9yZShhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMubW9udGhTYW1lKGFub3RoZXIpICYmIHRoaXMuZGF5IDw9IGFub3RoZXIuZGF5KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhc3NlZCBkYXRlIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5U2FtZShhbm90aGVyOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhTYW1lKGFub3RoZXIpICYmIHRoaXMuZGF5ID09PSBhbm90aGVyLmRheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgZGF0ZSBpcyBlaXRoZXIgYmVmb3JlIG9yIHRoZSBzYW1lIGFzIGN1cnJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5U2FtZU9yQWZ0ZXIoYW5vdGhlcjogVHVpRGF5KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm1vbnRoQWZ0ZXIoYW5vdGhlcikgfHxcbiAgICAgICAgICAgICh0aGlzLm1vbnRoU2FtZShhbm90aGVyKSAmJiB0aGlzLmRheSA+PSBhbm90aGVyLmRheSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXNzZWQgZGF0ZSBpcyBiZWZvcmUgY3VycmVudFxuICAgICAqL1xuICAgIHB1YmxpYyBkYXlBZnRlcihhbm90aGVyOiBUdWlEYXkpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMubW9udGhBZnRlcihhbm90aGVyKSB8fFxuICAgICAgICAgICAgKHRoaXMubW9udGhTYW1lKGFub3RoZXIpICYmIHRoaXMuZGF5ID4gYW5vdGhlci5kYXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xhbXBpbmcgZGF0ZSBiZXR3ZWVuIHR3byBsaW1pdHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtaW5cbiAgICAgKiBAcGFyYW0gbWF4XG4gICAgICogQHJldHVybiBjbGFtcGVkIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF5TGltaXQobWluOiBUdWlEYXkgfCBudWxsLCBtYXg6IFR1aURheSB8IG51bGwpOiBUdWlEYXkge1xuICAgICAgICBpZiAobWluICE9PSBudWxsICYmIHRoaXMuZGF5QmVmb3JlKG1pbikpIHtcbiAgICAgICAgICAgIHJldHVybiBtaW47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWF4ICE9PSBudWxsICYmIHRoaXMuZGF5QWZ0ZXIobWF4KSkge1xuICAgICAgICAgICAgcmV0dXJuIG1heDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltbXV0YWJseSBhbHRlcnMgY3VycmVudCBkYXkgYnkgcGFzc2VkIG9mZnNldFxuICAgICAqXG4gICAgICogSWYgcmVzdWx0aW5nIG1vbnRoIGhhcyBtb3JlIGRheXMgdGhhbiBvcmlnaW5hbCBvbmUsIGRhdGUgaXMgcm91bmRlZCB0byB0aGUgbWF4aW11bSBkYXlcbiAgICAgKiBpbiB0aGUgcmVzdWx0aW5nIG1vbnRoLiBPZmZzZXQgb2YgZGF5cyB3aWxsIGJlIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHJlc3VsdGVkIHllYXIgYW5kIG1vbnRoXG4gICAgICogdG8gbm90IGludGVyZmVyZSB3aXRoIHBhcmVudCBjbGFzc2VzIG1ldGhvZHNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBvZmZzZXRcbiAgICAgKiBAcmV0dXJuIG5ldyBkYXRlIG9iamVjdCBhcyBhIHJlc3VsdCBvZiBvZmZzZXR0aW5nIGN1cnJlbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXBwZW5kKHt5ZWFyID0gMCwgbW9udGggPSAwLCBkYXkgPSAwfTogVHVpRGF5TGlrZSk6IFR1aURheSB7XG4gICAgICAgIGNvbnN0IHRvdGFsTW9udGhzID0gKHRoaXMueWVhciArIHllYXIpICogTU9OVEhTX0lOX1lFQVIgKyB0aGlzLm1vbnRoICsgbW9udGg7XG4gICAgICAgIGxldCB5ZWFycyA9IE1hdGguZmxvb3IodG90YWxNb250aHMgLyBNT05USFNfSU5fWUVBUik7XG4gICAgICAgIGxldCBtb250aHMgPSB0b3RhbE1vbnRocyAlIE1PTlRIU19JTl9ZRUFSO1xuXG4gICAgICAgIGxldCBkYXlzID1cbiAgICAgICAgICAgIE1hdGgubWluKFxuICAgICAgICAgICAgICAgIHRoaXMuZGF5LFxuICAgICAgICAgICAgICAgIFR1aU1vbnRoLmdldE1vbnRoRGF5c0NvdW50KG1vbnRocywgVHVpWWVhci5pc0xlYXBZZWFyKHllYXJzKSksXG4gICAgICAgICAgICApICsgZGF5O1xuXG4gICAgICAgIHdoaWxlIChkYXlzID4gVHVpTW9udGguZ2V0TW9udGhEYXlzQ291bnQobW9udGhzLCBUdWlZZWFyLmlzTGVhcFllYXIoeWVhcnMpKSkge1xuICAgICAgICAgICAgZGF5cyAtPSBUdWlNb250aC5nZXRNb250aERheXNDb3VudChtb250aHMsIFR1aVllYXIuaXNMZWFwWWVhcih5ZWFycykpO1xuXG4gICAgICAgICAgICBpZiAobW9udGhzID09PSBUdWlNb250aE51bWJlci5EZWNlbWJlcikge1xuICAgICAgICAgICAgICAgIHllYXJzKys7XG4gICAgICAgICAgICAgICAgbW9udGhzID0gVHVpTW9udGhOdW1iZXIuSmFudWFyeTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbW9udGhzKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAoZGF5cyA8IE1JTl9EQVkpIHtcbiAgICAgICAgICAgIGlmIChtb250aHMgPT09IFR1aU1vbnRoTnVtYmVyLkphbnVhcnkpIHtcbiAgICAgICAgICAgICAgICB5ZWFycy0tO1xuICAgICAgICAgICAgICAgIG1vbnRocyA9IFR1aU1vbnRoTnVtYmVyLkRlY2VtYmVyO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtb250aHMtLTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGF5cyArPSBUdWlNb250aC5nZXRNb250aERheXNDb3VudChtb250aHMsIFR1aVllYXIuaXNMZWFwWWVhcih5ZWFycykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUdWlEYXkoeWVhcnMsIG1vbnRocywgZGF5cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBmb3JtYXR0ZWQgd2hvbGUgZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGb3JtYXR0ZWREYXkoZGF0ZUZvcm1hdDogVHVpRGF0ZU1vZGUsIHNlcGFyYXRvcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbmdEZXZNb2RlICYmXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3IubGVuZ3RoID09PSAxLFxuICAgICAgICAgICAgICAgICdTZXBhcmF0b3Igc2hvdWxkIGNvbnNpc3Qgb2Ygb25seSAxIHN5bWJvbCcsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGRkID0gdGhpcy5mb3JtYXR0ZWREYXlQYXJ0O1xuICAgICAgICBjb25zdCBtbSA9IHRoaXMuZm9ybWF0dGVkTW9udGhQYXJ0O1xuICAgICAgICBjb25zdCB5eXl5ID0gdGhpcy5mb3JtYXR0ZWRZZWFyO1xuXG4gICAgICAgIHN3aXRjaCAoZGF0ZUZvcm1hdCkge1xuICAgICAgICAgICAgY2FzZSAnTURZJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bW19JHtzZXBhcmF0b3J9JHtkZH0ke3NlcGFyYXRvcn0ke3l5eXl9YDtcbiAgICAgICAgICAgIGNhc2UgJ1lNRCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3l5eXl9JHtzZXBhcmF0b3J9JHttbX0ke3NlcGFyYXRvcn0ke2RkfWA7XG4gICAgICAgICAgICBjYXNlICdETVknOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7ZGR9JHtzZXBhcmF0b3J9JHttbX0ke3NlcGFyYXRvcn0ke3l5eXl9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZyhkYXRlRm9ybWF0OiBUdWlEYXRlTW9kZSA9ICdETVknLCBzZXBhcmF0b3IgPSAnLicpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRGb3JtYXR0ZWREYXkoZGF0ZUZvcm1hdCwgc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgdG9KU09OKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHtzdXBlci50b0pTT04oKX0tJHt0aGlzLmZvcm1hdHRlZERheVBhcnR9YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG5hdGl2ZSB7QGxpbmsgRGF0ZX0gYmFzZWQgb24gbG9jYWwgdGltZSB6b25lXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHRvTG9jYWxOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICBjb25zdCBkYXRlID0gc3VwZXIudG9Mb2NhbE5hdGl2ZURhdGUoKTtcblxuICAgICAgICBkYXRlLnNldERhdGUodGhpcy5kYXkpO1xuXG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgbmF0aXZlIHtAbGluayBEYXRlfSBiYXNlZCBvbiBVVENcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgdG9VdGNOYXRpdmVEYXRlKCk6IERhdGUge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLCB0aGlzLm1vbnRoLCB0aGlzLmRheSkpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFR1aUludmFsaWREYXlFeGNlcHRpb24gZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXk6IG51bWJlcikge1xuICAgICAgICBzdXBlcihuZ0Rldk1vZGUgPyBgSW52YWxpZCBkYXk6ICR7eWVhcn0tJHttb250aH0tJHtkYXl9YCA6ICcnKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +0,0 @@
1
- import { MAX_DISPLAYED_YEAR, MAX_MONTH, MAX_YEAR, MIN_DAY, MIN_MONTH, MIN_YEAR, } from './date-time';
2
- import { TuiDay } from './day';
3
- export const TUI_FIRST_DAY = new TuiDay(MIN_YEAR, MIN_MONTH, MIN_DAY);
4
- export const TUI_LAST_DAY = new TuiDay(MAX_YEAR, MAX_MONTH, 31);
5
- export const TUI_LAST_DISPLAYED_DAY = new TuiDay(MAX_DISPLAYED_YEAR, MAX_MONTH, 31);
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cy5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9kYXRlLXRpbWUvZGF5cy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsT0FBTyxFQUNQLFNBQVMsRUFDVCxRQUFRLEdBQ1gsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQztBQUU3QixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIE1BWF9ESVNQTEFZRURfWUVBUixcbiAgICBNQVhfTU9OVEgsXG4gICAgTUFYX1lFQVIsXG4gICAgTUlOX0RBWSxcbiAgICBNSU5fTU9OVEgsXG4gICAgTUlOX1lFQVIsXG59IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpRGF5fSBmcm9tICcuL2RheSc7XG5cbmV4cG9ydCBjb25zdCBUVUlfRklSU1RfREFZID0gbmV3IFR1aURheShNSU5fWUVBUiwgTUlOX01PTlRILCBNSU5fREFZKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9MQVNUX0RBWSA9IG5ldyBUdWlEYXkoTUFYX1lFQVIsIE1BWF9NT05USCwgMzEpO1xuXG5leHBvcnQgY29uc3QgVFVJX0xBU1RfRElTUExBWUVEX0RBWSA9IG5ldyBUdWlEYXkoTUFYX0RJU1BMQVlFRF9ZRUFSLCBNQVhfTU9OVEgsIDMxKTtcbiJdfQ==
@@ -1,13 +0,0 @@
1
- export * from './date-clamp';
2
- export * from './date-fillers';
3
- export * from './date-time';
4
- export * from './day';
5
- export * from './day-of-week';
6
- export * from './day-range';
7
- export * from './days.const';
8
- export * from './month';
9
- export * from './month-number';
10
- export * from './month-range';
11
- export * from './time';
12
- export * from './year';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGF0ZS10aW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFFBQVEsQ0FBQztBQUV2QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0ZS1jbGFtcCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtZmlsbGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdGltZSc7XG5leHBvcnQgKiBmcm9tICcuL2RheSc7XG5leHBvcnQgKiBmcm9tICcuL2RheS1vZi13ZWVrJztcbmV4cG9ydCAqIGZyb20gJy4vZGF5LXJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF5cy5jb25zdCc7XG5leHBvcnQgKiBmcm9tICcuL21vbnRoJztcbmV4cG9ydCAqIGZyb20gJy4vbW9udGgtbnVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9udGgtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi90aW1lJztcbmV4cG9ydCB0eXBlICogZnJvbSAnLi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3llYXInO1xuIl19
@@ -1,15 +0,0 @@
1
- export const TuiMonthNumber = {
2
- January: 0,
3
- February: 1,
4
- March: 2,
5
- April: 3,
6
- May: 4,
7
- June: 5,
8
- July: 6,
9
- August: 7,
10
- September: 8,
11
- October: 9,
12
- November: 10,
13
- December: 11,
14
- };
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtbnVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL2RhdGUtdGltZS9tb250aC1udW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLENBQUM7SUFDWCxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLEVBQUU7SUFDWixRQUFRLEVBQUUsRUFBRTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVHVpTW9udGhOdW1iZXIgPSB7XG4gICAgSmFudWFyeTogMCxcbiAgICBGZWJydWFyeTogMSxcbiAgICBNYXJjaDogMixcbiAgICBBcHJpbDogMyxcbiAgICBNYXk6IDQsXG4gICAgSnVuZTogNSxcbiAgICBKdWx5OiA2LFxuICAgIEF1Z3VzdDogNyxcbiAgICBTZXB0ZW1iZXI6IDgsXG4gICAgT2N0b2JlcjogOSxcbiAgICBOb3ZlbWJlcjogMTAsXG4gICAgRGVjZW1iZXI6IDExLFxufSBhcyBjb25zdDtcbiJdfQ==
@@ -1,27 +0,0 @@
1
- /// <reference types="@taiga-ui/tsconfig/ng-dev-mode" />
2
- import { RANGE_SEPARATOR_CHAR } from './date-time';
3
- /**
4
- * An immutable range of two {@link TuiMonth} objects
5
- */
6
- export class TuiMonthRange {
7
- constructor(from, to) {
8
- this.from = from;
9
- this.to = to;
10
- ngDevMode && console.assert(from.monthSameOrBefore(to));
11
- }
12
- static sort(month1, month2) {
13
- return month1.monthSameOrBefore(month2)
14
- ? new TuiMonthRange(month1, month2)
15
- : new TuiMonthRange(month2, month1);
16
- }
17
- get isSingleMonth() {
18
- return this.from.monthSame(this.to);
19
- }
20
- monthSame(another) {
21
- return this.from.monthSame(another.from) && this.to.monthSame(another.to);
22
- }
23
- toString() {
24
- return `${this.from}${RANGE_SEPARATOR_CHAR}${this.to}`;
25
- }
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGgtcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGF0ZS10aW1lL21vbnRoLXJhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUV4RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUN0QixZQUNvQixJQUFjLEVBQ2QsRUFBWTtRQURaLFNBQUksR0FBSixJQUFJLENBQVU7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBRTVCLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQWdCLEVBQUUsTUFBZ0I7UUFDakQsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUyxDQUFDLE9BQXNCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLG9CQUFvQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIkB0YWlnYS11aS90c2NvbmZpZy9uZy1kZXYtbW9kZVwiIC8+XG5cbmltcG9ydCB7UkFOR0VfU0VQQVJBVE9SX0NIQVJ9IGZyb20gJy4vZGF0ZS10aW1lJztcbmltcG9ydCB7dHlwZSBUdWlNb250aH0gZnJvbSAnLi9tb250aCc7XG5cbi8qKlxuICogQW4gaW1tdXRhYmxlIHJhbmdlIG9mIHR3byB7QGxpbmsgVHVpTW9udGh9IG9iamVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFR1aU1vbnRoUmFuZ2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZnJvbTogVHVpTW9udGgsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0bzogVHVpTW9udGgsXG4gICAgKSB7XG4gICAgICAgIG5nRGV2TW9kZSAmJiBjb25zb2xlLmFzc2VydChmcm9tLm1vbnRoU2FtZU9yQmVmb3JlKHRvKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzb3J0KG1vbnRoMTogVHVpTW9udGgsIG1vbnRoMjogVHVpTW9udGgpOiBUdWlNb250aFJhbmdlIHtcbiAgICAgICAgcmV0dXJuIG1vbnRoMS5tb250aFNhbWVPckJlZm9yZShtb250aDIpXG4gICAgICAgICAgICA/IG5ldyBUdWlNb250aFJhbmdlKG1vbnRoMSwgbW9udGgyKVxuICAgICAgICAgICAgOiBuZXcgVHVpTW9udGhSYW5nZShtb250aDIsIG1vbnRoMSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc1NpbmdsZU1vbnRoKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mcm9tLm1vbnRoU2FtZSh0aGlzLnRvKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbW9udGhTYW1lKGFub3RoZXI6IFR1aU1vbnRoUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZnJvbS5tb250aFNhbWUoYW5vdGhlci5mcm9tKSAmJiB0aGlzLnRvLm1vbnRoU2FtZShhbm90aGVyLnRvKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZnJvbX0ke1JBTkdFX1NFUEFSQVRPUl9DSEFSfSR7dGhpcy50b31gO1xuICAgIH1cbn1cbiJdfQ==