@taiga-ui/core 2.57.0 → 2.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/bundles/taiga-ui-core-components-alert.umd.js +2 -2
  2. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-alert.umd.min.js +1 -1
  4. package/bundles/taiga-ui-core-components-alert.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-calendar.umd.js +2 -2
  6. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-calendar.umd.min.js +1 -1
  8. package/bundles/taiga-ui-core-components-calendar.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-dropdown-box.umd.js +2 -2
  10. package/bundles/taiga-ui-core-components-dropdown-box.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js +1 -1
  12. package/bundles/taiga-ui-core-components-dropdown-box.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-error.umd.js +2 -2
  14. package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-error.umd.min.js +1 -1
  16. package/bundles/taiga-ui-core-components-error.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-expand.umd.js +2 -2
  18. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  19. package/bundles/taiga-ui-core-components-expand.umd.min.js +1 -1
  20. package/bundles/taiga-ui-core-components-expand.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +2 -2
  22. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js +1 -1
  24. package/bundles/taiga-ui-core-components-hosted-dropdown.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-label.umd.js +2 -2
  26. package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
  27. package/bundles/taiga-ui-core-components-label.umd.min.js +1 -1
  28. package/bundles/taiga-ui-core-components-label.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-core-components-notification.umd.js +2 -2
  30. package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
  31. package/bundles/taiga-ui-core-components-notification.umd.min.js +1 -1
  32. package/bundles/taiga-ui-core-components-notification.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +2 -2
  34. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  35. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js +1 -1
  36. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +2 -2
  38. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  39. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js +1 -1
  40. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +3 -3
  42. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  43. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  44. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-core-components-root.umd.js +2 -2
  46. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  47. package/bundles/taiga-ui-core-components-root.umd.min.js +1 -1
  48. package/bundles/taiga-ui-core-components-root.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +2 -2
  50. package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
  51. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +1 -1
  52. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-core-components-scrollbar.umd.js +2 -2
  54. package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
  55. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js +1 -1
  56. package/bundles/taiga-ui-core-components-scrollbar.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-core-components-svg.umd.js +2 -2
  58. package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
  59. package/bundles/taiga-ui-core-components-svg.umd.min.js +1 -1
  60. package/bundles/taiga-ui-core-components-svg.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-core-components-tooltip.umd.js +2 -2
  62. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  63. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +1 -1
  64. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  66. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  67. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  68. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-core-enums.umd.js +1 -0
  70. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  71. package/bundles/taiga-ui-core-enums.umd.min.js +1 -1
  72. package/bundles/taiga-ui-core-enums.umd.min.js.map +1 -1
  73. package/components/alert/taiga-ui-core-components-alert.metadata.json +1 -1
  74. package/components/calendar/taiga-ui-core-components-calendar.metadata.json +1 -1
  75. package/components/dropdown-box/taiga-ui-core-components-dropdown-box.metadata.json +1 -1
  76. package/components/error/taiga-ui-core-components-error.metadata.json +1 -1
  77. package/components/expand/taiga-ui-core-components-expand.metadata.json +1 -1
  78. package/components/hosted-dropdown/taiga-ui-core-components-hosted-dropdown.metadata.json +1 -1
  79. package/components/label/taiga-ui-core-components-label.metadata.json +1 -1
  80. package/components/notification/taiga-ui-core-components-notification.metadata.json +1 -1
  81. package/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.metadata.json +1 -1
  82. package/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.metadata.json +1 -1
  83. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  84. package/components/root/taiga-ui-core-components-root.metadata.json +1 -1
  85. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  86. package/components/scrollbar/taiga-ui-core-components-scrollbar.metadata.json +1 -1
  87. package/components/svg/taiga-ui-core-components-svg.metadata.json +1 -1
  88. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  89. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  90. package/constants/version.d.ts +1 -1
  91. package/enums/appearance.d.ts +1 -0
  92. package/enums/taiga-ui-core-enums.metadata.json +1 -1
  93. package/esm2015/components/alert/alert.component.js +3 -3
  94. package/esm2015/components/calendar/calendar.component.js +3 -3
  95. package/esm2015/components/dropdown-box/dropdown-box.component.js +3 -3
  96. package/esm2015/components/error/error.component.js +3 -3
  97. package/esm2015/components/expand/expand.component.js +3 -3
  98. package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +3 -3
  99. package/esm2015/components/label/label.component.js +3 -3
  100. package/esm2015/components/notification/notification.component.js +3 -3
  101. package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +3 -3
  102. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  103. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +3 -3
  104. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  105. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +1 -1
  106. package/esm2015/components/root/root.component.js +3 -3
  107. package/esm2015/components/scroll-controls/scroll-controls.component.js +3 -3
  108. package/esm2015/components/scrollbar/scrollbar.component.js +3 -3
  109. package/esm2015/components/svg/svg.component.js +3 -3
  110. package/esm2015/components/tooltip/tooltip.component.js +3 -3
  111. package/esm2015/constants/version.js +2 -2
  112. package/esm2015/enums/appearance.js +2 -1
  113. package/esm5/components/alert/alert.component.js +3 -3
  114. package/esm5/components/calendar/calendar.component.js +3 -3
  115. package/esm5/components/dropdown-box/dropdown-box.component.js +3 -3
  116. package/esm5/components/error/error.component.js +3 -3
  117. package/esm5/components/expand/expand.component.js +3 -3
  118. package/esm5/components/hosted-dropdown/hosted-dropdown.component.js +3 -3
  119. package/esm5/components/label/label.component.js +3 -3
  120. package/esm5/components/notification/notification.component.js +3 -3
  121. package/esm5/components/primitive-checkbox/primitive-checkbox.component.js +3 -3
  122. package/esm5/components/primitive-spin-button/primitive-spin-button.component.js +3 -3
  123. package/esm5/components/primitive-textfield/primitive-textfield.component.js +3 -3
  124. package/esm5/components/primitive-textfield/textfield/textfield.component.js +1 -1
  125. package/esm5/components/primitive-textfield/value-decoration/value-decoration.component.js +1 -1
  126. package/esm5/components/root/root.component.js +3 -3
  127. package/esm5/components/scroll-controls/scroll-controls.component.js +3 -3
  128. package/esm5/components/scrollbar/scrollbar.component.js +3 -3
  129. package/esm5/components/svg/svg.component.js +3 -3
  130. package/esm5/components/tooltip/tooltip.component.js +3 -3
  131. package/esm5/constants/version.js +2 -2
  132. package/esm5/enums/appearance.js +2 -1
  133. package/fesm2015/taiga-ui-core-components-alert.js +2 -2
  134. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  135. package/fesm2015/taiga-ui-core-components-calendar.js +2 -2
  136. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  137. package/fesm2015/taiga-ui-core-components-dropdown-box.js +2 -2
  138. package/fesm2015/taiga-ui-core-components-dropdown-box.js.map +1 -1
  139. package/fesm2015/taiga-ui-core-components-error.js +2 -2
  140. package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
  141. package/fesm2015/taiga-ui-core-components-expand.js +2 -2
  142. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  143. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +2 -2
  144. package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  145. package/fesm2015/taiga-ui-core-components-label.js +2 -2
  146. package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
  147. package/fesm2015/taiga-ui-core-components-notification.js +2 -2
  148. package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
  149. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +2 -2
  150. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  151. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -2
  152. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  153. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +3 -3
  154. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  155. package/fesm2015/taiga-ui-core-components-root.js +2 -2
  156. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  157. package/fesm2015/taiga-ui-core-components-scroll-controls.js +2 -2
  158. package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
  159. package/fesm2015/taiga-ui-core-components-scrollbar.js +2 -2
  160. package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
  161. package/fesm2015/taiga-ui-core-components-svg.js +2 -2
  162. package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
  163. package/fesm2015/taiga-ui-core-components-tooltip.js +2 -2
  164. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  165. package/fesm2015/taiga-ui-core-constants.js +1 -1
  166. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  167. package/fesm2015/taiga-ui-core-enums.js +1 -0
  168. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  169. package/fesm5/taiga-ui-core-components-alert.js +2 -2
  170. package/fesm5/taiga-ui-core-components-alert.js.map +1 -1
  171. package/fesm5/taiga-ui-core-components-calendar.js +2 -2
  172. package/fesm5/taiga-ui-core-components-calendar.js.map +1 -1
  173. package/fesm5/taiga-ui-core-components-dropdown-box.js +2 -2
  174. package/fesm5/taiga-ui-core-components-dropdown-box.js.map +1 -1
  175. package/fesm5/taiga-ui-core-components-error.js +2 -2
  176. package/fesm5/taiga-ui-core-components-error.js.map +1 -1
  177. package/fesm5/taiga-ui-core-components-expand.js +2 -2
  178. package/fesm5/taiga-ui-core-components-expand.js.map +1 -1
  179. package/fesm5/taiga-ui-core-components-hosted-dropdown.js +2 -2
  180. package/fesm5/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
  181. package/fesm5/taiga-ui-core-components-label.js +2 -2
  182. package/fesm5/taiga-ui-core-components-label.js.map +1 -1
  183. package/fesm5/taiga-ui-core-components-notification.js +2 -2
  184. package/fesm5/taiga-ui-core-components-notification.js.map +1 -1
  185. package/fesm5/taiga-ui-core-components-primitive-checkbox.js +2 -2
  186. package/fesm5/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  187. package/fesm5/taiga-ui-core-components-primitive-spin-button.js +2 -2
  188. package/fesm5/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  189. package/fesm5/taiga-ui-core-components-primitive-textfield.js +3 -3
  190. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  191. package/fesm5/taiga-ui-core-components-root.js +2 -2
  192. package/fesm5/taiga-ui-core-components-root.js.map +1 -1
  193. package/fesm5/taiga-ui-core-components-scroll-controls.js +2 -2
  194. package/fesm5/taiga-ui-core-components-scroll-controls.js.map +1 -1
  195. package/fesm5/taiga-ui-core-components-scrollbar.js +2 -2
  196. package/fesm5/taiga-ui-core-components-scrollbar.js.map +1 -1
  197. package/fesm5/taiga-ui-core-components-svg.js +2 -2
  198. package/fesm5/taiga-ui-core-components-svg.js.map +1 -1
  199. package/fesm5/taiga-ui-core-components-tooltip.js +2 -2
  200. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  201. package/fesm5/taiga-ui-core-constants.js +1 -1
  202. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  203. package/fesm5/taiga-ui-core-enums.js +1 -0
  204. package/fesm5/taiga-ui-core-enums.js.map +1 -1
  205. package/package.json +4 -4
  206. package/styles/markup/tui-table.less +33 -0
  207. package/styles/mixins/mixins.less +1 -2
  208. package/styles/mixins/textfield.less +2 -2
  209. package/styles/theme/wrapper/secondary-destructive.less +29 -0
  210. package/styles/theme/wrapper.less +1 -0
