@taiga-ui/kit 3.13.0 → 3.14.0-dev.main-90286ec

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 (123) hide show
  1. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -0
  6. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-number.umd.js +2 -0
  14. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +4 -0
  16. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-slider.umd.js +79 -51
  18. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -1
  20. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +578 -0
  22. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -0
  23. package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-text-area.umd.js +10 -3
  26. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  28. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +33 -23
  30. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-directives-project-class.umd.js +1 -6
  32. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +404 -0
  34. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -0
  35. package/bundles/taiga-ui-kit-pipes.umd.js +10 -4
  36. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  37. package/components/index.d.ts +1 -0
  38. package/components/input-count/input-count.component.d.ts +2 -0
  39. package/components/input-number/input-number.component.d.ts +2 -0
  40. package/components/input-slider/input-slider.component.d.ts +11 -6
  41. package/components/input-slider/input-slider.module.d.ts +2 -1
  42. package/components/input-time/input-time.component.d.ts +1 -0
  43. package/components/items-with-more/index.d.ts +5 -0
  44. package/components/items-with-more/items-with-more.component.d.ts +14 -0
  45. package/components/items-with-more/items-with-more.directive.d.ts +8 -0
  46. package/components/items-with-more/items-with-more.module.d.ts +12 -0
  47. package/components/items-with-more/items-with-more.service.d.ts +17 -0
  48. package/components/items-with-more/more.directive.d.ts +7 -0
  49. package/components/items-with-more/package.json +10 -0
  50. package/components/items-with-more/taiga-ui-kit-components-items-with-more.d.ts +5 -0
  51. package/components/text-area/text-area.component.d.ts +1 -0
  52. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +4 -1
  53. package/esm2015/components/avatar/avatar.component.js +1 -1
  54. package/esm2015/components/files/file/file.component.js +1 -1
  55. package/esm2015/components/index.js +2 -1
  56. package/esm2015/components/input-count/input-count.component.js +3 -1
  57. package/esm2015/components/input-date/input-date.component.js +2 -2
  58. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  59. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  60. package/esm2015/components/input-number/input-number.component.js +3 -1
  61. package/esm2015/components/input-phone-international/input-phone-international.component.js +5 -1
  62. package/esm2015/components/input-slider/input-slider.component.js +36 -19
  63. package/esm2015/components/input-slider/input-slider.module.js +6 -2
  64. package/esm2015/components/input-time/input-time.component.js +3 -2
  65. package/esm2015/components/items-with-more/index.js +6 -0
  66. package/esm2015/components/items-with-more/items-with-more.component.js +70 -0
  67. package/esm2015/components/items-with-more/items-with-more.directive.js +30 -0
  68. package/esm2015/components/items-with-more/items-with-more.module.js +36 -0
  69. package/esm2015/components/items-with-more/items-with-more.service.js +66 -0
  70. package/esm2015/components/items-with-more/more.directive.js +16 -0
  71. package/esm2015/components/items-with-more/taiga-ui-kit-components-items-with-more.js +5 -0
  72. package/esm2015/components/push/push.component.js +1 -1
  73. package/esm2015/components/text-area/text-area.component.js +7 -4
  74. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +18 -10
  75. package/esm2015/directives/project-class/project-class.directive.js +2 -7
  76. package/esm2015/pipes/index.js +2 -1
  77. package/esm2015/pipes/sort-countries/index.js +3 -0
  78. package/esm2015/pipes/sort-countries/sort-countries.module.js +16 -0
  79. package/esm2015/pipes/sort-countries/sort-countries.pipe.js +25 -0
  80. package/esm2015/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.js +5 -0
  81. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  82. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  83. package/fesm2015/taiga-ui-kit-components-files.js +1 -1
  84. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  85. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -0
  86. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  87. package/fesm2015/taiga-ui-kit-components-input-date-range.js +1 -1
  88. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  89. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  90. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  91. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  92. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  93. package/fesm2015/taiga-ui-kit-components-input-number.js +2 -0
  94. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  95. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +4 -0
  96. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  97. package/fesm2015/taiga-ui-kit-components-input-slider.js +39 -19
  98. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  99. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -1
  100. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  101. package/fesm2015/taiga-ui-kit-components-items-with-more.js +203 -0
  102. package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -0
  103. package/fesm2015/taiga-ui-kit-components-push.js +1 -1
  104. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  105. package/fesm2015/taiga-ui-kit-components-text-area.js +6 -3
  106. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  107. package/fesm2015/taiga-ui-kit-components.js +1 -0
  108. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  109. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +17 -9
  110. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
  111. package/fesm2015/taiga-ui-kit-directives-project-class.js +1 -6
  112. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  113. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js +45 -0
  114. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js.map +1 -0
  115. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  116. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  117. package/package.json +5 -5
  118. package/pipes/index.d.ts +1 -0
  119. package/pipes/sort-countries/index.d.ts +2 -0
  120. package/pipes/sort-countries/package.json +10 -0
  121. package/pipes/sort-countries/sort-countries.module.d.ts +7 -0
  122. package/pipes/sort-countries/sort-countries.pipe.d.ts +11 -0
  123. package/pipes/sort-countries/taiga-ui-kit-pipes-sort-countries.d.ts +5 -0
@@ -1,17 +1,19 @@
1
1
  import { __decorate } from "tslib";
2
- import { ContentChildren, Directive, ElementRef, } from '@angular/core';
3
- import { EMPTY_QUERY, tuiGetClosestFocusable, tuiItemsQueryListObservable, tuiPreventDefault, tuiPure, tuiTypedFromEvent, } from '@taiga-ui/cdk';
2
+ import { ContentChildren, Directive, ElementRef, Inject, Self, } from '@angular/core';
3
+ import { EMPTY_QUERY, TuiDestroyService, tuiGetClosestFocusable, tuiItemsQueryListObservable, tuiPreventDefault, tuiPure, tuiTypedFromEvent, } from '@taiga-ui/cdk';
4
4
  import { TuiDropdownDirective } from '@taiga-ui/core';
