@taiga-ui/kit 2.15.0 → 2.16.0-fixed

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 (222) hide show
  1. package/abstract/input-slider.d.ts +2 -1
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +4 -2
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-count.umd.js +86 -30
  11. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +2 -2
  13. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-number.umd.js +28 -14
  21. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  23. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-input-range.umd.js +19 -13
  27. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  29. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-slider.umd.js +14 -8
  31. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  35. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-multi-select.umd.js +3 -2
  38. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-progress.umd.js +325 -0
  42. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -0
  43. package/bundles/taiga-ui-kit-components-progress.umd.min.js +16 -0
  44. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -0
  45. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  46. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-tabs.umd.js +15 -7
  49. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  53. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  54. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  56. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  58. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  60. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  62. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  64. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  66. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  68. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  69. package/components/index.d.ts +1 -0
  70. package/components/input-count/index.d.ts +1 -0
  71. package/components/input-count/input-count-options.d.ts +19 -0
  72. package/components/input-count/input-count.component.d.ts +10 -3
  73. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  74. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  75. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  76. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  77. package/components/input-number/input-number.component.d.ts +4 -2
  78. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  79. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  80. package/components/input-range/input-range.component.d.ts +4 -2
  81. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  82. package/components/input-slider/input-slider.component.d.ts +4 -2
  83. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  84. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  85. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  86. package/components/progress/index.d.ts +4 -0
  87. package/components/progress/package.json +13 -0
  88. package/components/progress/pipes/progress-color-segments.pipe.d.ts +8 -0
  89. package/components/progress/progress-bar/progress-bar.component.d.ts +5 -0
  90. package/components/progress/progress-label/progress-label.component.d.ts +2 -0
  91. package/components/progress/progress.module.d.ts +2 -0
  92. package/components/progress/taiga-ui-kit-components-progress.d.ts +4 -0
  93. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -0
  94. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  95. package/components/tabs/tab/tab.component.d.ts +5 -2
  96. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  97. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  98. package/components/taiga-ui-kit-components.metadata.json +1 -1
  99. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  100. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  101. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  102. package/esm2015/abstract/input-slider.js +5 -3
  103. package/esm2015/abstract/slider/slider.js +1 -1
  104. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  105. package/esm2015/components/index.js +2 -1
  106. package/esm2015/components/input-count/index.js +2 -1
  107. package/esm2015/components/input-count/input-count-options.js +21 -0
  108. package/esm2015/components/input-count/input-count.component.js +49 -25
  109. package/esm2015/components/input-count/input-count.module.js +3 -1
  110. package/esm2015/components/input-date/input-date.component.js +1 -1
  111. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  112. package/esm2015/components/input-date-time/input-date-time.component.js +1 -1
  113. package/esm2015/components/input-number/input-number.component.js +26 -16
  114. package/esm2015/components/input-phone/input-phone.component.js +1 -1
  115. package/esm2015/components/input-range/input-range.component.js +21 -15
  116. package/esm2015/components/input-slider/input-slider.component.js +16 -10
  117. package/esm2015/components/input-tag/input-tag.component.js +1 -1
  118. package/esm2015/components/multi-select/multi-select.component.js +4 -3
  119. package/esm2015/components/progress/index.js +5 -0
  120. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +34 -0
  121. package/esm2015/components/progress/progress-bar/progress-bar.component.js +27 -0
  122. package/esm2015/components/progress/progress-label/progress-label.component.js +14 -0
  123. package/esm2015/components/progress/progress.module.js +25 -0
  124. package/esm2015/components/progress/taiga-ui-kit-components-progress.js +5 -0
  125. package/esm2015/components/radio/radio.component.js +1 -1
  126. package/esm2015/components/tabs/tab/tab.component.js +18 -10
  127. package/esm2015/components/tag/tag.component.js +1 -1
  128. package/esm2015/components/text-area/text-area.component.js +2 -2
  129. package/esm2015/components/toggle/toggle.component.js +2 -2
  130. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
  131. package/esm5/abstract/input-slider.js +5 -3
  132. package/esm5/abstract/slider/slider.js +1 -1
  133. package/esm5/components/checkbox/checkbox.component.js +1 -1
  134. package/esm5/components/index.js +2 -1
  135. package/esm5/components/input-count/index.js +2 -1
  136. package/esm5/components/input-count/input-count-options.js +21 -0
  137. package/esm5/components/input-count/input-count.component.js +61 -29
  138. package/esm5/components/input-count/input-count.module.js +3 -1
  139. package/esm5/components/input-date/input-date.component.js +1 -1
  140. package/esm5/components/input-date-range/input-date-range.component.js +1 -1
  141. package/esm5/components/input-date-time/input-date-time.component.js +1 -1
  142. package/esm5/components/input-number/input-number.component.js +30 -16
  143. package/esm5/components/input-phone/input-phone.component.js +1 -1
  144. package/esm5/components/input-range/input-range.component.js +21 -15
  145. package/esm5/components/input-slider/input-slider.component.js +16 -10
  146. package/esm5/components/input-tag/input-tag.component.js +1 -1
  147. package/esm5/components/multi-select/multi-select.component.js +4 -3
  148. package/esm5/components/progress/index.js +5 -0
  149. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +37 -0
  150. package/esm5/components/progress/progress-bar/progress-bar.component.js +28 -0
  151. package/esm5/components/progress/progress-label/progress-label.component.js +17 -0
  152. package/esm5/components/progress/progress.module.js +28 -0
  153. package/esm5/components/progress/taiga-ui-kit-components-progress.js +5 -0
  154. package/esm5/components/radio/radio.component.js +1 -1
  155. package/esm5/components/tabs/tab/tab.component.js +18 -10
  156. package/esm5/components/tag/tag.component.js +1 -1
  157. package/esm5/components/text-area/text-area.component.js +2 -2
  158. package/esm5/components/toggle/toggle.component.js +2 -2
  159. package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
  160. package/fesm2015/taiga-ui-kit-abstract.js +4 -2
  161. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  162. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  163. package/fesm2015/taiga-ui-kit-components-input-count.js +71 -26
  164. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  165. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  166. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  167. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  168. package/fesm2015/taiga-ui-kit-components-input-number.js +25 -15
  169. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  170. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  171. package/fesm2015/taiga-ui-kit-components-input-range.js +20 -14
  172. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  173. package/fesm2015/taiga-ui-kit-components-input-slider.js +15 -9
  174. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  175. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  176. package/fesm2015/taiga-ui-kit-components-multi-select.js +3 -2
  177. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  178. package/fesm2015/taiga-ui-kit-components-progress.js +93 -0
  179. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -0
  180. package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
  181. package/fesm2015/taiga-ui-kit-components-tabs.js +16 -8
  182. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  183. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  184. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  185. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  186. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  187. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  188. package/fesm2015/taiga-ui-kit-components.js +1 -0
  189. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  190. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  191. package/fesm5/taiga-ui-kit-abstract.js +4 -2
  192. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  193. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  194. package/fesm5/taiga-ui-kit-components-input-count.js +83 -30
  195. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  196. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  197. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  198. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  199. package/fesm5/taiga-ui-kit-components-input-number.js +29 -15
  200. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  201. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  202. package/fesm5/taiga-ui-kit-components-input-range.js +20 -14
  203. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  204. package/fesm5/taiga-ui-kit-components-input-slider.js +15 -9
  205. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  206. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  207. package/fesm5/taiga-ui-kit-components-multi-select.js +3 -2
  208. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  209. package/fesm5/taiga-ui-kit-components-progress.js +103 -0
  210. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -0
  211. package/fesm5/taiga-ui-kit-components-radio.js +1 -1
  212. package/fesm5/taiga-ui-kit-components-tabs.js +16 -8
  213. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  214. package/fesm5/taiga-ui-kit-components-tag.js +1 -1
  215. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  216. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  217. package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
  218. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  219. package/fesm5/taiga-ui-kit-components.js +1 -0
  220. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  221. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  222. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && !this.disabled && !this.readOnly;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && !this.disabled && !this.readOnly;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ TuiToggleComponent = TuiToggleComponent_1 = __decorate([
126
126
  useExisting: forwardRef(() => TuiToggleComponent_1),
127
127
  },
128
128
  ],
