@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
@@ -39,7 +39,7 @@ class TuiInputTimeDirective extends TuiControl {
39
39
  this.fillers = inject(TUI_TIME_TEXTS);
40
40
  this.icon = tuiIconEnd(this.options.icon);
41
41
  this.dropdownEnabled = tuiDropdownEnabled(computed(() => !this.native && this.interactive()));
42
- this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'filler', computed((filler = this.fillers()?.[this.timeMode()] ?? '') => this.postfix() ? '' : this.prefix() + filler), {});
42
+ this.filler = tuiDirectiveBinding(TuiTextfieldComponent, 'filler', computed((filler = this.fillers()?.[this.timeMode()] ?? '') => this.postfix() ? '' : `${this.prefix()}${filler}`), {});
43
43
  this.mask = tuiMaskito(computed(() => this.computeMask({
44
44
  ...this.options,
45
45
  mode: this.timeMode(),
@@ -119,7 +119,7 @@ class TuiInputTimeDirective extends TuiControl {
119
119
  ]);
120
120
  return {
121
121
  ...options,
122
- plugins: options.plugins.concat(caretGuardPlugin, maskitoAddOnFocusPlugin(prefix + postfix), maskitoRemoveOnBlurPlugin(prefix + postfix), mode.includes('AA') ? inputModeSwitchPlugin : []),
122
+ plugins: options.plugins.concat(caretGuardPlugin, maskitoAddOnFocusPlugin(`${prefix}${postfix}`), maskitoRemoveOnBlurPlugin(`${prefix}${postfix}`), mode.includes('AA') ? inputModeSwitchPlugin : []),
123
123
  };
124
124
  }
125
125
  findNearestTime(value, items) {
@@ -130,17 +130,17 @@ class TuiInputTimeDirective extends TuiControl {
130
130
  : previous);
131
131
  }
132
132
  stringify(time) {
133
- return this.prefix() + (time?.toString(this.timeMode()) || '') + this.postfix();
133
+ return `${this.prefix()}${time?.toString(this.timeMode()) || ''}${this.postfix()}`;
134
134
  }
135
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
136
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputTimeDirective, isStandalone: true, selector: "input[tuiInputTime]", inputs: { accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, timeMode: { classPropertyName: "timeMode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, postfix: { classPropertyName: "postfix", publicName: "postfix", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
136
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputTimeDirective, isStandalone: true, selector: "input[tuiInputTime]", inputs: { accept: { classPropertyName: "accept", publicName: "accept", isSignal: true, isRequired: false, transformFunction: null }, timeMode: { classPropertyName: "timeMode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, postfix: { classPropertyName: "postfix", publicName: "postfix", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)", "blur": "onBlur($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
137
137
  tuiAsControl(TuiInputTimeDirective),
138
138
  tuiAsTextfieldAccessor(TuiInputTimeDirective),
139
139
  tuiValueTransformerFrom(TUI_INPUT_TIME_OPTIONS),
140
140
  tuiAsOptionContent(TuiSelectOption),
141
141
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.MaskitoDirective }], ngImport: i0 }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputTimeDirective, decorators: [{
144
144
  type: Directive,
145
145
  args: [{
146
146
  selector: 'input[tuiInputTime]',
@@ -183,10 +183,10 @@ class TuiNativeTimePicker {
183
183
  const timeString = time ? time.toString('HH:MM:SS.MSS') : '';
184
184
  return dateString + timeString;
185
185
  }
186
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNativeTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
187
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiNativeTimePicker, isStandalone: true, host: { properties: { "attr.list": "null" } }, ngImport: i0 }); }
186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNativeTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
187
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiNativeTimePicker, isStandalone: true, host: { properties: { "attr.list": "null" } }, ngImport: i0 }); }
188
188
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNativeTimePicker, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNativeTimePicker, decorators: [{
190
190
  type: Directive,
191
191
  args: [{ host: { '[attr.list]': 'null' } }]
192
192
  }] });
@@ -201,12 +201,12 @@ class TuiInputTimeComponent extends TuiNativeTimePicker {
201
201
  setValue(value) {
202
202
  this.host.setValue(TuiTime.fromString(value));
203
203
  }
204
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", 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=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=time]{position:absolute;inset-inline-end:0;inset-inline-start:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0;pointer-events:auto}tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=time]::-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 }); }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
205
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputTimeComponent, isStandalone: true, selector: "input[tuiInputTime][type=\"time\"]", 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=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=time]{position:absolute;inset-inline-end:0;inset-inline-start:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0;pointer-events:auto}tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=time]::-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 }); }
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputTimeComponent, decorators: [{
208
208
  type: Component,
209
- args: [{ selector: 'input[tuiInputTime][type="time"]', 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=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=time]{position:absolute;inset-inline-end:0;inset-inline-start:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0;pointer-events:auto}tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.0.0\"])~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
209
+ args: [{ selector: 'input[tuiInputTime][type="time"]', 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=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\n />\n}\n", styles: ["tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=time]{position:absolute;inset-inline-end:0;inset-inline-start:auto;inline-size:calc(var(--t-right) + var(--t-padding));opacity:0;margin:0;padding:0;pointer-events:auto}tui-textfield input[tuiInputTime]:where(*[data-tui-version=\"5.1.0\"])~.t-content input[type=time]::-webkit-calendar-picker-indicator{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}\n"] }]
210
210
  }] });
211
211
 