5
5
  import { EMPTY, merge } from 'rxjs';
6
- import { debounceTime, filter, map, mapTo, shareReplay, switchMap, take, tap, } from 'rxjs/operators';
6
+ import { debounceTime, filter, map, mapTo, shareReplay, switchMap, take, takeUntil, tap, } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
+ import * as i1 from "@taiga-ui/cdk";
8
9
  export class TuiDataListDropdownManagerDirective {
9
- constructor() {
10
+ constructor(destroy$) {
11
+ this.destroy$ = destroy$;
10
12
  this.dropdowns = EMPTY_QUERY;
11
13
  this.elements = EMPTY_QUERY;
12
14
  }
13
15
  ngAfterViewInit() {
14
- this.right$.subscribe(index => {
16
+ this.right$.pipe(takeUntil(this.destroy$)).subscribe(index => {
15
17
  this.tryToFocus(index);
16
18
  });
17
19
  merge(this.immediate$, this.debounce$)
@@ -34,7 +36,7 @@ export class TuiDataListDropdownManagerDirective {
34
36
  element.nativeElement.focus();
35
37
  dropdown.toggle(`offsetX` in event);
36
38
  }));
37
- }))
39
+ }), takeUntil(this.destroy$))
38
40
  .subscribe();
39
41
  }
40
42
  get elements$() {
@@ -71,8 +73,8 @@ export class TuiDataListDropdownManagerDirective {
71
73
  }
72
74
  }
73
75
  }
74
- TuiDataListDropdownManagerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListDropdownManagerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
75
- TuiDataListDropdownManagerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListDropdownManagerDirective, selector: "tui-data-list[tuiDataListDropdownManager]", queries: [{ propertyName: "dropdowns", predicate: TuiDropdownDirective, descendants: true }, { propertyName: "elements", predicate: TuiDropdownDirective, descendants: true, read: ElementRef }], ngImport: i0 });
76
+ TuiDataListDropdownManagerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDataListDropdownManagerDirective, deps: [{ token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Directive });
77
+ TuiDataListDropdownManagerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDataListDropdownManagerDirective, selector: "tui-data-list[tuiDataListDropdownManager]", providers: [TuiDestroyService], queries: [{ propertyName: "dropdowns", predicate: TuiDropdownDirective, descendants: true }, { propertyName: "elements", predicate: TuiDropdownDirective, descendants: true, read: ElementRef }], ngImport: i0 });
76
78
  __decorate([
77
79
  tuiPure
78
80
  ], TuiDataListDropdownManagerDirective.prototype, "elements$", null);
@@ -89,12 +91,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
89
91
  type: Directive,
90
92
  args: [{
91
93
  selector: `tui-data-list[tuiDataListDropdownManager]`,
94
+ providers: [TuiDestroyService],
92
95
  }]