129
- styles: [":host{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;border-radius:6.25rem}:host[data-tui-host-size='m']{width:2rem;height:1rem}:host[data-tui-host-size='l']{width:3rem;height:1.5rem}.checkbox{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;height:100%;width:100%;opacity:0;cursor:pointer}.checkbox:-webkit-autofill,.checkbox:-webkit-autofill:focus,.checkbox:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .checkbox{pointer-events:none;cursor:default}.toggle{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center}:host[data-tui-host-size='m'] .toggle{width:3rem;height:1rem;transform:translateX(-1rem)}:host[data-tui-host-size='l'] .toggle{width:4.5rem;height:1.5rem;transform:translateX(-1.5rem)}:host._checked .toggle{transform:translateX(0)}.circle{margin:.125rem 0;flex-shrink:0;border-radius:100%;background-color:var(--tui-base-01)}:host._disabled .circle_light{opacity:.24}:host[data-tui-host-size='m'] .circle{width:.75rem;height:.75rem}:host[data-tui-host-size='l'] .circle{width:1rem;height:1rem}:host._disabled .circle{background-color:var(--tui-base-01)}:host:not(._checked) .loader{color:var(--tui-base-06)}:host:not(._checked)._disabled .loader{color:var(--tui-base-05)}:host:not(._checked)[data-mode=onDark] .loader{color:var(--tui-text-03-night)}:host:not(._checked)[data-mode=onDark]._disabled .loader{color:var(--tui-clear-inverse-active)}:host:not(._checked)[data-mode=onLight] .loader{color:var(--tui-text-03)}:host:not(._checked)[data-mode=onLight]._disabled .loader{color:var(--tui-clear-active)}:host[data-tui-host-size='m'] .loader{width:.75rem;margin:0 .2rem;transform:scale(.75)}:host[data-tui-host-size='l'] .loader{width:1rem;margin:0 .25rem}.icon-wrapper{display:flex}.icon{opacity:.8}.icon_off{color:var(--tui-base-06)}:host._disabled .icon_off{color:var(--tui-base-05)}:host[data-mode=onDark] .icon_off{color:var(--tui-text-03-night)}:host[data-mode=onDark]._disabled .icon_off{color:var(--tui-clear-inverse-active)}:host[data-mode=onLight] .icon_off{color:var(--tui-text-03)}:host[data-mode=onLight]._disabled .icon_off{color:var(--tui-clear-active)}:host[data-tui-host-size='m'] .icon{width:1rem;height:1rem;transform:scale(.75)}:host[data-tui-host-size='l'] .icon{margin:0 .125rem;width:1.5rem;height:1.5rem}:host._hovered .icon{opacity:1}"]
129
+ styles: [":host{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;border-radius:6.25rem}:host[data-tui-host-size='m']{width:2rem;height:1rem}:host[data-tui-host-size='l']{width:3rem;height:1.5rem}.checkbox{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;height:100%;width:100%;opacity:0;cursor:pointer}.checkbox:-webkit-autofill,.checkbox:-webkit-autofill:focus,.checkbox:-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._disabled .checkbox{pointer-events:none;cursor:default}.toggle{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;align-items:center;justify-content:center}:host[data-tui-host-size='m'] .toggle{width:3rem;height:1rem;transform:translateX(-1rem)}:host[data-tui-host-size='l'] .toggle{width:4.5rem;height:1.5rem;transform:translateX(-1.5rem)}:host._checked .toggle{transform:translateX(0)}.circle{margin:.125rem 0;flex-shrink:0;border-radius:100%;background-color:var(--tui-base-01)}:host._disabled .circle_light{opacity:.24}:host[data-tui-host-size='m'] .circle{width:.75rem;height:.75rem}:host[data-tui-host-size='l'] .circle{width:1rem;height:1rem}:host._disabled .circle{background-color:var(--tui-base-01)}:host:not(._checked) .loader{color:var(--tui-base-06)}:host:not(._checked)._disabled .loader{color:var(--tui-base-05)}:host:not(._checked)[data-mode=onDark] .loader{color:var(--tui-text-03-night)}:host:not(._checked)[data-mode=onDark]._disabled .loader{color:var(--tui-clear-inverse-active)}:host:not(._checked)[data-mode=onLight] .loader{color:var(--tui-text-03)}:host:not(._checked)[data-mode=onLight]._disabled .loader{color:var(--tui-clear-active)}:host[data-tui-host-size='m'] .loader{width:.75rem;margin:0 .2rem;transform:scale(.75)}:host[data-tui-host-size='l'] .loader{width:1rem;margin:0 .25rem}.icon-wrapper{display:flex}.icon{opacity:.8}.icon_off{color:var(--tui-base-06)}:host._disabled .icon_off{color:var(--tui-base-05)}:host[data-mode=onDark] .icon_off{color:var(--tui-text-03-night)}:host[data-mode=onDark]._disabled .icon_off{color:var(--tui-clear-inverse-active)}:host[data-mode=onLight] .icon_off{color:var(--tui-text-03)}:host[data-mode=onLight]._disabled .icon_off{color:var(--tui-clear-active)}:host[data-tui-host-size='m'] .icon{width:1rem;height:1rem;transform:scale(.75)}:host[data-tui-host-size='l'] .icon{margin:0 .125rem;width:1.5rem;height:1.5rem}:host._hovered .icon{opacity:1}"]
130
130
  }),
