@taiga-ui/kit 5.22.0 → 5.23.0-canary.a178c55

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 (132) hide show
  1. package/components/calendar-range/calendar-range.component.d.ts +5 -4
  2. package/components/confirm/confirm.component.d.ts +1 -1
  3. package/components/counter/counter.component.d.ts +2 -2
  4. package/components/files/input-files/input-files-validator.directive.d.ts +3 -0
  5. package/components/input-color/input-color-content.component.d.ts +1 -0
  6. package/components/input-date/input-date.directive.d.ts +2 -2
  7. package/components/input-date-multi/input-date-multi.directive.d.ts +11 -3
  8. package/components/input-date-range/input-date-range.directive.d.ts +24 -4
  9. package/components/input-date-time/input-date-time.directive.d.ts +2 -2
  10. package/components/input-month/input-month.component.d.ts +2 -2
  11. package/components/input-number/number-mask.directive.d.ts +2 -2
  12. package/components/input-range/input-range.component.d.ts +10 -2
  13. package/components/input-year/input-year.directive.d.ts +2 -2
  14. package/components/line-clamp/index.d.ts +1 -0
  15. package/components/line-clamp/line-clamp-fallback.directive.d.ts +22 -0
  16. package/components/line-clamp/line-clamp.component.d.ts +16 -11
  17. package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -2
  18. package/components/pincode/pincode.component.d.ts +1 -1
  19. package/components/range/range.component.d.ts +10 -2
  20. package/components/rating/rating.component.d.ts +1 -1
  21. package/components/textarea/textarea.component.d.ts +12 -2
  22. package/directives/unfinished-validator/unfinished-validator-refresh.directive.d.ts +6 -3
  23. package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
  24. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -9
  26. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
  28. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
  30. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +12 -14
  32. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
  34. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-kit-components-comment.mjs +3 -3
  36. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
  38. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-copy.mjs +2 -2
  41. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-counter.mjs +6 -2
  43. package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-kit-components-files.mjs +29 -10
  45. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-input-color.mjs +3 -2
  47. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +10 -2
  49. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +29 -5
  51. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +3 -3
  53. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-input-date.mjs +13 -11
  55. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -2
  57. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-input-month.mjs +4 -4
  59. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-input-number.mjs +7 -5
  61. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +2 -2
  63. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +3 -3
  65. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-input-range.mjs +10 -2
  67. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +2 -2
  69. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components-input-time.mjs +3 -3
  71. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-components-input-year.mjs +6 -2
  73. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-components-like.mjs +2 -2
  75. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +78 -31
  77. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-message.mjs +2 -2
  79. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-meter.mjs +3 -3
  81. package/fesm2022/taiga-ui-kit-components-meter.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +7 -6
  83. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-pin.mjs +3 -3
  85. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-pincode.mjs +3 -1
  87. package/fesm2022/taiga-ui-kit-components-pincode.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-preview.mjs +3 -3
  89. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-progress.mjs +6 -6
  91. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  93. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components-range.mjs +14 -2
  95. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -1
  97. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-components-segmented.mjs +3 -3
  99. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +2 -2
  101. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-components-status.mjs +3 -3
  103. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  105. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-kit-components-tabs.mjs +7 -6
  107. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-kit-components-textarea.mjs +19 -5
  109. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -4
  111. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-toast.mjs +2 -2
  113. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +3 -3
  115. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +2 -2
  117. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-directives-connected.mjs +3 -3
  119. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-directives-fade.mjs +3 -3
  121. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +3 -3
  123. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +2 -2
  125. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +3 -3
  127. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +2 -2
  129. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +20 -11
  131. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  132. package/package.json +39 -39
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-tooltip.mjs","sources":["../../../projects/kit/directives/tooltip/tooltip.options.ts","../../../projects/kit/directives/tooltip/tooltip.directive.ts","../../../projects/kit/directives/tooltip/taiga-ui-kit-directives-tooltip.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport const [TUI_TOOLTIP_OPTIONS, tuiTooltipOptionsProvider] = tuiCreateOptions({\n icon: '',\n appearance: 'icon',\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n type DoCheck,\n inject,\n input,\n type Signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiSetSignal, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAppearanceOptionsProvider,\n tuiAppearanceState,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_HINT_OPTIONS,\n TuiHintDescribe,\n TuiHintDirective,\n TuiHintHover,\n} from '@taiga-ui/core/portals/hint';\nimport {TUI_ICON_START} from '@taiga-ui/core/tokens';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {map} from 'rxjs';\n\nimport {TUI_TOOLTIP_OPTIONS} from './tooltip.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './tooltip.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-tooltip-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'tui-icon[tuiTooltip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_TOOLTIP_OPTIONS),\n {\n provide: TUI_ICON_START,\n useFactory: () =>\n inject(TUI_TOOLTIP_OPTIONS).icon || inject(TUI_HINT_OPTIONS).icon,\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDescribe,\n inputs: ['tuiHintDescribe: tuiTooltipDescribe'],\n },\n {\n directive: TuiHintDirective,\n inputs: ['tuiHint: tuiTooltip', 'tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n tuiTooltip: '',\n class: 'tui-interactive',\n '[attr.data-size]': 'size()',\n '[attr.tabindex]': 'describe.id() ? null : 0',\n '(click.prevent)': '0',\n '(mousedown.prevent)': '0',\n '(pointerdown)': 'onClick($event)',\n },\n})\nexport class TuiTooltip implements DoCheck {\n private readonly textfield = inject(TuiTextfieldComponent, {optional: true});\n private readonly isMobile = inject(WA_IS_MOBILE);\n\n protected readonly describe = inject(TuiHintDescribe);\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly state: Signal<unknown> = tuiAppearanceState(\n toSignal(\n inject(TuiHintHover).pipe(\n map((hover) => (hover && this.tuiTooltip() ? 'hover' : null)),\n tuiWatch(),\n ),\n {initialValue: null},\n ),\n );\n\n public readonly size = input<TuiSizeS>('m');\n public readonly tuiTooltip = input<unknown>();\n\n public ngDoCheck(): void {\n if (this.textfield) {\n tuiSetSignal(this.describe.id, this.textfield.input()?.nativeElement.id);\n }\n }\n\n protected onClick(event: MouseEvent): void {\n if (!this.isMobile) {\n return;\n }\n\n event.stopPropagation();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-tooltip.mjs","sources":["../../../projects/kit/directives/tooltip/tooltip.options.ts","../../../projects/kit/directives/tooltip/tooltip.directive.ts","../../../projects/kit/directives/tooltip/taiga-ui-kit-directives-tooltip.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport const [TUI_TOOLTIP_OPTIONS, tuiTooltipOptionsProvider] = tuiCreateOptions({\n icon: '',\n appearance: 'icon',\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n type DoCheck,\n inject,\n input,\n type Signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_IS_MOBILE} from '@ng-web-apis/platform';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {tuiSetSignal, tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n tuiAppearanceOptionsProvider,\n tuiAppearanceState,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TUI_HINT_OPTIONS,\n TuiHintDescribe,\n TuiHintDirective,\n TuiHintHover,\n} from '@taiga-ui/core/portals/hint';\nimport {TUI_ICON_START} from '@taiga-ui/core/tokens';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {map} from 'rxjs';\n\nimport {TUI_TOOLTIP_OPTIONS} from './tooltip.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './tooltip.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-tooltip-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'tui-icon[tuiTooltip]',\n providers: [\n tuiAppearanceOptionsProvider(TUI_TOOLTIP_OPTIONS),\n {\n provide: TUI_ICON_START,\n useFactory: () =>\n inject(TUI_TOOLTIP_OPTIONS).icon || inject(TUI_HINT_OPTIONS).icon,\n },\n ],\n hostDirectives: [\n TuiWithAppearance,\n {\n directive: TuiHintDescribe,\n inputs: ['tuiHintDescribe: tuiTooltipDescribe'],\n },\n {\n directive: TuiHintDirective,\n inputs: ['tuiHint: tuiTooltip', 'tuiHintAppearance', 'tuiHintContext'],\n },\n ],\n host: {\n tuiTooltip: '',\n class: 'tui-interactive',\n '[attr.data-size]': 'size()',\n '[attr.tabindex]': 'describe.id() ? null : 0',\n '(click.prevent)': '0',\n '(mousedown.prevent)': '0',\n '(pointerdown)': 'onClick($event)',\n },\n})\nexport class TuiTooltip implements DoCheck {\n private readonly textfield = inject(TuiTextfieldComponent, {optional: true});\n private readonly isMobile = inject(WA_IS_MOBILE);\n\n protected readonly describe = inject(TuiHintDescribe);\n protected readonly nothing = tuiWithStyles(Styles);\n\n protected readonly state: Signal<unknown> = tuiAppearanceState(\n toSignal(\n inject(TuiHintHover).pipe(\n map((hover) => (hover && this.tuiTooltip() ? 'hover' : null)),\n tuiWatch(),\n ),\n {initialValue: null},\n ),\n );\n\n public readonly size = input<TuiSizeS>('m');\n public readonly tuiTooltip = input<unknown>();\n\n public ngDoCheck(): void {\n if (this.textfield) {\n tuiSetSignal(this.describe.id, this.textfield.input()?.nativeElement.id);\n }\n }\n\n protected onClick(event: MouseEvent): void {\n if (!this.isMobile) {\n return;\n }\n\n event.stopPropagation();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { TuiValidationError } from '@taiga-ui/cdk/classes';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Directive, signal, input } from '@angular/core';
3
+ import { inject, INJECTOR, Directive, signal, input } from '@angular/core';
4
4
  import { toSignal } from '@angular/core/rxjs-interop';
5
5
  import { NgControl, NG_VALIDATORS } from '@angular/forms';
6
6
  import { tuiProvide } from '@taiga-ui/cdk/utils/di';
7
7
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
8
8
  import { TUI_DEFAULT_ERROR_MESSAGE, TUI_VALIDATION_ERRORS } from '@taiga-ui/core/tokens';
9
9
  import { isObservable } from 'rxjs';
10
+ import { TuiValidator } from '@taiga-ui/cdk/directives/validator';
10
11
 
11
12
  function tuiCreateUnfinishedValidator(element, message) {
12
13
  return ({ value, }) => value === null && element.value !== ''
@@ -14,25 +15,33 @@ function tuiCreateUnfinishedValidator(element, message) {
14
15
  : null;
15
16
  }
16
17
 
17
- class TuiUnfinishedValidatorRefresh {
18
+ class TuiUnfinishedValidatorRefresh extends TuiValidator {
18
19
  constructor() {
20
+ super(...arguments);
21
+ this.injector = inject(INJECTOR);
19
22
  this.element = tuiInjectElement();
20
- this.control = inject(NgControl, { self: true, optional: true });
23
+ this.control = null;
24
+ }
25
+ ngOnInit() {
26
+ this.control = this.injector.get(NgControl, null, { optional: true, self: true });
21
27
  }
22
28
  onInput() {
23
- if (this.control?.control?.value !== null || this.element.value === '') {
24
- this.updateValueAndValidity();
29
+ if (this.control?.field || // Signal forms have nothing else to re-validate them, so they are always asked
30
+ // Reactive forms has silent `updateValueAndValidity({emitEvent: false})` (not compatible with signal forms) inside control components
31
+ this.control?.control?.value !== null ||
32
+ this.element.value === '') {
33
+ this.onChange();
25
34
  }
26
35
  }
27
- updateValueAndValidity() {
28
- this.control?.control?.updateValueAndValidity();
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiUnfinishedValidatorRefresh, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiUnfinishedValidatorRefresh, isStandalone: true, host: { listeners: { "blur": "updateValueAndValidity()", "input": "onInput()" } }, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiUnfinishedValidatorRefresh, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TuiUnfinishedValidatorRefresh, isStandalone: true, host: { listeners: { "blur": "onChange()", "input": "onInput()" } }, providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidatorRefresh, true)], usesInheritance: true, ngImport: i0 }); }
32
38
  }
33
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TuiUnfinishedValidatorRefresh, decorators: [{
34
40
  type: Directive,
35
- args: [{ host: { '(blur)': 'updateValueAndValidity()', '(input)': 'onInput()' } }]
41
+ args: [{
42
+ providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidatorRefresh, true)],
43
+ host: { '(blur)': 'onChange()', '(input)': 'onInput()' },
44
+ }]
36
45
  }] });