@@ -381,7 +381,7 @@ var TuiPrimitiveTextfieldComponent = /** @class */ (function (_super) {
381
381
  TuiPrimitiveTextfieldComponent = __decorate([
382
382
  Component({
383
383
  selector: "tui-primitive-textfield",
384
- template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\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=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"t-icon t-icon_left\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\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 [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg\n class=\"t-custom-icon\"\n [src]=\"iconSrc\"\n ></tui-svg>\n </ng-template>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n [content]=\"iconCleaner\"\n (click.stop)=\"clear()\"\n >\n <ng-template let-icon>\n <tui-svg [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintController.content || ''\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconAlignRight\"\n polymorpheus-outlet\n class=\"t-icon\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
384
+ template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [style.--text-indent.px]=\"decor.pre$ | async\"\n (mousedown)=\"onMouseDown($event)\"\n (click.prevent.silent)=\"(0)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n>\n <ng-content select=\"input\"></ng-content>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"t-input\"\n [attr.disabled]=\"computedDisabled || null\"\n [attr.maxLength]=\"controller.maxLength\"\n [attr.name]=\"name\"\n [attr.aria-placeholder]=\"controller.exampleText\"\n [attr.aria-invalid]=\"computedInvalid\"\n [autocomplete]=\"controller.autocomplete\"\n [type]=\"controller.type\"\n [id]=\"id\"\n [readOnly]=\"readOnly || !editable\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\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=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"t-content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"t-icon t-icon_left\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\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\n *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"t-custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg\n class=\"t-custom-icon\"\n [src]=\"iconSrc\"\n ></tui-svg>\n </ng-template>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"t-cleaner\"\n [content]=\"iconCleaner\"\n (click.stop)=\"clear()\"\n >\n <ng-template let-icon>\n <tui-svg [src]=\"icon\"></tui-svg>\n </ng-template>\n </span>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"computedId\"\n [content]=\"hintController.content || ''\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <div\n *ngIf=\"iconAlignRight\"\n polymorpheus-outlet\n class=\"t-icon\"\n [content]=\"iconContent\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-iconSrc>\n <tui-svg [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n </div>\n</tui-wrapper>\n",
385
385
  changeDetection: ChangeDetectionStrategy.OnPush,
386
386
  providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,
387
387
  host: {
@@ -389,7 +389,7 @@ var TuiPrimitiveTextfieldComponent = /** @class */ (function (_super) {
389
389
  '[class._autofilled]': "autofilled",
390
390
  '[class._label-outside]': "controller.labelOutside",
391
391
  },
392
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-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:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-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%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);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:focus,.t-input:-webkit-autofill:hover{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 :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{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}.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),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.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),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;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);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[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .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{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host._autofilled .t-value-decoration{display:none}:host._autofilled[data-size='m'] .t-placeholder,:host._autofilled[data-size='s'] .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}:host:hover:not(._readonly) .t-icon{color:var(--tui-text-02)}:host[data-mode=onDark]:hover:not(._readonly) .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]:hover:not(._readonly) .t-icon{color:var(--tui-text-01)}.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-input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-size='l']:not(._label-outside) .t-input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-size='l']:not(._label-outside) .t-input::-webkit-contacts-auto-fill-button,:host[data-size='l']:not(._label-outside) .t-input::-webkit-credentials-auto-fill-button,:host[data-size='l']:not(._label-outside) .t-input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.t-input::-webkit-contacts-auto-fill-button:hover,.t-input::-webkit-credentials-auto-fill-button:hover,.t-input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.t-input:-webkit-autofill,.t-input:-webkit-autofill::first-line{font-size:inherit;line-height:inherit}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}"]
392
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-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:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-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%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);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:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:transparent!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:transparent!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.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),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.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),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;padding-right:.25rem;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;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);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[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .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{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host._autofilled .t-value-decoration:not(.t-has-value){visibility:hidden}:host._autofilled[data-size='m']:not(._focused) .t-placeholder,:host._autofilled[data-size='s']:not(._focused) .t-placeholder{visibility:hidden}.t-custom-content{position:relative;display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.t-custom-icon{width:2rem;height:100%}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);box-sizing:border-box;cursor:pointer;transition-property:color,transform;position:relative;pointer-events:none}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}:host:hover:not(._readonly) .t-icon{color:var(--tui-text-02)}:host[data-mode=onDark]:hover:not(._readonly) .t-icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]:hover:not(._readonly) .t-icon{color:var(--tui-text-01)}.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-input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-size='l']:not(._label-outside) .t-input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.t-input::-webkit-contacts-auto-fill-button,.t-input::-webkit-credentials-auto-fill-button,.t-input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-size='l']:not(._label-outside) .t-input::-webkit-contacts-auto-fill-button,:host[data-size='l']:not(._label-outside) .t-input::-webkit-credentials-auto-fill-button,:host[data-size='l']:not(._label-outside) .t-input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.t-input::-webkit-contacts-auto-fill-button:hover,.t-input::-webkit-credentials-auto-fill-button:hover,.t-input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.t-input:-webkit-autofill,.t-input:-webkit-autofill::first-line{font-size:inherit;line-height:inherit}.t-text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-wrapper-value-decoration{position:relative;pointer-events:none}"]
393
393
  }),
394
394
  __param(0, Inject(TUI_MODE)),
395
395
  __param(1, Inject(TUI_TEXTFIELD_APPEARANCE)),
