@taiga-ui/kit 5.0.0 → 5.1.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 (119) hide show
  1. package/components/counter/counter.component.d.ts +1 -1
  2. package/components/files/input-files/input-files.directive.d.ts +1 -0
  3. package/components/input-number/index.d.ts +1 -0
  4. package/components/input-number/input-number.d.ts +1 -1
  5. package/components/input-number/step/input-number-step.component.d.ts +9 -11
  6. package/components/input-number/step/input-number-step.directive.d.ts +12 -0
  7. package/components/input-number/step/input-number-step.service.d.ts +0 -1
  8. package/fesm2022/taiga-ui-kit-components-accordion.mjs +7 -7
  9. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +3 -3
  10. package/fesm2022/taiga-ui-kit-components-avatar.mjs +23 -23
  11. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +3 -3
  12. package/fesm2022/taiga-ui-kit-components-badge.mjs +7 -7
  13. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +6 -6
  14. package/fesm2022/taiga-ui-kit-components-block.mjs +7 -7
  15. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -3
  16. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
  17. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +3 -3
  18. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +4 -4
  19. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-kit-components-chip.mjs +7 -7
  21. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +4 -4
  22. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-kit-components-comment.mjs +8 -7
  24. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-compass.mjs +5 -5
  26. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-kit-components-confirm.mjs +6 -6
  28. package/fesm2022/taiga-ui-kit-components-copy.mjs +11 -11
  29. package/fesm2022/taiga-ui-kit-components-counter.mjs +13 -14
  30. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +6 -6
  32. package/fesm2022/taiga-ui-kit-components-drawer.mjs +3 -3
  33. package/fesm2022/taiga-ui-kit-components-files.mjs +31 -26
  34. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-filter.mjs +3 -3
  36. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
  37. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +6 -6
  38. package/fesm2022/taiga-ui-kit-components-input-color.mjs +4 -4
  39. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +3 -3
  40. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +3 -3
  41. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +7 -7
  42. package/fesm2022/taiga-ui-kit-components-input-date.mjs +10 -10
  43. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +4 -4
  44. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +10 -8
  45. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-input-month.mjs +7 -7
  47. package/fesm2022/taiga-ui-kit-components-input-number.mjs +80 -55
  48. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +7 -7
  50. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +5 -5
  52. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -3
  54. package/fesm2022/taiga-ui-kit-components-input-range.mjs +3 -3
  55. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +11 -11
  56. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-input-time.mjs +13 -13
  58. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-kit-components-input-year.mjs +3 -3
  60. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +12 -12
  61. package/fesm2022/taiga-ui-kit-components-like.mjs +5 -5
  62. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +9 -9
  63. package/fesm2022/taiga-ui-kit-components-message.mjs +7 -7
  64. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +12 -12
  65. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +9 -9
  66. package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
  67. package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
  68. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  69. package/fesm2022/taiga-ui-kit-components-preview.mjs +26 -26
  70. package/fesm2022/taiga-ui-kit-components-progress.mjs +27 -27
  71. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  72. package/fesm2022/taiga-ui-kit-components-push.mjs +12 -12
  73. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +4 -4
  74. package/fesm2022/taiga-ui-kit-components-range.mjs +6 -6
  75. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -3
  76. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  77. package/fesm2022/taiga-ui-kit-components-segmented.mjs +8 -8
  78. package/fesm2022/taiga-ui-kit-components-select.mjs +9 -9
  79. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +7 -7
  80. package/fesm2022/taiga-ui-kit-components-status.mjs +7 -7
  81. package/fesm2022/taiga-ui-kit-components-stepper.mjs +7 -7
  82. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-switch.mjs +4 -4
  84. package/fesm2022/taiga-ui-kit-components-tabs.mjs +19 -19
  85. package/fesm2022/taiga-ui-kit-components-textarea.mjs +12 -12
  86. package/fesm2022/taiga-ui-kit-components-tiles.mjs +24 -21
  87. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-timeline.mjs +6 -6
  89. package/fesm2022/taiga-ui-kit-components-toast.mjs +16 -16
  90. package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
  91. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +3 -3
  92. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +7 -7
  93. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  94. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +7 -7
  95. package/fesm2022/taiga-ui-kit-directives-connected.mjs +7 -7
  96. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +4 -4
  97. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-directives-fade.mjs +7 -7
  99. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  100. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
  101. package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
  102. package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -3
  103. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +7 -7
  104. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +8 -8
  105. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +7 -7
  107. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +7 -7
  108. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
  109. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
  110. package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
  111. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +4 -4
  112. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -3
  114. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +3 -3
  115. package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
  116. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
  117. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  118. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  119. package/package.json +70 -70
