@taiga-ui/core 2.31.0 → 2.32.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 (169) hide show
  1. package/abstract/abstract-hint-options.d.ts +7 -0
  2. package/abstract/abstract-hint.d.ts +5 -4
  3. package/abstract/index.d.ts +1 -0
  4. package/abstract/taiga-ui-core-abstract.metadata.json +1 -1
  5. package/bundles/taiga-ui-core-abstract.umd.js +13 -4
  6. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-abstract.umd.min.js +1 -1
  8. package/bundles/taiga-ui-core-abstract.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  10. package/bundles/taiga-ui-core-components-dialog.umd.min.js +1 -1
  11. package/bundles/taiga-ui-core-components-dialog.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-core-components-link.umd.js +2 -2
  13. package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
  14. package/bundles/taiga-ui-core-components-link.umd.min.js +1 -1
  15. package/bundles/taiga-ui-core-components-link.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +30 -7
  17. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  18. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js +1 -1
  19. package/bundles/taiga-ui-core-components-primitive-textfield.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-core-components-scroll-controls.umd.js +1 -1
  21. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js +2 -2
  22. package/bundles/taiga-ui-core-components-scroll-controls.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-core-components-tooltip.umd.js +23 -13
  24. package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-components-tooltip.umd.min.js +2 -2
  26. package/bundles/taiga-ui-core-components-tooltip.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-core-constants.umd.js +1 -1
  28. package/bundles/taiga-ui-core-constants.umd.js.map +1 -1
  29. package/bundles/taiga-ui-core-constants.umd.min.js +1 -1
  30. package/bundles/taiga-ui-core-constants.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-core-directives-hint-controller.umd.js +17 -12
  32. package/bundles/taiga-ui-core-directives-hint-controller.umd.js.map +1 -1
  33. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js +2 -2
  34. package/bundles/taiga-ui-core-directives-hint-controller.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-core-directives-hint.umd.js +20 -6
  36. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  37. package/bundles/taiga-ui-core-directives-hint.umd.min.js +1 -1
  38. package/bundles/taiga-ui-core-directives-hint.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-core-directives-manual-hint.umd.js +15 -4
  40. package/bundles/taiga-ui-core-directives-manual-hint.umd.js.map +1 -1
  41. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js +1 -1
  42. package/bundles/taiga-ui-core-directives-manual-hint.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js +17 -6
  44. package/bundles/taiga-ui-core-directives-pointer-hint.umd.js.map +1 -1
  45. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js +1 -1
  46. package/bundles/taiga-ui-core-directives-pointer-hint.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-core-utils-mask.umd.js +1 -1
  48. package/bundles/taiga-ui-core-utils-mask.umd.js.map +1 -1
  49. package/bundles/taiga-ui-core-utils-mask.umd.min.js +1 -1
  50. package/bundles/taiga-ui-core-utils-mask.umd.min.js.map +1 -1
  51. package/components/dialog/taiga-ui-core-components-dialog.metadata.json +1 -1
  52. package/components/link/taiga-ui-core-components-link.metadata.json +1 -1
  53. package/components/primitive-textfield/index.d.ts +1 -0
  54. package/components/primitive-textfield/primitive-textfield-options.d.ts +11 -0
  55. package/components/primitive-textfield/primitive-textfield.component.d.ts +7 -4
  56. package/components/primitive-textfield/taiga-ui-core-components-primitive-textfield.metadata.json +1 -1
  57. package/components/scroll-controls/taiga-ui-core-components-scroll-controls.metadata.json +1 -1
  58. package/components/tooltip/taiga-ui-core-components-tooltip.metadata.json +1 -1
  59. package/components/tooltip/tooltip.component.d.ts +9 -6
  60. package/constants/taiga-ui-core-constants.metadata.json +1 -1
  61. package/constants/version.d.ts +1 -1
  62. package/directives/hint/hint-options.d.ts +12 -0
  63. package/directives/hint/hint.directive.d.ts +5 -3
  64. package/directives/hint/index.d.ts +1 -0
  65. package/directives/hint/taiga-ui-core-directives-hint.metadata.json +1 -1
  66. package/directives/hint-controller/hint-controller.directive.d.ts +7 -5
  67. package/directives/hint-controller/taiga-ui-core-directives-hint-controller.metadata.json +1 -1
  68. package/directives/manual-hint/index.d.ts +1 -0
  69. package/directives/manual-hint/manual-hint-options.d.ts +6 -0
  70. package/directives/manual-hint/manual-hint.directive.d.ts +3 -1
  71. package/directives/manual-hint/taiga-ui-core-directives-manual-hint.metadata.json +1 -1
  72. package/directives/pointer-hint/index.d.ts +1 -0
  73. package/directives/pointer-hint/pointer-hint-options.d.ts +9 -0
  74. package/directives/pointer-hint/pointer-hint.directive.d.ts +5 -3
  75. package/directives/pointer-hint/taiga-ui-core-directives-pointer-hint.metadata.json +1 -1
  76. package/esm2015/abstract/abstract-hint-options.js +6 -0
  77. package/esm2015/abstract/abstract-hint.js +7 -5
  78. package/esm2015/abstract/index.js +2 -1
  79. package/esm2015/components/dialog/dialog.component.js +1 -1
  80. package/esm2015/components/link/link.component.js +3 -3
  81. package/esm2015/components/primitive-textfield/index.js +2 -1
  82. package/esm2015/components/primitive-textfield/primitive-textfield-options.js +12 -0
  83. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +18 -8
  84. package/esm2015/components/scroll-controls/scroll-controls.component.js +1 -1
  85. package/esm2015/components/tooltip/tooltip.component.js +16 -9
  86. package/esm2015/components/tooltip/tooltip.module.js +3 -2
  87. package/esm2015/constants/version.js +2 -2
  88. package/esm2015/directives/hint/hint-options.js +10 -0
  89. package/esm2015/directives/hint/hint.directive.js +11 -7
  90. package/esm2015/directives/hint/index.js +2 -1
  91. package/esm2015/directives/hint-controller/hint-controller.directive.js +16 -10
  92. package/esm2015/directives/hint-controller/hint-controller.token.js +4 -3
  93. package/esm2015/directives/manual-hint/index.js +2 -1
  94. package/esm2015/directives/manual-hint/manual-hint-options.js +8 -0
  95. package/esm2015/directives/manual-hint/manual-hint.directive.js +9 -5
  96. package/esm2015/directives/pointer-hint/index.js +2 -1
  97. package/esm2015/directives/pointer-hint/pointer-hint-options.js +8 -0
  98. package/esm2015/directives/pointer-hint/pointer-hint.directive.js +11 -7
  99. package/esm2015/utils/mask/create-number-mask.js +2 -2
  100. package/esm5/abstract/abstract-hint-options.js +6 -0
  101. package/esm5/abstract/abstract-hint.js +7 -5
  102. package/esm5/abstract/index.js +2 -1
  103. package/esm5/components/dialog/dialog.component.js +1 -1
  104. package/esm5/components/link/link.component.js +3 -3
  105. package/esm5/components/primitive-textfield/index.js +2 -1
  106. package/esm5/components/primitive-textfield/primitive-textfield-options.js +12 -0
  107. package/esm5/components/primitive-textfield/primitive-textfield.component.js +18 -8
  108. package/esm5/components/scroll-controls/scroll-controls.component.js +1 -1
  109. package/esm5/components/tooltip/tooltip.component.js +20 -9
  110. package/esm5/components/tooltip/tooltip.module.js +3 -2
  111. package/esm5/constants/version.js +2 -2
  112. package/esm5/directives/hint/hint-options.js +11 -0
  113. package/esm5/directives/hint/hint.directive.js +11 -7
  114. package/esm5/directives/hint/index.js +2 -1
  115. package/esm5/directives/hint-controller/hint-controller.directive.js +16 -10
  116. package/esm5/directives/hint-controller/hint-controller.token.js +4 -3
  117. package/esm5/directives/manual-hint/index.js +2 -1
  118. package/esm5/directives/manual-hint/manual-hint-options.js +9 -0
  119. package/esm5/directives/manual-hint/manual-hint.directive.js +9 -5
  120. package/esm5/directives/pointer-hint/index.js +2 -1
  121. package/esm5/directives/pointer-hint/pointer-hint-options.js +9 -0
  122. package/esm5/directives/pointer-hint/pointer-hint.directive.js +11 -7
  123. package/esm5/utils/mask/create-number-mask.js +2 -2
  124. package/fesm2015/taiga-ui-core-abstract.js +13 -5
  125. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  126. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  127. package/fesm2015/taiga-ui-core-components-link.js +2 -2
  128. package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
  129. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +29 -9
  130. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  131. package/fesm2015/taiga-ui-core-components-scroll-controls.js +1 -1
  132. package/fesm2015/taiga-ui-core-components-tooltip.js +17 -9
  133. package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
  134. package/fesm2015/taiga-ui-core-constants.js +1 -1
  135. package/fesm2015/taiga-ui-core-constants.js.map +1 -1
  136. package/fesm2015/taiga-ui-core-directives-hint-controller.js +16 -10
  137. package/fesm2015/taiga-ui-core-directives-hint-controller.js.map +1 -1
  138. package/fesm2015/taiga-ui-core-directives-hint.js +20 -9
  139. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  140. package/fesm2015/taiga-ui-core-directives-manual-hint.js +16 -7
  141. package/fesm2015/taiga-ui-core-directives-manual-hint.js.map +1 -1
  142. package/fesm2015/taiga-ui-core-directives-pointer-hint.js +18 -9
  143. package/fesm2015/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  144. package/fesm2015/taiga-ui-core-utils-mask.js +1 -1
  145. package/fesm2015/taiga-ui-core-utils-mask.js.map +1 -1
  146. package/fesm5/taiga-ui-core-abstract.js +13 -5
  147. package/fesm5/taiga-ui-core-abstract.js.map +1 -1
  148. package/fesm5/taiga-ui-core-components-dialog.js +1 -1
  149. package/fesm5/taiga-ui-core-components-link.js +2 -2
  150. package/fesm5/taiga-ui-core-components-link.js.map +1 -1
  151. package/fesm5/taiga-ui-core-components-primitive-textfield.js +29 -9
  152. package/fesm5/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  153. package/fesm5/taiga-ui-core-components-scroll-controls.js +1 -1
  154. package/fesm5/taiga-ui-core-components-tooltip.js +21 -9
  155. package/fesm5/taiga-ui-core-components-tooltip.js.map +1 -1
  156. package/fesm5/taiga-ui-core-constants.js +1 -1
  157. package/fesm5/taiga-ui-core-constants.js.map +1 -1
  158. package/fesm5/taiga-ui-core-directives-hint-controller.js +16 -10
  159. package/fesm5/taiga-ui-core-directives-hint-controller.js.map +1 -1
  160. package/fesm5/taiga-ui-core-directives-hint.js +21 -10
  161. package/fesm5/taiga-ui-core-directives-hint.js.map +1 -1
  162. package/fesm5/taiga-ui-core-directives-manual-hint.js +17 -8
  163. package/fesm5/taiga-ui-core-directives-manual-hint.js.map +1 -1
  164. package/fesm5/taiga-ui-core-directives-pointer-hint.js +19 -10
  165. package/fesm5/taiga-ui-core-directives-pointer-hint.js.map +1 -1
  166. package/fesm5/taiga-ui-core-utils-mask.js +1 -1
  167. package/fesm5/taiga-ui-core-utils-mask.js.map +1 -1
  168. package/package.json +10 -10
  169. package/styles/mixins/textfield.less +7 -0
