@taiga-ui/kit 5.9.0 → 5.10.0-canary.9984aef

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 (172) hide show
  1. package/components/input-color/index.d.ts +1 -0
  2. package/components/input-color/input-color-content.component.d.ts +11 -0
  3. package/components/input-color/input-color.component.d.ts +4 -7
  4. package/components/input-color/input-color.d.ts +2 -1
  5. package/components/input-date/index.d.ts +1 -0
  6. package/components/input-date/input-date-content.component.d.ts +13 -0
  7. package/components/input-date/input-date.component.d.ts +1 -4
  8. package/components/input-date-time/index.d.ts +1 -0
  9. package/components/input-date-time/input-date-time-content.component.d.ts +14 -0
  10. package/components/input-date-time/input-date-time.component.d.ts +1 -8
  11. package/components/input-date-time/input-date-time.directive.d.ts +1 -2
  12. package/components/input-month/index.d.ts +1 -0
  13. package/components/input-month/input-month-content.component.d.ts +14 -0
  14. package/components/input-month/input-month.component.d.ts +4 -8
  15. package/components/input-phone-international/index.d.ts +1 -0
  16. package/components/input-phone-international/input-phone-international-content.component.d.ts +21 -0
  17. package/components/input-phone-international/input-phone-international.component.d.ts +10 -20
  18. package/components/input-phone-international/input-phone-international.d.ts +2 -1
  19. package/components/input-pin/index.d.ts +1 -0
  20. package/components/input-pin/input-pin-content.component.d.ts +10 -0
  21. package/components/input-pin/input-pin.component.d.ts +6 -5
  22. package/components/input-time/index.d.ts +1 -0
  23. package/components/input-time/input-time-content.component.d.ts +12 -0
  24. package/components/input-time/input-time.component.d.ts +5 -11
  25. package/components/segmented/segmented.directive.d.ts +2 -1
  26. package/directives/button-group/button-group.directive.d.ts +1 -0
  27. package/directives/present/present.directive.d.ts +1 -0
  28. package/fesm2022/taiga-ui-kit-components-accordion.mjs +7 -7
  29. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +3 -3
  31. package/fesm2022/taiga-ui-kit-components-avatar.mjs +23 -23
  32. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -4
  34. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-badge.mjs +7 -7
  36. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +6 -6
  38. package/fesm2022/taiga-ui-kit-components-block.mjs +7 -7
  39. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +5 -5
  41. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  43. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +3 -3
  44. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +3 -3
  45. package/fesm2022/taiga-ui-kit-components-chip.mjs +7 -7
  46. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -3
  48. package/fesm2022/taiga-ui-kit-components-comment.mjs +7 -7
  49. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-compass.mjs +4 -4
  51. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-confirm.mjs +6 -6
  53. package/fesm2022/taiga-ui-kit-components-copy.mjs +11 -11
  54. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-counter.mjs +3 -3
  56. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +6 -6
  57. package/fesm2022/taiga-ui-kit-components-drawer.mjs +3 -3
  58. package/fesm2022/taiga-ui-kit-components-files.mjs +25 -25
  59. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-filter.mjs +3 -3
  61. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
  62. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +6 -6
  63. package/fesm2022/taiga-ui-kit-components-input-color.mjs +60 -31
  64. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +5 -5
  66. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +5 -5
  68. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +70 -36
  70. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-input-date.mjs +65 -19
  72. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +4 -4
  74. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +3 -3
  76. package/fesm2022/taiga-ui-kit-components-input-month.mjs +62 -17
  77. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-input-number.mjs +45 -42
  79. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +99 -68
  81. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +3 -3
  83. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +48 -22
  84. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-kit-components-input-range.mjs +4 -4
  86. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +7 -7
  88. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-kit-components-input-time.mjs +68 -43
  90. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-kit-components-input-year.mjs +5 -5
  92. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +12 -12
  94. package/fesm2022/taiga-ui-kit-components-like.mjs +5 -5
  95. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +9 -9
  97. package/fesm2022/taiga-ui-kit-components-message.mjs +7 -7
  98. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +12 -12
  100. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +9 -9
  101. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  102. package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
  103. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  104. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-pincode.mjs +13 -7
  106. package/fesm2022/taiga-ui-kit-components-pincode.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-preview.mjs +26 -26
  108. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-progress.mjs +27 -27
  110. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  112. package/fesm2022/taiga-ui-kit-components-push.mjs +12 -12
  113. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +4 -4
  114. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-range.mjs +6 -6
  116. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -3
  117. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  118. package/fesm2022/taiga-ui-kit-components-segmented.mjs +13 -14
  119. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-components-select.mjs +9 -9
  121. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +7 -7
  122. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-status.mjs +7 -7
  124. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-stepper.mjs +6 -6
  126. package/fesm2022/taiga-ui-kit-components-switch.mjs +4 -4
  127. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-components-tabs.mjs +19 -19
  129. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-components-textarea.mjs +12 -12
  131. package/fesm2022/taiga-ui-kit-components-tiles.mjs +14 -14
  132. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-timeline.mjs +6 -6
  134. package/fesm2022/taiga-ui-kit-components-toast.mjs +16 -16
  135. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
  137. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +3 -3
  138. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +11 -9
  139. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  141. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +7 -7
  142. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -7
  144. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  145. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
  146. package/fesm2022/taiga-ui-kit-directives-fade.mjs +7 -7
  147. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  149. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
  150. package/fesm2022/taiga-ui-kit-directives-password.mjs +4 -3
  151. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-kit-directives-present.mjs +7 -5
  153. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +7 -7
  155. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +7 -7
  157. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +7 -7
  159. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +10 -12
  161. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
  163. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
  164. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
  165. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  166. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -3
  167. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +3 -3
  168. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
  169. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
  170. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  171. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  172. package/package.json +21 -21
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, computed, effect, untracked, Directive, input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { tuiDirectiveBinding, tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
4
4
  import * as i1$1 from '@taiga-ui/core/components/textfield';
5
- import { TuiTextfieldComponent, tuiInjectAuxiliary, TuiWithNativePicker, TuiTextfieldContent, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
5
+ import { TuiTextfieldComponent, tuiInjectAuxiliary, TuiWithNativePicker, tuiAsTextfieldContent, TuiTextfieldContent, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
6
6
  import { TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
7
7
  import { TUI_DATE_TEXTS } from '@taiga-ui/kit/tokens';
8
8
  import { identity } from 'rxjs';
@@ -14,7 +14,7 @@ import { TUI_VERSION } from '@taiga-ui/cdk/constants';
14
14
  import { TUI_LAST_DAY, TUI_FIRST_DAY, TuiDay, DATE_FILLER_LENGTH } from '@taiga-ui/cdk/date-time';
15
15
  import * as i4 from '@maskito/angular';
16
16
  import { MaskitoDirective } from '@maskito/angular';
17
- import { maskitoDateOptionsGenerator } from '@maskito/kit';
17
+ import { maskitoDate } from '@maskito/kit';
18
18
  import { WA_IS_MOBILE } from '@ng-web-apis/platform';
19
19
  import { TUI_IDENTITY_VALUE_TRANSFORMER, TuiControl, tuiAsControl, tuiValueTransformerFrom } from '@taiga-ui/cdk/classes';
20
20
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
@@ -91,7 +91,7 @@ class TuiInputDateBase extends TuiControl {
91
91
  const changed = untracked(() => value !== this.value());
92
92
  if (changed || reset) {
93
93
  super.writeValue(value);
94
- this.input.value.set(this.stringify(this.value()));
94
+ untracked(() => this.input.value.set(this.stringify(this.value())));
95
95
  }
96
96
  }
97
97
  setDate(value) {
@@ -121,10 +121,10 @@ class TuiInputDateBase extends TuiControl {
121
121
  : // https://github.com/microsoft/TypeScript/issues/17002
122
122
  value;
123
123
  }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
125
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: TuiInputDateBase, isStandalone: true, host: { listeners: { "click.capture.stop": "onClick()", "input": "onValueChange($event.target.value)" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
125
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.23", type: TuiInputDateBase, isStandalone: true, host: { listeners: { "click.capture.stop": "onClick()", "input": "onValueChange($event.target.value)" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateBase, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateBase, decorators: [{
128
128
  type: Directive,
129
129
  args: [{
130
130
  host: {
@@ -144,7 +144,7 @@ class TuiInputDateDirective extends TuiInputDateBase {
144
144
  this.min = input(this.options.min, {
145
145
  transform: (min) => min instanceof TuiDay ? min : TUI_FIRST_DAY,
146
146
  });
147
- this.mask = tuiMaskito(computed(() => maskitoDateOptionsGenerator({
147
+ this.mask = tuiMaskito(computed(() => maskitoDate({
148
148
  separator: this.format().separator,
149
149
  mode: this.format().mode,
150
150
  min: this.min().toLocalNativeDate(),
@@ -157,14 +157,14 @@ class TuiInputDateDirective extends TuiInputDateBase {
157
157
  ? TuiDay.normalizeParse(value, this.format().mode)
158
158
  : null);
159
159
  }
160
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
161
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
161
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.23", type: TuiInputDateDirective, isStandalone: true, selector: "input[tuiInputDate]", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
162
162
  tuiAsOptionContent(TuiSelectOption),
163
163
  tuiAsControl(TuiInputDateDirective),
164
164
  tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS),
165
165
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateDirective, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateDirective, decorators: [{
168
168
  type: Directive,
169
169
  args: [{
170
170
  selector: 'input[tuiInputDate]',
@@ -182,10 +182,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
182
182
  }]
183
183
  }] });
184
184
 
185
- class TuiInputDateComponent {
185
+ class TuiInputDateContent {
186
186
  constructor() {
187
+ this.component = inject(TuiInputDateComponent);
187
188
  this.host = inject(TuiInputDateDirective);
188
- this.list = input();
189
+ this.max = computed(() => this.host.max().toJSON());
190
+ this.min = computed(() => this.host.min().toJSON());
191
+ this.value = computed(() => this.host.value()?.toJSON());
189
192
  }
190
193
  onInput(value) {
191
194
  if (!value) {
@@ -194,16 +197,59 @@ class TuiInputDateComponent {
194
197
  const [year = 0, month = 0, day = 0] = value.split('-').map(Number);
195
198
  this.host.onChange(new TuiDay(year, month - 1, day));
196
199
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiInputDateComponent, isStandalone: true, selector: "input[tuiInputDate][type=\"date\"]", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.9.0", "ngSkipHydration": "true" }, properties: { "attr.list": "null" } }, hostDirectives: [{ directive: i1$1.TuiWithNativePicker }], ngImport: i0, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"date\"\n [attr.list]=\"list()\"\n [max]=\"host.max().toJSON()\"\n [min]=\"host.min().toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=date]{position:absolute;inset-block-start:0;inset-inline-start:auto;inset-inline-end:0;inset-block-end:0;inline-size:2.5rem;padding:0;opacity:0;pointer-events:auto}tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
201
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiInputDateContent, isStandalone: true, selector: "tui-input-date-content", host: { attributes: { "data-tui-version": "5.10.0-canary.9984aef" } }, ngImport: i0, template: `
202
+ @if (host.native) {
203
+ <input
204
+ type="date"
205
+ [attr.list]="component.list()"
206
+ [max]="max()"
207
+ [min]="min()"
208
+ [value]="value()"
209
+ (click.stop.zoneless)="(0)"
210
+ (input)="onInput($any($event.target).value)"
211
+ (pointerdown.stop.zoneless)="(0)"
212
+ />
213
+ }
214
+ `, isInline: true, styles: ["tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=date]{position:absolute;inset-block-start:0;inset-inline-start:auto;inset-inline-end:0;inset-block-end:0;inline-size:2.5rem;padding:0;opacity:0;pointer-events:auto}tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
199
215
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputDateComponent, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateContent, decorators: [{
201
217
  type: Component,
202
- args: [{ selector: 'input[tuiInputDate][type="date"]', imports: [TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: {
218
+ args: [{ selector: 'tui-input-date-content', template: `
219
+ @if (host.native) {
220
+ <input
221
+ type="date"
222
+ [attr.list]="component.list()"
223
+ [max]="max()"
224
+ [min]="min()"
225
+ [value]="value()"
226
+ (click.stop.zoneless)="(0)"
227
+ (input)="onInput($any($event.target).value)"
228
+ (pointerdown.stop.zoneless)="(0)"
229
+ />
230
+ }
231
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, styles: ["tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=date]{position:absolute;inset-block-start:0;inset-inline-start:auto;inset-inline-end:0;inset-block-end:0;inline-size:2.5rem;padding:0;opacity:0;pointer-events:auto}tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
232
+ }] });
233
+
234
+ // TODO(v6): rename to TuiInputDateNative
235
+ class TuiInputDateComponent {
236
+ constructor() {
237
+ this.list = input();
238
+ }
239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
240
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.23", type: TuiInputDateComponent, isStandalone: true, selector: "input[tuiInputDate][type=\"date\"]", inputs: { list: { classPropertyName: "list", publicName: "list", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.10.0-canary.9984aef" }, properties: { "attr.list": "null" } }, providers: [tuiAsTextfieldContent(() => TuiInputDateContent)], hostDirectives: [{ directive: i1$1.TuiWithNativePicker }, { directive: i1$1.TuiTextfieldContent }], ngImport: i0 }); }
241
+ }
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputDateComponent, decorators: [{
243
+ type: Directive,
244
+ args: [{
245
+ selector: 'input[tuiInputDate][type="date"]',
246
+ providers: [tuiAsTextfieldContent(() => TuiInputDateContent)],
247
+ hostDirectives: [TuiWithNativePicker, TuiTextfieldContent],
248
+ host: {
203
249
  'data-tui-version': TUI_VERSION,
204
- ngSkipHydration: 'true',
205
250
  '[attr.list]': 'null',
206
- }, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"date\"\n [attr.list]=\"list()\"\n [max]=\"host.max().toJSON()\"\n [min]=\"host.min().toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=date]{position:absolute;inset-block-start:0;inset-inline-start:auto;inset-inline-end:0;inset-block-end:0;inline-size:2.5rem;padding:0;opacity:0;pointer-events:auto}tui-textfield input[tuiInputDate]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
251
+ },
252
+ }]
207
253
  }] });
208
254
 
209
255
  const TuiInputDate = [
@@ -220,5 +266,5 @@ const TuiInputDate = [
220
266
  * Generated bundle index. Do not edit.
221
267
  */
222
268
 
223
- export { TUI_INPUT_DATE_DEFAULT_OPTIONS, TUI_INPUT_DATE_OPTIONS, TuiInputDate, TuiInputDateBase, TuiInputDateComponent, TuiInputDateDirective, tuiInputDateOptionsProvider, tuiWithDateFiller };
269
+ export { TUI_INPUT_DATE_DEFAULT_OPTIONS, TUI_INPUT_DATE_OPTIONS, TuiInputDate, TuiInputDateBase, TuiInputDateComponent, TuiInputDateContent, TuiInputDateDirective, tuiInputDateOptionsProvider, tuiWithDateFiller };
224
270
  //# sourceMappingURL=taiga-ui-kit-components-input-date.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-date.mjs","sources":["../../../projects/kit/components/input-date/date-filler.ts","../../../projects/kit/components/input-date/input-date.options.ts","../../../projects/kit/components/input-date/input-date.directive.ts","../../../projects/kit/components/input-date/input-date.component.ts","../../../projects/kit/components/input-date/input-date.template.html","../../../projects/kit/components/input-date/input-date.ts","../../../projects/kit/components/input-date/taiga-ui-kit-components-input-date.ts"],"sourcesContent":["import {computed, inject, type Signal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TUI_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {TUI_DATE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {identity} from 'rxjs';\n\nfunction changeDateSeparator(dateString: string, newDateSeparator: string): string {\n return dateString.replaceAll(/[^0-9A-ZА-Я]/gi, newDateSeparator);\n}\n\nexport function tuiWithDateFiller(\n fn: (dateFiller: string) => string = identity,\n): Signal<string> {\n const texts = inject(TUI_DATE_TEXTS);\n const format = inject(TUI_DATE_FORMAT);\n\n return tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'filler',\n computed(() => {\n const {mode, separator} = format();\n const fillersMap = texts() ?? '';\n const filler = fillersMap && changeDateSeparator(fillersMap[mode], separator);\n\n return fn(filler);\n }),\n {},\n );\n}\n","import {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, type TuiDay} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputDateOptions {\n readonly icon: string;\n readonly max: TuiDay;\n readonly min: TuiDay;\n readonly valueTransformer: TuiValueTransformer<TuiDay | null, any>;\n}\n\nexport const TUI_INPUT_DATE_DEFAULT_OPTIONS = {\n icon: '@tui.calendar',\n min: TUI_FIRST_DAY,\n max: TUI_LAST_DAY,\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n} as const;\n\nexport const [TUI_INPUT_DATE_OPTIONS, tuiInputDateOptionsProvider] =\n tuiCreateOptions<TuiInputDateOptions>(TUI_INPUT_DATE_DEFAULT_OPTIONS);\n","import {\n computed,\n Directive,\n effect,\n inject,\n input,\n type Signal,\n untracked,\n} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {\n DATE_FILLER_LENGTH,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayRange,\n type TuiTime,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiInjectAuxiliary,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n type TuiItemsHandlers,\n TuiItemsHandlersDirective,\n TuiItemsHandlersValidator,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {tuiWithDateFiller} from './date-filler';\nimport {TUI_INPUT_DATE_OPTIONS, type TuiInputDateOptions} from './input-date.options';\n\n@Directive({\n host: {\n '[attr.inputmode]': 'mobile && open() ? \"none\" : \"numeric\"',\n '[disabled]': 'disabled()',\n '(click.capture.stop)': 'onClick()',\n '(input)': 'onValueChange($event.target.value)',\n },\n})\nexport abstract class TuiInputDateBase<\n T extends TuiDay | TuiDayRange | readonly [TuiDay, TuiTime | null],\n> extends TuiControl<T | null> {\n public abstract readonly max: Signal<TuiDay>;\n public abstract readonly min: Signal<TuiDay>;\n\n private readonly calendar = tuiInjectAuxiliary<TuiCalendar | TuiCalendarRange>(\n (x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange,\n );\n\n protected readonly options =\n inject<Omit<TuiInputDateOptions, 'valueTransformer'>>(TUI_INPUT_DATE_OPTIONS);\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly input = inject(TuiInputDirective);\n protected readonly filler = tuiWithDateFiller();\n protected readonly mobile = inject(WA_IS_MOBILE);\n protected readonly open = inject(TuiDropdownOpen).open;\n protected readonly icon = tuiIconEnd(this.options.icon);\n protected readonly handlers = inject<TuiItemsHandlers<T>>(TuiItemsHandlersDirective);\n protected readonly format = inject(TUI_DATE_FORMAT);\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly identity = tuiDirectiveBinding(\n TuiItemsHandlersDirective,\n 'identityMatcher',\n (a: TuiDay, b: TuiDay) => a.daySame(b),\n {},\n );\n\n protected readonly valueEffect = effect(() => {\n const value =\n this.stringify(this.value()) ||\n (this.filler().length === this.el.value.length ? '' : this.el.value);\n\n this.input.value.set(value);\n });\n\n protected readonly calendarIn = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n this.processCalendar(calendar);\n }\n });\n\n protected readonly calendarOut = effect(() => {\n const value = this.calendar()?.value();\n const changed = untracked(() => value !== this.toCalendarValue(this.value()));\n\n if (value && changed) {\n this.setDate(value);\n }\n });\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && this.mobile;\n\n protected abstract onValueChange(value: string): void;\n\n public override writeValue(value: T | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n this.input.value.set(this.stringify(this.value()));\n }\n }\n\n public setDate(value: TuiDay | TuiDayRange | readonly TuiDay[]): void {\n this.onChange(value as T);\n this.open.set(false);\n\n if (!this.el.closest('tui-dropdown')) {\n this.el.blur();\n }\n }\n\n protected processCalendar(calendar: TuiCalendar | TuiCalendarRange): void {\n tuiSetSignal(calendar.value, this.toCalendarValue(this.value()));\n tuiSetSignal(\n calendar.disabledItemHandler,\n this.handlers.disabledItemHandler() as TuiBooleanHandler<\n TuiDay | TuiDayRange\n >,\n );\n tuiSetSignal(calendar.min, this.min());\n tuiSetSignal(calendar.max, this.max());\n }\n\n protected onClick(): void {\n if (!this.mobile && this.dropdownEnabled()) {\n this.open.update((open) => !open);\n }\n }\n\n protected stringify(value: T | null): string {\n return value?.toString(this.format().mode, this.format().separator) ?? '';\n }\n\n private toCalendarValue(value: T | null): TuiDay | TuiDayRange | null {\n return Array.isArray(value)\n ? value[0]\n : // https://github.com/microsoft/TypeScript/issues/17002\n (value as TuiDay | TuiDayRange | null);\n }\n}\n\n@Directive({\n selector: 'input[tuiInputDate]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsControl(TuiInputDateDirective),\n tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS),\n ],\n hostDirectives: [\n TuiWithInput,\n TuiDropdownAuto,\n TuiItemsHandlersValidator,\n MaskitoDirective,\n ],\n})\nexport class TuiInputDateDirective extends TuiInputDateBase<TuiDay> {\n public override readonly max = input(this.options.max, {\n transform: (max: TuiDay | null): TuiDay =>\n max instanceof TuiDay ? max : TUI_LAST_DAY,\n });\n\n public override readonly min = input(this.options.min, {\n transform: (min: TuiDay | null): TuiDay =>\n min instanceof TuiDay ? min : TUI_FIRST_DAY,\n });\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n maskitoDateOptionsGenerator({\n separator: this.format().separator,\n mode: this.format().mode,\n min: this.min().toLocalNativeDate(),\n max: this.max().toLocalNativeDate(),\n }),\n ),\n );\n\n protected override onValueChange(value: string): void {\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(\n value.length === DATE_FILLER_LENGTH\n ? TuiDay.normalizeParse(value, this.format().mode)\n : null,\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiDay} from '@taiga-ui/cdk/date-time';\nimport {\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputDateDirective} from './input-date.directive';\n\n@Component({\n selector: 'input[tuiInputDate][type=\"date\"]',\n imports: [TuiTextfieldContent],\n templateUrl: './input-date.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-date.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithNativePicker],\n host: {\n 'data-tui-version': TUI_VERSION,\n ngSkipHydration: 'true',\n '[attr.list]': 'null',\n },\n})\nexport class TuiInputDateComponent {\n protected readonly host = inject(TuiInputDateDirective);\n\n public readonly list = input<string>();\n\n protected onInput(value: string): void {\n if (!value) {\n return this.host.onChange(null);\n }\n\n const [year = 0, month = 0, day = 0] = value.split('-').map(Number);\n\n this.host.onChange(new TuiDay(year, month - 1, day));\n }\n}\n","@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"date\"\n [attr.list]=\"list()\"\n [max]=\"host.max().toJSON()\"\n [min]=\"host.min().toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n","import {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputDateComponent} from './input-date.component';\nimport {TuiInputDateDirective} from './input-date.directive';\n\nexport const TuiInputDate = [\n TuiInputDateDirective,\n TuiInputDateComponent,\n TuiCalendar,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-date.mjs","sources":["../../../projects/kit/components/input-date/date-filler.ts","../../../projects/kit/components/input-date/input-date.options.ts","../../../projects/kit/components/input-date/input-date.directive.ts","../../../projects/kit/components/input-date/input-date-content.component.ts","../../../projects/kit/components/input-date/input-date.component.ts","../../../projects/kit/components/input-date/input-date.ts","../../../projects/kit/components/input-date/taiga-ui-kit-components-input-date.ts"],"sourcesContent":["import {computed, inject, type Signal} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {TUI_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {TUI_DATE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {identity} from 'rxjs';\n\nfunction changeDateSeparator(dateString: string, newDateSeparator: string): string {\n return dateString.replaceAll(/[^0-9A-ZА-Я]/gi, newDateSeparator);\n}\n\nexport function tuiWithDateFiller(\n fn: (dateFiller: string) => string = identity,\n): Signal<string> {\n const texts = inject(TUI_DATE_TEXTS);\n const format = inject(TUI_DATE_FORMAT);\n\n return tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'filler',\n computed(() => {\n const {mode, separator} = format();\n const fillersMap = texts() ?? '';\n const filler = fillersMap && changeDateSeparator(fillersMap[mode], separator);\n\n return fn(filler);\n }),\n {},\n );\n}\n","import {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, type TuiDay} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputDateOptions {\n readonly icon: string;\n readonly max: TuiDay;\n readonly min: TuiDay;\n readonly valueTransformer: TuiValueTransformer<TuiDay | null, any>;\n}\n\nexport const TUI_INPUT_DATE_DEFAULT_OPTIONS = {\n icon: '@tui.calendar',\n min: TUI_FIRST_DAY,\n max: TUI_LAST_DAY,\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n} as const;\n\nexport const [TUI_INPUT_DATE_OPTIONS, tuiInputDateOptionsProvider] =\n tuiCreateOptions<TuiInputDateOptions>(TUI_INPUT_DATE_DEFAULT_OPTIONS);\n","import {\n computed,\n Directive,\n effect,\n inject,\n input,\n type Signal,\n untracked,\n} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {maskitoDate} from '@maskito/kit';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {\n DATE_FILLER_LENGTH,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiDay,\n type TuiDayRange,\n type TuiTime,\n} from '@taiga-ui/cdk/date-time';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiInjectAuxiliary,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n type TuiItemsHandlers,\n TuiItemsHandlersDirective,\n TuiItemsHandlersValidator,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {tuiWithDateFiller} from './date-filler';\nimport {TUI_INPUT_DATE_OPTIONS, type TuiInputDateOptions} from './input-date.options';\n\n@Directive({\n host: {\n '[attr.inputmode]': 'mobile && open() ? \"none\" : \"numeric\"',\n '[disabled]': 'disabled()',\n '(click.capture.stop)': 'onClick()',\n '(input)': 'onValueChange($event.target.value)',\n },\n})\nexport abstract class TuiInputDateBase<\n T extends TuiDay | TuiDayRange | readonly [TuiDay, TuiTime | null],\n> extends TuiControl<T | null> {\n public abstract readonly max: Signal<TuiDay>;\n public abstract readonly min: Signal<TuiDay>;\n\n private readonly calendar = tuiInjectAuxiliary<TuiCalendar | TuiCalendarRange>(\n (x) => x instanceof TuiCalendar || x instanceof TuiCalendarRange,\n );\n\n protected readonly options =\n inject<Omit<TuiInputDateOptions, 'valueTransformer'>>(TUI_INPUT_DATE_OPTIONS);\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly input = inject(TuiInputDirective);\n protected readonly filler = tuiWithDateFiller();\n protected readonly mobile = inject(WA_IS_MOBILE);\n protected readonly open = inject(TuiDropdownOpen).open;\n protected readonly icon = tuiIconEnd(this.options.icon);\n protected readonly handlers = inject<TuiItemsHandlers<T>>(TuiItemsHandlersDirective);\n protected readonly format = inject(TUI_DATE_FORMAT);\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly identity = tuiDirectiveBinding(\n TuiItemsHandlersDirective,\n 'identityMatcher',\n (a: TuiDay, b: TuiDay) => a.daySame(b),\n {},\n );\n\n protected readonly valueEffect = effect(() => {\n const value =\n this.stringify(this.value()) ||\n (this.filler().length === this.el.value.length ? '' : this.el.value);\n\n this.input.value.set(value);\n });\n\n protected readonly calendarIn = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n this.processCalendar(calendar);\n }\n });\n\n protected readonly calendarOut = effect(() => {\n const value = this.calendar()?.value();\n const changed = untracked(() => value !== this.toCalendarValue(this.value()));\n\n if (value && changed) {\n this.setDate(value);\n }\n });\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && this.mobile;\n\n protected abstract onValueChange(value: string): void;\n\n public override writeValue(value: T | null): void {\n const reset = this.control.pristine && this.control.untouched && !value;\n const changed = untracked(() => value !== this.value());\n\n if (changed || reset) {\n super.writeValue(value);\n\n untracked(() => this.input.value.set(this.stringify(this.value())));\n }\n }\n\n public setDate(value: TuiDay | TuiDayRange | readonly TuiDay[]): void {\n this.onChange(value as T);\n this.open.set(false);\n\n if (!this.el.closest('tui-dropdown')) {\n this.el.blur();\n }\n }\n\n protected processCalendar(calendar: TuiCalendar | TuiCalendarRange): void {\n tuiSetSignal(calendar.value, this.toCalendarValue(this.value()));\n tuiSetSignal(\n calendar.disabledItemHandler,\n this.handlers.disabledItemHandler() as TuiBooleanHandler<\n TuiDay | TuiDayRange\n >,\n );\n tuiSetSignal(calendar.min, this.min());\n tuiSetSignal(calendar.max, this.max());\n }\n\n protected onClick(): void {\n if (!this.mobile && this.dropdownEnabled()) {\n this.open.update((open) => !open);\n }\n }\n\n protected stringify(value: T | null): string {\n return value?.toString(this.format().mode, this.format().separator) ?? '';\n }\n\n private toCalendarValue(value: T | null): TuiDay | TuiDayRange | null {\n return Array.isArray(value)\n ? value[0]\n : // https://github.com/microsoft/TypeScript/issues/17002\n (value as TuiDay | TuiDayRange | null);\n }\n}\n\n@Directive({\n selector: 'input[tuiInputDate]',\n providers: [\n tuiAsOptionContent(TuiSelectOption),\n tuiAsControl(TuiInputDateDirective),\n tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS),\n ],\n hostDirectives: [\n TuiWithInput,\n TuiDropdownAuto,\n TuiItemsHandlersValidator,\n MaskitoDirective,\n ],\n})\nexport class TuiInputDateDirective extends TuiInputDateBase<TuiDay> {\n public override readonly max = input(this.options.max, {\n transform: (max: TuiDay | null): TuiDay =>\n max instanceof TuiDay ? max : TUI_LAST_DAY,\n });\n\n public override readonly min = input(this.options.min, {\n transform: (min: TuiDay | null): TuiDay =>\n min instanceof TuiDay ? min : TUI_FIRST_DAY,\n });\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n maskitoDate({\n separator: this.format().separator,\n mode: this.format().mode,\n min: this.min().toLocalNativeDate(),\n max: this.max().toLocalNativeDate(),\n }),\n ),\n );\n\n protected override onValueChange(value: string): void {\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(\n value.length === DATE_FILLER_LENGTH\n ? TuiDay.normalizeParse(value, this.format().mode)\n : null,\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiDay} from '@taiga-ui/cdk/date-time';\n\nimport {TuiInputDateComponent} from './input-date.component';\nimport {TuiInputDateDirective} from './input-date.directive';\n\n@Component({\n selector: 'tui-input-date-content',\n template: `\n @if (host.native) {\n <input\n type=\"date\"\n [attr.list]=\"component.list()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-date.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputDateContent {\n protected readonly component = inject(TuiInputDateComponent);\n protected readonly host = inject(TuiInputDateDirective);\n protected readonly max = computed(() => this.host.max().toJSON());\n protected readonly min = computed(() => this.host.min().toJSON());\n protected readonly value = computed(() => this.host.value()?.toJSON());\n\n protected onInput(value: string): void {\n if (!value) {\n return this.host.onChange(null);\n }\n\n const [year = 0, month = 0, day = 0] = value.split('-').map(Number);\n\n this.host.onChange(new TuiDay(year, month - 1, day));\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputDateContent} from './input-date-content.component';\n\n@Directive({\n selector: 'input[tuiInputDate][type=\"date\"]',\n providers: [tuiAsTextfieldContent(() => TuiInputDateContent)],\n hostDirectives: [TuiWithNativePicker, TuiTextfieldContent],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.list]': 'null',\n },\n})\n// TODO(v6): rename to TuiInputDateNative\nexport class TuiInputDateComponent {\n public readonly list = input<string>();\n}\n","import {TuiCalendar} from '@taiga-ui/core/components/calendar';\nimport {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputDateComponent} from './input-date.component';\nimport {TuiInputDateDirective} from './input-date.directive';\n\nexport const TuiInputDate = [\n TuiInputDateDirective,\n TuiInputDateComponent,\n TuiCalendar,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -11,12 +11,12 @@ class TuiInputInline {
11
11
  this.control = contentChild(NgControl);
12
12
  this.value = toSignal(toObservable(this.control).pipe(switchMap(tuiControlValue)));
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputInline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiInputInline, isStandalone: true, selector: "tui-input-inline", host: { attributes: { "data-tui-version": "5.9.0" } }, queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true, isSignal: true }], ngImport: i0, template: "<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n", styles: ["tui-input-inline:where(*[data-tui-version=\"5.9.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;inline-size:100%;block-size:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputInline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiInputInline, isStandalone: true, selector: "tui-input-inline", host: { attributes: { "data-tui-version": "5.10.0-canary.9984aef" } }, queries: [{ propertyName: "control", first: true, predicate: NgControl, descendants: true, isSignal: true }], ngImport: i0, template: "<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n", styles: ["tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;inline-size:100%;block-size:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputInline, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputInline, decorators: [{
18
18
  type: Component,
19
- args: [{ selector: 'tui-input-inline', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, template: "<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n", styles: ["tui-input-inline:where(*[data-tui-version=\"5.9.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.9.0\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;inline-size:100%;block-size:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:none}\n"] }]
19
+ args: [{ selector: 'tui-input-inline', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, template: "<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n", styles: ["tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])>input{position:absolute;inset-block-start:0;inset-inline-start:0;background-color:transparent;padding:inherit;font:inherit;color:inherit;box-sizing:border-box;inline-size:100%;block-size:100%;border-width:0;text-align:inherit;letter-spacing:inherit;text-indent:inherit;text-transform:inherit;outline:none}\n"] }]
20
20
  }] });
21
21
 
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-inline.mjs","sources":["../../../projects/kit/components/input-inline/input-inline.component.ts","../../../projects/kit/components/input-inline/input-inline.template.html","../../../projects/kit/components/input-inline/taiga-ui-kit-components-input-inline.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {switchMap} from 'rxjs';\n\n@Component({\n selector: 'tui-input-inline',\n templateUrl: './input-inline.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-inline.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputInline {\n protected readonly control = contentChild(NgControl);\n\n protected readonly value = toSignal(\n toObservable(this.control).pipe(switchMap(tuiControlValue)),\n );\n}\n","<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAwBa,cAAc,CAAA;AAZ3B,IAAA,WAAA,GAAA;AAauB,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;AAEjC,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC/B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAC9D;AACJ,IAAA;+GANY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACmB,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBvD,mRAcA,EAAA,MAAA,EAAA,CAAA,2wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDUa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,aAAA,EAOb,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC,EAAC,kBAAkB,EAAE,WAAW,EAAC,EAAA,QAAA,EAAA,mRAAA,EAAA,MAAA,EAAA,CAAA,2wBAAA,CAAA,EAAA;;;AEtB3C;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-inline.mjs","sources":["../../../projects/kit/components/input-inline/input-inline.component.ts","../../../projects/kit/components/input-inline/input-inline.template.html","../../../projects/kit/components/input-inline/taiga-ui-kit-components-input-inline.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {switchMap} from 'rxjs';\n\n@Component({\n selector: 'tui-input-inline',\n templateUrl: './input-inline.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-inline.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputInline {\n protected readonly control = contentChild(NgControl);\n\n protected readonly value = toSignal(\n toObservable(this.control).pipe(switchMap(tuiControlValue)),\n );\n}\n","<span\n class=\"t-before\"\n [textContent]=\"value()\"\n></span>\n\n@if (!value()) {\n <span\n automation-id=\"tui-input-inline__placeholder\"\n class=\"t-placeholder\"\n >\n <ng-content />\n </span>\n}\n<ng-content select=\"input\" />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAwBa,cAAc,CAAA;AAZ3B,IAAA,WAAA,GAAA;AAauB,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC;AAEjC,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAC/B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAC9D;AACJ,IAAA;+GANY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACmB,SAAS,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBvD,mRAcA,EAAA,MAAA,EAAA,CAAA,20BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDUa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,aAAA,EAOb,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC,EAAC,kBAAkB,EAAE,WAAW,EAAC,EAAA,QAAA,EAAA,mRAAA,EAAA,MAAA,EAAA,CAAA,20BAAA,CAAA,EAAA;;;AEtB3C;;AAEG;;;;"}
@@ -76,13 +76,13 @@ class TuiInputMonthRangeDirective extends TuiControl {
76
76
  this.onChange(null);
77
77
  this.open.set(true);
78
78
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
80
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: TuiInputMonthRangeDirective, isStandalone: true, selector: "input[tuiInputMonthRange]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
80
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.23", type: TuiInputMonthRangeDirective, isStandalone: true, selector: "input[tuiInputMonthRange]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
81
81
  tuiAsControl(TuiInputMonthRangeDirective),
82
82
  tuiValueTransformerFrom(TUI_INPUT_MONTH_RANGE_OPTIONS),
83
83
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiSelectLike }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthRangeDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthRangeDirective, decorators: [{
86
86
  type: Directive,
87
87
  args: [{
88
88
  selector: 'input[tuiInputMonthRange]',
@@ -1,11 +1,11 @@
1
1
  import { TuiLabel } from '@taiga-ui/core/components/label';
2
- import * as i2 from '@taiga-ui/core/components/textfield';
3
- import { tuiInjectAuxiliary, TuiWithNativePicker, TuiSelectLike, TuiTextfieldContent, TuiTextfieldComponent, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
2
+ import * as i1$1 from '@taiga-ui/core/components/textfield';
3
+ import { tuiInjectAuxiliary, TuiWithNativePicker, TuiSelectLike, tuiAsTextfieldContent, TuiTextfieldContent, TuiTextfieldComponent, TuiTextfieldOptionsDirective } from '@taiga-ui/core/components/textfield';
4
4
  import * as i3 from '@taiga-ui/core/portals/dropdown';
5
5
  import { TuiDropdownOpen, tuiDropdownEnabled, TuiDropdownAuto, TuiDropdownContent } from '@taiga-ui/core/portals/dropdown';
6
6
  import { TuiCalendarMonth } from '@taiga-ui/kit/components/calendar-month';
7
7
  import * as i0 from '@angular/core';
8
- import { InjectionToken, inject, computed, effect, Directive, input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
8
+ import { InjectionToken, inject, computed, effect, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component, input } from '@angular/core';
9
9
  import { TUI_VERSION } from '@taiga-ui/cdk/constants';
10
10
  import { TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth } from '@taiga-ui/cdk/date-time';
11
11
  import { tuiSetSignal } from '@taiga-ui/cdk/utils/miscellaneous';
@@ -59,13 +59,13 @@ class TuiInputMonthDirective extends TuiControl {
59
59
  this.onChange(null);
60
60
  this.open.set(this.dropdownEnabled());
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.21", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.23", type: TuiInputMonthDirective, isStandalone: true, selector: "input[tuiInputMonth]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
64
64
  tuiAsControl(TuiInputMonthDirective),
65
65
  tuiValueTransformerFrom(TUI_INPUT_MONTH_OPTIONS),
66
- ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiSelectLike }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
66
+ ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i1$1.TuiSelectLike }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  selector: 'input[tuiInputMonth]',
@@ -81,18 +81,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
81
81
  }]
82
82
  }] });
83
83
 
84
- class TuiInputMonthComponent {
84
+ class TuiInputMonthContent {
85
85
  constructor() {
86
+ this.component = inject(TuiInputMonthComponent);
86
87
  this.host = inject(TuiInputMonthDirective);
88
+ this.max = computed(() => this.component.max()?.toJSON());
89
+ this.min = computed(() => this.component.min()?.toJSON());
90
+ this.value = computed(() => this.host.value()?.toJSON());
87
91
  this.calendarSync = effect(() => {
88
92
  const calendar = this.host.calendar();
89
93
  if (calendar) {
90
- tuiSetSignal(calendar.min, this.min() ?? TUI_FIRST_DAY);
91
- tuiSetSignal(calendar.max, this.max() ?? TUI_LAST_DAY);
94
+ tuiSetSignal(calendar.min, this.component.min() ?? TUI_FIRST_DAY);
95
+ tuiSetSignal(calendar.max, this.component.max() ?? TUI_LAST_DAY);
92
96
  }
93
97
  });
94
- this.min = input(null);
95
- this.max = input(null);
96
98
  }
97
99
  onInput(value) {
98
100
  if (!value) {
@@ -101,12 +103,55 @@ class TuiInputMonthComponent {
101
103
  const [year = 0, month = 0] = value.split('-').map(Number);
102
104
  this.host.onChange(new TuiMonth(year, month - 1));
103
105
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiInputMonthComponent, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.9.0", "ngSkipHydration": "true" } }, hostDirectives: [{ directive: i2.TuiWithNativePicker }], ngImport: i0, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=month]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto}tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"], dependencies: [{ kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiInputMonthContent, isStandalone: true, selector: "tui-input-month-content", host: { attributes: { "data-tui-version": "5.10.0-canary.9984aef" } }, ngImport: i0, template: `
108
+ @if (host.native) {
109
+ <input
110
+ type="month"
111
+ [max]="max()"
112
+ [min]="min()"
113
+ [value]="value()"
114
+ (click.stop.zoneless)="(0)"
115
+ (input)="onInput($any($event.target).value)"
116
+ (pointerdown.stop.zoneless)="(0)"
117
+ />
118
+ }
119
+ `, isInline: true, styles: ["tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=month]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto}tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
106
120
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiInputMonthComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthContent, decorators: [{
108
122
  type: Component,
109
- args: [{ selector: 'input[tuiInputMonth][type="month"]', imports: [TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: { 'data-tui-version': TUI_VERSION, ngSkipHydration: 'true' }, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=month]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto}tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.9.0\"])~.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
123
+ args: [{ selector: 'tui-input-month-content', template: `
124
+ @if (host.native) {
125
+ <input
126
+ type="month"
127
+ [max]="max()"
128
+ [min]="min()"
129
+ [value]="value()"
130
+ (click.stop.zoneless)="(0)"
131
+ (input)="onInput($any($event.target).value)"
132
+ (pointerdown.stop.zoneless)="(0)"
133
+ />
134
+ }
135
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, styles: ["tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=month]{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;opacity:0;pointer-events:auto}tui-textfield input[tuiInputMonth]:where(*[data-tui-version=\"5.10.0-canary.9984aef\"])~.t-content input[type=month]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
136
+ }] });
137
+
138
+ // TODO(v6): rename to TuiInputMonthNative
139
+ class TuiInputMonthComponent {
140
+ constructor() {
141
+ this.min = input(null);
142
+ this.max = input(null);
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.23", type: TuiInputMonthComponent, isStandalone: true, selector: "input[tuiInputMonth][type=\"month\"]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.10.0-canary.9984aef" } }, providers: [tuiAsTextfieldContent(() => TuiInputMonthContent)], hostDirectives: [{ directive: i1$1.TuiWithNativePicker }, { directive: i1$1.TuiTextfieldContent }], ngImport: i0 }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputMonthComponent, decorators: [{
148
+ type: Directive,
149
+ args: [{
150
+ selector: 'input[tuiInputMonth][type="month"]',
151
+ providers: [tuiAsTextfieldContent(() => TuiInputMonthContent)],
152
+ hostDirectives: [TuiWithNativePicker, TuiTextfieldContent],
153
+ host: { 'data-tui-version': TUI_VERSION },
154
+ }]
110
155
  }] });
111
156
 
112
157
  const TuiInputMonth = [
@@ -123,5 +168,5 @@ const TuiInputMonth = [
123
168
  * Generated bundle index. Do not edit.
124
169
  */
125
170
 
126
- export { TUI_INPUT_MONTH_OPTIONS, TuiInputMonth, TuiInputMonthComponent, TuiInputMonthDirective, tuiInputMonthOptionsProvider };
171
+ export { TUI_INPUT_MONTH_OPTIONS, TuiInputMonth, TuiInputMonthComponent, TuiInputMonthContent, TuiInputMonthDirective, tuiInputMonthOptionsProvider };
127
172
  //# sourceMappingURL=taiga-ui-kit-components-input-month.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-month.mjs","sources":["../../../projects/kit/components/input-month/input-month.options.ts","../../../projects/kit/components/input-month/input-month.directive.ts","../../../projects/kit/components/input-month/input-month.component.ts","../../../projects/kit/components/input-month/input-month.template.html","../../../projects/kit/components/input-month/input-month.ts","../../../projects/kit/components/input-month/taiga-ui-kit-components-input-month.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/di';\nimport {\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n TUI_INPUT_DATE_OPTIONS,\n} from '@taiga-ui/kit/components/input-date';\n\nexport interface TuiInputMonthOptions {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiMonth | null, any>;\n}\n\nexport const TUI_INPUT_MONTH_OPTIONS = new InjectionToken<TuiInputMonthOptions>(\n ngDevMode ? 'TUI_INPUT_MONTH_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_DATE_OPTIONS),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n);\n\nexport const tuiInputMonthOptionsProvider = (\n options: Partial<TuiInputMonthOptions>,\n): FactoryProvider =>\n tuiProvideOptions(TUI_INPUT_MONTH_OPTIONS, options, TUI_INPUT_DATE_DEFAULT_OPTIONS);\n","import {computed, Directive, effect, inject} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiInjectAuxiliary,\n TuiSelectLike,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TUI_INPUT_MONTH_OPTIONS} from './input-month.options';\n\n@Directive({\n selector: 'input[tuiInputMonth]',\n providers: [\n tuiAsControl(TuiInputMonthDirective),\n tuiValueTransformerFrom(TUI_INPUT_MONTH_OPTIONS),\n ],\n hostDirectives: [TuiWithInput, TuiSelectLike, TuiDropdownAuto],\n host: {\n '[disabled]': 'disabled()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthDirective extends TuiControl<TuiMonth | null> {\n private readonly input = inject(TuiInputDirective);\n private readonly months = inject(TUI_MONTHS);\n private readonly open = inject(TuiDropdownOpen).open;\n\n protected readonly icon = tuiIconEnd(inject(TUI_INPUT_MONTH_OPTIONS).icon);\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly valueEffect = effect(() => {\n const value = this.value();\n\n const formatted = value\n ? `${this.months()[value.month] ?? ''} ${value.formattedYear}`\n : '';\n\n this.input.value.set(formatted);\n });\n\n protected readonly calendarIn = effect(() => {\n const calendar = this.calendar();\n\n calendar && tuiSetSignal(calendar.value, this.value());\n });\n\n protected readonly calendarOut = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n this.onChange(month);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n public readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(WA_IS_MOBILE);\n\n protected clear(): void {\n this.onChange(null);\n this.open.set(this.dropdownEnabled());\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n effect,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputMonthDirective} from './input-month.directive';\n\n@Component({\n selector: 'input[tuiInputMonth][type=\"month\"]',\n imports: [TuiTextfieldContent],\n templateUrl: './input-month.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-month.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiWithNativePicker],\n host: {'data-tui-version': TUI_VERSION, ngSkipHydration: 'true'},\n})\nexport class TuiInputMonthComponent {\n protected readonly host = inject(TuiInputMonthDirective);\n\n protected readonly calendarSync = effect(() => {\n const calendar = this.host.calendar();\n\n if (calendar) {\n tuiSetSignal(calendar.min, this.min() ?? TUI_FIRST_DAY);\n tuiSetSignal(calendar.max, this.max() ?? TUI_LAST_DAY);\n }\n });\n\n protected readonly min = input<TuiMonth | null>(null);\n protected readonly max = input<TuiMonth | null>(null);\n\n protected onInput(value: string): void {\n if (!value) {\n return this.host.onChange(null);\n }\n\n const [year = 0, month = 0] = value.split('-').map(Number);\n\n this.host.onChange(new TuiMonth(year, month - 1));\n }\n}\n","@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"month\"\n [max]=\"max()?.toJSON()\"\n [min]=\"min()?.toJSON()\"\n [value]=\"host.value()?.toJSON()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthComponent} from './input-month.component';\nimport {TuiInputMonthDirective} from './input-month.directive';\n\nexport const TuiInputMonth = [\n TuiInputMonthComponent,\n TuiInputMonthDirective,\n TuiCalendarMonth,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-month.mjs","sources":["../../../projects/kit/components/input-month/input-month.options.ts","../../../projects/kit/components/input-month/input-month.directive.ts","../../../projects/kit/components/input-month/input-month-content.component.ts","../../../projects/kit/components/input-month/input-month.component.ts","../../../projects/kit/components/input-month/input-month.ts","../../../projects/kit/components/input-month/taiga-ui-kit-components-input-month.ts"],"sourcesContent":["import {type FactoryProvider, inject, InjectionToken} from '@angular/core';\nimport {\n TUI_IDENTITY_VALUE_TRANSFORMER,\n type TuiValueTransformer,\n} from '@taiga-ui/cdk/classes';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/di';\nimport {\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n TUI_INPUT_DATE_OPTIONS,\n} from '@taiga-ui/kit/components/input-date';\n\nexport interface TuiInputMonthOptions {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiMonth | null, any>;\n}\n\nexport const TUI_INPUT_MONTH_OPTIONS = new InjectionToken<TuiInputMonthOptions>(\n ngDevMode ? 'TUI_INPUT_MONTH_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_DATE_OPTIONS),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n);\n\nexport const tuiInputMonthOptionsProvider = (\n options: Partial<TuiInputMonthOptions>,\n): FactoryProvider =>\n tuiProvideOptions(TUI_INPUT_MONTH_OPTIONS, options, TUI_INPUT_DATE_DEFAULT_OPTIONS);\n","import {computed, Directive, effect, inject} from '@angular/core';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiInjectAuxiliary,\n TuiSelectLike,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n TuiDropdownAuto,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TUI_INPUT_MONTH_OPTIONS} from './input-month.options';\n\n@Directive({\n selector: 'input[tuiInputMonth]',\n providers: [\n tuiAsControl(TuiInputMonthDirective),\n tuiValueTransformerFrom(TUI_INPUT_MONTH_OPTIONS),\n ],\n hostDirectives: [TuiWithInput, TuiSelectLike, TuiDropdownAuto],\n host: {\n '[disabled]': 'disabled()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthDirective extends TuiControl<TuiMonth | null> {\n private readonly input = inject(TuiInputDirective);\n private readonly months = inject(TUI_MONTHS);\n private readonly open = inject(TuiDropdownOpen).open;\n\n protected readonly icon = tuiIconEnd(inject(TUI_INPUT_MONTH_OPTIONS).icon);\n\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly valueEffect = effect(() => {\n const value = this.value();\n\n const formatted = value\n ? `${this.months()[value.month] ?? ''} ${value.formattedYear}`\n : '';\n\n this.input.value.set(formatted);\n });\n\n protected readonly calendarIn = effect(() => {\n const calendar = this.calendar();\n\n calendar && tuiSetSignal(calendar.value, this.value());\n });\n\n protected readonly calendarOut = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n this.onChange(month);\n this.open.set(false);\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n public readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(WA_IS_MOBILE);\n\n protected clear(): void {\n this.onChange(null);\n this.open.set(this.dropdownEnabled());\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TUI_FIRST_DAY, TUI_LAST_DAY, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiInputMonthComponent} from './input-month.component';\nimport {TuiInputMonthDirective} from './input-month.directive';\n\n@Component({\n selector: 'tui-input-month-content',\n template: `\n @if (host.native) {\n <input\n type=\"month\"\n [max]=\"max()\"\n [min]=\"min()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-month.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputMonthContent {\n protected readonly component = inject(TuiInputMonthComponent);\n protected readonly host = inject(TuiInputMonthDirective);\n protected readonly max = computed(() => this.component.max()?.toJSON());\n protected readonly min = computed(() => this.component.min()?.toJSON());\n protected readonly value = computed(() => this.host.value()?.toJSON());\n\n protected readonly calendarSync = effect(() => {\n const calendar = this.host.calendar();\n\n if (calendar) {\n tuiSetSignal(calendar.min, this.component.min() ?? TUI_FIRST_DAY);\n tuiSetSignal(calendar.max, this.component.max() ?? TUI_LAST_DAY);\n }\n });\n\n protected onInput(value: string): void {\n if (!value) {\n return this.host.onChange(null);\n }\n\n const [year = 0, month = 0] = value.split('-').map(Number);\n\n this.host.onChange(new TuiMonth(year, month - 1));\n }\n}\n","import {Directive, input} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputMonthContent} from './input-month-content.component';\n\n@Directive({\n selector: 'input[tuiInputMonth][type=\"month\"]',\n providers: [tuiAsTextfieldContent(() => TuiInputMonthContent)],\n hostDirectives: [TuiWithNativePicker, TuiTextfieldContent],\n host: {'data-tui-version': TUI_VERSION},\n})\n// TODO(v6): rename to TuiInputMonthNative\nexport class TuiInputMonthComponent {\n public readonly min = input<TuiMonth | null>(null);\n public readonly max = input<TuiMonth | null>(null);\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\nimport {TuiCalendarMonth} from '@taiga-ui/kit/components/calendar-month';\n\nimport {TuiInputMonthComponent} from './input-month.component';\nimport {TuiInputMonthDirective} from './input-month.directive';\n\nexport const TuiInputMonth = [\n TuiInputMonthComponent,\n TuiInputMonthDirective,\n TuiCalendarMonth,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}