@@ -89,10 +89,10 @@ class TuiInputChipComponent {
89
89
  this.editing.set(true);
90
90
  setTimeout(() => this.input()?.nativeElement.focus());
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n@if (textfield.cva()?.interactive() && !editing() && !disabled()) {\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n >\n {{ texts().remove }}\n </button>\n}\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem;pointer-events:auto}:host[tuiChip][tuiChip][data-state=disabled],:host-context(tui-textfield[data-state=\"disabled\"]) :host[tuiChip][tuiChip]{cursor:default}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){inset-inline-start:calc(var(--t-start) / 4 - .375rem);margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputChipComponent, isStandalone: true, selector: "tui-input-chip", inputs: { editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiChip": "" }, listeners: { "click": "editing() && $event.stopPropagation()", "keydown.backspace.prevent": "delete()", "keydown.enter.prevent": "edit()", "dblclick": "edit()" }, properties: { "class._edit": "editing()", "attr.tabIndex": "disabled() ? null : -1" }, classAttribute: "tui-interactive" }, viewQueries: [{ propertyName: "input", first: true, predicate: TuiChip, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiChip }], ngImport: i0, template: "<input\n appearance=\"\"\n enterkeyhint=\"enter\"\n tuiChip\n class=\"t-input\"\n [disabled]=\"!editing()\"\n [ngModel]=\"internal()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"cancel()\"\n (keydown.enter)=\"save()\"\n (keydown.esc)=\"cancel()\"\n (keydown.stop)=\"(0)\"\n (ngModelChange)=\"internal.set($event)\"\n/>\n<div\n tuiFade\n tuiFadeOffset=\"0.5rem\"\n class=\"t-text\"\n [tuiHintOverflow]=\"hint?.content() ? null : handlers.stringify()(internal())\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ handlers.stringify()(internal()) }}\n</div>\n@if (textfield.cva()?.interactive() && !editing() && !disabled()) {\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n [iconStart]=\"icons.close\"\n (click.stop)=\"delete()\"\n (pointerdown.prevent.stop.zoneless)=\"(0)\"\n >\n {{ texts().remove }}\n </button>\n}\n", styles: [":host{cursor:pointer;margin:.125rem 0;margin-inline-end:.25rem;pointer-events:auto}:host[tuiChip][tuiChip][data-state=disabled],:host-context(tui-textfield[data-state=\"disabled\"]) :host[tuiChip][tuiChip]{cursor:default}:host .t-input{padding:0;text-indent:.375rem;transition:none;color:var(--tui-text-primary);cursor:text;outline:none}:host .t-input:disabled{visibility:hidden}:host._edit{background:transparent}:host._edit .t-text{pointer-events:none;visibility:hidden}:host._edit:before{color:transparent;transition:none}:host-context(tui-textfield[data-size=\"s\"]){inset-inline-start:calc(var(--t-start) / 4 - .375rem);margin:.0625rem 0;margin-inline-end:.125rem}:host-context(tui-textfield[data-size=\"m\"]){inset-inline-start:-.125rem}:host-context(tui-textfield[data-size=\"l\"]){inset-inline-start:-.25rem}:host-context(tui-textfield[data-size=\"l\"]) .t-input{text-indent:.625rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiChip, selector: "[tuiChip]", inputs: ["size"] }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiHintOverflow, selector: "[tuiHintOverflow]", inputs: ["tuiHintOverflow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputChipComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputChipComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'tui-input-chip', imports: [
98
98
  FormsModule,
@@ -201,14 +201,14 @@ class TuiInputChipDirective extends TuiControl {
201
201
  });
202
202
  }, 100);
203
203
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputChipDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
205
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputChipDirective, isStandalone: true, selector: "input[tuiInputChip]", inputs: { separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "enterkeyhint": "enter" }, listeners: { "keydown.enter.prevent": "onEnter()", "keydown.zoneless": "onBackspace($event.key)", "input": "onInput()", "paste.prevent": "onPaste($event)", "drop.prevent": "onPaste($event)", "focus": "scrollTo()" }, properties: { "disabled": "disabled()" } }, providers: [
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputChipDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
205
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputChipDirective, isStandalone: true, selector: "input[tuiInputChip]", inputs: { separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, unique: { classPropertyName: "unique", publicName: "unique", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "enterkeyhint": "enter" }, listeners: { "keydown.enter.prevent": "onEnter()", "keydown.zoneless": "onBackspace($event.key)", "input": "onInput()", "paste.prevent": "onPaste($event)", "drop.prevent": "onPaste($event)", "focus": "scrollTo()" }, properties: { "disabled": "disabled()" } }, providers: [
206
206
  tuiAsControl(TuiInputChipDirective),
207
207
  tuiFallbackValueProvider([]),
208
208
  tuiAsTextfieldAccessor(TuiInputChipDirective),
209
209
  ], usesInheritance: true, hostDirectives: [{ directive: i1$1.TuiWithInput }], ngImport: i0 }); }
