@taiga-ui/core 3.39.1-dev.main.f92cc75 → 3.40.0-canary.f82bb42

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 (145) hide show
  1. package/README.md +3 -3
  2. package/bundles/taiga-ui-core-components-alert.umd.js +21 -9
  3. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  4. package/bundles/taiga-ui-core-components-data-list.umd.js +7 -3
  5. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  6. package/bundles/taiga-ui-core-components-dialog.umd.js +7 -3
  7. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  8. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +79 -24
  9. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  10. package/bundles/taiga-ui-core-components-notification.umd.js +10 -10
  11. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +38 -22
  14. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +2 -2
  16. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  18. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  20. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  21. package/bundles/taiga-ui-core-directives-dropdown.umd.js +52 -2
  22. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +1 -1
  24. package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +1 -1
  26. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-tokens.umd.js +21 -0
  28. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-utils-format.umd.js +1 -1
  30. package/bundles/taiga-ui-core-utils-format.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-utils-mask.umd.js +6 -6
  32. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  33. package/components/alert/alert.component.d.ts +12 -4
  34. package/components/alert/alert.providers.d.ts +2 -0
  35. package/components/alert/index.d.ts +1 -0
  36. package/components/data-list/option/option.component.d.ts +4 -2
  37. package/components/dialog/dialog.component.d.ts +4 -2
  38. package/components/hosted-dropdown/dropdown-open-monitor.directive.d.ts +10 -0
  39. package/components/hosted-dropdown/hosted-dropdown.module.d.ts +8 -7
  40. package/components/hosted-dropdown/hosted-dropdown.token.d.ts +3 -0
  41. package/components/hosted-dropdown/index.d.ts +1 -0
  42. package/components/notification/notification.component.d.ts +3 -4
  43. package/components/primitive-spin-button/primitive-spin-button.component.d.ts +6 -6
  44. package/components/primitive-spin-button/primitive-spin-button.module.d.ts +2 -3
  45. package/constants/cache-basting-payload.d.ts +1 -1
  46. package/constants/mask-caret-trap.d.ts +1 -1
  47. package/directives/dropdown/dropdown-open.directive.d.ts +10 -0
  48. package/directives/dropdown/dropdown.directive.d.ts +4 -2
  49. package/directives/dropdown/dropdown.module.d.ts +14 -13
  50. package/directives/dropdown/index.d.ts +1 -0
  51. package/directives/textfield-controller/textfield.options.d.ts +1 -1
  52. package/esm2015/components/alert/alert.component.js +19 -11
  53. package/esm2015/components/alert/alert.providers.js +6 -0
  54. package/esm2015/components/alert/index.js +2 -1
  55. package/esm2015/components/data-list/option/option.component.js +9 -5
  56. package/esm2015/components/dialog/dialog.component.js +9 -5
  57. package/esm2015/components/hosted-dropdown/dropdown-open-monitor.directive.js +45 -0
  58. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +16 -6
  59. package/esm2015/components/hosted-dropdown/hosted-dropdown.module.js +4 -1
  60. package/esm2015/components/hosted-dropdown/hosted-dropdown.token.js +3 -0
  61. package/esm2015/components/hosted-dropdown/index.js +2 -1
  62. package/esm2015/components/notification/notification.component.js +8 -9
  63. package/esm2015/components/primitive-checkbox/checkbox.options.js +3 -7
  64. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +34 -19
  65. package/esm2015/components/primitive-spin-button/primitive-spin-button.module.js +4 -5
  66. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  67. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  68. package/esm2015/components/root/root.component.js +1 -1
  69. package/esm2015/constants/mask-caret-trap.js +2 -2
  70. package/esm2015/directives/dropdown/dropdown-open.directive.js +24 -0
  71. package/esm2015/directives/dropdown/dropdown.directive.js +24 -4
  72. package/esm2015/directives/dropdown/dropdown.module.js +6 -1
  73. package/esm2015/directives/dropdown/index.js +2 -1
  74. package/esm2015/directives/textfield-controller/textfield-appearance.directive.js +2 -2
  75. package/esm2015/directives/textfield-controller/textfield.options.js +1 -1
  76. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +1 -1
  77. package/esm2015/mask/text-mask-config.js +1 -1
  78. package/esm2015/mask/text-mask-correction-handler.js +1 -1
  79. package/esm2015/mask/text-mask-list-handler.js +1 -1
  80. package/esm2015/mask/text-mask-list.js +1 -1
  81. package/esm2015/mask/text-mask-options.js +1 -1
  82. package/esm2015/mask/text-mask-pipe-handler.js +1 -1
  83. package/esm2015/mask/text-mask-pipe-result.js +1 -1
  84. package/esm2015/tokens/common-icon.js +12 -0
  85. package/esm2015/tokens/index.js +3 -1
  86. package/esm2015/tokens/spin-icons.js +8 -0
  87. package/esm2015/utils/format/format-phone.js +2 -2
  88. package/esm2015/utils/mask/create-auto-corrected-money-pipe.js +2 -2
  89. package/esm2015/utils/mask/create-correction-mask.js +2 -2
  90. package/esm2015/utils/mask/create-number-mask.js +2 -2
  91. package/esm2015/utils/mask/enable-auto-correct-decimal-symbol.js +2 -2
  92. package/esm2015/utils/mask/masked-money-value-is-empty.js +2 -2
  93. package/esm2015/utils/mask/masked-number-string-to-number.js +2 -2
  94. package/fesm2015/taiga-ui-core-components-alert.js +24 -13
  95. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  96. package/fesm2015/taiga-ui-core-components-data-list.js +8 -4
  97. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  98. package/fesm2015/taiga-ui-core-components-dialog.js +8 -4
  99. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  100. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +65 -13
  101. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  102. package/fesm2015/taiga-ui-core-components-notification.js +7 -8
  103. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  104. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +2 -6
  105. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  106. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +36 -21
  107. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  108. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  109. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  110. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  111. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  112. package/fesm2015/taiga-ui-core-constants.js +1 -1
  113. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  114. package/fesm2015/taiga-ui-core-directives-dropdown.js +48 -4
  115. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  116. package/fesm2015/taiga-ui-core-directives-textfield-controller.js +1 -1
  117. package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
  118. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +1 -1
  119. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  120. package/fesm2015/taiga-ui-core-tokens.js +20 -2
  121. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  122. package/fesm2015/taiga-ui-core-utils-format.js +1 -1
  123. package/fesm2015/taiga-ui-core-utils-format.js.map +1 -1
  124. package/fesm2015/taiga-ui-core-utils-mask.js +6 -6
  125. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  126. package/mask/text-mask-config.d.ts +1 -1
  127. package/mask/text-mask-correction-handler.d.ts +1 -1
  128. package/mask/text-mask-list-handler.d.ts +1 -1
  129. package/mask/text-mask-list.d.ts +1 -1
  130. package/mask/text-mask-options.d.ts +1 -1
  131. package/mask/text-mask-pipe-handler.d.ts +1 -1
  132. package/mask/text-mask-pipe-result.d.ts +1 -1
  133. package/package.json +6 -6
  134. package/styles/mixins/textfield.less +5 -0
  135. package/styles/mixins/textfield.scss +5 -0
  136. package/tokens/common-icon.d.ts +9 -0
  137. package/tokens/index.d.ts +2 -0
  138. package/tokens/spin-icons.d.ts +7 -0
  139. package/utils/format/format-phone.d.ts +1 -1
  140. package/utils/mask/create-auto-corrected-money-pipe.d.ts +1 -1
  141. package/utils/mask/create-correction-mask.d.ts +1 -1
  142. package/utils/mask/create-number-mask.d.ts +1 -1
  143. package/utils/mask/enable-auto-correct-decimal-symbol.d.ts +1 -1
  144. package/utils/mask/masked-money-value-is-empty.d.ts +1 -1
  145. package/utils/mask/masked-number-string-to-number.d.ts +1 -1