212
212
  const TuiInputTime = [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-time.mjs","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {type MaskitoTimeParams} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {type TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputTimeOptions extends Required<\n Pick<MaskitoTimeParams, 'mode' | 'timeSegmentMaxValues' | 'timeSegmentMinValues'>\n> {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiTime | null, any> | null;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: '@tui.clock',\n mode: 'HH:MM',\n timeSegmentMaxValues: {},\n timeSegmentMinValues: {},\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_TIME_OPTIONS, tuiInputTimeOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, inject, input, untracked} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoAddOnFocusPlugin,\n maskitoCaretGuard,\n maskitoRemoveOnBlurPlugin,\n maskitoSelectionChangeHandler,\n type MaskitoTimeMode,\n maskitoTimeOptionsGenerator,\n type MaskitoTimeParams,\n} from '@maskito/kit';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\n\n@Directive({\n selector: 'input[tuiInputTime]',\n providers: [\n tuiAsControl(TuiInputTimeDirective),\n tuiAsTextfieldAccessor(TuiInputTimeDirective),\n tuiValueTransformerFrom(TUI_INPUT_TIME_OPTIONS),\n tuiAsOptionContent(TuiSelectOption),\n ],\n hostDirectives: [TuiWithInput, MaskitoDirective],\n host: {\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n '(blur)': 'onBlur($event.target.value)',\n },\n})\nexport class TuiInputTimeDirective\n extends TuiControl<TuiTime | null>\n implements TuiTextfieldAccessor<TuiTime | null>\n{\n private readonly input = inject(TuiInputDirective);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly options = inject(TUI_INPUT_TIME_OPTIONS);\n private readonly fillers = inject(TUI_TIME_TEXTS);\n protected readonly icon = tuiIconEnd(this.options.icon);\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly filler = tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'filler',\n computed((filler = this.fillers()?.[this.timeMode()] ?? '') =>\n this.postfix() ? '' : this.prefix() + filler,\n ),\n {},\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n this.computeMask({\n ...this.options,\n mode: this.timeMode(),\n step: this.interactive() && !this.dropdown.content() ? 1 : 0,\n prefix: this.prefix(),\n postfix: this.postfix(),\n }),\n ),\n );\n\n public readonly accept = input<readonly TuiTime[]>([]);\n public readonly timeMode = input<MaskitoTimeMode>(this.options.mode, {alias: 'mode'});\n public readonly prefix = input('');\n public readonly postfix = input('');\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(WA_IS_MOBILE);\n\n public setValue(value: TuiTime | null): void {\n this.onChange(value);\n\n if (value) {\n this.input.value.set(this.stringify(value));\n } else {\n this.input.setValue(value);\n }\n\n if (!value && this.dropdownEnabled()) {\n this.open.set(true);\n }\n }\n\n public override writeValue(value: TuiTime | 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 untracked(() => this.input.value.set(this.stringify(this.value())));\n }\n }\n\n protected onInput(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n const time =\n value.length === this.timeMode().length ? TuiTime.fromString(value) : null;\n const newValue =\n this.accept().length && time\n ? this.findNearestTime(time, this.accept())\n : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue && newValue !== time) {\n this.input.value.set(this.stringify(newValue));\n }\n }\n\n protected toggle(): void {\n this.open.update((x) => !x);\n }\n\n protected onBlur(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n\n if (value && !this.value()) {\n const time = TuiTime.fromString(value);\n\n const newValue = this.accept().length\n ? this.findNearestTime(time, this.accept())\n : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue) {\n this.input.value.set(this.stringify(newValue));\n }\n }\n }\n\n private computeMask(params: Required<MaskitoTimeParams>): MaskitoOptions {\n const options = maskitoTimeOptionsGenerator(params);\n const {mode, prefix, postfix} = params;\n const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {\n element.inputMode =\n element.selectionStart! >= mode.indexOf(' AA') ? 'text' : 'numeric';\n });\n const caretGuardPlugin = maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]);\n\n return {\n ...options,\n plugins: options.plugins.concat(\n caretGuardPlugin,\n maskitoAddOnFocusPlugin(prefix + postfix),\n maskitoRemoveOnBlurPlugin(prefix + postfix),\n mode.includes('AA') ? inputModeSwitchPlugin : [],\n ),\n };\n }\n\n private findNearestTime(value: TuiTime, items: readonly TuiTime[]): TuiTime | null {\n // eslint-disable-next-line no-restricted-syntax\n return items.reduce((previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n );\n }\n\n private stringify(time: TuiTime | null): string {\n return this.prefix() + (time?.toString(this.timeMode()) || '') + this.postfix();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n HostAttributeToken,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type MaskitoTimeMode} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiDay, TuiTime} from '@taiga-ui/cdk/date-time';\nimport {\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputTimeDirective} from './input-time.directive';\n\n@Directive({host: {'[attr.list]': 'null'}})\nexport abstract class TuiNativeTimePicker {\n protected readonly list = inject(new HostAttributeToken('list'), {optional: true});\n\n protected getStep(timeMode: MaskitoTimeMode): number {\n switch (timeMode) {\n case 'HH:MM:SS':\n case 'HH:MM:SS AA':\n return 1;\n case 'HH:MM:SS.MSS':\n case 'HH:MM:SS.MSS AA':\n return 0.001;\n default:\n return 60;\n }\n }\n\n protected toISOString(\n value: TuiTime | readonly [TuiDay, TuiTime | null] | null,\n ): string {\n const [day, time] = Array.isArray(value) ? value : [null, value];\n const dateString = day ? day.toJSON() + (time ? 'T' : '') : '';\n const timeString = time ? time.toString('HH:MM:SS.MSS') : '';\n\n return dateString + timeString;\n }\n}\n\n@Component({\n selector: 'input[tuiInputTime][type=\"time\"]',\n imports: [TuiTextfieldContent],\n templateUrl: './input-time.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-time.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 TuiInputTimeComponent extends TuiNativeTimePicker {\n private readonly control: TuiControl<TuiTime | null> = inject(TuiControl);\n\n protected readonly host = inject(TuiInputTimeDirective);\n protected readonly value = computed(() => this.toISOString(this.control.value()));\n protected readonly step = computed(() => this.getStep(this.host.timeMode()));\n\n protected setValue(value: string): void {\n this.host.setValue(TuiTime.fromString(value));\n }\n}\n","@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\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';\n\nimport {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\n\nexport const TuiInputTime = [\n TuiInputTimeDirective,\n TuiInputTimeComponent,\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-time.mjs","sources":["../../../projects/kit/components/input-time/input-time.options.ts","../../../projects/kit/components/input-time/input-time.directive.ts","../../../projects/kit/components/input-time/input-time.component.ts","../../../projects/kit/components/input-time/input-time.template.html","../../../projects/kit/components/input-time/input-time.ts","../../../projects/kit/components/input-time/taiga-ui-kit-components-input-time.ts"],"sourcesContent":["import {type MaskitoTimeParams} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {type TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputTimeOptions extends Required<\n Pick<MaskitoTimeParams, 'mode' | 'timeSegmentMaxValues' | 'timeSegmentMinValues'>\n> {\n readonly icon: string;\n readonly valueTransformer: TuiValueTransformer<TuiTime | null, any> | null;\n}\n\nexport const TUI_INPUT_TIME_DEFAULT_OPTIONS: TuiInputTimeOptions = {\n icon: '@tui.clock',\n mode: 'HH:MM',\n timeSegmentMaxValues: {},\n timeSegmentMinValues: {},\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_TIME_OPTIONS, tuiInputTimeOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_TIME_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, inject, input, untracked} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {type MaskitoOptions} from '@maskito/core';\nimport {\n maskitoAddOnFocusPlugin,\n maskitoCaretGuard,\n maskitoRemoveOnBlurPlugin,\n maskitoSelectionChangeHandler,\n type MaskitoTimeMode,\n maskitoTimeOptionsGenerator,\n type MaskitoTimeParams,\n} from '@maskito/kit';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {TuiTime} from '@taiga-ui/cdk/date-time';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldAccessor,\n type TuiTextfieldAccessor,\n TuiTextfieldComponent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiIconEnd} from '@taiga-ui/core/directives/icons';\nimport {\n TuiDropdownDirective,\n tuiDropdownEnabled,\n TuiDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TuiSelectOption} from '@taiga-ui/kit/components/select';\nimport {TUI_TIME_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_TIME_OPTIONS} from './input-time.options';\n\n@Directive({\n selector: 'input[tuiInputTime]',\n providers: [\n tuiAsControl(TuiInputTimeDirective),\n tuiAsTextfieldAccessor(TuiInputTimeDirective),\n tuiValueTransformerFrom(TUI_INPUT_TIME_OPTIONS),\n tuiAsOptionContent(TuiSelectOption),\n ],\n hostDirectives: [TuiWithInput, MaskitoDirective],\n host: {\n inputmode: 'numeric',\n '[disabled]': 'disabled()',\n '(click)': 'toggle()',\n '(input)': 'onInput($event.target.value)',\n '(blur)': 'onBlur($event.target.value)',\n },\n})\nexport class TuiInputTimeDirective\n extends TuiControl<TuiTime | null>\n implements TuiTextfieldAccessor<TuiTime | null>\n{\n private readonly input = inject(TuiInputDirective);\n private readonly dropdown = inject(TuiDropdownDirective);\n private readonly open = inject(TuiDropdownOpen).open;\n private readonly options = inject(TUI_INPUT_TIME_OPTIONS);\n private readonly fillers = inject(TUI_TIME_TEXTS);\n protected readonly icon = tuiIconEnd(this.options.icon);\n protected readonly dropdownEnabled = tuiDropdownEnabled(\n computed(() => !this.native && this.interactive()),\n );\n\n protected readonly filler = tuiDirectiveBinding(\n TuiTextfieldComponent,\n 'filler',\n computed((filler = this.fillers()?.[this.timeMode()] ?? '') =>\n this.postfix() ? '' : `${this.prefix()}${filler}`,\n ),\n {},\n );\n\n protected readonly mask = tuiMaskito(\n computed(() =>\n this.computeMask({\n ...this.options,\n mode: this.timeMode(),\n step: this.interactive() && !this.dropdown.content() ? 1 : 0,\n prefix: this.prefix(),\n postfix: this.postfix(),\n }),\n ),\n );\n\n public readonly accept = input<readonly TuiTime[]>([]);\n public readonly timeMode = input<MaskitoTimeMode>(this.options.mode, {alias: 'mode'});\n public readonly prefix = input('');\n public readonly postfix = input('');\n public readonly native =\n !!inject(TuiWithNativePicker, {optional: true}) && inject(WA_IS_MOBILE);\n\n public setValue(value: TuiTime | null): void {\n this.onChange(value);\n\n if (value) {\n this.input.value.set(this.stringify(value));\n } else {\n this.input.setValue(value);\n }\n\n if (!value && this.dropdownEnabled()) {\n this.open.set(true);\n }\n }\n\n public override writeValue(value: TuiTime | 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 untracked(() => this.input.value.set(this.stringify(this.value())));\n }\n }\n\n protected onInput(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n const time =\n value.length === this.timeMode().length ? TuiTime.fromString(value) : null;\n const newValue =\n this.accept().length && time\n ? this.findNearestTime(time, this.accept())\n : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue && newValue !== time) {\n this.input.value.set(this.stringify(newValue));\n }\n }\n\n protected toggle(): void {\n this.open.update((x) => !x);\n }\n\n protected onBlur(valueWithAffixes: string): void {\n const value = valueWithAffixes\n .replace(this.prefix(), '')\n .replace(this.postfix(), '');\n\n if (value && !this.value()) {\n const time = TuiTime.fromString(value);\n\n const newValue = this.accept().length\n ? this.findNearestTime(time, this.accept())\n : time;\n\n this.control?.control?.updateValueAndValidity({emitEvent: false});\n this.onChange(newValue);\n\n if (newValue) {\n this.input.value.set(this.stringify(newValue));\n }\n }\n }\n\n private computeMask(params: Required<MaskitoTimeParams>): MaskitoOptions {\n const options = maskitoTimeOptionsGenerator(params);\n const {mode, prefix, postfix} = params;\n const inputModeSwitchPlugin = maskitoSelectionChangeHandler((element) => {\n element.inputMode =\n element.selectionStart! >= mode.indexOf(' AA') ? 'text' : 'numeric';\n });\n const caretGuardPlugin = maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]);\n\n return {\n ...options,\n plugins: options.plugins.concat(\n caretGuardPlugin,\n maskitoAddOnFocusPlugin(`${prefix}${postfix}`),\n maskitoRemoveOnBlurPlugin(`${prefix}${postfix}`),\n mode.includes('AA') ? inputModeSwitchPlugin : [],\n ),\n };\n }\n\n private findNearestTime(value: TuiTime, items: readonly TuiTime[]): TuiTime | null {\n // eslint-disable-next-line no-restricted-syntax\n return items.reduce((previous, current) =>\n Math.abs(current.valueOf() - value.valueOf()) <\n Math.abs(previous.valueOf() - value.valueOf())\n ? current\n : previous,\n );\n }\n\n private stringify(time: TuiTime | null): string {\n return `${this.prefix()}${time?.toString(this.timeMode()) || ''}${this.postfix()}`;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n HostAttributeToken,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {type MaskitoTimeMode} from '@maskito/kit';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiDay, TuiTime} from '@taiga-ui/cdk/date-time';\nimport {\n TuiTextfieldContent,\n TuiWithNativePicker,\n} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputTimeDirective} from './input-time.directive';\n\n@Directive({host: {'[attr.list]': 'null'}})\nexport abstract class TuiNativeTimePicker {\n protected readonly list = inject(new HostAttributeToken('list'), {optional: true});\n\n protected getStep(timeMode: MaskitoTimeMode): number {\n switch (timeMode) {\n case 'HH:MM:SS':\n case 'HH:MM:SS AA':\n return 1;\n case 'HH:MM:SS.MSS':\n case 'HH:MM:SS.MSS AA':\n return 0.001;\n default:\n return 60;\n }\n }\n\n protected toISOString(\n value: TuiTime | readonly [TuiDay, TuiTime | null] | null,\n ): string {\n const [day, time] = Array.isArray(value) ? value : [null, value];\n const dateString = day ? day.toJSON() + (time ? 'T' : '') : '';\n const timeString = time ? time.toString('HH:MM:SS.MSS') : '';\n\n return dateString + timeString;\n }\n}\n\n@Component({\n selector: 'input[tuiInputTime][type=\"time\"]',\n imports: [TuiTextfieldContent],\n templateUrl: './input-time.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-time.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 TuiInputTimeComponent extends TuiNativeTimePicker {\n private readonly control: TuiControl<TuiTime | null> = inject(TuiControl);\n\n protected readonly host = inject(TuiInputTimeDirective);\n protected readonly value = computed(() => this.toISOString(this.control.value()));\n protected readonly step = computed(() => this.getStep(this.host.timeMode()));\n\n protected setValue(value: string): void {\n this.host.setValue(TuiTime.fromString(value));\n }\n}\n","@if (host.native) {\n <input\n *tuiTextfieldContent\n type=\"time\"\n [attr.list]=\"list\"\n [step]=\"step()\"\n [value]=\"value()\"\n (change)=\"setValue($any($event.target).value)\"\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';\n\nimport {TuiInputTimeComponent} from './input-time.component';\nimport {TuiInputTimeDirective} from './input-time.directive';\n\nexport const TuiInputTime = [\n TuiInputTimeDirective,\n TuiInputTimeComponent,\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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"}
@@ -73,13 +73,13 @@ class TuiInputYearDirective extends TuiControl {
73
73
  const value = Number(raw);
74
74
  this.onChange(!raw || Number.isNaN(value) ? null : value);
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputYearDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
77
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiInputYearDirective, isStandalone: true, selector: "input[tuiInputYear]", 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: { "maxlength": "4", "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputYearDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputYearDirective, isStandalone: true, selector: "input[tuiInputYear]", 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: { "maxlength": "4", "inputmode": "numeric" }, listeners: { "click": "toggle()", "input": "onInput($event.target.value)" }, properties: { "disabled": "disabled()" } }, providers: [
78
78
  tuiAsControl(TuiInputYearDirective),
79
79
  tuiValueTransformerFrom(TUI_INPUT_YEAR_OPTIONS),
80
80
  ], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithInput }, { directive: i2.MaskitoDirective }, { directive: i3.TuiDropdownAuto }], ngImport: i0 }); }
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiInputYearDirective, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputYearDirective, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  selector: 'input[tuiInputYear]',
@@ -26,10 +26,10 @@ class TuiItemsWithMoreDirective {
26
26
  maxWidth() {
27
27
  return Math.max(...Array.from(this.el.children, ({ clientWidth }) => clientWidth));
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiItemsWithMoreDirective, isStandalone: true, inputs: { itemsLimit: { classPropertyName: "itemsLimit", publicName: "itemsLimit", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, linesLimit: { classPropertyName: "linesLimit", publicName: "linesLimit", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class._multiline": "linesLimit() > 1", "style.--t-min-width.px": "maxWidth()" } }, usesOnChanges: true, ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiItemsWithMoreDirective, isStandalone: true, inputs: { itemsLimit: { classPropertyName: "itemsLimit", publicName: "itemsLimit", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, linesLimit: { classPropertyName: "linesLimit", publicName: "linesLimit", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class._multiline": "linesLimit() > 1", "style.--t-min-width.px": "maxWidth()" } }, usesOnChanges: true, ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  host: {
@@ -107,10 +107,10 @@ class TuiItemsWithMoreService extends Observable {
107
107
  const index = firstItemLastRow + this.getOverflowIndex(lastRow);
108
108
  return Math.min(itemsLimit() - 1, index);
109
109
  }
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
111
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreService }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
111
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreService }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreService, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreService, decorators: [{
114
114
  type: Injectable
115
115
  }], ctorParameters: () => [] });