@@ -504,7 +504,7 @@ var TuiTextfieldComponent = /** @class */ (function () {
504
504
  '(input)': "host.onValueChange($event.target.value)",
505
505
  },
506
506
  changeDetection: ChangeDetectionStrategy.OnPush,
507
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-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%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);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:focus,:host:-webkit-autofill:hover{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 :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host[data-mode=onDark] :host:-webkit-autofill:hover{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}: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),:host[data-size='s'] :host{padding:0 var(--tui-padding-s)}: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),:host[data-size='l'] :host{padding:0 var(--tui-padding-l)}:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-text-area._disabled),:host._disabled :host{pointer-events:none}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) :host{padding-top:1.25rem}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) :host{padding-top:1.125rem}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) :host:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host :host-context(tui-primitive-textfield._hidden),:host._hidden input:host{opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-caps-lock-indicator{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-contacts-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credentials-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button:hover,:host::-webkit-credentials-auto-fill-button:hover,:host::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=onDark])::-ms-input-placeholder,:host :host-context(tui-text-area[data-mode=onDark])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=onDark])::placeholder,:host :host-context(tui-text-area[data-mode=onDark])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::placeholder{opacity:1}textarea:host{white-space:normal}textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}"]
507
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-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%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);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:focus,:host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:transparent!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,:host :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] :host:-webkit-autofill,:host[data-mode=onDark] :host:-webkit-autofill:focus,:host[data-mode=onDark] :host:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:transparent!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}: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),:host[data-size='s'] :host{padding:0 var(--tui-padding-s)}: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),:host[data-size='l'] :host{padding:0 var(--tui-padding-l)}:host :host-context(tui-primitive-textfield._disabled),:host :host-context(tui-text-area._disabled),:host._disabled :host{pointer-events:none}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) :host{padding-top:1.25rem}:host :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='l']:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) :host{padding-top:1.125rem}:host :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder,:host[data-size='m']:not(._label-outside) :host:-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host :host-context(tui-primitive-textfield._hidden),:host._hidden input:host{opacity:0;text-indent:-10em;-webkit-user-select:none}:host::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-caps-lock-indicator{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button,:host::-webkit-credentials-auto-fill-button,:host::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-contacts-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credentials-auto-fill-button,:host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)) :host::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}:host::-webkit-contacts-auto-fill-button:hover,:host::-webkit-credentials-auto-fill-button:hover,:host::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}:host::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}:host::placeholder{color:var(--tui-text-03);opacity:0}:host :host-context(tui-primitive-textfield[data-mode=onDark])::-ms-input-placeholder,:host :host-context(tui-text-area[data-mode=onDark])::-ms-input-placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield[data-mode=onDark])::placeholder,:host :host-context(tui-text-area[data-mode=onDark])::placeholder{color:var(--tui-text-03-night)}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::-ms-input-placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::-ms-input-placeholder{opacity:1}:host :host-context(tui-primitive-textfield._focused:not(._readonly))::placeholder,:host :host-context(tui-text-area._focused:not(._readonly))::placeholder{opacity:1}textarea:host{white-space:normal}textarea:host :host-context(tui-text-area._ios){padding-left:.8125rem}"]
508
508
  }),
509
509
  __param(0, Inject(TUI_TEXTFIELD_HOST)),
