@taiga-ui/legacy 4.52.0-canary.24b31eb → 4.52.0-canary.2d877cf

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 (256) hide show
  1. package/README.md +1 -1
  2. package/components/dialog/dialog.component.d.ts +5 -6
  3. package/components/dialog/dialog.directive.d.ts +4 -3
  4. package/components/dialog/dialog.interfaces.d.ts +3 -4
  5. package/components/dialog/dialog.service.d.ts +5 -2
  6. package/components/dialog/dialog.tokens.d.ts +1 -3
  7. package/components/index.d.ts +2 -18
  8. package/components/mobile-dialog/index.d.ts +3 -0
  9. package/components/mobile-dialog/mobile-dialog.component.d.ts +10 -0
  10. package/components/mobile-dialog/mobile-dialog.options.d.ts +10 -0
  11. package/components/mobile-dialog/mobile-dialog.service.d.ts +14 -0
  12. package/components/pdf-viewer/index.d.ts +4 -0
  13. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  14. package/components/pdf-viewer/pdf-viewer.directive.d.ts +8 -0
  15. package/components/pdf-viewer/pdf-viewer.options.d.ts +11 -0
  16. package/components/pdf-viewer/pdf-viewer.service.d.ts +17 -0
  17. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +37 -31
  18. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs +62 -0
  20. package/fesm2022/taiga-ui-legacy-components-mobile-dialog.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +88 -0
  22. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  23. package/fesm2022/taiga-ui-legacy-components.mjs +2 -18
  24. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-legacy.mjs +0 -5
  26. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  27. package/index.d.ts +0 -5
  28. package/package.json +19 -130
  29. package/classes/abstract-native-select.d.ts +0 -22
  30. package/classes/abstract-textfield-host.d.ts +0 -19
  31. package/classes/control.d.ts +0 -60
  32. package/classes/controller.d.ts +0 -9
  33. package/classes/index.d.ts +0 -9
  34. package/classes/interactive.d.ts +0 -34
  35. package/classes/multiple-control.d.ts +0 -11
  36. package/classes/named-day.d.ts +0 -11
  37. package/classes/nullable-control.d.ts +0 -10
  38. package/classes/stringifiable-item.d.ts +0 -11
  39. package/components/arrow/arrow.component.d.ts +0 -17
  40. package/components/arrow/arrow.options.d.ts +0 -19
  41. package/components/arrow/arrow.providers.d.ts +0 -23
  42. package/components/arrow/index.d.ts +0 -3
  43. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  44. package/components/combo-box/combo-box.component.d.ts +0 -52
  45. package/components/combo-box/combo-box.directive.d.ts +0 -13
  46. package/components/combo-box/combo-box.module.d.ts +0 -20
  47. package/components/combo-box/index.d.ts +0 -4
  48. package/components/input/index.d.ts +0 -3
  49. package/components/input/input.component.d.ts +0 -32
  50. package/components/input/input.directive.d.ts +0 -12
  51. package/components/input/input.module.d.ts +0 -16
  52. package/components/input-date-range/index.d.ts +0 -3
  53. package/components/input-date-range/input-date-range.component.d.ts +0 -67
  54. package/components/input-date-range/input-date-range.directive.d.ts +0 -16
  55. package/components/input-date-range/input-date-range.module.d.ts +0 -22
  56. package/components/input-date-time/index.d.ts +0 -3
  57. package/components/input-date-time/input-date-time.component.d.ts +0 -87
  58. package/components/input-date-time/input-date-time.directive.d.ts +0 -17
  59. package/components/input-date-time/input-date-time.module.d.ts +0 -23
  60. package/components/input-date-time/native-date-time/native-date-time.directive.d.ts +0 -13
  61. package/components/input-month-range/index.d.ts +0 -3
  62. package/components/input-month-range/input-month-range.component.d.ts +0 -38
  63. package/components/input-month-range/input-month-range.directive.d.ts +0 -23
  64. package/components/input-month-range/input-month-range.module.d.ts +0 -18
  65. package/components/input-number/index.d.ts +0 -4
  66. package/components/input-number/input-number.component.d.ts +0 -63
  67. package/components/input-number/input-number.directive.d.ts +0 -16
  68. package/components/input-number/input-number.module.d.ts +0 -18
  69. package/components/input-number/input-number.options.d.ts +0 -29
  70. package/components/input-range/index.d.ts +0 -2
  71. package/components/input-range/input-range.component.d.ts +0 -56
  72. package/components/input-range/input-range.module.d.ts +0 -19
  73. package/components/input-slider/index.d.ts +0 -2
  74. package/components/input-slider/input-slider.component.d.ts +0 -42
  75. package/components/input-slider/input-slider.module.d.ts +0 -18
  76. package/components/input-tag/index.d.ts +0 -3
  77. package/components/input-tag/input-tag.component.d.ts +0 -103
  78. package/components/input-tag/input-tag.module.d.ts +0 -22
  79. package/components/input-tag/input-tag.options.d.ts +0 -27
  80. package/components/multi-select/hide-selected.pipe.d.ts +0 -11
  81. package/components/multi-select/index.d.ts +0 -10
  82. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +0 -23
  83. package/components/multi-select/multi-select-group/multi-select-group.directive.d.ts +0 -8
  84. package/components/multi-select/multi-select.component.d.ts +0 -71
  85. package/components/multi-select/multi-select.directive.d.ts +0 -14
  86. package/components/multi-select/multi-select.module.d.ts +0 -31
  87. package/components/multi-select/multi-select.options.d.ts +0 -14
  88. package/components/multi-select/native-multi-select/native-multi-select-group.component.d.ts +0 -9
  89. package/components/multi-select/native-multi-select/native-multi-select.component.d.ts +0 -8
  90. package/components/multi-select/native-multi-select/native-multi-select.d.ts +0 -11
  91. package/components/multi-select-option/index.d.ts +0 -2
  92. package/components/multi-select-option/multi-select-option.component.d.ts +0 -9
  93. package/components/multi-select-option/multi-select-option.module.d.ts +0 -9
  94. package/components/primitive-textfield/index.d.ts +0 -7
  95. package/components/primitive-textfield/primitive-textfield-options.d.ts +0 -21
  96. package/components/primitive-textfield/primitive-textfield-types.d.ts +0 -11
  97. package/components/primitive-textfield/primitive-textfield.component.d.ts +0 -73
  98. package/components/primitive-textfield/primitive-textfield.directive.d.ts +0 -14
  99. package/components/primitive-textfield/primitive-textfield.module.d.ts +0 -21
  100. package/components/primitive-textfield/textfield/textfield.component.d.ts +0 -13
  101. package/components/primitive-textfield/value-decoration/value-decoration.component.d.ts +0 -22
  102. package/components/select/index.d.ts +0 -6
  103. package/components/select/native-select/native-select-group.component.d.ts +0 -17
  104. package/components/select/native-select/native-select.component.d.ts +0 -16
  105. package/components/select/select.component.d.ts +0 -45
  106. package/components/select/select.directive.d.ts +0 -16
  107. package/components/select/select.module.d.ts +0 -24
  108. package/components/select/select.options.d.ts +0 -25
  109. package/components/select-option/index.d.ts +0 -2
  110. package/components/select-option/select-option.component.d.ts +0 -27
  111. package/components/select-option/select-option.module.d.ts +0 -10
  112. package/components/tag/index.d.ts +0 -3
  113. package/components/tag/tag.component.d.ts +0 -44
  114. package/components/tag/tag.module.d.ts +0 -16
  115. package/components/tag/tag.options.d.ts +0 -27
  116. package/components/textarea/index.d.ts +0 -3
  117. package/components/textarea/textarea.component.d.ts +0 -54
  118. package/components/textarea/textarea.directive.d.ts +0 -12
  119. package/components/textarea/textarea.module.d.ts +0 -21
  120. package/components/tooltip/index.d.ts +0 -2
  121. package/components/tooltip/tooltip.component.d.ts +0 -12
  122. package/components/tooltip/tooltip.module.d.ts +0 -13
  123. package/directives/index.d.ts +0 -5
  124. package/directives/legacy-dropdown-open-monitor/index.d.ts +0 -1
  125. package/directives/legacy-dropdown-open-monitor/legacy-dropdown-open-monitor.d.ts +0 -11
  126. package/directives/textfield-controller/index.d.ts +0 -14
  127. package/directives/textfield-controller/textfield-appearance.directive.d.ts +0 -9
  128. package/directives/textfield-controller/textfield-cleaner.directive.d.ts +0 -9
  129. package/directives/textfield-controller/textfield-controller.module.d.ts +0 -17
  130. package/directives/textfield-controller/textfield-controller.provider.d.ts +0 -4
  131. package/directives/textfield-controller/textfield-custom-content.directive.d.ts +0 -10
  132. package/directives/textfield-controller/textfield-filler.directive.d.ts +0 -9
  133. package/directives/textfield-controller/textfield-icon-left.directive.d.ts +0 -12
  134. package/directives/textfield-controller/textfield-icon.directive.d.ts +0 -12
  135. package/directives/textfield-controller/textfield-label-outside.directive.d.ts +0 -9
  136. package/directives/textfield-controller/textfield-postfix.directive.d.ts +0 -9
  137. package/directives/textfield-controller/textfield-prefix.directive.d.ts +0 -9
  138. package/directives/textfield-controller/textfield-size.directive.d.ts +0 -10
  139. package/directives/textfield-controller/textfield.controller.d.ts +0 -41
  140. package/directives/textfield-controller/textfield.options.d.ts +0 -19
  141. package/directives/unfinished-validator/index.d.ts +0 -2
  142. package/directives/unfinished-validator/unfinished-validator.directive.d.ts +0 -10
  143. package/directives/unfinished-validator/unfinished.validator.d.ts +0 -4
  144. package/directives/value-accessor/index.d.ts +0 -3
  145. package/directives/value-accessor/value-accessor.directive.d.ts +0 -5
  146. package/directives/value-accessor/value-accessor.module.d.ts +0 -7
  147. package/directives/value-accessor/value-accessor.provider.d.ts +0 -2
  148. package/directives/wrapper/README.md +0 -19
  149. package/directives/wrapper/index.d.ts +0 -2
  150. package/directives/wrapper/wrapper.directive.d.ts +0 -22
  151. package/directives/wrapper/wrapper.module.d.ts +0 -10
  152. package/fesm2022/taiga-ui-legacy-classes.mjs +0 -415
  153. package/fesm2022/taiga-ui-legacy-classes.mjs.map +0 -1
  154. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +0 -85
  155. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +0 -1
  156. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
  157. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  158. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +0 -356
  159. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +0 -1
  160. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +0 -465
  161. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +0 -1
  162. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +0 -221
  163. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +0 -1
  164. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +0 -390
  165. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +0 -1
  166. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +0 -261
  167. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +0 -1
  168. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +0 -199
  169. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +0 -1
  170. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +0 -524
  171. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +0 -1
  172. package/fesm2022/taiga-ui-legacy-components-input.mjs +0 -155
  173. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +0 -1
  174. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +0 -47
  175. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +0 -1
  176. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +0 -690
  177. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +0 -1
  178. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +0 -454
  179. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +0 -1
  180. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +0 -88
  181. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +0 -1
  182. package/fesm2022/taiga-ui-legacy-components-select.mjs +0 -353
  183. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +0 -1
  184. package/fesm2022/taiga-ui-legacy-components-tag.mjs +0 -225
  185. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +0 -262
  187. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +0 -53
  189. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +0 -50
  191. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +0 -401
  193. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +0 -50
  195. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +0 -44
  197. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +0 -99
  199. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-directives.mjs +0 -10
  201. package/fesm2022/taiga-ui-legacy-directives.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  203. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  205. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  207. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  209. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-tokens.mjs +0 -384
  211. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-utils.mjs +0 -268
  213. package/fesm2022/taiga-ui-legacy-utils.mjs.map +0 -1
  214. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  215. package/pipes/format-phone/index.d.ts +0 -1
  216. package/pipes/index.d.ts +0 -3
  217. package/pipes/iso-to-country-code/index.d.ts +0 -1
  218. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  219. package/pipes/to-country-code/index.d.ts +0 -1
  220. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  221. package/styles/mixins/mixins.less +0 -239
  222. package/styles/mixins/mixins.scss +0 -224
  223. package/styles/mixins/textfield.less +0 -324
  224. package/styles/mixins/textfield.scss +0 -308
  225. package/styles/taiga-ui-local.less +0 -3
  226. package/styles/taiga-ui-local.scss +0 -3
  227. package/tokens/countries-masks.d.ts +0 -9
  228. package/tokens/focusable-item-accessor.d.ts +0 -25
  229. package/tokens/fonts-ready.d.ts +0 -6
  230. package/tokens/icons.d.ts +0 -6
  231. package/tokens/index.d.ts +0 -14
  232. package/tokens/is-apple.d.ts +0 -6
  233. package/tokens/is-chromium.d.ts +0 -6
  234. package/tokens/is-firefox.d.ts +0 -6
  235. package/tokens/is-stackblitz.d.ts +0 -5
  236. package/tokens/month-formatter.d.ts +0 -10
  237. package/tokens/sanitizer.d.ts +0 -6
  238. package/tokens/textfield-appearance.d.ts +0 -7
  239. package/tokens/textfield-host.d.ts +0 -23
  240. package/tokens/touch-supported.d.ts +0 -5
  241. package/tokens/value-accessor.d.ts +0 -7
  242. package/utils/capitalize-first-letter.d.ts +0 -4
  243. package/utils/date-mode-maskito-adapter.d.ts +0 -6
  244. package/utils/format-phone.d.ts +0 -30
  245. package/utils/get-border.d.ts +0 -5
  246. package/utils/get-max-allowed-phone-length.d.ts +0 -24
  247. package/utils/get-safe-area-size.d.ts +0 -7
  248. package/utils/icons-path-factory.d.ts +0 -13
  249. package/utils/index.d.ts +0 -14
  250. package/utils/is-apple.d.ts +0 -5
  251. package/utils/is-presumed-html-string.d.ts +0 -4
  252. package/utils/iso-to-country-code.d.ts +0 -13
  253. package/utils/not-kz-region.d.ts +0 -20
  254. package/utils/process-icon.d.ts +0 -4
  255. package/utils/specific-dropdown-controllers.d.ts +0 -4
  256. package/utils/status.d.ts +0 -4