210
210
  }
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputChipDirective, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputChipDirective, decorators: [{
212
212
  type: Directive,
213
213
  args: [{
214
214
  selector: 'input[tuiInputChip]',
@@ -55,10 +55,10 @@ class TuiInputColorComponent extends TuiControl {
55
55
  const value = this.filled() ? this.value().slice(0, 7) : '#000000';
56
56
  this.onChange(`${value}${toHex(opacity)}`);
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputColorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiInputColorComponent, isStandalone: true, selector: "input[tuiInputColor]", inputs: { format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true", "spellcheck": "false" }, listeners: { "input": "onChange($event.target.value)" }, properties: { "disabled": "disabled()", "value": "value()", "attr.list": "null" } }, providers: [tuiAsControl(TuiInputColorComponent), tuiFallbackValueProvider('')], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <input\n #input\n tabindex=\"-1\"\n type=\"color\"\n class=\"tui-input-color_picker\"\n [attr.list]=\"list\"\n [class.tui-input-color_start]=\"align() === 'start'\"\n [disabled]=\"!interactive()\"\n [style.--t-opacity]=\"filled() ? opacity() / 255 : 0\"\n [value]=\"value().length > 6 ? value().slice(0, 7) : ''\"\n (input)=\"onInput(input.value)\"\n />\n @if (format() === 'hexa' && interactive()) {\n <input\n max=\"255\"\n tuiSlider\n type=\"range\"\n [ngModel]=\"opacity()\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"onOpacity($event)\"\n (pointerdown.stop)=\"el.focus()\"\n />\n }\n</ng-container>\n", styles: ["tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_picker{position:relative;font-size:1rem;inline-size:calc(var(--t-height) / 2);block-size:calc(var(--t-height) / 2);border:none;border-radius:100%;padding:0!important;overflow:hidden;cursor:pointer;order:100;background:repeating-conic-gradient(var(--tui-border-normal) 0% 25%,transparent 0% 50%);box-shadow:0 0 0 1px var(--tui-border-normal)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_picker:disabled{cursor:default}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_start{position:absolute;inset-block-start:50%;inset-inline-start:calc(var(--t-height) / 4);transform:translateY(-50%)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-webkit-color-swatch-wrapper{padding:0}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-webkit-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-moz-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.0.0\"])[data-size=s] .tui-input-color_picker{margin-inline-end:.25rem}tui-textfield:where(*[data-tui-version=\"5.0.0\"])[data-size=l] .tui-input-color_picker{margin-inline-end:-.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["segments"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputColorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputColorComponent, isStandalone: true, selector: "input[tuiInputColor]", inputs: { format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "ngSkipHydration": "true", "spellcheck": "false" }, listeners: { "input": "onChange($event.target.value)" }, properties: { "disabled": "disabled()", "value": "value()", "attr.list": "null" } }, providers: [tuiAsControl(TuiInputColorComponent), tuiFallbackValueProvider('')], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0, template: "<ng-container *tuiTextfieldContent>\n <input\n #input\n tabindex=\"-1\"\n type=\"color\"\n class=\"tui-input-color_picker\"\n [attr.list]=\"list\"\n [class.tui-input-color_start]=\"align() === 'start'\"\n [disabled]=\"!interactive()\"\n [style.--t-opacity]=\"filled() ? opacity() / 255 : 0\"\n [value]=\"value().length > 6 ? value().slice(0, 7) : ''\"\n (input)=\"onInput(input.value)\"\n />\n @if (format() === 'hexa' && interactive()) {\n <input\n max=\"255\"\n tuiSlider\n type=\"range\"\n [ngModel]=\"opacity()\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"onOpacity($event)\"\n (pointerdown.stop)=\"el.focus()\"\n />\n }\n</ng-container>\n", styles: ["tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_picker{position:relative;font-size:1rem;inline-size:calc(var(--t-height) / 2);block-size:calc(var(--t-height) / 2);border:none;border-radius:100%;padding:0!important;overflow:hidden;cursor:pointer;order:100;background:repeating-conic-gradient(var(--tui-border-normal) 0% 25%,transparent 0% 50%);box-shadow:0 0 0 1px var(--tui-border-normal)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_picker:disabled{cursor:default}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_start{position:absolute;inset-block-start:50%;inset-inline-start:calc(var(--t-height) / 4);transform:translateY(-50%)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-webkit-color-swatch-wrapper{padding:0}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-webkit-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-moz-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.1.0\"])[data-size=s] .tui-input-color_picker{margin-inline-end:.25rem}tui-textfield:where(*[data-tui-version=\"5.1.0\"])[data-size=l] .tui-input-color_picker{margin-inline-end:-.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["segments"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputColorComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputColorComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'input[tuiInputColor]', imports: [FormsModule, TuiSlider, TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsControl(TuiInputColorComponent), tuiFallbackValueProvider('')], hostDirectives: [MaskitoDirective, TuiWithInput], host: {
64
64
  ngSkipHydration: 'true',
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
67
67
  '[value]': 'value()',
68
68
  '[attr.list]': 'null',
69
69
  '(input)': 'onChange($event.target.value)',
70
- }, template: "<ng-container *tuiTextfieldContent>\n <input\n #input\n tabindex=\"-1\"\n type=\"color\"\n class=\"tui-input-color_picker\"\n [attr.list]=\"list\"\n [class.tui-input-color_start]=\"align() === 'start'\"\n [disabled]=\"!interactive()\"\n [style.--t-opacity]=\"filled() ? opacity() / 255 : 0\"\n [value]=\"value().length > 6 ? value().slice(0, 7) : ''\"\n (input)=\"onInput(input.value)\"\n />\n @if (format() === 'hexa' && interactive()) {\n <input\n max=\"255\"\n tuiSlider\n type=\"range\"\n [ngModel]=\"opacity()\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"onOpacity($event)\"\n (pointerdown.stop)=\"el.focus()\"\n />\n }\n</ng-container>\n", styles: ["tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_picker{position:relative;font-size:1rem;inline-size:calc(var(--t-height) / 2);block-size:calc(var(--t-height) / 2);border:none;border-radius:100%;padding:0!important;overflow:hidden;cursor:pointer;order:100;background:repeating-conic-gradient(var(--tui-border-normal) 0% 25%,transparent 0% 50%);box-shadow:0 0 0 1px var(--tui-border-normal)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_picker:disabled{cursor:default}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker.tui-input-color_start{position:absolute;inset-block-start:50%;inset-inline-start:calc(var(--t-height) / 4);transform:translateY(-50%)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-webkit-color-swatch-wrapper{padding:0}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-webkit-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.0.0\"]) .tui-input-color_picker::-moz-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.0.0\"])[data-size=s] .tui-input-color_picker{margin-inline-end:.25rem}tui-textfield:where(*[data-tui-version=\"5.0.0\"])[data-size=l] .tui-input-color_picker{margin-inline-end:-.25rem}\n"] }]
70
+ }, template: "<ng-container *tuiTextfieldContent>\n <input\n #input\n tabindex=\"-1\"\n type=\"color\"\n class=\"tui-input-color_picker\"\n [attr.list]=\"list\"\n [class.tui-input-color_start]=\"align() === 'start'\"\n [disabled]=\"!interactive()\"\n [style.--t-opacity]=\"filled() ? opacity() / 255 : 0\"\n [value]=\"value().length > 6 ? value().slice(0, 7) : ''\"\n (input)=\"onInput(input.value)\"\n />\n @if (format() === 'hexa' && interactive()) {\n <input\n max=\"255\"\n tuiSlider\n type=\"range\"\n [ngModel]=\"opacity()\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"onOpacity($event)\"\n (pointerdown.stop)=\"el.focus()\"\n />\n }\n</ng-container>\n", styles: ["tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_picker{position:relative;font-size:1rem;inline-size:calc(var(--t-height) / 2);block-size:calc(var(--t-height) / 2);border:none;border-radius:100%;padding:0!important;overflow:hidden;cursor:pointer;order:100;background:repeating-conic-gradient(var(--tui-border-normal) 0% 25%,transparent 0% 50%);box-shadow:0 0 0 1px var(--tui-border-normal)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_picker:disabled{cursor:default}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker.tui-input-color_start{position:absolute;inset-block-start:50%;inset-inline-start:calc(var(--t-height) / 4);transform:translateY(-50%)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-webkit-color-swatch-wrapper{padding:0}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-webkit-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.1.0\"]) .tui-input-color_picker::-moz-color-swatch{border:none;opacity:var(--t-opacity)}tui-textfield:where(*[data-tui-version=\"5.1.0\"])[data-size=s] .tui-input-color_picker{margin-inline-end:.25rem}tui-textfield:where(*[data-tui-version=\"5.1.0\"])[data-size=l] .tui-input-color_picker{margin-inline-end:-.25rem}\n"] }]
71
71
  }] });
