@taiga-ui/legacy 4.52.0-canary.a4e325d → 4.52.0-canary.a59c4d0

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 (226) hide show
  1. package/components/combo-box/combo-box.module.d.ts +1 -1
  2. package/components/dialog/dialog.component.d.ts +20 -0
  3. package/components/dialog/dialog.directive.d.ts +7 -0
  4. package/components/dialog/dialog.factory.d.ts +16 -0
  5. package/components/dialog/dialog.interfaces.d.ts +31 -0
  6. package/components/dialog/dialog.service.d.ts +7 -0
  7. package/components/dialog/dialog.tokens.d.ts +8 -0
  8. package/components/dialog/index.d.ts +6 -0
  9. package/components/index.d.ts +2 -15
  10. package/components/input/input.module.d.ts +1 -1
  11. package/components/input-date-range/input-date-range.module.d.ts +1 -1
  12. package/components/input-date-time/input-date-time.module.d.ts +1 -1
  13. package/components/input-month-range/input-month-range.module.d.ts +1 -1
  14. package/components/input-range/input-range.component.d.ts +1 -1
  15. package/components/input-tag/input-tag.module.d.ts +1 -1
  16. package/components/multi-select/multi-select.module.d.ts +1 -1
  17. package/components/pdf-viewer/index.d.ts +4 -0
  18. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  19. package/components/pdf-viewer/pdf-viewer.directive.d.ts +7 -0
  20. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  21. package/components/pdf-viewer/pdf-viewer.service.d.ts +13 -0
  22. package/components/select/select.module.d.ts +1 -1
  23. package/fesm2022/taiga-ui-legacy-classes.mjs +21 -21
  24. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +3 -3
  26. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +23 -25
  28. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +130 -0
  30. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  31. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +24 -24
  32. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +26 -26
  34. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +12 -12
  36. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +21 -21
  38. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +25 -25
  40. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +18 -19
  42. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +22 -22
  44. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-legacy-components-input.mjs +14 -15
  46. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +7 -7
  48. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +47 -47
  50. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +83 -0
  52. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  53. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +28 -28
  54. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +8 -8
  56. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-legacy-components-select.mjs +33 -34
  58. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-legacy-components-tag.mjs +13 -14
  60. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
  62. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +7 -7
  64. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-legacy-components.mjs +2 -15
  66. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
  68. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +34 -34
  70. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +3 -3
  72. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
  74. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +7 -7
  76. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-legacy.mjs +0 -2
  80. package/fesm2022/taiga-ui-legacy.mjs.map +1 -1
  81. package/index.d.ts +0 -2
  82. package/package.json +16 -88
  83. package/utils/icons-path-factory.d.ts +1 -1
  84. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  85. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  86. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  87. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  88. package/components/color-selector/color-selector.component.d.ts +0 -47
  89. package/components/color-selector/color-selector.module.d.ts +0 -24
  90. package/components/color-selector/color-selector.options.d.ts +0 -25
  91. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  92. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  93. package/components/color-selector/index.d.ts +0 -16
  94. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  95. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  96. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  97. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  98. package/components/color-selector/palette/palette.component.d.ts +0 -10
  99. package/components/color-selector/palette/palette.module.d.ts +0 -13
  100. package/components/color-selector/services/picker.service.d.ts +0 -15
  101. package/components/input-color/index.d.ts +0 -2
  102. package/components/input-color/input-color.component.d.ts +0 -30
  103. package/components/input-color/input-color.module.d.ts +0 -17
  104. package/components/input-copy/index.d.ts +0 -4
  105. package/components/input-copy/input-copy.component.d.ts +0 -33
  106. package/components/input-copy/input-copy.directive.d.ts +0 -11
  107. package/components/input-copy/input-copy.module.d.ts +0 -18
  108. package/components/input-copy/input-copy.options.d.ts +0 -26
  109. package/components/input-date/index.d.ts +0 -3
  110. package/components/input-date/input-date.component.d.ts +0 -62
  111. package/components/input-date/input-date.directive.d.ts +0 -19
  112. package/components/input-date/input-date.module.d.ts +0 -24
  113. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  114. package/components/input-date-multi/index.d.ts +0 -2
  115. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  116. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  117. package/components/input-month/index.d.ts +0 -3
  118. package/components/input-month/input-month.component.d.ts +0 -44
  119. package/components/input-month/input-month.directive.d.ts +0 -19
  120. package/components/input-month/input-month.module.d.ts +0 -19
  121. package/components/input-password/index.d.ts +0 -4
  122. package/components/input-password/input-password.component.d.ts +0 -33
  123. package/components/input-password/input-password.directive.d.ts +0 -15
  124. package/components/input-password/input-password.module.d.ts +0 -19
  125. package/components/input-password/input-password.options.d.ts +0 -25
  126. package/components/input-phone/index.d.ts +0 -4
  127. package/components/input-phone/input-phone.component.d.ts +0 -49
  128. package/components/input-phone/input-phone.directive.d.ts +0 -13
  129. package/components/input-phone/input-phone.module.d.ts +0 -12
  130. package/components/input-phone/input-phone.options.d.ts +0 -13
  131. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  132. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  133. package/components/input-phone/utils/index.d.ts +0 -2
  134. package/components/input-phone-international/index.d.ts +0 -3
  135. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  136. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  137. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  138. package/components/input-time/index.d.ts +0 -4
  139. package/components/input-time/input-time.component.d.ts +0 -62
  140. package/components/input-time/input-time.directive.d.ts +0 -17
  141. package/components/input-time/input-time.module.d.ts +0 -23
  142. package/components/input-time/input-time.options.d.ts +0 -42
  143. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  144. package/components/input-year/index.d.ts +0 -3
  145. package/components/input-year/input-year.component.d.ts +0 -36
  146. package/components/input-year/input-year.directive.d.ts +0 -14
  147. package/components/input-year/input-year.module.d.ts +0 -18
  148. package/components/island/index.d.ts +0 -1
  149. package/components/island/island.directive.d.ts +0 -20
  150. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  151. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  152. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  153. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  154. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  155. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  156. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  157. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  158. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  159. package/components/sheet/index.d.ts +0 -14
  160. package/components/sheet/sheet-options.d.ts +0 -27
  161. package/components/sheet/sheet-tokens.d.ts +0 -18
  162. package/components/sheet/sheet.d.ts +0 -21
  163. package/components/sheet/sheet.directive.d.ts +0 -17
  164. package/components/sheet/sheet.module.d.ts +0 -24
  165. package/components/sheet/sheet.service.d.ts +0 -17
  166. package/components/svg/content-processor.d.ts +0 -19
  167. package/components/svg/deprecated-icons.d.ts +0 -5
  168. package/components/svg/index.d.ts +0 -5
  169. package/components/svg/svg-options.d.ts +0 -50
  170. package/components/svg/svg.component.d.ts +0 -50
  171. package/components/svg/svg.service.d.ts +0 -21
  172. package/components/table-bar/index.d.ts +0 -4
  173. package/components/table-bar/table-bar.component.d.ts +0 -17
  174. package/components/table-bar/table-bar.directive.d.ts +0 -11
  175. package/components/table-bar/table-bar.options.d.ts +0 -31
  176. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  177. package/components/table-bar/table-bars.service.d.ts +0 -11
  178. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  179. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  180. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  181. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  182. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  183. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  184. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  185. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  187. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  189. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  191. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  193. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  195. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -434
  197. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  199. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  201. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  203. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  205. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
  207. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  209. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  211. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  213. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  215. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  217. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  218. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  219. package/pipes/format-phone/index.d.ts +0 -1
  220. package/pipes/index.d.ts +0 -3
  221. package/pipes/iso-to-country-code/index.d.ts +0 -1
  222. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  223. package/pipes/to-country-code/index.d.ts +0 -1
  224. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  225. package/services/index.d.ts +0 -1
  226. package/services/static-request.service.d.ts +0 -11
