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

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