72
72
  function toHex(value) {
73
73
  return value.toString(16).padStart(2, '0');
@@ -73,8 +73,8 @@ class TuiInputDateMultiDirective extends TuiInputChipDirective {
73
73
  updateValue(day) {
74
74
  this.setValue(tuiArrayToggle(this.value(), day, (a, b) => a.daySame(b)));
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateMultiDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
77
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputDateMultiDirective, isStandalone: true, selector: "input[tuiInputDateMulti]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter.prevent": "0" } }, providers: [
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateMultiDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputDateMultiDirective, isStandalone: true, selector: "input[tuiInputDateMulti]", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter.prevent": "0" } }, providers: [
78
78
  tuiAsControl(TuiInputDateMultiDirective),
79
79
  tuiFallbackValueProvider([]),
80
80
  tuiAsTextfieldAccessor(TuiInputDateMultiDirective),
@@ -84,7 +84,7 @@ class TuiInputDateMultiDirective extends TuiInputChipDirective {
84
84
  },
85
85
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownAuto }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateMultiDirective, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateMultiDirective, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
90
90
  selector: 'input[tuiInputDateMulti]',
@@ -57,15 +57,15 @@ class TuiInputDateRangeDirective extends TuiInputDateBase {
57
57
  ? TuiDayRange.normalizeParse(value, this.format().mode)
58
58
  : null);
59
59
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
61
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputDateRangeDirective, isStandalone: true, selector: "input[tuiInputDateRange]", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
61
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputDateRangeDirective, isStandalone: true, selector: "input[tuiInputDateRange]", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
62
62
  // TODO: Add SelectOption after data-list in calendar-range is refactored
63
63
  tuiAsControl(TuiInputDateRangeDirective),
64
64
  tuiValueTransformerFrom(TUI_INPUT_DATE_RANGE_OPTIONS),
65
65
  tuiProvide(TUI_INPUT_DATE_OPTIONS, TUI_INPUT_DATE_RANGE_OPTIONS),
66
66
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiDropdownAuto }, { directive: i3.MaskitoDirective }], ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateRangeDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  selector: 'input[tuiInputDateRange]',
@@ -160,15 +160,15 @@ class TuiInputDateTimeDirective extends TuiInputDateBase {
160
160
  toNativeDate([{ year, month, day }, { hours, minutes, seconds, ms }]) {
161
161
  return new Date(year, month, day, hours, minutes, seconds, ms);
162
162
  }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
164
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputDateTimeDirective, isStandalone: true, selector: "input[tuiInputDateTime]", inputs: { timeMode: { classPropertyName: "timeMode", publicName: "timeMode", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: "minInput", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: "maxInput", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "onBlur($event.target.value)" } }, providers: [
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
164
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputDateTimeDirective, isStandalone: true, selector: "input[tuiInputDateTime]", inputs: { timeMode: { classPropertyName: "timeMode", publicName: "timeMode", isSignal: true, isRequired: false, transformFunction: null }, minInput: { classPropertyName: "minInput", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxInput: { classPropertyName: "maxInput", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "onBlur($event.target.value)" } }, providers: [
165
165
  tuiAsOptionContent(TuiSelectOption),
166
166
  tuiAsControl(TuiInputDateTimeDirective),
167
167
  tuiAsTextfieldAccessor(TuiInputDateTimeDirective),
168
168
  tuiValueTransformerFrom(TUI_INPUT_DATE_TIME_OPTIONS),
169
169
  ], usesInheritance: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.TuiWithInput }], ngImport: i0 }); }