@@ -1,356 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { inject, signal, Input, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
6
- import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
7
- import { tuiAsControl } from '@taiga-ui/cdk/classes';
8
- import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
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
- import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
12
- import { changeDateSeparator, tuiIsPresent, tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
13
- import { tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
14
- import { TUI_DEFAULT_DATE_FORMAT, TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
15
- 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
- import { AbstractTuiNullableControl, tuiAsControl as tuiAsControl$1, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
17
- import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
18
- 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';
21
- import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
22
- import { TUI_DATE_MODE_MASKITO_ADAPTER } from '@taiga-ui/legacy/utils';
23
- import { map } from 'rxjs';
24
- import * as i1 from '@maskito/angular';
25
- 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';
29
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
30
- import * as i6 from '@taiga-ui/kit/components/calendar-range';
31
- import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
32
- import * as i7 from '@taiga-ui/core/components/icon';
33
- 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
- import * as i1$1 from '@taiga-ui/core/directives/dropdown';
37
- import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
38
- import * as i10 from '@angular/common';
39
- import { CommonModule } from '@angular/common';
40
-
41
- /**
42
- * TODO(v5): delete it
43
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
44
- */
45
- class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
46
- constructor() {
47
- super(...arguments);
48
- this.isMobile = inject(TUI_IS_MOBILE);
49
- this.mobileCalendar = inject(TUI_MOBILE_CALENDAR, { optional: true });
50
- this.options = inject(TUI_INPUT_DATE_OPTIONS);
51
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
52
- this.nativeValue = signal('');
53
- this.dateTexts$ = inject(TUI_DATE_TEXTS);
54
- 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
- });
62
- this.selectedActivePeriod = null;
63
- this.disabledItemHandler = TUI_FALSE_HANDLER;
64
- this.markerHandler = null;
65
- this.defaultViewedMonth = TuiMonth.currentLocal();
66
- this.items = [];
67
- this.min = this.options.min;
68
- this.max = this.options.max;
69
- this.minLength = null;
70
- this.maxLength = null;
71
- this.open = false;
72
- }
73
- get nativeFocusableElement() {
74
- return this.textfield?.nativeFocusableElement ?? null;
75
- }
76
- get focused() {
77
- return !!this.textfield?.focused;
78
- }
79
- get computedExampleText() {
80
- return this.items.length
81
- ? this.textfield?.nativeFocusableElement?.placeholder || ''
82
- : '';
83
- }
84
- get computedValue() {
85
- const { value, nativeValue, activePeriod } = this;
86
- if (activePeriod) {
87
- return String(activePeriod);
88
- }
89
- return value
90
- ? value.getFormattedDayRange(this.dateFormat.mode, this.dateFormat.separator)
91
- : nativeValue();
92
- }
93
- get size() {
94
- return this.textfieldSize.size;
95
- }
96
- onClick() {
97
- if (!this.isMobile && this.interactive) {
98
- this.toggle();
99
- }
100
- }
101
- onValueChange(value) {
102
- this.nativeValue.set(value);
103
- if (this.control) {
104
- this.control.updateValueAndValidity({ emitEvent: false });
105
- }
106
- if (!value && !this.mobileCalendar) {
107
- this.onOpenChange(true);
108
- }
109
- if (this.activePeriod) {
110
- this.nativeValue.set('');
111
- }
112
- this.value =
113
- value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod
114
- ? TuiDayRange.normalizeParse(value, this.dateFormat.mode)
115
- : null;
116
- if (!this.value) {
117
- this.selectedActivePeriod = null;
118
- }
119
- }
120
- onRangeChange(range) {
121
- this.toggle();
122
- this.focusInput();
123
- if (!range) {
124
- this.nativeValue.set('');
125
- }
126
- this.value = range;
127
- }
128
- writeValue(value) {
129
- if (this.value === null && value === this.value) {
130
- return;
131
- }
132
- super.writeValue(value);
133
- this.nativeValue.set(this.value ? this.computedValue : '');
134
- this.selectedActivePeriod = this.findActivePeriodBy(this.value);
135
- }
136
- get computedMobile() {
137
- return this.isMobile && !!this.mobileCalendar;
138
- }
139
- get calendarIcon() {
140
- return this.options.icon;
141
- }
142
- get computedMask() {
143
- return this.activePeriod
144
- ? MASKITO_DEFAULT_OPTIONS
145
- : this.calculateMask(this.dateFormat.mode, this.dateFormat.separator, this.min, this.max, this.minLength, this.maxLength);
146
- }
147
- get activePeriod() {
148
- return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);
149
- }
150
- get showValueTemplate() {
151
- return tuiIsPresent(this.value) && !this.focused;
152
- }
153
- get computedContent() {
154
- return this.activePeriod?.content || this.computedValue;
155
- }
156
- get innerPseudoFocused() {
157
- if (this.pseudoFocus === false) {
158
- return false;
159
- }
160
- if (this.open || this.computedFocused) {
161
- return true;
162
- }
163
- return null;
164
- }
165
- getComputedRangeFiller(dateFiller) {
166
- return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);
167
- }
168
- onIconClick() {
169
- if (this.isMobile && this.interactive) {
170
- this.onOpenChange(true);
171
- }
172
- }
173
- onOpenChange(open) {
174
- this.open = open;
175
- }
176
- onActiveZone(focused) {
177
- this.updateFocused(focused);
178
- if (!focused &&
179
- !this.itemSelected &&
180
- (this.nativeValue().length === DATE_FILLER_LENGTH ||
181
- this.nativeValue().length ===
182
- DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)) {
183
- this.value = TuiDayRange.normalizeParse(this.nativeValue(), this.dateFormat.mode);
184
- }
185
- }
186
- valueIdenticalComparator(oldValue, newValue) {
187
- return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));
188
- }
189
- get itemSelected() {
190
- return this.items.findIndex((item) => String(item) === this.nativeValue()) !== -1;
191
- }
192
- // eslint-disable-next-line @typescript-eslint/max-params,max-params
193
- calculateMask(dateFormat, dateSeparator, min, max, minLength, maxLength) {
194
- return maskitoDateRangeOptionsGenerator({
195
- dateSeparator,
196
- mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],
197
- min: (min || TUI_FIRST_DAY).toLocalNativeDate(),
198
- max: (max || TUI_LAST_DAY).toLocalNativeDate(),
199
- minLength: minLength || {},
200
- maxLength: maxLength || {},
201
- });
202
- }
203
- toggle() {
204
- this.open = !this.open;
205
- }
206
- focusInput(preventScroll = false) {
207
- if (this.nativeFocusableElement) {
208
- this.nativeFocusableElement.focus({ preventScroll });
209
- }
210
- }
211
- getDateRangeFiller(dateFiller) {
212
- return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;
213
- }
214
- findActivePeriodBy(value) {
215
- return (this.items.find((item) => tuiNullableSame(value, item.range, (a, b) => a.from.daySame(b.from.dayLimit(this.min, this.max)) &&
216
- a.to.daySame(b.to.dayLimit(this.min, this.max)))) ?? null);
217
- }
218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiInputDateRangeComponent, isStandalone: false, selector: "tui-input-date-range", inputs: { disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", defaultViewedMonth: "defaultViewedMonth", items: "items", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.data-size": "size" } }, providers: [
220
- tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),
221
- tuiAsControl(TuiInputDateRangeComponent),
222
- tuiAsControl$1(TuiInputDateRangeComponent),
223
- tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),
224
- tuiAsDataListHost(TuiInputDateRangeComponent),
225
- 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 }); }
227
- }
228
- __decorate([
229
- tuiPure
230
- ], TuiInputDateRangeComponent.prototype, "calculateMask", null);
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeComponent, decorators: [{
232
- type: Component,
233
- args: [{ standalone: false, selector: 'tui-input-date-range', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
234
- tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),
235
- tuiAsControl(TuiInputDateRangeComponent),
236
- tuiAsControl$1(TuiInputDateRangeComponent),
237
- tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),
238
- tuiAsDataListHost(TuiInputDateRangeComponent),
239
- TUI_MOBILE_CALENDAR_PROVIDER,
240
- ], host: {
241
- '[attr.data-size]': 'size',
242
- '(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"] }]
244
- }], propDecorators: { textfield: [{
245
- type: ViewChild,
246
- args: [TuiPrimitiveTextfieldComponent]
247
- }], disabledItemHandler: [{
248
- type: Input
249
- }], markerHandler: [{
250
- type: Input
251
- }], defaultViewedMonth: [{
252
- type: Input
253
- }], items: [{
254
- type: Input
255
- }], min: [{
256
- type: Input
257
- }], max: [{
258
- type: Input
259
- }], minLength: [{
260
- type: Input
261
- }], maxLength: [{
262
- type: Input
263
- }], calculateMask: [] } });
264
-
265
- /**
266
- * TODO(v5): delete it
267
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
268
- */
269
- class TuiInputDateRangeDirective extends AbstractTuiTextfieldHost {
270
- get value() {
271
- return this.host.computedValue;
272
- }
273
- onValueChange(value) {
274
- this.host.onValueChange(value);
275
- }
276
- process(input) {
277
- input.inputMode = 'numeric';
278
- }
279
- ngDoCheck() {
280
- if (this.host.nativeFocusableElement) {
281
- this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;
282
- }
283
- }
284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
285
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiInputDateRangeDirective, isStandalone: false, selector: "tui-input-date-range", providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)], usesInheritance: true, ngImport: i0 }); }
286
- }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
288
- type: Directive,
289
- args: [{
290
- standalone: false,
291
- selector: 'tui-input-date-range',
292
- providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],
293
- }]
294
- }] });
295
-
296
- /**
297
- * TODO(v5): delete it
298
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
299
- */
300
- class TuiInputDateRangeModule {
301
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
302
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective], imports: [CommonModule,
303
- MaskitoDirective,
304
- TuiLet,
305
- PolymorpheusOutlet,
306
- PolymorpheusTemplate,
307
- TuiPrimitiveTextfieldModule,
308
- TuiTextfieldControllerModule,
309
- TuiCalendarRange,
310
- TuiValueAccessorModule,
311
- TuiLegacyDropdownOpenMonitorDirective,
312
- 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,
314
- 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] }); }
316
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, imports: [CommonModule,
317
- TuiPrimitiveTextfieldModule,
318
- TuiTextfieldControllerModule,
319
- TuiCalendarRange,
320
- TuiValueAccessorModule,
321
- TuiIcon, i1$1.TuiDropdownComponent] }); }
322
- }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, decorators: [{
324
- type: NgModule,
325
- args: [{
326
- imports: [
327
- CommonModule,
328
- MaskitoDirective,
329
- TuiLet,
330
- PolymorpheusOutlet,
331
- PolymorpheusTemplate,
332
- TuiPrimitiveTextfieldModule,
333
- TuiTextfieldControllerModule,
334
- TuiCalendarRange,
335
- TuiValueAccessorModule,
336
- TuiLegacyDropdownOpenMonitorDirective,
337
- TuiIcon,
338
- TuiAppearance,
339
- ...TuiDropdown,
340
- ],
341
- declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],
342
- exports: [
343
- TuiInputDateRangeComponent,
344
- TuiInputDateRangeDirective,
345
- TuiTextfieldComponent,
346
- ...TuiDropdown,
347
- ],
348
- }]
349
- }] });
350
-
351
- /**
352
- * Generated bundle index. Do not edit.
353
- */
354
-
355
- export { TuiInputDateRangeComponent, TuiInputDateRangeDirective, TuiInputDateRangeModule };
356
- //# sourceMappingURL=taiga-ui-legacy-components-input-date-range.mjs.map
@@ -1 +0,0 @@
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":"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"}