@@ -3,10 +3,12 @@ import { Directive, ElementRef, Inject, Input, Optional } from '@angular/core';
3
3
  import { TuiActiveZoneDirective, tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk';
4
4
  import { AbstractTuiHint } from '@taiga-ui/core/abstract';
5
5
  import { TuiHintService } from '@taiga-ui/core/services';
6
+ import { TUI_MANUAL_HINT_OPTIONS } from './manual-hint-options';
6
7
  var TuiManualHintDirective = /** @class */ (function (_super) {
7
8
  __extends(TuiManualHintDirective, _super);
8
- function TuiManualHintDirective(elementRef, hintService, activeZone) {
9
- var _this = _super.call(this, elementRef, hintService, activeZone) || this;
9
+ function TuiManualHintDirective(elementRef, hintService, activeZone, options) {
10
+ var _this = _super.call(this, elementRef, hintService, activeZone, options) || this;
11
+ _this.options = options;
10
12
  _this.content = '';
11
13
  return _this;
12
14
  }
@@ -28,7 +30,8 @@ var TuiManualHintDirective = /** @class */ (function (_super) {
28
30
  TuiManualHintDirective.ctorParameters = function () { return [
29
31
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
30
32
  { type: TuiHintService, decorators: [{ type: Inject, args: [TuiHintService,] }] },
31
- { type: TuiActiveZoneDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiActiveZoneDirective,] }] }
33
+ { type: TuiActiveZoneDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiActiveZoneDirective,] }] },
34
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_MANUAL_HINT_OPTIONS,] }] }
32
35
  ]; };
33
36
  __decorate([
34
37
  Input('tuiManualHint'),
@@ -45,9 +48,10 @@ var TuiManualHintDirective = /** @class */ (function (_super) {
45
48
  __param(0, Inject(ElementRef)),
46
49
  __param(1, Inject(TuiHintService)),
47
50
  __param(2, Optional()),
48
- __param(2, Inject(TuiActiveZoneDirective))
51
+ __param(2, Inject(TuiActiveZoneDirective)),
52
+ __param(3, Inject(TUI_MANUAL_HINT_OPTIONS))
49
53
  ], TuiManualHintDirective);
50
54
  return TuiManualHintDirective;
51
55
  }(AbstractTuiHint));
52
56
  export { TuiManualHintDirective };
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFudWFsLWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9tYW51YWwtaGludC8iLCJzb3VyY2VzIjpbIm1hbnVhbC1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBTXZEO0lBQTRDLDBDQUFlO0lBZXZELGdDQUN3QixVQUFtQyxFQUMvQixXQUEyQixFQUduRCxVQUF5QztRQUw3QyxZQU9JLGtCQUFNLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLFNBQzdDO1FBcEJELGFBQU8sR0FBd0IsRUFBRSxDQUFDOztJQW9CbEMsQ0FBQztJQWhCRCxzQkFBSSxxREFBaUI7YUFBckIsVUFBc0IsSUFBYTtZQUMvQixJQUFJLElBQUksRUFBRTtnQkFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3RCO1FBQ0wsQ0FBQzs7O09BQUE7SUFZRCxxREFBb0IsR0FBcEI7UUFDSSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakUsQ0FBQzs7Z0JBWG1DLFVBQVUsdUJBQXpDLE1BQU0sU0FBQyxVQUFVO2dCQUNtQixjQUFjLHVCQUFsRCxNQUFNLFNBQUMsY0FBYztnQkFHVixzQkFBc0IsdUJBRmpDLFFBQVEsWUFDUixNQUFNLFNBQUMsc0JBQXNCOztJQWhCbEM7UUFGQyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQ3RCLGNBQWMsRUFBRTsyREFDaUI7SUFJbEM7UUFGQyxLQUFLLEVBQUU7UUFDUCxpQkFBaUIsRUFBRTttRUFPbkI7SUFiUSxzQkFBc0I7UUFIbEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1DQUFtQztTQUNoRCxDQUFDO1FBaUJPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3RCLFdBQUEsUUFBUSxFQUFFLENBQUE7UUFDVixXQUFBLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO09BbkIxQixzQkFBc0IsQ0E0QmxDO0lBQUQsNkJBQUM7Q0FBQSxBQTVCRCxDQUE0QyxlQUFlLEdBNEIxRDtTQTVCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lRGlyZWN0aXZlLCB0dWlEZWZhdWx0UHJvcCwgdHVpUmVxdWlyZWRTZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUhpbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpSGludFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpTWFudWFsSGludF06bm90KG5nLWNvbnRhaW5lciknLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlNYW51YWxIaW50RGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RUdWlIaW50IHtcbiAgICBASW5wdXQoJ3R1aU1hbnVhbEhpbnQnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCB0dWlNYW51YWxIaW50U2hvdyhzaG93OiBib29sZWFuKSB7XG4gICAgICAgIGlmIChzaG93KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlIaW50U2VydmljZSkgaGludFNlcnZpY2U6IFR1aUhpbnRTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUpXG4gICAgICAgIGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUgfCBudWxsLFxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBoaW50U2VydmljZSwgYWN0aXZlWm9uZSk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudENsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFudWFsLWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9tYW51YWwtaGludC8iLCJzb3VyY2VzIjpbIm1hbnVhbC1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBR3ZELE9BQU8sRUFBQyx1QkFBdUIsRUFBdUIsTUFBTSx1QkFBdUIsQ0FBQztBQUtwRjtJQUE0QywwQ0FBZTtJQWV2RCxnQ0FDd0IsVUFBbUMsRUFDL0IsV0FBMkIsRUFHbkQsVUFBeUMsRUFDVyxPQUE2QjtRQU5yRixZQVFJLGtCQUFNLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxTQUN0RDtRQUh1RCxhQUFPLEdBQVAsT0FBTyxDQUFzQjtRQWxCckYsYUFBTyxHQUF3QixFQUFFLENBQUM7O0lBcUJsQyxDQUFDO0lBakJELHNCQUFJLHFEQUFpQjthQUFyQixVQUFzQixJQUFhO1lBQy9CLElBQUksSUFBSSxFQUFFO2dCQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN0QjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDdEI7UUFDTCxDQUFDOzs7T0FBQTtJQWFELHFEQUFvQixHQUFwQjtRQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqRSxDQUFDOztnQkFabUMsVUFBVSx1QkFBekMsTUFBTSxTQUFDLFVBQVU7Z0JBQ21CLGNBQWMsdUJBQWxELE1BQU0sU0FBQyxjQUFjO2dCQUdWLHNCQUFzQix1QkFGakMsUUFBUSxZQUNSLE1BQU0sU0FBQyxzQkFBc0I7Z0RBRTdCLE1BQU0sU0FBQyx1QkFBdUI7O0lBbEJuQztRQUZDLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDdEIsY0FBYyxFQUFFOzJEQUNpQjtJQUlsQztRQUZDLEtBQUssRUFBRTtRQUNQLGlCQUFpQixFQUFFO21FQU9uQjtJQWJRLHNCQUFzQjtRQUhsQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsbUNBQW1DO1NBQ2hELENBQUM7UUFpQk8sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFOUIsV0FBQSxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtPQXJCM0Isc0JBQXNCLENBNkJsQztJQUFELDZCQUFDO0NBQUEsQUE3QkQsQ0FBNEMsZUFBZSxHQTZCMUQ7U0E3Qlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZURpcmVjdGl2ZSwgdHVpRGVmYXVsdFByb3AsIHR1aVJlcXVpcmVkU2V0dGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QWJzdHJhY3RUdWlIaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1R1aUhpbnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX01BTlVBTF9ISU5UX09QVElPTlMsIFR1aU1hbnVhbEhpbnRPcHRpb25zfSBmcm9tICcuL21hbnVhbC1oaW50LW9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlNYW51YWxIaW50XTpub3QobmctY29udGFpbmVyKScsXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1hbnVhbEhpbnREaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdFR1aUhpbnQge1xuICAgIEBJbnB1dCgndHVpTWFudWFsSGludCcpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IHR1aU1hbnVhbEhpbnRTaG93KHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHNob3cpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFR1aUhpbnRTZXJ2aWNlKSBoaW50U2VydmljZTogVHVpSGludFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSlcbiAgICAgICAgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX01BTlVBTF9ISU5UX09QVElPTlMpIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBUdWlNYW51YWxIaW50T3B0aW9ucyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgaGludFNlcnZpY2UsIGFjdGl2ZVpvbmUsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIGdldEVsZW1lbnRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './pointer-hint.directive';
2
2
  export * from './pointer-hint.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3BvaW50ZXItaGludC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG9pbnRlci1oaW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50ZXItaGludC5tb2R1bGUnO1xuIl19