37
46
 
38
47
  class TuiUnfinishedValidator {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-unfinished-validator.mjs","sources":["../../../projects/kit/directives/unfinished-validator/unfinished.validator.ts","../../../projects/kit/directives/unfinished-validator/unfinished-validator-refresh.directive.ts","../../../projects/kit/directives/unfinished-validator/unfinished-validator.directive.ts","../../../projects/kit/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.ts"],"sourcesContent":["import {type AbstractControl, type ValidatorFn} from '@angular/forms';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport function tuiCreateUnfinishedValidator(\n element: HTMLInputElement,\n message: PolymorpheusContent,\n): ValidatorFn {\n return ({\n value,\n }: AbstractControl): {tuiUnfinished: TuiValidationError | string} | null =>\n value === null && element.value !== ''\n ? {tuiUnfinished: new TuiValidationError(message)}\n : null;\n}\n","import {Directive, inject} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n@Directive({host: {'(blur)': 'updateValueAndValidity()', '(input)': 'onInput()'}})\nexport class TuiUnfinishedValidatorRefresh {\n private readonly element = tuiInjectElement<HTMLInputElement>();\n private readonly control = inject(NgControl, {self: true, optional: true});\n\n protected onInput(): void {\n if (this.control?.control?.value !== null || this.element.value === '') {\n this.updateValueAndValidity();\n }\n }\n\n protected updateValueAndValidity(): void {\n this.control?.control?.updateValueAndValidity();\n }\n}\n","import {Directive, inject, input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NG_VALIDATORS, type Validator} from '@angular/forms';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_DEFAULT_ERROR_MESSAGE, TUI_VALIDATION_ERRORS} from '@taiga-ui/core/tokens';\nimport {isObservable} from 'rxjs';\n\nimport {tuiCreateUnfinishedValidator} from './unfinished.validator';\nimport {TuiUnfinishedValidatorRefresh} from './unfinished-validator-refresh.directive';\n\n@Directive({\n selector: 'input[tuiUnfinishedValidator]',\n providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],\n hostDirectives: [TuiUnfinishedValidatorRefresh],\n})\nexport class TuiUnfinishedValidator implements Validator {\n private readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n private readonly error = inject(TUI_VALIDATION_ERRORS)['tuiUnfinished'];\n private readonly fallback = this.error ? signal(this.error) : this.default;\n\n private readonly message = isObservable(this.error)\n ? toSignal(this.error)\n : this.fallback;\n\n public readonly tuiUnfinishedValidator = input('');\n\n public readonly validate = tuiCreateUnfinishedValidator(\n tuiInjectElement<HTMLInputElement>(),\n () => this.tuiUnfinishedValidator() || this.message(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiUnfinishedValidatorRefresh"],"mappings":";;;;;;;;;;AAIM,SAAU,4BAA4B,CACxC,OAAyB,EACzB,OAA4B,EAAA;AAE5B,IAAA,OAAO,CAAC,EACJ,KAAK,GACS,KACd,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK;UAC9B,EAAC,aAAa,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC;UAC/C,IAAI;AAClB;;MCTa,6BAA6B,CAAA;AAD1C,IAAA,WAAA,GAAA;QAEqB,IAAA,CAAA,OAAO,GAAG,gBAAgB,EAAoB;AAC9C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;AAW7E,IAAA;IATa,OAAO,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,EAAE;YACpE,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;IAEU,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACnD;+GAZS,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,0BAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,SAAS;mBAAC,EAAC,IAAI,EAAE,EAAC,QAAQ,EAAE,0BAA0B,EAAE,SAAS,EAAE,WAAW,EAAC,EAAC;;;MCYpE,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAMqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAC3C,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC;AACtD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO;AAEzD,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK;AAC9C,cAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;AACrB,cAAE,IAAI,CAAC,QAAQ;AAEH,QAAA,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,4BAA4B,CACnD,gBAAgB,EAAoB,EACpC,MAAM,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CACxD;AACJ,IAAA;+GAfY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAHpB,CAAC,UAAU,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,6BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG3D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;oBACzC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAAA,sBAAA,EAA0B,IAAI,CAAC,CAAC;oBACpE,cAAc,EAAE,CAAC,6BAA6B,CAAC;AAClD,iBAAA;;;ACfD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-unfinished-validator.mjs","sources":["../../../projects/kit/directives/unfinished-validator/unfinished.validator.ts","../../../projects/kit/directives/unfinished-validator/unfinished-validator-refresh.directive.ts","../../../projects/kit/directives/unfinished-validator/unfinished-validator.directive.ts","../../../projects/kit/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.ts"],"sourcesContent":["import {type AbstractControl, type ValidatorFn} from '@angular/forms';\nimport {TuiValidationError} from '@taiga-ui/cdk/classes';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport function tuiCreateUnfinishedValidator(\n element: HTMLInputElement,\n message: PolymorpheusContent,\n): ValidatorFn {\n return ({\n value,\n }: AbstractControl): {tuiUnfinished: TuiValidationError | string} | null =>\n value === null && element.value !== ''\n ? {tuiUnfinished: new TuiValidationError(message)}\n : null;\n}\n","import {Directive, inject, INJECTOR, type OnInit} from '@angular/core';\nimport {NG_VALIDATORS, NgControl} from '@angular/forms';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n@Directive({\n providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidatorRefresh, true)],\n host: {'(blur)': 'onChange()', '(input)': 'onInput()'},\n})\nexport class TuiUnfinishedValidatorRefresh extends TuiValidator implements OnInit {\n private readonly injector = inject(INJECTOR);\n private readonly element = tuiInjectElement<HTMLInputElement>();\n private control: (NgControl & {field?: unknown}) | null = null;\n\n public ngOnInit(): void {\n this.control = this.injector.get(NgControl, null, {optional: true, self: true});\n }\n\n protected onInput(): void {\n if (\n this.control?.field || // Signal forms have nothing else to re-validate them, so they are always asked\n // Reactive forms has silent `updateValueAndValidity({emitEvent: false})` (not compatible with signal forms) inside control components\n this.control?.control?.value !== null ||\n this.element.value === ''\n ) {\n this.onChange();\n }\n }\n}\n","import {Directive, inject, input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NG_VALIDATORS, type Validator} from '@angular/forms';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TUI_DEFAULT_ERROR_MESSAGE, TUI_VALIDATION_ERRORS} from '@taiga-ui/core/tokens';\nimport {isObservable} from 'rxjs';\n\nimport {tuiCreateUnfinishedValidator} from './unfinished.validator';\nimport {TuiUnfinishedValidatorRefresh} from './unfinished-validator-refresh.directive';\n\n@Directive({\n selector: 'input[tuiUnfinishedValidator]',\n providers: [tuiProvide(NG_VALIDATORS, TuiUnfinishedValidator, true)],\n hostDirectives: [TuiUnfinishedValidatorRefresh],\n})\nexport class TuiUnfinishedValidator implements Validator {\n private readonly default = inject(TUI_DEFAULT_ERROR_MESSAGE);\n private readonly error = inject(TUI_VALIDATION_ERRORS)['tuiUnfinished'];\n private readonly fallback = this.error ? signal(this.error) : this.default;\n\n private readonly message = isObservable(this.error)\n ? toSignal(this.error)\n : this.fallback;\n\n public readonly tuiUnfinishedValidator = input('');\n\n public readonly validate = tuiCreateUnfinishedValidator(\n tuiInjectElement<HTMLInputElement>(),\n () => this.tuiUnfinishedValidator() || this.message(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiUnfinishedValidatorRefresh"],"mappings":";;;;;;;;;;;AAIM,SAAU,4BAA4B,CACxC,OAAyB,EACzB,OAA4B,EAAA;AAE5B,IAAA,OAAO,CAAC,EACJ,KAAK,GACS,KACd,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK;UAC9B,EAAC,aAAa,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC;UAC/C,IAAI;AAClB;;ACJM,MAAO,6BAA8B,SAAQ,YAAY,CAAA;AAJ/D,IAAA,WAAA,GAAA;;AAKqB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC3B,IAAA,CAAA,OAAO,GAAG,gBAAgB,EAAoB;QACvD,IAAA,CAAA,OAAO,GAA2C,IAAI;AAgBjE,IAAA;IAdU,QAAQ,GAAA;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;IACnF;IAEU,OAAO,GAAA;AACb,QAAA,IACI,IAAI,CAAC,OAAO,EAAE,KAAK;;AAEnB,YAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI;AACrC,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE,EAC3B;YACE,IAAI,CAAC,QAAQ,EAAE;QACnB;IACJ;+GAlBS,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAH3B,CAAC,UAAU,CAAC,aAAa,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGlE,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;oBACP,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAAA,6BAAA,EAAiC,IAAI,CAAC,CAAC;oBAC3E,IAAI,EAAE,EAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAC;AACzD,iBAAA;;;MCOY,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAMqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAC3C,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,eAAe,CAAC;AACtD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO;AAEzD,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK;AAC9C,cAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;AACrB,cAAE,IAAI,CAAC,QAAQ;AAEH,QAAA,IAAA,CAAA,sBAAsB,GAAG,KAAK,CAAC,EAAE,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,4BAA4B,CACnD,gBAAgB,EAAoB,EACpC,MAAM,IAAI,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CACxD;AACJ,IAAA;+GAfY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAHpB,CAAC,UAAU,CAAC,aAAa,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,6BAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAG3D,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,+BAA+B;oBACzC,SAAS,EAAE,CAAC,UAAU,CAAC,aAAa,EAAA,sBAAA,EAA0B,IAAI,CAAC,CAAC;oBACpE,cAAc,EAAE,CAAC,6BAA6B,CAAC;AAClD,iBAAA;;;ACfD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "5.22.0",
3
+ "version": "5.23.0-canary.a178c55",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -43,11 +43,11 @@
43
43
  "@ng-web-apis/mutation-observer": "^5.3.0",
44
44
  "@ng-web-apis/platform": "^5.3.0",
45
45
  "@ng-web-apis/resize-observer": "^5.3.0",
46
- "@taiga-ui/cdk": "5.22.0",
47
- "@taiga-ui/core": "5.22.0",
48
- "@taiga-ui/i18n": "5.22.0",
46
+ "@taiga-ui/cdk": "5.23.0",
47
+ "@taiga-ui/core": "5.23.0",
48
+ "@taiga-ui/i18n": "5.23.0",
49
49
  "@taiga-ui/polymorpheus": "^5.0.1",
50
- "@taiga-ui/styles": "5.22.0",
50
+ "@taiga-ui/styles": "5.23.0",
51
51
  "rxjs": ">=7.0.0"
52
52
  },
53
53
  "module": "fesm2022/taiga-ui-kit.mjs",
@@ -80,10 +80,6 @@
80
80
  "types": "./utils/index.d.ts",
81
81
  "default": "./fesm2022/taiga-ui-kit-utils.mjs"
82
82
  },
83
- "./components/accordion": {
84
- "types": "./components/accordion/index.d.ts",
85
- "default": "./fesm2022/taiga-ui-kit-components-accordion.mjs"
86
- },
87
83
  "./components/action-bar": {
88
84
  "types": "./components/action-bar/index.d.ts",
89
85
  "default": "./fesm2022/taiga-ui-kit-components-action-bar.mjs"
@@ -92,6 +88,10 @@
92
88
  "types": "./components/avatar/index.d.ts",
93
89
  "default": "./fesm2022/taiga-ui-kit-components-avatar.mjs"
94
90
  },
91
+ "./components/accordion": {
92
+ "types": "./components/accordion/index.d.ts",
93
+ "default": "./fesm2022/taiga-ui-kit-components-accordion.mjs"
94
+ },
95
95
  "./components/badge": {
96
96
  "types": "./components/badge/index.d.ts",
97
97
  "default": "./fesm2022/taiga-ui-kit-components-badge.mjs"
@@ -120,14 +120,14 @@
120
120
  "types": "./components/calendar-month/index.d.ts",
121
121
  "default": "./fesm2022/taiga-ui-kit-components-calendar-month.mjs"
122
122
  },
123
- "./components/chip": {
124
- "types": "./components/chip/index.d.ts",
125
- "default": "./fesm2022/taiga-ui-kit-components-chip.mjs"
126
- },
127
123
  "./components/calendar-range": {
128
124
  "types": "./components/calendar-range/index.d.ts",
129
125
  "default": "./fesm2022/taiga-ui-kit-components-calendar-range.mjs"
130
126
  },
127
+ "./components/chip": {
128
+ "types": "./components/chip/index.d.ts",
129
+ "default": "./fesm2022/taiga-ui-kit-components-chip.mjs"
130
+ },
131
131
  "./components/combo-box": {
132
132
  "types": "./components/combo-box/index.d.ts",
133
133
  "default": "./fesm2022/taiga-ui-kit-components-combo-box.mjs"
@@ -196,17 +196,17 @@
196
196
  "types": "./components/input-date-time/index.d.ts",
197
197
  "default": "./fesm2022/taiga-ui-kit-components-input-date-time.mjs"
198
198
  },
199
- "./components/input-inline": {
200
- "types": "./components/input-inline/index.d.ts",
201
- "default": "./fesm2022/taiga-ui-kit-components-input-inline.mjs"
199
+ "./components/input-month-range": {
200
+ "types": "./components/input-month-range/index.d.ts",
201
+ "default": "./fesm2022/taiga-ui-kit-components-input-month-range.mjs"
202
202
  },
203
203
  "./components/input-month": {
204
204
  "types": "./components/input-month/index.d.ts",
205
205
  "default": "./fesm2022/taiga-ui-kit-components-input-month.mjs"
206
206
  },
207
- "./components/input-month-range": {
208
- "types": "./components/input-month-range/index.d.ts",
209
- "default": "./fesm2022/taiga-ui-kit-components-input-month-range.mjs"
207
+ "./components/input-inline": {
208
+ "types": "./components/input-inline/index.d.ts",
209
+ "default": "./fesm2022/taiga-ui-kit-components-input-inline.mjs"
210
210
  },
211
211
  "./components/input-number": {
212
212
  "types": "./components/input-number/index.d.ts",
@@ -256,10 +256,6 @@
256
256
  "types": "./components/message/index.d.ts",
257
257
  "default": "./fesm2022/taiga-ui-kit-components-message.mjs"
258
258
  },
259
- "./components/meter": {
260
- "types": "./components/meter/index.d.ts",
261
- "default": "./fesm2022/taiga-ui-kit-components-meter.mjs"
262
- },
263
259
  "./components/notification-middle": {
264
260
  "types": "./components/notification-middle/index.d.ts",
265
261
  "default": "./fesm2022/taiga-ui-kit-components-notification-middle.mjs"
@@ -268,6 +264,10 @@
268
264
  "types": "./components/multi-select/index.d.ts",
269
265
  "default": "./fesm2022/taiga-ui-kit-components-multi-select.mjs"
270
266
  },
267
+ "./components/meter": {
268
+ "types": "./components/meter/index.d.ts",
269
+ "default": "./fesm2022/taiga-ui-kit-components-meter.mjs"
270
+ },
271
271
  "./components/pager": {
272
272
  "types": "./components/pager/index.d.ts",
273
273
  "default": "./fesm2022/taiga-ui-kit-components-pager.mjs"
@@ -280,14 +280,14 @@
280
280
  "types": "./components/pin/index.d.ts",
281
281
  "default": "./fesm2022/taiga-ui-kit-components-pin.mjs"
282
282
  },
283
- "./components/preview": {
284
- "types": "./components/preview/index.d.ts",
285
- "default": "./fesm2022/taiga-ui-kit-components-preview.mjs"
286
- },
287
283
  "./components/pincode": {
288
284
  "types": "./components/pincode/index.d.ts",
289
285
  "default": "./fesm2022/taiga-ui-kit-components-pincode.mjs"
290
286
  },
287
+ "./components/preview": {
288
+ "types": "./components/preview/index.d.ts",
289
+ "default": "./fesm2022/taiga-ui-kit-components-preview.mjs"
290
+ },
291
291
  "./components/progress": {
292
292
  "types": "./components/progress/index.d.ts",
293
293
  "default": "./fesm2022/taiga-ui-kit-components-progress.mjs"
@@ -316,10 +316,6 @@
316
316
  "types": "./components/routable-dialog/index.d.ts",
317
317
  "default": "./fesm2022/taiga-ui-kit-components-routable-dialog.mjs"
318
318
  },
319
- "./components/segmented": {
320
- "types": "./components/segmented/index.d.ts",
321
- "default": "./fesm2022/taiga-ui-kit-components-segmented.mjs"
322
- },
323
319
  "./components/select": {
324
320
  "types": "./components/select/index.d.ts",
325
321
  "default": "./fesm2022/taiga-ui-kit-components-select.mjs"
@@ -328,6 +324,10 @@
328
324
  "types": "./components/shrink-wrap/index.d.ts",
329
325
  "default": "./fesm2022/taiga-ui-kit-components-shrink-wrap.mjs"
330
326
  },
327
+ "./components/segmented": {
328
+ "types": "./components/segmented/index.d.ts",
329
+ "default": "./fesm2022/taiga-ui-kit-components-segmented.mjs"
330
+ },
331
331
  "./components/status": {
332
332
  "types": "./components/status/index.d.ts",
333
333
  "default": "./fesm2022/taiga-ui-kit-components-status.mjs"
@@ -340,14 +340,14 @@
340
340
  "types": "./components/switch/index.d.ts",
341
341
  "default": "./fesm2022/taiga-ui-kit-components-switch.mjs"
342
342
  },
343
- "./components/textarea": {
344
- "types": "./components/textarea/index.d.ts",
345
- "default": "./fesm2022/taiga-ui-kit-components-textarea.mjs"
346
- },
347
343
  "./components/tabs": {
348
344
  "types": "./components/tabs/index.d.ts",
349
345
  "default": "./fesm2022/taiga-ui-kit-components-tabs.mjs"
350
346
  },
347
+ "./components/textarea": {
348
+ "types": "./components/textarea/index.d.ts",
349
+ "default": "./fesm2022/taiga-ui-kit-components-textarea.mjs"
350
+ },
351
351
  "./components/tiles": {
352
352
  "types": "./components/tiles/index.d.ts",
353
353
  "default": "./fesm2022/taiga-ui-kit-components-tiles.mjs"
@@ -460,13 +460,13 @@
460
460
  "types": "./pipes/stringify/index.d.ts",
461
461
  "default": "./fesm2022/taiga-ui-kit-pipes-stringify.mjs"
462
462
  },
463
- "./pipes/stringify-content": {
464
- "types": "./pipes/stringify-content/index.d.ts",
465
- "default": "./fesm2022/taiga-ui-kit-pipes-stringify-content.mjs"
466
- },
467
463
  "./pipes/sort-countries": {
468
464
  "types": "./pipes/sort-countries/index.d.ts",
469
465
  "default": "./fesm2022/taiga-ui-kit-pipes-sort-countries.mjs"
466
+ },
467
+ "./pipes/stringify-content": {
468
+ "types": "./pipes/stringify-content/index.d.ts",
469
+ "default": "./fesm2022/taiga-ui-kit-pipes-stringify-content.mjs"
470
470
  }
471
471
  },
472
472
  "sideEffects": false,