@taiga-ui/kit 3.39.1 → 3.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +11 -7
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +7 -3
  6. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-files.umd.js +12 -8
  8. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-number.umd.js +42 -22
  10. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-range.umd.js +5 -23
  12. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-slider.umd.js +5 -1
  14. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-tag.umd.js +7 -3
  16. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-pagination.umd.js +22 -25
  18. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +7 -3
  20. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-progress.umd.js +6 -5
  22. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-prompt.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-prompt.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-push.umd.js +7 -3
  26. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-select-option.umd.js +7 -3
  28. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-stepper.umd.js +7 -3
  30. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-tabs.umd.js +11 -7
  32. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-tag.umd.js +16 -27
  34. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  35. package/bundles/{taiga-ui-kit-components-text-area.umd.js → taiga-ui-kit-components-textarea.umd.js} +81 -64
  36. package/bundles/taiga-ui-kit-components-textarea.umd.js.map +1 -0
  37. package/bundles/taiga-ui-kit-components-tiles.umd.js +5 -0
  38. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-tree.umd.js +7 -3
  40. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components.umd.js +6 -6
  42. package/components/accordion/accordion-item/accordion-item.component.d.ts +3 -1
  43. package/components/calendar-range/calendar-range.component.d.ts +4 -3
  44. package/components/files/file/file.component.d.ts +3 -2
  45. package/components/index.d.ts +1 -1
  46. package/components/input-number/input-number.component.d.ts +7 -4
  47. package/components/input-range/input-range.component.d.ts +2 -4
  48. package/components/input-tag/input-tag.component.d.ts +5 -4
  49. package/components/pagination/pagination.component.d.ts +7 -6
  50. package/components/pagination/pagination.module.d.ts +3 -3
  51. package/components/pdf-viewer/pdf-viewer.component.d.ts +3 -1
  52. package/components/progress/progress-circle/progress-circle.component.d.ts +1 -1
  53. package/components/push/push.component.d.ts +3 -1
  54. package/components/select-option/select-option.component.d.ts +4 -3
  55. package/components/stepper/step/step.component.d.ts +3 -1
  56. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -1
  57. package/components/tag/tag.component.d.ts +3 -5
  58. package/components/tag/tag.module.d.ts +3 -4
  59. package/components/textarea/deprecated.d.ts +15 -0
  60. package/components/textarea/index.d.ts +4 -0
  61. package/components/textarea/package.json +10 -0
  62. package/components/{text-area/taiga-ui-kit-components-text-area.d.ts → textarea/taiga-ui-kit-components-textarea.d.ts} +1 -1
  63. package/components/{text-area/text-area.component.d.ts → textarea/textarea.component.d.ts} +3 -3
  64. package/components/textarea/textarea.directive.d.ts +8 -0
  65. package/components/{text-area/text-area.module.d.ts → textarea/textarea.module.d.ts} +6 -6
  66. package/components/tiles/tile.component.d.ts +3 -2
  67. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +3 -1
  68. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +9 -4
  69. package/esm2015/components/calendar-month/calendar-month.component.js +1 -1
  70. package/esm2015/components/calendar-range/calendar-range.component.js +9 -5
  71. package/esm2015/components/files/file/file.component.js +9 -4
  72. package/esm2015/components/index.js +2 -2
  73. package/esm2015/components/input-number/input-number.component.js +29 -10
  74. package/esm2015/components/input-range/input-range.component.js +6 -16
  75. package/esm2015/components/input-slider/input-slider.component.js +6 -2
  76. package/esm2015/components/input-tag/input-tag.component.js +9 -5
  77. package/esm2015/components/pagination/pagination.component.js +18 -12
  78. package/esm2015/components/pagination/pagination.module.js +5 -8
  79. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +9 -5
  80. package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -6
  81. package/esm2015/components/prompt/prompt.component.js +1 -1
  82. package/esm2015/components/push/push.component.js +9 -5
  83. package/esm2015/components/select-option/select-option.component.js +9 -5
  84. package/esm2015/components/stepper/step/step.component.js +9 -5
  85. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +9 -4
  86. package/esm2015/components/tag/tag.component.js +12 -16
  87. package/esm2015/components/tag/tag.module.js +1 -5
  88. package/esm2015/components/textarea/deprecated.js +16 -0
  89. package/esm2015/components/textarea/index.js +5 -0
  90. package/esm2015/components/textarea/taiga-ui-kit-components-textarea.js +5 -0
  91. package/esm2015/components/textarea/textarea.component.js +217 -0
  92. package/esm2015/components/textarea/textarea.directive.js +19 -0
  93. package/esm2015/components/textarea/textarea.module.js +51 -0
  94. package/esm2015/components/tiles/tile.component.js +6 -1
  95. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +9 -4
  96. package/fesm2015/taiga-ui-kit-components-accordion.js +8 -3
  97. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  98. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  99. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  100. package/fesm2015/taiga-ui-kit-components-calendar-range.js +8 -4
  101. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  102. package/fesm2015/taiga-ui-kit-components-files.js +9 -5
  103. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  104. package/fesm2015/taiga-ui-kit-components-input-number.js +29 -10
  105. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  106. package/fesm2015/taiga-ui-kit-components-input-range.js +5 -15
  107. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  108. package/fesm2015/taiga-ui-kit-components-input-slider.js +5 -1
  109. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  110. package/fesm2015/taiga-ui-kit-components-input-tag.js +8 -4
  111. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  112. package/fesm2015/taiga-ui-kit-components-pagination.js +22 -19
  113. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  114. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +8 -4
  115. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  116. package/fesm2015/taiga-ui-kit-components-progress.js +6 -5
  117. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  118. package/fesm2015/taiga-ui-kit-components-prompt.js +1 -1
  119. package/fesm2015/taiga-ui-kit-components-prompt.js.map +1 -1
  120. package/fesm2015/taiga-ui-kit-components-push.js +8 -4
  121. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  122. package/fesm2015/taiga-ui-kit-components-select-option.js +8 -4
  123. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  124. package/fesm2015/taiga-ui-kit-components-stepper.js +8 -4
  125. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  126. package/fesm2015/taiga-ui-kit-components-tabs.js +8 -3
  127. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  128. package/fesm2015/taiga-ui-kit-components-tag.js +12 -19
  129. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  130. package/fesm2015/{taiga-ui-kit-components-text-area.js → taiga-ui-kit-components-textarea.js} +41 -27
  131. package/fesm2015/taiga-ui-kit-components-textarea.js.map +1 -0
  132. package/fesm2015/taiga-ui-kit-components-tiles.js +5 -0
  133. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
  134. package/fesm2015/taiga-ui-kit-components-tree.js +8 -4
  135. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  136. package/fesm2015/taiga-ui-kit-components.js +1 -1
  137. package/package.json +5 -5
  138. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +0 -1
  139. package/components/text-area/index.d.ts +0 -3
  140. package/components/text-area/package.json +0 -10
  141. package/components/text-area/text-area.directive.d.ts +0 -8
  142. package/esm2015/components/text-area/index.js +0 -4
  143. package/esm2015/components/text-area/taiga-ui-kit-components-text-area.js +0 -5
  144. package/esm2015/components/text-area/text-area.component.js +0 -217
  145. package/esm2015/components/text-area/text-area.directive.js +0 -18
  146. package/esm2015/components/text-area/text-area.module.js +0 -51
  147. package/fesm2015/taiga-ui-kit-components-text-area.js.map +0 -1