510
510
  __param(1, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER$1)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield-options.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.directive.ts","ng://@taiga-ui/core/components/primitive-textfield/textfield/textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPrimitiveTextfieldOptions {\n readonly iconAlign: TuiHorizontalDirection;\n readonly iconCleaner: PolymorpheusContent;\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER = `tuiIconCloseLarge`;\n\n/** Default values for primitive textfield options */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions = {\n iconAlign: `right`,\n iconCleaner: TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER,\n};\n\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS =\n new InjectionToken<TuiPrimitiveTextfieldOptions>(\n `Default parameters for primitive textfield component`,\n {\n factory: () => TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS,\n },\n );\n\nexport const tuiPrimitiveTextfieldOptionsProvider: (\n options: Partial<TuiPrimitiveTextfieldOptions>,\n) => ValueProvider = (options: Partial<TuiPrimitiveTextfieldOptions>) => ({\n provide: TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n useValue: {...TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocusedIn,\n setNativeFocused,\n TuiContextWithImplicit,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\nimport {\n TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n TuiPrimitiveTextfieldOptions,\n} from './primitive-textfield-options';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: `tui-primitive-textfield`,\n templateUrl: `./primitive-textfield.template.html`,\n styleUrls: [`./primitive-textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._autofilled]': `autofilled`,\n '[class._label-outside]': `controller.labelOutside`,\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild(`focusableElement`)\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = ``;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiPrimitiveTextfieldOptions['iconAlign'] = this.options.iconAlign;\n\n // TODO: 3.0 Remove null\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>> | null =\n null;\n\n @Input()\n @tuiDefaultProp()\n iconCleaner: TuiPrimitiveTextfieldOptions['iconCleaner'] = this.options.iconCleaner;\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n @Input()\n @tuiDefaultProp()\n postfix = ``;\n\n @Input()\n @tuiDefaultProp()\n value = ``;\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n /**\n * @deprecated TODO: 3.0 remove\n */\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_PRIMITIVE_TEXTFIELD_OPTIONS)\n readonly options: TuiPrimitiveTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n // TODO: 3.0 Refactor this after we drop built-in input element\n return (\n (this.focusableElement.nativeElement\n .previousElementSibling as HTMLInputElement | null) ||\n this.focusableElement.nativeElement\n );\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding(`class._hidden`)\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === `s` || (this.size === `m` && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.controller.exampleText ||\n this.prefix ||\n this.postfix ||\n this.nativeFocusableElement?.placeholder;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding(`style.--border-start.rem`)\n get borderStart(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get borderEnd(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === `left`;\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === `right`;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? `ccexpiryyear`\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || ``;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, `scroll`).pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = ``;\n }\n\n this.updateValue(``);\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(nativeFocusableElement);\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === `s` ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== `s` && !this.controller.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {Directive, forwardRef, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiAbstractTextfieldHost} from '@taiga-ui/core/abstract';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: `tui-primitive-textfield`,\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldDirective),\n },\n ],\n})\nexport class TuiPrimitiveTextfieldDirective extends TuiAbstractTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDescribedByDirective,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n// @dynamic\n@Component({\n selector: `input[tuiTextfield], textarea[tuiTextfield]`,\n template: ``,\n providers: [\n TuiDescribedByDirective,\n TUI_DESCRIBED_BY_PROVIDERS,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n type: `text`,\n '[attr.aria-placeholder]': `controller.exampleText`,\n '[attr.aria-invalid]': `host.invalid`,\n '[attr.disabled]': `host.disabled || null`,\n '[tabIndex]': `host.focusable ? 0 : -1`,\n '[readOnly]': `host.readOnly`,\n '[value]': `host.value`,\n '(input)': `host.onValueChange($event.target.value)`,\n },\n styleUrls: [`textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent implements DoCheck {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDescribedByDirective)\n private readonly describedBy: TuiDescribedByDirective,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.aria-describedby`)\n get computedDescribedBy(): string | null {\n return this.describedBy.computedDescribedBy;\n }\n\n @HostBinding(`id`)\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n\n ngDoCheck(): void {\n this.describedBy.tuiDescribedBy = this.id;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: `tui-value-decoration`,\n templateUrl: `value-decoration.template.html`,\n styleUrls: [`value-decoration.style.less`],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild(`pre`, {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject(``);\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n distinctUntilChanged(),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n );\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n @HostBinding(`class._table`)\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return ``;\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : ``;\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : ``;\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : ``;\n }\n\n @HostListener(`animationstart`)\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || ``;\n }\n\n private get exampleText(): string {\n const exampleText = this.controller.exampleText || this.placeholder;\n\n return !this.value && this.focused ? exampleText : ``;\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-textfield.js","sources":["ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.providers.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield-options.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.directive.ts","ng://@taiga-ui/core/components/primitive-textfield/textfield/textfield.component.ts","ng://@taiga-ui/core/components/primitive-textfield/value-decoration/value-decoration.component.ts","ng://@taiga-ui/core/components/primitive-textfield/primitive-textfield.module.ts","ng://@taiga-ui/core/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {HINT_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/hint-controller';\nimport {TEXTFIELD_CONTROLLER_PROVIDER} from '@taiga-ui/core/directives/textfield-controller';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\nexport const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPrimitiveTextfieldOptions {\n readonly iconAlign: TuiHorizontalDirection;\n readonly iconCleaner: PolymorpheusContent;\n}\n\n// TODO: 3.0 remove in ivy compilation\nexport const TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER = `tuiIconCloseLarge`;\n\n/** Default values for primitive textfield options */\nexport const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS: TuiPrimitiveTextfieldOptions = {\n iconAlign: `right`,\n iconCleaner: TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER,\n};\n\nexport const TUI_PRIMITIVE_TEXTFIELD_OPTIONS =\n new InjectionToken<TuiPrimitiveTextfieldOptions>(\n `Default parameters for primitive textfield component`,\n {\n factory: () => TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS,\n },\n );\n\nexport const tuiPrimitiveTextfieldOptionsProvider: (\n options: Partial<TuiPrimitiveTextfieldOptions>,\n) => ValueProvider = (options: Partial<TuiPrimitiveTextfieldOptions>) => ({\n provide: TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n useValue: {...TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocusedIn,\n setNativeFocused,\n TuiContextWithImplicit,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TuiHintControllerDirective,\n} from '@taiga-ui/core/directives/hint-controller';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives/textfield-controller';\nimport {TUI_MODE, TUI_TEXTFIELD_APPEARANCE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\nimport {getBorder} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusContent, PolymorpheusOutletComponent} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TUI_PRIMITIVE_TEXTFIELD_PROVIDERS} from './primitive-textfield.providers';\nimport {\n TUI_PRIMITIVE_TEXTFIELD_OPTIONS,\n TuiPrimitiveTextfieldOptions,\n} from './primitive-textfield-options';\n\nconst ICON_PADDING = 1.75;\nconst ICON_PADDING_S = 1.5;\n\n@Component({\n selector: `tui-primitive-textfield`,\n templateUrl: `./primitive-textfield.template.html`,\n styleUrls: [`./primitive-textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,\n host: {\n '($.data-mode.attr)': `mode$`,\n '[class._autofilled]': `autofilled`,\n '[class._label-outside]': `controller.labelOutside`,\n },\n})\nexport class TuiPrimitiveTextfieldComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild(`focusableElement`)\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n filler = ``;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiPrimitiveTextfieldOptions['iconAlign'] = this.options.iconAlign;\n\n // TODO: 3.0 Remove null\n @Input()\n @tuiDefaultProp()\n iconContent: PolymorpheusContent<TuiContextWithImplicit<TuiSizeS | TuiSizeL>> | null =\n null;\n\n @Input()\n @tuiDefaultProp()\n iconCleaner: TuiPrimitiveTextfieldOptions['iconCleaner'] = this.options.iconCleaner;\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n prefix = ``;\n\n @Input()\n @tuiDefaultProp()\n postfix = ``;\n\n @Input()\n @tuiDefaultProp()\n value = ``;\n\n @Output()\n readonly valueChange = new EventEmitter<string>();\n\n /**\n * @deprecated TODO: 3.0 remove\n */\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChildren(PolymorpheusOutletComponent)\n readonly content?: QueryList<unknown>;\n\n autofilled = false;\n\n constructor(\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_PRIMITIVE_TEXTFIELD_OPTIONS)\n readonly options: TuiPrimitiveTextfieldOptions,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n if (this.computedDisabled || !this.focusableElement) {\n return null;\n }\n\n // TODO: 3.0 Refactor this after we drop built-in input element\n return (\n (this.focusableElement.nativeElement\n .previousElementSibling as HTMLInputElement | null) ||\n this.focusableElement.nativeElement\n );\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.data-size`)\n get size(): TuiSizeS | TuiSizeL {\n return this.controller.size;\n }\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return !this.readOnly && !this.disabled && this.invalid;\n }\n\n @HostBinding(`class._hidden`)\n get inputHidden(): boolean {\n return !!this.content?.length;\n }\n\n get hasValue(): boolean {\n return !!this.value;\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n get hasTooltip(): boolean {\n return !!this.hintController?.content && !this.disabled;\n }\n\n get hasCustomContent(): boolean {\n return !!this.controller.customContent;\n }\n\n get showOnlyPlaceholder(): boolean {\n return (\n this.focused &&\n this.placeholderVisible &&\n (this.size === `s` || (this.size === `m` && !this.placeholderRaisable))\n );\n }\n\n get placeholderVisible(): boolean {\n const hasDecor =\n this.controller.exampleText ||\n this.prefix ||\n this.postfix ||\n this.nativeFocusableElement?.placeholder;\n const showDecor = hasDecor && !this.readOnly && this.computedFocused;\n\n return !this.hasValue && !showDecor;\n }\n\n get hasPlaceholder(): boolean {\n return (\n !this.showOnlyPlaceholder &&\n (this.placeholderRaisable || this.placeholderVisible)\n );\n }\n\n get placeholderRaised(): boolean {\n return (\n this.placeholderRaisable &&\n ((this.computedFocused && !this.readOnly) || this.hasValue || this.autofilled)\n );\n }\n\n @HostBinding(`style.--border-start.rem`)\n get borderStart(): number {\n return this.iconAlignLeft ? this.iconPaddingLeft : 0;\n }\n\n @HostBinding(`style.--border-end.rem`)\n get borderEnd(): number {\n return getBorder(\n this.iconAlignRight,\n this.hasCleaner,\n this.hasTooltip,\n this.hasCustomContent,\n );\n }\n\n get iconAlignLeft(): boolean {\n return this.hasIcon && this.iconAlign === `left`;\n }\n\n get iconAlignRight(): boolean {\n return this.hasIcon && this.iconAlign === `right`;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.controller.autocomplete === TuiCreditCardAutofillName.CcExp\n ? `ccexpiryyear`\n : null;\n }\n\n get computedId(): string {\n return this.nativeFocusableElement?.id || ``;\n }\n\n @HostListener(`focusin`, [`true`])\n @HostListener(`focusout`, [`false`])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @tuiPure\n getIndent$(element: HTMLElement): Observable<number> {\n return fromEvent(element, `scroll`).pipe(map(() => -1 * element.scrollLeft));\n }\n\n clear(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = ``;\n }\n\n this.updateValue(``);\n }\n\n onMouseDown(event: MouseEvent): void {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement || event.target === nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n setNativeFocused(nativeFocusableElement);\n }\n\n onModelChange(value: string): void {\n this.updateValue(value);\n }\n\n onHovered(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onAutofilled(autofilled: boolean): void {\n this.updateAutofilled(autofilled);\n }\n\n private get iconPaddingLeft(): number {\n return this.size === `s` ? ICON_PADDING_S : ICON_PADDING;\n }\n\n private get placeholderRaisable(): boolean {\n return this.size !== `s` && !this.controller.labelOutside;\n }\n\n private get hasIcon(): boolean {\n return !!this.iconContent;\n }\n\n private updateAutofilled(autofilled: boolean): void {\n if (this.autofilled === autofilled) {\n return;\n }\n\n this.autofilled = autofilled;\n this.autofilledChange.emit(autofilled);\n }\n\n private updateValue(value: string): void {\n this.value = value;\n this.valueChange.emit(value);\n }\n}\n","import {Directive, forwardRef, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiAbstractTextfieldHost} from '@taiga-ui/core/abstract';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\n\n@Directive({\n selector: `tui-primitive-textfield`,\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiPrimitiveTextfieldDirective),\n },\n ],\n})\nexport class TuiPrimitiveTextfieldDirective extends TuiAbstractTextfieldHost<any> {\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n ) {\n /**\n * TuiPrimitiveTextfieldComponent satisfies all required parts of\n * AbstractTuiControl interface. A new interface is not introduced\n * so AbstractTuiControl is automatically injected for all other controls.\n */\n super(textfield as unknown as AbstractTuiControl<unknown>);\n }\n\n get readOnly(): boolean {\n return this.textfield.readOnly || !this.textfield.editable;\n }\n\n onValueChange(value: string): void {\n this.textfield.onModelChange(value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DESCRIBED_BY_PROVIDERS,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDescribedByDirective,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\nimport {TUI_TEXTFIELD_HOST} from '@taiga-ui/core/tokens';\n\n// @dynamic\n@Component({\n selector: `input[tuiTextfield], textarea[tuiTextfield]`,\n template: ``,\n providers: [\n TuiDescribedByDirective,\n TUI_DESCRIBED_BY_PROVIDERS,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n type: `text`,\n '[attr.aria-placeholder]': `controller.exampleText`,\n '[attr.aria-invalid]': `host.invalid`,\n '[attr.disabled]': `host.disabled || null`,\n '[tabIndex]': `host.focusable ? 0 : -1`,\n '[readOnly]': `host.readOnly`,\n '[value]': `host.value`,\n '(input)': `host.onValueChange($event.target.value)`,\n },\n styleUrls: [`textfield.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTextfieldComponent implements DoCheck {\n constructor(\n @Inject(TUI_TEXTFIELD_HOST) readonly host: TuiTextfieldHost,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDescribedByDirective)\n private readonly describedBy: TuiDescribedByDirective,\n @Inject(TuiIdService)\n private readonly idService: TuiIdService,\n ) {\n this.host.process(this.elementRef.nativeElement);\n }\n\n @HostBinding(`attr.aria-describedby`)\n get computedDescribedBy(): string | null {\n return this.describedBy.computedDescribedBy;\n }\n\n @HostBinding(`id`)\n get id(): string {\n return this.elementRef.nativeElement.id || this.idService.generate();\n }\n\n ngDoCheck(): void {\n this.describedBy.tuiDescribedBy = this.id;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n ViewChild,\n} from '@angular/core';\nimport {\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {BehaviorSubject} from 'rxjs';\nimport {delay, distinctUntilChanged, filter, map} from 'rxjs/operators';\n\nimport {TuiPrimitiveTextfieldComponent} from '../primitive-textfield.component';\n\n@Component({\n selector: `tui-value-decoration`,\n templateUrl: `./value-decoration.template.html`,\n styleUrls: [`./value-decoration.style.less`],\n // It follows Change Detection of PrimitiveTextfield\n changeDetection: ChangeDetectionStrategy.Default,\n})\nexport class TuiValueDecorationComponent implements DoCheck {\n @ViewChild(`pre`, {read: ElementRef, static: true})\n private readonly pre?: ElementRef<HTMLElement>;\n\n private readonly prefix$ = new BehaviorSubject(``);\n\n readonly pre$ = this.prefix$.pipe(\n delay(0),\n filter(() => !!this.pre?.nativeElement.isConnected),\n distinctUntilChanged(),\n map(() => this.pre?.nativeElement.offsetWidth || 0),\n );\n\n constructor(\n @Inject(TuiPrimitiveTextfieldComponent)\n private readonly textfield: TuiPrimitiveTextfieldComponent,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController,\n ) {}\n\n @HostBinding(`class._table`)\n get isContextTable(): boolean {\n return this.textfield.appearance === TuiAppearance.Table;\n }\n\n get value(): string {\n return this.textfield.value;\n }\n\n get filler(): string {\n const {focused, placeholder, exampleText, value, textfield} = this;\n\n if (placeholder && exampleText) {\n return ``;\n }\n\n return focused ? exampleText || textfield.filler.slice(value.length) : ``;\n }\n\n get prefix(): string {\n return this.decorationsVisible ? this.textfield.prefix : ``;\n }\n\n get postfix(): string {\n return this.decorationsVisible ? this.computedPostfix : ``;\n }\n\n @HostListener(`animationstart`)\n ngDoCheck(): void {\n this.prefix$.next(this.prefix);\n }\n\n private get placeholder(): string {\n return this.textfield.nativeFocusableElement?.placeholder || ``;\n }\n\n private get exampleText(): string {\n const exampleText = this.controller.exampleText || this.placeholder;\n\n return !this.value && this.focused ? exampleText : ``;\n }\n\n private get decorationsVisible(): boolean {\n return !!this.value || this.focused;\n }\n\n private get focused(): boolean {\n return this.textfield.computedFocused && !this.textfield.readOnly;\n }\n\n private get computedPostfix(): string {\n return this.textfield.postfix && (this.filler || this.value)\n ? ` ${this.textfield.postfix}`\n : this.textfield.postfix;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiAutofilledModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n} from '@taiga-ui/cdk';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiTooltipModule} from '@taiga-ui/core/components/tooltip';\nimport {TuiDescribedByModule} from '@taiga-ui/core/directives/described-by';\nimport {TuiMaskAccessorModule} from '@taiga-ui/core/directives/mask-accessor';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveTextfieldComponent} from './primitive-textfield.component';\nimport {TuiPrimitiveTextfieldDirective} from './primitive-textfield.directive';\nimport {TuiTextfieldComponent} from './textfield/textfield.component';\nimport {TuiValueDecorationComponent} from './value-decoration/value-decoration.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiMaskAccessorModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiAutofilledModule,\n TuiDescribedByModule,\n ],\n declarations: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n TuiValueDecorationComponent,\n ],\n exports: [\n TuiPrimitiveTextfieldComponent,\n TuiPrimitiveTextfieldDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiPrimitiveTextfieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TuiTextfieldController","TUI_TEXTFIELD_WATCHED_CONTROLLER","TEXTFIELD_CONTROLLER_PROVIDER"],"mappings":"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"}