93
- }], propDecorators: { dropdowns: [{
96
+ }], ctorParameters: function () { return [{ type: i1.TuiDestroyService, decorators: [{
97
+ type: Self
98
+ }, {
99
+ type: Inject,
100
+ args: [TuiDestroyService]
101
+ }] }]; }, propDecorators: { dropdowns: [{
94
102
  type: ContentChildren,
95
103
  args: [TuiDropdownDirective, { descendants: true }]
96
104
  }], elements: [{
97
105
  type: ContentChildren,
98
106
  args: [TuiDropdownDirective, { read: ElementRef, descendants: true }]
99
107
  }], elements$: [], right$: [], immediate$: [], debounce$: [] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIvZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFDSCxZQUFZLEVBQ1osTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNOLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3hCLE1BQU0sT0FBTyxtQ0FBbUM7SUFIaEQ7UUFLcUIsY0FBUyxHQUFvQyxXQUFXLENBQUM7UUFHekQsYUFBUSxHQUF1QyxXQUFXLENBQUM7S0FrSS9FO0lBaElHLGVBQWU7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNqQyxJQUFJLENBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxF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QixNQUFNLE9BQU8sR0FBRyxNQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLDBDQUFFLGNBQWMsMENBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUVsRixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1YsT0FBTztTQUNWO1FBRUQsMkJBQTJCO1FBQzNCLE1BQU0sU0FBUyxHQUFHLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUM1RSxNQUFNLElBQUksR0FBRyxzQkFBc0IsQ0FBQztZQUNoQyxPQUFPLEVBQUUsU0FBUyxJQUFJLE9BQU87WUFDN0IsSUFBSSxFQUFFLE9BQU87U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDOztpSUF0SVEsbUNBQW1DO3FIQUFuQyxtQ0FBbUMsMkdBQzNCLG9CQUFvQiw4REFHcEIsb0JBQW9CLDJCQUFTLFVBQVU7QUFnRHhEO0lBREMsT0FBTztvRUFNUDtBQUdEO0lBREMsT0FBTztpRUFlUDtBQUdEO0lBREMsT0FBTztxRUFXUDtBQUdEO0lBREMsT0FBTztvRUFvQlA7NEZBN0dRLG1DQUFtQztrQkFIL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkNBQTJDO2lCQUN4RDs4QkFHb0IsU0FBUztzQkFEekIsZUFBZTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUM7Z0JBSXpDLFFBQVE7c0JBRHhCLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUM7Z0JBZ0RoRSxTQUFTLE1BUVQsTUFBTSxNQWlCTixVQUFVLE1BYVYsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfUVVFUlksXG4gICAgdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSxcbiAgICB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUsXG4gICAgdHVpUHJldmVudERlZmF1bHQsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlUeXBlZEZyb21FdmVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0VNUFRZLCBtZXJnZSwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIGRlYm91bmNlVGltZSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1hcFRvLFxuICAgIHNoYXJlUmVwbGF5LFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogYHR1aS1kYXRhLWxpc3RbdHVpRGF0YUxpc3REcm9wZG93bk1hbmFnZXJdYCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3REcm9wZG93bk1hbmFnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25zOiBRdWVyeUxpc3Q8VHVpRHJvcGRvd25EaXJlY3RpdmU+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZiwgZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yaWdodCQuc3Vic2NyaWJlKGluZGV4ID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJ5VG9Gb2N1cyhpbmRleCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG1lcmdlKHRoaXMuaW1tZWRpYXRlJCwgdGhpcy5kZWJvdW5jZSQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoYWN0aXZlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bnMuZm9yRWFjaCgoZHJvcGRvd24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkcm9wZG93bi50b2dnbGUoaW5kZXggPT09IGFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmdldChhY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkcm9wZG93biA9IHRoaXMuZHJvcGRvd25zLmdldChhY3RpdmUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghZWxlbWVudCB8fCAhZHJvcGRvd24/LmRyb3Bkb3duQm94UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBkcm9wZG93bi5kcm9wZG93bkJveFJlZi5sb2NhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW91c2VFbnRlciQgPSB0dWlUeXBlZEZyb21FdmVudChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBgbW91c2VlbnRlcmAsXG4gICAgICAgICAgICAgICAgICAgICkucGlwZSh0YWtlKDEpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXNjJCA9IG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudC5uYXRpdmVFbGVtZW50LCBga2V5ZG93bmApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQobmF0aXZlRWxlbWVudCwgYGtleWRvd25gKSxcbiAgICAgICAgICAgICAgICAgICAgKS5waXBlKGZpbHRlcigoe2tleUNvZGV9KSA9PiBrZXlDb2RlID09PSAyNykpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZXJnZShtb3VzZUVudGVyJCwgZXNjJCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRyb3Bkb3duLmRyb3Bkb3duQm94UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyb3Bkb3duLnRvZ2dsZShgb2Zmc2V0WGAgaW4gZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCBlbGVtZW50cyQoKTogT2JzZXJ2YWJsZTxyZWFkb25seSBIVE1MRWxlbWVudFtdPiB7XG4gICAgICAgIHJldHVybiB0dWlJdGVtc1F1ZXJ5TGlzdE9ic2VydmFibGUodGhpcy5lbGVtZW50cykucGlwZShcbiAgICAgICAgICAgIG1hcChhcnJheSA9PiBhcnJheS5tYXAoKHtuYXRpdmVFbGVtZW50fSkgPT4gbmF0aXZlRWxlbWVudCkpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoe2J1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldCByaWdodCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoZWxlbWVudHMgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsIGBrZXlkb3duYCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHtrZXlDb2RlfSkgPT4ga2V5Q29kZSA9PT0gMzkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwVG8oaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGltbWVkaWF0ZSQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudHMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoZWxlbWVudHMgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudHMubWFwKChlbGVtZW50LCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsZW1lbnQsIGBjbGlja2ApLnBpcGUobWFwVG8oaW5kZXgpKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGRlYm91bmNlJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50cyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChlbGVtZW50cyA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAuLi5lbGVtZW50cy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgYGZvY3VzYCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgYGJsdXJgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKHtyZWxhdGVkVGFyZ2V0fSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3RJbkRyb3Bkb3duKHJlbGF0ZWRUYXJnZXQsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoe3R5cGV9KSA9PiAodHlwZSA9PT0gYGZvY3VzYCA/IGluZGV4IDogTmFOKSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub3RJbkRyb3Bkb3duKGVsZW1lbnQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCwgaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuZHJvcGRvd25zXG4gICAgICAgICAgICAuZ2V0KGluZGV4KVxuICAgICAgICAgICAgPy5kcm9wZG93bkJveFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jb250YWlucyhlbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyeVRvRm9jdXMoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5kcm9wZG93bnMuZ2V0KGluZGV4KT8uZHJvcGRvd25Cb3hSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaXJzdCBpdGVtIGlzIGZvY3VzIHRyYXBcbiAgICAgICAgY29uc3QgZm9jdXNUcmFwID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogY29udGVudCwgcm9vdDogY29udGVudH0pO1xuICAgICAgICBjb25zdCBpdGVtID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7XG4gICAgICAgICAgICBpbml0aWFsOiBmb2N1c1RyYXAgfHwgY29udGVudCxcbiAgICAgICAgICAgIHJvb3Q6IGNvbnRlbnQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBpdGVtLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2RpcmVjdGl2ZXMvZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIvZGF0YS1saXN0LWRyb3Bkb3duLW1hbmFnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUVOLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFDSCxZQUFZLEVBQ1osTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsR0FDTixNQUFNLGdCQUFnQixDQUFDOzs7QUFNeEIsTUFBTSxPQUFPLG1DQUFtQztJQU81QyxZQUN3RCxRQUEyQjtRQUEzQixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQU5sRSxjQUFTLEdBQW9DLFdBQVcsQ0FBQztRQUd6RCxhQUFRLEdBQXVDLFdBQVcsQ0FBQztJQUl6RSxDQUFDO0lBRUosZUFBZTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFVB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QyxpQkFBaUI7NENBTnBCLFNBQVM7c0JBRHpCLGVBQWU7dUJBQUMsb0JBQW9CLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQUl6QyxRQUFRO3NCQUR4QixlQUFlO3VCQUFDLG9CQUFvQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQXFEaEUsU0FBUyxNQVFULE1BQU0sTUFpQk4sVUFBVSxNQWFWLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlLFxuICAgIHR1aVByZXZlbnREZWZhdWx0LFxuICAgIHR1aVB1cmUsXG4gICAgdHVpVHlwZWRGcm9tRXZlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtFTVBUWSwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtYXBUbyxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRhdGEtbGlzdFt0dWlEYXRhTGlzdERyb3Bkb3duTWFuYWdlcl1gLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRGF0YUxpc3REcm9wZG93bk1hbmFnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25zOiBRdWVyeUxpc3Q8VHVpRHJvcGRvd25EaXJlY3RpdmU+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURyb3Bkb3duRGlyZWN0aXZlLCB7cmVhZDogRWxlbWVudFJlZiwgZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudHM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yaWdodCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICAgICAgICB0aGlzLnRyeVRvRm9jdXMoaW5kZXgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBtZXJnZSh0aGlzLmltbWVkaWF0ZSQsIHRoaXMuZGVib3VuY2UkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGFjdGl2ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25zLmZvckVhY2goKGRyb3Bkb3duLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZHJvcGRvd24udG9nZ2xlKGluZGV4ID09PSBhY3RpdmUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50cy5nZXQoYWN0aXZlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmRyb3Bkb3ducy5nZXQoYWN0aXZlKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWRyb3Bkb3duPy5kcm9wZG93bkJveFJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gZHJvcGRvd24uZHJvcGRvd25Cb3hSZWYubG9jYXRpb247XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vdXNlRW50ZXIkID0gdHVpVHlwZWRGcm9tRXZlbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgYG1vdXNlZW50ZXJgLFxuICAgICAgICAgICAgICAgICAgICApLnBpcGUodGFrZSgxKSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVzYyQgPSBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KGVsZW1lbnQubmF0aXZlRWxlbWVudCwgYGtleWRvd25gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIGBrZXlkb3duYCksXG4gICAgICAgICAgICAgICAgICAgICkucGlwZShmaWx0ZXIoKHtrZXlDb2RlfSkgPT4ga2V5Q29kZSA9PT0gMjcpKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UobW91c2VFbnRlciQsIGVzYyQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkcm9wZG93bi5kcm9wZG93bkJveFJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm9wZG93bi50b2dnbGUoYG9mZnNldFhgIGluIGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnRzJCgpOiBPYnNlcnZhYmxlPHJlYWRvbmx5IEhUTUxFbGVtZW50W10+IHtcbiAgICAgICAgcmV0dXJuIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLmVsZW1lbnRzKS5waXBlKFxuICAgICAgICAgICAgbWFwKGFycmF5ID0+IGFycmF5Lm1hcCgoe25hdGl2ZUVsZW1lbnR9KSA9PiBuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSh7YnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWV9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0IHJpZ2h0JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50cyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChlbGVtZW50cyA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAuLi5lbGVtZW50cy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgYGtleWRvd25gKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe2tleUNvZGV9KSA9PiBrZXlDb2RlID09PSAzOSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpUHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBUbyhpbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgaW1tZWRpYXRlJCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50cyQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChlbGVtZW50cyA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAuLi5lbGVtZW50cy5tYXAoKGVsZW1lbnQsIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQoZWxlbWVudCwgYGNsaWNrYCkucGlwZShtYXBUbyhpbmRleCkpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXQgZGVib3VuY2UkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzJC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKGVsZW1lbnRzID0+XG4gICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIC4uLmVsZW1lbnRzLm1hcCgoZWxlbWVudCwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbGVtZW50LCBgZm9jdXNgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUeXBlZEZyb21FdmVudChlbGVtZW50LCBgYmx1cmApLFxuICAgICAgICAgICAgICAgICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoe3JlbGF0ZWRUYXJnZXR9KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdEluRHJvcGRvd24ocmVsYXRlZFRhcmdldCwgaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKCh7dHlwZX0pID0+ICh0eXBlID09PSBgZm9jdXNgID8gaW5kZXggOiBOYU4pKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5vdEluRHJvcGRvd24oZWxlbWVudDogRXZlbnRUYXJnZXQgfCBudWxsLCBpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5kcm9wZG93bnNcbiAgICAgICAgICAgIC5nZXQoaW5kZXgpXG4gICAgICAgICAgICA/LmRyb3Bkb3duQm94UmVmPy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJ5VG9Gb2N1cyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmRyb3Bkb3ducy5nZXQoaW5kZXgpPy5kcm9wZG93bkJveFJlZj8ubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoIWNvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0IGl0ZW0gaXMgZm9jdXMgdHJhcFxuICAgICAgICBjb25zdCBmb2N1c1RyYXAgPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtpbml0aWFsOiBjb250ZW50LCByb290OiBjb250ZW50fSk7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlKHtcbiAgICAgICAgICAgIGluaXRpYWw6IGZvY3VzVHJhcCB8fCBjb250ZW50LFxuICAgICAgICAgICAgcm9vdDogY29udGVudCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIGl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -13,12 +13,7 @@ export class TuiProjectClassDirective {
13
13
  ngAfterViewChecked() {
14
14
  this.classNames.forEach(className => {
15
15
  const hostElement = this.elementRef.nativeElement;
16
- if (hostElement.querySelector(`.${className}`)) {
17
- hostElement.classList.add(className);
18
- }
19
- else {
20
- hostElement.classList.remove(className);
21
- }
16
+ hostElement.classList.toggle(className, !!hostElement.querySelector(`.${className}`));
22
17
  });
23
18
  }
24
19
  }
@@ -39,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
39
34
  type: Input,
40
35
  args: [`tuiProjectClass`]
41
36
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jbGFzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9wcm9qZWN0LWNsYXNzL3Byb2plY3QtY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUU3Qzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFDeUMsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFINUUsZUFBVSxHQUFzQixFQUFFLENBQUM7SUFJaEMsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBRWxELElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQUU7Z0JBQzVDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hDO2lCQUFNO2dCQUNILFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSEFuQlEsd0JBQXdCLGtCQU1yQixVQUFVOzBHQU5iLHdCQUF3QjtBQUdqQztJQURDLGNBQWMsRUFBRTs0REFDa0I7NEZBSDFCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQzs7MEJBT1EsTUFBTTsyQkFBQyxVQUFVOzRDQUh0QixVQUFVO3NCQUZULEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIHByb2plY3RpbmcgY2xhc3NlcyBmcm9tIG5lc3RlZCBjaGlsZHJlbiB0byBob3N0XG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3R1aVByb2plY3RDbGFzc11gLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcm9qZWN0Q2xhc3NEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBASW5wdXQoYHR1aVByb2plY3RDbGFzc2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjbGFzc05hbWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xhc3NOYW1lcy5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcihgLiR7Y2xhc3NOYW1lfWApKSB7XG4gICAgICAgICAgICAgICAgaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBob3N0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1jbGFzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9wcm9qZWN0LWNsYXNzL3Byb2plY3QtY2xhc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUU3Qzs7R0FFRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFDeUMsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFINUUsZUFBVSxHQUFzQixFQUFFLENBQUM7SUFJaEMsQ0FBQztJQUVKLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBRWxELFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUN4QixTQUFTLEVBQ1QsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztzSEFsQlEsd0JBQXdCLGtCQU1yQixVQUFVOzBHQU5iLHdCQUF3QjtBQUdqQztJQURDLGNBQWMsRUFBRTs0REFDa0I7NEZBSDFCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2lCQUNoQzs7MEJBT1EsTUFBTTsyQkFBQyxVQUFVOzRDQUh0QixVQUFVO3NCQUZULEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdDaGVja2VkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIHByb2plY3RpbmcgY2xhc3NlcyBmcm9tIG5lc3RlZCBjaGlsZHJlbiB0byBob3N0XG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBgW3R1aVByb2plY3RDbGFzc11gLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQcm9qZWN0Q2xhc3NEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBASW5wdXQoYHR1aVByb2plY3RDbGFzc2ApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjbGFzc05hbWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xhc3NOYW1lcy5mb3JFYWNoKGNsYXNzTmFtZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICBob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICAhIWhvc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke2NsYXNzTmFtZX1gKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  export * from '@taiga-ui/kit/pipes/field-error';
2
2
  export * from '@taiga-ui/kit/pipes/filter-by-input';
3
+ export * from '@taiga-ui/kit/pipes/sort-countries';
3
4
  export * from '@taiga-ui/kit/pipes/stringify';
4
5
  export * from '@taiga-ui/kit/pipes/stringify-content';
5
6
  export * from '@taiga-ui/kit/pipes/to-year';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9maWVsZC1lcnJvcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL2ZpbHRlci1ieS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL3N0cmluZ2lmeSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL3N0cmluZ2lmeS1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcGlwZXMvdG8teWVhcic7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL2ZpZWxkLWVycm9yJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcGlwZXMvZmlsdGVyLWJ5LWlucHV0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvcGlwZXMvc29ydC1jb3VudHJpZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9zdHJpbmdpZnknO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9waXBlcy9zdHJpbmdpZnktY29udGVudCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L3BpcGVzL3RvLXllYXInO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './sort-countries.module';
2
+ export * from './sort-countries.pipe';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvcGlwZXMvc29ydC1jb3VudHJpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zb3J0LWNvdW50cmllcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWNvdW50cmllcy5waXBlJztcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { TuiSortCountriesPipe } from './sort-countries.pipe';
3
+ import * as i0 from "@angular/core";
4
+ export class TuiSortCountriesPipeModule {
5
+ }
6
+ TuiSortCountriesPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ TuiSortCountriesPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, declarations: [TuiSortCountriesPipe], exports: [TuiSortCountriesPipe] });
8
+ TuiSortCountriesPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipeModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ declarations: [TuiSortCountriesPipe],
13
+ exports: [TuiSortCountriesPipe],
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1jb3VudHJpZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3BpcGVzL3NvcnQtY291bnRyaWVzL3NvcnQtY291bnRyaWVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDOztBQU0zRCxNQUFNLE9BQU8sMEJBQTBCOzt3SEFBMUIsMEJBQTBCO3lIQUExQiwwQkFBMEIsaUJBSHBCLG9CQUFvQixhQUN6QixvQkFBb0I7eUhBRXJCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUdWlTb3J0Q291bnRyaWVzUGlwZX0gZnJvbSAnLi9zb3J0LWNvdW50cmllcy5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlTb3J0Q291bnRyaWVzUGlwZV0sXG4gICAgZXhwb3J0czogW1R1aVNvcnRDb3VudHJpZXNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU29ydENvdW50cmllc1BpcGVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Inject, Pipe } from '@angular/core';
2
+ import { TUI_COUNTRIES } from '@taiga-ui/kit/tokens';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "rxjs";
6
+ export class TuiSortCountriesPipe {
7
+ constructor(countriesNames$) {
8
+ this.countriesNames$ = countriesNames$;
9
+ }
10
+ transform(countries) {
11
+ return this.countriesNames$.pipe(map(names => [...countries].sort((a, b) => names[a].localeCompare(names[b]))));
12
+ }
13
+ }
14
+ TuiSortCountriesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, deps: [{ token: TUI_COUNTRIES }], target: i0.ɵɵFactoryTarget.Pipe });
15
+ TuiSortCountriesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, name: "tuiSortCountries" });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiSortCountriesPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{
19
+ name: `tuiSortCountries`,
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: i1.Observable, decorators: [{
22
+ type: Inject,
23
+ args: [TUI_COUNTRIES]
24
+ }] }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1jb3VudHJpZXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9waXBlcy9zb3J0LWNvdW50cmllcy9zb3J0LWNvdW50cmllcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLbkMsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUVxQixlQUE4RDtRQUE5RCxvQkFBZSxHQUFmLGVBQWUsQ0FBK0M7SUFDaEYsQ0FBQztJQUVKLFNBQVMsQ0FBQyxTQUF1QztRQUM3QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM1QixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hGLENBQUM7SUFDTixDQUFDOztrSEFWUSxvQkFBb0Isa0JBRWpCLGFBQWE7Z0hBRmhCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxrQkFBa0I7aUJBQzNCOzswQkFHUSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bic7XG5pbXBvcnQge1RVSV9DT1VOVFJJRVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogYHR1aVNvcnRDb3VudHJpZXNgLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTb3J0Q291bnRyaWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFRVSV9DT1VOVFJJRVMpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyaWVzTmFtZXMkOiBPYnNlcnZhYmxlPFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPj4sXG4gICAgKSB7fVxuXG4gICAgdHJhbnNmb3JtKGNvdW50cmllczogcmVhZG9ubHkgVHVpQ291bnRyeUlzb0NvZGVbXSk6IE9ic2VydmFibGU8VHVpQ291bnRyeUlzb0NvZGVbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3VudHJpZXNOYW1lcyQucGlwZShcbiAgICAgICAgICAgIG1hcChuYW1lcyA9PiBbLi4uY291bnRyaWVzXS5zb3J0KChhLCBiKSA9PiBuYW1lc1thXS5sb2NhbGVDb21wYXJlKG5hbWVzW2JdKSkpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LXBpcGVzLXNvcnQtY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L3BpcGVzL3NvcnQtY291bnRyaWVzL3RhaWdhLXVpLWtpdC1waXBlcy1zb3J0LWNvdW50cmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -65,7 +65,7 @@ class TuiAvatarComponent {
65
65
  }