116
116
 
@@ -118,10 +118,10 @@ class TuiMore {
118
118
  static ngTemplateContextGuard(_dir, _ctx) {
119
119
  return true;
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
122
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiMore, isStandalone: true, selector: "[tuiMore]", ngImport: i0 }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMore, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
122
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiMore, isStandalone: true, selector: "[tuiMore]", ngImport: i0 }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMore, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMore, decorators: [{
125
125
  type: Directive,
126
126
  args: [{ selector: '[tuiMore]' }]
127
127
  }] });
@@ -145,8 +145,8 @@ class TuiItemsWithMoreComponent {
145
145
  return ((index > this.lastIndex() && index !== required() && align() === 'end') ||
146
146
  (index < this.lastIndex() && index !== required() && align() === 'start'));
147
147
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiItemsWithMoreComponent, isStandalone: true, selector: "tui-items-with-more", outputs: { lastIndexChange: "lastIndexChange" }, providers: [
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiItemsWithMoreComponent, isStandalone: true, selector: "tui-items-with-more", outputs: { lastIndexChange: "lastIndexChange" }, providers: [
150
150
  WaMutationObserverService,
151
151
  WaResizeObserverService,
152
152
  TuiItemsWithMoreService,
@@ -160,7 +160,7 @@ class TuiItemsWithMoreComponent {
160
160
  },
161
161
  ], queries: [{ propertyName: "more", first: true, predicate: TuiMore, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "items", predicate: TuiItem, descendants: true, read: TemplateRef, isSignal: true }], hostDirectives: [{ directive: TuiItemsWithMoreDirective, inputs: ["itemsLimit", "itemsLimit", "required", "required", "side", "side", "linesLimit", "linesLimit"] }], ngImport: i0, template: "@if (directive.side() === 'start') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n@for (item of items(); track item) {\n <div\n class=\"t-item\"\n [class.t-item_hidden]=\"isHidden($index)\"\n >\n <ng-container *ngTemplateOutlet=\"item\" />\n </div>\n}\n@if (directive.side() === 'end') {\n <ng-container [ngTemplateOutlet]=\"template\" />\n}\n<ng-template #template>\n @if (!isMoreHidden()) {\n <span class=\"t-item t-item_more\">\n <ng-container\n [ngTemplateOutlet]=\"more() || null\"\n [ngTemplateOutletContext]=\"{$implicit: lastIndex()}\"\n />\n </span>\n }\n</ng-template>\n", styles: [":host{position:relative;display:flex;min-inline-size:0;flex:1;align-items:center;white-space:nowrap;gap:0!important}:host._multiline{flex-wrap:wrap}.t-item{flex:0 0 auto;max-inline-size:100%}.t-item_hidden{position:absolute;inset-block-end:0;visibility:hidden}:host._multiline .t-item_more:not(:empty){min-inline-size:var(--t-min-width, 0)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiItemsWithMoreComponent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiItemsWithMoreComponent, decorators: [{
164
164
  type: Component,
165
165
  args: [{ selector: 'tui-items-with-more', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
166
166
  WaMutationObserverService,
@@ -22,8 +22,8 @@ class TuiLike {
22
22
  this.color = input('', { alias: 'tuiLike' });
23
23
  this.size = input(inject(TUI_LIKE_OPTIONS).size);
24
24
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLike, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.19", type: TuiLike, isStandalone: true, selector: "input[tuiLike][type=checkbox]", inputs: { color: { classPropertyName: "color", publicName: "tuiLike", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiLike": "" }, properties: { "attr.data-size": "size()", "attr.data-mode": "\"\"", "style.--t-icon-color": "color()" } }, providers: [
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLike, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.20", type: TuiLike, isStandalone: true, selector: "input[tuiLike][type=checkbox]", inputs: { color: { classPropertyName: "color", publicName: "tuiLike", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiLike": "" }, properties: { "attr.data-size": "size()", "attr.data-mode": "\"\"", "style.--t-icon-color": "color()" } }, providers: [
27
27
  tuiAppearanceOptionsProvider(TUI_LIKE_OPTIONS),
28
28
  {
29
29
  provide: TUI_ICON_START,
@@ -33,9 +33,9 @@ class TuiLike {
33
33
  provide: TUI_ICON_END,
34
34
  useFactory: () => inject(TUI_LIKE_OPTIONS).icons.checked,
35
35
  },
36
- ], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiIcons, inputs: ["iconStart", "uncheckedIcon", "iconEnd", "checkedIcon"] }], ngImport: i0, template: '', isInline: true, styles: ["[tuiLike]:where(*[data-tui-version=\"5.0.0\"]){inline-size:1em;block-size:1em;font-size:var(--tui-height-m);border-radius:100%;cursor:pointer;margin:0;flex-shrink:0}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):before,[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;font-size:1.25rem;transition-property:transform,opacity}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):after{opacity:0;color:var(--t-icon-color, inherit);transform:scale(0)}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):checked:before{opacity:0}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):checked:after{opacity:1;transform:scale(1);transition-timing-function:cubic-bezier(.2,.6,.5,1.8),ease-in-out}[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]{font-size:var(--tui-height-s)}[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:before,[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:after{font-size:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
+ ], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiIcons, inputs: ["iconStart", "uncheckedIcon", "iconEnd", "checkedIcon"] }], ngImport: i0, template: '', isInline: true, styles: ["[tuiLike]:where(*[data-tui-version=\"5.1.0\"]){inline-size:1em;block-size:1em;font-size:var(--tui-height-m);border-radius:100%;cursor:pointer;margin:0;flex-shrink:0}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):before,[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;font-size:1.25rem;transition-property:transform,opacity}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):after{opacity:0;color:var(--t-icon-color, inherit);transform:scale(0)}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):checked:before{opacity:0}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):checked:after{opacity:1;transform:scale(1);transition-timing-function:cubic-bezier(.2,.6,.5,1.8),ease-in-out}[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]{font-size:var(--tui-height-s)}[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]:before,[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]:after{font-size:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLike, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLike, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'input[tuiLike][type=checkbox]', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
41
41
  tuiAppearanceOptionsProvider(TUI_LIKE_OPTIONS),
@@ -58,7 +58,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImpo
58
58
  '[attr.data-size]': 'size()',
59
59
  '[attr.data-mode]': '""',
60
60
  '[style.--t-icon-color]': 'color()',
61
- }, styles: ["[tuiLike]:where(*[data-tui-version=\"5.0.0\"]){inline-size:1em;block-size:1em;font-size:var(--tui-height-m);border-radius:100%;cursor:pointer;margin:0;flex-shrink:0}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):before,[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;font-size:1.25rem;transition-property:transform,opacity}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):after{opacity:0;color:var(--t-icon-color, inherit);transform:scale(0)}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):checked:before{opacity:0}[tuiLike]:where(*[data-tui-version=\"5.0.0\"]):checked:after{opacity:1;transform:scale(1);transition-timing-function:cubic-bezier(.2,.6,.5,1.8),ease-in-out}[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]{font-size:var(--tui-height-s)}[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:before,[tuiLike]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:after{font-size:1rem}\n"] }]
61
+ }, styles: ["[tuiLike]:where(*[data-tui-version=\"5.1.0\"]){inline-size:1em;block-size:1em;font-size:var(--tui-height-m);border-radius:100%;cursor:pointer;margin:0;flex-shrink:0}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):before,[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;font-size:1.25rem;transition-property:transform,opacity}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):after{opacity:0;color:var(--t-icon-color, inherit);transform:scale(0)}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):checked:before{opacity:0}[tuiLike]:where(*[data-tui-version=\"5.1.0\"]):checked:after{opacity:1;transform:scale(1);transition-timing-function:cubic-bezier(.2,.6,.5,1.8),ease-in-out}[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]{font-size:var(--tui-height-s)}[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]:before,[tuiLike]:where(*[data-tui-version=\"5.1.0\"])[data-size=s]:after{font-size:1rem}\n"] }]
62
62
  }] });