131
131
  __param(0, Optional()),
132
132
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor {\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n public readonly options: ToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n public readonly options: ToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export * from '@taiga-ui/kit/components/marker-icon';
38
38
  export * from '@taiga-ui/kit/components/multi-select';
39
39
  export * from '@taiga-ui/kit/components/multi-select-option';
40
40
  export * from '@taiga-ui/kit/components/pagination';
41
+ export * from '@taiga-ui/kit/components/progress';
41
42
  export * from '@taiga-ui/kit/components/radio';
42
43
  export * from '@taiga-ui/kit/components/radio-block';
43
44
  export * from '@taiga-ui/kit/components/radio-group';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-dropdown-context.js","sources":["ng://@taiga-ui/kit/directives/dropdown-context/dropdown-context.directive.ts","ng://@taiga-ui/kit/directives/dropdown-context/dropdown-context.module.ts","ng://@taiga-ui/kit/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Injector,\n Input,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n getNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiDestroyService,\n TuiPortalService,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiDropdown, TUI_DROPDOWN_DIRECTIVE, TuiDropdown} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownContext]',\n providers: [\n TuiDestroyService,\n TuiActiveZoneDirective,\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownContextDirective),\n },\n ],\n})\nexport class TuiDropdownContextDirective\n extends AbstractTuiDropdown\n implements TuiDropdown {\n @Input('tuiDropdownContext')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n readonly refresh$ = EMPTY;\n readonly context = {\n close: () => this.closeDropdownBox(),\n };\n private lastClickedClientRect: ClientRect = this.getClientRectFromDot(0, 0);\n\n constructor(\n protected readonly elementRef: ElementRef,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(componentFactoryResolver, injector, portalService, elementRef, activeZone);\n\n activeZone.tuiActiveZoneChange\n .pipe(\n filter(isActive => !isActive),\n takeUntil(destroy$),\n )\n .subscribe(() => this.closeDropdownBox());\n }\n\n get clientRect(): ClientRect {\n return this.lastClickedClientRect;\n }\n\n get fixed(): boolean {\n return true;\n }\n\n private get dropdownContent(): HTMLElement | null {\n return this.dropdownBoxRef?.instance.contentElementRef?.nativeElement || null;\n }\n\n @HostListener('click')\n onHostClick() {\n this.closeDropdownBox();\n }\n\n @HostListener('contextmenu.prevent', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number) {\n this.closeDropdownBox();\n this.openDropdown(x, y);\n }\n\n @HostListener('document:contextmenu', ['$event.target'])\n onAnotherContextOpen(target: HTMLElement) {\n const isAnotherContextOpened = !this.elementRef.nativeElement.contains(target);\n\n if (isAnotherContextOpened) {\n this.closeDropdownBox();\n }\n }\n\n @HostListener('document:keydown.arrowDown', ['$event', 'true'])\n @HostListener('document:keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean) {\n const activeElement = getNativeFocused(this.documentRef);\n const focusInside = activeElement && this.activeZone.contains(activeElement);\n\n if (!this.dropdownContent || focusInside) {\n return;\n }\n\n event.preventDefault();\n\n const nextEl = this.dropdownContent.nextElementSibling;\n const initial =\n down || !this.checkIsFocusableElement(nextEl) ? this.dropdownContent : nextEl;\n const focusable = getClosestFocusable(initial, !down, this.dropdownContent);\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n\n @HostListener('document:keydown.esc', ['$event'])\n onKeyDownEsc(event: KeyboardEvent) {\n if (!this.dropdownContent) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdownBox();\n }\n\n private openDropdown(x: number, y: number): void {\n this.lastClickedClientRect = this.getClientRectFromDot(x, y);\n this.openDropdownBox();\n }\n\n private getClientRectFromDot(x: number, y: number): ClientRect {\n return {\n top: y,\n bottom: y,\n left: x,\n right: x,\n height: 0,\n width: 0,\n };\n }\n\n private checkIsFocusableElement(element: Element | null): element is HTMLElement {\n return !!element && 'focus' in element && 'blur' in element;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownContextDirective],\n exports: [TuiDropdownContextDirective],\n})\nexport class TuiDropdownContextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-dropdown-context.js","sources":["ng://@taiga-ui/kit/directives/dropdown-context/dropdown-context.directive.ts","ng://@taiga-ui/kit/directives/dropdown-context/dropdown-context.module.ts","ng://@taiga-ui/kit/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Injector,\n Input,\n} from '@angular/core';\nimport {\n getClosestFocusable,\n getNativeFocused,\n setNativeFocused,\n TuiActiveZoneDirective,\n tuiDefaultProp,\n TuiDestroyService,\n TuiPortalService,\n} from '@taiga-ui/cdk';\nimport {AbstractTuiDropdown, TUI_DROPDOWN_DIRECTIVE, TuiDropdown} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownContext]',\n providers: [\n TuiDestroyService,\n TuiActiveZoneDirective,\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownContextDirective),\n },\n ],\n})\nexport class TuiDropdownContextDirective\n extends AbstractTuiDropdown\n implements TuiDropdown\n{\n @Input('tuiDropdownContext')\n @tuiDefaultProp()\n content: PolymorpheusContent = '';\n\n readonly refresh$ = EMPTY;\n readonly context = {\n close: () => this.closeDropdownBox(),\n };\n private lastClickedClientRect: ClientRect = this.getClientRectFromDot(0, 0);\n\n constructor(\n protected readonly elementRef: ElementRef,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(componentFactoryResolver, injector, portalService, elementRef, activeZone);\n\n activeZone.tuiActiveZoneChange\n .pipe(\n filter(isActive => !isActive),\n takeUntil(destroy$),\n )\n .subscribe(() => this.closeDropdownBox());\n }\n\n get clientRect(): ClientRect {\n return this.lastClickedClientRect;\n }\n\n get fixed(): boolean {\n return true;\n }\n\n private get dropdownContent(): HTMLElement | null {\n return this.dropdownBoxRef?.instance.contentElementRef?.nativeElement || null;\n }\n\n @HostListener('click')\n onHostClick() {\n this.closeDropdownBox();\n }\n\n @HostListener('contextmenu.prevent', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number) {\n this.closeDropdownBox();\n this.openDropdown(x, y);\n }\n\n @HostListener('document:contextmenu', ['$event.target'])\n onAnotherContextOpen(target: HTMLElement) {\n const isAnotherContextOpened = !this.elementRef.nativeElement.contains(target);\n\n if (isAnotherContextOpened) {\n this.closeDropdownBox();\n }\n }\n\n @HostListener('document:keydown.arrowDown', ['$event', 'true'])\n @HostListener('document:keydown.arrowUp', ['$event', 'false'])\n onArrow(event: KeyboardEvent, down: boolean) {\n const activeElement = getNativeFocused(this.documentRef);\n const focusInside = activeElement && this.activeZone.contains(activeElement);\n\n if (!this.dropdownContent || focusInside) {\n return;\n }\n\n event.preventDefault();\n\n const nextEl = this.dropdownContent.nextElementSibling;\n const initial =\n down || !this.checkIsFocusableElement(nextEl) ? this.dropdownContent : nextEl;\n const focusable = getClosestFocusable(initial, !down, this.dropdownContent);\n\n if (focusable === null) {\n return;\n }\n\n setNativeFocused(focusable);\n }\n\n @HostListener('document:keydown.esc', ['$event'])\n onKeyDownEsc(event: KeyboardEvent) {\n if (!this.dropdownContent) {\n return;\n }\n\n event.stopPropagation();\n this.closeDropdownBox();\n }\n\n private openDropdown(x: number, y: number): void {\n this.lastClickedClientRect = this.getClientRectFromDot(x, y);\n this.openDropdownBox();\n }\n\n private getClientRectFromDot(x: number, y: number): ClientRect {\n return {\n top: y,\n bottom: y,\n left: x,\n right: x,\n height: 0,\n width: 0,\n };\n }\n\n private checkIsFocusableElement(element: Element | null): element is HTMLElement {\n return !!element && 'focus' in element && 'blur' in element;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownContextDirective],\n exports: [TuiDropdownContextDirective],\n})\nexport class TuiDropdownContextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,8 +32,10 @@ var AbstractTuiInputSlider = /** @class */ (function (_super) {
32
32
  mask: tuiCreateNumberMask({
33
33
  allowNegative: min < 0,
34
34
  allowDecimal: !Number.isInteger(quantum),
35
+ decimalSymbol: _this.numberFormat.decimalSeparator,
36
+ thousandSymbol: _this.numberFormat.thousandSeparator,
35
37
  }),
36
- pipe: tuiCreateAutoCorrectedNumberPipe(),
38
+ pipe: tuiCreateAutoCorrectedNumberPipe(0, _this.numberFormat.decimalSeparator, _this.numberFormat.thousandSeparator),
37
39
  guide: false,
38
40
  }); };
