@taiga-ui/legacy 4.9.0 → 4.11.0

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 (136) hide show
  1. package/classes/control.d.ts +1 -1
  2. package/components/combo-box/combo-box.component.d.ts +2 -1
  3. package/components/input-phone/input-phone.component.d.ts +2 -1
  4. package/components/input-phone-international/input-phone-international.component.d.ts +2 -1
  5. package/components/input-tag/input-tag.component.d.ts +2 -1
  6. package/components/input-time/input-time.component.d.ts +2 -1
  7. package/components/multi-select/multi-select.component.d.ts +6 -1
  8. package/components/select/select.component.d.ts +2 -1
  9. package/esm2022/classes/control.mjs +5 -5
  10. package/esm2022/components/arrow/arrow.component.mjs +3 -4
  11. package/esm2022/components/color-selector/color-edit/color-edit.component.mjs +3 -5
  12. package/esm2022/components/color-selector/color-picker/color-picker.component.mjs +3 -5
  13. package/esm2022/components/color-selector/color-selector.component.mjs +3 -5
  14. package/esm2022/components/color-selector/flat-picker/flat-picker.component.mjs +3 -5
  15. package/esm2022/components/color-selector/linear-multi-picker/linear-multi-picker.component.mjs +2 -3
  16. package/esm2022/components/color-selector/linear-picker/linear-picker.component.mjs +3 -5
  17. package/esm2022/components/color-selector/palette/palette.component.mjs +3 -5
  18. package/esm2022/components/combo-box/combo-box.component.mjs +11 -13
  19. package/esm2022/components/input/input.component.mjs +6 -8
  20. package/esm2022/components/input-color/input-color.component.mjs +3 -4
  21. package/esm2022/components/input-copy/input-copy.component.mjs +4 -5
  22. package/esm2022/components/input-date/input-date.component.mjs +4 -5
  23. package/esm2022/components/input-date-multi/input-date-multi.component.mjs +4 -5
  24. package/esm2022/components/input-date-range/input-date-range.component.mjs +4 -5
  25. package/esm2022/components/input-date-time/input-date-time.component.mjs +4 -5
  26. package/esm2022/components/input-date-time/input-date-time.directive.mjs +2 -2
  27. package/esm2022/components/input-month/input-month.component.mjs +4 -5
  28. package/esm2022/components/input-month-range/input-month-range.component.mjs +4 -5
  29. package/esm2022/components/input-number/input-number.component.mjs +4 -5
  30. package/esm2022/components/input-password/input-password.component.mjs +4 -5
  31. package/esm2022/components/input-phone/input-phone.component.mjs +10 -12
  32. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +11 -12
  33. package/esm2022/components/input-range/input-range.component.mjs +4 -5
  34. package/esm2022/components/input-slider/input-slider.component.mjs +4 -5
  35. package/esm2022/components/input-tag/input-tag.component.mjs +22 -20
  36. package/esm2022/components/input-time/input-time.component.mjs +14 -15
  37. package/esm2022/components/input-time/native-time/native-time.component.mjs +2 -3
  38. package/esm2022/components/input-year/input-year.component.mjs +4 -5
  39. package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +2 -3
  40. package/esm2022/components/multi-select/multi-select.component.mjs +42 -15
  41. package/esm2022/components/multi-select/native-multi-select/native-multi-select-group.component.mjs +2 -3
  42. package/esm2022/components/multi-select/native-multi-select/native-multi-select.component.mjs +2 -3
  43. package/esm2022/components/multi-select-option/multi-select-option.component.mjs +3 -5
  44. package/esm2022/components/primitive-textfield/primitive-textfield.component.mjs +4 -5
  45. package/esm2022/components/primitive-textfield/textfield/textfield.component.mjs +2 -3
  46. package/esm2022/components/primitive-textfield/value-decoration/value-decoration.component.mjs +2 -3
  47. package/esm2022/components/select/native-select/native-select-group.component.mjs +2 -3
  48. package/esm2022/components/select/native-select/native-select.component.mjs +2 -3
  49. package/esm2022/components/select/select.component.mjs +11 -13
  50. package/esm2022/components/select-option/select-option.component.mjs +3 -5
  51. package/esm2022/components/sheet/components/sheet/sheet.component.mjs +2 -3
  52. package/esm2022/components/sheet/components/sheet-bar/sheet-bar.component.mjs +3 -5
  53. package/esm2022/components/sheet/components/sheet-heading/sheet-heading.component.mjs +3 -5
  54. package/esm2022/components/sheet/components/sheets-host/sheets-host.component.mjs +3 -5
  55. package/esm2022/components/svg/svg.component.mjs +3 -5
  56. package/esm2022/components/table-bar/table-bar.component.mjs +2 -3
  57. package/esm2022/components/table-bar/table-bars-host.component.mjs +3 -5
  58. package/esm2022/components/tag/tag.component.mjs +4 -5
  59. package/esm2022/components/textarea/textarea.component.mjs +4 -5
  60. package/esm2022/components/tooltip/tooltip.component.mjs +3 -4
  61. package/esm2022/tokens/is-apple.mjs +3 -3
  62. package/esm2022/utils/is-apple.mjs +3 -6
  63. package/fesm2022/taiga-ui-legacy-classes.mjs +4 -4
  64. package/fesm2022/taiga-ui-legacy-classes.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-legacy-components-arrow.mjs +2 -3
  66. package/fesm2022/taiga-ui-legacy-components-arrow.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs +13 -26
  68. package/fesm2022/taiga-ui-legacy-components-color-selector.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +13 -15
  70. package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-legacy-components-input-color.mjs +2 -3
  72. package/fesm2022/taiga-ui-legacy-components-input-color.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs +3 -4
  74. package/fesm2022/taiga-ui-legacy-components-input-copy.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs +3 -4
  76. package/fesm2022/taiga-ui-legacy-components-input-date-multi.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +3 -4
  78. package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +4 -5
  80. package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
  81. package/fesm2022/taiga-ui-legacy-components-input-date.mjs +3 -4
  82. package/fesm2022/taiga-ui-legacy-components-input-date.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs +3 -4
  84. package/fesm2022/taiga-ui-legacy-components-input-month-range.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-legacy-components-input-month.mjs +3 -4
  86. package/fesm2022/taiga-ui-legacy-components-input-month.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-legacy-components-input-number.mjs +3 -4
  88. package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-legacy-components-input-password.mjs +3 -4
  90. package/fesm2022/taiga-ui-legacy-components-input-password.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs +10 -11
  92. package/fesm2022/taiga-ui-legacy-components-input-phone-international.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs +12 -14
  94. package/fesm2022/taiga-ui-legacy-components-input-phone.mjs.map +1 -1
  95. package/fesm2022/taiga-ui-legacy-components-input-range.mjs +3 -4
  96. package/fesm2022/taiga-ui-legacy-components-input-range.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs +3 -4
  98. package/fesm2022/taiga-ui-legacy-components-input-slider.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs +23 -21
  100. package/fesm2022/taiga-ui-legacy-components-input-tag.mjs.map +1 -1
  101. package/fesm2022/taiga-ui-legacy-components-input-time.mjs +18 -21
  102. package/fesm2022/taiga-ui-legacy-components-input-time.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-legacy-components-input-year.mjs +3 -4
  104. package/fesm2022/taiga-ui-legacy-components-input-year.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-legacy-components-input.mjs +5 -7
  106. package/fesm2022/taiga-ui-legacy-components-input.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs +2 -4
  108. package/fesm2022/taiga-ui-legacy-components-multi-select-option.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +51 -27
  110. package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs +5 -8
  112. package/fesm2022/taiga-ui-legacy-components-primitive-textfield.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-legacy-components-select-option.mjs +2 -4
  114. package/fesm2022/taiga-ui-legacy-components-select-option.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-legacy-components-select.mjs +10 -14
  116. package/fesm2022/taiga-ui-legacy-components-select.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-legacy-components-sheet.mjs +7 -14
  118. package/fesm2022/taiga-ui-legacy-components-sheet.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-legacy-components-svg.mjs +2 -4
  120. package/fesm2022/taiga-ui-legacy-components-svg.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs +3 -6
  122. package/fesm2022/taiga-ui-legacy-components-table-bar.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-legacy-components-tag.mjs +3 -4
  124. package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-legacy-components-textarea.mjs +3 -4
  126. package/fesm2022/taiga-ui-legacy-components-textarea.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs +2 -3
  128. package/fesm2022/taiga-ui-legacy-components-tooltip.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-legacy-tokens.mjs +2 -2
  130. package/fesm2022/taiga-ui-legacy-tokens.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-legacy-utils.mjs +2 -5
  132. package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
  133. package/package.json +25 -25
  134. package/styles/mixins/textfield.less +5 -1
  135. package/utils/icons-path-factory.d.ts +1 -1
  136. package/utils/is-apple.d.ts +2 -1
