@taiga-ui/kit 3.44.1 → 3.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  5. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-input-range.umd.js +18 -22
  7. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-input-slider.umd.js +29 -38
  9. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -4
  11. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-progress.umd.js +58 -30
  13. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  17. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-tabs.umd.js +14 -6
  19. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  23. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-tokens.umd.js +21 -63
  25. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  26. package/components/checkbox-block/checkbox-block.component.d.ts +2 -2
  27. package/components/filter/filter.component.d.ts +2 -2
  28. package/components/input-range/input-range.component.d.ts +6 -3
  29. package/components/input-slider/input-slider.component.d.ts +2 -2
  30. package/components/progress/progress-bar/progress-bar.component.d.ts +4 -1
  31. package/components/progress/progress-circle/progress-circle.component.d.ts +5 -3
  32. package/components/progress/progress-segmented/progress-segmented.component.d.ts +4 -1
  33. package/components/radio-block/radio-block.component.d.ts +2 -2
  34. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -2
  35. package/esm2015/components/checkbox-block/checkbox-block.component.js +2 -2
  36. package/esm2015/components/filter/filter.component.js +1 -1
  37. package/esm2015/components/input-files/input-files.component.js +1 -1
  38. package/esm2015/components/input-range/input-range.component.js +18 -23
  39. package/esm2015/components/input-slider/input-slider.component.js +15 -20
  40. package/esm2015/components/input-tag/input-tag.component.js +4 -5
  41. package/esm2015/components/progress/progress-bar/progress-bar.component.js +16 -6
  42. package/esm2015/components/progress/progress-circle/progress-circle.component.js +14 -4
  43. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +17 -7
  44. package/esm2015/components/radio-block/radio-block.component.js +2 -2
  45. package/esm2015/components/select-option/select-option.component.js +1 -1
  46. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -7
  47. package/esm2015/components/tag/tag.component.js +2 -2
  48. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  49. package/esm2015/tokens/i18n.js +23 -65
  50. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +1 -1
  51. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  52. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  54. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-input-range.js +17 -22
  56. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-slider.js +14 -19
  58. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -4
  60. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-components-progress.js +40 -15
  62. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  63. package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
  64. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  65. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  66. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  67. package/fesm2015/taiga-ui-kit-components-tabs.js +10 -6
  68. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  69. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  70. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  71. package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
  72. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  73. package/fesm2015/taiga-ui-kit-tokens.js +22 -64
  74. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  75. package/package.json +7 -7
  76. package/tokens/i18n.d.ts +21 -22
@@ -1,66 +1,24 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk';
2
2
  import { tuiExtractI18n } from '@taiga-ui/i18n';
