@taiga-ui/legacy 4.52.0-canary.e444d19 → 4.52.0-canary.ec0802b

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 (274) hide show
  1. package/README.md +1 -1
  2. package/classes/abstract-textfield-host.d.ts +1 -1
  3. package/components/arrow/arrow.options.d.ts +1 -3
  4. package/components/arrow/arrow.providers.d.ts +1 -6
  5. package/components/dialog/dialog.component.d.ts +19 -0
  6. package/components/dialog/dialog.directive.d.ts +8 -0
  7. package/components/dialog/dialog.factory.d.ts +16 -0
  8. package/components/dialog/dialog.interfaces.d.ts +30 -0
  9. package/components/dialog/dialog.service.d.ts +10 -0
  10. package/components/dialog/dialog.tokens.d.ts +6 -0
  11. package/components/dialog/index.d.ts +6 -0
  12. package/components/index.d.ts +3 -22
  13. package/components/input/input.module.d.ts +4 -4
  14. package/components/input-date-range/input-date-range.component.d.ts +1 -2
  15. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  16. package/components/input-date-time/input-date-time.component.d.ts +5 -5
  17. package/components/input-date-time/input-date-time.module.d.ts +6 -6
  18. package/components/input-month-range/input-month-range.module.d.ts +3 -3
  19. package/components/input-number/input-number.component.d.ts +1 -2
  20. package/components/input-number/input-number.module.d.ts +5 -5
  21. package/components/input-number/input-number.options.d.ts +1 -7
  22. package/components/input-range/input-range.component.d.ts +1 -1
  23. package/components/input-range/input-range.module.d.ts +4 -4
  24. package/components/mobile-dialog/index.d.ts +3 -0
  25. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  26. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  27. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  28. package/components/pdf-viewer/index.d.ts +4 -0
  29. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  30. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  31. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  32. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  33. package/components/primitive-textfield/primitive-textfield-options.d.ts +2 -2
  34. package/components/primitive-textfield/primitive-textfield.module.d.ts +5 -5
  35. package/components/select/select.module.d.ts +8 -8
  36. package/components/select/select.options.d.ts +1 -7
  37. package/components/select-option/select-option.module.d.ts +3 -3
  38. package/directives/textfield-controller/textfield.options.d.ts +1 -3
  39. package/fesm2022/taiga-ui-legacy-classes.mjs +1 -3
  40. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +4 -17
  42. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +136 -0
  44. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  45. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +33 -43
  46. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +30 -36
  48. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +10 -10
  50. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +28 -43
  52. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +18 -18
  54. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-legacy-components-input.mjs +9 -9
  56. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  58. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  59. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  60. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  61. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +18 -18
  62. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +6 -6
  64. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-legacy-components-select.mjs +31 -40
  66. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-legacy-components.mjs +3 -22
  68. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -1
  70. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +3 -7
  72. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +1 -3
  74. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  76. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  78. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  79. package/index.d.ts +0 -2
  80. package/package.json +14 -107
  81. package/utils/icons-path-factory.d.ts +1 -1
  82. package/utils/index.d.ts +0 -1
  83. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  84. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  85. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  86. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  87. package/components/color-selector/color-selector.component.d.ts +0 -47
  88. package/components/color-selector/color-selector.module.d.ts +0 -24
  89. package/components/color-selector/color-selector.options.d.ts +0 -25
  90. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  91. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  92. package/components/color-selector/index.d.ts +0 -16
  93. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  94. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  95. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  96. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  97. package/components/color-selector/palette/palette.component.d.ts +0 -10
  98. package/components/color-selector/palette/palette.module.d.ts +0 -13
  99. package/components/color-selector/services/picker.service.d.ts +0 -15
  100. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  101. package/components/combo-box/combo-box.component.d.ts +0 -52
  102. package/components/combo-box/combo-box.directive.d.ts +0 -13
  103. package/components/combo-box/combo-box.module.d.ts +0 -20
  104. package/components/combo-box/index.d.ts +0 -4
  105. package/components/input-color/index.d.ts +0 -2
  106. package/components/input-color/input-color.component.d.ts +0 -30
  107. package/components/input-color/input-color.module.d.ts +0 -17
  108. package/components/input-copy/index.d.ts +0 -4
  109. package/components/input-copy/input-copy.component.d.ts +0 -33
  110. package/components/input-copy/input-copy.directive.d.ts +0 -11
  111. package/components/input-copy/input-copy.module.d.ts +0 -18
  112. package/components/input-copy/input-copy.options.d.ts +0 -26
  113. package/components/input-date/index.d.ts +0 -3
  114. package/components/input-date/input-date.component.d.ts +0 -62
  115. package/components/input-date/input-date.directive.d.ts +0 -19
  116. package/components/input-date/input-date.module.d.ts +0 -24
  117. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  118. package/components/input-date-multi/index.d.ts +0 -2
  119. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  120. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  121. package/components/input-month/index.d.ts +0 -3
  122. package/components/input-month/input-month.component.d.ts +0 -44
  123. package/components/input-month/input-month.directive.d.ts +0 -19
  124. package/components/input-month/input-month.module.d.ts +0 -19
  125. package/components/input-password/index.d.ts +0 -4
  126. package/components/input-password/input-password.component.d.ts +0 -33
  127. package/components/input-password/input-password.directive.d.ts +0 -15
  128. package/components/input-password/input-password.module.d.ts +0 -19
  129. package/components/input-password/input-password.options.d.ts +0 -25
  130. package/components/input-phone/index.d.ts +0 -4
  131. package/components/input-phone/input-phone.component.d.ts +0 -49
  132. package/components/input-phone/input-phone.directive.d.ts +0 -13
  133. package/components/input-phone/input-phone.module.d.ts +0 -12
  134. package/components/input-phone/input-phone.options.d.ts +0 -13
  135. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  136. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  137. package/components/input-phone/utils/index.d.ts +0 -2
  138. package/components/input-phone-international/index.d.ts +0 -3
  139. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  140. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  141. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  142. package/components/input-slider/index.d.ts +0 -2
  143. package/components/input-slider/input-slider.component.d.ts +0 -42
  144. package/components/input-slider/input-slider.module.d.ts +0 -18
  145. package/components/input-tag/index.d.ts +0 -3
  146. package/components/input-tag/input-tag.component.d.ts +0 -103
  147. package/components/input-tag/input-tag.module.d.ts +0 -22
  148. package/components/input-tag/input-tag.options.d.ts +0 -27
  149. package/components/input-time/index.d.ts +0 -4
  150. package/components/input-time/input-time.component.d.ts +0 -62
  151. package/components/input-time/input-time.directive.d.ts +0 -17
  152. package/components/input-time/input-time.module.d.ts +0 -23
  153. package/components/input-time/input-time.options.d.ts +0 -42
  154. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  155. package/components/input-year/index.d.ts +0 -3
  156. package/components/input-year/input-year.component.d.ts +0 -36
  157. package/components/input-year/input-year.directive.d.ts +0 -14
  158. package/components/input-year/input-year.module.d.ts +0 -18
  159. package/components/island/index.d.ts +0 -1
  160. package/components/island/island.directive.d.ts +0 -20
  161. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  162. package/components/multi-select/index.d.ts +0 -10
  163. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  164. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  165. package/components/multi-select/multi-select.component.d.ts +0 -71
  166. package/components/multi-select/multi-select.directive.d.ts +0 -14
  167. package/components/multi-select/multi-select.module.d.ts +0 -31
  168. package/components/multi-select/multi-select.options.d.ts +0 -14
  169. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  170. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  171. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  172. package/components/multi-select-option/index.d.ts +0 -2
  173. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  174. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  175. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  176. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  177. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  178. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  179. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  180. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  181. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  182. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  183. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  184. package/components/sheet/index.d.ts +0 -14
  185. package/components/sheet/sheet-options.d.ts +0 -27
  186. package/components/sheet/sheet-tokens.d.ts +0 -18
  187. package/components/sheet/sheet.d.ts +0 -21
  188. package/components/sheet/sheet.directive.d.ts +0 -17
  189. package/components/sheet/sheet.module.d.ts +0 -24
  190. package/components/sheet/sheet.service.d.ts +0 -17
  191. package/components/svg/content-processor.d.ts +0 -19
  192. package/components/svg/deprecated-icons.d.ts +0 -5
  193. package/components/svg/index.d.ts +0 -5
  194. package/components/svg/svg-options.d.ts +0 -50
  195. package/components/svg/svg.component.d.ts +0 -50
  196. package/components/svg/svg.service.d.ts +0 -21
  197. package/components/table-bar/index.d.ts +0 -4
  198. package/components/table-bar/table-bar.component.d.ts +0 -17
  199. package/components/table-bar/table-bar.directive.d.ts +0 -11
  200. package/components/table-bar/table-bar.options.d.ts +0 -31
  201. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  202. package/components/table-bar/table-bars.service.d.ts +0 -11
  203. package/components/tag/index.d.ts +0 -3
  204. package/components/tag/tag.component.d.ts +0 -44
  205. package/components/tag/tag.module.d.ts +0 -16
  206. package/components/tag/tag.options.d.ts +0 -27
  207. package/components/textarea/index.d.ts +0 -3
  208. package/components/textarea/textarea.component.d.ts +0 -54
  209. package/components/textarea/textarea.directive.d.ts +0 -12
  210. package/components/textarea/textarea.module.d.ts +0 -21
  211. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  212. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  213. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -300
  214. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  215. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  216. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  217. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  218. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  219. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  220. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  221. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  222. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  223. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  224. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  225. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  226. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  227. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  228. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  229. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  230. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  231. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  232. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  233. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  234. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  235. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -430
  236. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  237. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  238. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  239. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  240. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  241. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  242. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  243. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  244. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  245. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  246. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  247. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  248. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  249. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -147
  250. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  251. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  252. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  253. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  254. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  255. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  256. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  258. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  259. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  260. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  261. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  262. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  263. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  264. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  265. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  266. package/pipes/format-phone/index.d.ts +0 -1
  267. package/pipes/index.d.ts +0 -3
  268. package/pipes/iso-to-country-code/index.d.ts +0 -1
  269. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  270. package/pipes/to-country-code/index.d.ts +0 -1
  271. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  272. package/services/index.d.ts +0 -1
  273. package/services/static-request.service.d.ts +0 -11
  274. package/utils/is-apple.d.ts +0 -5