@@ -1,372 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { Directive, inject, signal, Input, ViewChild, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
6
- import { maskitoDateOptionsGenerator } from '@maskito/kit';
7
- import { tuiAsControl } from '@taiga-ui/cdk/classes';
8
- import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
9
- import { TuiDay, DATE_FILLER_LENGTH, TuiMonth, tuiDateClamp, TUI_LAST_DISPLAYED_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, tuiNullableSame, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
13
- import { TUI_DEFAULT_DATE_FORMAT, TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
14
- import { TUI_INPUT_DATE_OPTIONS, TUI_MOBILE_CALENDAR, TUI_DATE_TEXTS, TUI_DATE_VALUE_TRANSFORMER, tuiDateStreamWithTransformer, TUI_MOBILE_CALENDAR_PROVIDER } from '@taiga-ui/kit/tokens';
15
- import { AbstractTuiTextfieldHost, AbstractTuiNullableControl, tuiAsControl as tuiAsControl$1 } from '@taiga-ui/legacy/classes';
16
- import * as i6 from '@taiga-ui/legacy/components/primitive-textfield';
17
- import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
18
- import * as i7 from '@taiga-ui/legacy/directives';
19
- import { TUI_TEXTFIELD_SIZE, TuiValueAccessorModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
20
- import { tuiAsTextfieldHost, tuiAsFocusableItemAccessor } 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 '@angular/common';
24
- import { CommonModule } from '@angular/common';
25
- import * as i2 from '@maskito/angular';
26
- import { MaskitoDirective } from '@maskito/angular';
27
- import * as i3 from '@taiga-ui/polymorpheus';
28
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
29
- import * as i4 from '@taiga-ui/core/components/calendar';
30
- import { TuiCalendar } from '@taiga-ui/core/components/calendar';
31
- import * as i5 from '@taiga-ui/core/components/link';
32
- import { TuiLink } from '@taiga-ui/core/components/link';
33
- import * as i8 from '@taiga-ui/cdk/directives/let';
34
- import { TuiLet } from '@taiga-ui/cdk/directives/let';
35
- import * as i9 from '@taiga-ui/core/directives/appearance';
36
- import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
37
- import * as i10 from '@taiga-ui/core/components/icon';
38
- import { TuiIcon } from '@taiga-ui/core/components/icon';
39
- import * as i1$1 from '@taiga-ui/core/directives/dropdown';
40
- import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
41
-
42
- /**
43
- * TODO(v5): delete it
44
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead
45
- */
46
- class TuiInputDateDirective extends AbstractTuiTextfieldHost {
47
- get value() {
48
- return this.host.computedValue;
49
- }
50
- get max() {
51
- return this.host.computedMax;
52
- }
53
- get min() {
54
- return this.host.computedMin;
55
- }
56
- get format() {
57
- return this.host.dateFormat;
58
- }
59
- onValueChange(value) {
60
- this.host.onValueChange(value);
61
- }
62
- process(input) {
63
- input.inputMode = 'numeric';
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputDateDirective, isStandalone: false, selector: "tui-input-date:not([multiple])", providers: [tuiAsTextfieldHost(TuiInputDateDirective)], usesInheritance: true, ngImport: i0 }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateDirective, decorators: [{
69
- type: Directive,
70
- args: [{
71
- standalone: false,
72
- selector: 'tui-input-date:not([multiple])',
73
- providers: [tuiAsTextfieldHost(TuiInputDateDirective)],
74
- }]
75
- }] });
76
-
77
- /**
78
- * TODO(v5): delete it
79
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date#mobile TuiInputDate} (from @taiga-ui/kit) instead
80
- */
81
- class TuiNativeDateDirective {
82
- constructor() {
83
- this.host = inject(TuiInputDateDirective);
84
- }
85
- get value() {
86
- return this.host.value.length === DATE_FILLER_LENGTH
87
- ? TuiDay.normalizeParse(this.host.value, this.host.format.mode).toString('YMD', '-')
88
- : '';
89
- }
90
- get max() {
91
- return this.host.max.toJSON();
92
- }
93
- get min() {
94
- return this.host.min.toJSON();
95
- }
96
- onChange(value) {
97
- this.host.onValueChange(value
98
- ? TuiDay.normalizeParse(value, 'YMD').toString(this.host.format.mode)
99
- : '');
100
- }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeDateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiNativeDateDirective, isStandalone: false, selector: "input[tuiDate]", host: { attributes: { "type": "date" }, listeners: { "change": "onChange($event.target.value)", "click.stop.zoneless": "0", "input.stop.zoneless": "0", "mousedown.stop.zoneless": "0" }, properties: { "tabIndex": "-1", "value": "value", "max": "max", "min": "min" } }, providers: [tuiAsTextfieldHost(TuiInputDateDirective)], ngImport: i0 }); }
103
- }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeDateDirective, decorators: [{
105
- type: Directive,
106
- args: [{
107
- standalone: false,
108
- selector: 'input[tuiDate]',
109
- providers: [tuiAsTextfieldHost(TuiInputDateDirective)],
110
- host: {
111
- type: 'date',
112
- '[tabIndex]': '-1',
113
- '[value]': 'value',
114
- '(change)': 'onChange($event.target.value)',
115
- '[max]': 'max',
116
- '[min]': 'min',
117
- '(click.stop.zoneless)': '0',
118
- '(input.stop.zoneless)': '0',
119
- '(mousedown.stop.zoneless)': '0',
120
- },
121
- }]
122
- }] });
123
-
124
- /**
125
- * TODO(v5): delete it
126
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead
127
- */
128
- class TuiInputDateComponent extends AbstractTuiNullableControl {
129
- constructor() {
130
- super(...arguments);
131
- this.options = inject(TUI_INPUT_DATE_OPTIONS);
132
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
133
- this.mobileCalendar = inject(TUI_MOBILE_CALENDAR, { optional: true });
134
- this.month = null;
135
- this.nativeValue = signal('');
136
- this.min = this.options.min;
137
- this.max = this.options.max;
138
- this.disabledItemHandler = TUI_FALSE_HANDLER;
139
- this.markerHandler = null;
140
- this.items = [];
141
- this.defaultActiveYearMonth = TuiMonth.currentLocal();
142
- this.dateFormat = TUI_DEFAULT_DATE_FORMAT;
143
- this.open = false;
144
- this.dateTexts$ = inject(TUI_DATE_TEXTS);
145
- this.valueTransformer = inject(TUI_DATE_VALUE_TRANSFORMER, {
146
- optional: true,
147
- });
148
- this.isMobile = inject(TUI_IS_MOBILE);
149
- this.filler$ = this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat.mode], this.dateFormat.separator)));
150
- this.dateFormat$ = inject(TUI_DATE_FORMAT)
151
- .pipe(tuiWatch(this.cdr), takeUntilDestroyed())
152
- .subscribe((format) => {
153
- this.dateFormat = format;
154
- });
155
- }
156
- get computedMin() {
157
- return this.min ?? this.options.min;
158
- }
159
- get computedMax() {
160
- return this.max ?? this.options.max;
161
- }
162
- get nativeFocusableElement() {
163
- return this.textfield?.nativeFocusableElement ?? null;
164
- }
165
- get focused() {
166
- return !!this.textfield?.focused;
167
- }
168
- get computedValue() {
169
- const { value, nativeValue, activeItem } = this;
170
- if (activeItem) {
171
- return String(activeItem);
172
- }
173
- return value
174
- ? value.toString(this.dateFormat.mode, this.dateFormat.separator)
175
- : nativeValue();
176
- }
177
- onValueChange(value) {
178
- this.nativeValue.set(value);
179
- if (this.control) {
180
- this.control.updateValueAndValidity({ emitEvent: false });
181
- }
182
- if (!value && !this.mobileCalendar) {
183
- this.onOpenChange(true);
184
- }
185
- if (this.activeItem) {
186
- this.nativeValue.set('');
187
- }
188
- this.value =
189
- value.length !== DATE_FILLER_LENGTH || this.activeItem
190
- ? null
191
- : TuiDay.normalizeParse(value, this.dateFormat.mode);
192
- }
193
- setDisabledState() {
194
- super.setDisabledState();
195
- this.open = false;
196
- }
197
- writeValue(value) {
198
- if (this.value === null && value === this.value) {
199
- return;
200
- }
201
- super.writeValue(value);
202
- this.nativeValue.set(this.value ? this.computedValue : '');
203
- }
204
- get size() {
205
- return this.textfieldSize.size;
206
- }
207
- get nativePicker() {
208
- return this.options.nativePicker && this.isMobile;
209
- }
210
- get calendarIcon() {
211
- return this.options.icon;
212
- }
213
- get computedActiveYearMonth() {
214
- const clampedDate = tuiDateClamp(this.defaultActiveYearMonth, this.computedMin, this.computedMax);
215
- if (this.value?.dayAfter(TUI_LAST_DISPLAYED_DAY)) {
216
- return this.month || clampedDate;
217
- }
218
- if (this.items[0] && this.value?.daySame(this.items[0].day)) {
219
- return this.items[0].displayDay;
220
- }
221
- return this.month || this.value || clampedDate;
222
- }
223
- get computedMask() {
224
- return this.activeItem
225
- ? MASKITO_DEFAULT_OPTIONS
226
- : this.computeMaskOptions(this.dateFormat.mode, this.dateFormat.separator, this.computedMin, this.computedMax);
227
- }
228
- get activeItem() {
229
- const { value } = this;
230
- return (value && this.items.find((item) => item.day.daySame(value))) || null;
231
- }
232
- onClick() {
233
- if (!this.isMobile && this.interactive) {
234
- this.open = !this.open;
235
- }
236
- }
237
- getComputedFiller(filler) {
238
- return this.activeItem ? '' : filler;
239
- }
240
- onIconClick() {
241
- if (this.isMobile && this.interactive) {
242
- this.open = true;
243
- }
244
- }
245
- onDayClick(value) {
246
- this.value = value;
247
- this.open = false;
248
- }
249
- onMonthChange(month) {
250
- this.month = month;
251
- }
252
- onOpenChange(open) {
253
- this.open = open;
254
- }
255
- onFocused(focused) {
256
- this.updateFocused(focused);
257
- }
258
- valueIdenticalComparator(oldValue, newValue) {
259
- return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));
260
- }
261
- computeMaskOptions(mode, separator, min, max) {
262
- return maskitoDateOptionsGenerator({
263
- separator,
264
- mode: TUI_DATE_MODE_MASKITO_ADAPTER[mode],
265
- min: min.toLocalNativeDate(),
266
- max: max.toLocalNativeDate(),
267
- });
268
- }
269
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
270
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputDateComponent, isStandalone: false, selector: "tui-input-date:not([multiple])", inputs: { min: "min", max: "max", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", items: "items", defaultActiveYearMonth: "defaultActiveYearMonth" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.data-size": "size" } }, providers: [
271
- tuiAsFocusableItemAccessor(TuiInputDateComponent),
272
- tuiAsControl(TuiInputDateComponent),
273
- tuiAsControl$1(TuiInputDateComponent),
274
- tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),
275
- TUI_MOBILE_CALENDAR_PROVIDER,
276
- ], 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 && !nativePicker\"\n [tuiDropdownOpen]=\"open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedFiller(filler || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n 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 <input\n *ngIf=\"nativePicker\"\n tuiDate\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date__calendar\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n <div\n *ngIf=\"items.length === 1\"\n class=\"t-button\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"items[0] && onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i3.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i3.PolymorpheusTemplate, selector: "ng-template[polymorpheus]", inputs: ["polymorpheus"], exportAs: ["polymorpheus"] }, { kind: "component", type: i4.TuiCalendar, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value", "initialView"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }, { kind: "directive", type: i5.TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: i6.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i6.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i7.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i8.TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: i7.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i7.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i7.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "directive", type: i9.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "component", type: i10.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "directive", type: TuiNativeDateDirective, selector: "input[tuiDate]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
277
- }
278
- __decorate([
279
- tuiPure
280
- ], TuiInputDateComponent.prototype, "computeMaskOptions", null);
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateComponent, decorators: [{
282
- type: Component,
283
- args: [{ standalone: false, selector: 'tui-input-date:not([multiple])', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
284
- tuiAsFocusableItemAccessor(TuiInputDateComponent),
285
- tuiAsControl(TuiInputDateComponent),
286
- tuiAsControl$1(TuiInputDateComponent),
287
- tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),
288
- TUI_MOBILE_CALENDAR_PROVIDER,
289
- ], host: {
290
- '[attr.data-size]': 'size',
291
- '(click)': 'onClick()',
292
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive && !nativePicker\"\n [tuiDropdownOpen]=\"open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedFiller(filler || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n 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 <input\n *ngIf=\"nativePicker\"\n tuiDate\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date__calendar\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n <div\n *ngIf=\"items.length === 1\"\n class=\"t-button\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"items[0] && onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-button{display:flex;block-size:2.75rem;justify-content:center;box-shadow:inset 0 1px var(--tui-border-normal)}.t-button button{flex:1;text-align:center}.t-native-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"] }]
293
- }], propDecorators: { textfield: [{
294
- type: ViewChild,
295
- args: [TuiPrimitiveTextfieldComponent]
296
- }], min: [{
297
- type: Input
298
- }], max: [{
299
- type: Input
300
- }], disabledItemHandler: [{
301
- type: Input
302
- }], markerHandler: [{
303
- type: Input
304
- }], items: [{
305
- type: Input
306
- }], defaultActiveYearMonth: [{
307
- type: Input
308
- }], computeMaskOptions: [] } });
309
-
310
- /**
311
- * TODO(v5): delete it
312
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead
313
- */
314
- class TuiInputDateModule {
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
316
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateModule, declarations: [TuiInputDateComponent, TuiInputDateDirective, TuiNativeDateDirective], imports: [CommonModule,
317
- MaskitoDirective,
318
- PolymorpheusOutlet,
319
- PolymorpheusTemplate,
320
- TuiCalendar,
321
- TuiLink,
322
- TuiPrimitiveTextfieldModule,
323
- TuiValueAccessorModule,
324
- TuiLet,
325
- TuiTextfieldControllerModule,
326
- TuiLegacyDropdownOpenMonitorDirective,
327
- TuiAppearance,
328
- TuiIcon, 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: [TuiInputDateComponent,
329
- TuiInputDateDirective,
330
- 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] }); }
331
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateModule, imports: [CommonModule,
332
- TuiCalendar,
333
- TuiPrimitiveTextfieldModule,
334
- TuiValueAccessorModule,
335
- TuiTextfieldControllerModule,
336
- TuiIcon, i1$1.TuiDropdownComponent] }); }
337
- }
338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputDateModule, decorators: [{
339
- type: NgModule,
340
- args: [{
341
- imports: [
342
- CommonModule,
343
- MaskitoDirective,
344
- PolymorpheusOutlet,
345
- PolymorpheusTemplate,
346
- TuiCalendar,
347
- TuiLink,
348
- TuiPrimitiveTextfieldModule,
349
- TuiValueAccessorModule,
350
- TuiLet,
351
- TuiTextfieldControllerModule,
352
- TuiLegacyDropdownOpenMonitorDirective,
353
- TuiAppearance,
354
- TuiIcon,
355
- ...TuiDropdown,
356
- ],
357
- declarations: [TuiInputDateComponent, TuiInputDateDirective, TuiNativeDateDirective],
358
- exports: [
359
- TuiInputDateComponent,
360
- TuiInputDateDirective,
361
- TuiTextfieldComponent,
362
- ...TuiDropdown,
363
- ],
364
- }]
365
- }] });
366
-
367
- /**
368
- * Generated bundle index. Do not edit.
369
- */
370
-
371
- export { TuiInputDateComponent, TuiInputDateDirective, TuiInputDateModule };
372
- //# sourceMappingURL=taiga-ui-legacy-components-input-date.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input-date.mjs","sources":["../../../projects/legacy/components/input-date/input-date.directive.ts","../../../projects/legacy/components/input-date/native-date/native-date.component.ts","../../../projects/legacy/components/input-date/input-date.component.ts","../../../projects/legacy/components/input-date/input-date.template.html","../../../projects/legacy/components/input-date/input-date.module.ts","../../../projects/legacy/components/input-date/taiga-ui-legacy-components-input-date.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {type TuiDay} from '@taiga-ui/cdk/date-time';\nimport {type TuiDateFormatSettings} from '@taiga-ui/core/tokens';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputDateComponent} from './input-date.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-date:not([multiple])',\n providers: [tuiAsTextfieldHost(TuiInputDateDirective)],\n})\nexport class TuiInputDateDirective extends AbstractTuiTextfieldHost<TuiInputDateComponent> {\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get max(): TuiDay {\n return this.host.computedMax;\n }\n\n public get min(): TuiDay {\n return this.host.computedMin;\n }\n\n public get format(): TuiDateFormatSettings {\n return this.host.dateFormat;\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","import {Directive, inject} from '@angular/core';\nimport {DATE_FILLER_LENGTH, TuiDay} from '@taiga-ui/cdk/date-time';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {TuiInputDateDirective} from '../input-date.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date#mobile TuiInputDate} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'input[tuiDate]',\n providers: [tuiAsTextfieldHost(TuiInputDateDirective)],\n host: {\n type: 'date',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '(change)': 'onChange($event.target.value)',\n '[max]': 'max',\n '[min]': 'min',\n '(click.stop.zoneless)': '0',\n '(input.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeDateDirective {\n protected readonly host = inject(TuiInputDateDirective);\n\n protected get value(): string {\n return this.host.value.length === DATE_FILLER_LENGTH\n ? TuiDay.normalizeParse(this.host.value, this.host.format.mode).toString(\n 'YMD',\n '-',\n )\n : '';\n }\n\n protected get max(): string {\n return this.host.max.toJSON();\n }\n\n protected get min(): string {\n return this.host.min.toJSON();\n }\n\n protected onChange(value: string): void {\n this.host.onValueChange(\n value\n ? TuiDay.normalizeParse(value, 'YMD').toString(this.host.format.mode)\n : '',\n );\n }\n}\n","/* eslint-disable @typescript-eslint/member-ordering */\nimport {\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 {maskitoDateOptionsGenerator} 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 TUI_LAST_DISPLAYED_DAY,\n tuiDateClamp,\n type TuiDateMode,\n TuiDay,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler, type TuiContext} from '@taiga-ui/cdk/types';\nimport {\n changeDateSeparator,\n tuiNullableSame,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {\n TUI_DATE_TEXTS,\n TUI_DATE_VALUE_TRANSFORMER,\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 type TuiNamedDay,\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 {map, type Observable} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-date:not([multiple])',\n templateUrl: './input-date.template.html',\n styleUrls: ['./input-date.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateComponent),\n tuiAsControl(TuiInputDateComponent as any),\n tuiAsLegacyControl(TuiInputDateComponent),\n tuiDateStreamWithTransformer(TUI_DATE_VALUE_TRANSFORMER),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateComponent\n extends AbstractTuiNullableControl<TuiDay>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private month: TuiMonth | null = null;\n private readonly nativeValue = signal('');\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 disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public items: readonly TuiNamedDay[] = [];\n\n @Input()\n public defaultActiveYearMonth = TuiMonth.currentLocal();\n\n public dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected open = false;\n protected readonly dateTexts$ = inject(TUI_DATE_TEXTS);\n protected override readonly valueTransformer = inject(TUI_DATE_VALUE_TRANSFORMER, {\n optional: true,\n });\n\n protected readonly isMobile = inject(TUI_IS_MOBILE);\n protected readonly type!: TuiContext<TuiActiveZone>;\n protected readonly filler$: Observable<string> = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n public get computedMin(): TuiDay {\n return this.min ?? this.options.min;\n }\n\n public get computedMax(): TuiDay {\n return this.max ?? this.options.max;\n }\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 computedValue(): string {\n const {value, nativeValue, activeItem} = this;\n\n if (activeItem) {\n return String(activeItem);\n }\n\n return value\n ? value.toString(this.dateFormat.mode, this.dateFormat.separator)\n : nativeValue();\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.activeItem) {\n this.nativeValue.set('');\n }\n\n this.value =\n value.length !== DATE_FILLER_LENGTH || this.activeItem\n ? null\n : TuiDay.normalizeParse(value, this.dateFormat.mode);\n }\n\n public override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n public override writeValue(value: TuiDay | 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 }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get nativePicker(): boolean {\n return this.options.nativePicker && this.isMobile;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedActiveYearMonth(): TuiMonth {\n const clampedDate = tuiDateClamp(\n this.defaultActiveYearMonth,\n this.computedMin,\n this.computedMax,\n );\n\n if (this.value?.dayAfter(TUI_LAST_DISPLAYED_DAY)) {\n return this.month || clampedDate;\n }\n\n if (this.items[0] && this.value?.daySame(this.items[0].day)) {\n return this.items[0].displayDay;\n }\n\n return this.month || this.value || clampedDate;\n }\n\n protected get computedMask(): MaskitoOptions {\n return this.activeItem\n ? MASKITO_DEFAULT_OPTIONS\n : this.computeMaskOptions(\n this.dateFormat.mode,\n this.dateFormat.separator,\n this.computedMin,\n this.computedMax,\n );\n }\n\n protected get activeItem(): TuiNamedDay | null {\n const {value} = this;\n\n return (value && this.items.find((item) => item.day.daySame(value))) || null;\n }\n\n protected onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.open = !this.open;\n }\n }\n\n protected getComputedFiller(filler: string): string {\n return this.activeItem ? '' : filler;\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.open = true;\n }\n }\n\n protected onDayClick(value: TuiDay): void {\n this.value = value;\n this.open = false;\n }\n\n protected onMonthChange(month: TuiMonth): void {\n this.month = month;\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDay | null,\n newValue: TuiDay | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n @tuiPure\n private computeMaskOptions(\n mode: TuiDateMode,\n separator: string,\n min: TuiDay,\n max: TuiDay,\n ): MaskitoOptions {\n return maskitoDateOptionsGenerator({\n separator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[mode],\n min: min.toLocalNativeDate(),\n max: max.toLocalNativeDate(),\n });\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive && !nativePicker\"\n [tuiDropdownOpen]=\"open\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"filler$ | async as filler\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedFiller(filler || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (focusedChange)=\"onFocused($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n 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 <input\n *ngIf=\"nativePicker\"\n tuiDate\n class=\"t-native-input\"\n />\n </ng-template>\n\n <ng-template\n #dropdown=\"polymorpheus\"\n [polymorpheus]=\"type\"\n >\n <tui-calendar\n automation-id=\"tui-input-date__calendar\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"computedMax\"\n [min]=\"computedMin\"\n [month]=\"computedActiveYearMonth\"\n [value]=\"value\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onMonthChange($event)\"\n (mousedown.prevent.zoneless)=\"(0)\"\n />\n <div\n *ngIf=\"items.length === 1\"\n class=\"t-button\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n <button\n tuiLink\n type=\"button\"\n (click)=\"items[0] && onDayClick(items[0].day)\"\n >\n {{ items[0] }}\n </button>\n </div>\n </ng-template>\n</div>\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 {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\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 {TuiInputDateComponent} from './input-date.component';\nimport {TuiInputDateDirective} from './input-date.directive';\nimport {TuiNativeDateDirective} from './native-date/native-date.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date TuiInputDate} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiCalendar,\n TuiLink,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiLet,\n TuiTextfieldControllerModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiAppearance,\n TuiIcon,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateComponent, TuiInputDateDirective, TuiNativeDateDirective],\n exports: [\n TuiInputDateComponent,\n TuiInputDateDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputDateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i11","i12.TuiNativeDateDirective","i1"],"mappings":"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"}