@@ -11,28 +11,27 @@ import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
11
11
  import { tuiCreateToken, tuiProvideOptions, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
12
12
  import * as i2$1 from '@taiga-ui/core/components/data-list';
13
13
  import { tuiAsDataListHost, tuiAsOptionContent, TuiDataList } from '@taiga-ui/core/components/data-list';
14
+ import * as i1 from '@taiga-ui/core/directives/dropdown';
15
+ import { TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
14
16
  import { TUI_TIME_TEXTS, TUI_TIME_VALUE_TRANSFORMER } from '@taiga-ui/kit/tokens';
15
17
  import { AbstractTuiNullableControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
16
- import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
18
+ import * as i4 from '@taiga-ui/legacy/components/primitive-textfield';
17
19
  import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
18
20
  import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/legacy/components/select-option';
19
- import * as i4 from '@taiga-ui/legacy/directives';
21
+ import * as i5 from '@taiga-ui/legacy/directives';
20
22
  import { TUI_TEXTFIELD_SIZE, TuiValueAccessorModule, TuiTextfieldControllerModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
21
23
  import { TUI_TEXTFIELD_HOST, tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
22
- import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/legacy/utils';
23
24
  import { map, timer } from 'rxjs';
24
- import * as i1 from '@angular/common';
25
+ import * as i2 from '@angular/common';
25
26
  import { CommonModule } from '@angular/common';
26
- import * as i2 from '@maskito/angular';
27
+ import * as i3 from '@maskito/angular';
27
28
  import { MaskitoDirective } from '@maskito/angular';
28
- import * as i5 from '@taiga-ui/polymorpheus';
29
+ import * as i6 from '@taiga-ui/polymorpheus';
29
30
  import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
30
- import * as i6 from '@taiga-ui/core/components/icon';
31
+ import * as i7 from '@taiga-ui/core/components/icon';
31
32
  import { TuiIcon } from '@taiga-ui/core/components/icon';
32
- import * as i7 from '@taiga-ui/core/directives/appearance';
33
+ import * as i8 from '@taiga-ui/core/directives/appearance';
33
34
  import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
34
- import * as i1$1 from '@taiga-ui/core/directives/dropdown';
35
- import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
36
35
  import { tuiInjectId } from '@taiga-ui/cdk/services';
37
36
 
38
37
  const MAX_TIME_VALUES = {
@@ -81,7 +80,7 @@ class TuiNativeTimeComponent {
81
80
  this.host.onValueChange(value);
82
81
  }
83
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeTimeComponent, selector: "input[tuiTime]", host: { attributes: { "ngSkipHydration": "true", "type": "time" }, listeners: { "change.stop": "onChange($event.target.value)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.list": "autoId", "tabIndex": "-1", "value": "value", "step": "step" } }, ngImport: i0, template: `
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiNativeTimeComponent, selector: "input[tuiTime]", host: { attributes: { "type": "time" }, listeners: { "change.stop": "onChange($event.target.value)", "click.stop.silent": "0", "mousedown.stop.silent": "0" }, properties: { "attr.list": "autoId", "tabIndex": "-1", "value": "value", "step": "step" } }, ngImport: i0, template: `
85
84
  <datalist
86
85
  *ngIf="items.length"
87
86
  [id]="autoId"
@@ -91,7 +90,7 @@ class TuiNativeTimeComponent {
91
90
  value="{{ item }}"
92
91
  ></option>
93
92
  </datalist>
94
- `, 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: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
+ `, 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 }); }
95
94
  }
96
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiNativeTimeComponent, decorators: [{
97
96
  type: Component,
@@ -106,7 +105,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
106
105
  ></option>
107
106
  </datalist>
108
107
  `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
109
- ngSkipHydration: 'true',
110
108
  type: 'time',
111
109
  '[attr.list]': 'autoId',
112
110
  '[tabIndex]': '-1',
@@ -322,12 +320,12 @@ class TuiInputTimeComponent extends AbstractTuiNullableControl {
322
320
  }
323
321
  }
324
322
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
325
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeComponent, selector: "tui-input-time", inputs: { disabledItemHandler: "disabledItemHandler", items: "items", itemSize: "itemSize", strict: "strict", mode: "mode" }, host: { attributes: { "ngSkipHydration": "true" }, listeners: { "click": "onClick()" }, properties: { "attr.data-size": "size" } }, providers: [
323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputTimeComponent, selector: "tui-input-time", inputs: { disabledItemHandler: "disabledItemHandler", items: "items", itemSize: "itemSize", strict: "strict", mode: "mode" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.data-size": "size" } }, providers: [
326
324
  tuiAsFocusableItemAccessor(TuiInputTimeComponent),
327
325
  tuiAsControl(TuiInputTimeComponent),
328
326
  tuiAsDataListHost(TuiInputTimeComponent),
329
327
  tuiAsOptionContent(TUI_SELECT_OPTION),
330
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, 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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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{pointer-events:none}.t-wrapper{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon_small{border:.25rem solid transparent}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "component", type: i3.TuiTextfieldComponent, selector: "input[tuiTextfieldLegacy], textarea[tuiTextfieldLegacy]" }, { kind: "directive", type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i4.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "directive", type: i5.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i4.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i2$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i2$1.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "component", type: TuiNativeTimeComponent, selector: "input[tuiTime]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
328
+ ], 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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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{border-width:.25rem}\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], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "component", type: TuiNativeTimeComponent, selector: "input[tuiTime]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
331
329
  }
332
330
  __decorate([
333
331
  tuiPure
@@ -345,11 +343,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
345
343
  tuiAsControl(TuiInputTimeComponent),
346
344
  tuiAsDataListHost(TuiInputTimeComponent),
347
345
  tuiAsOptionContent(TUI_SELECT_OPTION),
348
- ], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], host: {
349
- ngSkipHydration: 'true',
346
+ ], hostDirectives: [TuiDropdownFixed], host: {
350
347
  '(click)': 'onClick()',
351
348
  '[attr.data-size]': 'size',
352
- }, 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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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{pointer-events:none}.t-wrapper{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon_small{border:.25rem solid transparent}\n"] }]
349
+ }, 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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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{border-width:.25rem}\n"] }]
353
350
  }], propDecorators: { textfield: [{
354
351
  type: ViewChild,
355
352
  args: [TuiPrimitiveTextfieldComponent]
@@ -408,14 +405,14 @@ class TuiInputTimeModule {
408
405
  PolymorpheusTemplate,
409
406
  TuiLegacyDropdownOpenMonitorDirective,
410
407
  TuiIcon,
411
- TuiAppearance, i1$1.TuiDropdownOptionsDirective, i1$1.TuiDropdownDriverDirective, i1$1.TuiDropdownDirective, i1$1.TuiDropdownComponent, i1$1.TuiDropdownOpen, i1$1.TuiDropdownOpenLegacy, i1$1.TuiDropdownPortal, i1$1.TuiDropdownManual, i1$1.TuiDropdownHover, i1$1.TuiDropdownContext, i1$1.TuiDropdownPosition, i1$1.TuiDropdownPositionSided, i1$1.TuiDropdownSelection, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptGroup], exports: [TuiInputTimeComponent,
412
- TuiInputTimeDirective, 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, i2$1.TuiDataListComponent, i2$1.TuiDataListDirective, i2$1.TuiOption, i2$1.TuiOptGroup] }); }
408
+ 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.TuiOptGroup], exports: [TuiInputTimeComponent,
409
+ 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.TuiOptGroup] }); }
413
410
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeModule, imports: [CommonModule,
414
411
  TuiSelectOptionModule,
415
412
  TuiPrimitiveTextfieldModule,
416
413
  TuiValueAccessorModule,
417
414
  TuiTextfieldControllerModule,
418
- TuiIcon, i1$1.TuiDropdownComponent, i2$1.TuiDataListComponent, i2$1.TuiOption] }); }
415
+ TuiIcon, i1.TuiDropdownComponent, i2$1.TuiDataListComponent, i2$1.TuiOption] }); }
419
416
  }
420
417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputTimeModule, decorators: [{
421
418
  type: NgModule,
@@ -1 +1 @@
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/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.directive.ts","../../../projects/legacy/components/input-time/input-time.module.ts","../../../projects/legacy/components/input-time/taiga-ui-legacy-components-input-time.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiInputTimeOptions {\n readonly icon: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>>;\n readonly itemSize: TuiSizeL | TuiSizeS;\n readonly maxValues: Record<TuiTimeFormatParts, number>;\n readonly mode: TuiTimeMode;\n readonly nativePicker?: boolean;\n}\n\nexport type TuiTimeFormatParts = 'HH' | 'MM' | 'MS' | 'SS';\n\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: () => '@tui.clock',\n mode: 'HH:MM',\n maxValues: MAX_TIME_VALUES,\n itemSize: 'm',\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputTime component\n */\nexport const TUI_INPUT_TIME_OPTIONS = tuiCreateToken(TUI_INPUT_TIME_DEFAULT_OPTIONS);\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 {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/legacy/tokens';\n\nimport type {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 ngSkipHydration: 'true',\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.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeTimeComponent {\n protected readonly host = inject<TuiInputTimeDirective>(TUI_TEXTFIELD_HOST);\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 {maskitoTimeOptionsGenerator} from '@maskito/kit';\nimport type {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER, TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport type {TuiTimeLike, TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_IOS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiBooleanHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost, tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport type {TuiSizeL, 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 type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/legacy/utils';\nimport type {Observable} from 'rxjs';\nimport {map, timer} from 'rxjs';\n\nimport type {TuiInputTimeOptions} from './input-time.options';\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\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 viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n host: {\n ngSkipHydration: 'true',\n '(click)': 'onClick()',\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 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 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 = value ? this.computedValue : '';\n }\n\n public onValueChange(value: string): void {\n this.open = !!this.items.length;\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n const match = this.getMatch(value);\n\n if (match !== undefined) {\n this.value = match;\n\n return;\n }\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;\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);\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 onClick(): void {\n this.open = !this.open;\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 onArrowUp(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, 1);\n }\n\n protected onArrowDown(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, -1);\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): MaskitoOptions {\n const {HH, MM, SS, MS} = this.options.maxValues;\n\n return maskitoTimeOptionsGenerator({\n mode,\n timeSegmentMaxValues: {\n hours: HH,\n minutes: MM,\n seconds: SS,\n milliseconds: MS,\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 getMatch(value: string): TuiTime | undefined {\n return this.items.find((item) => TUI_STRICT_MATCHER(item, value));\n }\n\n private close(): void {\n this.open = false;\n }\n\n private processArrow(event: Event, shift: -1 | 1): void {\n const {target} = event;\n\n if (this.readOnly || !tuiIsElement(target) || !tuiIsInput(target)) {\n return;\n }\n\n const selectionStart = target.selectionStart || 0;\n\n this.shiftTime(this.calculateShift(selectionStart, shift));\n\n target.setSelectionRange(selectionStart, selectionStart);\n event.preventDefault();\n }\n\n private calculateShift(selectionStart: number, shift: number): TuiTimeLike {\n if (selectionStart <= 2) {\n return {hours: shift};\n }\n\n if (selectionStart <= 5) {\n return {minutes: shift};\n }\n\n if (selectionStart <= 8) {\n return {seconds: shift};\n }\n\n return {ms: shift};\n }\n\n private shiftTime(shift: TuiTimeLike): void {\n if (this.value === null) {\n return;\n }\n\n const increasedTime = this.value.shift(shift);\n\n // Manual update so we can set caret position properly\n this.nativeValue = increasedTime.toString(this.mode);\n this.value = increasedTime;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n this.close();\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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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 {Directive} from '@angular/core';\nimport type {TuiTime, 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@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 = 'numeric';\n }\n}\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@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":["i8","i9","i10.TuiNativeTimeComponent","i1","i2"],"mappings":"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"}
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/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.directive.ts","../../../projects/legacy/components/input-time/input-time.module.ts","../../../projects/legacy/components/input-time/taiga-ui-legacy-components-input-time.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiInputTimeOptions {\n readonly icon: PolymorpheusContent<TuiContext<TuiSizeL | TuiSizeS>>;\n readonly itemSize: TuiSizeL | TuiSizeS;\n readonly maxValues: Record<TuiTimeFormatParts, number>;\n readonly mode: TuiTimeMode;\n readonly nativePicker?: boolean;\n}\n\nexport type TuiTimeFormatParts = 'HH' | 'MM' | 'MS' | 'SS';\n\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: () => '@tui.clock',\n mode: 'HH:MM',\n maxValues: MAX_TIME_VALUES,\n itemSize: 'm',\n nativePicker: false,\n};\n\n/**\n * Default parameters for InputTime component\n */\nexport const TUI_INPUT_TIME_OPTIONS = tuiCreateToken(TUI_INPUT_TIME_DEFAULT_OPTIONS);\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 {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {tuiInjectId} from '@taiga-ui/cdk/services';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/legacy/tokens';\n\nimport type {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.silent)': '0',\n '(mousedown.stop.silent)': '0',\n },\n})\nexport class TuiNativeTimeComponent {\n protected readonly host = inject<TuiInputTimeDirective>(TUI_TEXTFIELD_HOST);\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 {maskitoTimeOptionsGenerator} from '@maskito/kit';\nimport type {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER, TUI_STRICT_MATCHER} from '@taiga-ui/cdk/constants';\nimport type {TuiTimeLike, TuiTimeMode} from '@taiga-ui/cdk/date-time';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {TUI_IS_IOS, TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport type {TuiBooleanHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\nimport {tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {tuiAsDataListHost, tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL, 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 type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {Observable} from 'rxjs';\nimport {map, timer} from 'rxjs';\n\nimport type {TuiInputTimeOptions} from './input-time.options';\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\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)': 'onClick()',\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 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 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 = value ? this.computedValue : '';\n }\n\n public onValueChange(value: string): void {\n this.open = !!this.items.length;\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n const match = this.getMatch(value);\n\n if (match !== undefined) {\n this.value = match;\n\n return;\n }\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;\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);\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 onClick(): void {\n this.open = !this.open;\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 onArrowUp(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, 1);\n }\n\n protected onArrowDown(event: Event): void {\n if (this.items.length) {\n return;\n }\n\n this.processArrow(event, -1);\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): MaskitoOptions {\n const {HH, MM, SS, MS} = this.options.maxValues;\n\n return maskitoTimeOptionsGenerator({\n mode,\n timeSegmentMaxValues: {\n hours: HH,\n minutes: MM,\n seconds: SS,\n milliseconds: MS,\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 getMatch(value: string): TuiTime | undefined {\n return this.items.find((item) => TUI_STRICT_MATCHER(item, value));\n }\n\n private close(): void {\n this.open = false;\n }\n\n private processArrow(event: Event, shift: -1 | 1): void {\n const {target} = event;\n\n if (this.readOnly || !tuiIsElement(target) || !tuiIsInput(target)) {\n return;\n }\n\n const selectionStart = target.selectionStart || 0;\n\n this.shiftTime(this.calculateShift(selectionStart, shift));\n\n target.setSelectionRange(selectionStart, selectionStart);\n event.preventDefault();\n }\n\n private calculateShift(selectionStart: number, shift: number): TuiTimeLike {\n if (selectionStart <= 2) {\n return {hours: shift};\n }\n\n if (selectionStart <= 5) {\n return {minutes: shift};\n }\n\n if (selectionStart <= 8) {\n return {seconds: shift};\n }\n\n return {ms: shift};\n }\n\n private shiftTime(shift: TuiTimeLike): void {\n if (this.value === null) {\n return;\n }\n\n const increasedTime = this.value.shift(shift);\n\n // Manual update so we can set caret position properly\n this.nativeValue = increasedTime.toString(this.mode);\n this.value = increasedTime;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n this.close();\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]=\"iconContent\"\n [value]=\"computedValue\"\n (keydown.arrowDown)=\"onArrowDown($event)\"\n (keydown.arrowUp)=\"onArrowUp($event)\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <input\n inputmode=\"numeric\"\n tuiTextfieldLegacy\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 {Directive} from '@angular/core';\nimport type {TuiTime, 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@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 = 'numeric';\n }\n}\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@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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"}
@@ -81,10 +81,10 @@ class TuiInputYearComponent extends AbstractTuiNullableControl {
81
81
  this.nativeValue = value?.toString() || '';
82
82
  }
83
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputYearComponent, selector: "tui-input-year", inputs: { min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.data-size": "size" } }, providers: [
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputYearComponent, selector: "tui-input-year", inputs: { min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, host: { properties: { "attr.data-size": "size" } }, providers: [
85
85
  tuiAsFocusableItemAccessor(TuiInputYearComponent),
86
86
  tuiAsControl(TuiInputYearComponent),
87
- ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}.t-container{inline-size:15.75rem;padding:1rem 1.125rem}.t-scrollbar{max-block-size:18.25rem;inline-size:16.875rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "component", type: i4.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i5.TuiCalendarYear, selector: "tui-calendar-year", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { kind: "directive", type: i6.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
+ ], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-container{inline-size:15.75rem;padding:1rem 1.125rem}.t-scrollbar{max-block-size:18.25rem;inline-size:16.875rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "component", type: i4.TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i5.TuiCalendarYear, selector: "tui-calendar-year", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { kind: "directive", type: i6.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
88
  }
89
89
  __decorate([
90
90
  tuiPure
@@ -95,9 +95,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
95
  tuiAsFocusableItemAccessor(TuiInputYearComponent),
96
96
  tuiAsControl(TuiInputYearComponent),
97
97
  ], host: {
98
- ngSkipHydration: 'true',
99
98
  '[attr.data-size]': 'size',
100
- }, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}.t-container{inline-size:15.75rem;padding:1rem 1.125rem}.t-scrollbar{max-block-size:18.25rem;inline-size:16.875rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
99
+ }, template: "<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host :host-context(*:disabled){pointer-events:none}.t-container{inline-size:15.75rem;padding:1rem 1.125rem}.t-scrollbar{max-block-size:18.25rem;inline-size:16.875rem}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
101
100
  }], propDecorators: { textfield: [{
102
101
  type: ViewChild,
103
102
  args: [TuiPrimitiveTextfieldComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input-year.mjs","sources":["../../../projects/legacy/components/input-year/input-year.component.ts","../../../projects/legacy/components/input-year/input-year.template.html","../../../projects/legacy/components/input-year/input-year.directive.ts","../../../projects/legacy/components/input-year/input-year.module.ts","../../../projects/legacy/components/input-year/taiga-ui-legacy-components-input-year.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoNumberOptionsGenerator} from '@maskito/kit';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {MAX_YEAR, MIN_YEAR} from '@taiga-ui/cdk/date-time';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiInputDateOptions} from '@taiga-ui/kit/tokens';\nimport {TUI_INPUT_DATE_OPTIONS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\n\nconst UP_TO_4_DIGITS_REG = /^\\d{0,4}$/;\n\n@Component({\n standalone: false,\n selector: 'tui-input-year',\n templateUrl: './input-year.template.html',\n styleUrls: ['./input-year.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputYearComponent),\n tuiAsControl(TuiInputYearComponent),\n ],\n host: {\n ngSkipHydration: 'true',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputYearComponent\n extends AbstractTuiNullableControl<number>\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\n protected open = false;\n protected readonly initialItem = new Date().getFullYear();\n\n @Input()\n public min: number | null = this.options.min.year;\n\n @Input()\n public max: number | null = this.options.max.year;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<number> = TUI_FALSE_HANDLER;\n\n public nativeValue = '';\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 onValueChange(value: string): void {\n this.value = value ? Number(value) : null;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.updateNativeValue(value);\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n @tuiPure\n protected getMaskOptions(min: number | null, max: number | null): MaskitoOptions {\n return {\n ...maskitoNumberOptionsGenerator({\n min: min ?? MIN_YEAR,\n max: max ?? MAX_YEAR,\n thousandSeparator: '',\n }),\n mask: UP_TO_4_DIGITS_REG,\n };\n }\n\n protected onYearClick(year: number): void {\n this.value = year;\n this.updateNativeValue(year);\n this.onOpenChange(false);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected toggle(): void {\n this.open = !this.open;\n }\n\n private updateNativeValue(value: number | null): void {\n this.nativeValue = value?.toString() || '';\n }\n}\n","<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiInputYearComponent} from './input-year.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-input-year',\n providers: [tuiAsTextfieldHost(TuiInputYearDirective)],\n})\nexport class TuiInputYearDirective extends AbstractTuiTextfieldHost<TuiInputYearComponent> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n this.host.nativeValue = value;\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiDropdown, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputYearComponent} from './input-year.component';\nimport {TuiInputYearDirective} from './input-year.directive';\n\n@NgModule({\n imports: [\n MaskitoDirective,\n TuiDropdownOpen,\n TuiPrimitiveTextfieldModule,\n TuiScrollbar,\n TuiCalendarYear,\n TuiTextfieldControllerModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputYearComponent, TuiInputYearDirective],\n exports: [\n TuiInputYearComponent,\n TuiInputYearDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputYearModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-input-year.mjs","sources":["../../../projects/legacy/components/input-year/input-year.component.ts","../../../projects/legacy/components/input-year/input-year.template.html","../../../projects/legacy/components/input-year/input-year.directive.ts","../../../projects/legacy/components/input-year/input-year.module.ts","../../../projects/legacy/components/input-year/taiga-ui-legacy-components-input-year.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoNumberOptionsGenerator} from '@maskito/kit';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {MAX_YEAR, MIN_YEAR} from '@taiga-ui/cdk/date-time';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiPure} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport type {TuiInputDateOptions} from '@taiga-ui/kit/tokens';\nimport {TUI_INPUT_DATE_OPTIONS} from '@taiga-ui/kit/tokens';\nimport {AbstractTuiNullableControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\n\nconst UP_TO_4_DIGITS_REG = /^\\d{0,4}$/;\n\n@Component({\n standalone: false,\n selector: 'tui-input-year',\n templateUrl: './input-year.template.html',\n styleUrls: ['./input-year.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputYearComponent),\n tuiAsControl(TuiInputYearComponent),\n ],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputYearComponent\n extends AbstractTuiNullableControl<number>\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\n protected open = false;\n protected readonly initialItem = new Date().getFullYear();\n\n @Input()\n public min: number | null = this.options.min.year;\n\n @Input()\n public max: number | null = this.options.max.year;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<number> = TUI_FALSE_HANDLER;\n\n public nativeValue = '';\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 onValueChange(value: string): void {\n this.value = value ? Number(value) : null;\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(value);\n this.updateNativeValue(value);\n }\n\n protected get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n @tuiPure\n protected getMaskOptions(min: number | null, max: number | null): MaskitoOptions {\n return {\n ...maskitoNumberOptionsGenerator({\n min: min ?? MIN_YEAR,\n max: max ?? MAX_YEAR,\n thousandSeparator: '',\n }),\n mask: UP_TO_4_DIGITS_REG,\n };\n }\n\n protected onYearClick(year: number): void {\n this.value = year;\n this.updateNativeValue(year);\n this.onOpenChange(false);\n }\n\n protected onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected toggle(): void {\n this.open = !this.open;\n }\n\n private updateNativeValue(value: number | null): void {\n this.nativeValue = value?.toString() || '';\n }\n}\n","<tui-primitive-textfield\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"getMaskOptions(min, max)\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n [tuiTextfieldIcon]=\"calendarIcon\"\n [(value)]=\"nativeValue\"\n (click)=\"toggle()\"\n (focusedChange)=\"onFocused($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($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 #dropdown>\n <div class=\"t-container\">\n <tui-scrollbar class=\"t-scrollbar\">\n <tui-calendar-year\n [disabledItemHandler]=\"disabledItemHandler\"\n [initialItem]=\"value || initialItem\"\n [max]=\"max\"\n [min]=\"min\"\n [value]=\"value === null ? null : value\"\n (mousedown.prevent.silent)=\"(0)\"\n (yearClick)=\"onYearClick($event)\"\n />\n </tui-scrollbar>\n </div>\n</ng-template>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiInputYearComponent} from './input-year.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-input-year',\n providers: [tuiAsTextfieldHost(TuiInputYearDirective)],\n})\nexport class TuiInputYearDirective extends AbstractTuiTextfieldHost<TuiInputYearComponent> {\n public override get value(): string {\n return this.host.nativeValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n this.host.nativeValue = value;\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiCalendarYear} from '@taiga-ui/core/components/calendar';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TuiDropdown, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputYearComponent} from './input-year.component';\nimport {TuiInputYearDirective} from './input-year.directive';\n\n@NgModule({\n imports: [\n MaskitoDirective,\n TuiDropdownOpen,\n TuiPrimitiveTextfieldModule,\n TuiScrollbar,\n TuiCalendarYear,\n TuiTextfieldControllerModule,\n ...TuiDropdown,\n ],\n declarations: [TuiInputYearComponent, TuiInputYearDirective],\n exports: [\n TuiInputYearComponent,\n TuiInputYearDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputYearModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
@@ -3,14 +3,13 @@ import { inject, TemplateRef, Component, ChangeDetectionStrategy, ViewChild, Con
3
3
  import { tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
4
4
  import { tuiAsDataListHost, TuiDataListDirective } from '@taiga-ui/core/components/data-list';
5
5
  import * as i1$1 from '@taiga-ui/core/directives/dropdown';
6
- import { TuiDropdownOpen, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
6
+ import { TuiDropdownOpen, TuiDropdownFixed, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
7
7
  import { AbstractTuiControl, tuiAsControl, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
8
8
  import * as i1 from '@taiga-ui/legacy/components/primitive-textfield';
9
9
  import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, TuiTextfieldComponent } from '@taiga-ui/legacy/components/primitive-textfield';
10
10
  import * as i3 from '@taiga-ui/legacy/directives';
11
11
  import { TUI_TEXTFIELD_SIZE, TUI_VALUE_ACCESSOR_PROVIDER, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
12
12
  import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
13
- import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/legacy/utils';
14
13
  import { CommonModule } from '@angular/common';
15
14
 
16
15
  class TuiInputComponent extends AbstractTuiControl {
@@ -61,12 +60,12 @@ class TuiInputComponent extends AbstractTuiControl {
61
60
  }
62
61
  }
63
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputComponent, selector: "tui-input", host: { attributes: { "ngSkipHydration": "true" }, properties: { "attr.data-size": "size" } }, providers: [
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputComponent, selector: "tui-input", host: { properties: { "attr.data-size": "size" } }, providers: [
65
64
  TUI_VALUE_ACCESSOR_PROVIDER,
66
65
  tuiAsFocusableItemAccessor(TuiInputComponent),
67
66
  tuiAsDataListHost(TuiInputComponent),
68
67
  tuiAsControl(TuiInputComponent),
69
- ], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "component", type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { 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: i3.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
+ ], queries: [{ propertyName: "datalist", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: TuiDropdownOpen, descendants: true }, { propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"], dependencies: [{ kind: "component", type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { 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: i3.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }], viewProviders: [TuiDropdownFixed], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
70
69
  }
71
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputComponent, decorators: [{
72
71
  type: Component,
@@ -75,10 +74,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
75
74
  tuiAsFocusableItemAccessor(TuiInputComponent),
76
75
  tuiAsDataListHost(TuiInputComponent),
77
76
  tuiAsControl(TuiInputComponent),
78
- ], viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER], host: {
79
- ngSkipHydration: 'true',
77
+ ], viewProviders: [TuiDropdownFixed], host: {
80
78
  '[attr.data-size]': 'size',
81
- }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled{pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
79
+ }, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}\n"] }]
82
80
  }], propDecorators: { dropdown: [{
83
81
  type: ViewChild,
84
82
  args: [TuiDropdownOpen]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-legacy-components-input.mjs","sources":["../../../projects/legacy/components/input/input.component.ts","../../../projects/legacy/components/input/input.template.html","../../../projects/legacy/components/input/input.directive.ts","../../../projects/legacy/components/input/input.module.ts","../../../projects/legacy/components/input/taiga-ui-legacy-components-input.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TUI_VALUE_ACCESSOR_PROVIDER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/legacy/utils';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: false,\n selector: 'tui-input',\n templateUrl: './input.template.html',\n styleUrls: ['./input.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputComponent),\n tuiAsDataListHost(TuiInputComponent),\n tuiAsControl(TuiInputComponent),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n host: {\n ngSkipHydration: 'true',\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public handleOption(item: unknown): void {\n this.setNativeValue(String(item));\n this.focusInput();\n this.value = String(item);\n this.open = false;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this.open = true;\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiInputComponent} from './input.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-input',\n providers: [tuiAsTextfieldHost(TuiInputDirective)],\n})\nexport class TuiInputDirective extends AbstractTuiTextfieldHost<TuiInputComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiLegacyDropdownOpenMonitorDirective} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputComponent} from './input.component';\nimport {TuiInputDirective} from './input.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveTextfieldModule,\n ...TuiDropdown,\n TuiLegacyDropdownOpenMonitorDirective,\n ],\n declarations: [TuiInputComponent, TuiInputDirective],\n exports: [\n TuiInputComponent,\n TuiInputDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-legacy-components-input.mjs","sources":["../../../projects/legacy/components/input/input.component.ts","../../../projects/legacy/components/input/input.template.html","../../../projects/legacy/components/input/input.directive.ts","../../../projects/legacy/components/input/input.module.ts","../../../projects/legacy/components/input/taiga-ui-legacy-components-input.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport type {TuiDataListHost} from '@taiga-ui/core/components/data-list';\nimport {\n tuiAsDataListHost,\n TuiDataListDirective,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiDropdownFixed, TuiDropdownOpen} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {AbstractTuiControl, tuiAsControl} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TUI_TEXTFIELD_SIZE,\n TUI_VALUE_ACCESSOR_PROVIDER,\n} from '@taiga-ui/legacy/directives';\nimport type {TuiFocusableElementAccessor} from '@taiga-ui/legacy/tokens';\nimport {tuiAsFocusableItemAccessor} from '@taiga-ui/legacy/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\n@Component({\n standalone: false,\n selector: 'tui-input',\n templateUrl: './input.template.html',\n styleUrls: ['./input.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TUI_VALUE_ACCESSOR_PROVIDER,\n tuiAsFocusableItemAccessor(TuiInputComponent),\n tuiAsDataListHost(TuiInputComponent),\n tuiAsControl(TuiInputComponent),\n ],\n viewProviders: [TuiDropdownFixed],\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiInputComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiDropdownOpen)\n private readonly dropdown?: TuiDropdownOpen;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n protected readonly datalist: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n public open = false;\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled || !this.textfield\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n public get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n !!this.dropdown?.tuiDropdownOpen\n );\n }\n\n public handleOption(item: unknown): void {\n this.setNativeValue(String(item));\n this.focusInput();\n this.value = String(item);\n this.open = false;\n }\n\n public onValueChange(value: string): void {\n this.value = value;\n this.open = true;\n }\n\n protected get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n protected onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private setNativeValue(value: string): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"datalist || ''\"\n [tuiDropdownEnabled]=\"canOpen\"\n [(tuiDropdownOpen)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n automation-id=\"tui-input__textfield\"\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"computedFocusable\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n </tui-primitive-textfield>\n</div>\n","import {Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport type {TuiInputComponent} from './input.component';\n\n@Directive({\n standalone: false,\n selector: 'tui-input',\n providers: [tuiAsTextfieldHost(TuiInputDirective)],\n})\nexport class TuiInputDirective extends AbstractTuiTextfieldHost<TuiInputComponent> {\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TuiLegacyDropdownOpenMonitorDirective} from '@taiga-ui/legacy/directives';\n\nimport {TuiInputComponent} from './input.component';\nimport {TuiInputDirective} from './input.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveTextfieldModule,\n ...TuiDropdown,\n TuiLegacyDropdownOpenMonitorDirective,\n ],\n declarations: [TuiInputComponent, TuiInputDirective],\n exports: [\n TuiInputComponent,\n TuiInputDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}