39
41
  _this.pluralizeMap = null;
@@ -108,7 +110,7 @@ var AbstractTuiInputSlider = /** @class */ (function (_super) {
108
110
  };
109
111
  AbstractTuiInputSlider.prototype.capInputValue = function (value, max) {
110
112
  if (max === void 0) { max = this.max; }
111
- var capped = Math.min(maskedNumberStringToNumber(value), max);
113
+ var capped = Math.min(maskedNumberStringToNumber(value, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator), max);
112
114
  if (this.min < 0 && capped < this.min) {
113
115
  return this.min;
114
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number> {\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n size: TuiSizeL = 'l';\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(),\n guide: false,\n });\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected abstract readonly modeDirective: TuiModeDirective | null;\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n abstract get showMinLabel(): boolean;\n\n abstract get showMaxLabel(): boolean;\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(maskedNumberStringToNumber(value), max);\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: refactor\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number> {\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n @ViewChild('dotLeft')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n // @bad TODO: handle pointer events instead of mouse and touch events\n private pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n\n abstract get right(): number;\n\n ngOnInit() {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map((event: any) =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\n }\n\n protected abstract processValue(value: number, right?: boolean): void;\n\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean) {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number> {\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n size: TuiSizeL = 'l';\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n guide: false,\n });\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected abstract readonly modeDirective: TuiModeDirective | null;\n\n protected abstract readonly numberFormat: NumberFormatSettings;\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n abstract get showMinLabel(): boolean;\n\n abstract get showMaxLabel(): boolean;\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n max,\n );\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: refactor\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n @ViewChild('dotLeft')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n // @bad TODO: handle pointer events instead of mouse and touch events\n private pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n\n abstract get right(): number;\n\n ngOnInit() {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n const rect = (\n event.currentTarget as HTMLElement\n ).getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map((event: any) =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\n }\n\n protected abstract processValue(value: number, right?: boolean): void;\n\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean) {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ var TuiCheckboxComponent = /** @class */ (function (_super) {
77
77
  useExisting: forwardRef(function () { return TuiCheckboxComponent_1; }),
78
78
  },
79
79
  ],
80
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;flex-shrink:0}:host[data-tui-host-size='m']{width:1rem;height:1rem}:host[data-tui-host-size='l']{width:1.5rem;height:1.5rem}.native{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .native,:host._readonly .native{pointer-events:none}"]
80
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;flex-shrink:0}:host[data-tui-host-size='m']{width:1rem;height:1rem}:host[data-tui-host-size='l']{width:1.5rem;height:1.5rem}.native{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-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._disabled .native,:host._readonly .native{pointer-events:none}"]
81
81
  }),