@@ -1,28 +1,31 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Inject, Optional, ViewChildren, Input, Output, NgModule } from '@angular/core';
3
3
  import * as i2 from '@taiga-ui/cdk';
4
- import { AbstractTuiInteractive, EMPTY_QUERY, tuiIsNativeFocusedIn, tuiClamp, tuiAsFocusableItemAccessor, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiRepeatTimesModule, TuiLetModule, TuiPreventDefaultModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { AbstractTuiInteractive, EMPTY_QUERY, tuiIsNativeFocusedIn, tuiClamp, tuiAsFocusableItemAccessor, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiRepeatTimesModule, TuiLetModule, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import * as i1 from '@taiga-ui/core';
6
- import { TuiAppearance, TuiModeDirective, TuiButtonModule } from '@taiga-ui/core';
6
+ import { TuiAppearance, TuiModeDirective, TUI_SPIN_ICONS, TuiButtonModule } from '@taiga-ui/core';
7
7
  import { TUI_PAGINATION_TEXTS } from '@taiga-ui/kit/tokens';
8
8
  import { tuiHorizontalDirectionToNumber } from '@taiga-ui/kit/utils/math';
9
+ import * as i5 from 'rxjs';
10
+ import { EMPTY } from 'rxjs';
11
+ import { map } from 'rxjs/operators';
9
12
  import * as i3 from '@angular/common';
10
13
  import { CommonModule } from '@angular/common';
11
14
  import * as i4 from '@tinkoff/ng-polymorpheus';
12
15
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
13
- import * as i5 from 'rxjs';
14
16
 
15
17
  const DOTS_LENGTH = 1;
16
18
  const ACTIVE_ITEM_LENGTH = 1;
17
19
  class TuiPaginationComponent extends AbstractTuiInteractive {
18
- constructor(el, modeDirective, texts$) {
20
+ constructor(el, modeDirective, texts$, icons) {
19
21
  super();
20
22
  this.el = el;
21
23
  this.modeDirective = modeDirective;
22
24
  this.texts$ = texts$;
25
+ this.icons = icons;
23
26
  this.els = EMPTY_QUERY;
24
27
  this.length = 1;
25
- this.size = 'm';
28
+ this.size = 'l';
26
29
  this.disabled = false;
27
30
  /**
28
31
  * Amount of visible pages around active page
@@ -37,6 +40,9 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
37
40
  */
38
41
  this.index = 0;
39
42
  this.indexChange = new EventEmitter();
43
+ this.mode$ = this.modeDirective
44
+ ? this.modeDirective.change$.pipe(map(() => { var _a; return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) || null; }))
45
+ : EMPTY;
40
46
  }
41
47
  get nativeFocusableElement() {
42
48
  if (this.disabled) {
@@ -65,11 +71,8 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
65
71
  get elementsLength() {
66
72
  return this.itemsFit ? this.length : this.maxElementsLength;
67
73
  }
68
- get sizeM() {
69
- return this.size === 'm';
70
- }
71
- get mode() {
72
- return this.modeDirective ? this.modeDirective.mode : null;
74
+ get buttonSize() {
75
+ return this.size === 'm' ? 'xs' : 's';
73
76
  }
74
77
  get arrowIsDisabledLeft() {
75
78
  return this.index === 0;
@@ -86,7 +89,7 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
86
89
  * @returns index or null (for '…')
87
90
  */
88
91
  getItemIndexByElementIndex(elementIndex) {
89
- if (!this.sizeM) {
92
+ if (this.size === 's') {
90
93
  return elementIndex;
91
94
  }
92
95
  if (elementIndex < this.sidePadding) {
@@ -197,8 +200,8 @@ class TuiPaginationComponent extends AbstractTuiInteractive {
197
200
  this.indexChange.emit(index);
198
201
  }
199
202
  }
200
- TuiPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, deps: [{ token: ElementRef }, { token: TuiModeDirective, optional: true }, { token: TUI_PAGINATION_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
201
- TuiPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPaginationComponent, selector: "tui-pagination", inputs: { length: "length", size: "size", disabled: "disabled", activePadding: "activePadding", sidePadding: "sidePadding", content: "content", index: "index" }, outputs: { indexChange: "indexChange" }, providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)], viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: TUI_FOCUSABLE_ITEM_ACCESSOR }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"sizeM; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n tuiPreventDefault=\"mousedown\"\n size=\"s\"\n appearance=\"flat\"\n icon=\"tuiIconChevronLeft\"\n class=\"t-button\"\n [title]=\"texts[0]\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('left')\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n tuiButton\n type=\"button\"\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n size=\"s\"\n class=\"t-button\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [appearance]=\"getElementMode(index)\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n tuiIconButton\n type=\"button\"\n tuiPreventDefault=\"mousedown\"\n size=\"s\"\n appearance=\"flat\"\n icon=\"tuiIconChevronRight\"\n class=\"t-button\"\n [title]=\"texts[1]\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('right')\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n tuiButton\n type=\"button\"\n shape=\"square\"\n class=\"t-button t-button_small\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n [appearance]=\"getSmallElementMode(indexItem, mode)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:block;text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button_active{background:currentColor}.t-button.t-button.t-button_small{width:.5rem;height:.5rem;margin:0}.t-button.t-button.t-button_small:not(:first-child){margin-left:.5rem}.t-dots{width:var(--tui-height-s);height:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-03);text-align:center;cursor:default}.t-dots:before{content:\"\\2026\"}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
203
+ TuiPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, deps: [{ token: ElementRef }, { token: TuiModeDirective, optional: true }, { token: TUI_PAGINATION_TEXTS }, { token: TUI_SPIN_ICONS }], target: i0.ɵɵFactoryTarget.Component });
204
+ TuiPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPaginationComponent, selector: "tui-pagination", inputs: { length: "length", size: "size", disabled: "disabled", activePadding: "activePadding", sidePadding: "sidePadding", content: "content", index: "index" }, outputs: { indexChange: "indexChange" }, providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)], viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: TUI_FOCUSABLE_ITEM_ACCESSOR }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"size !== 's'; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.decrement\"\n [size]=\"buttonSize\"\n [title]=\"texts[0]\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('left')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n tuiButton\n type=\"button\"\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n class=\"t-button\"\n [size]=\"buttonSize\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [appearance]=\"getElementMode(index)\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.increment\"\n [size]=\"buttonSize\"\n [title]=\"texts[1]\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('right')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n tuiButton\n type=\"button\"\n shape=\"square\"\n class=\"t-button t-button_small\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n [appearance]=\"getSmallElementMode(indexItem, mode$ | async)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n", styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:block;text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button_active{background:currentColor}.t-button.t-button.t-button_small{width:.5rem;height:.5rem;margin:0}.t-button.t-button.t-button_small:not(:first-child){margin-left:.5rem}.t-dots{width:var(--tui-height-s);height:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-03);text-align:center;cursor:default}.t-dots:before{content:\"\\2026\"}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiRepeatTimesDirective, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { type: i2.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
202
205
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationComponent, decorators: [{
203
206
  type: Component,
204
207
  args: [{
@@ -219,6 +222,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
219
222
  }] }, { type: i5.Observable, decorators: [{
220
223
  type: Inject,
221
224
  args: [TUI_PAGINATION_TEXTS]
225
+ }] }, { type: undefined, decorators: [{
226
+ type: Inject,
227
+ args: [TUI_SPIN_ICONS]
222
228
  }] }]; }, propDecorators: { els: [{
223
229
  type: ViewChildren,
224
230
  args: ['element', { read: TUI_FOCUSABLE_ITEM_ACCESSOR }]
@@ -244,18 +250,16 @@ class TuiPaginationModule {
244
250
  }
245
251
  TuiPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
246
252
  TuiPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, declarations: [TuiPaginationComponent], imports: [CommonModule,
253
+ PolymorpheusModule,
247
254
  TuiRepeatTimesModule,
248
255
  TuiLetModule,
249
- PolymorpheusModule,
250
- TuiPreventDefaultModule,
251
256
  TuiActiveZoneModule,
252
257
  TuiButtonModule], exports: [TuiPaginationComponent] });
253
258
  TuiPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPaginationModule, imports: [[
254
259
  CommonModule,
260
+ PolymorpheusModule,
255
261
  TuiRepeatTimesModule,
256
262
  TuiLetModule,
257
- PolymorpheusModule,
258
- TuiPreventDefaultModule,
259
263
  TuiActiveZoneModule,
260
264
  TuiButtonModule,
261
265
  ]] });
@@ -264,10 +268,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
264
268
  args: [{
265
269
  imports: [
266
270
  CommonModule,
271
+ PolymorpheusModule,
267
272
  TuiRepeatTimesModule,
268
273
  TuiLetModule,
269
- PolymorpheusModule,
270
- TuiPreventDefaultModule,
271
274
  TuiActiveZoneModule,
272
275
  TuiButtonModule,
273
276
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pagination.js","sources":["../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/pagination.module.ts","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n EMPTY_QUERY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiHorizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly els: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n length = 1;\n\n @Input()\n size: TuiSizeS = 'm';\n\n @Input()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n content: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /**\n * Active page index\n */\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n const activeElement = this.els.find((_, index) => index === activeElementIndex);\n\n return activeElement ? activeElement.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n get mode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (!this.sizeM) {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex - reverseElementIndex,\n );\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.els.first) {\n return;\n }\n\n const previous = this.els.find((_, index, array) => array[index + 1] === element);\n\n if (previous?.nativeFocusableElement) {\n previous.nativeFocusableElement.focus();\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.els.last) {\n return;\n }\n\n const next = this.els.find((_, index, array) => array[index - 1] === element);\n\n if (next?.nativeFocusableElement) {\n next.nativeFocusableElement.focus();\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(\n this.index + tuiHorizontalDirectionToNumber(direction),\n 0,\n this.lastIndex,\n ),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n nativeFocusableElement.focus();\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"sizeM; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n tuiPreventDefault=\"mousedown\"\n size=\"s\"\n appearance=\"flat\"\n icon=\"tuiIconChevronLeft\"\n class=\"t-button\"\n [title]=\"texts[0]\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('left')\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n tuiButton\n type=\"button\"\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n size=\"s\"\n class=\"t-button\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [appearance]=\"getElementMode(index)\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n tuiIconButton\n type=\"button\"\n tuiPreventDefault=\"mousedown\"\n size=\"s\"\n appearance=\"flat\"\n icon=\"tuiIconChevronRight\"\n class=\"t-button\"\n [title]=\"texts[1]\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('right')\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n tuiButton\n type=\"button\"\n shape=\"square\"\n class=\"t-button t-button_small\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n [appearance]=\"getSmallElementMode(indexItem, mode)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiLetModule,\n TuiPreventDefaultModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\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-pagination.js","sources":["../../../projects/kit/components/pagination/pagination.component.ts","../../../projects/kit/components/pagination/pagination.template.html","../../../projects/kit/components/pagination/pagination.module.ts","../../../projects/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n EMPTY_QUERY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TUI_SPIN_ICONS,\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n TuiSizeXS,\n TuiSpinIcons,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiHorizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsFocusableItemAccessor(TuiPaginationComponent)],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly els: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n length = 1;\n\n @Input()\n size: TuiSizeL | TuiSizeS = 'l';\n\n @Input()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n content: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /**\n * Active page index\n */\n @Input()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n readonly mode$ = this.modeDirective\n ? this.modeDirective.change$.pipe(map(() => this.modeDirective?.mode || null))\n : EMPTY;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n @Inject(TUI_SPIN_ICONS) readonly icons: TuiSpinIcons,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n const activeElement = this.els.find((_, index) => index === activeElementIndex);\n\n return activeElement ? activeElement.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get buttonSize(): TuiSizeXS {\n return this.size === 'm' ? 'xs' : 's';\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (this.size === 's') {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return tuiClamp(\n computedIndex,\n elementIndex,\n this.lastIndex - reverseElementIndex,\n );\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.els.first) {\n return;\n }\n\n const previous = this.els.find((_, index, array) => array[index + 1] === element);\n\n if (previous?.nativeFocusableElement) {\n previous.nativeFocusableElement.focus();\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.els.last) {\n return;\n }\n\n const next = this.els.find((_, index, array) => array[index - 1] === element);\n\n if (next?.nativeFocusableElement) {\n next.nativeFocusableElement.focus();\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n tuiClamp(\n this.index + tuiHorizontalDirectionToNumber(direction),\n 0,\n this.lastIndex,\n ),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n nativeFocusableElement.focus();\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","<div\n class=\"t-content\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <ng-container *ngIf=\"size !== 's'; else smallButtons\">\n <ng-container *ngIf=\"texts$ | async as texts\">\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.decrement\"\n [size]=\"buttonSize\"\n [title]=\"texts[0]\"\n [disabled]=\"arrowIsDisabledLeft\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('left')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n <ng-container *tuiRepeatTimes=\"let elementIndex of elementsLength\">\n <ng-container *tuiLet=\"getItemIndexByElementIndex(elementIndex) as index\">\n <button\n *ngIf=\"index !== null; else dotsTemplate\"\n #element\n tuiButton\n type=\"button\"\n automation-id=\"tui-pagination__element\"\n shape=\"square\"\n class=\"t-button\"\n [size]=\"buttonSize\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(index)\"\n [appearance]=\"getElementMode(index)\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </ng-container>\n <button\n tuiIconButton\n type=\"button\"\n appearance=\"flat\"\n class=\"t-button\"\n [icon]=\"icons.increment\"\n [size]=\"buttonSize\"\n [title]=\"texts[1]\"\n [disabled]=\"arrowIsDisabledRight\"\n [focusable]=\"false\"\n (click)=\"onArrowClick('right')\"\n (mousedown.silent.prevent)=\"(0)\"\n ></button>\n </ng-container>\n </ng-container>\n <ng-template #smallButtons>\n <button\n *tuiRepeatTimes=\"let indexItem of length\"\n #element\n tuiButton\n type=\"button\"\n shape=\"square\"\n class=\"t-button t-button_small\"\n [class.t-button_active]=\"indexItem === index\"\n [disabled]=\"disabled\"\n [focusable]=\"elementIsFocusable(indexItem)\"\n [appearance]=\"getSmallElementMode(indexItem, mode$ | async)\"\n (click)=\"onElementClick(indexItem)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n ></button>\n </ng-template>\n <ng-template #dotsTemplate>\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-dots\"\n ></div>\n </ng-template>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiLetModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy, Inject, HostListener, inject, Injectable, Directive, NgModule } from '@angular/core';
3
3
  import * as i1 from '@taiga-ui/core';
4
- import { TUI_ANIMATION_OPTIONS, TUI_CLOSE_WORD, tuiSlideInTop, tuiFadeIn, TuiButtonModule } from '@taiga-ui/core';
4
+ import { TUI_ANIMATION_OPTIONS, TUI_CLOSE_WORD, TUI_COMMON_ICONS, tuiSlideInTop, tuiFadeIn, TuiButtonModule } from '@taiga-ui/core';
5
5
  import * as i2 from '@tinkoff/ng-polymorpheus';
6
6
  import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import * as i3 from '@angular/common';
@@ -10,17 +10,18 @@ import * as i4 from 'rxjs';
10
10
  import { tuiCreateOptions, tuiProvideOptions, AbstractTuiDialogService, AbstractTuiDialogDirective, tuiAsDialog } from '@taiga-ui/cdk';
11
11
 
12
12
  class TuiPdfViewerComponent {
13
- constructor(animation, closeWord$, context) {
13
+ constructor(animation, closeWord$, icons, context) {
14
14
  this.animation = animation;
15
15
  this.closeWord$ = closeWord$;
16
+ this.icons = icons;
16
17
  this.context = context;
17
18
  }
18
19
  onKeyDownEsc() {
19
20
  this.context.$implicit.complete();
20
21
  }
21
22
  }
22
- TuiPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TUI_CLOSE_WORD }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
23
- TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;color:var(--tui-text-01-night);background:#333639}.t-header{display:flex;align-items:center;height:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-right:.3125rem;overflow:hidden}.t-actions{display:flex;margin-left:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:.75rem;color:var(--tui-text-01-night);background:rgba(255,255,255,.32)}.t-close:hover{background:rgba(255,255,255,.4)}.t-content{height:calc(100% - 4rem);overflow:hidden}.t-iframe{width:100%;height:100%}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ TuiPdfViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, deps: [{ token: TUI_ANIMATION_OPTIONS }, { token: TUI_CLOSE_WORD }, { token: TUI_COMMON_ICONS }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
24
+ TuiPdfViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPdfViewerComponent, selector: "tui-pdf-viewer", host: { listeners: { "document:keydown.esc": "onKeyDownEsc()" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInTop": "animation" } }, ngImport: i0, template: "<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n", styles: [":host{display:block;width:100%;height:100%;box-sizing:border-box;color:var(--tui-text-01-night);background:#333639}.t-header{display:flex;align-items:center;height:4rem;padding:0 1rem 0 1.5625rem;box-shadow:inset 0 -1px #535659}.t-title{margin:0;font:var(--tui-font-text-m);white-space:nowrap;text-overflow:ellipsis;padding-right:.3125rem;overflow:hidden}.t-actions{display:flex;margin-left:auto}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-left:.75rem;color:var(--tui-text-01-night);background:rgba(255,255,255,.32)}.t-close:hover{background:rgba(255,255,255,.4)}.t-content{height:calc(100% - 4rem);overflow:hidden}.t-iframe{width:100%;height:100%}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i3.AsyncPipe }, animations: [tuiSlideInTop, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPdfViewerComponent, decorators: [{
25
26
  type: Component,
26
27
  args: [{
@@ -40,6 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
40
41
  }] }, { type: i4.Observable, decorators: [{
41
42
  type: Inject,
42
43
  args: [TUI_CLOSE_WORD]
44
+ }] }, { type: undefined, decorators: [{
45
+ type: Inject,
46
+ args: [TUI_COMMON_ICONS]
43
47
  }] }, { type: undefined, decorators: [{
44
48
  type: Inject,
45
49
  args: [POLYMORPHEUS_CONTEXT]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pdf-viewer.js","sources":["../../../projects/kit/components/pdf-viewer/pdf-viewer.component.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.template.html","../../../projects/kit/components/pdf-viewer/pdf-viewer.options.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.service.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.directive.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.module.ts","../../../projects/kit/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostListener, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_CLOSE_WORD,\n tuiFadeIn,\n tuiSlideInTop,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer.options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n templateUrl: './pdf-viewer.template.html',\n styleUrls: ['./pdf-viewer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInTop]': 'animation',\n },\n})\nexport class TuiPdfViewerComponent<I, O> {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPdfViewerOptions<I>, O>,\n ) {}\n\n @HostListener('document:keydown.esc')\n onKeyDownEsc(): void {\n this.context.$implicit.complete();\n }\n}\n","<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n icon=\"tuiIconCloseLarge\"\n class=\"t-close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n","import {Provider} from '@angular/core';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPdfViewerOptions<I = undefined> {\n readonly label: string;\n readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;\n readonly data: I;\n}\n\ntype TuiPdfViewerDefaultOptions = Omit<TuiPdfViewerOptions<unknown>, 'data'>;\n\nexport const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerDefaultOptions = {\n label: ``,\n actions: ``,\n};\n\n/**\n * Default parameters for PdfViewer component\n */\nexport const TUI_PDF_VIEWER_OPTIONS = tuiCreateOptions(TUI_PDF_VIEWER_DEFAULT_OPTIONS);\n\nexport function tuiPdfViewerOptionsProvider(\n options: Partial<TuiPdfViewerDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_PDF_VIEWER_OPTIONS,\n options,\n TUI_PDF_VIEWER_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TUI_PDF_VIEWER_OPTIONS, TuiPdfViewerOptions} from './pdf-viewer.options';\n\nconst DIALOG = new PolymorpheusComponent(TuiPdfViewerComponent);\n\ntype Content<G> = PolymorpheusContent<\n TuiBaseDialogContext<G> & TuiPdfViewerOptions<unknown>\n>;\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiPdfViewerService extends AbstractTuiDialogService<\n TuiPdfViewerOptions<unknown>\n> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiPdfViewerOptions<unknown> = {\n ...inject(TUI_PDF_VIEWER_OPTIONS),\n data: undefined,\n };\n\n override open<G>(\n content: Content<G> | SafeResourceUrl,\n options: Partial<TuiPdfViewerOptions<any>> = {},\n ): Observable<G> {\n return super.open(content as Content<G>, options);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer.options';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@Directive({\n selector: 'ng-template[tuiPdfViewer]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiPdfViewerService,\n },\n ],\n inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],\n outputs: ['openChange: tuiPdfViewerChange'],\n})\nexport class TuiPdfViewerDirective<T> extends AbstractTuiDialogDirective<\n TuiPdfViewerOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TuiPdfViewerDirective} from './pdf-viewer.directive';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule, PolymorpheusModule],\n declarations: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n exports: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n providers: [tuiAsDialog(TuiPdfViewerService)],\n})\nexport class TuiPdfViewerModule {}\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-pdf-viewer.js","sources":["../../../projects/kit/components/pdf-viewer/pdf-viewer.component.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.template.html","../../../projects/kit/components/pdf-viewer/pdf-viewer.options.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.service.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.directive.ts","../../../projects/kit/components/pdf-viewer/pdf-viewer.module.ts","../../../projects/kit/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostListener, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_CLOSE_WORD,\n TUI_COMMON_ICONS,\n TuiCommonIcons,\n tuiFadeIn,\n tuiSlideInTop,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer.options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n templateUrl: './pdf-viewer.template.html',\n styleUrls: ['./pdf-viewer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n host: {\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInTop]': 'animation',\n },\n})\nexport class TuiPdfViewerComponent<I, O> {\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPdfViewerOptions<I>, O>,\n ) {}\n\n @HostListener('document:keydown.esc')\n onKeyDownEsc(): void {\n this.context.$implicit.complete();\n }\n}\n","<header class=\"t-header\">\n <h2\n automation-id=\"tui-pdf-viewer__label\"\n class=\"t-title\"\n >\n {{ context.label }}\n </h2>\n <div class=\"t-actions\">\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(context.actions) as text; context: context\">\n {{ text }}\n </ng-container>\n </div>\n <button\n tuiIconButton\n shape=\"rounded\"\n appearance=\"\"\n size=\"s\"\n type=\"button\"\n class=\"t-close\"\n [icon]=\"icons.close\"\n [title]=\"closeWord$ | async\"\n (click)=\"context.$implicit.complete()\"\n ></button>\n</header>\n<section class=\"t-content\">\n <!-- TODO: Polymorpheus fix type -->\n <iframe\n *polymorpheusOutlet=\"$any(context.content) as content; context: context\"\n title=\"pdf\"\n class=\"t-iframe\"\n [src]=\"content\"\n ></iframe>\n</section>\n","import {Provider} from '@angular/core';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiPdfViewerOptions<I = undefined> {\n readonly label: string;\n readonly actions: PolymorpheusContent<TuiPdfViewerOptions<I>>;\n readonly data: I;\n}\n\ntype TuiPdfViewerDefaultOptions = Omit<TuiPdfViewerOptions<unknown>, 'data'>;\n\nexport const TUI_PDF_VIEWER_DEFAULT_OPTIONS: TuiPdfViewerDefaultOptions = {\n label: ``,\n actions: ``,\n};\n\n/**\n * Default parameters for PdfViewer component\n */\nexport const TUI_PDF_VIEWER_OPTIONS = tuiCreateOptions(TUI_PDF_VIEWER_DEFAULT_OPTIONS);\n\nexport function tuiPdfViewerOptionsProvider(\n options: Partial<TuiPdfViewerDefaultOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_PDF_VIEWER_OPTIONS,\n options,\n TUI_PDF_VIEWER_DEFAULT_OPTIONS,\n );\n}\n","import {inject, Injectable} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TUI_PDF_VIEWER_OPTIONS, TuiPdfViewerOptions} from './pdf-viewer.options';\n\nconst DIALOG = new PolymorpheusComponent(TuiPdfViewerComponent);\n\ntype Content<G> = PolymorpheusContent<\n TuiBaseDialogContext<G> & TuiPdfViewerOptions<unknown>\n>;\n\n@Injectable({\n providedIn: `root`,\n})\nexport class TuiPdfViewerService extends AbstractTuiDialogService<\n TuiPdfViewerOptions<unknown>\n> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiPdfViewerOptions<unknown> = {\n ...inject(TUI_PDF_VIEWER_OPTIONS),\n data: undefined,\n };\n\n override open<G>(\n content: Content<G> | SafeResourceUrl,\n options: Partial<TuiPdfViewerOptions<any>> = {},\n ): Observable<G> {\n return super.open(content as Content<G>, options);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer.options';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@Directive({\n selector: 'ng-template[tuiPdfViewer]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiPdfViewerService,\n },\n ],\n inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],\n outputs: ['openChange: tuiPdfViewerChange'],\n})\nexport class TuiPdfViewerDirective<T> extends AbstractTuiDialogDirective<\n TuiPdfViewerOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsDialog} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TuiPdfViewerDirective} from './pdf-viewer.directive';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule, PolymorpheusModule],\n declarations: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n exports: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n providers: [tuiAsDialog(TuiPdfViewerService)],\n})\nexport class TuiPdfViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -97,8 +97,9 @@ class TuiProgressCircleComponent {
97
97
  this.size = 'm';
98
98
  this.animationDelay$ = of(true).pipe(delay(0));
99
99
  }
100
- get progressPercentage() {
101
- return this.value / this.max;
100
+ get progressRatio() {
101
+ const ratio = this.value / this.max;
102
+ return Number.isFinite(ratio) ? ratio : 0;
102
103
  }
103
104
  // TODO: drop support of legacy Edge (EdgeHTML) in v4.x
104
105
  get oldEdgeRadiusFallback() {
@@ -110,7 +111,7 @@ class TuiProgressCircleComponent {
110
111
  }
111
112
  }
112
113
  TuiProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, deps: [{ token: USER_AGENT }, { token: WINDOW }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
113
- TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-percentage": "this.progressPercentage" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-percentage) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-percentage) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-percentage) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-percentage) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
+ TuiProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiProgressCircleComponent, selector: "tui-progress-circle", inputs: { value: "value", max: "max", color: "color", size: "size" }, host: { properties: { "style.--tui-progress-color": "this.color", "attr.data-size": "this.size", "style.--progress-ratio": "this.progressRatio" } }, viewQueries: [{ propertyName: "progressCircle", first: true, predicate: ["progressCircle"], descendants: true, static: true }], ngImport: i0, template: "<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n", styles: [":host{position:relative;display:block;color:var(--tui-primary);transform:rotate(-90deg);transform-origin:center;font-size:1rem}:host[data-size=s]{width:2em;height:2em}:host[data-size=s] .t-track{r:.75em;stroke-width:.5em}:host[data-size=s] .t-progress{r:.75em;stroke-width:.5em;stroke-dasharray:4.71238898em;stroke-dashoffset:4.71238898em}:host[data-size=s] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(4.71238898em - var(--progress-ratio) * 4.71238898em)}:host[data-size=m]{width:3em;height:3em}:host[data-size=m] .t-track{r:1.3125em;stroke-width:.375em}:host[data-size=m] .t-progress{r:1.3125em;stroke-width:.375em;stroke-dasharray:8.24668072em;stroke-dashoffset:8.24668072em}:host[data-size=m] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(8.24668072em - var(--progress-ratio) * 8.24668072em)}:host[data-size=l]{width:4em;height:4em}:host[data-size=l] .t-track{r:1.8125em;stroke-width:.375em}:host[data-size=l] .t-progress{r:1.8125em;stroke-width:.375em;stroke-dasharray:11.38827337em;stroke-dashoffset:11.38827337em}:host[data-size=l] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(11.38827337em - var(--progress-ratio) * 11.38827337em)}:host[data-size=xl]{width:7em;height:7em}:host[data-size=xl] .t-track{r:3.3125em;stroke-width:.375em}:host[data-size=xl] .t-progress{r:3.3125em;stroke-width:.375em;stroke-dasharray:20.81305133em;stroke-dashoffset:20.81305133em}:host[data-size=xl] .t-progress_filled{transition:stroke-dashoffset var(--tui-duration) linear;stroke-dashoffset:calc(20.81305133em - var(--progress-ratio) * 20.81305133em)}.t-track{fill:transparent;stroke:var(--tui-base-03)}.t-progress{fill:transparent;stroke:var(--tui-progress-color, currentColor);stroke-linecap:round}.t-hidden-progress{position:absolute;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0}.t-svg{overflow:unset}\n"], pipes: { "async": i1$1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
115
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiProgressCircleComponent, decorators: [{
115
116
  type: Component,
116
117
  args: [{
@@ -145,9 +146,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
145
146
  }, {
146
147
  type: HostBinding,
147
148
  args: ['attr.data-size']
148
- }], progressPercentage: [{
149
+ }], progressRatio: [{
149
150
  type: HostBinding,
150
- args: ['style.--progress-percentage']
151
+ args: ['style.--progress-ratio']
151
152
  }] } });
152
153
 
153
154
  class TuiProgressLabelComponent {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.component.ts","../../../projects/kit/components/progress/progress-segmented/progress-segmented.template.html","../../../projects/kit/components/progress/progress.module.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styleUrls: ['./progress-bar.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressBarComponent {\n @Input()\n @HostBinding('style.--tui-progress-color')\n color?: string;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n TuiDestroyService,\n tuiIsEdgeOlderThan,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nfunction calculateColorSegments(colors: string[], progressWidth: number): string {\n const segmentWidth = Math.ceil(progressWidth / colors.length);\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right ${colorsString})`;\n}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n host: {\n '[$.style.--tui-progress-color]': 'calcSegments$',\n '($.style.--tui-progress-color)': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiProgressColorSegmentsDirective {\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n private readonly isOldBrowsers = tuiIsEdgeOlderThan(\n CHROMIUM_EDGE_START_VERSION,\n this.userAgent,\n );\n\n @Input('tuiProgressColorSegments')\n colors: string[] = [];\n\n @tuiPure\n get calcSegments$(): Observable<string> {\n return this.resize$.pipe(\n map(() =>\n this.isOldBrowsers\n ? this.colors[0]\n : calculateColorSegments(\n this.colors,\n this.el.nativeElement.offsetWidth,\n ),\n ),\n );\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLProgressElement>,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {USER_AGENT, WINDOW} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, tuiIsEdgeOlderThan} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\nimport {of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrls: ['./progress-circle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressCircleComponent {\n @ViewChild('progressCircle', {static: true})\n private readonly progressCircle!: ElementRef<SVGCircleElement>;\n\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('style.--tui-progress-color')\n color: string | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS | TuiSizeXL = 'm';\n\n @HostBinding('style.--progress-percentage')\n get progressPercentage(): number {\n return this.value / this.max;\n }\n\n animationDelay$ = of(true).pipe(delay(0));\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n get oldEdgeRadiusFallback(): number | null {\n if (!tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {\n return null;\n }\n\n const strokeWidth = parseInt(\n this.win.getComputedStyle(this.progressCircle.nativeElement).strokeWidth,\n 10,\n );\n\n return (this.el.nativeElement.offsetWidth - strokeWidth) / 2;\n }\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {}\n}\n","<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrls: ['./progress-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabelComponent {}\n","<ng-content select=\"progress\"></ng-content>\n<ng-content select=\"tui-progress-circle\"></ng-content>\n<span class=\"t-label\">\n <ng-content></ng-content>\n</span>\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-progress-segmented',\n templateUrl: './progress-segmented.template.html',\n styleUrls: ['./progress-segmented.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressSegmentedComponent {\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n colors: string | readonly string[] = 'var(--tui-primary)';\n\n getActiveColor(index: number = 0): string | null {\n return tuiIsString(this.colors)\n ? this.colors\n : this.colors[index] || this.colors[this.colors.length - 1];\n }\n}\n","<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\n\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegmentsDirective} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircleComponent} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabelComponent} from './progress-label/progress-label.component';\nimport {TuiProgressSegmentedComponent} from './progress-segmented/progress-segmented.component';\n\n@NgModule({\n imports: [CommonModule, TuiRepeatTimesModule],\n declarations: [\n TuiProgressBarComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressCircleComponent,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressCircleComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-progress.js","sources":["../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.component.ts","../../../projects/kit/components/progress/progress-segmented/progress-segmented.template.html","../../../projects/kit/components/progress/progress.module.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {TuiSizeS} from '@taiga-ui/core';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styleUrls: ['./progress-bar.component.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressBarComponent {\n @Input()\n @HostBinding('style.--tui-progress-color')\n color?: string;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n TuiDestroyService,\n tuiIsEdgeOlderThan,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nfunction calculateColorSegments(colors: string[], progressWidth: number): string {\n const segmentWidth = Math.ceil(progressWidth / colors.length);\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right ${colorsString})`;\n}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n host: {\n '[$.style.--tui-progress-color]': 'calcSegments$',\n '($.style.--tui-progress-color)': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiProgressColorSegmentsDirective {\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n private readonly isOldBrowsers = tuiIsEdgeOlderThan(\n CHROMIUM_EDGE_START_VERSION,\n this.userAgent,\n );\n\n @Input('tuiProgressColorSegments')\n colors: string[] = [];\n\n @tuiPure\n get calcSegments$(): Observable<string> {\n return this.resize$.pipe(\n map(() =>\n this.isOldBrowsers\n ? this.colors[0]\n : calculateColorSegments(\n this.colors,\n this.el.nativeElement.offsetWidth,\n ),\n ),\n );\n }\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLProgressElement>,\n @Inject(TuiResizeService) private readonly resize$: Observable<unknown>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {USER_AGENT, WINDOW} from '@ng-web-apis/common';\nimport {CHROMIUM_EDGE_START_VERSION, tuiIsEdgeOlderThan} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\nimport {of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrls: ['./progress-circle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressCircleComponent {\n @ViewChild('progressCircle', {static: true})\n private readonly progressCircle!: ElementRef<SVGCircleElement>;\n\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('style.--tui-progress-color')\n color: string | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS | TuiSizeXL = 'm';\n\n @HostBinding('style.--progress-ratio')\n get progressRatio(): number {\n const ratio = this.value / this.max;\n\n return Number.isFinite(ratio) ? ratio : 0;\n }\n\n animationDelay$ = of(true).pipe(delay(0));\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n get oldEdgeRadiusFallback(): number | null {\n if (!tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent)) {\n return null;\n }\n\n const strokeWidth = parseInt(\n this.win.getComputedStyle(this.progressCircle.nativeElement).strokeWidth,\n 10,\n );\n\n return (this.el.nativeElement.offsetWidth - strokeWidth) / 2;\n }\n\n constructor(\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(WINDOW) private readonly win: Window,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n ) {}\n}\n","<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<svg\n height=\"100%\"\n width=\"100%\"\n aria-hidden=\"true\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n\n <circle\n #progressCircle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n [class.t-progress_filled]=\"animationDelay$ | async\"\n [attr.r]=\"oldEdgeRadiusFallback\"\n ></circle>\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrls: ['./progress-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabelComponent {}\n","<ng-content select=\"progress\"></ng-content>\n<ng-content select=\"tui-progress-circle\"></ng-content>\n<span class=\"t-label\">\n <ng-content></ng-content>\n</span>\n","import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-progress-segmented',\n templateUrl: './progress-segmented.template.html',\n styleUrls: ['./progress-segmented.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressSegmentedComponent {\n @Input()\n value = 0;\n\n @Input()\n max = 1;\n\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = 'm';\n\n @Input()\n colors: string | readonly string[] = 'var(--tui-primary)';\n\n getActiveColor(index: number = 0): string | null {\n return tuiIsString(this.colors)\n ? this.colors\n : this.colors[index] || this.colors[this.colors.length - 1];\n }\n}\n","<progress\n class=\"t-hidden-progress\"\n [value]=\"value\"\n [max]=\"max\"\n></progress>\n\n<span\n *tuiRepeatTimes=\"let index of max\"\n aria-hidden=\"true\"\n class=\"t-segment\"\n [style.background]=\"index < value ? getActiveColor(index) : null\"\n></span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\n\nimport {TuiProgressBarComponent} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegmentsDirective} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircleComponent} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabelComponent} from './progress-label/progress-label.component';\nimport {TuiProgressSegmentedComponent} from './progress-segmented/progress-segmented.component';\n\n@NgModule({\n imports: [CommonModule, TuiRepeatTimesModule],\n declarations: [\n TuiProgressBarComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressCircleComponent,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n exports: [\n TuiProgressBarComponent,\n TuiProgressCircleComponent,\n TuiProgressColorSegmentsDirective,\n TuiProgressLabelComponent,\n TuiProgressSegmentedComponent,\n ],\n})\nexport class TuiProgressModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -23,7 +23,7 @@ class TuiPromptComponent {
23
23
  }
24
24
  }
25
25
  TuiPromptComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPromptComponent, deps: [{ token: TUI_PROMPT_WORDS }, { token: POLYMORPHEUS_CONTEXT }, { token: TUI_IS_MOBILE }], target: i0.ɵɵFactoryTarget.Component });
26
- TuiPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPromptComponent, selector: "tui-prompt", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ TuiPromptComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPromptComponent, selector: "tui-prompt", ngImport: i0, template: "<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n", styles: [".t-content:not(:empty){margin-bottom:.875rem}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPromptComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-prompt.js","sources":["../../../projects/kit/components/prompt/prompt.component.ts","../../../projects/kit/components/prompt/prompt.template.html","../../../projects/kit/components/prompt/prompt.module.ts","../../../projects/kit/components/prompt/taiga-ui-kit-components-prompt.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk';\nimport {TuiAppearance, TuiDialogContext} from '@taiga-ui/core';\nimport {TUI_PROMPT_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n POLYMORPHEUS_CONTEXT,\n PolymorpheusComponent,\n PolymorpheusContent,\n} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport interface TuiPromptData {\n readonly content?: PolymorpheusContent;\n readonly yes?: string;\n readonly no?: string;\n}\n\n// TODO: Rename to tui-confirm in 4.0\n@Component({\n selector: 'tui-prompt',\n templateUrl: './prompt.template.html',\n styleUrls: ['./prompt.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPromptComponent {\n constructor(\n @Inject(TUI_PROMPT_WORDS) readonly words$: Observable<{yes: string; no: string}>,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialogContext<boolean, TuiPromptData | undefined>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get appearance(): TuiAppearance {\n return this.isMobile ? TuiAppearance.Secondary : TuiAppearance.Flat;\n }\n}\n\nexport const TUI_PROMPT = new PolymorpheusComponent(TuiPromptComponent);\n","<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPromptComponent} from './prompt.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule, TuiAutoFocusModule],\n declarations: [TuiPromptComponent],\n exports: [TuiPromptComponent],\n})\nexport class TuiPromptModule {}\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-prompt.js","sources":["../../../projects/kit/components/prompt/prompt.component.ts","../../../projects/kit/components/prompt/prompt.template.html","../../../projects/kit/components/prompt/prompt.module.ts","../../../projects/kit/components/prompt/taiga-ui-kit-components-prompt.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk';\nimport {TuiAppearance, TuiDialogContext} from '@taiga-ui/core';\nimport {TUI_PROMPT_WORDS} from '@taiga-ui/kit/tokens';\nimport {\n POLYMORPHEUS_CONTEXT,\n PolymorpheusComponent,\n PolymorpheusContent,\n} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport interface TuiPromptData {\n readonly content?: PolymorpheusContent;\n readonly yes?: string;\n readonly no?: string;\n}\n\n// TODO: Rename to tui-confirm in 4.0\n@Component({\n selector: 'tui-prompt',\n templateUrl: './prompt.template.html',\n styleUrls: ['./prompt.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPromptComponent {\n constructor(\n @Inject(TUI_PROMPT_WORDS) readonly words$: Observable<{yes: string; no: string}>,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialogContext<boolean, TuiPromptData | undefined>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get appearance(): TuiAppearance {\n return this.isMobile ? TuiAppearance.Secondary : TuiAppearance.Flat;\n }\n}\n\nexport const TUI_PROMPT = new PolymorpheusComponent(TuiPromptComponent);\n","<div\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></div>\n<div\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n tuiButton\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n tuiButton\n tuiAutoFocus\n type=\"button\"\n size=\"m\"\n class=\"t-button\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiAutoFocusModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPromptComponent} from './prompt.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule, TuiAutoFocusModule],\n declarations: [TuiPromptComponent],\n exports: [TuiPromptComponent],\n})\nexport class TuiPromptModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}