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

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 (235) hide show
  1. package/components/dialog/dialog.component.d.ts +20 -0
  2. package/components/dialog/dialog.directive.d.ts +7 -0
  3. package/components/dialog/dialog.factory.d.ts +16 -0
  4. package/components/dialog/dialog.interfaces.d.ts +31 -0
  5. package/components/dialog/dialog.service.d.ts +7 -0
  6. package/components/dialog/dialog.tokens.d.ts +8 -0
  7. package/components/dialog/index.d.ts +6 -0
  8. package/components/index.d.ts +2 -16
  9. package/components/input/input.module.d.ts +1 -1
  10. package/components/input-date-range/input-date-range.module.d.ts +8 -9
  11. package/components/input-date-time/input-date-time.component.d.ts +4 -3
  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-group/multi-select-group.component.d.ts +1 -1
  17. package/components/multi-select/multi-select.module.d.ts +9 -10
  18. package/components/pdf-viewer/index.d.ts +4 -0
  19. package/components/pdf-viewer/pdf-viewer.component.d.ts +12 -0
  20. package/components/pdf-viewer/pdf-viewer.directive.d.ts +7 -0
  21. package/components/pdf-viewer/pdf-viewer.options.d.ts +13 -0
  22. package/components/pdf-viewer/pdf-viewer.service.d.ts +13 -0
  23. package/components/select/select.module.d.ts +1 -1
  24. package/fesm2022/taiga-ui-legacy-classes.mjs +21 -21
  25. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +3 -3
  27. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-legacy-components-dialog.mjs +129 -0
  29. package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -0
  30. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +25 -29
  31. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +29 -29
  33. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +12 -12
  35. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +21 -21
  37. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +25 -25
  39. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +18 -19
  41. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +22 -22
  43. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-legacy-components-input.mjs +14 -15
  45. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +7 -7
  47. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +46 -50
  49. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +82 -0
  51. package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -0
  52. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +28 -28
  53. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +8 -8
  55. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-legacy-components-select.mjs +33 -34
  57. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-legacy-components-tag.mjs +13 -14
  59. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +23 -23
  61. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +7 -7
  63. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-legacy-components.mjs +2 -16
  65. package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs +3 -3
  67. package/fesm2022/taiga-ui-legacy-directives-legacy-dropdown-open-monitor.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs +34 -34
  69. package/fesm2022/taiga-ui-legacy-directives-textfield-controller.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +4 -5
  71. package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs +7 -7
  73. package/fesm2022/taiga-ui-legacy-directives-value-accessor.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs +7 -7
  75. package/fesm2022/taiga-ui-legacy-directives-wrapper.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
  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 +19 -95
  83. package/utils/icons-path-factory.d.ts +1 -1
  84. package/utils/index.d.ts +0 -1
  85. package/components/color-selector/color-edit/color-edit.component.d.ts +0 -18
  86. package/components/color-selector/color-edit/color-edit.module.d.ts +0 -21
  87. package/components/color-selector/color-picker/color-picker.component.d.ts +0 -22
  88. package/components/color-selector/color-picker/color-picker.module.d.ts +0 -14
  89. package/components/color-selector/color-selector.component.d.ts +0 -47
  90. package/components/color-selector/color-selector.module.d.ts +0 -24
  91. package/components/color-selector/color-selector.options.d.ts +0 -25
  92. package/components/color-selector/flat-picker/flat-picker.component.d.ts +0 -12
  93. package/components/color-selector/flat-picker/flat-picker.module.d.ts +0 -12
  94. package/components/color-selector/index.d.ts +0 -16
  95. package/components/color-selector/linear-multi-picker/linear-multi-picker.component.d.ts +0 -17
  96. package/components/color-selector/linear-multi-picker/linear-multi-picker.module.d.ts +0 -12
  97. package/components/color-selector/linear-picker/linear-picker.component.d.ts +0 -10
  98. package/components/color-selector/linear-picker/linear-picker.module.d.ts +0 -12
  99. package/components/color-selector/palette/palette.component.d.ts +0 -10
  100. package/components/color-selector/palette/palette.module.d.ts +0 -13
  101. package/components/color-selector/services/picker.service.d.ts +0 -15
  102. package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
  103. package/components/combo-box/combo-box.component.d.ts +0 -52
  104. package/components/combo-box/combo-box.directive.d.ts +0 -13
  105. package/components/combo-box/combo-box.module.d.ts +0 -20
  106. package/components/combo-box/index.d.ts +0 -4
  107. package/components/input-color/index.d.ts +0 -2
  108. package/components/input-color/input-color.component.d.ts +0 -30
  109. package/components/input-color/input-color.module.d.ts +0 -17
  110. package/components/input-copy/index.d.ts +0 -4
  111. package/components/input-copy/input-copy.component.d.ts +0 -33
  112. package/components/input-copy/input-copy.directive.d.ts +0 -11
  113. package/components/input-copy/input-copy.module.d.ts +0 -18
  114. package/components/input-copy/input-copy.options.d.ts +0 -26
  115. package/components/input-date/index.d.ts +0 -3
  116. package/components/input-date/input-date.component.d.ts +0 -62
  117. package/components/input-date/input-date.directive.d.ts +0 -19
  118. package/components/input-date/input-date.module.d.ts +0 -24
  119. package/components/input-date/native-date/native-date.component.d.ts +0 -15
  120. package/components/input-date-multi/index.d.ts +0 -2
  121. package/components/input-date-multi/input-date-multi.component.d.ts +0 -66
  122. package/components/input-date-multi/input-date-multi.module.d.ts +0 -20
  123. package/components/input-month/index.d.ts +0 -3
  124. package/components/input-month/input-month.component.d.ts +0 -44
  125. package/components/input-month/input-month.directive.d.ts +0 -19
  126. package/components/input-month/input-month.module.d.ts +0 -19
  127. package/components/input-password/index.d.ts +0 -4
  128. package/components/input-password/input-password.component.d.ts +0 -33
  129. package/components/input-password/input-password.directive.d.ts +0 -15
  130. package/components/input-password/input-password.module.d.ts +0 -19
  131. package/components/input-password/input-password.options.d.ts +0 -25
  132. package/components/input-phone/index.d.ts +0 -4
  133. package/components/input-phone/input-phone.component.d.ts +0 -49
  134. package/components/input-phone/input-phone.directive.d.ts +0 -13
  135. package/components/input-phone/input-phone.module.d.ts +0 -12
  136. package/components/input-phone/input-phone.options.d.ts +0 -13
  137. package/components/input-phone/utils/complete-phone-insertion-preprocessor.d.ts +0 -9
  138. package/components/input-phone/utils/create-phone-mask-expression.d.ts +0 -7
  139. package/components/input-phone/utils/index.d.ts +0 -2
  140. package/components/input-phone-international/index.d.ts +0 -3
  141. package/components/input-phone-international/input-phone-international.component.d.ts +0 -43
  142. package/components/input-phone-international/input-phone-international.options.d.ts +0 -25
  143. package/components/input-phone-international/utils/extract-value-from-event.d.ts +0 -4
  144. package/components/input-time/index.d.ts +0 -4
  145. package/components/input-time/input-time.component.d.ts +0 -62
  146. package/components/input-time/input-time.directive.d.ts +0 -17
  147. package/components/input-time/input-time.module.d.ts +0 -23
  148. package/components/input-time/input-time.options.d.ts +0 -42
  149. package/components/input-time/native-time/native-time.component.d.ts +0 -12
  150. package/components/input-year/index.d.ts +0 -3
  151. package/components/input-year/input-year.component.d.ts +0 -36
  152. package/components/input-year/input-year.directive.d.ts +0 -14
  153. package/components/input-year/input-year.module.d.ts +0 -18
  154. package/components/island/index.d.ts +0 -1
  155. package/components/island/island.directive.d.ts +0 -20
  156. package/components/sheet/components/sheet/sheet.component.d.ts +0 -31
  157. package/components/sheet/components/sheet/sheet.providers.d.ts +0 -2
  158. package/components/sheet/components/sheet-bar/sheet-bar.component.d.ts +0 -11
  159. package/components/sheet/components/sheet-heading/sheet-heading.component.d.ts +0 -14
  160. package/components/sheet/components/sheets-host/sheets-host.component.d.ts +0 -15
  161. package/components/sheet/directives/sheet-close/sheet-close.directive.d.ts +0 -14
  162. package/components/sheet/directives/sheet-stop/sheet-stop.directive.d.ts +0 -9
  163. package/components/sheet/directives/sheet-top/sheet-top.directive.d.ts +0 -14
  164. package/components/sheet/directives/sheet-wrapper/sheet-wrapper.directive.d.ts +0 -17
  165. package/components/sheet/index.d.ts +0 -14
  166. package/components/sheet/sheet-options.d.ts +0 -27
  167. package/components/sheet/sheet-tokens.d.ts +0 -18
  168. package/components/sheet/sheet.d.ts +0 -21
  169. package/components/sheet/sheet.directive.d.ts +0 -17
  170. package/components/sheet/sheet.module.d.ts +0 -24
  171. package/components/sheet/sheet.service.d.ts +0 -17
  172. package/components/svg/content-processor.d.ts +0 -19
  173. package/components/svg/deprecated-icons.d.ts +0 -5
  174. package/components/svg/index.d.ts +0 -5
  175. package/components/svg/svg-options.d.ts +0 -50
  176. package/components/svg/svg.component.d.ts +0 -50
  177. package/components/svg/svg.service.d.ts +0 -21
  178. package/components/table-bar/index.d.ts +0 -4
  179. package/components/table-bar/table-bar.component.d.ts +0 -17
  180. package/components/table-bar/table-bar.directive.d.ts +0 -11
  181. package/components/table-bar/table-bar.options.d.ts +0 -31
  182. package/components/table-bar/table-bars-host.component.d.ts +0 -10
  183. package/components/table-bar/table-bars.service.d.ts +0 -11
  184. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +0 -730
  185. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -301
  187. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +0 -127
  189. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +0 -197
  191. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +0 -272
  193. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +0 -372
  195. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +0 -231
  197. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +0 -187
  199. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +0 -215
  201. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +0 -358
  203. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +0 -434
  205. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +0 -188
  207. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +0 -1
  208. package/fesm2022/taiga-ui-legacy-components-island.mjs +0 -68
  209. package/fesm2022/taiga-ui-legacy-components-island.mjs.map +0 -1
  210. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +0 -577
  211. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +0 -1
  212. package/fesm2022/taiga-ui-legacy-components-svg.mjs +0 -387
  213. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +0 -1
  214. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +0 -145
  215. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +0 -1
  216. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs +0 -59
  217. package/fesm2022/taiga-ui-legacy-pipes-format-phone.mjs.map +0 -1
  218. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs +0 -50
  219. package/fesm2022/taiga-ui-legacy-pipes-iso-to-country-code.mjs.map +0 -1
  220. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs +0 -80
  221. package/fesm2022/taiga-ui-legacy-pipes-to-country-code.mjs.map +0 -1
  222. package/fesm2022/taiga-ui-legacy-pipes.mjs +0 -8
  223. package/fesm2022/taiga-ui-legacy-pipes.mjs.map +0 -1
  224. package/fesm2022/taiga-ui-legacy-services.mjs +0 -42
  225. package/fesm2022/taiga-ui-legacy-services.mjs.map +0 -1
  226. package/pipes/format-phone/format-phone.pipe.d.ts +0 -37
  227. package/pipes/format-phone/index.d.ts +0 -1
  228. package/pipes/index.d.ts +0 -3
  229. package/pipes/iso-to-country-code/index.d.ts +0 -1
  230. package/pipes/iso-to-country-code/iso-to-country-code.pipe.d.ts +0 -30
  231. package/pipes/to-country-code/index.d.ts +0 -1
  232. package/pipes/to-country-code/to-country-code.pipe.d.ts +0 -38
  233. package/services/index.d.ts +0 -1
  234. package/services/static-request.service.d.ts +0 -11
  235. package/utils/is-apple.d.ts +0 -5