170
170
  }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateTimeDirective, decorators: [{
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateTimeDirective, decorators: [{
172
172
  type: Directive,
173
173
  args: [{
174
174
  selector: 'input[tuiInputDateTime]',
@@ -206,12 +206,12 @@ class TuiInputDateTimeComponent extends TuiNativeTimePicker {
206
206
  const time = TuiTime.fromLocalNativeDate(date);
207
207
  this.host.setValue([day, time]);
208
208
  }
209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiInputDateTimeComponent, isStandalone: true, selector: "input[tuiInputDateTime][type=\"datetime-local\"]", host: { attributes: { "data-tui-version": "5.0.0", "ngSkipHydration": "true" } }, usesInheritance: true, hostDirectives: [{ directive: i1$1.TuiWithNativePicker }], ngImport: i0, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDateTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=datetime-local]{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[tuiInputDateTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=datetime-local]::-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 }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputDateTimeComponent, isStandalone: true, selector: "input[tuiInputDateTime][type=\"datetime-local\"]", host: { attributes: { "data-tui-version": "5.1.0", "ngSkipHydration": "true" } }, usesInheritance: true, hostDirectives: [{ directive: i1$1.TuiWithNativePicker }], ngImport: i0, template: "@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDateTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=datetime-local]{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[tuiInputDateTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=datetime-local]::-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 }); }
211
211
  }
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateTimeComponent, decorators: [{
212
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateTimeComponent, decorators: [{
213
213
  type: Component,
214
- args: [{ selector: 'input[tuiInputDateTime][type="datetime-local"]', 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=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDateTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=datetime-local]{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[tuiInputDateTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
214
+ args: [{ selector: 'input[tuiInputDateTime][type="datetime-local"]', 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=\"datetime-local\"\n [attr.list]=\"list\"\n [max]=\"max()\"\n [min]=\"min()\"\n [step]=\"step()\"\n [value]=\"value()\"\n (click.stop.zoneless)=\"(0)\"\n (input)=\"onInput($any($event.target).value)\"\n (pointerdown.stop.zoneless)=\"(0)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputDateTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=datetime-local]{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[tuiInputDateTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=datetime-local]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
215
215
  }] });
216
216
 
217
217
  const TuiInputDateTime = [
@@ -120,10 +120,10 @@ class TuiInputDateBase extends TuiControl {
120
120
  : // https://github.com/microsoft/TypeScript/issues/17002
121
121
  value;
122
122
  }
123
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
124
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiInputDateBase, isStandalone: true, host: { listeners: { "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateBase, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
124
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiInputDateBase, isStandalone: true, host: { listeners: { "input": "onValueChange($event.target.value)", "click.capture.stop": "onClick()" }, properties: { "attr.inputmode": "mobile && open() ? \"none\" : \"numeric\"", "disabled": "disabled()" } }, usesInheritance: true, ngImport: i0 }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateBase, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateBase, decorators: [{
127
127
  type: Directive,
128
128
  args: [{
129
129
  host: {
@@ -156,14 +156,14 @@ class TuiInputDateDirective extends TuiInputDateBase {
156
156
  ? TuiDay.normalizeParse(value, this.format().mode)
157
157
  : null);
158
158
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
160
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", 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: [
159
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
160
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", 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: [
161
161
  tuiAsOptionContent(TuiSelectOption),
162
162
  tuiAsControl(TuiInputDateDirective),
163
163
  tuiValueTransformerFrom(TUI_INPUT_DATE_OPTIONS),
164
164
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiDropdownAuto }, { directive: i3.TuiItemsHandlersValidator }, { directive: i4.MaskitoDirective }], ngImport: i0 }); }
165
165
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateDirective, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateDirective, decorators: [{
167
167
  type: Directive,
168
168
  args: [{
169
169
  selector: 'input[tuiInputDate]',
@@ -193,16 +193,16 @@ class TuiInputDateComponent {
193
193
  const [year = 0, month = 0, day = 0] = value.split('-').map(Number);
194
194
  this.host.onChange(new TuiDay(year, month - 1, day));
195
195
  }
196
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
197
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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.0.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.0.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.0.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 }); }
196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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.1.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.1.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.1.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 }); }
198
198
  }
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputDateComponent, decorators: [{
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputDateComponent, decorators: [{
200
200
  type: Component,
201
201
  args: [{ selector: 'input[tuiInputDate][type="date"]', imports: [TuiTextfieldContent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiWithNativePicker], host: {
202
202
  'data-tui-version': TUI_VERSION,
203
203
  ngSkipHydration: 'true',
204
204
  '[attr.list]': 'null',
205
- }, 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.0.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.0.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"] }]
205
+ }, 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.1.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.1.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"] }]
206
206
  }] });
207
207
 
208
208
  const TuiInputDate = [
@@ -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.19", ngImport: i0, type: TuiInputInline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiInputInline, isStandalone: true, selector: "tui-input-inline", host: { attributes: { "data-tui-version": "5.0.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.0.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.0.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.0.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.0.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.20", ngImport: i0, type: TuiInputInline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputInline, isStandalone: true, selector: "tui-input-inline", host: { attributes: { "data-tui-version": "5.1.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.1.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.1.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.1.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.1.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 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputInline, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", 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.0.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.0.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.0.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.0.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.1.0\"]){position:relative;display:inline-block;white-space:nowrap;box-sizing:border-box}tui-input-inline:where(*[data-tui-version=\"5.1.0\"])>.t-before{padding-inline-end:.02em;margin-inline-start:1px;white-space:pre;visibility:hidden}tui-input-inline:where(*[data-tui-version=\"5.1.0\"])>.t-placeholder{display:inline-block;min-inline-size:1px;margin-inline-start:-1px}tui-input-inline:where(*[data-tui-version=\"5.1.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"] }]
20
20
  }] });
21
21
 
22
22
  /**
@@ -39,7 +39,9 @@ class TuiInputMonthRangeDirective extends TuiControl {
39
39
  const value = this.value();
40
40
  const months = this.months();
41
41
  const format = ({ month, formattedYear }) => `${months[month] ?? ''} ${formattedYear}`;
42
- this.input.value.set(value ? format(value.from) + RANGE_SEPARATOR_CHAR + format(value.to) : '');
42
+ this.input.value.set(value
43
+ ? `${format(value.from)}${RANGE_SEPARATOR_CHAR}${format(value.to)}`
44
+ : '');
43
45
  });
44
46
  this.calendarInit = effect(() => {
45
47
  const calendar = this.calendar();
@@ -59,13 +61,13 @@ class TuiInputMonthRangeDirective extends TuiControl {
59
61
  this.onMonthClickEffect = effect((onCleanup) => {
60
62
  const subscription = this.calendar()?.monthClick.subscribe((month) => {
61
63
  const intermediateValue = this.intermediateValue();
62
- if (!intermediateValue) {
63
- this.intermediateValue.set(month);
64
- }
65
- else {
64
+ if (intermediateValue) {
66
65
  this.onChange(TuiMonthRange.sort(intermediateValue, month));
67
66
  this.open.set(false);
68
67
  }
68
+ else {
69
+ this.intermediateValue.set(month);
70
+ }
69
71
  });
70
72
  onCleanup(() => subscription?.unsubscribe());
71
73
  });
@@ -74,13 +76,13 @@ class TuiInputMonthRangeDirective extends TuiControl {
74
76
  this.onChange(null);
75
77
  this.open.set(true);
76
78
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputMonthRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
78
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", 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.20", ngImport: i0, type: TuiInputMonthRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
80
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiInputMonthRangeDirective, isStandalone: true, selector: "input[tuiInputMonthRange]", host: { listeners: { "input": "$event.inputType?.includes(\"delete\") && clear()" }, properties: { "disabled": "disabled()" } }, providers: [
79
81
  tuiAsControl(TuiInputMonthRangeDirective),
80
82
  tuiValueTransformerFrom(TUI_INPUT_MONTH_RANGE_OPTIONS),
81
83
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiSelectLike }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
82
84
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputMonthRangeDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputMonthRangeDirective, decorators: [{
84
86
  type: Directive,
85
87
  args: [{
86
88
  selector: 'input[tuiInputMonthRange]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-month-range.mjs","sources":["../../../projects/kit/components/input-month-range/input-month-range.options.ts","../../../projects/kit/components/input-month-range/input-month-range.directive.ts","../../../projects/kit/components/input-month-range/input-month-range.ts","../../../projects/kit/components/input-month-range/taiga-ui-kit-components-input-month-range.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 TuiMonthRange} from '@taiga-ui/cdk/date-time';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/di';\nimport {TUI_INPUT_DATE_DEFAULT_OPTIONS} from '@taiga-ui/kit/components/input-date';\nimport {TUI_INPUT_MONTH_OPTIONS} from '@taiga-ui/kit/components/input-month';\n\nexport interface TuiInputMonthRangeOptions {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiMonthRange | null, any>;\n}\n\nexport const TUI_INPUT_MONTH_RANGE_OPTIONS =\n new InjectionToken<TuiInputMonthRangeOptions>(\n ngDevMode ? 'TUI_INPUT_MONTH_RANGE_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_MONTH_OPTIONS),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n );\n\nexport const tuiInputMonthRangeOptionsProvider = (\n options: Partial<TuiInputMonthRangeOptions>,\n): FactoryProvider =>\n tuiProvideOptions(\n TUI_INPUT_MONTH_RANGE_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n );\n","import {Directive, effect, inject, signal} from '@angular/core';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {\n RANGE_SEPARATOR_CHAR,\n type TuiMonth,\n TuiMonthRange,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiInjectAuxiliary, TuiSelectLike} 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_RANGE_OPTIONS} from './input-month-range.options';\n\n@Directive({\n selector: 'input[tuiInputMonthRange]',\n providers: [\n tuiAsControl(TuiInputMonthRangeDirective),\n tuiValueTransformerFrom(TUI_INPUT_MONTH_RANGE_OPTIONS),\n ],\n hostDirectives: [TuiWithInput, TuiSelectLike, TuiDropdownAuto],\n host: {\n '[disabled]': 'disabled()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthRangeDirective extends TuiControl<TuiMonthRange | null> {\n private readonly input = inject(TuiInputDirective);\n private readonly months = inject(TUI_MONTHS);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly intermediateValue = signal<TuiMonth | null>(null);\n private readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n protected readonly icon = tuiIconEnd(inject(TUI_INPUT_MONTH_RANGE_OPTIONS).icon);\n protected readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n protected readonly valueEffect = effect(() => {\n const value = this.value();\n const months = this.months();\n const format = ({month, formattedYear}: TuiMonth): string =>\n `${months[month] ?? ''} ${formattedYear}`;\n\n this.input.value.set(\n value ? format(value.from) + RANGE_SEPARATOR_CHAR + format(value.to) : '',\n );\n });\n\n protected readonly calendarInit = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n calendar.options.rangeMode = true;\n }\n });\n\n protected readonly calendarSync = effect(() => {\n const calendar = this.calendar();\n\n calendar &&\n tuiSetSignal(calendar.value, this.intermediateValue() ?? this.value());\n });\n\n // TODO: use linked signal (Angular 19+)\n protected readonly resetIntermediateValue = effect(() => {\n this.intermediateValue.set(this.value() && null);\n });\n\n protected onMonthClickEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n const intermediateValue = this.intermediateValue();\n\n if (!intermediateValue) {\n this.intermediateValue.set(month);\n } else {\n this.onChange(TuiMonthRange.sort(intermediateValue, month));\n this.open.set(false);\n }\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n protected clear(): void {\n this.onChange(null);\n this.open.set(true);\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 {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\nexport const TuiInputMonthRange = [\n TuiInputMonthRangeDirective,\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":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-month-range.mjs","sources":["../../../projects/kit/components/input-month-range/input-month-range.options.ts","../../../projects/kit/components/input-month-range/input-month-range.directive.ts","../../../projects/kit/components/input-month-range/input-month-range.ts","../../../projects/kit/components/input-month-range/taiga-ui-kit-components-input-month-range.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 TuiMonthRange} from '@taiga-ui/cdk/date-time';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/di';\nimport {TUI_INPUT_DATE_DEFAULT_OPTIONS} from '@taiga-ui/kit/components/input-date';\nimport {TUI_INPUT_MONTH_OPTIONS} from '@taiga-ui/kit/components/input-month';\n\nexport interface TuiInputMonthRangeOptions {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiMonthRange | null, any>;\n}\n\nexport const TUI_INPUT_MONTH_RANGE_OPTIONS =\n new InjectionToken<TuiInputMonthRangeOptions>(\n ngDevMode ? 'TUI_INPUT_MONTH_RANGE_OPTIONS' : '',\n {\n factory: () => ({\n ...inject(TUI_INPUT_MONTH_OPTIONS),\n valueTransformer: TUI_IDENTITY_VALUE_TRANSFORMER,\n }),\n },\n );\n\nexport const tuiInputMonthRangeOptionsProvider = (\n options: Partial<TuiInputMonthRangeOptions>,\n): FactoryProvider =>\n tuiProvideOptions(\n TUI_INPUT_MONTH_RANGE_OPTIONS,\n options,\n TUI_INPUT_DATE_DEFAULT_OPTIONS,\n );\n","import {Directive, effect, inject, signal} from '@angular/core';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {\n RANGE_SEPARATOR_CHAR,\n type TuiMonth,\n TuiMonthRange,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiSetSignal} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiInjectAuxiliary, TuiSelectLike} 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_RANGE_OPTIONS} from './input-month-range.options';\n\n@Directive({\n selector: 'input[tuiInputMonthRange]',\n providers: [\n tuiAsControl(TuiInputMonthRangeDirective),\n tuiValueTransformerFrom(TUI_INPUT_MONTH_RANGE_OPTIONS),\n ],\n hostDirectives: [TuiWithInput, TuiSelectLike, TuiDropdownAuto],\n host: {\n '[disabled]': 'disabled()',\n '(input)': '$event.inputType?.includes(\"delete\") && clear()',\n },\n})\nexport class TuiInputMonthRangeDirective extends TuiControl<TuiMonthRange | null> {\n private readonly input = inject(TuiInputDirective);\n private readonly months = inject(TUI_MONTHS);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly intermediateValue = signal<TuiMonth | null>(null);\n private readonly calendar = tuiInjectAuxiliary<TuiCalendarMonth>(\n (x) => x instanceof TuiCalendarMonth,\n );\n\n protected readonly icon = tuiIconEnd(inject(TUI_INPUT_MONTH_RANGE_OPTIONS).icon);\n protected readonly dropdownEnabled = tuiDropdownEnabled(this.interactive);\n protected readonly valueEffect = effect(() => {\n const value = this.value();\n const months = this.months();\n const format = ({month, formattedYear}: TuiMonth): string =>\n `${months[month] ?? ''} ${formattedYear}`;\n\n this.input.value.set(\n value\n ? `${format(value.from)}${RANGE_SEPARATOR_CHAR}${format(value.to)}`\n : '',\n );\n });\n\n protected readonly calendarInit = effect(() => {\n const calendar = this.calendar();\n\n if (calendar) {\n calendar.options.rangeMode = true;\n }\n });\n\n protected readonly calendarSync = effect(() => {\n const calendar = this.calendar();\n\n calendar &&\n tuiSetSignal(calendar.value, this.intermediateValue() ?? this.value());\n });\n\n // TODO: use linked signal (Angular 19+)\n protected readonly resetIntermediateValue = effect(() => {\n this.intermediateValue.set(this.value() && null);\n });\n\n protected onMonthClickEffect = effect((onCleanup) => {\n const subscription = this.calendar()?.monthClick.subscribe((month) => {\n const intermediateValue = this.intermediateValue();\n\n if (intermediateValue) {\n this.onChange(TuiMonthRange.sort(intermediateValue, month));\n this.open.set(false);\n } else {\n this.intermediateValue.set(month);\n }\n });\n\n onCleanup(() => subscription?.unsubscribe());\n });\n\n protected clear(): void {\n this.onChange(null);\n this.open.set(true);\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 {TuiInputMonthRangeDirective} from './input-month-range.directive';\n\nexport const TuiInputMonthRange = [\n TuiInputMonthRangeDirective,\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":[],"mappings":"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"}
@@ -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.19", ngImport: i0, type: TuiInputMonthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", 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.20", ngImport: i0, type: TuiInputMonthDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", 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
66
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.TuiSelectLike }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputMonthDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  selector: 'input[tuiInputMonth]',
@@ -101,12 +101,12 @@ class TuiInputMonthComponent {
101
101
  const [year = 0, month = 0] = value.split('-').map(Number);
102
102
  this.host.onChange(new TuiMonth(year, month - 1));
103
103
  }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", 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.0.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.0.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.0.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 }); }
104
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputMonthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", 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.1.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.1.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.1.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
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputMonthComponent, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputMonthComponent, decorators: [{
108
108
  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.0.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.0.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"] }]
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.1.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.1.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"] }]
110
110
  }] });
111
111
 
112
112
  const TuiInputMonth = [