@@ -1,8 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, Output, NgModule } from '@angular/core';
3
3
  import { tuiIsObserved } from '@taiga-ui/cdk';
4
- import { TUI_TEXTFIELD_OPTIONS } from '@taiga-ui/core/directives';
5
- import { TUI_CLOSE_WORD, TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/tokens';
4
+ import { TUI_CLOSE_WORD, TUI_COMMON_ICONS, TUI_NOTIFICATION_OPTIONS } from '@taiga-ui/core/tokens';
6
5
  import * as i1 from '@taiga-ui/core/components/svg';
7
6
  import { TuiSvgModule } from '@taiga-ui/core/components/svg';
8
7
  import * as i2 from '@taiga-ui/core/components/button';
@@ -14,10 +13,10 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
14
13
  import * as i5 from 'rxjs';
15
14
 
16
15
  class TuiNotificationComponent {
17
- constructor(closeWord$, options, textfieldOptions) {
16
+ constructor(closeWord$, icons, options) {
18
17
  this.closeWord$ = closeWord$;
18
+ this.icons = icons;
19
19
  this.options = options;
20
- this.textfieldOptions = textfieldOptions;
21
20
  /**
22
21
  * @deprecated Use {@link TuiNotificationComponent.icon} input or TUI_NOTIFICATION_OPTIONS instead
23
22
  */
@@ -32,8 +31,8 @@ class TuiNotificationComponent {
32
31
  return !this.hideClose && tuiIsObserved(this.close);
33
32
  }
34
33
  }
35
- TuiNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiNotificationComponent, deps: [{ token: TUI_CLOSE_WORD }, { token: TUI_NOTIFICATION_OPTIONS }, { token: TUI_TEXTFIELD_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
36
- TuiNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNotificationComponent, selector: "tui-notification", inputs: { hasIcon: "hasIcon", icon: "icon", status: "status", size: "size", hideClose: "hideClose" }, outputs: { close: "close" }, host: { properties: { "attr.data-status": "this.status", "attr.data-size": "this.size" } }, ngImport: i0, template: "<ng-container *ngIf=\"icon && hasIcon\">\n <tui-svg\n *polymorpheusOutlet=\"icon as iconName; context: {$implicit: status}\"\n automation-id=\"tui-notification__icon\"\n class=\"t-icon\"\n [src]=\"iconName\"\n ></tui-svg>\n</ng-container>\n\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"hasClose\"\n appearance=\"icon\"\n automation-id=\"tui-notification__close\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [icon]=\"textfieldOptions.iconCleaner\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:flex;padding:.75rem 1rem;border-radius:var(--tui-radius-m);background:#fff;background:var(--tui-base-01);box-sizing:border-box;overflow:hidden}:host[data-size=s]{padding:.375rem .625rem}:host[data-size=s] .t-icon{width:1rem;height:1.25rem;margin:0 .375rem 0 -.125rem}:host[data-size=s] .t-close{margin:-.125rem -.375rem -.125rem .75rem}:host[data-size=m]{padding:.75rem}:host[data-size=m] .t-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}:host[data-size=m] .t-close{margin:-.125rem -.125rem -.125rem 1rem}:host[data-size=l]{padding:1rem;font:var(--tui-font-text-m);border-radius:var(--tui-radius-l)}:host[data-size=l] .t-icon{width:1.5rem;height:1.5rem;margin-right:.5rem}:host[data-status=info]{color:var(--tui-info-fill);background:linear-gradient(var(--tui-info-bg),var(--tui-info-bg)),var(--tui-base-01)}:host[data-status=success]{color:var(--tui-success-fill);background:linear-gradient(var(--tui-success-bg),var(--tui-success-bg)),var(--tui-base-01)}:host[data-status=error]{color:var(--tui-error-fill);background:linear-gradient(var(--tui-error-bg),var(--tui-error-bg)),var(--tui-base-01)}:host[data-status=warning]{color:var(--tui-warning-fill);background:linear-gradient(var(--tui-warning-bg),var(--tui-warning-bg)),var(--tui-base-01)}.t-content{flex:1;word-wrap:break-word;color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
+ TuiNotificationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiNotificationComponent, deps: [{ token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }, { token: TUI_NOTIFICATION_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
35
+ TuiNotificationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiNotificationComponent, selector: "tui-notification", inputs: { hasIcon: "hasIcon", icon: "icon", status: "status", size: "size", hideClose: "hideClose" }, outputs: { close: "close" }, host: { properties: { "attr.data-status": "this.status", "attr.data-size": "this.size" } }, ngImport: i0, template: "<ng-container *ngIf=\"icon && hasIcon\">\n <tui-svg\n *polymorpheusOutlet=\"icon as iconName; context: {$implicit: status}\"\n automation-id=\"tui-notification__icon\"\n class=\"t-icon\"\n [src]=\"iconName\"\n ></tui-svg>\n</ng-container>\n\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"hasClose\"\n appearance=\"icon\"\n automation-id=\"tui-notification__close\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:flex;padding:.75rem 1rem;border-radius:var(--tui-radius-m);background:#fff;background:var(--tui-base-01);box-sizing:border-box;overflow:hidden}:host[data-size=s]{padding:.375rem .625rem}:host[data-size=s] .t-icon{width:1rem;height:1.25rem;margin:0 .375rem 0 -.125rem}:host[data-size=s] .t-close{margin:-.125rem -.375rem -.125rem .75rem}:host[data-size=m]{padding:.75rem}:host[data-size=m] .t-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}:host[data-size=m] .t-close{margin:-.125rem -.125rem -.125rem 1rem}:host[data-size=l]{padding:1rem;font:var(--tui-font-text-m);border-radius:var(--tui-radius-l)}:host[data-size=l] .t-icon{width:1.5rem;height:1.5rem;margin-right:.5rem}:host[data-status=info]{color:var(--tui-info-fill);background:linear-gradient(var(--tui-info-bg),var(--tui-info-bg)),var(--tui-base-01)}:host[data-status=success]{color:var(--tui-success-fill);background:linear-gradient(var(--tui-success-bg),var(--tui-success-bg)),var(--tui-base-01)}:host[data-status=error]{color:var(--tui-error-fill);background:linear-gradient(var(--tui-error-bg),var(--tui-error-bg)),var(--tui-base-01)}:host[data-status=warning]{color:var(--tui-warning-fill);background:linear-gradient(var(--tui-warning-bg),var(--tui-warning-bg)),var(--tui-base-01)}.t-content{flex:1;word-wrap:break-word;color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiNotificationComponent, decorators: [{
38
37
  type: Component,
39
38
  args: [{
@@ -47,10 +46,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
47
46
  args: [TUI_CLOSE_WORD]
48
47
  }] }, { type: undefined, decorators: [{
49
48
  type: Inject,
50
- args: [TUI_NOTIFICATION_OPTIONS]
49
+ args: [TUI_COMMON_ICONS]
51
50
  }] }, { type: undefined, decorators: [{
52
51
  type: Inject,
53
- args: [TUI_TEXTFIELD_OPTIONS]
52
+ args: [TUI_NOTIFICATION_OPTIONS]
54
53
  }] }]; }, propDecorators: { hasIcon: [{
55
54
  type: Input
56
55
  }], icon: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-notification.js","sources":["../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiIsObserved} from '@taiga-ui/cdk';\nimport {TUI_TEXTFIELD_OPTIONS, TuiTextfieldOptions} from '@taiga-ui/core/directives';\nimport {\n TUI_CLOSE_WORD,\n TUI_NOTIFICATION_OPTIONS,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {TuiNotificationT} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-notification',\n templateUrl: './notification.template.html',\n styleUrls: ['./notification.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNotificationComponent {\n /**\n * @deprecated Use {@link TuiNotificationComponent.icon} input or TUI_NOTIFICATION_OPTIONS instead\n */\n @Input()\n hasIcon = this.options.hasIcon;\n\n @Input()\n icon = this.options.icon;\n\n @Input()\n @HostBinding('attr.data-status')\n status: TuiNotificationT = this.options.status;\n\n @Input()\n @HostBinding('attr.data-size')\n size = this.options.size;\n\n @Input()\n hideClose = false;\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly close = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_NOTIFICATION_OPTIONS) readonly options: TuiNotificationDefaultOptions,\n @Inject(TUI_TEXTFIELD_OPTIONS) readonly textfieldOptions: TuiTextfieldOptions,\n ) {}\n\n get hasClose(): boolean {\n return !this.hideClose && tuiIsObserved(this.close);\n }\n}\n","<ng-container *ngIf=\"icon && hasIcon\">\n <tui-svg\n *polymorpheusOutlet=\"icon as iconName; context: {$implicit: status}\"\n automation-id=\"tui-notification__icon\"\n class=\"t-icon\"\n [src]=\"iconName\"\n ></tui-svg>\n</ng-container>\n\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"hasClose\"\n appearance=\"icon\"\n automation-id=\"tui-notification__close\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [icon]=\"textfieldOptions.iconCleaner\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiNotificationComponent} from './notification.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiButtonModule, PolymorpheusModule],\n declarations: [TuiNotificationComponent],\n exports: [TuiNotificationComponent],\n})\nexport class TuiNotificationModule {}\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-core-components-notification.js","sources":["../../../projects/core/components/notification/notification.component.ts","../../../projects/core/components/notification/notification.template.html","../../../projects/core/components/notification/notification.module.ts","../../../projects/core/components/notification/taiga-ui-core-components-notification.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiIsObserved} from '@taiga-ui/cdk';\nimport {\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TUI_NOTIFICATION_OPTIONS,\n TuiCommonIcons,\n TuiNotificationDefaultOptions,\n} from '@taiga-ui/core/tokens';\nimport {TuiNotificationT} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-notification',\n templateUrl: './notification.template.html',\n styleUrls: ['./notification.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiNotificationComponent {\n /**\n * @deprecated Use {@link TuiNotificationComponent.icon} input or TUI_NOTIFICATION_OPTIONS instead\n */\n @Input()\n hasIcon = this.options.hasIcon;\n\n @Input()\n icon = this.options.icon;\n\n @Input()\n @HostBinding('attr.data-status')\n status: TuiNotificationT = this.options.status;\n\n @Input()\n @HostBinding('attr.data-size')\n size = this.options.size;\n\n @Input()\n hideClose = false;\n\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly close = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(TUI_NOTIFICATION_OPTIONS) readonly options: TuiNotificationDefaultOptions,\n ) {}\n\n get hasClose(): boolean {\n return !this.hideClose && tuiIsObserved(this.close);\n }\n}\n","<ng-container *ngIf=\"icon && hasIcon\">\n <tui-svg\n *polymorpheusOutlet=\"icon as iconName; context: {$implicit: status}\"\n automation-id=\"tui-notification__icon\"\n class=\"t-icon\"\n [src]=\"iconName\"\n ></tui-svg>\n</ng-container>\n\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n<button\n *ngIf=\"hasClose\"\n appearance=\"icon\"\n automation-id=\"tui-notification__close\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"close.emit()\"\n></button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiNotificationComponent} from './notification.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, TuiButtonModule, PolymorpheusModule],\n declarations: [TuiNotificationComponent],\n exports: [TuiNotificationComponent],\n})\nexport class TuiNotificationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -18,12 +18,8 @@ const TUI_CHECKBOX_DEFAULT_OPTIONS = {
18
18
  indeterminate: TuiAppearance.Primary,
19
19
  },
20
20
  icons: {
21
- checked({ $implicit }) {
22
- return $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`;
23
- },
24
- indeterminate({ $implicit }) {
25
- return $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`;
26
- },
21
+ checked: ({ $implicit }) => $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`,
22
+ indeterminate: ({ $implicit }) => $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`,
27
23
  },
28
24
  };
29
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-checkbox.js","sources":["../../../projects/core/components/primitive-checkbox/checkbox.options.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.component.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.template.html","../../../projects/core/components/primitive-checkbox/primitive-checkbox.module.ts","../../../projects/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {TuiContextWithImplicit, tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`;\n },\n indeterminate({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`;\n },\n },\n};\n\n/**\n * Default parameters for checkbox component\n */\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateOptions(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL = this.options.size;\n\n @Input()\n disabled = false;\n\n @Input()\n focused = false;\n\n @Input()\n hovered: boolean | null = false;\n\n @Input()\n pressed: boolean | null = false;\n\n @Input()\n invalid = false;\n\n @Input('value')\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n private setCurrentIcon(value: boolean | null): void {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"focused\"\n [hover]=\"hovered\"\n [active]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n class=\"t-mark\"\n [class.t-mark_on]=\"!empty\"\n [src]=\"src\"\n ></tui-svg>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\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-core-components-primitive-checkbox.js","sources":["../../../projects/core/components/primitive-checkbox/checkbox.options.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.component.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.template.html","../../../projects/core/components/primitive-checkbox/primitive-checkbox.module.ts","../../../projects/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {TuiContextWithImplicit, tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked: ({$implicit}) =>\n $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`,\n indeterminate: ({$implicit}) =>\n $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`,\n },\n};\n\n/**\n * Default parameters for checkbox component\n */\nexport const TUI_CHECKBOX_OPTIONS = tuiCreateOptions(TUI_CHECKBOX_DEFAULT_OPTIONS);\n\nexport function tuiCheckboxOptionsProvider(\n options: Partial<TuiCheckboxOptions>,\n): Provider {\n return tuiProvideOptions(TUI_CHECKBOX_OPTIONS, options, TUI_CHECKBOX_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox.options';\n\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL = this.options.size;\n\n @Input()\n disabled = false;\n\n @Input()\n focused = false;\n\n @Input()\n hovered: boolean | null = false;\n\n @Input()\n pressed: boolean | null = false;\n\n @Input()\n invalid = false;\n\n @Input('value')\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n private setCurrentIcon(value: boolean | null): void {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"focused\"\n [hover]=\"hovered\"\n [active]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n class=\"t-mark\"\n [class.t-mark_on]=\"!empty\"\n [src]=\"src\"\n ></tui-svg>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,28 +1,27 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Inject, ViewChild, Input, Output, NgModule } from '@angular/core';
3
- import * as i3 from '@taiga-ui/cdk';
4
- import { AbstractTuiInteractive, tuiIsNativeFocused, TuiPreventDefaultModule } from '@taiga-ui/cdk';
5
- import { TuiAppearance } from '@taiga-ui/core/enums';
6
- import { TUI_SPIN_TEXTS } from '@taiga-ui/core/tokens';
2
+ import { EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Inject, Input, Output, HostListener, NgModule } from '@angular/core';
3
+ import { AbstractTuiInteractive, tuiIsNativeFocusedIn } from '@taiga-ui/cdk';
4
+ import { TUI_SPIN_ICONS, TUI_SPIN_TEXTS } from '@taiga-ui/core/tokens';
7
5
  import * as i1 from '@taiga-ui/core/components/button';
8
6
  import { TuiButtonModule } from '@taiga-ui/core/components/button';
9
7
  import * as i2 from '@angular/common';
10
8
  import { CommonModule } from '@angular/common';
11
- import * as i4 from 'rxjs';
9
+ import * as i3 from 'rxjs';
12
10
 
13
11
  class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {
14
- constructor(spinTexts$) {
12
+ constructor(el, icons, spinTexts$) {
15
13
  super();
14
+ this.el = el;
15
+ this.icons = icons;
16
16
  this.spinTexts$ = spinTexts$;
17
17
  this.disabled = false;
18
- this.mode = TuiAppearance.Flat;
19
18
  this.leftDisabled = false;
20
19
  this.rightDisabled = false;
21
20
  this.leftClick = new EventEmitter();
22
21
  this.rightClick = new EventEmitter();
23
22
  }
24
23
  get focused() {
25
- return !!this.wrapper && tuiIsNativeFocused(this.wrapper.nativeElement);
24
+ return tuiIsNativeFocusedIn(this.el.nativeElement);
26
25
  }
27
26
  get leftComputedDisabled() {
28
27
  return this.computedDisabled || this.leftDisabled;
@@ -47,8 +46,8 @@ class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {
47
46
  this.updateFocusVisible(focusVisible);
48
47
  }
49
48
  }
50
- TuiPrimitiveSpinButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonComponent, deps: [{ token: TUI_SPIN_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
51
- TuiPrimitiveSpinButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: { disabled: "disabled", mode: "mode", leftDisabled: "leftDisabled", rightDisabled: "rightDisabled" }, outputs: { leftClick: "leftClick", rightClick: "rightClick" }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n (focusin)=\"onFocused(true)\"\n (focusout)=\"onFocused(false)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-l);text-align:center;font-weight:bold}.t-wrapper{display:flex;align-items:center;justify-content:space-between;outline:none}.t-arrow{margin:0 .25rem}.t-arrow_hidden{visibility:hidden}.t-content{padding:0 .5rem}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
49
+ TuiPrimitiveSpinButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonComponent, deps: [{ token: ElementRef }, { token: TUI_SPIN_ICONS }, { token: TUI_SPIN_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
50
+ TuiPrimitiveSpinButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveSpinButtonComponent, selector: "tui-primitive-spin-button", inputs: { disabled: "disabled", leftDisabled: "leftDisabled", rightDisabled: "rightDisabled" }, outputs: { leftClick: "leftClick", rightClick: "rightClick" }, host: { listeners: { "mousedown.silent.prevent": "(0)", "keydown.arrowLeft.prevent": "onLeftClick()", "keydown.arrowRight.prevent": "onRightClick()", "focusin": "onFocused(true)", "focusout": "onFocused(false)" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"spinTexts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"flat\"\n automation-id=\"tui-primitive-spin-button__left\"\n [class.t-hidden]=\"leftComputedDisabled\"\n [icon]=\"icons.decrement\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"flat\"\n automation-id=\"tui-primitive-spin-button__right\"\n [class.t-hidden]=\"rightComputedDisabled\"\n [icon]=\"icons.increment\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</ng-container>\n", styles: [":host{display:flex;align-items:center;justify-content:space-between;font:var(--tui-font-text-l);text-align:center;font-weight:bold}.t-hidden{visibility:hidden}.t-content{padding:0 .5rem}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonComponent, decorators: [{
53
52
  type: Component,
54
53
  args: [{
@@ -56,16 +55,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
56
55
  changeDetection: ChangeDetectionStrategy.OnPush,
57
56
  templateUrl: './primitive-spin-button.template.html',
58
57
  styleUrls: ['./primitive-spin-button.style.less'],
58
+ host: {
59
+ '(mousedown.silent.prevent)': '(0)',
60
+ },
59
61
  }]
60
- }], ctorParameters: function () { return [{ type: i4.Observable, decorators: [{
62
+ }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
63
+ type: Inject,
64
+ args: [ElementRef]
65
+ }] }, { type: undefined, decorators: [{
66
+ type: Inject,
67
+ args: [TUI_SPIN_ICONS]
68
+ }] }, { type: i3.Observable, decorators: [{
61
69
  type: Inject,
62
70
  args: [TUI_SPIN_TEXTS]
63
- }] }]; }, propDecorators: { wrapper: [{
64
- type: ViewChild,
65
- args: ['wrapper']
66
- }], disabled: [{
67
- type: Input
68
- }], mode: [{
71
+ }] }]; }, propDecorators: { disabled: [{
69
72
  type: Input
70
73
  }], leftDisabled: [{
71
74
  type: Input
@@ -75,17 +78,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
75
78
  type: Output
76
79
  }], rightClick: [{
77
80
  type: Output
81
+ }], onLeftClick: [{
82
+ type: HostListener,
83
+ args: ['keydown.arrowLeft.prevent']
84
+ }], onRightClick: [{
85
+ type: HostListener,
86
+ args: ['keydown.arrowRight.prevent']
87
+ }], onFocused: [{
88
+ type: HostListener,
89
+ args: ['focusin', ['true']]
90
+ }, {
91
+ type: HostListener,
92
+ args: ['focusout', ['false']]
78
93
  }] } });
79
94
 
80
95
  class TuiPrimitiveSpinButtonModule {
81
96
  }
82
97
  TuiPrimitiveSpinButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
- TuiPrimitiveSpinButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, declarations: [TuiPrimitiveSpinButtonComponent], imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule], exports: [TuiPrimitiveSpinButtonComponent] });
84
- TuiPrimitiveSpinButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, imports: [[CommonModule, TuiPreventDefaultModule, TuiButtonModule]] });
98
+ TuiPrimitiveSpinButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, declarations: [TuiPrimitiveSpinButtonComponent], imports: [CommonModule, TuiButtonModule], exports: [TuiPrimitiveSpinButtonComponent] });
99
+ TuiPrimitiveSpinButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, imports: [[CommonModule, TuiButtonModule]] });
85
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveSpinButtonModule, decorators: [{
86
101
  type: NgModule,
87
102
  args: [{
88
- imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule],
103
+ imports: [CommonModule, TuiButtonModule],
89
104
  declarations: [TuiPrimitiveSpinButtonComponent],
90
105
  exports: [TuiPrimitiveSpinButtonComponent],
91
106
  }]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-spin-button.js","sources":["../../../projects/core/components/primitive-spin-button/primitive-spin-button.component.ts","../../../projects/core/components/primitive-spin-button/primitive-spin-button.template.html","../../../projects/core/components/primitive-spin-button/primitive-spin-button.module.ts","../../../projects/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {AbstractTuiInteractive, tuiIsNativeFocused} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @Input()\n disabled = false;\n\n @Input()\n mode: TuiAppearance = TuiAppearance.Flat;\n\n @Input()\n leftDisabled = false;\n\n @Input()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return !!this.wrapper && tuiIsNativeFocused(this.wrapper.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n onLeftClick(): void {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n onRightClick(): void {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n (focusin)=\"onFocused(true)\"\n (focusout)=\"onFocused(false)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\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-core-components-primitive-spin-button.js","sources":["../../../projects/core/components/primitive-spin-button/primitive-spin-button.component.ts","../../../projects/core/components/primitive-spin-button/primitive-spin-button.template.html","../../../projects/core/components/primitive-spin-button/primitive-spin-button.module.ts","../../../projects/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {AbstractTuiInteractive, tuiIsNativeFocusedIn} from '@taiga-ui/cdk';\nimport {TUI_SPIN_ICONS, TUI_SPIN_TEXTS, TuiSpinIcons} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n host: {\n '(mousedown.silent.prevent)': '(0)',\n },\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @Input()\n disabled = false;\n\n @Input()\n leftDisabled = false;\n\n @Input()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_SPIN_ICONS) readonly icons: TuiSpinIcons,\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n @HostListener('keydown.arrowLeft.prevent')\n onLeftClick(): void {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n @HostListener('keydown.arrowRight.prevent')\n onRightClick(): void {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","<ng-container *ngIf=\"spinTexts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"flat\"\n automation-id=\"tui-primitive-spin-button__left\"\n [class.t-hidden]=\"leftComputedDisabled\"\n [icon]=\"icons.decrement\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"flat\"\n automation-id=\"tui-primitive-spin-button__right\"\n [class.t-hidden]=\"rightComputedDisabled\"\n [icon]=\"icons.increment\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -277,7 +277,7 @@ TuiPrimitiveTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12
277
277
  TuiPrimitiveTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: { editable: "editable", textfieldFiller: ["filler", "textfieldFiller"], iconCleaner: "iconCleaner", readOnly: "readOnly", invalid: "invalid", disabled: "disabled", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"], value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)" }, properties: { "class._autofilled": "autofilled", "class._label-outside": "controller.labelOutside", "class._readonly": "this.readOnly", "attr.data-size": "this.size", "class._invalid": "this.computedInvalid", "class._hidden": "this.inputHidden", "style.--border-start.rem": "this.borderStart", "style.--border-end.rem": "this.borderEnd" } }, providers: [
278
278
  tuiAsFocusableItemAccessor(TuiPrimitiveTextfieldComponent),
279
279
  TEXTFIELD_CONTROLLER_PROVIDER,
280
- ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions?.content\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s)}:host[data-size=m]{--tui-height: var(--tui-height-m)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] .t-input::placeholder,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host._invalid:not(._focused) [tuiWrapper][data-mode=onDark] .t-placeholder_raised,:host._invalid:not(._focused):hover [tuiWrapper][data-mode=onDark] .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}[tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-01-night)}:host._focused [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=m]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{-webkit-margin-start:-.375rem;margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}:host[data-size=s] .t-icons{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host:not([data-size=\"s\"]) .t-icons>:not(:first-child){-webkit-margin-start:.25rem;margin-inline-start:.25rem}:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host._autofilled[data-size=s]:not(._focused) .t-placeholder,:host._autofilled[data-size=m]:not(._focused) .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
+ ], queries: [{ propertyName: "content", predicate: PolymorpheusOutletDirective, descendants: true }], viewQueries: [{ propertyName: "focusableElement", first: true, predicate: ["focusableElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<ng-container *ngIf=\"hintOptions?.change$ | async\"></ng-container>\n<div\n tuiWrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [active]=\"pseudoActive\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <ng-content select=\"select\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [disabled]=\"computedDisabled\"\n [attr.name]=\"name\"\n [attr.aria-invalid]=\"computedInvalid\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"t-input t-input_template\"\n >\n <ng-content select=\"tuiContent\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconLeftContent\"\n class=\"t-icon t-icon_left t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconLeftContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n [for]=\"computedId\"\n >\n <ng-content></ng-content>\n </label>\n <div class=\"t-wrapper-value-decoration\">\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n class=\"t-value-decoration\"\n [class.t-has-value]=\"value\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"hasCustomContent\"\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n >\n <tui-svg\n *polymorpheusOutlet=\"controller.customContent as src\"\n class=\"t-custom-icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n (click.stop)=\"clear()\"\n >\n <tui-svg\n *polymorpheusOutlet=\"\n iconCleaner || controller.options.iconCleaner as src;\n context: {$implicit: size}\n \"\n [src]=\"src\"\n ></tui-svg>\n </span>\n <tui-tooltip\n *ngIf=\"showHint\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n class=\"t-tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintOptions?.content\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconContent\"\n class=\"t-icon t-textfield-icon\"\n >\n <tui-svg\n *polymorpheusOutlet=\"iconContent as src; context: {$implicit: size}\"\n tuiWrapper\n appearance=\"icon\"\n [src]=\"src\"\n ></tui-svg>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;text-align:left;border-radius:var(--tui-radius-m);height:var(--tui-height);min-height:var(--tui-height);max-height:var(--tui-height)}:host[data-size=s]{--tui-height: var(--tui-height-s)}:host[data-size=m]{--tui-height: var(--tui-height-m)}:host[data-size=l]{--tui-height: var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input:-webkit-autofill,.t-input:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}.t-input::-webkit-caps-lock-indicator,.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) .t-input::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-textarea._focused:not(._readonly)) .t-input::placeholder,:host-context(tui-text-area._focused:not(._readonly)) .t-input::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] .t-input::placeholder,.t-input :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-textarea._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size=s] .t-content{padding:0 var(--tui-padding-s)}:host[data-size=m] .t-content{padding:0 var(--tui-padding-m)}:host[data-size=l] .t-content{padding:0 var(--tui-padding-l)}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:var(--tui-font-text-s);color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0)}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);line-height:1.25rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host._invalid:not(._focused) [tuiWrapper][data-mode=onDark] .t-placeholder_raised,:host._invalid:not(._focused):hover [tuiWrapper][data-mode=onDark] .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font:var(--tui-font-text-m);line-height:1.25rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}[tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused:not(._label-outside) [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-01-night)}:host._focused [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=m]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder,:host[data-size=l]._focused._label-outside [tuiWrapper][data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-cleaner{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none;pointer-events:auto}:host._readonly .t-cleaner,:host._disabled .t-cleaner{pointer-events:none}.t-icon{position:relative;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer;pointer-events:none}:host[data-size=s] .t-icon_left{-webkit-margin-start:-.375rem;margin-inline-start:-.375rem}:host[data-size=m] .t-icon_left{-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;-webkit-margin-end:.375rem;margin-inline-end:.375rem}:host[data-size=l] .t-icon_left{-webkit-margin-end:.75rem;margin-inline-end:.75rem}.t-icons{display:flex;align-items:center}:host[data-size=m] .t-icons{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}:host[data-size=s] .t-icons{-webkit-margin-end:-.375rem;margin-inline-end:-.375rem}:host:not([data-size=\"s\"]) .t-icons>:not(:first-child){-webkit-margin-start:.25rem;margin-inline-start:.25rem}:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host._autofilled[data-size=s]:not(._focused) .t-placeholder,:host._autofilled[data-size=m]:not(._focused) .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-input:not(:first-child){display:none}:host[data-size] .t-input_template{display:flex;width:calc(100% - 1rem);max-width:calc(100% - 1rem);align-items:center;pointer-events:none;-webkit-padding-end:0;padding-inline-end:0}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiValueDecorationComponent, selector: "tui-value-decoration" }, { type: i3.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i6.TuiAutofilledDirective, selector: "[tuiAutofilledChange]", outputs: ["tuiAutofilledChange"] }, { type: i7.TuiMaskAccessorDirective, selector: "input[tuiMaskAccessor]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
281
281
  __decorate([
282
282
  tuiPure
283
283
  ], TuiPrimitiveTextfieldComponent.prototype, "getIndent$", null);
@@ -413,7 +413,7 @@ class TuiTextfieldComponent {
413
413
  }
414
414
  }
415
415
  TuiTextfieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldComponent, deps: [{ token: TUI_TEXTFIELD_HOST }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER$1 }, { token: ElementRef }, { token: TuiIdService }, { token: TUI_LEGACY_MASK, optional: true }], target: i0.ɵɵFactoryTarget.Component });
416
- TuiTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]", host: { attributes: { "type": "text" }, listeners: { "input": "!legacyMask && host.onValueChange($event.target.value)" }, properties: { "attr.id": "id", "attr.inputMode": "inputMode", "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER$1], ngImport: i0, template: '', isInline: true, styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] :host:-webkit-autofill,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] :host:-webkit-autofill:hover,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] :host:-webkit-autofill:focus,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] :host::placeholder,:host :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
416
+ TuiTextfieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]", host: { attributes: { "type": "text" }, listeners: { "input": "!legacyMask && host.onValueChange($event.target.value)" }, properties: { "attr.id": "id", "attr.inputMode": "inputMode", "attr.aria-invalid": "host.invalid", "attr.disabled": "host.disabled || null", "tabIndex": "host.focusable ? 0 : -1", "readOnly": "host.readOnly", "value": "host.value" } }, providers: [TEXTFIELD_CONTROLLER_PROVIDER$1], ngImport: i0, template: '', isInline: true, styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border:solid transparent;border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}:host:-webkit-autofill,:host:-webkit-autofill:hover,:host:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host:-webkit-autofill,:host:-webkit-autofill:first-line{font-size:inherit;line-height:inherit}:host::-webkit-caps-lock-indicator,:host::-webkit-contacts-auto-fill-button,:host::-webkit-credit-card-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-strong-password-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}:host::placeholder{color:var(--tui-text-03);opacity:0}:host._focused:not(._readonly) :host::placeholder,:host-context(tui-primitive-textfield._focused:not(._readonly)) :host::placeholder,:host-context(tui-textarea._focused:not(._readonly)) :host::placeholder,:host-context(tui-text-area._focused:not(._readonly)) :host::placeholder{opacity:1}[tuiWrapper][data-mode=onDark] :host:-webkit-autofill,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill,[tuiWrapper][data-mode=onDark] :host:-webkit-autofill:hover,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:hover,[tuiWrapper][data-mode=onDark] :host:-webkit-autofill:focus,:host :host-context([tuiWrapper][data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}[tuiWrapper][data-mode=onDark] :host::placeholder,:host :host-context([tuiWrapper][data-mode=\"onDark\"])::placeholder{color:var(--tui-text-03-night)}:host[data-size=s] :host,:host :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"s\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=m] :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"m\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"m\"]):not(tui-text-area){padding:0 var(--tui-padding-m)}:host[data-size=l] :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),:host :host-context(tui-textarea[data-size=\"l\"]):not(tui-textarea),:host :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled :host,:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-textarea._disabled),:host :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) :host,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1rem}:host[data-size=m]:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder,:host :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input:host,:host :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}textarea:host{white-space:pre-wrap}textarea:host :host-context(tui-textarea._ios),textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
417
417
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTextfieldComponent, decorators: [{
418
418
  type: Component,
419
419
  args: [{