3
+ export * from './pointer-hint-options';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3BvaW50ZXItaGludC8iLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wb2ludGVyLWhpbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnRlci1oaW50Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50ZXItaGludC1vcHRpb25zJztcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { __assign } from "tslib";
2
+ import { InjectionToken } from '@angular/core';
3
+ import { TUI_ABSTRACT_HINT_DEFAULT_OPTIONS, } from '@taiga-ui/core/abstract';
4
+ /** Default values for pointer hint options */
5
+ export var TUI_POINTER_HINT_DEFAULT_OPTIONS = __assign(__assign({}, TUI_ABSTRACT_HINT_DEFAULT_OPTIONS), { tuiHintShowDelay: 0, tuiHintHideDelay: 0 });
6
+ export var TUI_POINTER_HINT_OPTIONS = new InjectionToken('Default parameters for pointer hint directive', {
7
+ factory: function () { return TUI_POINTER_HINT_DEFAULT_OPTIONS; },
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci1oaW50LW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL3BvaW50ZXItaGludC8iLCJzb3VyY2VzIjpbInBvaW50ZXItaGludC1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFDSCxpQ0FBaUMsR0FFcEMsTUFBTSx5QkFBeUIsQ0FBQztBQU9qQyw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLElBQU0sZ0NBQWdDLHlCQUN0QyxpQ0FBaUMsS0FDcEMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUNuQixnQkFBZ0IsRUFBRSxDQUFDLEdBQ3RCLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsK0NBQStDLEVBQy9DO0lBQ0ksT0FBTyxFQUFFLGNBQU0sT0FBQSxnQ0FBZ0MsRUFBaEMsQ0FBZ0M7Q0FDbEQsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRVSV9BQlNUUkFDVF9ISU5UX0RFRkFVTFRfT1BUSU9OUyxcbiAgICBUdWlBYnN0cmFjdEhpbnRPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpUG9pbnRlckhpbnRPcHRpb25zIGV4dGVuZHMgVHVpQWJzdHJhY3RIaW50T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgdHVpSGludFNob3dEZWxheTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHR1aUhpbnRIaWRlRGVsYXk6IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBwb2ludGVyIGhpbnQgb3B0aW9ucyAqL1xuZXhwb3J0IGNvbnN0IFRVSV9QT0lOVEVSX0hJTlRfREVGQVVMVF9PUFRJT05TOiBUdWlQb2ludGVySGludE9wdGlvbnMgPSB7XG4gICAgLi4uVFVJX0FCU1RSQUNUX0hJTlRfREVGQVVMVF9PUFRJT05TLFxuICAgIHR1aUhpbnRTaG93RGVsYXk6IDAsXG4gICAgdHVpSGludEhpZGVEZWxheTogMCxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfUE9JTlRFUl9ISU5UX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpUG9pbnRlckhpbnRPcHRpb25zPihcbiAgICAnRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBwb2ludGVyIGhpbnQgZGlyZWN0aXZlJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9QT0lOVEVSX0hJTlRfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuIl19
@@ -5,14 +5,16 @@ import { AbstractTuiHint } from '@taiga-ui/core/abstract';
5
5
  import { TuiHintService } from '@taiga-ui/core/services';
6
6
  import { of } from 'rxjs';
7
7
  import { delay, distinctUntilChanged, filter, startWith, switchMap, takeUntil, } from 'rxjs/operators';
8
+ import { TUI_POINTER_HINT_OPTIONS } from './pointer-hint-options';
8
9
  var TuiPointerHintDirective = /** @class */ (function (_super) {
9
10
  __extends(TuiPointerHintDirective, _super);
10
- function TuiPointerHintDirective(elementRef, hintService, destroy$, hoveredService) {
11
- var _this = _super.call(this, elementRef, hintService, null) || this;
11
+ function TuiPointerHintDirective(elementRef, hintService, destroy$, hoveredService, options) {
12
+ var _this = _super.call(this, elementRef, hintService, null, options) || this;
12
13
  _this.destroy$ = destroy$;
14
+ _this.options = options;
13
15
  _this.currentMouseRect = _this.mousePositionToClientRect();
14
- _this.tuiHintShowDelay = 0;
15
- _this.tuiHintHideDelay = 0;
16
+ _this.tuiHintShowDelay = _this.options.tuiHintShowDelay;
17
+ _this.tuiHintHideDelay = _this.options.tuiHintHideDelay;
16
18
  _this.content = '';
17
19
  var hint$ = hoveredService.createHovered$(_this.elementRef.nativeElement).pipe(filter(function () { return !!_this.content; }), startWith(false), distinctUntilChanged());
18
20
  hint$
@@ -75,7 +77,8 @@ var TuiPointerHintDirective = /** @class */ (function (_super) {
75
77
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
76
78
  { type: TuiHintService, decorators: [{ type: Inject, args: [TuiHintService,] }] },
77
79
  { type: TuiDestroyService, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
78
- { type: TuiHoveredService, decorators: [{ type: Inject, args: [TuiHoveredService,] }] }
80
+ { type: TuiHoveredService, decorators: [{ type: Inject, args: [TuiHoveredService,] }] },
81
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_POINTER_HINT_OPTIONS,] }] }
79
82
  ]; };
80
83
  __decorate([
81
84
  Input(),
@@ -97,9 +100,10 @@ var TuiPointerHintDirective = /** @class */ (function (_super) {
97
100
  __param(0, Inject(ElementRef)),
98
101
  __param(1, Inject(TuiHintService)),
99
102
  __param(2, Inject(TuiDestroyService)),
100
- __param(3, Inject(TuiHoveredService))
103
+ __param(3, Inject(TuiHoveredService)),
104
+ __param(4, Inject(TUI_POINTER_HINT_OPTIONS))
101
105
  ], TuiPointerHintDirective);
102
106
  return TuiPointerHintDirective;
103
107
  }(AbstractTuiHint));
104
108
  export { TuiPointerHintDirective };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci1oaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvcG9pbnRlci1oaW50LyIsInNvdXJjZXMiOlsicG9pbnRlci1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBTXhCO0lBQTZDLDJDQUFlO0lBMkJ4RCxpQ0FDd0IsVUFBbUMsRUFDL0IsV0FBMkIsRUFFbEMsUUFBMkIsRUFDakIsY0FBaUM7UUFMaEUsWUFPSSxrQkFBTSxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxTQStCdkM7UUFsQ29CLGNBQVEsR0FBUixRQUFRLENBQW1CO1FBOUJ4QyxzQkFBZ0IsR0FBRyxLQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUk1RCxzQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFJckIsc0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBZ0JyQixhQUFPLEdBQXdCLEVBQUUsQ0FBQztRQVc5QixJQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQyxVQUFVLENB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OUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDakMsQ0FBQztRQTZCTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUN0QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBRXpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7T0FoQ3JCLHVCQUF1QixDQTRGbkM7SUFBRCw4QkFBQztDQUFBLEFBNUZELENBQTZDLGVBQWUsR0E0RjNEO1NBNUZZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpSG92ZXJlZFNlcnZpY2UsXG4gICAgdHVpUmVxdWlyZWRTZXR0ZXIsXG4gICAgdHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUhpbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7VHVpSGludFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkZWxheSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgc3RhcnRXaXRoLFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpUG9pbnRlckhpbnRdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RUdWlIaW50IHtcbiAgICBwcml2YXRlIGN1cnJlbnRNb3VzZVJlY3QgPSB0aGlzLm1vdXNlUG9zaXRpb25Ub0NsaWVudFJlY3QoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0dWlIaW50U2hvd0RlbGF5ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0dWlIaW50SGlkZURlbGF5ID0gMDtcblxuICAgIC8vIFRPRE86IFJlbW92ZSBudWxsIGluIDMuMFxuICAgIEBJbnB1dCgpXG4gICAgQHR1aVJlcXVpcmVkU2V0dGVyKClcbiAgICBzZXQgdHVpUG9pbnRlckhpbnQodmFsdWU6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudCA9ICcnO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbnRlbnQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUdWlIaW50U2VydmljZSkgaGludFNlcnZpY2U6IFR1aUhpbnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlIb3ZlcmVkU2VydmljZSkgaG92ZXJlZFNlcnZpY2U6IFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBoaW50U2VydmljZSwgbnVsbCk7XG5cbiAgICAgICAgY29uc3QgaGludCQgPSBob3ZlcmVkU2VydmljZS5jcmVhdGVIb3ZlcmVkJCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhIXRoaXMuY29udGVudCksXG4gICAgICAgICAgICBzdGFydFdpdGgoZmFsc2UpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcblxuICAgICAgICBoaW50JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHZpc2libGUgPT5cbiAgICAgICAgICAgICAgICAgICAgb2YodmlzaWJsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5KHZpc2libGUgPyB0aGlzLnR1aUhpbnRTaG93RGVsYXkgOiB0aGlzLnR1aUhpbnRIaWRlRGVsYXkpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IHZpc2libGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5pdE1vdXNlTW92ZVN1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIGdldEVsZW1lbnRDbGllbnRSZWN0KCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TW91c2VSZWN0O1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE1vdXNlTW92ZVN1YnNjcmlwdGlvbigpIHtcbiAgICAgICAgY29uc3QgbW91c2VNb3ZlJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiA9IHR5cGVkRnJvbUV2ZW50KFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnbW91c2Vtb3ZlJyxcbiAgICAgICAgKTtcblxuICAgICAgICBtb3VzZU1vdmUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHtjbGllbnRYLCBjbGllbnRZfSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TW91c2VSZWN0ID0gdGhpcy5tb3VzZVBvc2l0aW9uVG9DbGllbnRSZWN0KGNsaWVudFgsIGNsaWVudFkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdXNlUG9zaXRpb25Ub0NsaWVudFJlY3QoeDogbnVtYmVyID0gMCwgeTogbnVtYmVyID0gMCk6IENsaWVudFJlY3Qge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGVmdDogeCxcbiAgICAgICAgICAgIHJpZ2h0OiB4LFxuICAgICAgICAgICAgdG9wOiB5LFxuICAgICAgICAgICAgYm90dG9tOiB5LFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci1oaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvcG9pbnRlci1oaW50LyIsInNvdXJjZXMiOlsicG9pbnRlci1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBQyx3QkFBd0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQU12RjtJQUE2QywyQ0FBZTtJQTZCeEQsaUNBQ3dCLFVBQW1DLEVBQy9CLFdBQTJCLEVBRWxDLFFBQTJCLEVBQ2pCLGNBQWlDLEVBRXpDLE9BQThCO1FBUHJELFlBU0ksa0JBQU0sVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBK0JoRDtRQXBDb0IsY0FBUSxHQUFSLFFBQVEsQ0FBbUI7UUFHekIsYUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFuQzdDLHNCQUFnQixHQUFHLEtBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBSTVELHNCQUFnQixHQUNaLEtBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENB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O1FBQ1AsY0FBYyxFQUFFO3FFQUVpQjtJQUlsQztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtxRUFFaUI7SUFLbEM7UUFGQyxLQUFLLEVBQUU7UUFDUCxpQkFBaUIsRUFBRTtpRUFVbkI7SUF6QlEsdUJBQXVCO1FBSm5DLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxvQ0FBb0M7WUFDOUMsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7U0FDakMsQ0FBQztRQStCTyxXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNsQixXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUN0QixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBRXpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtPQW5DNUIsdUJBQXVCLENBZ0duQztJQUFELDhCQUFDO0NBQUEsQUFoR0QsQ0FBNkMsZUFBZSxHQWdHM0Q7U0FoR1ksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbiAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbiAgICB0eXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSGludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlIaW50U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvc2VydmljZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlbGF5LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBzdGFydFdpdGgsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9QT0lOVEVSX0hJTlRfT1BUSU9OUywgVHVpUG9pbnRlckhpbnRPcHRpb25zfSBmcm9tICcuL3BvaW50ZXItaGludC1vcHRpb25zJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpUG9pbnRlckhpbnRdOm5vdChuZy1jb250YWluZXIpJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBvaW50ZXJIaW50RGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RUdWlIaW50IHtcbiAgICBwcml2YXRlIGN1cnJlbnRNb3VzZVJlY3QgPSB0aGlzLm1vdXNlUG9zaXRpb25Ub0NsaWVudFJlY3QoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0dWlIaW50U2hvd0RlbGF5OiBUdWlQb2ludGVySGludE9wdGlvbnNbJ3R1aUhpbnRTaG93RGVsYXknXSA9XG4gICAgICAgIHRoaXMub3B0aW9ucy50dWlIaW50U2hvd0RlbGF5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHR1aUhpbnRIaWRlRGVsYXk6IFR1aVBvaW50ZXJIaW50T3B0aW9uc1sndHVpSGludEhpZGVEZWxheSddID1cbiAgICAgICAgdGhpcy5vcHRpb25zLnR1aUhpbnRIaWRlRGVsYXk7XG5cbiAgICAvLyBUT0RPOiBSZW1vdmUgbnVsbCBpbiAzLjBcbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IHR1aVBvaW50ZXJIaW50KHZhbHVlOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnQgPSAnJztcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250ZW50ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoVHVpSGludFNlcnZpY2UpIGhpbnRTZXJ2aWNlOiBUdWlIaW50U2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JDogVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIGhvdmVyZWRTZXJ2aWNlOiBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICAgICAgQEluamVjdChUVUlfUE9JTlRFUl9ISU5UX09QVElPTlMpXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zOiBUdWlQb2ludGVySGludE9wdGlvbnMsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIGhpbnRTZXJ2aWNlLCBudWxsLCBvcHRpb25zKTtcblxuICAgICAgICBjb25zdCBoaW50JCA9IGhvdmVyZWRTZXJ2aWNlLmNyZWF0ZUhvdmVyZWQkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5jb250ZW50KSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuXG4gICAgICAgIGhpbnQkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodmlzaWJsZSA9PlxuICAgICAgICAgICAgICAgICAgICBvZih2aXNpYmxlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkodmlzaWJsZSA/IHRoaXMudHVpSGludFNob3dEZWxheSA6IHRoaXMudHVpSGludEhpZGVEZWxheSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogdmlzaWJsZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pbml0TW91c2VNb3ZlU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgZ2V0RWxlbWVudENsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNb3VzZVJlY3Q7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW91c2VNb3ZlU3Vic2NyaXB0aW9uKCkge1xuICAgICAgICBjb25zdCBtb3VzZU1vdmUkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+ID0gdHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdtb3VzZW1vdmUnLFxuICAgICAgICApO1xuXG4gICAgICAgIG1vdXNlTW92ZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoe2NsaWVudFgsIGNsaWVudFl9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb3VzZVJlY3QgPSB0aGlzLm1vdXNlUG9zaXRpb25Ub0NsaWVudFJlY3QoY2xpZW50WCwgY2xpZW50WSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW91c2VQb3NpdGlvblRvQ2xpZW50UmVjdCh4OiBudW1iZXIgPSAwLCB5OiBudW1iZXIgPSAwKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWZ0OiB4LFxuICAgICAgICAgICAgcmlnaHQ6IHgsXG4gICAgICAgICAgICB0b3A6IHksXG4gICAgICAgICAgICBib3R0b206IHksXG4gICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -10,7 +10,7 @@ var NON_ZERO_DIGIT = /[1-9]/;
10
10
  export function tuiCreateNumberMask(_a) {
11
11
  var _b = _a === void 0 ? {} : _a, _c = _b.allowDecimal, allowDecimal = _c === void 0 ? false : _c, _d = _b.decimalSymbol, decimalSymbol = _d === void 0 ? ',' : _d, _e = _b.thousandSymbol, thousandSymbol = _e === void 0 ? CHAR_NO_BREAK_SPACE : _e, _f = _b.autoCorrectDecimalSymbol, autoCorrectDecimalSymbol = _f === void 0 ? true : _f, _g = _b.decimalLimit, decimalLimit = _g === void 0 ? 2 : _g, _h = _b.requireDecimal, requireDecimal = _h === void 0 ? false : _h, _j = _b.allowNegative, allowNegative = _j === void 0 ? false : _j, _k = _b.integerLimit, integerLimit = _k === void 0 ? 0 : _k;
12
12
  tuiAssert.assert(Number.isInteger(decimalLimit));
13
- tuiAssert.assert(decimalLimit > 0);
13
+ tuiAssert.assert(decimalLimit >= 0);
14
14
  tuiAssert.assert(Number.isInteger(integerLimit));
15
15
  tuiAssert.assert(integerLimit >= 0);
16
16
  return function (rawValue, _a) {
@@ -120,4 +120,4 @@ function addThousandsSeparator(strNumber, thousandSymbol) {
120
120
  ? strNumber.replace(/\B(?=(\d{3})+(?!\d))/g, thousandSymbol)
121
121
  : strNumber;
122
122
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELElBQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFTUjtRQVRRLDRCQVNSLEVBUnhCLG9CQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIscUJBQW1CLEVBQW5CLHdDQUFtQixFQUNuQixzQkFBb0MsRUFBcEMseURBQW9DLEVBQ3BDLGdDQUErQixFQUEvQixvREFBK0IsRUFDL0Isb0JBQWdCLEVBQWhCLHFDQUFnQixFQUNoQixzQkFBc0IsRUFBdEIsMkNBQXNCLEVBQ3RCLHFCQUFxQixFQUFyQiwwQ0FBcUIsRUFDckIsb0JBQWdCLEVBQWhCLHFDQUFnQjtJQUVoQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyxPQUFPLFVBQUMsUUFBUSxFQUFFLEVBQXdC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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQXZELENBQXVELENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLGNBQXNCO0lBQ3BFLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfRU5fREFTSCwgQ0hBUl9OT19CUkVBS19TUEFDRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTUFTS19DQVJFVF9UUkFQLFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICBUVUlfTk9OX0RJR0lUU19SRUdFWFAsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aU51bWJlck1hc2tPcHRpb25zLCBUdWlUZXh0TWFza0xpc3RIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtvdGhlckRlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5cbmNvbnN0IE5PTl9aRVJPX0RJR0lUID0gL1sxLTldLztcblxuLyoqXG4gKiBBZGFwdGF0aW9uIGZvciB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RleHQtbWFzay90ZXh0LW1hc2svdHJlZS9tYXN0ZXIvYWRkb25zI2NyZWF0ZW51bWJlcm1hc2sgYGNyZWF0ZU51bWJlck1hc2tgfVxuICogQHRvZG8gVE9ETzogYXV0b2NDb3JyZWN0RGVjaW1hbFN5bWJvbCBpcyBubyBsb25nZXIgbmVlZGVkLiBSZW1vdmUgaXQgaW4gMy4wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPiAwKTtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoaW50ZWdlckxpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChpbnRlZ2VyTGltaXQgPj0gMCk7XG5cbiAgICByZXR1cm4gKHJhd1ZhbHVlLCB7cHJldmlvdXNDb25mb3JtZWRWYWx1ZX0pID0+IHtcbiAgICAgICAgaWYgKHByZXZpb3VzQ29uZm9ybWVkVmFsdWUgJiYgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPSByYXdWYWx1ZS5zcGxpdCh0aG91c2FuZFN5bWJvbCkuam9pbignJyk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3IgPVxuICAgICAgICAgICAgICAgIHByZXZpb3VzQ29uZm9ybWVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KHRob3VzYW5kU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KGRlY2ltYWxTeW1ib2wpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKCcnKTtcblxuICAgICAgICAgICAgLy8gRm9yYmlkIHJlbW92YWwgb2YgZGVjaW1hbCBzZXBhcmF0b3IgaWYgZGVjaW1hbCBwYXJ0IGlzIHJlcXVpcmVkXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgY29uZm9ybWVkV2l0aG91dFNlcGFyYXRvciA9PT1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlV2l0aG91dERlY2ltYWxTeW1ib2xBbmRTZXBhcmF0b3JcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHJhd1ZhbHVlID0gcHJldmlvdXNDb25mb3JtZWRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzTmVnYXRpdmUgPVxuICAgICAgICAgICAgKHJhd1ZhbHVlWzBdID09PSAnLScgfHwgcmF3VmFsdWVbMF0gPT09IENIQVJfRU5fREFTSCkgJiYgYWxsb3dOZWdhdGl2ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0RlY2ltYWxTeW1ib2wocmF3VmFsdWUsIGRlY2ltYWxTeW1ib2wsIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkgJiZcbiAgICAgICAgICAgIGFsbG93RGVjaW1hbFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbJzAnLCBkZWNpbWFsU3ltYm9sLCBUVUlfRElHSVRfUkVHRVhQXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05lZ2F0aXZlKSB7XG4gICAgICAgICAgICByYXdWYWx1ZSA9IHJhd1ZhbHVlLnN1YnN0cigxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2ltYWxJbmRleCA9IGdldERlY2ltYWxTeW1ib2xJbmRleChcbiAgICAgICAgICAgIHJhd1ZhbHVlLFxuICAgICAgICAgICAgZGVjaW1hbFN5bWJvbCxcbiAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzRGVjaW1hbCA9IGRlY2ltYWxJbmRleCAhPT0gLTE7XG4gICAgICAgIGNvbnN0IGludGVnZXIgPSBoYXNEZWNpbWFsID8gcmF3VmFsdWUuc2xpY2UoMCwgZGVjaW1hbEluZGV4KSA6IHJhd1ZhbHVlO1xuICAgICAgICBjb25zdCB0aG91c2FuZFNlcGFyYXRvcnMgPSBpbnRlZ2VyLm1hdGNoKG5ldyBSZWdFeHAodGhvdXNhbmRTeW1ib2wsICdnJykpIHx8IFtdO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkID0gaW50ZWdlckxpbWl0XG4gICAgICAgICAgICA/IGludGVnZXIuc2xpY2UoMCwgaW50ZWdlckxpbWl0ICsgdGhvdXNhbmRTZXBhcmF0b3JzLmxlbmd0aClcbiAgICAgICAgICAgIDogaW50ZWdlcjtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZENsZWFuID0gaW50ZWdlckNhcHBlZC5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpO1xuICAgICAgICBjb25zdCBbbGVhZGluZ1plcm9zTWF0Y2hdID0gaW50ZWdlckNhcHBlZENsZWFuLm1hdGNoKFxuICAgICAgICAgICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICAgICAgKSB8fCBbJyddO1xuICAgICAgICBjb25zdCBsZWFkaW5nWmVyb3NBbW91bnQgPSBsZWFkaW5nWmVyb3NNYXRjaC5sZW5ndGg7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID0gaW50ZWdlckNhcHBlZENsZWFuXG4gICAgICAgICAgICAucmVwbGFjZSgvXjArKD8hXFwufCQpLywgJycpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgICAgICBjb25zdCB3aXRoU2VwYXJhdG9yID0gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKFxuICAgICAgICAgICAgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4sXG4gICAgICAgICAgICB0aG91c2FuZFN5bWJvbCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbWFzayA9IGNvbnZlcnRUb01hc2sod2l0aFNlcGFyYXRvcik7XG5cbiAgICAgICAgaWYgKChoYXNEZWNpbWFsICYmIGFsbG93RGVjaW1hbCkgfHwgcmVxdWlyZURlY2ltYWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRGVjaW1hbFxuICAgICAgICAgICAgICAgID8gY29udmVydFRvTWFzayhcbiAgICAgICAgICAgICAgICAgICAgICByYXdWYWx1ZS5zbGljZShkZWNpbWFsSW5kZXggKyAxKS5yZXBsYWNlKFRVSV9OT05fRElHSVRTX1JFR0VYUCwgJycpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbkNhcHBlZCA9IGRlY2ltYWxMaW1pdFxuICAgICAgICAgICAgICAgID8gZnJhY3Rpb24uc2xpY2UoMCwgZGVjaW1hbExpbWl0KVxuICAgICAgICAgICAgICAgIDogZnJhY3Rpb247XG5cbiAgICAgICAgICAgIGlmIChyYXdWYWx1ZVtkZWNpbWFsSW5kZXhdICE9PSBvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpIHtcbiAgICAgICAgICAgICAgICBtYXNrLnB1c2goTUFTS19DQVJFVF9UUkFQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay5wdXNoKGRlY2ltYWxTeW1ib2wsIE1BU0tfQ0FSRVRfVFJBUCwgLi4uZnJhY3Rpb25DYXBwZWQpO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY2ltYWxMaW1pdCAtIGZyYWN0aW9uQ2FwcGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNPbmx5WmVyb0RpZ2l0ID0gbWFzay5sZW5ndGggPT09IDEgJiYgaW50ZWdlckNhcHBlZFplcm9zQ2xlYW4gPT09ICcwJztcblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgaWYgKG1hc2subGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKFRVSV9ESUdJVF9SRUdFWFApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXNrLnVuc2hpZnQoJy0nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcmV2ZW50TGVhZGluZ1plcm9lcyhtYXNrLCBpc09ubHlaZXJvRGlnaXQsIGxlYWRpbmdaZXJvc0Ftb3VudCk7XG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJldmVudExlYWRpbmdaZXJvZXMoXG4gICAgbWFzazogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPixcbiAgICBpc09ubHlaZXJvRGlnaXQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBsZWFkaW5nWmVyb3NBbW91bnQ6IG51bWJlciA9IDAsXG4pOiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+IHtcbiAgICBpZiAoaXNPbmx5WmVyb0RpZ2l0IHx8IGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdERpZ2l0SW5kZXggPSBtYXNrLmluZGV4T2YoVFVJX0RJR0lUX1JFR0VYUCk7XG5cbiAgICBpZiAoZmlyc3REaWdpdEluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRNYXNrRGlnaXQgPSBtYXNrW2ZpcnN0RGlnaXRJbmRleCArIDFdO1xuICAgIGNvbnN0IGlzQ2FyZXRUcmFwID0gc2Vjb25kTWFza0RpZ2l0ID09PSBNQVNLX0NBUkVUX1RSQVA7XG5cbiAgICBpZiAoaXNDYXJldFRyYXAgJiYgbGVhZGluZ1plcm9zQW1vdW50ID09PSAxKSB7XG4gICAgICAgIHJldHVybiBtYXNrO1xuICAgIH0gZWxzZSBpZiAoaXNDYXJldFRyYXApIHtcbiAgICAgICAgbWFzay51bnNoaWZ0KE5PTl9aRVJPX0RJR0lUKTtcblxuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9XG5cbiAgICBtYXNrW2ZpcnN0RGlnaXRJbmRleF0gPSBOT05fWkVST19ESUdJVDtcblxuICAgIHJldHVybiBtYXNrO1xufVxuXG5mdW5jdGlvbiBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBudW1iZXIge1xuICAgIGlmICghYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiBzdHIubGFzdEluZGV4T2YoZGVjaW1hbFN5bWJvbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIE1hdGgubWF4KFxuICAgICAgICBzdHIubGFzdEluZGV4T2YoZGVjaW1hbFN5bWJvbCksXG4gICAgICAgIHN0ci5sYXN0SW5kZXhPZihvdGhlckRlY2ltYWxTeW1ib2woZGVjaW1hbFN5bWJvbCkpLFxuICAgICk7XG59XG5cbmZ1bmN0aW9uIGlzRGVjaW1hbFN5bWJvbChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBkZWNpbWFsU3ltYm9sOiBUdWlEZWNpbWFsU3ltYm9sLFxuICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogYm9vbGVhbixcbik6IGJvb2xlYW4ge1xuICAgIGlmIChhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpIHtcbiAgICAgICAgcmV0dXJuIC9eWywuXSQvLnRlc3Qoc3RyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyID09PSBkZWNpbWFsU3ltYm9sO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VG9NYXNrKHN0ck51bWJlcjogc3RyaW5nKTogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPiB7XG4gICAgcmV0dXJuIHN0ck51bWJlclxuICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgIC5tYXAoY2hhciA9PiAoVFVJX0RJR0lUX1JFR0VYUC50ZXN0KGNoYXIpID8gVFVJX0RJR0lUX1JFR0VYUCA6IGNoYXIpKTtcbn1cblxuZnVuY3Rpb24gYWRkVGhvdXNhbmRzU2VwYXJhdG9yKHN0ck51bWJlcjogc3RyaW5nLCB0aG91c2FuZFN5bWJvbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyTnVtYmVyLmxlbmd0aCA+IDNcbiAgICAgICAgPyBzdHJOdW1iZXIucmVwbGFjZSgvXFxCKD89KFxcZHszfSkrKD8hXFxkKSkvZywgdGhvdXNhbmRTeW1ib2wpXG4gICAgICAgIDogc3RyTnVtYmVyO1xufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW51bWJlci1tYXNrLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWFzay8iLCJzb3VyY2VzIjpbImNyZWF0ZS1udW1iZXItbWFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUNILGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixHQUN4QixNQUFNLDBCQUEwQixDQUFDO0FBR2xDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELElBQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQztBQUUvQjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsRUFTUjtRQVRRLDRCQVNSLEVBUnhCLG9CQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIscUJBQW1CLEVBQW5CLHdDQUFtQixFQUNuQixzQkFBb0MsRUFBcEMseURBQW9DLEVBQ3BDLGdDQUErQixFQUEvQixvREFBK0IsRUFDL0Isb0JBQWdCLEVBQWhCLHFDQUFnQixFQUNoQixzQkFBc0IsRUFBdEIsMkNBQXNCLEVBQ3RCLHFCQUFxQixFQUFyQiwwQ0FBcUIsRUFDckIsb0JBQWdCLEVBQWhCLHFDQUFnQjtJQUVoQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNqRCxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVwQyxPQUFPLFVBQUMsUUFBUSxFQUFFLEVBQXdC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QUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQXZELENBQXVELENBQUMsQ0FBQztBQUM5RSxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxTQUFpQixFQUFFLGNBQXNCO0lBQ3BFLE9BQU8sU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLGNBQWMsQ0FBQztRQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NIQVJfRU5fREFTSCwgQ0hBUl9OT19CUkVBS19TUEFDRSwgdHVpQXNzZXJ0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTUFTS19DQVJFVF9UUkFQLFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX0xFQURJTkdfWkVST0VTX1JFR0VYUCxcbiAgICBUVUlfTk9OX0RJR0lUU19SRUdFWFAsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aU51bWJlck1hc2tPcHRpb25zLCBUdWlUZXh0TWFza0xpc3RIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9tYXNrJztcbmltcG9ydCB7VHVpRGVjaW1hbFN5bWJvbH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtvdGhlckRlY2ltYWxTeW1ib2x9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5cbmNvbnN0IE5PTl9aRVJPX0RJR0lUID0gL1sxLTldLztcblxuLyoqXG4gKiBBZGFwdGF0aW9uIGZvciB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3RleHQtbWFzay90ZXh0LW1hc2svdHJlZS9tYXN0ZXIvYWRkb25zI2NyZWF0ZW51bWJlcm1hc2sgYGNyZWF0ZU51bWJlck1hc2tgfVxuICogQHRvZG8gVE9ETzogYXV0b2NDb3JyZWN0RGVjaW1hbFN5bWJvbCBpcyBubyBsb25nZXIgbmVlZGVkLiBSZW1vdmUgaXQgaW4gMy4wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICBhbGxvd0RlY2ltYWwgPSBmYWxzZSxcbiAgICBkZWNpbWFsU3ltYm9sID0gJywnLFxuICAgIHRob3VzYW5kU3ltYm9sID0gQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wgPSB0cnVlLFxuICAgIGRlY2ltYWxMaW1pdCA9IDIsXG4gICAgcmVxdWlyZURlY2ltYWwgPSBmYWxzZSxcbiAgICBhbGxvd05lZ2F0aXZlID0gZmFsc2UsXG4gICAgaW50ZWdlckxpbWl0ID0gMCxcbn06IFR1aU51bWJlck1hc2tPcHRpb25zID0ge30pOiBUdWlUZXh0TWFza0xpc3RIYW5kbGVyIHtcbiAgICB0dWlBc3NlcnQuYXNzZXJ0KE51bWJlci5pc0ludGVnZXIoZGVjaW1hbExpbWl0KSk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChkZWNpbWFsTGltaXQgPj0gMCk7XG4gICAgdHVpQXNzZXJ0LmFzc2VydChOdW1iZXIuaXNJbnRlZ2VyKGludGVnZXJMaW1pdCkpO1xuICAgIHR1aUFzc2VydC5hc3NlcnQoaW50ZWdlckxpbWl0ID49IDApO1xuXG4gICAgcmV0dXJuIChyYXdWYWx1ZSwge3ByZXZpb3VzQ29uZm9ybWVkVmFsdWV9KSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbmZvcm1lZFZhbHVlICYmIHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBjb25mb3JtZWRXaXRob3V0U2VwYXJhdG9yID0gcmF3VmFsdWUuc3BsaXQodGhvdXNhbmRTeW1ib2wpLmpvaW4oJycpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yID1cbiAgICAgICAgICAgICAgICBwcmV2aW91c0NvbmZvcm1lZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCh0aG91c2FuZFN5bWJvbClcbiAgICAgICAgICAgICAgICAgICAgLmpvaW4oJycpXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdChkZWNpbWFsU3ltYm9sKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignJyk7XG5cbiAgICAgICAgICAgIC8vIEZvcmJpZCByZW1vdmFsIG9mIGRlY2ltYWwgc2VwYXJhdG9yIGlmIGRlY2ltYWwgcGFydCBpcyByZXF1aXJlZFxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbmZvcm1lZFdpdGhvdXRTZXBhcmF0b3IgPT09XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDb25mb3JtZWRWYWx1ZVdpdGhvdXREZWNpbWFsU3ltYm9sQW5kU2VwYXJhdG9yXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByYXdWYWx1ZSA9IHByZXZpb3VzQ29uZm9ybWVkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc05lZ2F0aXZlID1cbiAgICAgICAgICAgIChyYXdWYWx1ZVswXSA9PT0gJy0nIHx8IHJhd1ZhbHVlWzBdID09PSBDSEFSX0VOX0RBU0gpICYmIGFsbG93TmVnYXRpdmU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgaXNEZWNpbWFsU3ltYm9sKHJhd1ZhbHVlLCBkZWNpbWFsU3ltYm9sLCBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wpICYmXG4gICAgICAgICAgICBhbGxvd0RlY2ltYWxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gWycwJywgZGVjaW1hbFN5bWJvbCwgVFVJX0RJR0lUX1JFR0VYUF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOZWdhdGl2ZSkge1xuICAgICAgICAgICAgcmF3VmFsdWUgPSByYXdWYWx1ZS5zdWJzdHIoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNpbWFsSW5kZXggPSBnZXREZWNpbWFsU3ltYm9sSW5kZXgoXG4gICAgICAgICAgICByYXdWYWx1ZSxcbiAgICAgICAgICAgIGRlY2ltYWxTeW1ib2wsXG4gICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGhhc0RlY2ltYWwgPSBkZWNpbWFsSW5kZXggIT09IC0xO1xuICAgICAgICBjb25zdCBpbnRlZ2VyID0gaGFzRGVjaW1hbCA/IHJhd1ZhbHVlLnNsaWNlKDAsIGRlY2ltYWxJbmRleCkgOiByYXdWYWx1ZTtcbiAgICAgICAgY29uc3QgdGhvdXNhbmRTZXBhcmF0b3JzID0gaW50ZWdlci5tYXRjaChuZXcgUmVnRXhwKHRob3VzYW5kU3ltYm9sLCAnZycpKSB8fCBbXTtcbiAgICAgICAgY29uc3QgaW50ZWdlckNhcHBlZCA9IGludGVnZXJMaW1pdFxuICAgICAgICAgICAgPyBpbnRlZ2VyLnNsaWNlKDAsIGludGVnZXJMaW1pdCArIHRob3VzYW5kU2VwYXJhdG9ycy5sZW5ndGgpXG4gICAgICAgICAgICA6IGludGVnZXI7XG4gICAgICAgIGNvbnN0IGludGVnZXJDYXBwZWRDbGVhbiA9IGludGVnZXJDYXBwZWQucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKTtcbiAgICAgICAgY29uc3QgW2xlYWRpbmdaZXJvc01hdGNoXSA9IGludGVnZXJDYXBwZWRDbGVhbi5tYXRjaChcbiAgICAgICAgICAgIFRVSV9MRUFESU5HX1pFUk9FU19SRUdFWFAsXG4gICAgICAgICkgfHwgWycnXTtcbiAgICAgICAgY29uc3QgbGVhZGluZ1plcm9zQW1vdW50ID0gbGVhZGluZ1plcm9zTWF0Y2gubGVuZ3RoO1xuICAgICAgICBjb25zdCBpbnRlZ2VyQ2FwcGVkWmVyb3NDbGVhbiA9IGludGVnZXJDYXBwZWRDbGVhblxuICAgICAgICAgICAgLnJlcGxhY2UoL14wKyg/IVxcLnwkKS8sICcnKVxuICAgICAgICAgICAgLnRyaW0oKTtcbiAgICAgICAgY29uc3Qgd2l0aFNlcGFyYXRvciA9IGFkZFRob3VzYW5kc1NlcGFyYXRvcihcbiAgICAgICAgICAgIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuLFxuICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2wsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG1hc2sgPSBjb252ZXJ0VG9NYXNrKHdpdGhTZXBhcmF0b3IpO1xuXG4gICAgICAgIGlmICgoaGFzRGVjaW1hbCAmJiBhbGxvd0RlY2ltYWwpIHx8IHJlcXVpcmVEZWNpbWFsKSB7XG4gICAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IGhhc0RlY2ltYWxcbiAgICAgICAgICAgICAgICA/IGNvbnZlcnRUb01hc2soXG4gICAgICAgICAgICAgICAgICAgICAgcmF3VmFsdWUuc2xpY2UoZGVjaW1hbEluZGV4ICsgMSkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgY29uc3QgZnJhY3Rpb25DYXBwZWQgPSBkZWNpbWFsTGltaXRcbiAgICAgICAgICAgICAgICA/IGZyYWN0aW9uLnNsaWNlKDAsIGRlY2ltYWxMaW1pdClcbiAgICAgICAgICAgICAgICA6IGZyYWN0aW9uO1xuXG4gICAgICAgICAgICBpZiAocmF3VmFsdWVbZGVjaW1hbEluZGV4XSAhPT0gb3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSB7XG4gICAgICAgICAgICAgICAgbWFzay5wdXNoKE1BU0tfQ0FSRVRfVFJBUCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1hc2sucHVzaChkZWNpbWFsU3ltYm9sLCBNQVNLX0NBUkVUX1RSQVAsIC4uLmZyYWN0aW9uQ2FwcGVkKTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNpbWFsTGltaXQgLSBmcmFjdGlvbkNhcHBlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzT25seVplcm9EaWdpdCA9IG1hc2subGVuZ3RoID09PSAxICYmIGludGVnZXJDYXBwZWRaZXJvc0NsZWFuID09PSAnMCc7XG5cbiAgICAgICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgICAgIGlmIChtYXNrLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIG1hc2sucHVzaChUVUlfRElHSVRfUkVHRVhQKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFzay51bnNoaWZ0KCctJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcHJldmVudExlYWRpbmdaZXJvZXMobWFzaywgaXNPbmx5WmVyb0RpZ2l0LCBsZWFkaW5nWmVyb3NBbW91bnQpO1xuICAgIH07XG59XG5cbmZ1bmN0aW9uIHByZXZlbnRMZWFkaW5nWmVyb2VzKFxuICAgIG1hc2s6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4sXG4gICAgaXNPbmx5WmVyb0RpZ2l0OiBib29sZWFuID0gZmFsc2UsXG4gICAgbGVhZGluZ1plcm9zQW1vdW50OiBudW1iZXIgPSAwLFxuKTogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPiB7XG4gICAgaWYgKGlzT25seVplcm9EaWdpdCB8fCBsZWFkaW5nWmVyb3NBbW91bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3REaWdpdEluZGV4ID0gbWFzay5pbmRleE9mKFRVSV9ESUdJVF9SRUdFWFApO1xuXG4gICAgaWYgKGZpcnN0RGlnaXRJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgY29uc3Qgc2Vjb25kTWFza0RpZ2l0ID0gbWFza1tmaXJzdERpZ2l0SW5kZXggKyAxXTtcbiAgICBjb25zdCBpc0NhcmV0VHJhcCA9IHNlY29uZE1hc2tEaWdpdCA9PT0gTUFTS19DQVJFVF9UUkFQO1xuXG4gICAgaWYgKGlzQ2FyZXRUcmFwICYmIGxlYWRpbmdaZXJvc0Ftb3VudCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gbWFzaztcbiAgICB9IGVsc2UgaWYgKGlzQ2FyZXRUcmFwKSB7XG4gICAgICAgIG1hc2sudW5zaGlmdChOT05fWkVST19ESUdJVCk7XG5cbiAgICAgICAgcmV0dXJuIG1hc2s7XG4gICAgfVxuXG4gICAgbWFza1tmaXJzdERpZ2l0SW5kZXhdID0gTk9OX1pFUk9fRElHSVQ7XG5cbiAgICByZXR1cm4gbWFzaztcbn1cblxuZnVuY3Rpb24gZ2V0RGVjaW1hbFN5bWJvbEluZGV4KFxuICAgIHN0cjogc3RyaW5nLFxuICAgIGRlY2ltYWxTeW1ib2w6IFR1aURlY2ltYWxTeW1ib2wsXG4gICAgYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sOiBib29sZWFuLFxuKTogbnVtYmVyIHtcbiAgICBpZiAoIWF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbCkge1xuICAgICAgICByZXR1cm4gc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpO1xuICAgIH1cblxuICAgIHJldHVybiBNYXRoLm1heChcbiAgICAgICAgc3RyLmxhc3RJbmRleE9mKGRlY2ltYWxTeW1ib2wpLFxuICAgICAgICBzdHIubGFzdEluZGV4T2Yob3RoZXJEZWNpbWFsU3ltYm9sKGRlY2ltYWxTeW1ib2wpKSxcbiAgICApO1xufVxuXG5mdW5jdGlvbiBpc0RlY2ltYWxTeW1ib2woXG4gICAgc3RyOiBzdHJpbmcsXG4gICAgZGVjaW1hbFN5bWJvbDogVHVpRGVjaW1hbFN5bWJvbCxcbiAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgICBpZiAoYXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKSB7XG4gICAgICAgIHJldHVybiAvXlssLl0kLy50ZXN0KHN0cik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0ciA9PT0gZGVjaW1hbFN5bWJvbDtcbn1cblxuZnVuY3Rpb24gY29udmVydFRvTWFzayhzdHJOdW1iZXI6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4ge1xuICAgIHJldHVybiBzdHJOdW1iZXJcbiAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAubWFwKGNoYXIgPT4gKFRVSV9ESUdJVF9SRUdFWFAudGVzdChjaGFyKSA/IFRVSV9ESUdJVF9SRUdFWFAgOiBjaGFyKSk7XG59XG5cbmZ1bmN0aW9uIGFkZFRob3VzYW5kc1NlcGFyYXRvcihzdHJOdW1iZXI6IHN0cmluZywgdGhvdXNhbmRTeW1ib2w6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN0ck51bWJlci5sZW5ndGggPiAzXG4gICAgICAgID8gc3RyTnVtYmVyLnJlcGxhY2UoL1xcQig/PShcXGR7M30pKyg/IVxcZCkpL2csIHRob3VzYW5kU3ltYm9sKVxuICAgICAgICA6IHN0ck51bWJlcjtcbn1cbiJdfQ==
@@ -106,12 +106,13 @@ AbstractTuiDropdown = __decorate([
106
106
  ], AbstractTuiDropdown);
107
107
 
108
108
  let AbstractTuiHint = class AbstractTuiHint {
109
- constructor(elementRef, hintService, activeZone) {
109
+ constructor(elementRef, hintService, activeZone, options) {
110
110
  this.elementRef = elementRef;
111
111
  this.hintService = hintService;
112
112
  this.activeZone = activeZone;
113
- this.mode = null;
114
- this.direction = 'bottom-left';
113
+ this.options = options;
114
+ this.mode = this.options.mode;
115
+ this.direction = this.options.direction;
115
116
  this.content = '';
116
117
  }
117
118
  ngOnDestroy() {
@@ -127,7 +128,8 @@ let AbstractTuiHint = class AbstractTuiHint {
127
128
  AbstractTuiHint.ctorParameters = () => [
128
129
  { type: ElementRef },
129
130
  { type: TuiHintService },
130
- { type: TuiActiveZoneDirective }
131
+ { type: TuiActiveZoneDirective },
132
+ { type: undefined }
131
133
  ];
132
134
  __decorate([
133
135
  Input('tuiHintMode'),
@@ -141,9 +143,15 @@ AbstractTuiHint = __decorate([
141
143
  Directive()
142
144
  ], AbstractTuiHint);
143
145
 
146
+ /** Default values for abstract hint options */
147
+ const TUI_ABSTRACT_HINT_DEFAULT_OPTIONS = {
148
+ mode: null,
149
+ direction: 'bottom-left',
150
+ };
151
+
144
152
  /**
145
153
  * Generated bundle index. Do not edit.
146
154
  */
147
155
 
148
- export { AbstractTuiDropdown, AbstractTuiHint };
156
+ export { AbstractTuiDropdown, AbstractTuiHint, TUI_ABSTRACT_HINT_DEFAULT_OPTIONS };
149
157
  //# sourceMappingURL=taiga-ui-core-abstract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n abstract refresh$: Observable<unknown>;\n\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiHintModeT | null = null;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiDirection = 'bottom-left';\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-abstract.js","sources":["ng://@taiga-ui/core/abstract/abstract-dropdown.ts","ng://@taiga-ui/core/abstract/abstract-hint.ts","ng://@taiga-ui/core/abstract/abstract-hint-options.ts","ng://@taiga-ui/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {\n AfterViewChecked,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n Injector,\n Input,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownBoxComponent} from '@taiga-ui/core/components/dropdown-box';\nimport {DEFAULT_MAX_HEIGHT, DEFAULT_MIN_HEIGHT} from '@taiga-ui/core/constants';\nimport {TuiDropdown} from '@taiga-ui/core/interfaces';\nimport {\n TuiDropdownWidthT,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {checkFixedPosition} from '@taiga-ui/core/utils/dom';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n// @bad TODO: Possibly refactor to make more abstract\n@Directive()\nexport abstract class AbstractTuiDropdown\n implements TuiDropdown, AfterViewChecked, OnDestroy\n{\n abstract refresh$: Observable<unknown>;\n\n @Input('tuiDropdownContent')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n @Input('tuiDropdownHost')\n @tuiDefaultProp()\n tuiDropdownHost: HTMLElement | null = null;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = DEFAULT_MIN_HEIGHT;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = DEFAULT_MAX_HEIGHT;\n\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align: TuiHorizontalDirection = 'left';\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction: TuiVerticalDirection | null = null;\n\n @Input('tuiDropdownSided')\n @tuiDefaultProp()\n sided = false;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitMinWidth: TuiDropdownWidthT = 'min';\n\n dropdownBoxRef: ComponentRef<TuiDropdownBoxComponent> | null = null;\n\n constructor(\n private readonly componentFactoryResolver: ComponentFactoryResolver,\n private readonly injector: Injector,\n private readonly portalService: TuiPortalService,\n protected readonly elementRef: ElementRef<HTMLElement>,\n readonly activeZone: TuiActiveZoneDirective | null,\n ) {}\n\n ngOnDestroy() {\n this.closeDropdownBox();\n }\n\n ngAfterViewChecked() {\n // @awful TODO: This is probably wrong to call both but in TuiHostedDropdown some changes do not propagate otherwise\n if (this.dropdownBoxRef !== null) {\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n this.dropdownBoxRef.changeDetectorRef.markForCheck();\n }\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n get host(): HTMLElement {\n return this.tuiDropdownHost || this.elementRef.nativeElement;\n }\n\n @tuiPure\n get fixed(): boolean {\n return checkFixedPosition(this.elementRef.nativeElement);\n }\n\n protected openDropdownBox() {\n if (this.dropdownBoxRef !== null) {\n return;\n }\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(\n TuiDropdownBoxComponent,\n );\n\n this.dropdownBoxRef = this.portalService.add(componentFactory, this.injector);\n this.dropdownBoxRef.changeDetectorRef.detectChanges();\n }\n\n protected closeDropdownBox() {\n if (this.dropdownBoxRef === null) {\n return;\n }\n\n this.portalService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n}\n","import {Directive, ElementRef, Input, OnDestroy} from '@angular/core';\nimport {TuiActiveZoneDirective, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiHintService} from '@taiga-ui/core/services';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAbstractHintOptions} from './abstract-hint-options';\n\n@Directive()\nexport abstract class AbstractTuiHint implements OnDestroy {\n @Input('tuiHintMode')\n @tuiDefaultProp()\n mode: TuiAbstractHintOptions['mode'] = this.options.mode;\n\n @Input('tuiHintDirection')\n @tuiDefaultProp()\n direction: TuiAbstractHintOptions['direction'] = this.options.direction;\n\n content: PolymorpheusContent = '';\n\n constructor(\n protected readonly elementRef: ElementRef<HTMLElement>,\n protected readonly hintService: TuiHintService,\n readonly activeZone: TuiActiveZoneDirective | null,\n protected readonly options: TuiAbstractHintOptions,\n ) {}\n\n abstract getElementClientRect(): ClientRect;\n\n ngOnDestroy() {\n this.hideTooltip();\n }\n\n protected showTooltip() {\n this.hintService.add(this);\n }\n\n protected hideTooltip() {\n this.hintService.remove(this);\n }\n}\n","import {TuiDirection, TuiHintModeT} from '@taiga-ui/core/types';\n\nexport interface TuiAbstractHintOptions {\n readonly mode: TuiHintModeT | null;\n readonly direction: TuiDirection;\n}\n\n/** Default values for abstract hint options */\nexport const TUI_ABSTRACT_HINT_DEFAULT_OPTIONS: TuiAbstractHintOptions = {\n mode: null,\n direction: 'bottom-left',\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -132,7 +132,7 @@ TuiDialogComponent = __decorate([
132
132
  changeDetection: ChangeDetectionStrategy.OnPush,
133
133
  providers: TUI_DIALOG_PROVIDERS,
134
134
  animations: [tuiSlideInTop, tuiFadeIn],
135
- styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-base-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
135
+ styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:auto;border-radius:1rem;border:40px solid transparent}:host:after{position:absolute;top:0;left:0;width:100%;height:100%;box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);content:'';border-radius:inherit;pointer-events:none}:host[data-size='s']{width:30rem}:host[data-size='s'] .content{padding:1.5rem}:host[data-size='s'] .heading{margin-bottom:.5rem}:host[data-size='m']{width:42.5rem}:host[data-size='m'] .heading{margin-bottom:.75rem}:host[data-size='l']{width:55rem}:host[data-size='l'] .heading{margin-bottom:1rem}:host[data-size=fullscreen],:host[data-size=page]{width:100vw;min-height:100%;border-radius:0;border:none;background:var(--tui-base-01);box-shadow:0 4rem var(--tui-base-01)}:host[data-size=fullscreen] .content,:host[data-size=page] .content{padding:3rem calc(50vw - (45rem / 2))}:host[data-size=fullscreen] .heading,:host[data-size=page] .heading{margin-bottom:1rem}:host[data-size=page] .content{padding:0}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-width:100vw;width:100vw;max-width:100vw;border-radius:0;border:none;margin:auto 0 0}:host :host-context(tui-root._mobile)[data-size] .content{padding:2rem 1.5rem}:host :host-context(tui-root._mobile)[data-size] .heading{margin-bottom:.5rem}.heading{margin:0;word-wrap:break-word}.heading:empty{display:none}.header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .header{flex:1}.content{border-radius:inherit;padding:2rem;background:var(--tui-base-01)}.content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.wrapper{position:-webkit-sticky;position:sticky;top:0;order:-1}.close{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:fixed;top:1.5rem;right:1.5rem;color:var(--tui-base-01);background:rgba(104,104,104,.96)}.close:hover{background:rgba(159,159,159,.86)}:host:not([data-size=fullscreen]) .close{-webkit-animation:tuiFadeIn var(--tui-duration);animation:tuiFadeIn var(--tui-duration)}:host:not([data-size=fullscreen]).ng-animating .close{display:none}:host-context(tui-root._mobile) .close{position:absolute;top:0;right:0;background:0 0;color:var(--tui-base-06)}:host-context(tui-root._mobile) .close:hover{color:var(--tui-base-07)}.buttons{margin-top:1.25rem;text-align:right}"]
136
136
  }),
137
137
  __param(0, Inject(TUI_ANIMATIONS_DURATION)),
138
138
  __param(1, Inject(TUI_IS_MOBILE)),
@@ -75,7 +75,7 @@ __decorate([
75
75
  TuiLinkComponent = TuiLinkComponent_1 = __decorate([
76
76
  Component({
77
77
  selector: 'a[tuiLink], button[tuiLink]',
78
- template: "<tui-svg *ngIf=\"iconAlignLeft\" class=\"icon icon_left\" [src]=\"icon\"></tui-svg>\n<span class=\"content\">\n <ng-content></ng-content>\n</span>\n<tui-svg *ngIf=\"iconAlignRight\" class=\"icon icon_right\" [src]=\"icon\"></tui-svg>\n",
78
+ template: "<tui-svg\n *ngIf=\"iconAlignLeft\"\n class=\"t-icon t-icon_left\"\n [src]=\"icon\"\n></tui-svg>\n<span class=\"t-content\">\n <ng-content></ng-content>\n</span>\n<tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon t-icon_right\"\n [src]=\"icon\"\n></tui-svg>\n",
79
79
  providers: [
80
80
  {
81
81
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
@@ -90,7 +90,7 @@ TuiLinkComponent = TuiLinkComponent_1 = __decorate([
90
90
  host: {
91
91
  '($.data-mode.attr)': 'mode$',
92
92
  },
93
- styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;color:var(--tui-link);text-decoration:none;text-align:left;text-transform:inherit;font-weight:inherit;cursor:pointer;outline:0}:host:hover{color:var(--tui-link-hover)}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo._active,:host[data-mode=onLight]._pseudo:hover{color:var(--tui-text-03)}:host[data-mode=onLight][data-host-mode=negative]{color:var(--tui-negative-night)}:host[data-mode=onLight][data-host-mode=negative]._active,:host[data-mode=onLight][data-host-mode=negative]:active,:host[data-mode=onLight][data-host-mode=negative]:hover{color:var(--tui-negative-night-hover)}:host[data-mode=onDark]{color:var(--tui-text-03-night)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:active,:host[data-mode=onDark]:hover{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo._active,:host[data-mode=onDark]._pseudo:active,:host[data-mode=onDark]._pseudo:hover{color:var(--tui-text-03-night)}:host[data-mode=onDark][data-host-mode=positive]{color:var(--tui-positive-night)}:host[data-mode=onDark][data-host-mode=positive]._active,:host[data-mode=onDark][data-host-mode=positive]:active,:host[data-mode=onDark][data-host-mode=positive]:hover{color:var(--tui-positive-night-hover)}:host[data-host-mode=negative]{color:var(--tui-negative)}:host[data-host-mode=negative]:hover{color:var(--tui-negative-hover)}:host[data-host-mode=positive]{color:var(--tui-positive)}:host[data-host-mode=positive]:hover{color:var(--tui-positive-hover)}.content{display:inline-block}:host._focus-visible .content{background:var(--tui-selection)}:host[data-mode=onLight]._focus-visible .content{background:var(--tui-clear);color:var(--tui-text-01)}:host[data-mode=onDark]._focus-visible .content{background:var(--tui-clear-inverse);color:var(--tui-text-01-night)}:host[data-host-mode=positive]._focus-visible .content{background:var(--tui-success-bg)}:host[data-host-mode=negative]._focus-visible .content{background:var(--tui-error-bg)}:host._pseudo .content{padding-bottom:.15em;text-decoration:underline dashed;text-underline-offset:.2em;text-decoration-thickness:.7px}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-top:-.125rem;opacity:.8}.icon_left{margin-right:.25rem}.icon_right{margin-left:.25rem}:host._hovered .icon{opacity:1}:host._icon-rotated .icon{transform:rotate(180deg)}"]
93
+ styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;transition-property:color;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;color:var(--tui-link);text-decoration:none;text-align:left;text-transform:inherit;font-weight:inherit;cursor:pointer;outline:0}:host:hover{color:var(--tui-link-hover)}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo{color:var(--tui-text-01)}:host[data-mode=onLight]._pseudo._active,:host[data-mode=onLight]._pseudo:hover{color:var(--tui-text-03)}:host[data-mode=onLight][data-host-mode=negative]{color:var(--tui-negative-night)}:host[data-mode=onLight][data-host-mode=negative]._active,:host[data-mode=onLight][data-host-mode=negative]:active,:host[data-mode=onLight][data-host-mode=negative]:hover{color:var(--tui-negative-night-hover)}:host[data-mode=onDark]{color:var(--tui-text-03-night)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:active,:host[data-mode=onDark]:hover{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo{color:var(--tui-text-01-night)}:host[data-mode=onDark]._pseudo._active,:host[data-mode=onDark]._pseudo:active,:host[data-mode=onDark]._pseudo:hover{color:var(--tui-text-03-night)}:host[data-mode=onDark][data-host-mode=positive]{color:var(--tui-positive-night)}:host[data-mode=onDark][data-host-mode=positive]._active,:host[data-mode=onDark][data-host-mode=positive]:active,:host[data-mode=onDark][data-host-mode=positive]:hover{color:var(--tui-positive-night-hover)}:host[data-host-mode=negative]{color:var(--tui-negative)}:host[data-host-mode=negative]:hover{color:var(--tui-negative-hover)}:host[data-host-mode=positive]{color:var(--tui-positive)}:host[data-host-mode=positive]:hover{color:var(--tui-positive-hover)}.t-content{display:inline-block}:host._focus-visible .t-content{background:var(--tui-selection)}:host[data-mode=onLight]._focus-visible .t-content{background:var(--tui-clear);color:var(--tui-text-01)}:host[data-mode=onDark]._focus-visible .t-content{background:var(--tui-clear-inverse);color:var(--tui-text-01-night)}:host[data-host-mode=positive]._focus-visible .t-content{background:var(--tui-success-bg)}:host[data-host-mode=negative]._focus-visible .t-content{background:var(--tui-error-bg)}:host._pseudo .t-content{padding-bottom:.15em;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-underline-offset:.2em;text-decoration-thickness:.7px}.t-icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-top:-.125rem;opacity:.8}.t-icon_left{margin-right:.25rem}.t-icon_right{margin-left:.25rem}:host._hovered .t-icon{opacity:1}:host._icon-rotated .t-icon{transform:rotate(180deg)}"]
94
94
  }),
95
95
  __param(0, Inject(ElementRef)),
96
96
  __param(1, Inject(TUI_MODE)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-link.js","sources":["ng://@taiga-ui/core/components/link/link.component.ts","ng://@taiga-ui/core/components/link/link.module.ts","ng://@taiga-ui/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {merge, Observable} from 'rxjs';\nimport {mapTo} from 'rxjs/operators';\n\n// @bad TODO: Think about extending Interactive\n@Component({\n selector: 'a[tuiLink], button[tuiLink]',\n templateUrl: './link.template.html',\n styleUrls: ['./link.style.less'],\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiLinkComponent),\n },\n TuiFocusVisibleService,\n TuiDestroyService,\n MODE_PROVIDER,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'tuiLink',\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiLinkComponent implements TuiFocusableElementAccessor {\n @Input()\n @HostBinding('class._pseudo')\n @tuiDefaultProp()\n pseudo = false;\n\n @Input()\n @tuiDefaultProp()\n icon: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._icon-rotated')\n @tuiDefaultProp()\n iconRotated = false;\n\n @Input()\n @HostBinding('attr.data-host-mode')\n @tuiDefaultProp()\n mode: 'positive' | 'negative' | null = null;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n readonly focusedChange = merge(\n typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<TuiNativeFocusableElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiFocusVisibleService)\n focusVisible$: TuiFocusVisibleService,\n ) {\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement {\n return this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get hasIcon(): boolean {\n return this.icon !== null;\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\n\nimport {TuiLinkComponent} from './link.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiLinkComponent],\n exports: [TuiLinkComponent],\n})\nexport class TuiLinkModule {}\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-link.js","sources":["ng://@taiga-ui/core/components/link/link.component.ts","ng://@taiga-ui/core/components/link/link.module.ts","ng://@taiga-ui/core/components/link/taiga-ui-core-components-link.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n TuiFocusVisibleService,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_MODE} from '@taiga-ui/core/tokens';\nimport {TuiBrightness, TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {merge, Observable} from 'rxjs';\nimport {mapTo} from 'rxjs/operators';\n\n// @bad TODO: Think about extending Interactive\n@Component({\n selector: 'a[tuiLink], button[tuiLink]',\n templateUrl: './link.template.html',\n styleUrls: ['./link.style.less'],\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiLinkComponent),\n },\n TuiFocusVisibleService,\n TuiDestroyService,\n MODE_PROVIDER,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'tuiLink',\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiLinkComponent implements TuiFocusableElementAccessor {\n @Input()\n @HostBinding('class._pseudo')\n @tuiDefaultProp()\n pseudo = false;\n\n @Input()\n @tuiDefaultProp()\n icon: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n iconAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._icon-rotated')\n @tuiDefaultProp()\n iconRotated = false;\n\n @Input()\n @HostBinding('attr.data-host-mode')\n @tuiDefaultProp()\n mode: 'positive' | 'negative' | null = null;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n readonly focusedChange = merge(\n typedFromEvent(this.elementRef.nativeElement, 'focusin').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'focusout').pipe(mapTo(false)),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<TuiNativeFocusableElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TuiFocusVisibleService)\n focusVisible$: TuiFocusVisibleService,\n ) {\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement {\n return this.elementRef.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get hasIcon(): boolean {\n return this.icon !== null;\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\n\nimport {TuiLinkComponent} from './link.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiLinkComponent],\n exports: [TuiLinkComponent],\n})\nexport class TuiLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { forwardRef, EventEmitter, Inject, ViewChild, Input, HostBinding, Output, ContentChildren, Component, ChangeDetectionStrategy, ElementRef, NgModule } from '@angular/core';
2
+ import { forwardRef, InjectionToken, EventEmitter, Inject, ViewChild, Input, HostBinding, Output, ContentChildren, Component, ChangeDetectionStrategy, ElementRef, NgModule } from '@angular/core';
3
3
  import { TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, isNativeFocused, setNativeFocused, tuiDefaultProp, tuiPure, TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiInputModeModule, TuiAutofilledModule, TuiPreventDefaultModule } from '@taiga-ui/cdk';
4
4
  import { HINT_CONTROLLER_PROVIDER, TuiHintControllerDirective, TUI_HINT_WATCHED_CONTROLLER } from '@taiga-ui/core/directives/hint-controller';
5
5
  import { TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldController, TUI_TEXTFIELD_WATCHED_CONTROLLER } from '@taiga-ui/core/directives/textfield-controller';
@@ -30,21 +30,33 @@ const TUI_PRIMITIVE_TEXTFIELD_PROVIDERS = [
30
30
  MODE_PROVIDER,
31
31
  ];
32
32
 
33
+ // TODO: remove in ivy compilation
34
+ const TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER = 'tuiIconCloseLarge';
35
+ /** Default values for primitive textfield options */
36
+ const TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS = {
37
+ iconAlign: 'right',
38
+ iconCleaner: TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER,
39
+ };
40
+ const TUI_PRIMITIVE_TEXTFIELD_OPTIONS = new InjectionToken('Default parameters for primitive textfield component', {
41
+ factory: () => TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS,
42
+ });
43
+
33
44
  const ICON_PADDING = 1.75;
34
45
  const ICON_PADDING_S = 1.5;
35
46
  let TuiPrimitiveTextfieldComponent = class TuiPrimitiveTextfieldComponent extends AbstractTuiInteractive {
36
- constructor(mode$, appearance, controller, hintController) {
47
+ constructor(mode$, appearance, controller, hintController, options) {
37
48
  super();
38
49
  this.mode$ = mode$;
39
50
  this.appearance = appearance;
40
51
  this.controller = controller;
41
52
  this.hintController = hintController;
42
- this.autofilled = false;
53
+ this.options = options;
43
54
  this.editable = true;
44
55
  this.filler = '';
45
- this.iconAlign = 'right';
56
+ this.iconAlign = this.options.iconAlign;
46
57
  // TODO: Remove null in 3.0
47
58
  this.iconContent = null;
59
+ this.iconCleaner = this.options.iconCleaner;
48
60
  this.readOnly = false;
49
61
  this.invalid = false;
50
62
  this.disabled = false;
@@ -53,6 +65,7 @@ let TuiPrimitiveTextfieldComponent = class TuiPrimitiveTextfieldComponent extend
53
65
  this.value = '';
54
66
  this.valueChange = new EventEmitter();
55
67
  this.autofilledChange = new EventEmitter();
68
+ this.autofilled = false;
56
69
  }
57
70
  get nativeFocusableElement() {
58
71
  return this.computedDisabled || !this.focusableElement
@@ -170,7 +183,8 @@ TuiPrimitiveTextfieldComponent.ctorParameters = () => [
170
183
  { type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
171
184
  { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
172
185
  { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
173
- { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] }
186
+ { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
187
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_PRIMITIVE_TEXTFIELD_OPTIONS,] }] }
174
188
  ];
175
189
  __decorate([
176
190
  ViewChild('focusableElement')
@@ -191,6 +205,10 @@ __decorate([
191
205
  Input(),
192
206
  tuiDefaultProp()
193
207
  ], TuiPrimitiveTextfieldComponent.prototype, "iconContent", void 0);
208
+ __decorate([
209
+ Input(),
210
+ tuiDefaultProp()
211
+ ], TuiPrimitiveTextfieldComponent.prototype, "iconCleaner", void 0);
194
212
  __decorate([
195
213
  Input(),
196
214
  HostBinding('class._readonly'),
@@ -240,18 +258,20 @@ __decorate([
240
258
  TuiPrimitiveTextfieldComponent = __decorate([
241
259
  Component({
242
260
  selector: 'tui-primitive-textfield',
243
- template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.textIndent.px]=\"decor.pre$ | async\"\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 [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"icon 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=\"wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\n <tui-value-decoration\n #decor\n automation-id=\"tui-primitive-textfield__value-decoration\"\n aria-hidden=\"true\"\n [style.textIndent.px]=\"getIndent$(focusableElement) | async\"\n ></tui-value-decoration>\n </div>\n <div\n *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n automation-id=\"tui-primitive-textfield__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"cleaner\"\n (click.stop)=\"clear()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-primitive-textfield__tooltip\"\n [describeId]=\"id\"\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=\"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",
261
+ template: "<ng-container *ngIf=\"content?.changes | async\"></ng-container>\n<tui-wrapper\n automation-id=\"tui-primitive-textfield__wrapper\"\n tuiPreventDefault=\"click\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <input\n #focusableElement\n tuiMaskAccessor\n automation-id=\"tui-primitive-textfield__native-input\"\n class=\"input\"\n [class.input_hidden]=\"inputHidden\"\n [style.textIndent.px]=\"decor.pre$ | async\"\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 [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n [tuiInputMode]=\"controller.inputMode\"\n [tuiFocusable]=\"computedFocusable\"\n [tuiDescribedBy]=\"id\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onModelChange($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiAutofilledChange)=\"onAutofilled($event)\"\n />\n <div\n *ngIf=\"inputHidden\"\n automation-id=\"tui-primitive-textfield__value\"\n class=\"input input_template\"\n [tuiBorderStart]=\"borderLeft\"\n [tuiBorderEnd]=\"borderRight\"\n >\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n </div>\n <div class=\"content\">\n <div\n *ngIf=\"iconAlignLeft\"\n polymorpheus-outlet\n class=\"icon 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=\"wrapper\">\n <label\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-primitive-textfield__placeholder\"\n class=\"placeholder\"\n [class.placeholder_raised]=\"placeholderRaised\"\n [for]=\"id\"\n >\n <ng-content></ng-content>\n </label>\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 *ngIf=\"hasCustomContent\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__custom-content\"\n class=\"custom-content\"\n [content]=\"controller.customContent\"\n >\n <ng-template let-iconSrc>\n <tui-svg class=\"custom-icon\" [src]=\"iconSrc\"></tui-svg>\n </ng-template>\n </div>\n <span\n *ngIf=\"hasCleaner\"\n polymorpheus-outlet\n automation-id=\"tui-primitive-textfield__cleaner\"\n class=\"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]=\"id\"\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=\"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",
244
262
  changeDetection: ChangeDetectionStrategy.OnPush,
245
263
  providers: TUI_PRIMITIVE_TEXTFIELD_PROVIDERS,
246
264
  host: {
247
265
  '($.data-mode.attr)': 'mode$',
266
+ '[class._autofilled]': 'autofilled',
248
267
  },
249
- 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-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;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);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.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 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .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 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.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}.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%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}.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}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.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-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.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}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
268
+ 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-tui-host-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-tui-host-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-tui-host-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0 solid transparent;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);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit}.input:-webkit-autofill,.input:-webkit-autofill:focus,.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 1000px var(--tui-autofill) inset!important}:host[data-mode=onDark] .input:-webkit-autofill,:host[data-mode=onDark] .input:-webkit-autofill:focus,:host[data-mode=onDark] .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 1000px var(--tui-autofill-night) inset!important}:host[data-tui-host-size='s'] .input{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .input{padding:0 var(--tui-padding-l)}:host._disabled .input{pointer-events:none}:host._right-aligned .input{text-align:right}:host[data-tui-host-size='l']:not(._label-outside) .input{padding-top:1.25rem}:host[data-tui-host-size='l']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-tui-host-size='m']:not(._label-outside) .input{padding-top:1.125rem}:host[data-tui-host-size='m']:not(._label-outside) .input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.filler{vertical-align:middle}.content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-tui-host-size='s'] .content{padding:0 var(--tui-padding-s)}:host[data-tui-host-size='l'] .content{padding:0 var(--tui-padding-l)}.content:after{content:'';margin-right:-.25rem}:host[data-tui-host-size='m'] .content:after{display:none}.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}.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%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.placeholder_raised{transform:translateY(-.625rem)}:host[data-tui-host-size='m'] .placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .placeholder_raised,:host._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .placeholder,:host[data-tui-host-size='l']._focused._label-outside .placeholder,:host[data-tui-host-size='m']._focused._label-outside .placeholder{color:var(--tui-text-03)}:host[data-tui-host-size='l'] .placeholder{font-size:.9375rem}:host[data-tui-host-size='l'] .placeholder_raised{font-size:.8156rem}:host[data-tui-host-size='l']._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m']._focused:not(._label-outside) .placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .placeholder{color:var(--tui-text-02-night)}:host[data-tui-host-size='l'][data-mode=onDark]._focused:not(._label-outside) .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused:not(._label-outside) .placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .placeholder,:host[data-tui-host-size='l'][data-mode=onDark]._focused._label-outside .placeholder,:host[data-tui-host-size='m'][data-mode=onDark]._focused._label-outside .placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.placeholder{transition-property:transform,color,letter-spacing}}.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}.cleaner:hover{color:var(--tui-text-02)}:host._disabled .cleaner,:host._readonly .cleaner{pointer-events:none}:host[data-mode=onDark] .cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .cleaner:hover{color:var(--tui-text-01-night)}.icon{display:flex;align-items:center;justify-content:center;color:var(--tui-text-03)}.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-tui-host-size='s'] .icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host._autofilled .t-value-decoration{display:none}.value_visible{display:block}.custom-content{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin-right:.25rem;pointer-events:none}.custom-icon{width:100%;height:100%}.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}.icon:hover{color:var(--tui-text-02)}:host._disabled .icon,:host._readonly .icon{pointer-events:none}:host[data-mode=onDark] .icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .icon:hover{color:var(--tui-text-01-night)}:host._hovered:not(._readonly) .icon{color:var(--tui-text-02)}:host[data-mode=onDark]._hovered:not(._readonly) .icon{color:var(--tui-text-01-night)}:host[data-mode=onLight]._hovered:not(._readonly) .icon{color:var(--tui-text-01)}.input_hidden{opacity:0;text-indent:-10em;-webkit-user-select:none}:host[data-tui-host-size] .input_template{display:flex;width:100%;max-width:100%;align-items:center;pointer-events:none}.input::-webkit-caps-lock-indicator{margin-right:.375rem;align-self:center}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-caps-lock-indicator{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button,.input::-webkit-credentials-auto-fill-button,.input::-webkit-credit-card-auto-fill-button{background-color:var(--tui-text-03)}:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-contacts-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credentials-auto-fill-button,:host[data-tui-host-size='l']:not(._label-outside) .input::-webkit-credit-card-auto-fill-button{margin-top:-1.25rem}.input::-webkit-contacts-auto-fill-button:hover,.input::-webkit-credentials-auto-fill-button:hover,.input::-webkit-credit-card-auto-fill-button:hover{background-color:var(--tui-text-02)}.input:-webkit-autofill,.input:-webkit-autofill::first-line{font-size:inherit;line-height:inherit}.text-template{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"]
250
269
  }),
251
270
  __param(0, Inject(TUI_MODE)),
252
271
  __param(1, Inject(TUI_TEXTFIELD_APPEARANCE)),
253
272
  __param(2, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
254
- __param(3, Inject(TUI_HINT_WATCHED_CONTROLLER))
273
+ __param(3, Inject(TUI_HINT_WATCHED_CONTROLLER)),
274
+ __param(4, Inject(TUI_PRIMITIVE_TEXTFIELD_OPTIONS))
255
275
  ], TuiPrimitiveTextfieldComponent);
256
276
 
257
277
  let TuiValueDecorationComponent = class TuiValueDecorationComponent {
@@ -348,5 +368,5 @@ TuiPrimitiveTextfieldModule = __decorate([
348
368
  * Generated bundle index. Do not edit.
349
369
  */
350
370
 
351
- export { TUI_PRIMITIVE_TEXTFIELD_PROVIDERS, TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, TuiValueDecorationComponent };
371
+ export { TUI_PRIMITIVE_TEXTFIELD_DEFAULT_OPTIONS, TUI_PRIMITIVE_TEXTFIELD_ICON_CLEANER, TUI_PRIMITIVE_TEXTFIELD_OPTIONS, TUI_PRIMITIVE_TEXTFIELD_PROVIDERS, TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, TuiValueDecorationComponent };
352
372
  //# sourceMappingURL=taiga-ui-core-components-primitive-textfield.js.map