82
82
  __param(0, Optional()),
83
83
  __param(0, Self()),
@@ -1,34 +1,86 @@
1
1
  import { __extends, __decorate, __param } from 'tslib';
2
- import { Optional, Self, Inject, ChangeDetectorRef, Input, ViewChild, HostBinding, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
2
+ import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, Input, ViewChild, HostBinding, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { isNativeFocused, isPresent, setNativeFocused, CHAR_NO_BREAK_SPACE, clamp, TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl } from '@taiga-ui/cdk';
5
- import { tuiCreateNumberMask, formatNumber, TUI_TEXTFIELD_APPEARANCE, TuiTextfieldSizeDirective, TUI_TEXTFIELD_SIZE, TuiPrimitiveTextfieldComponent, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
4
+ import { isNativeFocused, isPresent, setNativeFocused, clamp, TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl } from '@taiga-ui/cdk';
5
+ import { tuiCreateNumberMask, formatNumber, TUI_TEXTFIELD_APPEARANCE, TuiTextfieldSizeDirective, TUI_TEXTFIELD_SIZE, TUI_NUMBER_FORMAT, TuiPrimitiveTextfieldComponent, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
6
6
  import { TUI_PLUS_MINUS_TEXTS } from '@taiga-ui/kit/tokens';
7
7
  import { Observable } from 'rxjs';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import { TuiValueAccessorModule } from '@taiga-ui/kit/directives';
10
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
10
11
  import { TextMaskModule } from 'angular2-text-mask';
11
12
 
13
+ // TODO: remove in ivy compilation
14
+ var PASSWORD_ICON_UP = 'tuiIconPlus';
15
+ var PASSWORD_ICON_DOWN = 'tuiIconMinus';
16
+ /** Default values for the input count options. */
17
+ var TUI_INPUT_COUNT_DEFAULT_OPTIONS = {
18
+ icons: {
19
+ up: PASSWORD_ICON_UP,
20
+ down: PASSWORD_ICON_DOWN,
21
+ },
22
+ appearance: 'textfield',
23
+ hideButtons: false,
24
+ min: 0,
25
+ max: Infinity,
26
+ step: 1,
27
+ postfix: '',
28
+ };
29
+ var TUI_INPUT_COUNT_OPTIONS = new InjectionToken('Default parameters for input count component', {
30
+ factory: function () { return TUI_INPUT_COUNT_DEFAULT_OPTIONS; },
31
+ });
32
+
12
33
  // @dynamic
13
34
  var TuiInputCountComponent = /** @class */ (function (_super) {
14
35
  __extends(TuiInputCountComponent, _super);
15
- function TuiInputCountComponent(control, changeDetectorRef, appearance, textfieldSize, minusTexts$, isMobile) {
36
+ function TuiInputCountComponent(control, changeDetectorRef, appearance, textfieldSize, minusTexts$, isMobile, options, numberFormat) {
16
37
  var _this = _super.call(this, control, changeDetectorRef) || this;
17
38
  _this.appearance = appearance;
18
39
  _this.textfieldSize = textfieldSize;
19
40
  _this.minusTexts$ = minusTexts$;
20
41
  _this.isMobile = isMobile;
21
- _this.step = 1;
22
- _this.min = 0;
23
- _this.max = Infinity;
24
- _this.hideButtons = false;
25
- _this.postfix = '';
42
+ _this.options = options;
43
+ _this.numberFormat = numberFormat;
44
+ _this.step = _this.options.step;
45
+ _this.min = _this.options.min;
46
+ _this.max = _this.options.max;
47
+ _this.hideButtons = _this.options.hideButtons;
48
+ _this.postfix = _this.options.postfix;
26
49
  return _this;
27
50
  }
28
51
  TuiInputCountComponent_1 = TuiInputCountComponent;
29
52
  TuiInputCountComponent.prototype.getMask = function (allowNegative) {
30
- return { mask: tuiCreateNumberMask({ allowNegative: allowNegative }), guide: false };
53
+ return {
54
+ mask: tuiCreateNumberMask({
55
+ allowNegative: allowNegative,
56
+ decimalSymbol: this.numberFormat.decimalSeparator,
57
+ thousandSymbol: this.numberFormat.thousandSeparator,
58
+ }),
59
+ guide: false,
60
+ };
31
61
  };
62
+ Object.defineProperty(TuiInputCountComponent.prototype, "buttonsHidden", {
63
+ // TODO: Remove in v.3
64
+ get: function () {
65
+ return this.hideButtons || this.appearance === 'table';
66
+ },
67
+ enumerable: true,
68
+ configurable: true
69
+ });
70
+ Object.defineProperty(TuiInputCountComponent.prototype, "iconUp", {
71
+ get: function () {
72
+ return this.options.icons.up;
73
+ },
74
+ enumerable: true,
75
+ configurable: true
76
+ });
77
+ Object.defineProperty(TuiInputCountComponent.prototype, "iconDown", {
78
+ get: function () {
79
+ return this.options.icons.down;
80
+ },
81
+ enumerable: true,
82
+ configurable: true
83
+ });
32
84
  Object.defineProperty(TuiInputCountComponent.prototype, "nativeFocusableElement", {
33
85
  get: function () {
34
86
  return !this.primitiveTextfield || this.computedDisabled
@@ -52,13 +104,6 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
52
104
  enumerable: true,
53
105
  configurable: true
54
106
  });
55
- Object.defineProperty(TuiInputCountComponent.prototype, "hasButtons", {
56
- get: function () {
57
- return !this.hideButtons && this.appearance !== "table" /* Table */;
58
- },
59
- enumerable: true,
60
- configurable: true
61
- });
62
107
  Object.defineProperty(TuiInputCountComponent.prototype, "exampleText", {
63
108
  get: function () {
64
109
  return String(this.min);
@@ -68,7 +113,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
68
113
  });
69
114
  Object.defineProperty(TuiInputCountComponent.prototype, "computedValue", {
70
115
  get: function () {
71
- return formatNumber(this.value);
116
+ return this.formatNumber(this.value);
72
117
  },
73
118
  enumerable: true,
74
119
  configurable: true
@@ -116,7 +161,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
116
161
  if (capped === null || isNaN(capped)) {
117
162
  return;
118
163
  }
119
- var newValue = formatNumber(capped);
164
+ var newValue = this.formatNumber(capped);
120
165
  if (this.nativeValue !== newValue) {
121
166
  this.nativeValue = newValue;
122
167
  }
@@ -157,7 +202,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
157
202
  };
158
203
  Object.defineProperty(TuiInputCountComponent.prototype, "nativeNumberValue", {
159
204
  get: function () {
160
- return parseInt(this.nativeValue.split(CHAR_NO_BREAK_SPACE).join(''), 10);
205
+ return parseInt(this.nativeValue.split(this.numberFormat.thousandSeparator).join(''), 10);
161
206
  },
162
207
  enumerable: true,
163
208
  configurable: true
@@ -178,7 +223,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
178
223
  TuiInputCountComponent.prototype.safeUpdateValue = function (newValue) {
179
224
  var value = clamp(newValue, this.min, this.max);
180
225
  this.updateValue(value);
181
- this.nativeValue = formatNumber(value);
226
+ this.nativeValue = this.formatNumber(value);
182
227
  };
183
228
  TuiInputCountComponent.prototype.capValue = function (value) {
184
229
  var capped = Math.min(value, this.max);
@@ -186,13 +231,16 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
186
231
  };
187
232
  TuiInputCountComponent.prototype.onBlur = function () {
188
233
  var value = Math.max(this.nativeNumberValue || 0, this.min);
189
- var formattedValue = formatNumber(value);
234
+ var formattedValue = this.formatNumber(value);
190
235
  this.nativeValue = formattedValue;
191
236
  this.updateValue(value);
192
237
  if (this.primitiveTextfield) {
193
238
  this.primitiveTextfield.value = formattedValue;
194
239
  }
195
240
  };
241
+ TuiInputCountComponent.prototype.formatNumber = function (value) {
242
+ return formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
243
+ };
196
244
  var TuiInputCountComponent_1;
197
245
  TuiInputCountComponent.ctorParameters = function () { return [
198
246
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
@@ -200,7 +248,9 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
200
248
  { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] },
201
249
  { type: TuiTextfieldSizeDirective, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_SIZE,] }] },
202
250
  { type: Observable, decorators: [{ type: Inject, args: [TUI_PLUS_MINUS_TEXTS,] }] },
203
- { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] }
251
+ { type: Boolean, decorators: [{ type: Inject, args: [TUI_IS_MOBILE,] }] },
252
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_INPUT_COUNT_OPTIONS,] }] },
253
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] }
204
254
  ]; };