63
63
 
64
64
  /**
@@ -27,10 +27,10 @@ class TuiLineClampBox extends TuiHintComponent {
27
27
  get width() {
28
28
  return this.accessor.getClientRect().width;
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClampBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TuiLineClampBox, isStandalone: true, selector: "tui-line-clamp-box", host: { properties: { "style.min-width.px": "width", "style.line-height.px": "host.line()" } }, providers: TUI_HINT_PROVIDERS, usesInheritance: true, ngImport: i0, template: '<ng-container *polymorpheusOutlet="content() as text">{{ text }}</ng-container>', isInline: true, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:min-content;padding:.75rem 1rem;margin-inline-start:calc(-1px - 1rem);margin-block-start:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClampBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: TuiLineClampBox, isStandalone: true, selector: "tui-line-clamp-box", host: { properties: { "style.min-width.px": "width", "style.line-height.px": "host.line()" } }, providers: TUI_HINT_PROVIDERS, usesInheritance: true, ngImport: i0, template: '<ng-container *polymorpheusOutlet="content() as text">{{ text }}</ng-container>', isInline: true, styles: [":host{position:absolute;box-shadow:var(--tui-shadow-medium);inline-size:min-content;padding:.75rem 1rem;margin-inline-start:calc(-1px - 1rem);margin-block-start:calc(-1px - .75rem);border-radius:var(--tui-radius-l);box-sizing:content-box;border:1px solid var(--tui-border-normal);background:var(--tui-background-base);color:var(--tui-text-primary);overflow-wrap:break-word}:host.tui-enter,:host.tui-leave{animation-name:tuiFade}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClampBox, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClampBox, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'tui-line-clamp-box', imports: [PolymorpheusOutlet], template: '<ng-container *polymorpheusOutlet="content() as text">{{ text }}</ng-container>', changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_HINT_PROVIDERS, host: {
36
36
  '[style.min-width.px]': 'width',
@@ -48,10 +48,10 @@ class TuiLineClampPositionDirective extends TuiPositionAccessor {
48
48
  const { top, left } = this.accessor.getClientRect();
49
49
  return [left, top];
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClampPositionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
52
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiLineClampPositionDirective, isStandalone: true, selector: "[tuiLineClampPosition]", providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)], usesInheritance: true, ngImport: i0 }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClampPositionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiLineClampPositionDirective, isStandalone: true, selector: "[tuiLineClampPosition]", providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)], usesInheritance: true, ngImport: i0 }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClampPositionDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClampPositionDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[tuiLineClampPosition]',
@@ -93,10 +93,10 @@ class TuiLineClamp {
93
93
  this.el.style.maxHeight = tuiPx(this.maxHeight());
94
94
  this.el.classList.toggle('_overflown', this.overflown);
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClamp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.19", type: TuiLineClamp, isStandalone: true, selector: "tui-line-clamp", inputs: { lineHeight: { classPropertyName: "lineHeight", publicName: "lineHeight", isSignal: true, isRequired: false, transformFunction: null }, linesLimit: { classPropertyName: "linesLimit", publicName: "linesLimit", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflownChange: "overflownChange" }, host: { listeners: { "transitionend": "update()", "mouseenter": "update()", "resize": "update()" }, properties: { "style.line-height.px": "line()" } }, providers: [{ provide: TUI_HINT_COMPONENT, useValue: TuiLineClampBox }], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiTransitioned }], ngImport: i0, template: "<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n</div>\n", styles: [":host{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:block;overflow:hidden}:host._overflown .t-wrapper{-webkit-box-orient:block-axis}.t-wrapper{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLineClampPositionDirective, selector: "[tuiLineClampPosition]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClamp, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.20", type: TuiLineClamp, isStandalone: true, selector: "tui-line-clamp", inputs: { lineHeight: { classPropertyName: "lineHeight", publicName: "lineHeight", isSignal: true, isRequired: false, transformFunction: null }, linesLimit: { classPropertyName: "linesLimit", publicName: "linesLimit", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { overflownChange: "overflownChange" }, host: { listeners: { "transitionend": "update()", "mouseenter": "update()", "resize": "update()" }, properties: { "style.line-height.px": "line()" } }, providers: [{ provide: TUI_HINT_COMPONENT, useValue: TuiLineClampBox }], viewQueries: [{ propertyName: "outlet", first: true, predicate: TuiHintDirective, descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1.TuiTransitioned }], ngImport: i0, template: "<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n</div>\n", styles: [":host{transition-property:max-height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:block;overflow:hidden}:host._overflown .t-wrapper{-webkit-box-orient:block-axis}.t-wrapper{display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i2.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: TuiLineClampPositionDirective, selector: "[tuiLineClampPosition]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiLineClamp, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiLineClamp, decorators: [{
100
100
  type: Component,
101
101
  args: [{ selector: 'tui-line-clamp', imports: [PolymorpheusOutlet, TuiHint, TuiLineClampPositionDirective], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: TUI_HINT_COMPONENT, useValue: TuiLineClampBox }], hostDirectives: [TuiTransitioned], host: {
102
102
  '[style.line-height.px]': 'line()',
@@ -6,26 +6,26 @@ import * as i1 from '@taiga-ui/core/directives/appearance';
6
6
  import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
7
7
 
8
8
  class Styles {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-message-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.0.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.0.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-message-5.1.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.1.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.1.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, decorators: [{
13
13
  type: Component,
14
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-message-${TUI_VERSION}`, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.0.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.0.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"] }]
14
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-message-${TUI_VERSION}`, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.1.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.1.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"] }]
15
15
  }] });
16
16
  class TuiMessage {
17
17
  constructor() {
18
18
  this.nothing = tuiWithStyles(Styles);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiMessage, isStandalone: true, selector: "[tuiMessage]", providers: [
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiMessage, isStandalone: true, selector: "[tuiMessage]", providers: [
22
22
  {
23
23
  provide: TUI_APPEARANCE_OPTIONS,
24
24
  useValue: { appearance: 'neutral' },
25
25
  },
26
26
  ], hostDirectives: [{ directive: i1.TuiWithAppearance }], ngImport: i0 }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMessage, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMessage, decorators: [{
29
29
  type: Directive,
30
30
  args: [{
31
31
  selector: '[tuiMessage]',
@@ -39,10 +39,10 @@ class TuiMultiSelectGroupComponent {
39
39
  const others = value.filter((a) => values.every((b) => !matcher(a, b)));
40
40
  this.control?.control?.setValue(this.checked() ? others : others.concat(values));
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectGroupComponent, isStandalone: true, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "options", predicate: (TuiOptionWithValue), isSignal: true }], ngImport: i0, template: "@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n", styles: [":host:before{display:none}.t-label{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem}.t-label:last-child{display:none}:host-context(tui-data-list[data-size=\"s\"]) .t-label{padding:.1875rem .375rem}:host-context(tui-sheet-dialog) .t-label.t-label{font:var(--tui-typography-heading-h6);padding:.5rem 0}.t-button{font:var(--tui-typography-body-s)}:host-context(tui-data-list[data-size=\"l\"]) .t-button{margin-block-start:.1875rem}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiMultiSelectGroupComponent, isStandalone: true, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "options", predicate: (TuiOptionWithValue), isSignal: true }], ngImport: i0, template: "@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n", styles: [":host:before{display:none}.t-label{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem}.t-label:last-child{display:none}:host-context(tui-data-list[data-size=\"s\"]) .t-label{padding:.1875rem .375rem}:host-context(tui-sheet-dialog) .t-label.t-label{font:var(--tui-typography-heading-h6);padding:.5rem 0}.t-button{font:var(--tui-typography-body-s)}:host-context(tui-data-list[data-size=\"l\"]) .t-button{margin-block-start:.1875rem}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectGroupComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'tui-opt-group[tuiMultiSelectGroup]', imports: [TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n", styles: [":host:before{display:none}.t-label{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem}.t-label:last-child{display:none}:host-context(tui-data-list[data-size=\"s\"]) .t-label{padding:.1875rem .375rem}:host-context(tui-sheet-dialog) .t-label.t-label{font:var(--tui-typography-heading-h6);padding:.5rem 0}.t-button{font:var(--tui-typography-body-s)}:host-context(tui-data-list[data-size=\"l\"]) .t-button{margin-block-start:.1875rem}\n"] }]
48
48
  }] });
@@ -60,8 +60,8 @@ class TuiMultiSelectOption {
60
60
  controlValue.some((item) => this.handlers?.identityMatcher()(item, optionValue) ??
61
61
  item === optionValue));
62
62
  }
63
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectOption, isStandalone: true, selector: "ng-component", host: { properties: { "attr.aria-selected": "selected()" } }, ngImport: i0, template: `
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiMultiSelectOption, isStandalone: true, selector: "ng-component", host: { properties: { "attr.aria-selected": "selected()" } }, ngImport: i0, template: `
65
65
  @if (option) {
66
66
  <input
67
67
  aria-hidden="true"
@@ -73,7 +73,7 @@ class TuiMultiSelectOption {
73
73
  }
74
74
  `, isInline: true, styles: [":host[data-size=m] input{margin-inline-start:.25rem}:host-context(tui-dropdown-mobile) [tuiCheckbox],:host-context(tui-sheet-dialog) [tuiCheckbox]{order:100;margin-inline-start:auto}\n"], dependencies: [{ kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectOption, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectOption, decorators: [{
77
77
  type: Component,
78
78
  args: [{ imports: [TuiCheckbox], template: `
79
79
  @if (option) {
@@ -94,10 +94,10 @@ class TuiMultiSelectGroupDirective {
94
94
  .closest('[role="listbox"]')
95
95
  ?.setAttribute('aria-multiselectable', 'true');
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiMultiSelectGroupDirective, isStandalone: true, selector: "[tuiMultiSelectGroup]", providers: [tuiAsOptionContent(TuiMultiSelectOption)], ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiMultiSelectGroupDirective, isStandalone: true, selector: "[tuiMultiSelectGroup]", providers: [tuiAsOptionContent(TuiMultiSelectOption)], ngImport: i0 }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectGroupDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  selector: '[tuiMultiSelectGroup]',
@@ -125,10 +125,10 @@ class TuiMultiSelectNative {
125
125
  const options = Array.from(this.el.selectedOptions).map(({ index }) => index);
126
126
  this.textfield.cva()?.onChange(items.filter((_, i) => options.includes(i)));
127
127
  }
128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectNative, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectNative, isStandalone: true, selector: "select[tuiMultiSelect]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "multiple": "" }, listeners: { "click.stop.zoneless": "0", "input": "onInput()" }, properties: { "size": "mobile ? 1 : 2" } }, providers: [tuiAsOptionContent(TuiMultiSelectOption)], hostDirectives: [{ directive: i1.TuiInputChipDirective }, { directive: i2.TuiSelectLike }], ngImport: i0, template: "@let list = items();\n@if (list && !isFlat(list)) {\n @for (label of labels(); track $index) {\n <optgroup [label]=\"label\">\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list[$index]}\" />\n </optgroup>\n }\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (group of list; track $index) {\n <tui-opt-group\n tuiMultiSelectGroup\n [label]=\"labels()[$index] || ''\"\n >\n @for (item of group; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-opt-group>\n }\n </tui-data-list>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list}\" />\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (item of list; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-data-list>\n }\n}\n\n<ng-template\n #options\n let-items\n>\n @for (option of items; track option) {\n <option\n [disabled]=\"handlers.disabledItemHandler()(option)\"\n [selected]=\"isSelected()(option)\"\n [value]=\"handlers.stringify()(option)\"\n >\n {{ handlers.stringify()(option) }}\n </option>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: i3.TuiOptionWithValue, selector: "button[tuiOption][value], a[tuiOption][value], label[tuiOption][value]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: ["label"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectNative, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiMultiSelectNative, isStandalone: true, selector: "select[tuiMultiSelect]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "multiple": "" }, listeners: { "click.stop.zoneless": "0", "input": "onInput()" }, properties: { "size": "mobile ? 1 : 2" } }, providers: [tuiAsOptionContent(TuiMultiSelectOption)], hostDirectives: [{ directive: i1.TuiInputChipDirective }, { directive: i2.TuiSelectLike }], ngImport: i0, template: "@let list = items();\n@if (list && !isFlat(list)) {\n @for (label of labels(); track $index) {\n <optgroup [label]=\"label\">\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list[$index]}\" />\n </optgroup>\n }\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (group of list; track $index) {\n <tui-opt-group\n tuiMultiSelectGroup\n [label]=\"labels()[$index] || ''\"\n >\n @for (item of group; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-opt-group>\n }\n </tui-data-list>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list}\" />\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (item of list; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-data-list>\n }\n}\n\n<ng-template\n #options\n let-items\n>\n @for (option of items; track option) {\n <option\n [disabled]=\"handlers.disabledItemHandler()(option)\"\n [selected]=\"isSelected()(option)\"\n [value]=\"handlers.stringify()(option)\"\n >\n {{ handlers.stringify()(option) }}\n </option>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: i3.TuiOptionWithValue, selector: "button[tuiOption][value], a[tuiOption][value], label[tuiOption][value]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: ["label"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectNative, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiMultiSelectNative, decorators: [{
132
132
  type: Component,
133
133
  args: [{ selector: 'select[tuiMultiSelect]', imports: [NgTemplateOutlet, TuiDataList, TuiMultiSelectGroupComponent, TuiTextfield], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsOptionContent(TuiMultiSelectOption)], hostDirectives: [TuiInputChipDirective, TuiSelectLike], host: {
134
134
  multiple: '',
@@ -26,15 +26,15 @@ class TuiNotificationMiddleComponent {
26
26
  ? this.context.closable()
27
27
  : this.context.closable;
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
31
31
  <tui-loader class="t-loader" />
32
32
  <ng-container *polymorpheusOutlet="context.content as text">
33
33
  {{ text }}
34
34
  </ng-container>
35
35
  `, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-typography-body-m);--tui-scale: .5}:host:before{inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{ selector: 'tui-notification-middle', imports: [PolymorpheusOutlet, TuiLoader], template: `
40
40
  <tui-loader class="t-loader" />
@@ -58,10 +58,10 @@ class TuiNotificationMiddleService extends TuiModalService {
58
58
  this.options = { closable: false };
59
59
  this.content = TuiNotificationMiddleComponent;
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{ providedIn: 'root' }]
67
67
  }] });
@@ -70,10 +70,10 @@ class TuiNotificationMiddle {
70
70
  constructor() {
71
71
  this.tuiNotificationMiddleOptions = input({});
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
77
77
  type: Directive,
78
78
  args: [{
79
79
  selector: 'ng-template[tuiNotificationMiddle]',