66
66
  }
67
67
  TuiAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAvatarComponent, deps: [{ token: TUI_AVATAR_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
68
- TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
+ TuiAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAvatarComponent, selector: "tui-avatar", inputs: { size: "size", avatarUrlSetter: ["avatarUrl", "avatarUrlSetter"], text: "text", autoColor: "autoColor", rounded: "rounded" }, host: { properties: { "attr.data-size": "this.size", "class._rounded": "this.rounded", "style.background": "this.bgColor", "class._has-avatar": "this.hasAvatar" } }, ngImport: i0, template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n", styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background:var(--tui-avatar-background, currentColor);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-size=s]{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-size=m]{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-size=l]{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-xl)}:host[data-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-xl)}:host[data-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host[new][data-size=xxs]{width:1.5rem;height:1.5rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xxs] .t-icon{transform:scale(.58)}:host[new][data-size=xs]{width:2rem;height:2rem;border-radius:var(--tui-radius-s)}:host[new][data-size=xs] .t-icon{transform:scale(.83)}:host[new][data-size=s]{width:2.5rem;height:2.5rem;border-radius:calc(1.5 * var(--tui-radius-s))}:host[new][data-size=s] .t-icon{transform:scale(1)}:host[new][data-size=m]{width:3rem;height:3rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=m] .t-icon{transform:scale(1.17)}:host[new][data-size=l]{width:4rem;height:4rem;border-radius:calc(2 * var(--tui-radius-s))}:host[new][data-size=l] .t-icon{transform:scale(1.67)}:host[new][data-size=xl]{width:6rem;height:6rem;border-radius:calc(3 * var(--tui-radius-s))}:host[new][data-size=xl] .t-icon{transform:scale(2.33)}:host[new][data-size=xxl]{width:8rem;height:8rem;border-radius:calc(4 * var(--tui-radius-s))}:host[new][data-size=xxl] .t-icon{transform:scale(3.33)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%!important}::ng-deep .tui-avatar-stack{display:flex;width:-webkit-min-content;width:-moz-min-content;width:min-content}:host-context(.tui-avatar-stack)[data-size=xs]{margin-right:-.625rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=s]{margin-right:-.875rem;box-shadow:0 0 0 1px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=m]{margin-right:-1.25rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=l]{margin-right:-1.625rem;box-shadow:0 0 0 2px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xl]{margin-right:-2.25rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}:host-context(.tui-avatar-stack)[data-size=xxl]{margin-right:-3.375rem;box-shadow:0 0 0 3px var(--tui-avatar-border, var(--tui-base-01))}.t-image{width:100%;height:100%;object-fit:cover}.t-text{color:var(--tui-avatar-color, var(--tui-text-01))}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-avatar-color, var(--tui-text-01))}:host[data-size=xs] .t-icon{transform:scale(.5)}:host[data-size=m] .t-icon{transform:scale(1.6)}:host[data-size=l] .t-icon{transform:scale(2)}:host[data-size=xl] .t-icon{transform:scale(3.2)}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.TuiLazyLoadingDirective, selector: "img[loading=\"lazy\"]", inputs: ["src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
69
  __decorate([
70
70
  tuiDefaultProp()
71
71
  ], TuiAvatarComponent.prototype, "size", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-avatar.js","sources":["../../../projects/kit/components/avatar/avatar-options.ts","../../../projects/kit/components/avatar/avatar.component.ts","../../../projects/kit/components/avatar/avatar.template.html","../../../projects/kit/components/avatar/avatar.module.ts","../../../projects/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXXL | TuiSizeXXS;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `[TUI_AVATAR_OPTIONS]: Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {tuiSizeBigger} from '@taiga-ui/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: SafeResourceUrl | string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: SafeResourceUrl | string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? tuiStringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return (\n typeof this.avatarUrl === `string` && !!this.avatarUrl?.startsWith(`tuiIcon`)\n );\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.iconAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && tuiSizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n get stringAvatar(): string {\n return this.iconAvatar ? String(this.avatarUrl) : ``;\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\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-avatar.js","sources":["../../../projects/kit/components/avatar/avatar-options.ts","../../../projects/kit/components/avatar/avatar.component.ts","../../../projects/kit/components/avatar/avatar.template.html","../../../projects/kit/components/avatar/avatar.module.ts","../../../projects/kit/components/avatar/taiga-ui-kit-components-avatar.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiSizeXXL, TuiSizeXXS} from '@taiga-ui/core';\n\nexport interface TuiAvatarOptions {\n readonly size: TuiSizeXXL | TuiSizeXXS;\n readonly autoColor: boolean;\n readonly rounded: boolean;\n}\n\n/** Default values for the avatar options. */\nexport const TUI_AVATAR_DEFAULT_OPTIONS: TuiAvatarOptions = {\n size: `m`,\n autoColor: false,\n rounded: false,\n};\n\nexport const TUI_AVATAR_OPTIONS = new InjectionToken<TuiAvatarOptions>(\n `[TUI_AVATAR_OPTIONS]: Default parameters for avatar component`,\n {\n factory: () => TUI_AVATAR_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiAvatarOptionsProvider: (\n options: Partial<TuiAvatarOptions>,\n) => ValueProvider = (options: Partial<TuiAvatarOptions>) => ({\n provide: TUI_AVATAR_OPTIONS,\n useValue: {...TUI_AVATAR_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {tuiSizeBigger} from '@taiga-ui/core';\nimport {tuiStringHashToHsl} from '@taiga-ui/kit/utils/format';\n\nimport {TUI_AVATAR_OPTIONS, TuiAvatarOptions} from './avatar-options';\n\n@Component({\n selector: `tui-avatar`,\n templateUrl: `./avatar.template.html`,\n styleUrls: [`./avatar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiAvatarComponent {\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size = this.options.size;\n\n @Input(`avatarUrl`)\n @tuiRequiredSetter()\n set avatarUrlSetter(avatarUrl: SafeResourceUrl | string | null) {\n this.avatarUrl = avatarUrl;\n this.isUrlValid = !!avatarUrl && !this.iconAvatar;\n }\n\n @Input()\n @tuiDefaultProp()\n text = ``;\n\n @Input()\n @tuiDefaultProp()\n autoColor: boolean = this.options.autoColor;\n\n @Input()\n @HostBinding(`class._rounded`)\n @tuiDefaultProp()\n rounded: boolean = this.options.rounded;\n\n avatarUrl: SafeResourceUrl | string | null = null;\n\n isUrlValid = false;\n\n constructor(@Inject(TUI_AVATAR_OPTIONS) private readonly options: TuiAvatarOptions) {}\n\n @HostBinding(`style.background`)\n get bgColor(): string {\n return this.autoColor ? tuiStringHashToHsl(this.text) : ``;\n }\n\n @HostBinding(`class._has-avatar`)\n get hasAvatar(): boolean {\n return this.avatarUrl !== null && this.isUrlValid;\n }\n\n get iconAvatar(): boolean {\n return (\n typeof this.avatarUrl === `string` && !!this.avatarUrl?.startsWith(`tuiIcon`)\n );\n }\n\n get computedText(): string {\n if (this.hasAvatar || this.iconAvatar || this.text === ``) {\n return ``;\n }\n\n const words = this.text.split(` `);\n\n return words.length > 1 && tuiSizeBigger(this.size)\n ? words[0].slice(0, 1) + words[1].slice(0, 1)\n : words[0].slice(0, 1);\n }\n\n get stringAvatar(): string {\n return this.iconAvatar ? String(this.avatarUrl) : ``;\n }\n\n onError(): void {\n this.isUrlValid = false;\n }\n}\n","<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"t-image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl || ''\"\n (error)=\"onError()\"\n/>\n<tui-svg\n *ngIf=\"stringAvatar\"\n class=\"t-icon\"\n [src]=\"stringAvatar\"\n></tui-svg>\n<span class=\"t-text\">{{ computedText }}</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {TuiLazyLoadingModule} from '@taiga-ui/kit/directives';\n\nimport {TuiAvatarComponent} from './avatar.component';\n\n@NgModule({\n imports: [CommonModule, TuiLazyLoadingModule, TuiSvgModule],\n declarations: [TuiAvatarComponent],\n exports: [TuiAvatarComponent],\n})\nexport class TuiAvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -109,7 +109,7 @@ class TuiFileComponent {
109
109
  }
110
110
  }
111
111
  TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
112
- TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
112
+ TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_error{color:var(--tui-error-fill)}.t-icon_deleted{color:var(--tui-base-06)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
113
  __decorate([
114
114
  tuiDefaultProp()
115
115
  ], TuiFileComponent.prototype, "file", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-files.js","sources":["../../../projects/kit/components/files/file/file.component.ts","../../../projects/kit/components/files/file/file.template.html","../../../projects/kit/components/files/files.component.ts","../../../projects/kit/components/files/files.component.html","../../../projects/kit/components/files/files.module.ts","../../../projects/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiFileState} from '@taiga-ui/kit/types';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileState = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === `loading`;\n }\n\n get isError(): boolean {\n return this.state === `error`;\n }\n\n get isDeleted(): boolean {\n return this.state === `deleted`;\n }\n\n get allowDelete(): boolean {\n return tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === `normal` && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case `deleted`:\n return `tuiIconTrashLarge`;\n case `error`:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === `error` && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => tuiFormatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length || 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\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-files.js","sources":["../../../projects/kit/components/files/file/file.component.ts","../../../projects/kit/components/files/file/file.template.html","../../../projects/kit/components/files/files.component.ts","../../../projects/kit/components/files/files.component.html","../../../projects/kit/components/files/files.module.ts","../../../projects/kit/components/files/taiga-ui-kit-components-files.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_IS_MOBILE, tuiDefaultProp, tuiIsObserved, tuiPure} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {TuiFileLike} from '@taiga-ui/kit/interfaces';\nimport {TUI_DIGITAL_INFORMATION_UNITS, TUI_FILE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiFileState} from '@taiga-ui/kit/types';\nimport {tuiFormatSize} from '@taiga-ui/kit/utils/files';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype FileTexts = 'loadingError' | 'preview' | 'remove';\n\n@Component({\n selector: `tui-file`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: `./file.template.html`,\n styleUrls: [`./file.style.less`],\n})\nexport class TuiFileComponent {\n @Input()\n @tuiDefaultProp()\n file: TuiFileLike = {name: ``};\n\n @Input()\n @tuiDefaultProp()\n state: TuiFileState = `normal`;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = `m`;\n\n @Input()\n @tuiDefaultProp()\n showSize = true;\n\n @Input()\n @tuiDefaultProp()\n leftContent: PolymorpheusContent = ``;\n\n @Output()\n readonly removed = new EventEmitter<void>();\n\n @HostBinding(`class._focused`)\n focused = false;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(TUI_FILE_TEXTS)\n readonly fileTexts$: Observable<Record<FileTexts, string>>,\n @Inject(TUI_DIGITAL_INFORMATION_UNITS)\n private readonly units$: Observable<[string, string, string]>,\n ) {}\n\n get preview(): SafeValue {\n return this.isBig ? this.createPreview(this.file, this.sanitizer) : ``;\n }\n\n get isBig(): boolean {\n return this.size === `l`;\n }\n\n get isLoading(): boolean {\n return this.state === `loading`;\n }\n\n get isError(): boolean {\n return this.state === `error`;\n }\n\n get isDeleted(): boolean {\n return this.state === `deleted`;\n }\n\n get allowDelete(): boolean {\n return tuiIsObserved(this.removed);\n }\n\n get icon(): string {\n if (this.state === `normal` && this.isBig) {\n return `tuiIconDefaultDocLarge`;\n }\n\n switch (this.state) {\n case `deleted`:\n return `tuiIconTrashLarge`;\n case `error`:\n return `tuiIconAlertCircleLarge`;\n default:\n return `tuiIconCheckCircleLarge`;\n }\n }\n\n @HostBinding(`class._link`)\n get src(): string {\n return this.file.src || ``;\n }\n\n get name(): string {\n return this.getName(this.file);\n }\n\n get type(): string {\n return this.getType(this.file);\n }\n\n get content$(): Observable<PolymorpheusContent> {\n return this.calculateContent$(this.state, this.file, this.fileTexts$);\n }\n\n get fileSize$(): Observable<string | null> {\n return this.calculateFileSize$(this.file, this.units$);\n }\n\n onRemoveClick(): void {\n this.removed.emit();\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.focused = focusVisible;\n }\n\n @tuiPure\n private calculateContent$(\n state: TuiFileState,\n file: TuiFileLike,\n fileTexts$: Observable<Record<'loadingError' | 'preview' | 'remove', string>>,\n ): Observable<PolymorpheusContent> {\n return state === `error` && !file.content\n ? fileTexts$.pipe(map(texts => texts.loadingError))\n : of(this.file.content || ``);\n }\n\n @tuiPure\n private calculateFileSize$(\n file: TuiFileLike,\n units$: Observable<[string, string, string]>,\n ): Observable<string | null> {\n return units$.pipe(map(units => tuiFormatSize(units, file.size)));\n }\n\n @tuiPure\n private createPreview(file: TuiFileLike, sanitizer: DomSanitizer): SafeValue {\n if (file.src) {\n return file.src;\n }\n\n // TODO: iframe warning\n if (file instanceof File && file.type && file.type.startsWith(`image/`)) {\n return sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(file));\n }\n\n return ``;\n }\n\n @tuiPure\n private getName(file: TuiFileLike): string {\n return file.name.split(`.`).slice(0, -1).join(`.`);\n }\n\n @tuiPure\n private getType(file: TuiFileLike): string {\n return `.${file.name.split(`.`).pop()}` || ``;\n }\n}\n","<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_deleted]=\"isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiItemDirective} from '@taiga-ui/cdk';\nimport {TUI_HIDE_TEXT, TUI_SHOW_ALL_TEXT} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: `tui-files`,\n templateUrl: `./files.component.html`,\n styleUrls: [`./files.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiFilesComponent {\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<Record<string, unknown>>> | null = null;\n\n @Input()\n @tuiDefaultProp()\n max = 0;\n\n hidden = true;\n\n constructor(\n @Inject(TUI_HIDE_TEXT) readonly hideText$: Observable<string>,\n @Inject(TUI_SHOW_ALL_TEXT) readonly showAllText$: Observable<string>,\n ) {}\n\n get hasExtraItems(): boolean {\n return !!this.max && (this.items?.length || 0) > this.max;\n }\n\n toggle(): void {\n this.hidden = !this.hidden;\n }\n}\n","<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusVisibleModule, TuiItemDirective, TuiItemModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiLoaderModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFileComponent} from './file/file.component';\nimport {TuiFilesComponent} from './files.component';\n\n@NgModule({\n declarations: [TuiFilesComponent, TuiFileComponent],\n imports: [\n CommonModule,\n TuiGroupModule,\n TuiLoaderModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiFocusVisibleModule,\n TuiButtonModule,\n TuiItemModule,\n TuiExpandModule,\n ],\n exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective],\n})\nexport class TuiFilesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -48,7 +48,9 @@ class TuiInputCountComponent extends AbstractTuiControl {
48
48
  this.min = this.options.min;
49
49
  this.max = this.options.max;
50
50
  this.hideButtons = this.options.hideButtons;
51
+ /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */
51
52
  this.prefix = ``;
53
+ /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */
52
54
  this.postfix = this.options.postfix;
53
55
  }
54
56
  getMask(allowNegative) {