205
255
  __decorate([
206
256
  Input(),
@@ -228,16 +278,16 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
228
278
  __decorate([
229
279
  ViewChild(TuiPrimitiveTextfieldComponent)
230
280
  ], TuiInputCountComponent.prototype, "primitiveTextfield", void 0);
281
+ __decorate([
282
+ HostBinding('class._hide-buttons')
283
+ ], TuiInputCountComponent.prototype, "buttonsHidden", null);
231
284
  __decorate([
232
285
  HostBinding('attr.data-tui-host-size')
233
286
  ], TuiInputCountComponent.prototype, "size", null);
234
- __decorate([
235
- HostBinding('class._has-buttons')
236
- ], TuiInputCountComponent.prototype, "hasButtons", null);
237
287
  TuiInputCountComponent = TuiInputCountComponent_1 = __decorate([
238
288
  Component({
239
289
  selector: 'tui-input-count',
240
- template: "<tui-primitive-textfield\n class=\"textfield\"\n tuiValueAccessor\n tuiTextfieldAutocomplete=\"off\"\n tuiTextfieldInputMode=\"numeric\"\n [tuiTextfieldMaxLength]=\"18\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [postfix]=\"postfix\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"hasButtons && (minusTexts$ | async) as texts\">\n <section class=\"buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n icon=\"tuiIconPlus\"\n class=\"button button_plus\"\n appearance=\"textfield\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n icon=\"tuiIconMinus\"\n class=\"button button_minus\"\n appearance=\"textfield\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n</ng-container>\n",
290
+ template: "<tui-primitive-textfield\n class=\"textfield\"\n tuiValueAccessor\n tuiTextfieldAutocomplete=\"off\"\n tuiTextfieldInputMode=\"numeric\"\n [tuiTextfieldMaxLength]=\"18\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [postfix]=\"postfix\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden && (minusTexts$ | async) as texts\">\n <section class=\"buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n [icon]=\"iconUp\"\n class=\"button button_plus\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n [icon]=\"iconDown\"\n class=\"button button_minus\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n</ng-container>\n",
241
291
  changeDetection: ChangeDetectionStrategy.OnPush,
242
292
  providers: [
243
293
  {
@@ -245,7 +295,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
245
295
  useExisting: forwardRef(function () { return TuiInputCountComponent_1; }),
246
296
  },
247
297
  ],
248
- styles: [":host{font:var(--tui-font-text-s);display:flex;border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01)}:host._disabled{pointer-events:none}:host[data-tui-host-size='l']{font:var(--tui-font-text-m);height:var(--tui-height-l)}.textfield{position:relative;border-radius:inherit;flex-grow:1;min-width:0}:host._has-buttons .textfield{border-top-right-radius:0;border-bottom-right-radius:0}.buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.buttons .button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.buttons .button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.buttons .button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-tui-host-size='l'] .buttons .button{width:calc(var(--tui-height-l) * .75)}"]
298
+ styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01)}:host._disabled{pointer-events:none}:host[data-tui-host-size='l']{font:var(--tui-font-text-m);height:var(--tui-height-l)}.textfield{position:relative;border-radius:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .textfield{border-top-right-radius:0;border-bottom-right-radius:0}.buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.buttons .button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.buttons .button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.buttons .button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-tui-host-size='l'] .buttons .button{width:calc(var(--tui-height-l) * .75)}"]
249
299
  }),
250
300
  __param(0, Optional()),
251
301
  __param(0, Self()),
@@ -254,7 +304,9 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
254
304
  __param(2, Inject(TUI_TEXTFIELD_APPEARANCE)),
255
305
  __param(3, Inject(TUI_TEXTFIELD_SIZE)),
256
306
  __param(4, Inject(TUI_PLUS_MINUS_TEXTS)),
257
- __param(5, Inject(TUI_IS_MOBILE))
307
+ __param(5, Inject(TUI_IS_MOBILE)),
308
+ __param(6, Inject(TUI_INPUT_COUNT_OPTIONS)),
309
+ __param(7, Inject(TUI_NUMBER_FORMAT))
258
310
  ], TuiInputCountComponent);
259
311
  return TuiInputCountComponent;
260
312
  }(AbstractTuiControl));
@@ -271,6 +323,7 @@ var TuiInputCountModule = /** @class */ (function () {
271
323
  TuiPrimitiveTextfieldModule,
272
324
  TuiTextfieldControllerModule,
273
325
  TuiValueAccessorModule,
326
+ PolymorpheusModule,
274
327
  ],
275
328
  declarations: [TuiInputCountComponent],
276
329
  exports: [TuiInputCountComponent],
@@ -283,5 +336,5 @@ var TuiInputCountModule = /** @class */ (function () {
283
336
  * Generated bundle index. Do not edit.
284
337
  */
285
338
 
286
- export { TuiInputCountComponent, TuiInputCountModule };
339
+ export { PASSWORD_ICON_DOWN, PASSWORD_ICON_UP, TUI_INPUT_COUNT_DEFAULT_OPTIONS, TUI_INPUT_COUNT_OPTIONS, TuiInputCountComponent, TuiInputCountModule };
287
340
  //# sourceMappingURL=taiga-ui-kit-components-input-count.js.map