@@ -1,434 +0,0 @@
1
- import { __decorate } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { InjectionToken, Directive, inject, ChangeDetectionStrategy, Component, Input, ViewChild, NgModule } from '@angular/core';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { maskitoTimeOptionsGenerator, maskitoSelectionChangeHandler } from '@maskito/kit';
6
- import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
7
- import { TuiTime } from '@taiga-ui/cdk/date-time';
8
- import { TUI_IS_MOBILE, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
9
- import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
10
- import { tuiProvideOptions, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
11
- import * as i2$1 from '@taiga-ui/core/components/data-list';
12
- import { tuiAsDataListHost, tuiAsOptionContent, TuiDataList } from '@taiga-ui/core/components/data-list';
13
- import * as i1 from '@taiga-ui/core/directives/dropdown';
14
- import { TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
15
- import { TUI_TIME_TEXTS, TUI_TIME_VALUE_TRANSFORMER } from '@taiga-ui/kit/tokens';
16
- import { AbstractTuiTextfieldHost, AbstractTuiNullableControl, tuiAsControl } from '@taiga-ui/legacy/classes';
17
- import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
18
- import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
19
- import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
20
- import * as i5 from '@taiga-ui/legacy/directives';
21
- import { TUI_TEXTFIELD_SIZE, TuiValueAccessorModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
22
- import { tuiAsTextfieldHost, tuiAsFocusableItemAccessor } from '@taiga-ui/legacy/tokens';
23
- import { map, timer } from 'rxjs';
24
- import * as i2 from '@angular/common';
25
- import { CommonModule } from '@angular/common';
26
- import * as i3 from '@maskito/angular';
27
- import { MaskitoDirective } from '@maskito/angular';
28
- import * as i6 from '@taiga-ui/polymorpheus';
29
- import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
30
- import * as i7 from '@taiga-ui/core/components/icon';
31
- import { TuiIcon } from '@taiga-ui/core/components/icon';
32
- import * as i8 from '@taiga-ui/core/directives/appearance';
33
- import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
34
- import { tuiInjectId } from '@taiga-ui/cdk/services';
35
-
36
- /**
37
- * TODO(v5): delete it
38
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead
39
- */
40
- const MAX_TIME_VALUES = {
41
- HH: 23,
42
- MM: 59,
43
- SS: 59,
44
- MS: 999,
45
- };
46
- /**
47
- * TODO(v5): delete it
48
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead
49
- */
50
- const TUI_INPUT_TIME_DEFAULT_OPTIONS = {
51
- icon: () => '@tui.clock',
52
- mode: 'HH:MM',
53
- maxValues: MAX_TIME_VALUES, // TODO(v5): use empty object
54
- itemSize: 'm',
55
- nativePicker: false,
56
- };
57
- /**
58
- * TODO(v5): delete it
59
- * Default parameters for InputTime component
60
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead
61
- */
62
- const TUI_INPUT_TIME_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_TIME_OPTIONS' : '', {
63
- factory: () => TUI_INPUT_TIME_DEFAULT_OPTIONS,
64
- });
65
- /**
66
- * TODO(v5): delete it
67
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead
68
- */
69
- function tuiInputTimeOptionsProvider(options) {
70
- return tuiProvideOptions(TUI_INPUT_TIME_OPTIONS, options, TUI_INPUT_TIME_DEFAULT_OPTIONS);
71
- }
72
-
73
- /**
74
- * TODO(v5): delete it
75
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead
76
- */
77
- class TuiInputTimeDirective extends AbstractTuiTextfieldHost {
78
- get value() {
79
- return this.host.computedValue;
80
- }
81
- get mode() {
82
- return this.host.mode;
83
- }
84
- get items() {
85
- return this.host.items;
86
- }
87
- onValueChange(value) {
88
- if (!value) {
89
- this.host.nativeValue = '';
90
- }
91
- this.host.onValueChange(value);
92
- }
93
- process(input) {
94
- input.inputMode = this.host.inputMode;
95
- }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputTimeDirective, isStandalone: false, selector: "tui-input-time", providers: [tuiAsTextfieldHost(TuiInputTimeDirective)], usesInheritance: true, ngImport: i0 }); }
98
- }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
100
- type: Directive,
101
- args: [{
102
- standalone: false,
103
- selector: 'tui-input-time',
104
- providers: [tuiAsTextfieldHost(TuiInputTimeDirective)],
105
- }]
106
- }] });
107
-
108
- class TuiNativeTimeComponent {
109
- constructor() {
110
- this.host = inject(TuiInputTimeDirective);
111
- this.autoId = tuiInjectId();
112
- }
113
- get items() {
114
- return this.host.items.map((item) => item.toString(this.host.mode));
115
- }
116
- get value() {
117
- return this.host.value.length === this.host.mode.length ? this.host.value : '';
118
- }
119
- get step() {
120
- switch (this.host.mode) {
121
- case 'HH:MM:SS':
122
- return 1;
123
- case 'HH:MM:SS.MSS':
124
- return 0.001;
125
- default:
126
- return 60;
127
- }
128
- }
129
- onChange(value) {
130
- this.host.onValueChange(value);
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiNativeTimeComponent, isStandalone: false, selector: "input[tuiTime]", host: { attributes: { "type": "time" }, listeners: { "change.stop": "onChange($event.target.value)", "click.stop.zoneless": "0", "mousedown.stop.zoneless": "0" }, properties: { "attr.list": "autoId", "tabIndex": "-1", "value": "value", "step": "step" } }, ngImport: i0, template: `
134
- <datalist
135
- *ngIf="items.length"
136
- [id]="autoId"
137
- >
138
- <option
139
- *ngFor="let item of items"
140
- [value]="item"
141
- ></option>
142
- </datalist>
143
- `, isInline: true, styles: [":host{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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
- }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiNativeTimeComponent, decorators: [{
146
- type: Component,
147
- args: [{ standalone: false, selector: 'input[tuiTime]', template: `
148
- <datalist
149
- *ngIf="items.length"
150
- [id]="autoId"
151
- >
152
- <option
153
- *ngFor="let item of items"
154
- [value]="item"
155
- ></option>
156
- </datalist>
157
- `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
158
- type: 'time',
159
- '[attr.list]': 'autoId',
160
- '[tabIndex]': '-1',
161
- '[value]': 'value',
162
- '[step]': 'step',
163
- '(change.stop)': 'onChange($event.target.value)',
164
- '(click.stop.zoneless)': '0',
165
- '(mousedown.stop.zoneless)': '0',
166
- }, styles: [":host{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto;font-size:2rem}\n"] }]
167
- }] });
168
-
169
- /**
170
- * TODO(v5): delete it
171
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead
172
- */
173
- class TuiInputTimeComponent extends AbstractTuiNullableControl {
174
- constructor() {
175
- super(...arguments);
176
- this.timeTexts$ = inject(TUI_TIME_TEXTS);
177
- this.options = inject(TUI_INPUT_TIME_OPTIONS);
178
- this.isMobile = inject(TUI_IS_MOBILE);
179
- this.isIOS = inject(TUI_IS_IOS);
180
- this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
181
- this.valueTransformer = inject(TUI_TIME_VALUE_TRANSFORMER, { optional: true });
182
- this.open = false;
183
- this.disabledItemHandler = TUI_FALSE_HANDLER;
184
- this.items = [];
185
- this.itemsHidden = false;
186
- this.itemSize = this.options.itemSize;
187
- this.strict = false;
188
- this.mode = this.options.mode;
189
- this.identityMatcher = (controlValue, dropdownValue) => controlValue instanceof TuiTime &&
190
- controlValue.valueOf() === dropdownValue.valueOf();
191
- }
192
- get size() {
193
- return this.textfieldSize.size;
194
- }
195
- get inputMode() {
196
- return this.mode.includes('AA') ? 'text' : 'numeric';
197
- }
198
- get nativeFocusableElement() {
199
- return this.textfield?.nativeFocusableElement ?? null;
200
- }
201
- get focused() {
202
- return tuiIsNativeFocused(this.nativeFocusableElement);
203
- }
204
- get computedValue() {
205
- return this.value ? this.value.toString(this.mode) : this.nativeValue;
206
- }
207
- get nativeValue() {
208
- return this.nativeFocusableElement?.value || '';
209
- }
210
- set nativeValue(value) {
211
- if (!this.nativeFocusableElement) {
212
- return;
213
- }
214
- this.nativeFocusableElement.value = value;
215
- }
216
- checkOption(option) {
217
- if (option.valueOf() === this.value?.valueOf()) {
218
- this.value = option;
219
- }
220
- }
221
- handleOption(item) {
222
- this.focusInput();
223
- this.value = item;
224
- }
225
- writeValue(value) {
226
- super.writeValue(value);
227
- this.nativeValue = this.value ? this.computedValue : '';
228
- }
229
- onValueChange(value) {
230
- this.open = !!this.items.length;
231
- this.control?.updateValueAndValidity({ emitEvent: false });
232
- if (value.length !== this.mode.length) {
233
- this.value = null;
234
- return;
235
- }
236
- const time = TuiTime.fromString(value);
237
- this.value = this.strict ? this.findNearestTimeFromItems(time) : time;
238
- }
239
- get canOpen() {
240
- return this.interactive && !!this.filtered.length && !this.itemsHidden;
241
- }
242
- get filtered() {
243
- return this.filter(this.items, this.mode, this.computedSearch);
244
- }
245
- get showNativePicker() {
246
- return (this.nativePicker &&
247
- (!this.isIOS || (this.mode === 'HH:MM' && !this.items.length)));
248
- }
249
- get nativeDatalist() {
250
- return this.nativePicker && !this.isIOS;
251
- }
252
- get maskOptions() {
253
- return this.calculateMask(this.mode, this.readOnly);
254
- }
255
- get computedSearch() {
256
- return this.computedValue.length !== this.mode.length ? this.computedValue : '';
257
- }
258
- get innerPseudoFocused() {
259
- if (this.pseudoFocus === false) {
260
- return false;
261
- }
262
- if ((this.open && this.canOpen) || this.computedFocused) {
263
- return true;
264
- }
265
- return null;
266
- }
267
- get icon() {
268
- return this.options.icon;
269
- }
270
- getFiller$(mode) {
271
- return this.timeTexts$.pipe(map((texts) => texts[mode]));
272
- }
273
- onFocused(focused) {
274
- this.updateFocused(focused);
275
- if (focused || this.value !== null || this.nativeValue === '') {
276
- return;
277
- }
278
- this.value = TuiTime.fromString(this.nativeValue);
279
- timer(0)
280
- .pipe(takeUntilDestroyed(this.destroyRef))
281
- .subscribe(() => {
282
- if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {
283
- this.nativeValue = this.nativeValue.slice(0, -1);
284
- }
285
- });
286
- }
287
- onOpen(open) {
288
- this.open = open;
289
- }
290
- get nativePicker() {
291
- return !!this.options.nativePicker && this.isMobile;
292
- }
293
- calculateMask(mode, readOnly) {
294
- const { HH, MM, SS, MS } = this.options.maxValues;
295
- const options = maskitoTimeOptionsGenerator({
296
- mode,
297
- step: readOnly || this.items.length > 0 ? 0 : 1,
298
- // TODO(v5): timeSegmentMaxValues: this.options.timeSegmentMaxValues
299
- timeSegmentMaxValues: {
300
- hours: mode.includes('AA') ? 12 : HH,
301
- minutes: MM,
302
- seconds: SS,
303
- milliseconds: MS,
304
- },
305
- });
306
- const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {
307
- element.inputMode =
308
- element.selectionStart >= mode.indexOf(' AA') ? 'text' : 'numeric';
309
- });
310
- return {
311
- ...options,
312
- plugins: options.plugins.concat(mode.includes('AA') ? inputModeSwitchPlugin : []),
313
- };
314
- }
315
- filter(items, mode, search) {
316
- return items.filter((item) => item.toString(mode).includes(search));
317
- }
318
- findNearestTimeFromItems(value) {
319
- // eslint-disable-next-line no-restricted-syntax
320
- return this.items.reduce((previous, current) => Math.abs(current.valueOf() - value.valueOf()) <
321
- Math.abs(previous.valueOf() - value.valueOf())
322
- ? current
323
- : previous);
324
- }
325
- focusInput(preventScroll = false) {
326
- if (this.nativeFocusableElement) {
327
- this.nativeFocusableElement.focus({ preventScroll });
328
- this.open = false;
329
- }
330
- }
331
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
332
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputTimeComponent, isStandalone: false, selector: "tui-input-time", inputs: { disabledItemHandler: "disabledItemHandler", items: "items", itemsHidden: "itemsHidden", itemSize: "itemSize", strict: "strict", mode: "mode" }, host: { listeners: { "click": "open = !open" }, properties: { "attr.data-size": "size" } }, providers: [
333
- tuiAsFocusableItemAccessor(TuiInputTimeComponent),
334
- tuiAsControl(TuiInputTimeComponent),
335
- tuiAsDataListHost(TuiInputTimeComponent),
336
- tuiAsOptionContent(TUI_SELECT_OPTION),
337
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownFixed }], ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownEnabled]=\"canOpen && !nativeDatalist\"\n [tuiDropdownOpen]=\"canOpen && open\"\n (tuiActiveZoneChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpen($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(getFiller$(mode) | async) || ''\"\n [tuiTextfieldIcon]=\"icon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n tuiTextfieldLegacy\n [attr.inputmode]=\"inputMode\"\n />\n </tui-primitive-textfield>\n</div>\n<ng-template #dropdownContent>\n <tui-data-list\n automation-id=\"tui-input-time__dropdown\"\n [size]=\"itemSize\"\n >\n <button\n *ngFor=\"let item of filtered\"\n automation-id=\"tui-input-time__item\"\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n />\n <input\n *ngIf=\"showNativePicker\"\n tuiTime\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon_small:before{font-size:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i4.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i4.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "directive", type: i5.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i5.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i5.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i6.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i5.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i7.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i8.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption]:not([new]), a[tuiOption]:not([new]), label[tuiOption]:not([new])", inputs: ["disabled", "value"] }, { kind: "component", type: TuiNativeTimeComponent, selector: "input[tuiTime]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
338
- }
339
- __decorate([
340
- tuiPure
341
- ], TuiInputTimeComponent.prototype, "getFiller$", null);
342
- __decorate([
343
- tuiPure
344
- ], TuiInputTimeComponent.prototype, "calculateMask", null);
345
- __decorate([
346
- tuiPure
347
- ], TuiInputTimeComponent.prototype, "filter", null);
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
349
- type: Component,
350
- args: [{ standalone: false, selector: 'tui-input-time', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
351
- tuiAsFocusableItemAccessor(TuiInputTimeComponent),
352
- tuiAsControl(TuiInputTimeComponent),
353
- tuiAsDataListHost(TuiInputTimeComponent),
354
- tuiAsOptionContent(TUI_SELECT_OPTION),
355
- ], hostDirectives: [TuiDropdownFixed], host: {
356
- '(click)': 'open = !open',
357
- '[attr.data-size]': 'size',
358
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownEnabled]=\"canOpen && !nativeDatalist\"\n [tuiDropdownOpen]=\"canOpen && open\"\n (tuiActiveZoneChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpen($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(getFiller$(mode) | async) || ''\"\n [tuiTextfieldIcon]=\"icon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n tuiTextfieldLegacy\n [attr.inputmode]=\"inputMode\"\n />\n </tui-primitive-textfield>\n</div>\n<ng-template #dropdownContent>\n <tui-data-list\n automation-id=\"tui-input-time__dropdown\"\n [size]=\"itemSize\"\n >\n <button\n *ngFor=\"let item of filtered\"\n automation-id=\"tui-input-time__item\"\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n />\n <input\n *ngIf=\"showNativePicker\"\n tuiTime\n />\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-wrapper{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon_small:before{font-size:1rem}\n"] }]
359
- }], propDecorators: { textfield: [{
360
- type: ViewChild,
361
- args: [TuiPrimitiveTextfieldComponent]
362
- }], disabledItemHandler: [{
363
- type: Input
364
- }], items: [{
365
- type: Input
366
- }], itemsHidden: [{
367
- type: Input
368
- }], itemSize: [{
369
- type: Input
370
- }], strict: [{
371
- type: Input
372
- }], mode: [{
373
- type: Input
374
- }], getFiller$: [], calculateMask: [], filter: [] } });
375
-
376
- /**
377
- * TODO(v5): delete it
378
- * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead
379
- */
380
- class TuiInputTimeModule {
381
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
382
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective], imports: [CommonModule,
383
- MaskitoDirective,
384
- TuiSelectOptionModule,
385
- TuiPrimitiveTextfieldModule,
386
- TuiValueAccessorModule,
387
- TuiTextfieldControllerModule,
388
- PolymorpheusOutlet,
389
- PolymorpheusTemplate,
390
- TuiLegacyDropdownOpenMonitorDirective,
391
- TuiIcon,
392
- TuiAppearance, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptionNew, i2$1.TuiOptionWithValue, i2$1.TuiOptGroup], exports: [TuiInputTimeComponent,
393
- TuiInputTimeDirective, i1.TuiDropdownOptionsDirective, i1.TuiDropdownDriverDirective, i1.TuiDropdownDirective, i1.TuiDropdownComponent, i1.TuiDropdownOpen, i1.TuiDropdownOpenLegacy, i1.TuiDropdownPortal, i1.TuiDropdownManual, i1.TuiDropdownHover, i1.TuiDropdownContext, i1.TuiDropdownPosition, i1.TuiDropdownPositionSided, i1.TuiDropdownSelection, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptionNew, i2$1.TuiOptionWithValue, i2$1.TuiOptGroup] }); }
394
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, imports: [CommonModule,
395
- TuiSelectOptionModule,
396
- TuiPrimitiveTextfieldModule,
397
- TuiValueAccessorModule,
398
- TuiTextfieldControllerModule,
399
- TuiIcon, i1.TuiDropdownComponent, i2$1.TuiDataListComponent, i2$1.TuiOption] }); }
400
- }
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputTimeModule, decorators: [{
402
- type: NgModule,
403
- args: [{
404
- imports: [
405
- CommonModule,
406
- MaskitoDirective,
407
- TuiSelectOptionModule,
408
- TuiPrimitiveTextfieldModule,
409
- TuiValueAccessorModule,
410
- TuiTextfieldControllerModule,
411
- PolymorpheusOutlet,
412
- PolymorpheusTemplate,
413
- TuiLegacyDropdownOpenMonitorDirective,
414
- TuiIcon,
415
- TuiAppearance,
416
- ...TuiDropdown,
417
- ...TuiDataList,
418
- ],
419
- declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective],
420
- exports: [
421
- TuiInputTimeComponent,
422
- TuiInputTimeDirective,
423
- ...TuiDropdown,
424
- ...TuiDataList,
425
- ],
426
- }]
427
- }] });
428
-
429
- /**
430
- * Generated bundle index. Do not edit.
431
- */
432
-
433
- export { MAX_TIME_VALUES, TUI_INPUT_TIME_DEFAULT_OPTIONS, TUI_INPUT_TIME_OPTIONS, TuiInputTimeComponent, TuiInputTimeDirective, TuiInputTimeModule, tuiInputTimeOptionsProvider };
434
- //# sourceMappingURL=taiga-ui-legacy-components-input-time.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input-time.mjs","sources":["../../../projects/legacy/components/input-time/input-time.options.ts","../../../projects/legacy/components/input-time/input-time.directive.ts","../../../projects/legacy/components/input-time/native-time/native-time.component.ts","../../../projects/legacy/components/input-time/input-time.component.ts","../../../projects/legacy/components/input-time/input-time.template.html","../../../projects/legacy/components/input-time/input-time.module.ts","../../../projects/legacy/components/input-time/taiga-ui-legacy-components-input-time.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport interface TuiInputTimeOptions {\n readonly icon: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>>;\n readonly itemSize: TuiSizeL | TuiSizeS;\n // TODO(v5): timeSegmentMaxValues: Partial<MaskitoTimeSegments<number>>\n readonly maxValues: Record<TuiTimeFormatParts, number>;\n readonly mode: TuiTimeMode;\n readonly nativePicker?: boolean;\n}\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport type TuiTimeFormatParts = 'HH' | 'MM' | 'MS' | 'SS';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: () => '@tui.clock',\n mode: 'HH:MM',\n maxValues: MAX_TIME_VALUES, // TODO(v5): use empty object\n itemSize: 'm',\n nativePicker: false,\n};\n\n/**\n * TODO(v5): delete it\n * Default parameters for InputTime component\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport const TUI_INPUT_TIME_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_TIME_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_TIME_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time#options TuiInputTime} (from @taiga-ui/kit) instead\n */\nexport function tuiInputTimeOptionsProvider(\n options: Partial<TuiInputTimeOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_TIME_OPTIONS,\n options,\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n );\n}\n","import {Directive} from '@angular/core';\nimport {type TuiTime, type TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputTimeComponent} from './input-time.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-time',\n providers: [tuiAsTextfieldHost(TuiInputTimeDirective)],\n})\nexport class TuiInputTimeDirective extends AbstractTuiTextfieldHost<TuiInputTimeComponent> {\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public get mode(): TuiTimeMode {\n return this.host.mode;\n }\n\n public get items(): readonly TuiTime[] {\n return this.host.items;\n }\n\n public onValueChange(value: string): void {\n if (!value) {\n this.host.nativeValue = '';\n }\n\n this.host.onValueChange(value);\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = this.host.inputMode;\n }\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\n\nimport {TuiInputTimeDirective} from '../input-time.directive';\n\n@Component({\n standalone: false,\n selector: 'input[tuiTime]',\n template: `\n <datalist\n *ngIf=\"items.length\"\n [id]=\"autoId\"\n >\n <option\n *ngFor=\"let item of items\"\n [value]=\"item\"\n ></option>\n </datalist>\n `,\n styleUrls: ['./native-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n type: 'time',\n '[attr.list]': 'autoId',\n '[tabIndex]': '-1',\n '[value]': 'value',\n '[step]': 'step',\n '(change.stop)': 'onChange($event.target.value)',\n '(click.stop.zoneless)': '0',\n '(mousedown.stop.zoneless)': '0',\n },\n})\nexport class TuiNativeTimeComponent {\n protected readonly host = inject(TuiInputTimeDirective);\n\n protected readonly autoId = tuiInjectId();\n\n protected get items(): string[] {\n return this.host.items.map((item) => item.toString(this.host.mode));\n }\n\n protected get value(): string {\n return this.host.value.length === this.host.mode.length ? this.host.value : '';\n }\n\n protected get step(): number {\n switch (this.host.mode) {\n case 'HH:MM:SS':\n return 1;\n case 'HH:MM:SS.MSS':\n return 0.001;\n default:\n return 60;\n }\n }\n\n protected onChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {maskitoSelectionChangeHandler, maskitoTimeOptionsGenerator} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiTime, type TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_IOS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler, type TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n tuiAsOptionContent,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed} from '@taiga-ui/core/directives/dropdown';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TUI_TIME_TEXTS, TUI_TIME_VALUE_TRANSFORMER} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/legacy/components/select-option';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {map, type Observable, timer} from 'rxjs';\n\nimport {TUI_INPUT_TIME_OPTIONS, type TuiInputTimeOptions} from './input-time.options';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-time',\n templateUrl: './input-time.template.html',\n styleUrls: ['./input-time.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputTimeComponent),\n tuiAsControl(TuiInputTimeComponent),\n tuiAsDataListHost(TuiInputTimeComponent),\n tuiAsOptionContent(TUI_SELECT_OPTION),\n ],\n hostDirectives: [TuiDropdownFixed],\n host: {\n '(click)': 'open = !open',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputTimeComponent\n extends AbstractTuiNullableControl<TuiTime>\n implements TuiFocusableElementAccessor, TuiDataListHost<TuiTime>\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly timeTexts$ = inject(TUI_TIME_TEXTS);\n private readonly options = inject(TUI_INPUT_TIME_OPTIONS);\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly isIOS: boolean = inject(TUI_IS_IOS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n protected override readonly valueTransformer: TuiValueTransformer<TuiTime | null> | null =\n inject(TUI_TIME_VALUE_TRANSFORMER, {optional: true});\n\n protected open = false;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiTime> = TUI_FALSE_HANDLER;\n\n @Input()\n public items: readonly TuiTime[] = [];\n\n @Input()\n public itemsHidden = false;\n\n @Input()\n public itemSize: TuiInputTimeOptions['itemSize'] = this.options.itemSize;\n\n @Input()\n public strict = false;\n\n @Input()\n public mode: TuiInputTimeOptions['mode'] = this.options.mode;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get inputMode(): string {\n return this.mode.includes('AA') ? 'text' : 'numeric';\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n public get computedValue(): string {\n return this.value ? this.value.toString(this.mode) : this.nativeValue;\n }\n\n public get nativeValue(): string {\n return this.nativeFocusableElement?.value || '';\n }\n\n public set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n public readonly identityMatcher: TuiIdentityMatcher<TuiTime> = (\n controlValue: TuiTime,\n dropdownValue: TuiTime,\n ) =>\n controlValue instanceof TuiTime &&\n controlValue.valueOf() === dropdownValue.valueOf();\n\n public checkOption(option: TuiTime): void {\n if (option.valueOf() === this.value?.valueOf()) {\n this.value = option;\n }\n }\n\n public handleOption(item: TuiTime): void {\n this.focusInput();\n this.value = item;\n }\n\n public override writeValue(value: TuiTime | null): void {\n super.writeValue(value);\n this.nativeValue = this.value ? this.computedValue : '';\n }\n\n public onValueChange(value: string): void {\n this.open = !!this.items.length;\n\n this.control?.updateValueAndValidity({emitEvent: false});\n\n if (value.length !== this.mode.length) {\n this.value = null;\n\n return;\n }\n\n const time = TuiTime.fromString(value);\n\n this.value = this.strict ? this.findNearestTimeFromItems(time) : time;\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.filtered.length && !this.itemsHidden;\n }\n\n protected get filtered(): readonly TuiTime[] {\n return this.filter(this.items, this.mode, this.computedSearch);\n }\n\n protected get showNativePicker(): boolean {\n return (\n this.nativePicker &&\n (!this.isIOS || (this.mode === 'HH:MM' && !this.items.length))\n );\n }\n\n protected get nativeDatalist(): boolean {\n return this.nativePicker && !this.isIOS;\n }\n\n protected get maskOptions(): MaskitoOptions {\n return this.calculateMask(this.mode, this.readOnly);\n }\n\n protected get computedSearch(): string {\n return this.computedValue.length !== this.mode.length ? 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.canOpen) || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n protected get icon(): TuiInputTimeOptions['icon'] {\n return this.options.icon;\n }\n\n @tuiPure\n protected getFiller$(mode: TuiTimeMode): Observable<string> {\n return this.timeTexts$.pipe(map((texts) => texts[mode]));\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n\n if (focused || this.value !== null || this.nativeValue === '') {\n return;\n }\n\n this.value = TuiTime.fromString(this.nativeValue);\n\n timer(0)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.nativeValue.endsWith('.') || this.nativeValue.endsWith(':')) {\n this.nativeValue = this.nativeValue.slice(0, -1);\n }\n });\n }\n\n protected onOpen(open: boolean): void {\n this.open = open;\n }\n\n private get nativePicker(): boolean {\n return !!this.options.nativePicker && this.isMobile;\n }\n\n @tuiPure\n private calculateMask(mode: TuiTimeMode, readOnly: boolean): MaskitoOptions {\n const {HH, MM, SS, MS} = this.options.maxValues;\n\n const options = maskitoTimeOptionsGenerator({\n mode,\n step: readOnly || this.items.length > 0 ? 0 : 1,\n // TODO(v5): timeSegmentMaxValues: this.options.timeSegmentMaxValues\n timeSegmentMaxValues: {\n hours: mode.includes('AA') ? 12 : HH,\n minutes: MM,\n seconds: SS,\n milliseconds: MS,\n },\n });\n const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {\n element.inputMode =\n element.selectionStart! >= mode.indexOf(' AA') ? 'text' : 'numeric';\n });\n\n return {\n ...options,\n plugins: options.plugins.concat(\n mode.includes('AA') ? inputModeSwitchPlugin : [],\n ),\n };\n }\n\n @tuiPure\n private filter(\n items: readonly TuiTime[],\n mode: TuiTimeMode,\n search: string,\n ): readonly TuiTime[] {\n return items.filter((item) => item.toString(mode).includes(search));\n }\n\n private findNearestTimeFromItems(value: TuiTime): TuiTime | null {\n // eslint-disable-next-line no-restricted-syntax\n return this.items.reduce((previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n );\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n this.open = false;\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-wrapper\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownEnabled]=\"canOpen && !nativeDatalist\"\n [tuiDropdownOpen]=\"canOpen && open\"\n (tuiActiveZoneChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpen($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"maskOptions\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"(getFiller$(mode) | async) || ''\"\n [tuiTextfieldIcon]=\"icon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n tuiTextfieldLegacy\n [attr.inputmode]=\"inputMode\"\n />\n </tui-primitive-textfield>\n</div>\n<ng-template #dropdownContent>\n <tui-data-list\n automation-id=\"tui-input-time__dropdown\"\n [size]=\"itemSize\"\n >\n <button\n *ngFor=\"let item of filtered\"\n automation-id=\"tui-input-time__item\"\n tuiOption\n type=\"button\"\n [disabled]=\"disabledItemHandler(item)\"\n [value]=\"item\"\n >\n {{ item }}\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [icon]=\"src.toString()\"\n />\n <input\n *ngIf=\"showNativePicker\"\n tuiTime\n />\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiDataList} from '@taiga-ui/core/components/data-list';\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 {TuiPrimitiveTextfieldModule} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiSelectOptionModule} from '@taiga-ui/legacy/components/select-option';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\nimport {TuiNativeTimeComponent} from './native-time/native-time.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-time TuiInputTime} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiSelectOptionModule,\n TuiPrimitiveTextfieldModule,\n TuiValueAccessorModule,\n TuiTextfieldControllerModule,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ...TuiDataList,\n ],\n declarations: [TuiInputTimeComponent, TuiNativeTimeComponent, TuiInputTimeDirective],\n exports: [\n TuiInputTimeComponent,\n TuiInputTimeDirective,\n ...TuiDropdown,\n ...TuiDataList,\n ],\n})\nexport class TuiInputTimeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i9","i10.TuiNativeTimeComponent","i2"],"mappings":"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"}