@@ -1,41 +1,38 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, signal, Input, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { toObservable } from '@angular/core/rxjs-interop';
5
5
  import { MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
6
6
  import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
7
7
  import { tuiAsControl } from '@taiga-ui/cdk/classes';
8
8
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
9
9
  import { TuiMonth, TuiDayRange, DATE_RANGE_FILLER_LENGTH, DATE_FILLER_LENGTH, RANGE_SEPARATOR_CHAR, TUI_LAST_DAY, TUI_FIRST_DAY } from '@taiga-ui/cdk/date-time';
10
- import { tuiWatch } from '@taiga-ui/cdk/observables';
11
10
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
12
11
  import { changeDateSeparator, tuiIsPresent, tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
13
12
  import { tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
14
- import { TUI_DEFAULT_DATE_FORMAT, TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
13
+ import { TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
15
14
  import { TUI_MOBILE_CALENDAR, TUI_INPUT_DATE_OPTIONS, TUI_DATE_TEXTS, TUI_DATE_RANGE_VALUE_TRANSFORMER, tuiDateStreamWithTransformer, TUI_MOBILE_CALENDAR_PROVIDER } from '@taiga-ui/kit/tokens';
16
15
  import { AbstractTuiNullableControl, tuiAsControl as tuiAsControl$1, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
17
- import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
16
+ import * as i7 from '@taiga-ui/legacy/components/primitive-textfield';
18
17
  import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
19
- import * as i5 from '@taiga-ui/legacy/directives';
20
- import { TUI_TEXTFIELD_SIZE, TuiTextfieldControllerModule, TuiValueAccessorModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
18
+ import * as i6 from '@taiga-ui/legacy/directives';
19
+ import { TUI_TEXTFIELD_SIZE, TuiLegacyDropdownOpenMonitorDirective, TuiTextfieldControllerModule, TuiValueAccessorModule } from '@taiga-ui/legacy/directives';
21
20
  import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
22
21
  import { TUI_DATE_MODE_MASKITO_ADAPTER } from '@taiga-ui/legacy/utils';
23
22
  import { map } from 'rxjs';
24
23
  import * as i1 from '@maskito/angular';
25
24
  import { MaskitoDirective } from '@maskito/angular';
26
- import * as i2 from '@taiga-ui/cdk/directives/let';
27
- import { TuiLet } from '@taiga-ui/cdk/directives/let';
28
- import * as i3 from '@taiga-ui/polymorpheus';
25
+ import * as i2 from '@taiga-ui/polymorpheus';
29
26
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
30
- import * as i6 from '@taiga-ui/kit/components/calendar-range';
27
+ import * as i3 from '@taiga-ui/core/directives/appearance';
28
+ import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
29
+ import * as i4 from '@taiga-ui/kit/components/calendar-range';
31
30
  import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
32
- import * as i7 from '@taiga-ui/core/components/icon';
31
+ import * as i5 from '@taiga-ui/core/components/icon';
33
32
  import { TuiIcon } from '@taiga-ui/core/components/icon';
34
- import * as i8 from '@taiga-ui/core/directives/appearance';
35
- import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
36
33
  import * as i1$1 from '@taiga-ui/core/directives/dropdown';
37
34
  import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
38
- import * as i10 from '@angular/common';
35
+ import * as i9 from '@angular/common';
39
36
  import { CommonModule } from '@angular/common';
40
37
 
41
38
  /**
@@ -50,15 +47,10 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
50
47
  this.options = inject(TUI_INPUT_DATE_OPTIONS);
51
48
  this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
52
49
  this.nativeValue = signal('');
53
- this.dateTexts$ = inject(TUI_DATE_TEXTS);
50
+ this.dateTexts$ = toObservable(inject(TUI_DATE_TEXTS));
54
51
  this.valueTransformer = inject(TUI_DATE_RANGE_VALUE_TRANSFORMER, { optional: true });
55
- this.dateFiller$ = this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat.mode], this.dateFormat.separator)));
56
- this.dateFormat = TUI_DEFAULT_DATE_FORMAT;
57
- this.dateFormat$ = inject(TUI_DATE_FORMAT)
58
- .pipe(tuiWatch(this.cdr), takeUntilDestroyed())
59
- .subscribe((format) => {
60
- this.dateFormat = format;
61
- });
52
+ this.dateFiller$ = this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat().mode], this.dateFormat().separator)));
53
+ this.dateFormat = inject(TUI_DATE_FORMAT);
62
54
  this.selectedActivePeriod = null;
63
55
  this.disabledItemHandler = TUI_FALSE_HANDLER;
64
56
  this.markerHandler = null;
@@ -87,7 +79,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
87
79
  return String(activePeriod);
88
80
  }
89
81
  return value
90
- ? value.getFormattedDayRange(this.dateFormat.mode, this.dateFormat.separator)
82
+ ? value.getFormattedDayRange(this.dateFormat().mode, this.dateFormat().separator)
91
83
  : nativeValue();
92
84
  }
93
85
  get size() {
@@ -111,7 +103,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
111
103
  }
112
104
  this.value =
113
105
  value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod
114
- ? TuiDayRange.normalizeParse(value, this.dateFormat.mode)
106
+ ? TuiDayRange.normalizeParse(value, this.dateFormat().mode)
115
107
  : null;
116
108
  if (!this.value) {
117
109
  this.selectedActivePeriod = null;
@@ -142,7 +134,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
142
134
  get computedMask() {
143
135
  return this.activePeriod
144
136
  ? MASKITO_DEFAULT_OPTIONS
145
- : this.calculateMask(this.dateFormat.mode, this.dateFormat.separator, this.min, this.max, this.minLength, this.maxLength);
137
+ : this.calculateMask(this.dateFormat().mode, this.dateFormat().separator, this.min, this.max, this.minLength, this.maxLength);
146
138
  }
147
139
  get activePeriod() {
148
140
  return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);
@@ -180,7 +172,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
180
172
  (this.nativeValue().length === DATE_FILLER_LENGTH ||
181
173
  this.nativeValue().length ===
182
174
  DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)) {
183
- this.value = TuiDayRange.normalizeParse(this.nativeValue(), this.dateFormat.mode);
175
+ this.value = TuiDayRange.normalizeParse(this.nativeValue(), this.dateFormat().mode);
184
176
  }
185
177
  }
186
178
  valueIdenticalComparator(oldValue, newValue) {
@@ -223,7 +215,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
223
215
  tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),
224
216
  tuiAsDataListHost(TuiInputDateRangeComponent),
225
217
  TUI_MOBILE_CALENDAR_PROVIDER,
226
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i2.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i5.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i5.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "component", type: i6.TuiCalendarRange, selector: "tui-calendar-range", inputs: ["disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "item", "value", "defaultViewedMonth"], outputs: ["valueChange", "itemChange"] }, { kind: "directive", type: i5.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i5.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i8.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
218
+ ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i4.TuiCalendarRange, selector: "tui-calendar-range", inputs: ["disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "item", "value", "defaultViewedMonth"], outputs: ["valueChange", "itemChange"] }, { kind: "component", type: i5.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i6.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i7.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i7.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i6.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i6.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i6.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
227
219
  }
228
220
  __decorate([
229
221
  tuiPure
@@ -240,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
240
232
  ], host: {
241
233
  '[attr.data-size]': 'size',
242
234
  '(click)': 'onClick()',
243
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"] }]
235
+ }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"] }]
244
236
  }], propDecorators: { textfield: [{
245
237
  type: ViewChild,
246
238
  args: [TuiPrimitiveTextfieldComponent]
@@ -301,24 +293,23 @@ class TuiInputDateRangeModule {
301
293
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
302
294
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective], imports: [CommonModule,
303
295
  MaskitoDirective,
304
- TuiLet,
305
296
  PolymorpheusOutlet,
306
297
  PolymorpheusTemplate,
307
- TuiPrimitiveTextfieldModule,
308
- TuiTextfieldControllerModule,
298
+ TuiAppearance,
309
299
  TuiCalendarRange,
310
- TuiValueAccessorModule,
311
- TuiLegacyDropdownOpenMonitorDirective,
312
300
  TuiIcon,
313
- TuiAppearance, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownPortal, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection], exports: [TuiInputDateRangeComponent,
301
+ TuiLegacyDropdownOpenMonitorDirective,
302
+ TuiPrimitiveTextfieldModule,
303
+ TuiTextfieldControllerModule,
304
+ TuiValueAccessorModule, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContent, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection], exports: [TuiInputDateRangeComponent,
314
305
  TuiInputDateRangeDirective,
315
- TuiTextfieldComponent, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownPortal, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection] }); }
306
+ TuiTextfieldComponent, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContent, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection] }); }
316
307
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, imports: [CommonModule,
308
+ TuiCalendarRange,
309
+ TuiIcon,
317
310
  TuiPrimitiveTextfieldModule,
318
311
  TuiTextfieldControllerModule,
319
- TuiCalendarRange,
320
- TuiValueAccessorModule,
321
- TuiIcon, i1$1.TuiDropdownComponent] }); }
312
+ TuiValueAccessorModule, i1$1.TuiDropdownComponent] }); }
322
313
  }
323
314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, decorators: [{
324
315
  type: NgModule,
@@ -326,16 +317,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
326
317
  imports: [
327
318
  CommonModule,
328
319
  MaskitoDirective,
329
- TuiLet,
330
320
  PolymorpheusOutlet,
331
321
  PolymorpheusTemplate,
322
+ TuiAppearance,
323
+ TuiCalendarRange,
324
+ TuiIcon,
325
+ TuiLegacyDropdownOpenMonitorDirective,
332
326
  TuiPrimitiveTextfieldModule,
333
327
  TuiTextfieldControllerModule,
334
- TuiCalendarRange,
335
328
  TuiValueAccessorModule,
336
- TuiLegacyDropdownOpenMonitorDirective,
337
- TuiIcon,
338
- TuiAppearance,
339
329
  ...TuiDropdown,
340
330
  ],
341
331
  declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input-date-range.mjs","sources":["../../../projects/legacy/components/input-date-range/input-date-range.component.ts","../../../projects/legacy/components/input-date-range/input-date-range.template.html","../../../projects/legacy/components/input-date-range/input-date-range.directive.ts","../../../projects/legacy/components/input-date-range/input-date-range.module.ts","../../../projects/legacy/components/input-date-range/taiga-ui-legacy-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {MASKITO_DEFAULT_OPTIONS, type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n type TuiDateMode,\n type TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {\n changeDateSeparator,\n tuiIsPresent,\n tuiNullableSame,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiDayRangePeriod} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl as tuiAsLegacyControl,\n} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {TUI_DATE_MODE_MASKITO_ADAPTER} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {map} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrls: ['./input-date-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent as any),\n tuiAsLegacyControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n tuiAsDataListHost(TuiInputDateRangeComponent),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly nativeValue = signal('');\n\n protected readonly dateTexts$ = inject(TUI_DATE_TEXTS);\n protected override readonly valueTransformer = inject(\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n {optional: true},\n );\n\n protected readonly dateFiller$ = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n protected selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n public get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat.mode, this.dateFormat.separator)\n : nativeValue();\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.toggle();\n }\n }\n\n public onValueChange(value: string): void {\n this.nativeValue.set(value);\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n if (this.activePeriod) {\n this.nativeValue.set('');\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod\n ? TuiDayRange.normalizeParse(value, this.dateFormat.mode)\n : null;\n\n if (!this.value) {\n this.selectedActivePeriod = null;\n }\n }\n\n public onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue.set('');\n }\n\n this.value = range;\n }\n\n public override writeValue(value: TuiDayRange | null): void {\n if (this.value === null && value === this.value) {\n return;\n }\n\n super.writeValue(value);\n this.nativeValue.set(this.value ? this.computedValue : '');\n this.selectedActivePeriod = this.findActivePeriodBy(this.value);\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedMask(): MaskitoOptions {\n return this.activePeriod\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat.mode,\n this.dateFormat.separator,\n this.min,\n this.max,\n this.minLength,\n this.maxLength,\n );\n }\n\n protected get activePeriod(): TuiDayRangePeriod | null {\n return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n protected get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n protected getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.onOpenChange(true);\n }\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue().length === DATE_FILLER_LENGTH ||\n this.nativeValue().length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(\n this.nativeValue(),\n this.dateFormat.mode,\n );\n }\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex((item) => String(item) === this.nativeValue()) !== -1;\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n dateSeparator: string,\n min: TuiDay | null,\n max: TuiDay | null,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n dateSeparator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: (min || TUI_FIRST_DAY).toLocalNativeDate(),\n max: (max || TUI_LAST_DAY).toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n\n private findActivePeriodBy(value: TuiDayRange | null): TuiDayRangePeriod | null {\n return (\n this.items.find((item) =>\n tuiNullableSame(\n value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ?? null\n );\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputDateRangeComponent} from './input-date-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n public ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiLet,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiCalendarRange,\n TuiValueAccessorModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i9","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA;;;AAGG;AAoBG,MAAO,0BACT,SAAQ,0BAAuC,CAAA;AApBnD,IAAA,WAAA,GAAA;;AA0BqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;QAChC,IAAc,CAAA,cAAA,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;AAC9D,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,sBAAsB,CAAC;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC1C,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;AAEtB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;QAC1B,IAAgB,CAAA,gBAAA,GAAG,MAAM,CACjD,gCAAgC,EAChC,EAAC,QAAQ,EAAE,IAAI,EAAC,CACnB;AAEkB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACjD,GAAG,CAAC,CAAC,SAAS,KACV,mBAAmB,CACf,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,CAC5B,CACJ,CACJ;QAES,IAAU,CAAA,UAAA,GAAG,uBAAuB;AAC3B,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,eAAe;aAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE;AAC7C,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM;AAC5B,SAAC,CAAC;QAEI,IAAoB,CAAA,oBAAA,GAA6B,IAAI;QAGxD,IAAmB,CAAA,mBAAA,GAA8B,iBAAiB;QAGlE,IAAa,CAAA,aAAA,GAA4B,IAAI;AAG7C,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAC,YAAY,EAAE;QAG5C,IAAK,CAAA,KAAA,GAAiC,EAAE;AAGxC,QAAA,IAAA,CAAA,GAAG,GAAkB,IAAI,CAAC,OAAO,CAAC,GAAG;AAGrC,QAAA,IAAA,CAAA,GAAG,GAAkB,IAAI,CAAC,OAAO,CAAC,GAAG;QAGrC,IAAS,CAAA,SAAA,GAAsB,IAAI;QAGnC,IAAS,CAAA,SAAA,GAAsB,IAAI;QAEnC,IAAI,CAAA,IAAA,GAAG,KAAK;AA0NtB;AAxNG,IAAA,IAAW,sBAAsB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,sBAAsB,IAAI,IAAI;;AAGzD,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO;;AAGpC,IAAA,IAAW,mBAAmB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC;cACZ,IAAI,CAAC,SAAS,EAAE,sBAAsB,EAAE,WAAW,IAAI;cACvD,EAAE;;AAGZ,IAAA,IAAW,aAAa,GAAA;QACpB,MAAM,EAAC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAC,GAAG,IAAI;QAE/C,IAAI,YAAY,EAAE;AACd,YAAA,OAAO,MAAM,CAAC,YAAY,CAAC;;AAG/B,QAAA,OAAO;AACH,cAAE,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS;cAC1E,WAAW,EAAE;;AAGvB,IAAA,IAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;IAG3B,OAAO,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpC,IAAI,CAAC,MAAM,EAAE;;;AAId,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AAE3B,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;;QAG3D,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AAChC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;AAG3B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;;AAG5B,QAAA,IAAI,CAAC,KAAK;YACN,KAAK,CAAC,MAAM,KAAK,wBAAwB,IAAI,CAAC,IAAI,CAAC;AAC/C,kBAAE,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI;kBACtD,IAAI;AAEd,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACb,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;;;AAIjC,IAAA,aAAa,CAAC,KAAyB,EAAA;QAC1C,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,UAAU,EAAE;QAEjB,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;;AAG5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;;AAGN,IAAA,UAAU,CAAC,KAAyB,EAAA;AAChD,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;YAC7C;;AAGJ,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGnE,IAAA,IAAc,cAAc,GAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc;;AAGjD,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI;;AAG5B,IAAA,IAAc,YAAY,GAAA;QACtB,OAAO,IAAI,CAAC;AACR,cAAE;AACF,cAAE,IAAI,CAAC,aAAa,CACd,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,IAAI,CAAC,UAAU,CAAC,SAAS,EACzB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CACjB;;AAGX,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3E,IAAA,IAAc,iBAAiB,GAAA;QAC3B,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;;AAGpD,IAAA,IAAc,eAAe,GAAA;QACzB,OAAO,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,IAAI,CAAC,aAAa;;AAG3D,IAAA,IAAc,kBAAkB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC5B,YAAA,OAAO,KAAK;;QAGhB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;AACnC,YAAA,OAAO,IAAI;;AAGf,QAAA,OAAO,IAAI;;AAGL,IAAA,sBAAsB,CAAC,UAAkB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;;IAG7D,WAAW,GAAA;QACjB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AACnC,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;;AAIrB,IAAA,YAAY,CAAC,IAAa,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;;AAGV,IAAA,YAAY,CAAC,OAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAE3B,QAAA,IACI,CAAC,OAAO;YACR,CAAC,IAAI,CAAC,YAAY;AAClB,aAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,kBAAkB;AAC7C,gBAAA,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM;AACrB,oBAAA,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAC3D;AACE,YAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,cAAc,CACnC,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CACvB;;;IAIU,wBAAwB,CACvC,QAA4B,EAC5B,QAA4B,EAAA;QAE5B,OAAO,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;AAGtE,IAAA,IAAY,YAAY,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;;;IAK7E,aAAa,CACjB,UAAuB,EACvB,aAAqB,EACrB,GAAkB,EAClB,GAAkB,EAClB,SAA4B,EAC5B,SAA4B,EAAA;AAE5B,QAAA,OAAO,gCAAgC,CAAC;YACpC,aAAa;AACb,YAAA,IAAI,EAAE,6BAA6B,CAAC,UAAU,CAAC;YAC/C,GAAG,EAAE,CAAC,GAAG,IAAI,aAAa,EAAE,iBAAiB,EAAE;YAC/C,GAAG,EAAE,CAAC,GAAG,IAAI,YAAY,EAAE,iBAAiB,EAAE;YAC9C,SAAS,EAAE,SAAS,IAAI,EAAE;YAC1B,SAAS,EAAE,SAAS,IAAI,EAAE;AAC7B,SAAA,CAAC;;IAGE,MAAM,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;;IAGlB,UAAU,CAAC,aAAa,GAAG,KAAK,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,CAAC;;;AAIlD,IAAA,kBAAkB,CAAC,UAAkB,EAAA;AACzC,QAAA,OAAO,GAAG,UAAU,CAAA,EAAG,oBAAoB,CAAG,EAAA,UAAU,EAAE;;AAGtD,IAAA,kBAAkB,CAAC,KAAyB,EAAA;QAChD,QACI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KACjB,eAAe,CACX,KAAK,EACL,IAAI,CAAC,KAAK,EACV,CAAC,CAAC,EAAE,CAAC,KACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CACtD,CACJ,IAAI,IAAI;;+GApRR,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAbxB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,OAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP,0BAA0B,CAAC,0BAA0B,CAAC;YACtD,YAAY,CAAC,0BAAiC,CAAC;YAC/CA,cAAkB,CAAC,0BAA0B,CAAC;YAC9C,4BAA4B,CAAC,gCAAgC,CAAC;YAC9D,iBAAiB,CAAC,0BAA0B,CAAC;YAC7C,4BAA4B;SAC/B,EAUU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,8BAA8B,uECzF7C,q+EAyEA,EAAA,MAAA,EAAA,CAAA,6WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,OAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qCAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,qEAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,GAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;ADsPY,UAAA,CAAA;IADP;AAiBA,CAAA,EAAA,0BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;4FA1PQ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAnBtC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,YACP,sBAAsB,EAAA,eAAA,EAGf,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA,0BAA0B,CAA4B,0BAAA,CAAA;wBACtD,YAAY,CAAC,0BAAiC,CAAC;AAC/C,wBAAAD,cAAkB,CAA4B,0BAAA,CAAA;wBAC9C,4BAA4B,CAAC,gCAAgC,CAAC;AAC9D,wBAAA,iBAAiB,CAA4B,0BAAA,CAAA;wBAC7C,4BAA4B;qBAC/B,EACK,IAAA,EAAA;AACF,wBAAA,kBAAkB,EAAE,MAAM;AAC1B,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA,EAAA,QAAA,EAAA,q+EAAA,EAAA,MAAA,EAAA,CAAA,6WAAA,CAAA,EAAA;8BAOgB,SAAS,EAAA,CAAA;sBADzB,SAAS;uBAAC,8BAA8B;gBAkClC,mBAAmB,EAAA,CAAA;sBADzB;gBAIM,aAAa,EAAA,CAAA;sBADnB;gBAIM,kBAAkB,EAAA,CAAA;sBADxB;gBAIM,KAAK,EAAA,CAAA;sBADX;gBAIM,GAAG,EAAA,CAAA;sBADT;gBAIM,GAAG,EAAA,CAAA;sBADT;gBAIM,SAAS,EAAA,CAAA;sBADf;gBAIM,SAAS,EAAA,CAAA;sBADf;gBAgLO,aAAa,EAAA,EAAA,EAAA,EAAA,CAAA;;AEzTzB;;;AAGG;AAMG,MAAO,0BACT,SAAQ,wBAAoD,CAAA;AAG5D,IAAA,IAAoB,KAAK,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa;;AAG3B,IAAA,aAAa,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;;AAGlB,IAAA,OAAO,CAAC,KAAuB,EAAA;AAC3C,QAAA,KAAK,CAAC,SAAS,GAAG,SAAS;;IAGxB,SAAS,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAClC,YAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB;;;+GAlB3E,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,oEAFxB,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAElD,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,0BAAA,CAA4B,CAAC;AAC9D,iBAAA;;;ACQD;;;AAGG;MAyBU,uBAAuB,CAAA;+GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EARjB,YAAA,EAAA,CAAA,0BAA0B,EAAE,0BAA0B,aAdjE,YAAY;YACZ,gBAAgB;YAChB,MAAM;YACN,kBAAkB;YAClB,oBAAoB;YACpB,2BAA2B;YAC3B,4BAA4B;YAC5B,gBAAgB;YAChB,sBAAsB;YACtB,qCAAqC;YACrC,OAAO;AACP,YAAA,aAAa,4WAKb,0BAA0B;YAC1B,0BAA0B;YAC1B,qBAAqB,EAAAE,IAAA,CAAA,2BAAA,EAAAA,IAAA,CAAA,0BAAA,EAAAA,IAAA,CAAA,oBAAA,EAAAA,IAAA,CAAA,oBAAA,EAAAA,IAAA,CAAA,eAAA,EAAAA,IAAA,CAAA,qBAAA,EAAAA,IAAA,CAAA,iBAAA,EAAAA,IAAA,CAAA,iBAAA,EAAAA,IAAA,CAAA,gBAAA,EAAAA,IAAA,CAAA,kBAAA,EAAAA,IAAA,CAAA,mBAAA,EAAAA,IAAA,CAAA,wBAAA,EAAAA,IAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;AAIhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAtB5B,YAAY;YAKZ,2BAA2B;YAC3B,4BAA4B;YAC5B,gBAAgB;YAChB,sBAAsB;YAEtB,OAAO,EAAAA,IAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,CAAA;;4FAYF,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAxBnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,MAAM;wBACN,kBAAkB;wBAClB,oBAAoB;wBACpB,2BAA2B;wBAC3B,4BAA4B;wBAC5B,gBAAgB;wBAChB,sBAAsB;wBACtB,qCAAqC;wBACrC,OAAO;wBACP,aAAa;AACb,wBAAA,GAAG,WAAW;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;AACtE,oBAAA,OAAO,EAAE;wBACL,0BAA0B;wBAC1B,0BAA0B;wBAC1B,qBAAqB;AACrB,wBAAA,GAAG,WAAW;AACjB,qBAAA;AACJ,iBAAA;;;ACjDD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-input-date-range.mjs","sources":["../../../projects/legacy/components/input-date-range/input-date-range.component.ts","../../../projects/legacy/components/input-date-range/input-date-range.template.html","../../../projects/legacy/components/input-date-range/input-date-range.directive.ts","../../../projects/legacy/components/input-date-range/input-date-range.module.ts","../../../projects/legacy/components/input-date-range/taiga-ui-legacy-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {MASKITO_DEFAULT_OPTIONS, type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n type TuiDateMode,\n type TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {\n changeDateSeparator,\n tuiIsPresent,\n tuiNullableSame,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiDayRangePeriod} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl as tuiAsLegacyControl,\n} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {TUI_DATE_MODE_MASKITO_ADAPTER} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {map} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrl: './input-date-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent as any),\n tuiAsLegacyControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n tuiAsDataListHost(TuiInputDateRangeComponent),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly nativeValue = signal('');\n\n protected readonly dateTexts$ = toObservable(inject(TUI_DATE_TEXTS));\n protected override readonly valueTransformer = inject(\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n {optional: true},\n );\n\n protected readonly dateFiller$ = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat().mode],\n this.dateFormat().separator,\n ),\n ),\n );\n\n protected dateFormat = inject(TUI_DATE_FORMAT);\n\n protected selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n public get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(\n this.dateFormat().mode,\n this.dateFormat().separator,\n )\n : nativeValue();\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.toggle();\n }\n }\n\n public onValueChange(value: string): void {\n this.nativeValue.set(value);\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n if (this.activePeriod) {\n this.nativeValue.set('');\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod\n ? TuiDayRange.normalizeParse(value, this.dateFormat().mode)\n : null;\n\n if (!this.value) {\n this.selectedActivePeriod = null;\n }\n }\n\n public onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue.set('');\n }\n\n this.value = range;\n }\n\n public override writeValue(value: TuiDayRange | null): void {\n if (this.value === null && value === this.value) {\n return;\n }\n\n super.writeValue(value);\n this.nativeValue.set(this.value ? this.computedValue : '');\n this.selectedActivePeriod = this.findActivePeriodBy(this.value);\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedMask(): MaskitoOptions {\n return this.activePeriod\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat().mode,\n this.dateFormat().separator,\n this.min,\n this.max,\n this.minLength,\n this.maxLength,\n );\n }\n\n protected get activePeriod(): TuiDayRangePeriod | null {\n return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n protected get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n protected getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.onOpenChange(true);\n }\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue().length === DATE_FILLER_LENGTH ||\n this.nativeValue().length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(\n this.nativeValue(),\n this.dateFormat().mode,\n );\n }\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex((item) => String(item) === this.nativeValue()) !== -1;\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n dateSeparator: string,\n min: TuiDay | null,\n max: TuiDay | null,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n dateSeparator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: (min || TUI_FIRST_DAY).toLocalNativeDate(),\n max: (max || TUI_LAST_DAY).toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n\n private findActivePeriodBy(value: TuiDayRange | null): TuiDayRangePeriod | null {\n return (\n this.items.find((item) =>\n tuiNullableSame(\n value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ?? null\n );\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputDateRangeComponent} from './input-date-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n public ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiAppearance,\n TuiCalendarRange,\n TuiIcon,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i8","i1"],"mappings":"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"}
@@ -1,21 +1,20 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, inject, signal, Input, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
5
  import { maskitoDateTimeOptionsGenerator, maskitoSelectionChangeHandler } from '@maskito/kit';
6
6
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
7
7
  import { TuiDay, TuiTime, TuiMonth, DATE_FILLER_LENGTH, tuiDateClamp } from '@taiga-ui/cdk/date-time';
8
- import { tuiWatch } from '@taiga-ui/cdk/observables';
9
8
  import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
10
9
  import { tuiClamp } from '@taiga-ui/cdk/utils/math';
11
10
  import { changeDateSeparator, tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
12
- import { TUI_DEFAULT_DATE_FORMAT, TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
11
+ import { TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
13
12
  import { TUI_INPUT_DATE_OPTIONS, TUI_TIME_TEXTS, TUI_DATE_TEXTS, TUI_DATE_TIME_VALUE_TRANSFORMER, tuiDateStreamWithTransformer } from '@taiga-ui/kit/tokens';
14
13
  import { AbstractTuiTextfieldHost, AbstractTuiControl, tuiAsControl } from '@taiga-ui/legacy/classes';
15
- import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
14
+ import * as i7 from '@taiga-ui/legacy/components/primitive-textfield';
16
15
  import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
17
- import * as i5 from '@taiga-ui/legacy/directives';
18
- import { TUI_TEXTFIELD_SIZE, TuiValueAccessorModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
16
+ import * as i6 from '@taiga-ui/legacy/directives';
17
+ import { TUI_TEXTFIELD_SIZE, TuiLegacyDropdownOpenMonitorDirective, TuiTextfieldControllerModule, TuiValueAccessorModule } from '@taiga-ui/legacy/directives';
19
18
  import { tuiAsTextfieldHost, tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
20
19
  import { TUI_DATE_MODE_MASKITO_ADAPTER } from '@taiga-ui/legacy/utils';
21
20
  import { BehaviorSubject, combineLatest, map, timer } from 'rxjs';
@@ -23,12 +22,12 @@ import * as i1 from '@maskito/angular';
23
22
  import { MaskitoDirective } from '@maskito/angular';
24
23
  import * as i2 from '@taiga-ui/polymorpheus';
25
24
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
26
- import * as i3 from '@taiga-ui/core/components/calendar';
25
+ import * as i3 from '@taiga-ui/core/directives/appearance';
26
+ import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
27
+ import * as i4 from '@taiga-ui/core/components/calendar';
27
28
  import { TuiCalendar } from '@taiga-ui/core/components/calendar';
28
- import * as i6 from '@taiga-ui/core/components/icon';
29
+ import * as i5 from '@taiga-ui/core/components/icon';
29
30
  import { TuiIcon } from '@taiga-ui/core/components/icon';
30
- import * as i7 from '@taiga-ui/core/directives/appearance';
31
- import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
32
31
  import * as i1$1 from '@taiga-ui/core/directives/dropdown';
33
32
  import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
34
33
  import * as i10 from '@angular/common';
@@ -124,21 +123,16 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
124
123
  this.month = null;
125
124
  this.timeMode$ = new BehaviorSubject('HH:MM');
126
125
  this.nativeValue = signal('');
127
- this.timeTexts$ = inject(TUI_TIME_TEXTS);
128
- this.dateTexts$ = inject(TUI_DATE_TEXTS);
126
+ this.timeTexts$ = toObservable(inject(TUI_TIME_TEXTS));
127
+ this.dateTexts$ = toObservable(inject(TUI_DATE_TEXTS));
129
128
  this.valueTransformer = inject(TUI_DATE_TIME_VALUE_TRANSFORMER, { optional: true });
130
129
  this.filler$ = combineLatest([
131
- this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat.mode], this.dateFormat.separator))),
130
+ this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat().mode], this.dateFormat().separator))),
132
131
  this.timeTexts$,
133
132
  this.timeMode$,
134
133
  ]).pipe(map(([dateFiller, timeTexts, timeMode]) => this.getDateTimeString(dateFiller, timeTexts[timeMode])));
135
- this.dateFormat = TUI_DEFAULT_DATE_FORMAT;
134
+ this.dateFormat = inject(TUI_DATE_FORMAT);
136
135
  this.isMobile = inject(TUI_IS_MOBILE);
137
- this.dateFormat$ = inject(TUI_DATE_FORMAT)
138
- .pipe(tuiWatch(this.cdr), takeUntilDestroyed())
139
- .subscribe((format) => {
140
- this.dateFormat = format;
141
- });
142
136
  this.min = this.options.min;
143
137
  this.max = this.options.max;
144
138
  this.disabledItemHandler = TUI_FALSE_HANDLER;
@@ -198,7 +192,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
198
192
  return;
199
193
  }
200
194
  const [date = '', time] = value.split(DATE_TIME_SEPARATOR);
201
- const parsedDate = TuiDay.normalizeParse(date, this.dateFormat.mode);
195
+ const parsedDate = TuiDay.normalizeParse(date, this.dateFormat().mode);
202
196
  const parsedTime = time && time.length === this.timeMode.length
203
197
  ? TuiTime.fromString(time)
204
198
  : null;
@@ -218,7 +212,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
218
212
  return DATE_FILLER_LENGTH + DATE_TIME_SEPARATOR.length + this.timeMode.length;
219
213
  }
220
214
  get maskOptions() {
221
- return this.calculateMask(this.computedMin, this.computedMax, this.timeMode, this.dateFormat.mode, this.dateFormat.separator);
215
+ return this.calculateMask(this.computedMin, this.computedMax, this.timeMode, this.dateFormat().mode, this.dateFormat().separator);
222
216
  }
223
217
  get calendarIcon() {
224
218
  return this.options.icon;
@@ -279,7 +273,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
279
273
  return;
280
274
  }
281
275
  const parsedTime = TuiTime.fromString(time);
282
- const parsedDate = TuiDay.normalizeParse(date, this.dateFormat.mode);
276
+ const parsedDate = TuiDay.normalizeParse(date, this.dateFormat().mode);
283
277
  this.value = !parsedDate || !parsedTime ? null : [parsedDate, parsedTime];
284
278
  }
285
279
  getFallbackValue() {
@@ -314,7 +308,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
314
308
  }
315
309
  getDateTimeString(date, time, timeMode = 'HH:MM') {
316
310
  const dateString = date instanceof TuiDay
317
- ? date.toString(this.dateFormat.mode, this.dateFormat.separator)
311
+ ? date.toString(this.dateFormat().mode, this.dateFormat().separator)
318
312
  : date;
319
313
  const timeString = time instanceof TuiTime ? time.toString(timeMode) : time || '';
320
314
  return timeString
@@ -333,7 +327,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
333
327
  return TuiTime.fromAbsoluteMilliseconds(tuiClamp(ms, min, max));
334
328
  }
335
329
  trimTrailingSeparator(value) {
336
- return value.replace(new RegExp(`(\\${this.dateFormat.separator}|${DATE_TIME_SEPARATOR}|\\.)$`), '');
330
+ return value.replace(new RegExp(`(\\${this.dateFormat().separator}|${DATE_TIME_SEPARATOR}|\\.)$`), '');
337
331
  }
338
332
  toNativeDate(value) {
339
333
  if (!Array.isArray(value)) {
@@ -363,7 +357,7 @@ class TuiInputDateTimeComponent extends AbstractTuiControl {
363
357
  tuiAsFocusableItemAccessor(TuiInputDateTimeComponent),
364
358
  tuiAsControl(TuiInputDateTimeComponent),
365
359
  tuiDateStreamWithTransformer(TUI_DATE_TIME_VALUE_TRANSFORMER),
366
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive && !showNativePicker\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n />\n @if (showNativePicker) {\n <input\n tuiDateTime\n class=\"t-native-input\"\n />\n }\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date-time__calendar\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"calendarMaxDay\"\n [min]=\"calendarMinDay\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i2.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { kind: "component", type: i3.TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i5.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i5.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i5.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i5.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: TuiNativeDateTimeDirective, selector: "input[tuiDateTime]" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
360
+ ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive && !showNativePicker\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input-date-time__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(filler$ | async) || ''\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n />\n @if (showNativePicker) {\n <input\n tuiDateTime\n class=\"t-native-input\"\n />\n }\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date-time__calendar\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [max]=\"calendarMaxDay\"\n [min]=\"calendarMinDay\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"calendarValue\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i2.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { kind: "directive", type: i3.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i4.TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "component", type: i5.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i6.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i7.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i7.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i6.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i6.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i6.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: TuiNativeDateTimeDirective, selector: "input[tuiDateTime]" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
367
361
  }
368
362
  __decorate([
369
363
  tuiPure
@@ -408,22 +402,22 @@ class TuiInputDateTimeModule {
408
402
  MaskitoDirective,
409
403
  PolymorpheusOutlet,
410
404
  PolymorpheusTemplate,
405
+ TuiAppearance,
411
406
  TuiCalendar,
407
+ TuiIcon,
408
+ TuiLegacyDropdownOpenMonitorDirective,
412
409
  TuiLink,
413
410
  TuiPrimitiveTextfieldModule,
414
- TuiValueAccessorModule,
415
411
  TuiTextfieldControllerModule,
416
- TuiLegacyDropdownOpenMonitorDirective,
417
- TuiIcon,
418
- TuiAppearance, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownPortal, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection], exports: [TuiInputDateTimeComponent,
412
+ TuiValueAccessorModule, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContent, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection], exports: [TuiInputDateTimeComponent,
419
413
  TuiInputDateTimeDirective,
420
- TuiTextfieldComponent, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownPortal, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection] }); }
414
+ TuiTextfieldComponent, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContent, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection] }); }
421
415
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateTimeModule, imports: [CommonModule,
422
416
  TuiCalendar,
417
+ TuiIcon,
423
418
  TuiPrimitiveTextfieldModule,
424
- TuiValueAccessorModule,
425
419
  TuiTextfieldControllerModule,
426
- TuiIcon, i1$1.TuiDropdownComponent] }); }
420
+ TuiValueAccessorModule, i1$1.TuiDropdownComponent] }); }
427
421
  }
428
422
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateTimeModule, decorators: [{
429
423
  type: NgModule,
@@ -433,14 +427,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
433
427
  MaskitoDirective,
434
428
  PolymorpheusOutlet,
435
429
  PolymorpheusTemplate,
430
+ TuiAppearance,
436
431
  TuiCalendar,
432
+ TuiIcon,
433
+ TuiLegacyDropdownOpenMonitorDirective,
437
434
  TuiLink,
438
435
  TuiPrimitiveTextfieldModule,
439
- TuiValueAccessorModule,
440
436
  TuiTextfieldControllerModule,
441
- TuiLegacyDropdownOpenMonitorDirective,
442
- TuiIcon,
443
- TuiAppearance,
437
+ TuiValueAccessorModule,
444
438
  ...TuiDropdown,
445
439
  ],
446
440
  declarations: [