3
- export const TUI_PROMPT_WORDS = new InjectionToken(`[TUI_PROMPT_WORDS]`, {
4
- factory: tuiExtractI18n(`prompt`),
5
- });
6
- export const TUI_CANCEL_WORD = new InjectionToken(`[TUI_CANCEL_WORD]`, {
7
- factory: tuiExtractI18n(`cancel`),
8
- });
9
- export const TUI_DONE_WORD = new InjectionToken(`[TUI_DONE_WORD]`, {
10
- factory: tuiExtractI18n(`done`),
11
- });
12
- export const TUI_MORE_WORD = new InjectionToken(`[TUI_MORE_WORD]`, {
13
- factory: tuiExtractI18n(`more`),
14
- });
15
- export const TUI_HIDE_TEXT = new InjectionToken(`[TUI_HIDE_TEXT]`, {
16
- factory: tuiExtractI18n(`hide`),
17
- });
18
- export const TUI_SHOW_ALL_TEXT = new InjectionToken(`[TUI_SHOW_ALL_TEXT]`, {
19
- factory: tuiExtractI18n(`showAll`),
20
- });
21
- export const TUI_OTHER_DATE_TEXT = new InjectionToken(`[TUI_OTHER_DATE_TEXT]`, {
22
- factory: tuiExtractI18n(`otherDate`),
23
- });
24
- export const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(`[TUI_CHOOSE_DAY_OR_RANGE_TEXTS]`, {
25
- factory: tuiExtractI18n(`mobileCalendarTexts`),
26
- });
27
- export const TUI_FROM_TO_TEXTS = new InjectionToken(`[TUI_FROM_TO_TEXTS]`, {
28
- factory: tuiExtractI18n(`range`),
29
- });
30
- export const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`[TUI_PLUS_MINUS_TEXTS]`, {
31
- factory: tuiExtractI18n(`countTexts`),
32
- });
33
- export const TUI_TIME_TEXTS = new InjectionToken(`[TUI_TIME_TEXTS]`, {
34
- factory: tuiExtractI18n(`time`),
35
- });
36
- export const TUI_DATE_TEXTS = new InjectionToken(`[TUI_DATE_TEXTS]`, {
37
- factory: tuiExtractI18n(`dateTexts`),
38
- });
39
- export const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(`[TUI_DIGITAL_INFORMATION_UNITS]`, {
40
- factory: tuiExtractI18n(`digitalInformationUnits`),
41
- });
42
- export const TUI_COPY_TEXTS = new InjectionToken(`[TUI_COPY_TEXTS]`, {
43
- factory: tuiExtractI18n(`copyTexts`),
44
- });
45
- export const TUI_PASSWORD_TEXTS = new InjectionToken(`[TUI_PASSWORD_TEXTS]`, {
46
- factory: tuiExtractI18n(`passwordTexts`),
47
- });
48
- export const TUI_CALENDAR_MONTHS = new InjectionToken(`[TUI_CALENDAR_MONTHS]`, {
49
- factory: tuiExtractI18n(`shortCalendarMonths`),
50
- });
51
- export const TUI_FILE_TEXTS = new InjectionToken(`[TUI_FILE_TEXTS]`, {
52
- factory: tuiExtractI18n(`fileTexts`),
53
- });
54
- export const TUI_PAGINATION_TEXTS = new InjectionToken(`[TUI_PAGINATION_TEXTS]`, {
55
- factory: tuiExtractI18n(`pagination`),
56
- });
57
- export const TUI_INPUT_FILE_TEXTS = new InjectionToken(`[TUI_INPUT_FILE_TEXTS]`, {
58
- factory: tuiExtractI18n(`inputFileTexts`),
59
- });
60
- export const TUI_MULTI_SELECT_TEXTS = new InjectionToken(`[TUI_MULTI_SELECT_TEXTS]`, {
61
- factory: tuiExtractI18n(`multiSelectTexts`),
62
- });
63
- export const TUI_COUNTRIES = new InjectionToken(`[TUI_COUNTRIES]`, {
64
- factory: tuiExtractI18n(`countries`),
65
- });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC90b2tlbnMvaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBb0IsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLEVBQUU7SUFDckUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxRQUFRLENBQUM7Q0FDcEMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFDLG1CQUFtQixFQUFFO0lBQ25FLE9BQU8sRUFBRSxjQUFjLENBQUMsUUFBUSxDQUFDO0NBQ3BDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRTtJQUMvRCxPQUFPLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLEVBQUU7SUFDL0QsT0FBTyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUM7Q0FDbEMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFDLGlCQUFpQixFQUFFO0lBQy9ELE9BQU8sRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDO0NBQ2xDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFFO0lBQ3ZFLE9BQU8sRUFBRSxjQUFjLENBQUMsU0FBUyxDQUFDO0NBQ3JDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFDLHVCQUF1QixFQUFFO0lBQzNFLE9BQU8sRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDO0NBQ3ZDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUMzRCxpQ0FBaUMsRUFDakM7SUFDSSxPQUFPLEVBQUUsY0FBYyxDQUFDLHFCQUFxQixDQUFDO0NBQ2pELENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFFO0lBQ3ZFLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDO0NBQ25DLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFDLHdCQUF3QixFQUFFO0lBQzdFLE9BQU8sRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDO0NBQ3hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRTtJQUNqRSxPQUFPLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQztDQUNsQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQzVDLGtCQUFrQixFQUNsQjtJQUNJLE9BQU8sRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDO0NBQ3ZDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUMzRCxpQ0FBaUMsRUFDakM7SUFDSSxPQUFPLEVBQUUsY0FBYyxDQUFDLHlCQUF5QixDQUFDO0NBQ3JELENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRTtJQUNqRSxPQUFPLEVBQUUsY0FBYyxDQUFDLFdBQVcsQ0FBQztDQUN2QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRTtJQUN6RSxPQUFPLEVBQUUsY0FBYyxDQUFDLGVBQWUsQ0FBQztDQUMzQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBQyx1QkFBdUIsRUFBRTtJQUMzRSxPQUFPLEVBQUUsY0FBYyxDQUFDLHFCQUFxQixDQUFDO0NBQ2pELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRTtJQUNqRSxPQUFPLEVBQUUsY0FBYyxDQUFDLFdBQVcsQ0FBQztDQUN2QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtJQUM3RSxPQUFPLEVBQUUsY0FBYyxDQUFDLFlBQVksQ0FBQztDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRTtJQUM3RSxPQUFPLEVBQUUsY0FBYyxDQUFDLGdCQUFnQixDQUFDO0NBQzVDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFDLDBCQUEwQixFQUFFO0lBQ2pGLE9BQU8sRUFBRSxjQUFjLENBQUMsa0JBQWtCLENBQUM7Q0FDOUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUU3QyxpQkFBaUIsRUFBRTtJQUNqQixPQUFPLEVBQUUsY0FBYyxDQUFDLFdBQVcsQ0FBQztDQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpRGF0ZU1vZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlDb3VudHJ5SXNvQ29kZSwgdHVpRXh0cmFjdEkxOG59IGZyb20gJ0B0YWlnYS11aS9pMThuJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfUFJPTVBUX1dPUkRTID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX1BST01QVF9XT1JEU11gLCB7XG4gICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYHByb21wdGApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfQ0FOQ0VMX1dPUkQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfQ0FOQ0VMX1dPUkRdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBjYW5jZWxgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0RPTkVfV09SRCA9IG5ldyBJbmplY3Rpb25Ub2tlbihgW1RVSV9ET05FX1dPUkRdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBkb25lYCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NT1JFX1dPUkQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfTU9SRV9XT1JEXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgbW9yZWApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfSElERV9URVhUID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX0hJREVfVEVYVF1gLCB7XG4gICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYGhpZGVgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX1NIT1dfQUxMX1RFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfU0hPV19BTExfVEVYVF1gLCB7XG4gICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYHNob3dBbGxgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX09USEVSX0RBVEVfVEVYVCA9IG5ldyBJbmplY3Rpb25Ub2tlbihgW1RVSV9PVEhFUl9EQVRFX1RFWFRdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBvdGhlckRhdGVgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgYFtUVUlfQ0hPT1NFX0RBWV9PUl9SQU5HRV9URVhUU11gLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYG1vYmlsZUNhbGVuZGFyVGV4dHNgKSxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9GUk9NX1RPX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX0ZST01fVE9fVEVYVFNdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGByYW5nZWApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfUExVU19NSU5VU19URVhUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihgW1RVSV9QTFVTX01JTlVTX1RFWFRTXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgY291bnRUZXh0c2ApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfVElNRV9URVhUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihgW1RVSV9USU1FX1RFWFRTXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgdGltZWApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfREFURV9URVhUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPFJlY29yZDxUdWlEYXRlTW9kZSwgc3RyaW5nPj4+KFxuICAgIGBbVFVJX0RBVEVfVEVYVFNdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBkYXRlVGV4dHNgKSxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIGBbVFVJX0RJR0lUQUxfSU5GT1JNQVRJT05fVU5JVFNdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBkaWdpdGFsSW5mb3JtYXRpb25Vbml0c2ApLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0NPUFlfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfQ09QWV9URVhUU11gLCB7XG4gICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYGNvcHlUZXh0c2ApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfUEFTU1dPUkRfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfUEFTU1dPUkRfVEVYVFNdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBwYXNzd29yZFRleHRzYCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9DQUxFTkRBUl9NT05USFMgPSBuZXcgSW5qZWN0aW9uVG9rZW4oYFtUVUlfQ0FMRU5EQVJfTU9OVEhTXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgc2hvcnRDYWxlbmRhck1vbnRoc2ApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfRklMRV9URVhUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihgW1RVSV9GSUxFX1RFWFRTXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgZmlsZVRleHRzYCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9QQUdJTkFUSU9OX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX1BBR0lOQVRJT05fVEVYVFNdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBwYWdpbmF0aW9uYCksXG59KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9GSUxFX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX0lOUFVUX0ZJTEVfVEVYVFNdYCwge1xuICAgIGZhY3Rvcnk6IHR1aUV4dHJhY3RJMThuKGBpbnB1dEZpbGVUZXh0c2ApLFxufSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfTVVMVElfU0VMRUNUX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKGBbVFVJX01VTFRJX1NFTEVDVF9URVhUU11gLCB7XG4gICAgZmFjdG9yeTogdHVpRXh0cmFjdEkxOG4oYG11bHRpU2VsZWN0VGV4dHNgKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0NPVU5UUklFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgICBPYnNlcnZhYmxlPFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPj5cbj4oYFtUVUlfQ09VTlRSSUVTXWAsIHtcbiAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bihgY291bnRyaWVzYCksXG59KTtcbiJdfQ==
3
+ export const TUI_PROMPT_WORDS = tuiCreateTokenFromFactory(tuiExtractI18n(`prompt`));
4
+ export const TUI_CANCEL_WORD = tuiCreateTokenFromFactory(tuiExtractI18n(`cancel`));
5
+ export const TUI_DONE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n(`done`));
6
+ export const TUI_MORE_WORD = tuiCreateTokenFromFactory(tuiExtractI18n(`more`));
7
+ export const TUI_HIDE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n(`hide`));
8
+ export const TUI_SHOW_ALL_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n(`showAll`));
9
+ export const TUI_OTHER_DATE_TEXT = tuiCreateTokenFromFactory(tuiExtractI18n(`otherDate`));
10
+ export const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`mobileCalendarTexts`));
11
+ export const TUI_FROM_TO_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`range`));
12
+ export const TUI_PLUS_MINUS_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`countTexts`));
13
+ export const TUI_TIME_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`time`));
14
+ export const TUI_DATE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`dateTexts`));
15
+ export const TUI_DIGITAL_INFORMATION_UNITS = tuiCreateTokenFromFactory(tuiExtractI18n(`digitalInformationUnits`));
16
+ export const TUI_COPY_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`copyTexts`));
17
+ export const TUI_PASSWORD_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`passwordTexts`));
18
+ export const TUI_CALENDAR_MONTHS = tuiCreateTokenFromFactory(tuiExtractI18n(`shortCalendarMonths`));
19
+ export const TUI_FILE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`fileTexts`));
20
+ export const TUI_PAGINATION_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`pagination`));
21
+ export const TUI_INPUT_FILE_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`inputFileTexts`));
22
+ export const TUI_MULTI_SELECT_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n(`multiSelectTexts`));
23
+ export const TUI_COUNTRIES = tuiCreateTokenFromFactory(tuiExtractI18n(`countries`));
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC90b2tlbnMvaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFvQixjQUFjLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVwRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFFbkYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFFdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcseUJBQXlCLENBQ2xFLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUN4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFFcEYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcseUJBQXlCLENBQ3pELGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FDL0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcseUJBQXlCLENBRXJELGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLHlCQUF5QixDQUNsRSxjQUFjLENBQUMseUJBQXlCLENBQUMsQ0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FDdkQsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcseUJBQXlCLENBQ3hELGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUN4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHlCQUF5QixDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBRXJGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUN6RCxjQUFjLENBQUMsWUFBWSxDQUFDLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyx5QkFBeUIsQ0FDekQsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQ25DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsQ0FDM0QsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBRXBELGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LCBUdWlEYXRlTW9kZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUNvdW50cnlJc29Db2RlLCB0dWlFeHRyYWN0STE4bn0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9QUk9NUFRfV09SRFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KHR1aUV4dHJhY3RJMThuKGBwcm9tcHRgKSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfQ0FOQ0VMX1dPUkQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KHR1aUV4dHJhY3RJMThuKGBjYW5jZWxgKSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfRE9ORV9XT1JEID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSh0dWlFeHRyYWN0STE4bihgZG9uZWApKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NT1JFX1dPUkQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KHR1aUV4dHJhY3RJMThuKGBtb3JlYCkpO1xuXG5leHBvcnQgY29uc3QgVFVJX0hJREVfVEVYVCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkodHVpRXh0cmFjdEkxOG4oYGhpZGVgKSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfU0hPV19BTExfVEVYVCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkodHVpRXh0cmFjdEkxOG4oYHNob3dBbGxgKSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfT1RIRVJfREFURV9URVhUID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSh0dWlFeHRyYWN0STE4bihgb3RoZXJEYXRlYCkpO1xuXG5leHBvcnQgY29uc3QgVFVJX0NIT09TRV9EQVlfT1JfUkFOR0VfVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgIHR1aUV4dHJhY3RJMThuKGBtb2JpbGVDYWxlbmRhclRleHRzYCksXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0ZST01fVE9fVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KHR1aUV4dHJhY3RJMThuKGByYW5nZWApKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9QTFVTX01JTlVTX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICB0dWlFeHRyYWN0STE4bihgY291bnRUZXh0c2ApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9USU1FX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSh0dWlFeHRyYWN0STE4bihgdGltZWApKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9EQVRFX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTxcbiAgICBPYnNlcnZhYmxlPFJlY29yZDxUdWlEYXRlTW9kZSwgc3RyaW5nPj5cbj4odHVpRXh0cmFjdEkxOG4oYGRhdGVUZXh0c2ApKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9ESUdJVEFMX0lORk9STUFUSU9OX1VOSVRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICB0dWlFeHRyYWN0STE4bihgZGlnaXRhbEluZm9ybWF0aW9uVW5pdHNgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfQ09QWV9URVhUUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkodHVpRXh0cmFjdEkxOG4oYGNvcHlUZXh0c2ApKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9QQVNTV09SRF9URVhUUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgdHVpRXh0cmFjdEkxOG4oYHBhc3N3b3JkVGV4dHNgKSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfQ0FMRU5EQVJfTU9OVEhTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICB0dWlFeHRyYWN0STE4bihgc2hvcnRDYWxlbmRhck1vbnRoc2ApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9GSUxFX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSh0dWlFeHRyYWN0STE4bihgZmlsZVRleHRzYCkpO1xuXG5leHBvcnQgY29uc3QgVFVJX1BBR0lOQVRJT05fVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgIHR1aUV4dHJhY3RJMThuKGBwYWdpbmF0aW9uYCksXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX0ZJTEVfVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgIHR1aUV4dHJhY3RJMThuKGBpbnB1dEZpbGVUZXh0c2ApLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9NVUxUSV9TRUxFQ1RfVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgIHR1aUV4dHJhY3RJMThuKGBtdWx0aVNlbGVjdFRleHRzYCksXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0NPVU5UUklFUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8XG4gICAgT2JzZXJ2YWJsZTxSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4+XG4+KHR1aUV4dHJhY3RJMThuKGBjb3VudHJpZXNgKSk7XG4iXX0=
@@ -54,7 +54,7 @@ TuiCheckboxBlockComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0"
54
54
  TuiCheckboxBlockComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCheckboxBlockComponent, selector: "tui-checkbox-block", inputs: { contentAlign: "contentAlign", hideCheckbox: "hideCheckbox", size: "size" }, host: { properties: { "attr.data-align": "this.contentAlign", "class._hidden_input": "this.hideCheckbox", "attr.data-size": "this.size", "class._active": "this.checked" } }, providers: [
55
55
  tuiAsFocusableItemAccessor(TuiCheckboxBlockComponent),
56
56
  tuiAsControl(TuiCheckboxBlockComponent),
57
- ], viewQueries: [{ propertyName: "checkbox", first: true, predicate: TuiCheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-checkbox\n class=\"t-view\"\n [disabled]=\"computedDisabled || readOnly\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-checkbox>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;align-items:flex-start;border-radius:var(--tui-radius-m)}:host[data-size=m],:host[data-size=l]{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.t-wrapper{position:relative;display:flex;align-items:inherit;box-sizing:border-box;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 1rem 0 0}:host[data-align=right] .t-wrapper{flex-direction:row-reverse;padding:0 0 0 1rem}:host[data-size=s]._hidden_input .t-wrapper{padding:0 1rem}:host[data-size=m]._hidden_input .t-wrapper{padding:0 1.5rem}:host[data-size=l]._hidden_input .t-wrapper{padding:0 2.25rem}:host[data-size=s] .t-view{margin:calc(var(--tui-height-s) / 2 - .5rem) .5rem}:host[data-size=m] .t-view{margin:calc(var(--tui-height-m) / 2 - .5rem) .75rem}:host[data-size=l] .t-view{margin:calc(var(--tui-height-l) / 2 - .75rem) 1rem}:host._hidden_input .t-view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.t-label{display:flex;flex-grow:1;align-self:flex-start;align-items:center;overflow:hidden}:host[data-size=s] .t-label{min-height:var(--tui-height-s)}:host[data-size=m] .t-label{min-height:var(--tui-height-m)}:host[data-size=l] .t-label{min-height:var(--tui-height-l)}:host._hidden_input .t-label{text-align:center;justify-content:center}.t-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1.TuiCheckboxComponent, selector: "tui-checkbox", inputs: ["size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ ], viewQueries: [{ propertyName: "checkbox", first: true, predicate: TuiCheckboxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-checkbox\n class=\"t-view\"\n [disabled]=\"computedDisabled || readOnly\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-checkbox>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;align-items:flex-start;border-radius:var(--tui-radius-m)}:host[data-size=xs]{font:var(--tui-font-text-xs)}:host[data-size=m],:host[data-size=l]{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.t-wrapper{position:relative;display:flex;align-items:inherit;box-sizing:border-box;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 1rem 0 0}:host[data-size=xs] .t-wrapper{padding-right:.5rem}:host[data-align=right] .t-wrapper{flex-direction:row-reverse;padding:0 0 0 1rem}:host[data-align=right][data-size=xs] .t-wrapper{padding-left:.5rem}:host[data-size=xs]._hidden_input .t-wrapper{padding:0 .5rem}:host[data-size=xs]._hidden_input .t-wrapper:not(._focused):after{border-width:1px}:host[data-size=s]._hidden_input .t-wrapper{padding:0 1rem}:host[data-size=m]._hidden_input .t-wrapper{padding:0 1.5rem}:host[data-size=l]._hidden_input .t-wrapper{padding:0 2.25rem}:host[data-size=xs] .t-view{margin:calc(var(--tui-height-xs) / 2 - .5rem) .25rem;transform:scale(.75)}:host[data-size=s] .t-view{margin:calc(var(--tui-height-s) / 2 - .5rem) .5rem}:host[data-size=m] .t-view{margin:calc(var(--tui-height-m) / 2 - .5rem) .75rem}:host[data-size=l] .t-view{margin:calc(var(--tui-height-l) / 2 - .75rem) 1rem}:host._hidden_input .t-view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.t-label{display:flex;flex-grow:1;align-self:flex-start;align-items:center;overflow:hidden}:host[data-size=xs] .t-label{min-height:var(--tui-height-xs)}:host[data-size=s] .t-label{min-height:var(--tui-height-s)}:host[data-size=m] .t-label{min-height:var(--tui-height-m)}:host[data-size=l] .t-label{min-height:var(--tui-height-l)}:host._hidden_input .t-label{text-align:center;justify-content:center}.t-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i1.TuiCheckboxComponent, selector: "tui-checkbox", inputs: ["size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCheckboxBlockComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox-block.js","sources":["../../../projects/kit/components/checkbox-block/checkbox-block.component.ts","../../../projects/kit/components/checkbox-block/checkbox-block.template.html","../../../projects/kit/components/checkbox-block/checkbox-block.module.ts","../../../projects/kit/components/checkbox-block/taiga-ui-kit-components-checkbox-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-block',\n templateUrl: './checkbox-block.template.html',\n styleUrls: ['./checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiCheckboxBlockComponent),\n tuiAsControl(TuiCheckboxBlockComponent),\n ],\n})\nexport class TuiCheckboxBlockComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideCheckbox = false;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeS = 'l';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return this.value !== false && this.hideCheckbox;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: boolean): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-checkbox\n class=\"t-view\"\n [disabled]=\"computedDisabled || readOnly\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-checkbox>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxBlockComponent} from './checkbox-block.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n TuiWrapperModule,\n ],\n declarations: [TuiCheckboxBlockComponent],\n exports: [TuiCheckboxBlockComponent],\n})\nexport class TuiCheckboxBlockModule {}\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-checkbox-block.js","sources":["../../../projects/kit/components/checkbox-block/checkbox-block.component.ts","../../../projects/kit/components/checkbox-block/checkbox-block.template.html","../../../projects/kit/components/checkbox-block/checkbox-block.module.ts","../../../projects/kit/components/checkbox-block/taiga-ui-kit-components-checkbox-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-block',\n templateUrl: './checkbox-block.template.html',\n styleUrls: ['./checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiCheckboxBlockComponent),\n tuiAsControl(TuiCheckboxBlockComponent),\n ],\n})\nexport class TuiCheckboxBlockComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-align')\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._hidden_input')\n hideCheckbox = false;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS = 'l';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return this.value !== false && this.hideCheckbox;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective?.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n\n /** @deprecated use 'value' setter */\n onModelChange(value: boolean): void {\n this.value = value;\n }\n}\n","<ng-container *ngIf=\"modeDirective && (modeDirective.change$ | async)\"></ng-container>\n<label\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [appearance]=\"appearance\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocusVisible\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n>\n <tui-checkbox\n class=\"t-view\"\n [disabled]=\"computedDisabled || readOnly\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"false\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"computedInvalid\"\n [size]=\"checkboxSize\"\n [(ngModel)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (focusVisibleChange)=\"onFocusVisible($event)\"\n ></tui-checkbox>\n <div class=\"t-label\">\n <div class=\"t-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</label>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxBlockComponent} from './checkbox-block.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n TuiWrapperModule,\n ],\n declarations: [TuiCheckboxBlockComponent],\n exports: [TuiCheckboxBlockComponent],\n})\nexport class TuiCheckboxBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-filter.js","sources":["../../../projects/kit/components/filter/filter.component.ts","../../../projects/kit/components/filter/filter.template.html","../../../projects/kit/components/filter/filter.module.ts","../../../projects/kit/components/filter/taiga-ui-kit-components-filter.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiHandler,\n TuiIdentityMatcher,\n tuiIsNativeFocusedIn,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @bad TODO: Add active zone to track focus\n@Component({\n selector: 'tui-filter',\n templateUrl: './filter.template.html',\n styleUrls: ['./filter.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFilterComponent<T> extends AbstractTuiMultipleControl<T> {\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n items: readonly T[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeS = 'm';\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly toggledItem = new EventEmitter<T>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(control, cdr);\n }\n\n @Input()\n content: PolymorpheusContent = ({$implicit}: TuiContextWithImplicit<unknown>) =>\n TUI_DEFAULT_STRINGIFY($implicit);\n\n @Input()\n badgeHandler: TuiHandler<T, number> = item => Number(item);\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n onCheckbox(value: boolean, item: T): void {\n this.toggledItem.emit(item);\n this.value = value\n ? [...this.value, item]\n : this.value.filter(arrItem => !this.identityMatcher(arrItem, item));\n }\n\n isCheckboxEnabled(item: T): boolean {\n return this.value.some(arrItem => this.identityMatcher(arrItem, item));\n }\n}\n","<tui-checkbox-block\n *ngFor=\"let item of items\"\n automation-id=\"tui-filter__checkbox\"\n class=\"t-item\"\n [disabled]=\"disabledItemHandler(item)\"\n [hideCheckbox]=\"true\"\n [ngModel]=\"isCheckboxEnabled(item)\"\n [size]=\"size\"\n (ngModelChange)=\"onCheckbox($event, item)\"\n>\n <div\n automation-id=\"tui-filter__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: item}\">\n {{ text }}\n </ng-container>\n <tui-badge\n *ngIf=\"badgeHandler(item) as badgeValue\"\n automation-id=\"tui-filter__badge\"\n tuiMode=\"onLight\"\n class=\"t-badge\"\n [class.t-badge_disabled]=\"disabledItemHandler(item)\"\n [size]=\"size\"\n [value]=\"badgeValue\"\n ></tui-badge>\n </div>\n</tui-checkbox-block>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiModeModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {TuiCheckboxBlockModule} from '@taiga-ui/kit/components/checkbox-block';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFilterComponent} from './filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiCheckboxBlockModule,\n TuiBadgeModule,\n TuiModeModule,\n ],\n declarations: [TuiFilterComponent],\n exports: [TuiFilterComponent],\n})\nexport class TuiFilterModule {}\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-filter.js","sources":["../../../projects/kit/components/filter/filter.component.ts","../../../projects/kit/components/filter/filter.template.html","../../../projects/kit/components/filter/filter.module.ts","../../../projects/kit/components/filter/taiga-ui-kit-components-filter.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n TuiHandler,\n TuiIdentityMatcher,\n tuiIsNativeFocusedIn,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeXS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @bad TODO: Add active zone to track focus\n@Component({\n selector: 'tui-filter',\n templateUrl: './filter.template.html',\n styleUrls: ['./filter.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFilterComponent<T> extends AbstractTuiMultipleControl<T> {\n @Input()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n items: readonly T[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS = 'm';\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly toggledItem = new EventEmitter<T>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {\n super(control, cdr);\n }\n\n @Input()\n content: PolymorpheusContent = ({$implicit}: TuiContextWithImplicit<unknown>) =>\n TUI_DEFAULT_STRINGIFY($implicit);\n\n @Input()\n badgeHandler: TuiHandler<T, number> = item => Number(item);\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n onCheckbox(value: boolean, item: T): void {\n this.toggledItem.emit(item);\n this.value = value\n ? [...this.value, item]\n : this.value.filter(arrItem => !this.identityMatcher(arrItem, item));\n }\n\n isCheckboxEnabled(item: T): boolean {\n return this.value.some(arrItem => this.identityMatcher(arrItem, item));\n }\n}\n","<tui-checkbox-block\n *ngFor=\"let item of items\"\n automation-id=\"tui-filter__checkbox\"\n class=\"t-item\"\n [disabled]=\"disabledItemHandler(item)\"\n [hideCheckbox]=\"true\"\n [ngModel]=\"isCheckboxEnabled(item)\"\n [size]=\"size\"\n (ngModelChange)=\"onCheckbox($event, item)\"\n>\n <div\n automation-id=\"tui-filter__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: item}\">\n {{ text }}\n </ng-container>\n <tui-badge\n *ngIf=\"badgeHandler(item) as badgeValue\"\n automation-id=\"tui-filter__badge\"\n tuiMode=\"onLight\"\n class=\"t-badge\"\n [class.t-badge_disabled]=\"disabledItemHandler(item)\"\n [size]=\"size\"\n [value]=\"badgeValue\"\n ></tui-badge>\n </div>\n</tui-checkbox-block>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiModeModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {TuiCheckboxBlockModule} from '@taiga-ui/kit/components/checkbox-block';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFilterComponent} from './filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiCheckboxBlockModule,\n TuiBadgeModule,\n TuiModeModule,\n ],\n declarations: [TuiFilterComponent],\n exports: [TuiFilterComponent],\n})\nexport class TuiFilterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -271,7 +271,7 @@ class TuiInputFilesComponent extends AbstractTuiNullableControl {
271
271
  }
272
272
  }
273
273
  TuiInputFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputFilesComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: TUI_INPUT_FILE_TEXTS }, { token: TUI_INPUT_FILES_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
274
- TuiInputFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputFilesComponent, selector: "tui-input-files", inputs: { link: "link", label: "label", accept: "accept", multiple: "multiple", size: "size", maxFileSize: "maxFileSize" }, outputs: { reject: "reject" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)", "change": "onFilesSelected()" } }, providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)], queries: [{ propertyName: "nativeInput", first: true, predicate: i0.forwardRef(function () { return TuiInputFilesDirective; }), descendants: true }, { propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "formatRejection", first: true, predicate: ["formatRejection"], descendants: true }, { propertyName: "maxSizeRejection", first: true, predicate: ["maxSizeRejection"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n appearance=\"input-file\"\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [class._mobile]=\"isMobile\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n>\n <label\n automation-id=\"tui-input-file__label\"\n class=\"t-label\"\n (mousedown.prevent.silent)=\"(0)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (tuiDroppableDropped)=\"onDropped($event)\"\n >\n <div class=\"t-description\">\n <ng-container *ngTemplateOutlet=\"template || null; context: {$implicit: fileDragged}\"></ng-container>\n <div *ngIf=\"!template\">\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <span\n *polymorpheusOutlet=\"computedLabel$ | async as text\"\n [textContent]=\"text\"\n ></span>\n </div>\n </div>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <ng-content select=\"input\"></ng-content>\n <input\n #input\n title=\"\"\n type=\"file\"\n class=\"t-native\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n", styles: ["tui-input-files{display:block;min-height:var(--tui-height-l);border-radius:var(--tui-radius-m);font:var(--tui-font-text-m)}tui-input-files .t-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}tui-input-files .t-native::-webkit-file-upload-button{display:none}tui-input-files .t-native+.t-native{display:none}tui-input-files .t-label{width:100%;text-align:center}tui-input-files .t-description{display:flex;justify-content:center;align-items:center;height:100%;padding:1rem 0;box-sizing:border-box}[tuiWrapper][data-appearance=input-file]{background:transparent;word-wrap:break-word;color:var(--tui-text-02);min-height:inherit;border-radius:inherit;padding:0 .5rem;box-sizing:border-box}[tuiWrapper][data-appearance=input-file]:after{border:1px dashed;color:var(--tui-link)}[tuiWrapper][data-appearance=input-file]._mobile:after{border:1px solid}[tuiWrapper][data-appearance=input-file]:disabled:disabled:after,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]:after{color:var(--tui-text-03)}[tuiWrapper][data-appearance=input-file]:focus-visible:focus-visible:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file]._focused._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:focus-visible:focus-visible:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]._focused._focused:after{color:var(--tui-text-01-night)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]{background:var(--tui-clear-inverse-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]:after{color:var(--tui-text-03-night)}}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover{background:var(--tui-clear-inverse-active)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover:after{color:var(--tui-text-03-night)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]{color:var(--tui-text-01)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:after{color:var(--tui-text-01)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]{background:var(--tui-clear-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]:after{color:var(--tui-text-03)}}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover{background:var(--tui-clear-active)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover:after{color:var(--tui-text-03)}@media (hover: hover){[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-state=hover]{background:var(--tui-secondary)}[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-state=hover]:after{color:var(--tui-link-hover)}}[tuiWrapper][data-appearance=input-file]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-state=active],[tuiWrapper][data-appearance=input-file][data-state=active]:hover{background:var(--tui-secondary-hover)}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i2.TuiDroppableDirective, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: ["tuiDroppableDropped", "tuiDroppableDragOverChange"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i3.AsyncPipe, "tuiMaxSizeRejectionError": TuiMaxSizeRejectionErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
274
+ TuiInputFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputFilesComponent, selector: "tui-input-files", inputs: { link: "link", label: "label", accept: "accept", multiple: "multiple", size: "size", maxFileSize: "maxFileSize" }, outputs: { reject: "reject" }, host: { listeners: { "focusin": "onFocused(true)", "focusout": "onFocused(false)", "change": "onFilesSelected()" } }, providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)], queries: [{ propertyName: "nativeInput", first: true, predicate: i0.forwardRef(function () { return TuiInputFilesDirective; }), descendants: true }, { propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "formatRejection", first: true, predicate: ["formatRejection"], descendants: true }, { propertyName: "maxSizeRejection", first: true, predicate: ["maxSizeRejection"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n appearance=\"input-file\"\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [class._mobile]=\"isMobile\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n>\n <label\n automation-id=\"tui-input-file__label\"\n class=\"t-label\"\n (mousedown.prevent.silent)=\"(0)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (tuiDroppableDropped)=\"onDropped($event)\"\n >\n <div class=\"t-description\">\n <ng-container *ngTemplateOutlet=\"template || null; context: {$implicit: fileDragged}\"></ng-container>\n <div *ngIf=\"!template\">\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <span\n *polymorpheusOutlet=\"computedLabel$ | async as text\"\n [textContent]=\"text\"\n ></span>\n </div>\n </div>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <ng-content select=\"input\"></ng-content>\n <input\n #input\n title=\"\"\n type=\"file\"\n class=\"t-native\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n", styles: ["tui-input-files{display:block;min-height:var(--tui-height-l);border-radius:var(--tui-radius-m);font:var(--tui-font-text-m)}tui-input-files .t-native{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}tui-input-files .t-native::-webkit-file-upload-button{display:none}tui-input-files .t-native+.t-native{display:none}tui-input-files .t-label{width:100%;text-align:center}tui-input-files .t-description{display:flex;justify-content:center;align-items:center;height:100%;padding:1rem 0;box-sizing:border-box}[tuiWrapper][data-appearance=input-file]{background:transparent;word-wrap:break-word;color:var(--tui-text-02);min-height:inherit;border-radius:inherit;padding:0 .5rem;box-sizing:border-box}[tuiWrapper][data-appearance=input-file]:after{border:1px dashed;color:var(--tui-link)}[tuiWrapper][data-appearance=input-file]._mobile:after{border:1px solid}[tuiWrapper][data-appearance=input-file]:disabled:disabled:after,[tuiWrapper][data-appearance=input-file][data-state=disabled][data-state=disabled]:after{color:var(--tui-text-03)}:focus-visible:not([data-focused=\"false\"])>[tuiWrapper][data-appearance=input-file]:after,[data-focused=true]>[tuiWrapper][data-appearance=input-file]:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file]:focus-visible:focus-visible:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file]._focused._focused:after{border-style:solid;border-width:2px;color:var(--tui-focus)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after{color:var(--tui-text-01-night)}:focus-visible:not([data-focused=\"false\"])>[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after,[data-focused=true]>[tuiWrapper][data-appearance=input-file][data-mode=onDark]:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:focus-visible:focus-visible:after{color:var(--tui-text-01-night)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]._focused._focused:after{color:var(--tui-text-01-night)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]{background:var(--tui-clear-inverse-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=hover]:after{color:var(--tui-text-03-night)}}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover{background:var(--tui-clear-inverse-active)}[tuiWrapper][data-appearance=input-file][data-mode=onDark]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onDark][data-state=active]:hover:after{color:var(--tui-text-03-night)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]{color:var(--tui-text-01)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:after{color:var(--tui-text-01)}@media (hover: hover){[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]{background:var(--tui-clear-hover)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=hover]:after{color:var(--tui-text-03)}}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active],[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover{background:var(--tui-clear-active)}[tuiWrapper][data-appearance=input-file][data-mode=onLight]:active:not(._no-active):after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:after,[tuiWrapper][data-appearance=input-file][data-mode=onLight][data-state=active]:hover:after{color:var(--tui-text-03)}@media (hover: hover){[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover),[tuiWrapper][data-appearance=input-file][data-state=hover]{background:var(--tui-secondary)}[tuiWrapper][data-appearance=input-file]:hover:not(._no-hover):after,[tuiWrapper][data-appearance=input-file][data-state=hover]:after{color:var(--tui-link-hover)}}[tuiWrapper][data-appearance=input-file]:active:not(._no-active),[tuiWrapper][data-appearance=input-file][data-state=active],[tuiWrapper][data-appearance=input-file][data-state=active]:hover{background:var(--tui-secondary-hover)}\n"], components: [{ type: i1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i2.TuiDroppableDirective, selector: "[tuiDroppableDropped], [tuiDroppableDragOverChange]", outputs: ["tuiDroppableDropped", "tuiDroppableDragOverChange"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i3.AsyncPipe, "tuiMaxSizeRejectionError": TuiMaxSizeRejectionErrorPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
275
275
  __decorate([
276
276
  tuiPure
277
277
  ], TuiInputFilesComponent.prototype, "computeLink$", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-files.js","sources":["../../../projects/kit/components/input-files/input-files.options.ts","../../../projects/kit/components/input-files/input-files.directive.ts","../../../projects/kit/components/input-files/max-size-rejection-error.pipe.ts","../../../projects/kit/components/input-files/input-files.component.ts","../../../projects/kit/components/input-files/input-files.template.html","../../../projects/kit/components/input-files/input-files.module.ts","../../../projects/kit/components/input-files/taiga-ui-kit-components-input-files.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\n\nexport interface TuiInputFilesOptions {\n accepts: string;\n /**\n * @description:\n * user - The user-facing camera and/or microphone should be used.\n * environment - The outward-facing camera and/or microphone should be used\n */\n capture: 'environment' | 'user' | null;\n maxFileSize: number;\n multiple: boolean;\n size: TuiSizeL;\n}\n\nexport const TUI_INPUT_FILES_DEFAULT_OPTIONS: TuiInputFilesOptions = {\n capture: null,\n accepts: ``,\n multiple: false,\n size: `m`,\n maxFileSize: 30 * 1024 * 1024, // 30 MiB\n};\n\n/**\n * Default parameters for input files component\n */\nexport const TUI_INPUT_FILES_OPTIONS = tuiCreateToken(TUI_INPUT_FILES_DEFAULT_OPTIONS);\n\nexport function tuiInputFilesOptionsProvider(\n options: Partial<TuiInputFilesOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_FILES_OPTIONS,\n options,\n TUI_INPUT_FILES_DEFAULT_OPTIONS,\n );\n}\n","import {Directive, ElementRef, forwardRef, HostBinding, Inject} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiInputFilesComponent} from './input-files.component';\nimport {TUI_INPUT_FILES_OPTIONS, TuiInputFilesOptions} from './input-files.options';\n\n@Directive({\n selector: 'input[tuiInputFiles]',\n host: {\n type: 'file',\n class: 't-native',\n },\n})\nexport class TuiInputFilesDirective {\n constructor(\n @Inject(forwardRef(() => TuiInputFilesComponent))\n readonly host: TuiInputFilesComponent,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(TUI_INPUT_FILES_OPTIONS) private readonly options: TuiInputFilesOptions,\n ) {}\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.host.focusable ? 0 : -1;\n }\n\n @HostBinding('id')\n get id(): string {\n return this.el.nativeElement.id || this.idService.generate();\n }\n\n @HostBinding('accept')\n get accept(): string {\n return this.el.nativeElement.accept ?? this.options.accepts;\n }\n\n @HostBinding('multiple')\n get multiple(): boolean {\n return this.el.nativeElement.multiple ?? this.options.multiple;\n }\n\n @HostBinding('attr.capture')\n get capture(): string | null {\n return this.el.nativeElement.getAttribute('capture') ?? this.options.capture;\n }\n\n get input(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiInjectionTokenType} from '@taiga-ui/cdk';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Pipe({name: `tuiMaxSizeRejectionError`})\nexport class TuiMaxSizeRejectionErrorPipe implements PipeTransform {\n constructor(\n @Inject(TUI_INPUT_FILE_TEXTS)\n private readonly inputFileTexts$: TuiInjectionTokenType<\n typeof TUI_INPUT_FILE_TEXTS\n >,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: TuiInjectionTokenType<\n typeof TUI_DIGITAL_INFORMATION_UNITS\n >,\n ) {}\n\n transform(maxFileSize: number): Observable<string> {\n return combineLatest([this.inputFileTexts$, this.units$]).pipe(\n map(\n ([{maxSizeRejectionReason}, units]) =>\n `${maxSizeRejectionReason}${tuiFormatSize(units, maxFileSize)}`,\n ),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n EMPTY_ARRAY,\n TUI_IS_MOBILE,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiGetAcceptArray} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiInputFilesDirective} from './input-files.directive';\nimport {TUI_INPUT_FILES_OPTIONS, TuiInputFilesOptions} from './input-files.options';\n\n@Component({\n selector: 'tui-input-files',\n templateUrl: './input-files.template.html',\n styleUrls: ['./input-files.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)],\n})\nexport class TuiInputFilesComponent\n extends AbstractTuiNullableControl<TuiFileLike | readonly TuiFileLike[]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('input')\n private readonly input?: ElementRef<HTMLInputElement>;\n\n private dataTransfer: DataTransfer | null = null;\n\n @ContentChild(forwardRef(() => TuiInputFilesDirective))\n readonly nativeInput?: TuiInputFilesDirective;\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<TuiContextWithImplicit<boolean>>;\n\n @ViewChild('formatRejection')\n readonly formatRejection!: PolymorpheusContent;\n\n @ViewChild('maxSizeRejection')\n readonly maxSizeRejection!: PolymorpheusContent;\n\n @Input()\n link: PolymorpheusContent;\n\n @Input()\n label: PolymorpheusContent;\n\n /**\n * @deprecated: use `<input tuiInputFiles accept=\"image/*\" />`\n */\n @Input()\n accept = this.options.accepts;\n\n /**\n * @deprecated: use `<input tuiInputFiles multiple />`\n */\n @Input()\n multiple = this.options.multiple;\n\n @Input()\n size: TuiSizeL = this.options.size;\n\n @Input()\n maxFileSize = this.options.maxFileSize;\n\n @Output()\n readonly reject = new EventEmitter<TuiFileLike | readonly TuiFileLike[]>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n @Inject(TUI_INPUT_FILE_TEXTS)\n readonly inputFileTexts$: Observable<\n Record<\n | 'defaultLabelMultiple'\n | 'defaultLabelSingle'\n | 'defaultLinkMultiple'\n | 'defaultLinkSingle'\n | 'drop'\n | 'dropMultiple'\n | 'formatRejectionReason'\n | 'maxSizeRejectionReason',\n string\n >\n >,\n @Inject(TUI_INPUT_FILES_OPTIONS)\n readonly options: TuiInputFilesOptions,\n ) {\n super(control, cdr);\n }\n\n get computedMultiple(): boolean {\n return this.nativeInput?.multiple ?? this.multiple;\n }\n\n get computedAccept(): string {\n return this.nativeInput?.accept ?? this.accept;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.input?.nativeElement || null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get computedPseudoHovered(): boolean | null {\n return this.pseudoHover ?? (this.fileDragged || null);\n }\n\n get computedLink$(): Observable<PolymorpheusContent> {\n return this.computeLink$(this.fileDragged, this.computedMultiple, this.link);\n }\n\n get computedLabel$(): Observable<PolymorpheusContent> {\n return this.computeLabel$(\n this.isMobile,\n this.fileDragged,\n this.computedMultiple,\n this.label,\n );\n }\n\n get fileDragged(): boolean {\n return !!this.dataTransfer?.types.includes('Files');\n }\n\n get arrayValue(): readonly TuiFileLike[] {\n return this.getValueArray(this.value);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('change')\n onFilesSelected(): void {\n const input = this.nativeInput?.input ?? this.input?.nativeElement;\n\n if (!input) {\n return;\n }\n\n this.processSelectedFiles(input.files);\n\n input.value = '';\n }\n\n onDropped(event: DataTransfer): void {\n this.processSelectedFiles(event.files);\n }\n\n onDragOver(dataTransfer: DataTransfer | null): void {\n this.dataTransfer = dataTransfer;\n }\n\n removeFile(removedFile: TuiFileLike): void {\n this.value = this.computedMultiple\n ? this.arrayValue.filter(file => file !== removedFile)\n : null;\n }\n\n @tuiPure\n private computeLink$(\n fileDragged: boolean,\n multiple: boolean,\n link: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n return fileDragged\n ? of('')\n : this.inputFileTexts$.pipe(\n map(texts =>\n multiple && !link\n ? texts.defaultLinkMultiple\n : link || texts.defaultLinkSingle,\n ),\n );\n }\n\n @tuiPure\n private computeLabel$(\n isMobile: boolean,\n fileDragged: boolean,\n multiple: boolean,\n label: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (isMobile) {\n return of('');\n }\n\n if (fileDragged) {\n return this.inputFileTexts$.pipe(\n map(texts => (multiple ? texts.dropMultiple : texts.drop)),\n );\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && !label\n ? texts.defaultLabelMultiple\n : label || texts.defaultLabelSingle,\n ),\n );\n }\n\n @tuiPure\n private getValueArray(\n value: TuiFileLike | readonly TuiFileLike[] | null,\n ): readonly TuiFileLike[] {\n if (!value) {\n return EMPTY_ARRAY;\n }\n\n return Array.isArray(value) ? value : [value];\n }\n\n private processSelectedFiles(files: FileList | null): void {\n // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList.\n if (!files?.length) {\n return;\n }\n\n const errors: Record<\n 'formatRejection' | 'maxSizeRejection',\n PolymorpheusContent\n > = {\n formatRejection: this.formatRejection,\n maxSizeRejection: this.maxSizeRejection,\n };\n\n const newFiles = this.computedMultiple ? Array.from(files) : [files[0]];\n const tooBigFiles = newFiles.filter(file => file.size > this.maxFileSize);\n const wrongFormatFiles = newFiles.filter(\n file => !this.isFormatAcceptable(file) && !tooBigFiles.includes(file),\n );\n const acceptedFiles = newFiles.filter(\n file => !tooBigFiles.includes(file) && !wrongFormatFiles.includes(file),\n );\n\n if (tooBigFiles.length || wrongFormatFiles.length) {\n this.rejectFiles([\n ...tooBigFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: errors.maxSizeRejection,\n })),\n ...wrongFormatFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: errors.formatRejection,\n })),\n ]);\n }\n\n this.value = this.computedMultiple\n ? [...this.arrayValue, ...acceptedFiles]\n : acceptedFiles[0] || null;\n }\n\n private isFormatAcceptable(file: File): boolean {\n if (!this.computedAccept) {\n return true;\n }\n\n const extension = `.${(file.name.split('.').pop() || '').toLowerCase()}`;\n\n return tuiGetAcceptArray(this.computedAccept).some(\n format =>\n format === extension ||\n format === file.type ||\n (format.split('/')[1] === '*' &&\n file.type.split('/')[0] === format.split('/')[0]),\n );\n }\n\n private rejectFiles(rejectedFiles: readonly TuiFileLike[]): void {\n this.reject.emit(this.computedMultiple ? rejectedFiles : rejectedFiles[0]);\n }\n}\n","<div\n appearance=\"input-file\"\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [class._mobile]=\"isMobile\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n>\n <label\n automation-id=\"tui-input-file__label\"\n class=\"t-label\"\n (mousedown.prevent.silent)=\"(0)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (tuiDroppableDropped)=\"onDropped($event)\"\n >\n <div class=\"t-description\">\n <ng-container *ngTemplateOutlet=\"template || null; context: {$implicit: fileDragged}\"></ng-container>\n <div *ngIf=\"!template\">\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <span\n *polymorpheusOutlet=\"computedLabel$ | async as text\"\n [textContent]=\"text\"\n ></span>\n </div>\n </div>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <ng-content select=\"input\"></ng-content>\n <input\n #input\n title=\"\"\n type=\"file\"\n class=\"t-native\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiDroppableModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiItemDirective,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiSvgModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {\n TuiFileComponent,\n TuiFilesComponent,\n TuiFilesModule,\n} from '@taiga-ui/kit/components/files';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputFilesComponent} from './input-files.component';\nimport {TuiInputFilesDirective} from './input-files.directive';\nimport {TuiMaxSizeRejectionErrorPipe} from './max-size-rejection-error.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n TuiHoveredModule,\n TuiFocusableModule,\n TuiDroppableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiButtonModule,\n TuiGroupModule,\n TuiFilesModule,\n ],\n declarations: [\n TuiInputFilesComponent,\n TuiInputFilesDirective,\n TuiMaxSizeRejectionErrorPipe,\n ],\n exports: [\n TuiInputFilesComponent,\n TuiInputFilesDirective,\n TuiFilesComponent,\n TuiFileComponent,\n TuiItemDirective,\n ],\n})\nexport class TuiInputFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.TuiMaxSizeRejectionErrorPipe"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-files.js","sources":["../../../projects/kit/components/input-files/input-files.options.ts","../../../projects/kit/components/input-files/input-files.directive.ts","../../../projects/kit/components/input-files/max-size-rejection-error.pipe.ts","../../../projects/kit/components/input-files/input-files.component.ts","../../../projects/kit/components/input-files/input-files.template.html","../../../projects/kit/components/input-files/input-files.module.ts","../../../projects/kit/components/input-files/taiga-ui-kit-components-input-files.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\n\nexport interface TuiInputFilesOptions {\n accepts: string;\n /**\n * @description:\n * user - The user-facing camera and/or microphone should be used.\n * environment - The outward-facing camera and/or microphone should be used\n */\n capture: 'environment' | 'user' | null;\n maxFileSize: number;\n multiple: boolean;\n size: TuiSizeL;\n}\n\nexport const TUI_INPUT_FILES_DEFAULT_OPTIONS: TuiInputFilesOptions = {\n capture: null,\n accepts: ``,\n multiple: false,\n size: `m`,\n maxFileSize: 30 * 1024 * 1024, // 30 MiB\n};\n\n/**\n * Default parameters for input files component\n */\nexport const TUI_INPUT_FILES_OPTIONS = tuiCreateToken(TUI_INPUT_FILES_DEFAULT_OPTIONS);\n\nexport function tuiInputFilesOptionsProvider(\n options: Partial<TuiInputFilesOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_FILES_OPTIONS,\n options,\n TUI_INPUT_FILES_DEFAULT_OPTIONS,\n );\n}\n","import {Directive, ElementRef, forwardRef, HostBinding, Inject} from '@angular/core';\nimport {TuiIdService} from '@taiga-ui/cdk';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiInputFilesComponent} from './input-files.component';\nimport {TUI_INPUT_FILES_OPTIONS, TuiInputFilesOptions} from './input-files.options';\n\n@Directive({\n selector: 'input[tuiInputFiles]',\n host: {\n type: 'file',\n class: 't-native',\n },\n})\nexport class TuiInputFilesDirective {\n constructor(\n @Inject(forwardRef(() => TuiInputFilesComponent))\n readonly host: TuiInputFilesComponent,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n @Inject(TUI_INPUT_FILES_OPTIONS) private readonly options: TuiInputFilesOptions,\n ) {}\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.host.focusable ? 0 : -1;\n }\n\n @HostBinding('id')\n get id(): string {\n return this.el.nativeElement.id || this.idService.generate();\n }\n\n @HostBinding('accept')\n get accept(): string {\n return this.el.nativeElement.accept ?? this.options.accepts;\n }\n\n @HostBinding('multiple')\n get multiple(): boolean {\n return this.el.nativeElement.multiple ?? this.options.multiple;\n }\n\n @HostBinding('attr.capture')\n get capture(): string | null {\n return this.el.nativeElement.getAttribute('capture') ?? this.options.capture;\n }\n\n get input(): HTMLInputElement {\n return this.el.nativeElement;\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiInjectionTokenType} from '@taiga-ui/cdk';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Pipe({name: `tuiMaxSizeRejectionError`})\nexport class TuiMaxSizeRejectionErrorPipe implements PipeTransform {\n constructor(\n @Inject(TUI_INPUT_FILE_TEXTS)\n private readonly inputFileTexts$: TuiInjectionTokenType<\n typeof TUI_INPUT_FILE_TEXTS\n >,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: TuiInjectionTokenType<\n typeof TUI_DIGITAL_INFORMATION_UNITS\n >,\n ) {}\n\n transform(maxFileSize: number): Observable<string> {\n return combineLatest([this.inputFileTexts$, this.units$]).pipe(\n map(\n ([{maxSizeRejectionReason}, units]) =>\n `${maxSizeRejectionReason}${tuiFormatSize(units, maxFileSize)}`,\n ),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n EMPTY_ARRAY,\n TUI_IS_MOBILE,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_INPUT_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiGetAcceptArray} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n// eslint-disable-next-line import/no-cycle\nimport {TuiInputFilesDirective} from './input-files.directive';\nimport {TUI_INPUT_FILES_OPTIONS, TuiInputFilesOptions} from './input-files.options';\n\n@Component({\n selector: 'tui-input-files',\n templateUrl: './input-files.template.html',\n styleUrls: ['./input-files.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [MODE_PROVIDER, tuiAsFocusableItemAccessor(TuiInputFilesComponent)],\n})\nexport class TuiInputFilesComponent\n extends AbstractTuiNullableControl<TuiFileLike | readonly TuiFileLike[]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('input')\n private readonly input?: ElementRef<HTMLInputElement>;\n\n private dataTransfer: DataTransfer | null = null;\n\n @ContentChild(forwardRef(() => TuiInputFilesDirective))\n readonly nativeInput?: TuiInputFilesDirective;\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<TuiContextWithImplicit<boolean>>;\n\n @ViewChild('formatRejection')\n readonly formatRejection!: PolymorpheusContent;\n\n @ViewChild('maxSizeRejection')\n readonly maxSizeRejection!: PolymorpheusContent;\n\n @Input()\n link: PolymorpheusContent;\n\n @Input()\n label: PolymorpheusContent;\n\n /**\n * @deprecated: use `<input tuiInputFiles accept=\"image/*\" />`\n */\n @Input()\n accept = this.options.accepts;\n\n /**\n * @deprecated: use `<input tuiInputFiles multiple />`\n */\n @Input()\n multiple = this.options.multiple;\n\n @Input()\n size: TuiSizeL = this.options.size;\n\n @Input()\n maxFileSize = this.options.maxFileSize;\n\n @Output()\n readonly reject = new EventEmitter<TuiFileLike | readonly TuiFileLike[]>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef)\n cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n readonly isMobile: boolean,\n @Inject(TUI_INPUT_FILE_TEXTS)\n readonly inputFileTexts$: Observable<\n Record<\n | 'defaultLabelMultiple'\n | 'defaultLabelSingle'\n | 'defaultLinkMultiple'\n | 'defaultLinkSingle'\n | 'drop'\n | 'dropMultiple'\n | 'formatRejectionReason'\n | 'maxSizeRejectionReason',\n string\n >\n >,\n @Inject(TUI_INPUT_FILES_OPTIONS)\n readonly options: TuiInputFilesOptions,\n ) {\n super(control, cdr);\n }\n\n get computedMultiple(): boolean {\n return this.nativeInput?.multiple ?? this.multiple;\n }\n\n get computedAccept(): string {\n return this.nativeInput?.accept ?? this.accept;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.input?.nativeElement || null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get computedPseudoHovered(): boolean | null {\n return this.pseudoHover ?? (this.fileDragged || null);\n }\n\n get computedLink$(): Observable<PolymorpheusContent> {\n return this.computeLink$(this.fileDragged, this.computedMultiple, this.link);\n }\n\n get computedLabel$(): Observable<PolymorpheusContent> {\n return this.computeLabel$(\n this.isMobile,\n this.fileDragged,\n this.computedMultiple,\n this.label,\n );\n }\n\n get fileDragged(): boolean {\n return !!this.dataTransfer?.types.includes('Files');\n }\n\n get arrayValue(): readonly TuiFileLike[] {\n return this.getValueArray(this.value);\n }\n\n @HostListener('focusin', ['true'])\n @HostListener('focusout', ['false'])\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n @HostListener('change')\n onFilesSelected(): void {\n const input = this.nativeInput?.input ?? this.input?.nativeElement;\n\n if (!input) {\n return;\n }\n\n this.processSelectedFiles(input.files);\n\n input.value = '';\n }\n\n onDropped(event: DataTransfer): void {\n this.processSelectedFiles(event.files);\n }\n\n onDragOver(dataTransfer: DataTransfer | null): void {\n this.dataTransfer = dataTransfer;\n }\n\n removeFile(removedFile: TuiFileLike): void {\n this.value = this.computedMultiple\n ? this.arrayValue.filter(file => file !== removedFile)\n : null;\n }\n\n @tuiPure\n private computeLink$(\n fileDragged: boolean,\n multiple: boolean,\n link: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n return fileDragged\n ? of('')\n : this.inputFileTexts$.pipe(\n map(texts =>\n multiple && !link\n ? texts.defaultLinkMultiple\n : link || texts.defaultLinkSingle,\n ),\n );\n }\n\n @tuiPure\n private computeLabel$(\n isMobile: boolean,\n fileDragged: boolean,\n multiple: boolean,\n label: PolymorpheusContent,\n ): Observable<PolymorpheusContent> {\n if (isMobile) {\n return of('');\n }\n\n if (fileDragged) {\n return this.inputFileTexts$.pipe(\n map(texts => (multiple ? texts.dropMultiple : texts.drop)),\n );\n }\n\n return this.inputFileTexts$.pipe(\n map(texts =>\n multiple && !label\n ? texts.defaultLabelMultiple\n : label || texts.defaultLabelSingle,\n ),\n );\n }\n\n @tuiPure\n private getValueArray(\n value: TuiFileLike | readonly TuiFileLike[] | null,\n ): readonly TuiFileLike[] {\n if (!value) {\n return EMPTY_ARRAY;\n }\n\n return Array.isArray(value) ? value : [value];\n }\n\n private processSelectedFiles(files: FileList | null): void {\n // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList.\n if (!files?.length) {\n return;\n }\n\n const errors: Record<\n 'formatRejection' | 'maxSizeRejection',\n PolymorpheusContent\n > = {\n formatRejection: this.formatRejection,\n maxSizeRejection: this.maxSizeRejection,\n };\n\n const newFiles = this.computedMultiple ? Array.from(files) : [files[0]];\n const tooBigFiles = newFiles.filter(file => file.size > this.maxFileSize);\n const wrongFormatFiles = newFiles.filter(\n file => !this.isFormatAcceptable(file) && !tooBigFiles.includes(file),\n );\n const acceptedFiles = newFiles.filter(\n file => !tooBigFiles.includes(file) && !wrongFormatFiles.includes(file),\n );\n\n if (tooBigFiles.length || wrongFormatFiles.length) {\n this.rejectFiles([\n ...tooBigFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: errors.maxSizeRejection,\n })),\n ...wrongFormatFiles.map(file => ({\n name: file.name,\n type: file.type,\n size: file.size,\n content: errors.formatRejection,\n })),\n ]);\n }\n\n this.value = this.computedMultiple\n ? [...this.arrayValue, ...acceptedFiles]\n : acceptedFiles[0] || null;\n }\n\n private isFormatAcceptable(file: File): boolean {\n if (!this.computedAccept) {\n return true;\n }\n\n const extension = `.${(file.name.split('.').pop() || '').toLowerCase()}`;\n\n return tuiGetAcceptArray(this.computedAccept).some(\n format =>\n format === extension ||\n format === file.type ||\n (format.split('/')[1] === '*' &&\n file.type.split('/')[0] === format.split('/')[0]),\n );\n }\n\n private rejectFiles(rejectedFiles: readonly TuiFileLike[]): void {\n this.reject.emit(this.computedMultiple ? rejectedFiles : rejectedFiles[0]);\n }\n}\n","<div\n appearance=\"input-file\"\n tuiWrapper\n class=\"t-wrapper\"\n [active]=\"pseudoActive\"\n [class._mobile]=\"isMobile\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover || fileDragged || null\"\n>\n <label\n automation-id=\"tui-input-file__label\"\n class=\"t-label\"\n (mousedown.prevent.silent)=\"(0)\"\n (tuiDroppableDragOverChange)=\"onDragOver($event)\"\n (tuiDroppableDropped)=\"onDropped($event)\"\n >\n <div class=\"t-description\">\n <ng-container *ngTemplateOutlet=\"template || null; context: {$implicit: fileDragged}\"></ng-container>\n <div *ngIf=\"!template\">\n <a tuiLink>\n <ng-container *polymorpheusOutlet=\"computedLink$ | async as text\">\n {{ text }}\n </ng-container>\n </a>\n <span\n *polymorpheusOutlet=\"computedLabel$ | async as text\"\n [textContent]=\"text\"\n ></span>\n </div>\n </div>\n <ng-container *ngIf=\"!readOnly && !computedDisabled\">\n <ng-content select=\"input\"></ng-content>\n <input\n #input\n title=\"\"\n type=\"file\"\n class=\"t-native\"\n [accept]=\"accept\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n [tuiFocusable]=\"focusable\"\n />\n </ng-container>\n </label>\n</div>\n\n<ng-template #formatRejection>\n {{ (inputFileTexts$ | async)?.formatRejectionReason || '' }}\n</ng-template>\n\n<ng-template #maxSizeRejection>\n {{ maxFileSize | tuiMaxSizeRejectionError | async }}\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiDroppableModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiItemDirective,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiSvgModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {\n TuiFileComponent,\n TuiFilesComponent,\n TuiFilesModule,\n} from '@taiga-ui/kit/components/files';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputFilesComponent} from './input-files.component';\nimport {TuiInputFilesDirective} from './input-files.directive';\nimport {TuiMaxSizeRejectionErrorPipe} from './max-size-rejection-error.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiPressedModule,\n TuiHoveredModule,\n TuiFocusableModule,\n TuiDroppableModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLinkModule,\n TuiLoaderModule,\n TuiButtonModule,\n TuiGroupModule,\n TuiFilesModule,\n ],\n declarations: [\n TuiInputFilesComponent,\n TuiInputFilesDirective,\n TuiMaxSizeRejectionErrorPipe,\n ],\n exports: [\n TuiInputFilesComponent,\n TuiInputFilesDirective,\n TuiFilesComponent,\n TuiFileComponent,\n TuiItemDirective,\n ],\n})\nexport class TuiInputFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.TuiMaxSizeRejectionErrorPipe"],"mappings":"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"}
@@ -32,6 +32,8 @@ class TuiInputRangeComponent extends AbstractTuiControl {
32
32
  this.segments = 1;
33
33
  this.keySteps = null;
34
34
  this.pluralize = null;
35
+ this.leftTextfieldValue = this.safeCurrentValue[0];
36
+ this.rightTextfieldValue = this.safeCurrentValue[1];
35
37
  this.lastActiveSide = 'left';
36
38
  }
37
39
  get leftFocusableElement() {
@@ -86,15 +88,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
86
88
  onActiveZone(active) {
87
89
  this.updateFocused(active);
88
90
  }
89
- onTextInputFocused(focused, right) {
90
- if (focused) {
91
- return;
92
- }
93
- const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;
94
- const inputRef = right ? rightTextInputRef : leftTextInputRef;
95
- const valueIndex = right ? 1 : 0;
96
- if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {
97
- this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);
91
+ onTextInputFocused(focused) {
92
+ if (!focused) {
93
+ this.updateTextfieldValues(this.value);
98
94
  }
99
95
  }
100
96
  changeByStep(event, [leftCoefficient, rightCoefficient]) {
@@ -106,11 +102,8 @@ class TuiInputRangeComponent extends AbstractTuiControl {
106
102
  this.value[0] + leftCoefficient * this.step,
107
103
  this.value[1] + rightCoefficient * this.step,
108
104
  ]);
109
- const leftValueChanged = newValue[0] !== this.value[0];
110
- const rightValueChanged = newValue[1] !== this.value[1];
111
- if (leftValueChanged || rightValueChanged) {
112
- this.safelyUpdateValue(newValue);
113
- this.updateTextInputValue(newValue[rightValueChanged ? 1 : 0], rightValueChanged);
105
+ if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {
106
+ this.onExternalValueUpdate(newValue);
114
107
  }
115
108
  }
116
109
  onInputLeft(value) {
@@ -119,10 +112,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
119
112
  onInputRight(value) {
120
113
  this.safelyUpdateValue([this.value[0], value !== null && value !== void 0 ? value : this.safeCurrentValue[1]]);
121
114
  }
122
- onRangeValue(value) {
115
+ onExternalValueUpdate(value) {
123
116
  this.safelyUpdateValue(value);
124
- const rightValueChanged = this.lastActiveSide === 'right';
125
- this.updateTextInputValue(this.value[rightValueChanged ? 1 : 0], rightValueChanged);
117
+ this.updateTextfieldValues(this.value);
126
118
  }
127
119
  focusToTextInput() {
128
120
  const element = this.lastActiveSide === 'left'
@@ -135,6 +127,10 @@ class TuiInputRangeComponent extends AbstractTuiControl {
135
127
  onActiveThumbChange(activeThumb) {
136
128
  this.lastActiveSide = activeThumb;
137
129
  }
130
+ writeValue(value) {
131
+ super.writeValue(value);
132
+ this.updateTextfieldValues(this.value);
133
+ }
138
134
  getFallbackValue() {
139
135
  return [0, 0];
140
136
  }
@@ -153,10 +149,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
153
149
  const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
154
150
  return tuiClamp(roundedValue, this.min, this.max);
155
151
  }
156
- updateTextInputValue(value, right) {
157
- const [leftInputRef, rightInputRef] = this.inputNumberRefs;
158
- const textInputRef = right ? rightInputRef : leftInputRef;
159
- textInputRef === null || textInputRef === void 0 ? void 0 : textInputRef.writeValue(value);
152
+ updateTextfieldValues([leftValue, rightValue]) {
153
+ this.leftTextfieldValue = leftValue;
154
+ this.rightTextfieldValue = rightValue;
160
155
  }
161
156
  }
162
157
  TuiInputRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: ElementRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
@@ -164,7 +159,7 @@ TuiInputRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
164
159
  tuiAsFocusableItemAccessor(TuiInputRangeComponent),
165
160
  tuiAsControl(TuiInputRangeComponent),
166
161
  TEXTFIELD_CONTROLLER_PROVIDER,
167
- ], viewQueries: [{ propertyName: "rangeRef", first: true, predicate: TuiRangeComponent, descendants: true }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModel]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModel]=\"value[1]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0;background:transparent}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiRangeComponent, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps"] }], directives: [{ type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiRangeChangeDirective, selector: "tui-range", outputs: ["activeThumbChange"] }, { type: i4.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "i18nPlural": i6.I18nPluralPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
+ ], viewQueries: [{ propertyName: "rangeRef", first: true, predicate: TuiRangeComponent, descendants: true }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0;background:transparent}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiRangeComponent, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps"] }], directives: [{ type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiRangeChangeDirective, selector: "tui-range", outputs: ["activeThumbChange"] }, { type: i4.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "i18nPlural": i6.I18nPluralPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
163
  __decorate([
169
164
  tuiPure
170
165
  ], TuiInputRangeComponent.prototype, "computeKeySteps", null);