@@ -43,7 +43,7 @@ var TuiRootComponent = /** @class */ (function () {
43
43
  TuiRootComponent = __decorate([
44
44
  Component({
45
45
  selector: "tui-root",
46
- template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n <!-- TODO: 3.0 Remove-->\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n",
46
+ template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n <!-- TODO: 3.0 Remove-->\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n",
47
47
  changeDetection: ChangeDetectionStrategy.OnPush,
48
48
  providers: [TUI_IS_MOBILE_RES_PROVIDER],
49
49
  host: {
@@ -51,7 +51,7 @@ var TuiRootComponent = /** @class */ (function () {
51
51
  '[style.--tui-duration]': "duration + \"ms\"",
52
52
  '($.class._mobile)': "isMobileRes$",
53
53
  },
54
- styles: ["@-webkit-keyframes tuiPresent{to{content:'1'}}@keyframes tuiPresent{to{content:'1'}}:host{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}.scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.content{position:relative;z-index:0;height:100%}"]
54
+ styles: ["@-webkit-keyframes tuiPresent{to{content:'1'}}@keyframes tuiPresent{to{content:'1'}}:host{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}.t-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-content{position:relative;z-index:0;height:100%}"]
55
55
  }),
56
56
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
57
57
  __param(1, Inject(ElementRef)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-root.js","sources":["ng://@taiga-ui/core/components/root/root.component.ts","ng://@taiga-ui/core/components/root/root.module.ts","ng://@taiga-ui/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, Inject} from '@angular/core';\nimport {TUI_DIALOGS, TUI_IS_MOBILE, tuiAssert} from '@taiga-ui/cdk';\nimport {VERSION} from '@taiga-ui/core/constants';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_ASSERT_ENABLED,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: `tui-root`,\n templateUrl: `root.template.html`,\n styleUrls: [`./root.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_IS_MOBILE_RES_PROVIDER],\n host: {\n 'data-tui-version': VERSION,\n '[style.--tui-duration]': `duration + \"ms\"`,\n '($.class._mobile)': `isMobileRes$`,\n },\n})\nexport class TuiRootComponent {\n readonly scrollbars$: Observable<boolean> =\n this.dialogs.length && !this.isMobile\n ? merge(...this.dialogs).pipe(map(({length}) => !length))\n : of(!this.isMobile);\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) readonly duration: number,\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_DIALOGS)\n readonly dialogs: ReadonlyArray<Observable<readonly unknown[]>>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_ASSERT_ENABLED) enabled: boolean,\n @Inject(TUI_IS_MOBILE_RES) readonly isMobileRes$: Observable<boolean>,\n @Inject(DOCUMENT) {body}: Document,\n @Inject(TUI_THEME) theme: string,\n ) {\n tuiAssert.enabled = enabled;\n body.setAttribute(`data-tui-theme`, theme.toLowerCase());\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiAlertHostModule,\n TuiDialogHostModule,\n TuiDragModule,\n TuiDropdownHostModule,\n} from '@taiga-ui/cdk';\nimport {TuiHintsHostModule} from '@taiga-ui/core/components/hints-host';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiSvgDefsHostModule} from '@taiga-ui/core/internal/svg-defs-host';\nimport {EventPluginsModule} from '@tinkoff/ng-event-plugins';\n\nimport {TuiRootComponent} from './root.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EventPluginsModule,\n TuiDragModule,\n TuiDropdownHostModule,\n TuiSvgDefsHostModule,\n TuiHintsHostModule,\n TuiDialogHostModule,\n TuiAlertHostModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiRootComponent],\n exports: [TuiRootComponent],\n})\nexport class TuiRootModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAcA;;IAmBI,0BAC8C,QAAgB,EAC7B,UAAmC,EAEvD,OAAsD,EACvB,QAAiB,EAC7B,OAAgB,EACR,YAAiC,EACnD,EAAgB,EACf,KAAa;YADb,cAAI;QAPmB,aAAQ,GAAR,QAAQ,CAAQ;QAC7B,eAAU,GAAV,UAAU,CAAyB;QAEvD,YAAO,GAAP,OAAO,CAA+C;QACvB,aAAQ,GAAR,QAAQ,CAAS;QAErB,iBAAY,GAAZ,YAAY,CAAqB;QAZhE,gBAAW,GAChB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;cAC/B,KAAK,wBAAI,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,GAAG,CAAC,UAAC,EAAQ;oBAAP,kBAAM;gBAAM,OAAA,CAAC,MAAM;aAAA,CAAC,CAAC;cACvD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAazB,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;KAC5D;;6CAZI,MAAM,SAAC,uBAAuB;gBACU,UAAU,uBAAlD,MAAM,SAAC,UAAU;gDACjB,MAAM,SAAC,WAAW;8CAElB,MAAM,SAAC,aAAa;8CACpB,MAAM,SAAC,kBAAkB;gBACwB,UAAU,uBAA3D,MAAM,SAAC,iBAAiB;gBACC,QAAQ,uBAAjC,MAAM,SAAC,QAAQ;6CACf,MAAM,SAAC,SAAS;;IAfZ,gBAAgB;QAZ5B,SAAS,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,yvBAAiC;YAEjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,0BAA0B,CAAC;YACvC,IAAI,EAAE;gBACF,kBAAkB,EAAE,OAAO;gBAC3B,wBAAwB,EAAE,mBAAiB;gBAC3C,mBAAmB,EAAE,cAAc;aACtC;;SACJ,CAAC;QAQO,WAAA,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAC/B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QACrB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAfb,gBAAgB,CAoB5B;IAAD,uBAAC;CApBD;;;ICGA;KAA6B;IAAhB,aAAa;QAfzB,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,aAAa;gBACb,qBAAqB;gBACrB,oBAAoB;gBACpB,kBAAkB;gBAClB,mBAAmB;gBACnB,kBAAkB;gBAClB,uBAAuB;aAC1B;YACD,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;AC9BA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-root.js","sources":["ng://@taiga-ui/core/components/root/root.component.ts","ng://@taiga-ui/core/components/root/root.module.ts","ng://@taiga-ui/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, Inject} from '@angular/core';\nimport {TUI_DIALOGS, TUI_IS_MOBILE, tuiAssert} from '@taiga-ui/cdk';\nimport {VERSION} from '@taiga-ui/core/constants';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_ASSERT_ENABLED,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: `tui-root`,\n templateUrl: `root.template.html`,\n styleUrls: [`./root.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TUI_IS_MOBILE_RES_PROVIDER],\n host: {\n 'data-tui-version': VERSION,\n '[style.--tui-duration]': `duration + \"ms\"`,\n '($.class._mobile)': `isMobileRes$`,\n },\n})\nexport class TuiRootComponent {\n readonly scrollbars$: Observable<boolean> =\n this.dialogs.length && !this.isMobile\n ? merge(...this.dialogs).pipe(map(({length}) => !length))\n : of(!this.isMobile);\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) readonly duration: number,\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_DIALOGS)\n readonly dialogs: ReadonlyArray<Observable<readonly unknown[]>>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_ASSERT_ENABLED) enabled: boolean,\n @Inject(TUI_IS_MOBILE_RES) readonly isMobileRes$: Observable<boolean>,\n @Inject(DOCUMENT) {body}: Document,\n @Inject(TUI_THEME) theme: string,\n ) {\n tuiAssert.enabled = enabled;\n body.setAttribute(`data-tui-theme`, theme.toLowerCase());\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiAlertHostModule,\n TuiDialogHostModule,\n TuiDragModule,\n TuiDropdownHostModule,\n} from '@taiga-ui/cdk';\nimport {TuiHintsHostModule} from '@taiga-ui/core/components/hints-host';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiSvgDefsHostModule} from '@taiga-ui/core/internal/svg-defs-host';\nimport {EventPluginsModule} from '@tinkoff/ng-event-plugins';\n\nimport {TuiRootComponent} from './root.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EventPluginsModule,\n TuiDragModule,\n TuiDropdownHostModule,\n TuiSvgDefsHostModule,\n TuiHintsHostModule,\n TuiDialogHostModule,\n TuiAlertHostModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiRootComponent],\n exports: [TuiRootComponent],\n})\nexport class TuiRootModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAcA;;IAmBI,0BAC8C,QAAgB,EAC7B,UAAmC,EAEvD,OAAsD,EACvB,QAAiB,EAC7B,OAAgB,EACR,YAAiC,EACnD,EAAgB,EACf,KAAa;YADb,cAAI;QAPmB,aAAQ,GAAR,QAAQ,CAAQ;QAC7B,eAAU,GAAV,UAAU,CAAyB;QAEvD,YAAO,GAAP,OAAO,CAA+C;QACvB,aAAQ,GAAR,QAAQ,CAAS;QAErB,iBAAY,GAAZ,YAAY,CAAqB;QAZhE,gBAAW,GAChB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ;cAC/B,KAAK,wBAAI,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,GAAG,CAAC,UAAC,EAAQ;oBAAP,kBAAM;gBAAM,OAAA,CAAC,MAAM;aAAA,CAAC,CAAC;cACvD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAazB,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;KAC5D;;6CAZI,MAAM,SAAC,uBAAuB;gBACU,UAAU,uBAAlD,MAAM,SAAC,UAAU;gDACjB,MAAM,SAAC,WAAW;8CAElB,MAAM,SAAC,aAAa;8CACpB,MAAM,SAAC,kBAAkB;gBACwB,UAAU,uBAA3D,MAAM,SAAC,iBAAiB;gBACC,QAAQ,uBAAjC,MAAM,SAAC,QAAQ;6CACf,MAAM,SAAC,SAAS;;IAfZ,gBAAgB;QAZ5B,SAAS,CAAC;YACP,QAAQ,EAAE,UAAU;YACpB,6vBAAiC;YAEjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,0BAA0B,CAAC;YACvC,IAAI,EAAE;gBACF,kBAAkB,EAAE,OAAO;gBAC3B,wBAAwB,EAAE,mBAAiB;gBAC3C,mBAAmB,EAAE,cAAc;aACtC;;SACJ,CAAC;QAQO,WAAA,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAC/B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,WAAW,CAAC,CAAA;QAEnB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QACrB,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC1B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChB,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;OAfb,gBAAgB,CAoB5B;IAAD,uBAAC;CApBD;;;ICGA;KAA6B;IAAhB,aAAa;QAfzB,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,aAAa;gBACb,qBAAqB;gBACrB,oBAAoB;gBACpB,kBAAkB;gBAClB,mBAAmB;gBACnB,kBAAkB;gBAClB,uBAAuB;aAC1B;YACD,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;AC9BA;;;;;;"}
@@ -46,14 +46,14 @@ var TuiScrollControlsComponent = /** @class */ (function () {
46
46
  TuiScrollControlsComponent = __decorate([
47
47
  Component({
48
48
  selector: "tui-scroll-controls",
49
- template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"bar bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"bar bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"thumb\"\n ></div>\n </div>\n</ng-container>\n",
49
+ template: "<ng-container *tuiLet=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n",
50
50
  changeDetection: ChangeDetectionStrategy.OnPush,
51
51
  animations: [tuiFadeIn],
52
52
  providers: [MODE_PROVIDER],
53
53
  host: {
54
54
  '($.data-mode.attr)': "mode$",
55
55
  },
56
- styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.bar{position:absolute;right:0;bottom:0;pointer-events:auto}.bar_vertical{top:0;width:.875rem}.bar_horizontal{left:0;height:.875rem}.bar_has-horizontal{bottom:.5rem}.bar_has-vertical{right:.5rem}.thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.thumb:hover{opacity:.24}.thumb:active{opacity:.48}:host[data-mode=onDark] .thumb{background-color:var(--tui-text-01-night)}.bar_vertical .thumb{right:0;width:.75rem;min-height:1.25rem}.bar_vertical .thumb:active,.bar_vertical:hover .thumb{width:.875rem}.bar_horizontal .thumb{bottom:0;height:.75rem;min-width:1.25rem}.bar_horizontal .thumb:active,.bar_horizontal:hover .thumb{height:.875rem}"]
56
+ styles: [":host{position:-webkit-sticky;position:sticky;top:0;left:0;z-index:1;min-width:calc(100% - 1px);min-height:calc(100% - 1px);float:left;margin-right:calc(-100% + 1px);-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(-100% + 1px);margin-inline-end:calc(-100% + 1px);pointer-events:none}.t-bar{position:absolute;right:0;bottom:0;pointer-events:auto}.t-bar_vertical{top:0;width:.875rem}.t-bar_horizontal{left:0;height:.875rem}.t-bar_has-horizontal{bottom:.5rem}.t-bar_has-vertical{right:.5rem}.t-thumb{transition-duration:.15s;transition-timing-function:ease-in-out;position:absolute;border-radius:6.25rem;border:.25rem solid transparent;cursor:pointer;pointer-events:auto;background:var(--tui-text-01);background-clip:content-box;box-sizing:border-box;transition-property:width,height;opacity:.2}.t-thumb:hover{opacity:.24}.t-thumb:active{opacity:.48}:host[data-mode=onDark] .t-thumb{background-color:var(--tui-text-01-night)}.t-bar_vertical .t-thumb{right:0;width:.75rem;min-height:1.25rem}.t-bar_vertical .t-thumb:active,.t-bar_vertical:hover .t-thumb{width:.875rem}.t-bar_horizontal .t-thumb{bottom:0;height:.75rem;min-width:1.25rem}.t-bar_horizontal .t-thumb:active,.t-bar_horizontal:hover .t-thumb{height:.875rem}"]
57
57
  }),
58
58
  __param(0, Inject(TUI_ANIMATION_OPTIONS)),
59
59
  __param(1, Inject(NgZone)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scroll-controls.js","sources":["ng://@taiga-ui/core/components/scroll-controls/scroll-controls.component.ts","ng://@taiga-ui/core/components/scroll-controls/scrollbar.directive.ts","ng://@taiga-ui/core/components/scroll-controls/scrollbar-wrapper.directive.ts","ng://@taiga-ui/core/components/scroll-controls/scroll-controls.module.ts","ng://@taiga-ui/core/components/scroll-controls/taiga-ui-core-components-scroll-controls.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, throttleTime} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: `tui-scroll-controls`,\n templateUrl: `./scroll-controls.template.html`,\n styleUrls: [`./scroll-controls.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn],\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiScrollControlsComponent {\n readonly refresh$ = this.animationFrame$.pipe(\n throttleTime(300),\n map(() => this.scrollbars),\n startWith([false, false]),\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n tuiZoneOptimized(this.ngZone),\n );\n\n readonly animation = {\n value: ``,\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {}\n\n private get scrollbars(): [boolean, boolean] {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} = this.scrollRef\n ? this.scrollRef.nativeElement\n : this.documentRef.documentElement;\n\n return [\n Math.ceil((clientHeight / scrollHeight) * 100) < 100,\n Math.ceil((clientWidth / scrollWidth) * 100) < 100,\n ];\n }\n}\n","import {DOCUMENT, ViewportScroller} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n POLLING_TIME,\n preventDefault,\n stopPropagation,\n TuiDestroyService,\n tuiZonefree,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiOrientationT} from '@taiga-ui/core/types';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {map, switchMap, takeUntil, throttleTime} from 'rxjs/operators';\n\nconst MIN_WIDTH = 24;\n\n// @dynamic\n@Directive({\n selector: `[tuiScrollbar]`,\n providers: [TuiDestroyService],\n})\nexport class TuiScrollbarDirective {\n @Input()\n tuiScrollbar: TuiOrientationT = `vertical`;\n\n constructor(\n @Inject(NgZone) ngZone: NgZone,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ELEMENT_REF) private readonly wrapper: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly container: ElementRef<HTMLElement> | null,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewportScroller) private readonly viewportScroller: ViewportScroller,\n ) {\n const {nativeElement} = this.elementRef;\n const mousedown$ = typedFromEvent(nativeElement, `mousedown`);\n const mousemove$ = typedFromEvent(this.documentRef, `mousemove`);\n const mouseup$ = typedFromEvent(this.documentRef, `mouseup`);\n const mousedownWrapper$ = typedFromEvent(wrapper.nativeElement, `mousedown`);\n\n merge(\n mousedownWrapper$.pipe(\n preventDefault(),\n map(event => this.getScrolled(event, 0.5, 0.5)),\n ),\n mousedown$.pipe(\n preventDefault(),\n stopPropagation(),\n switchMap(event => {\n const rect = nativeElement.getBoundingClientRect();\n const vertical = getOffsetVertical(event, rect);\n const horizontal = getOffsetHorizontal(event, rect);\n\n return mousemove$.pipe(\n map(event => this.getScrolled(event, vertical, horizontal)),\n takeUntil(mouseup$),\n );\n }),\n ),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(([scrollTop, scrollLeft]) => {\n const [x, y] = this.viewportScroller.getScrollPosition();\n\n if (!this.container) {\n this.viewportScroller.scrollToPosition([\n this.tuiScrollbar === `vertical` ? x : scrollLeft,\n this.tuiScrollbar === `vertical` ? scrollTop : y,\n ]);\n\n return;\n }\n\n if (this.tuiScrollbar === `vertical`) {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollTop`,\n scrollTop,\n );\n } else {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollLeft`,\n scrollLeft,\n );\n }\n });\n\n merge(\n fromEvent(\n this.container ? this.container.nativeElement : this.windowRef,\n `scroll`,\n ),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n if (this.tuiScrollbar === `vertical`) {\n renderer.setStyle(nativeElement, `top`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `height`, `${this.view * 100}%`);\n } else {\n renderer.setStyle(nativeElement, `left`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `width`, `${this.view * 100}%`);\n }\n });\n }\n\n private get scrolled(): number {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? scrollTop / (scrollHeight - clientHeight)\n : scrollLeft / (scrollWidth - clientWidth);\n }\n\n private get compensation(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n if (\n ((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&\n this.tuiScrollbar === `vertical`) ||\n ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&\n this.tuiScrollbar === `horizontal`)\n ) {\n return 0;\n }\n\n return this.tuiScrollbar === `vertical`\n ? MIN_WIDTH / clientHeight\n : MIN_WIDTH / clientWidth;\n }\n\n private get thumb(): number {\n const compensation = this.compensation || this.view;\n\n return this.scrolled * (1 - compensation);\n }\n\n private get view(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? Math.ceil((clientHeight / scrollHeight) * 100) / 100\n : Math.ceil((clientWidth / scrollWidth) * 100) / 100;\n }\n\n private get computedContainer(): Element {\n return this.container\n ? this.container.nativeElement\n : this.documentRef.scrollingElement!;\n }\n\n private getScrolled(\n {clientY, clientX}: MouseEvent,\n offsetVertical: number,\n offsetHorizontal: number,\n ): [number, number] {\n const {offsetHeight, offsetWidth} = this.elementRef.nativeElement;\n const {top, left, width, height} =\n this.wrapper.nativeElement.getBoundingClientRect();\n\n const maxTop = this.computedContainer.scrollHeight - height;\n const maxLeft = this.computedContainer.scrollWidth - width;\n const scrolledTop =\n (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);\n const scrolledLeft =\n (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);\n\n return [maxTop * scrolledTop, maxLeft * scrolledLeft];\n }\n}\n\nfunction getOffsetVertical({clientY}: MouseEvent, {top, height}: ClientRect): number {\n return (clientY - top) / height;\n}\n\nfunction getOffsetHorizontal({clientX}: MouseEvent, {left, width}: ClientRect): number {\n return (clientX - left) / width;\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: `[tuiScrollbarWrapper]`,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollbarWrapperDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollControlsComponent} from './scroll-controls.component';\nimport {TuiScrollbarDirective} from './scrollbar.directive';\nimport {TuiScrollbarWrapperDirective} from './scrollbar-wrapper.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [\n TuiScrollbarDirective,\n TuiScrollbarWrapperDirective,\n TuiScrollControlsComponent,\n ],\n exports: [TuiScrollControlsComponent],\n})\nexport class TuiScrollControlsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiScrollbarWrapperDirective as ɵa} from './scrollbar-wrapper.directive';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scroll-controls.js","sources":["ng://@taiga-ui/core/components/scroll-controls/scroll-controls.component.ts","ng://@taiga-ui/core/components/scroll-controls/scrollbar.directive.ts","ng://@taiga-ui/core/components/scroll-controls/scrollbar-wrapper.directive.ts","ng://@taiga-ui/core/components/scroll-controls/scroll-controls.module.ts","ng://@taiga-ui/core/components/scroll-controls/taiga-ui-core-components-scroll-controls.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, throttleTime} from 'rxjs/operators';\n\n// @dynamic\n@Component({\n selector: `tui-scroll-controls`,\n templateUrl: `./scroll-controls.template.html`,\n styleUrls: [`./scroll-controls.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn],\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiScrollControlsComponent {\n readonly refresh$ = this.animationFrame$.pipe(\n throttleTime(300),\n map(() => this.scrollbars),\n startWith([false, false]),\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n tuiZoneOptimized(this.ngZone),\n );\n\n readonly animation = {\n value: ``,\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {}\n\n private get scrollbars(): [boolean, boolean] {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} = this.scrollRef\n ? this.scrollRef.nativeElement\n : this.documentRef.documentElement;\n\n return [\n Math.ceil((clientHeight / scrollHeight) * 100) < 100,\n Math.ceil((clientWidth / scrollWidth) * 100) < 100,\n ];\n }\n}\n","import {DOCUMENT, ViewportScroller} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n POLLING_TIME,\n preventDefault,\n stopPropagation,\n TuiDestroyService,\n tuiZonefree,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiOrientationT} from '@taiga-ui/core/types';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {map, switchMap, takeUntil, throttleTime} from 'rxjs/operators';\n\nconst MIN_WIDTH = 24;\n\n// @dynamic\n@Directive({\n selector: `[tuiScrollbar]`,\n providers: [TuiDestroyService],\n})\nexport class TuiScrollbarDirective {\n @Input()\n tuiScrollbar: TuiOrientationT = `vertical`;\n\n constructor(\n @Inject(NgZone) ngZone: NgZone,\n @Inject(Renderer2) renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ELEMENT_REF) private readonly wrapper: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly container: ElementRef<HTMLElement> | null,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewportScroller) private readonly viewportScroller: ViewportScroller,\n ) {\n const {nativeElement} = this.elementRef;\n const mousedown$ = typedFromEvent(nativeElement, `mousedown`);\n const mousemove$ = typedFromEvent(this.documentRef, `mousemove`);\n const mouseup$ = typedFromEvent(this.documentRef, `mouseup`);\n const mousedownWrapper$ = typedFromEvent(wrapper.nativeElement, `mousedown`);\n\n merge(\n mousedownWrapper$.pipe(\n preventDefault(),\n map(event => this.getScrolled(event, 0.5, 0.5)),\n ),\n mousedown$.pipe(\n preventDefault(),\n stopPropagation(),\n switchMap(event => {\n const rect = nativeElement.getBoundingClientRect();\n const vertical = getOffsetVertical(event, rect);\n const horizontal = getOffsetHorizontal(event, rect);\n\n return mousemove$.pipe(\n map(event => this.getScrolled(event, vertical, horizontal)),\n takeUntil(mouseup$),\n );\n }),\n ),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(([scrollTop, scrollLeft]) => {\n const [x, y] = this.viewportScroller.getScrollPosition();\n\n if (!this.container) {\n this.viewportScroller.scrollToPosition([\n this.tuiScrollbar === `vertical` ? x : scrollLeft,\n this.tuiScrollbar === `vertical` ? scrollTop : y,\n ]);\n\n return;\n }\n\n if (this.tuiScrollbar === `vertical`) {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollTop`,\n scrollTop,\n );\n } else {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollLeft`,\n scrollLeft,\n );\n }\n });\n\n merge(\n fromEvent(\n this.container ? this.container.nativeElement : this.windowRef,\n `scroll`,\n ),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n if (this.tuiScrollbar === `vertical`) {\n renderer.setStyle(nativeElement, `top`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `height`, `${this.view * 100}%`);\n } else {\n renderer.setStyle(nativeElement, `left`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `width`, `${this.view * 100}%`);\n }\n });\n }\n\n private get scrolled(): number {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? scrollTop / (scrollHeight - clientHeight)\n : scrollLeft / (scrollWidth - clientWidth);\n }\n\n private get compensation(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n if (\n ((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&\n this.tuiScrollbar === `vertical`) ||\n ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&\n this.tuiScrollbar === `horizontal`)\n ) {\n return 0;\n }\n\n return this.tuiScrollbar === `vertical`\n ? MIN_WIDTH / clientHeight\n : MIN_WIDTH / clientWidth;\n }\n\n private get thumb(): number {\n const compensation = this.compensation || this.view;\n\n return this.scrolled * (1 - compensation);\n }\n\n private get view(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? Math.ceil((clientHeight / scrollHeight) * 100) / 100\n : Math.ceil((clientWidth / scrollWidth) * 100) / 100;\n }\n\n private get computedContainer(): Element {\n return this.container\n ? this.container.nativeElement\n : this.documentRef.scrollingElement!;\n }\n\n private getScrolled(\n {clientY, clientX}: MouseEvent,\n offsetVertical: number,\n offsetHorizontal: number,\n ): [number, number] {\n const {offsetHeight, offsetWidth} = this.elementRef.nativeElement;\n const {top, left, width, height} =\n this.wrapper.nativeElement.getBoundingClientRect();\n\n const maxTop = this.computedContainer.scrollHeight - height;\n const maxLeft = this.computedContainer.scrollWidth - width;\n const scrolledTop =\n (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);\n const scrolledLeft =\n (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);\n\n return [maxTop * scrolledTop, maxLeft * scrolledLeft];\n }\n}\n\nfunction getOffsetVertical({clientY}: MouseEvent, {top, height}: ClientRect): number {\n return (clientY - top) / height;\n}\n\nfunction getOffsetHorizontal({clientX}: MouseEvent, {left, width}: ClientRect): number {\n return (clientX - left) / width;\n}\n","import {Directive, ElementRef} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: `[tuiScrollbarWrapper]`,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollbarWrapperDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollControlsComponent} from './scroll-controls.component';\nimport {TuiScrollbarDirective} from './scrollbar.directive';\nimport {TuiScrollbarWrapperDirective} from './scrollbar-wrapper.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [\n TuiScrollbarDirective,\n TuiScrollbarWrapperDirective,\n TuiScrollControlsComponent,\n ],\n exports: [TuiScrollControlsComponent],\n})\nexport class TuiScrollControlsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiScrollbarWrapperDirective as ɵa} from './scrollbar-wrapper.directive';"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ var TuiScrollbarComponent = /** @class */ (function () {
118
118
  TuiScrollbarComponent = TuiScrollbarComponent_1 = __decorate([
119
119
  Component({
120
120
  selector: "tui-scrollbar",
121
- template: "<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"content\">\n <ng-content></ng-content>\n</div>\n",
121
+ template: "<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n",
122
122
  changeDetection: ChangeDetectionStrategy.OnPush,
123
123
  providers: [
124
124
  {
@@ -127,7 +127,7 @@ var TuiScrollbarComponent = /** @class */ (function () {
127
127
  useFactory: scrollRefFactory,
128
128
  },
129
129
  ],
130
- styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
130
+ styles: [":host{z-index:0;position:relative;display:flex;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{position:relative;z-index:0;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:-moz-max-content;height:max-content}"]
131
131
  }),
132
132
  __param(0, Inject(CSS)),
133
133
  __param(1, Inject(ElementRef)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: `[tuiScrollable]`,\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: `tui-scrollbar`,\n templateUrl: `./scrollbar.template.html`,\n styleUrls: [`./scrollbar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports(`position`, `sticky`) ||\n (isFirefox(this.userAgent) && !this.cssRef.supports(`scrollbar-width`, `none`));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding(`class._legacy`)\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, [`$event.detail`])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, [`$event.detail`])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\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-scrollbar.js","sources":["ng://@taiga-ui/core/components/scrollbar/scroll-ref.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollable.directive.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.component.ts","ng://@taiga-ui/core/components/scrollbar/scrollbar.module.ts","ng://@taiga-ui/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: `[tuiScrollable]`,\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS, USER_AGENT} from '@ng-web-apis/common';\nimport {getElementOffset, isFirefox, TUI_IS_IOS, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function scrollRefFactory({\n browserScrollRef,\n}: TuiScrollbarComponent): ElementRef<HTMLElement> {\n return browserScrollRef;\n}\n\n// @dynamic\n@Component({\n selector: `tui-scrollbar`,\n templateUrl: `./scrollbar.template.html`,\n styleUrls: [`./scrollbar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: scrollRefFactory,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports(`position`, `sticky`) ||\n (isFirefox(this.userAgent) && !this.cssRef.supports(`scrollbar-width`, `none`));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS) private readonly cssRef: any,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding(`class._legacy`)\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, [`$event.detail`])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, [`$event.detail`])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = getElementOffset(nativeElement, detail);\n\n nativeElement.scrollTop =\n offsetTop + detail.offsetHeight / 2 - nativeElement.clientHeight / 2;\n nativeElement.scrollLeft =\n offsetLeft + detail.offsetWidth / 2 - nativeElement.clientWidth / 2;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -185,9 +185,9 @@ var TuiSvgComponent = /** @class */ (function () {
185
185
  TuiSvgComponent = __decorate([
186
186
  Component({
187
187
  selector: "tui-svg",
188
- template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n",
188
+ template: "<ng-container *tuiLet=\"innerHTML$ | async as innerHTML\">\n <div\n *ngIf=\"isInnerHTML; else useTemplate\"\n class=\"t-src\"\n [innerHTML]=\"innerHTML\"\n ></div>\n <ng-template #useTemplate>\n <svg\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n focusable=\"false\"\n width=\"100%\"\n height=\"100%\"\n (error)=\"onError()\"\n >\n <use [attr.xlink:href]=\"use\"></use>\n </svg>\n </ng-template>\n</ng-container>\n",
189
189
  changeDetection: ChangeDetectionStrategy.OnPush,
190
- styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:currentColor;font-size:1rem}.src{display:flex;height:100%;align-items:center;justify-content:center}"]
190
+ styles: [":host{display:inline-block;vertical-align:middle;flex-shrink:0;line-height:0;height:1.5rem;width:1.5rem;fill:currentColor;font-size:1rem}.t-src{display:flex;height:100%;align-items:center;justify-content:center}"]
191
191
  }),
192
192
  __param(0, Inject(DOCUMENT)),
193
193
  __param(1, Inject(WINDOW)),