@taiga-ui/core 3.38.0 → 3.39.0-dev.main.c989f60

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 (50) hide show
  1. package/bundles/taiga-ui-core-components-alert.umd.js +1 -1
  2. package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-calendar.umd.js +27 -9
  4. package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-data-list.umd.js +9 -6
  6. package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +2 -2
  8. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +24 -5
  10. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  12. package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-directives-hint.umd.js +49 -43
  14. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +24 -6
  16. package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
  17. package/components/calendar/calendar.component.d.ts +6 -4
  18. package/components/data-list/option/option.component.d.ts +2 -2
  19. package/components/primitive-year-picker/primitive-year-picker.component.d.ts +4 -2
  20. package/constants/cache-basting-payload.d.ts +1 -1
  21. package/directives/hint/hint.component.d.ts +3 -2
  22. package/esm2015/components/alert/alert.component.js +2 -2
  23. package/esm2015/components/calendar/calendar.component.js +18 -8
  24. package/esm2015/components/data-list/option/option.component.js +6 -3
  25. package/esm2015/components/primitive-textfield/primitive-textfield.component.js +1 -1
  26. package/esm2015/components/primitive-textfield/textfield/textfield.component.js +1 -1
  27. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +15 -4
  28. package/esm2015/components/root/root.component.js +1 -1
  29. package/esm2015/directives/hint/hint.component.js +11 -5
  30. package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +17 -7
  31. package/fesm2015/taiga-ui-core-components-alert.js +1 -1
  32. package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
  33. package/fesm2015/taiga-ui-core-components-calendar.js +17 -7
  34. package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
  35. package/fesm2015/taiga-ui-core-components-data-list.js +5 -2
  36. package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
  37. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -2
  38. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  39. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +14 -3
  40. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  41. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  42. package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
  43. package/fesm2015/taiga-ui-core-directives-hint.js +14 -8
  44. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  45. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +16 -6
  46. package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
  47. package/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.d.ts +4 -2
  48. package/package.json +4 -4
  49. package/styles/mixins/textfield.less +5 -0
  50. package/styles/mixins/textfield.scss +5 -0
@@ -5,7 +5,7 @@ import { tuiPositionAccessorFor, TuiRectAccessor, tuiRectAccessorFor, } from '@t
5
5
  import { tuiFadeIn } from '@taiga-ui/core/animations';
6
6
  import { TuiModeDirective } from '@taiga-ui/core/directives/mode';
7
7
  import { TuiPositionService, TuiVisualViewportService } from '@taiga-ui/core/services';
8
- import { TUI_ANIMATION_OPTIONS } from '@taiga-ui/core/tokens';
8
+ import { TUI_ANIMATION_OPTIONS, TUI_VIEWPORT } from '@taiga-ui/core/tokens';
9
9
  import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
10
10
  import { map, takeUntil } from 'rxjs/operators';
11
11
  // eslint-disable-next-line import/no-cycle
@@ -19,8 +19,9 @@ import * as i3 from "@taiga-ui/core/abstract";
19
19
  import * as i4 from "./hint-hover.directive";
20
20
  import * as i5 from "@taiga-ui/core/directives/mode";
21
21
  import * as i6 from "@taiga-ui/core/services";
22
+ const GAP = 4;
22
23
  export class TuiHintComponent {
23
- constructor(hovered$, position$, destroy$, animation, pointer, accessor, el, polymorpheus, hover, mode, visualViewportService) {
24
+ constructor(hovered$, position$, destroy$, animation, pointer, accessor, el, polymorpheus, hover, mode, visualViewportService, viewport) {
24
25
  var _a;
25
26
  this.animation = animation;
26
27
  this.pointer = pointer;
@@ -30,6 +31,7 @@ export class TuiHintComponent {
30
31
  this.hover = hover;
31
32
  this.mode = mode;
32
33
  this.visualViewportService = visualViewportService;
34
+ this.viewport = viewport;
33
35
  this.appearance = this.polymorpheus.$implicit.appearance || ((_a = this.mode) === null || _a === void 0 ? void 0 : _a.mode);
34
36
  position$
35
37
  .pipe(map(point => this.visualViewportService.correct(point)), takeUntil(destroy$))
@@ -54,10 +56,11 @@ export class TuiHintComponent {
54
56
  const { height, width } = this.el.nativeElement.getBoundingClientRect();
55
57
  const { style } = this.el.nativeElement;
56
58
  const rect = this.accessor.getClientRect();
59
+ const viewport = this.viewport.getClientRect();
57
60
  if (rect === EMPTY_CLIENT_RECT) {
58
61
  return;
59
62
  }
60
- const safeLeft = Math.max(left, 4);
63
+ const safeLeft = tuiClamp(left, GAP, viewport.width - width - GAP);
61
64
  const [beakTop, beakLeft] = this.visualViewportService.correct([
62
65
  rect.top + rect.height / 2 - top,
63
66
  rect.left + rect.width / 2 - safeLeft,
@@ -68,7 +71,7 @@ export class TuiHintComponent {
68
71
  style.setProperty('--left', tuiPx(tuiClamp(beakLeft, 0.5, width - 1)));
69
72
  }
70
73
  }
71
- TuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHintComponent, deps: [{ token: TuiHoveredService }, { token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TUI_ANIMATION_OPTIONS }, { token: TuiHintPointerDirective, optional: true }, { token: TuiRectAccessor }, { token: ElementRef }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiHintHoverDirective }, { token: TuiModeDirective, optional: true }, { token: TuiVisualViewportService }], target: i0.ɵɵFactoryTarget.Component });
74
+ TuiHintComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiHintComponent, deps: [{ token: TuiHoveredService }, { token: TuiPositionService }, { token: TuiDestroyService, self: true }, { token: TUI_ANIMATION_OPTIONS }, { token: TuiHintPointerDirective, optional: true }, { token: TuiRectAccessor }, { token: ElementRef }, { token: POLYMORPHEUS_CONTEXT }, { token: TuiHintHoverDirective }, { token: TuiModeDirective, optional: true }, { token: TuiVisualViewportService }, { token: TUI_VIEWPORT }], target: i0.ɵɵFactoryTarget.Component });
72
75
  TuiHintComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiHintComponent, selector: "tui-hint", host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "@tuiFadeIn": "animation", "class._untouchable": "pointer", "attr.data-appearance": "this.appearance" } }, providers: [
73
76
  TuiDestroyService,
74
77
  TuiPositionService,
@@ -148,6 +151,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
148
151
  }] }, { type: i6.TuiVisualViewportService, decorators: [{
149
152
  type: Inject,
150
153
  args: [TuiVisualViewportService]
154
+ }] }, { type: i3.TuiRectAccessor, decorators: [{
155
+ type: Inject,
156
+ args: [TUI_VIEWPORT]
151
157
  }] }]; }, propDecorators: { appearance: [{
152
158
  type: HostBinding,
153
159
  args: ['attr.data-appearance']
@@ -155,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
155
161
  type: HostListener,
156
162
  args: ['document:click', ['$event.target']]
157
163
  }], update: [] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixRQUFRLEVBRVIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGtCQUFrQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsb0JBQW9CLEVBQXNCLE1BQU0sMEJBQTBCLENBQUM7QUFFbkYsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBeUJqRSxNQUFNLE9BQU8s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O3dCQUNqQixzQkFBc0IsQ0FBQyxNQUFNLENBQUM7d0JBQzlCLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztxQkFDL0M7b0JBQ0QsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUN2QixJQUFJLEVBQUU7d0JBQ0YsY0FBYyxFQUFFLFdBQVc7d0JBQzNCLHNCQUFzQixFQUFFLFNBQVM7cUJBQ3BDO2lCQUNKOzswQkFNUSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsdUJBQXVCOzswQkFDMUMsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFFdkIsTUFBTTsyQkFBQyx3QkFBd0I7NENBaEIzQixVQUFVO3NCQURsQixXQUFXO3VCQUFDLHNCQUFzQjtnQkF5Q25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFXekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIHR1aUNsYW1wLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpSG92ZXJlZFNlcnZpY2UsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlQeCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHt0dWlGYWRlSW59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlNb2RlRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL21vZGUnO1xuaW1wb3J0IHtUdWlQb3J0YWxJdGVtfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlLCBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVCwgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpSGludERpcmVjdGl2ZX0gZnJvbSAnLi9oaW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRIb3ZlckRpcmVjdGl2ZX0gZnJvbSAnLi9oaW50LWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRQb2ludGVyRGlyZWN0aXZlfSBmcm9tICcuL2hpbnQtcG9pbnRlci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiXG4gICAgICAgICAgICBbaW5uZXJIVE1MXT1cInRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vaGludC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlQb3NpdGlvblNlcnZpY2UsXG4gICAgICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgICAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdoaW50JyksXG4gICAgICAgIHR1aVJlY3RBY2Nlc3NvckZvcignaGludCcsIFR1aUhpbnREaXJlY3RpdmUpLFxuICAgIF0sXG4gICAgYW5pbWF0aW9uczogW3R1aUZhZGVJbl0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW0B0dWlGYWRlSW5dJzogJ2FuaW1hdGlvbicsXG4gICAgICAgICdbY2xhc3MuX3VudG91Y2hhYmxlXSc6ICdwb2ludGVyJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50Q29tcG9uZW50PEMgPSBhbnk+IHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1hcHBlYXJhbmNlJylcbiAgICByZWFkb25seSBhcHBlYXJhbmNlID0gdGhpcy5wb2x5bW9ycGhldXMuJGltcGxpY2l0LmFwcGVhcmFuY2UgfHwgdGhpcy5tb2RlPy5tb2RlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIGhvdmVyZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICAgICBASW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSkgcG9zaXRpb24kOiBPYnNlcnZhYmxlPFR1aVBvaW50PixcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgQEluamVjdChUVUlfQU5JTUFUSU9OX09QVElPTlMpIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChUdWlIaW50UG9pbnRlckRpcmVjdGl2ZSkgcmVhZG9ubHkgcG9pbnRlcjogdW5rbm93bixcbiAgICAgICAgQEluamVjdChUdWlSZWN0QWNjZXNzb3IpIHByb3RlY3RlZCByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBPTFlNT1JQSEVVU19DT05URVhUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBvbHltb3JwaGV1czogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlQb3J0YWxJdGVtPEM+PixcbiAgICAgICAgQEluamVjdChUdWlIaW50SG92ZXJEaXJlY3RpdmUpIHByaXZhdGUgcmVhZG9ubHkgaG92ZXI6IFR1aUhpbnRIb3ZlckRpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB2aXN1YWxWaWV3cG9ydFNlcnZpY2U6IFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZSxcbiAgICApIHtcbiAgICAgICAgcG9zaXRpb24kXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocG9pbnQgPT4gdGhpcy52aXN1YWxWaWV3cG9ydFNlcnZpY2UuY29ycmVjdChwb2ludCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbdG9wLCBsZWZ0XSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlKHRvcCwgbGVmdCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBob3ZlcmVkJC5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpLnN1YnNjcmliZShob3ZlciA9PiB0aGlzLmhvdmVyLnRvZ2dsZShob3ZlcikpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8Qz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2x5bW9ycGhldXMuJGltcGxpY2l0LmNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKTogQyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvbHltb3JwaGV1cy4kaW1wbGljaXQuY29udGV4dDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkgJiZcbiAgICAgICAgICAgICF0aGlzLmhvdmVyLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXIudG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSB1cGRhdGUodG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB7aGVpZ2h0LCB3aWR0aH0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzdHlsZX0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcblxuICAgICAgICBpZiAocmVjdCA9PT0gRU1QVFlfQ0xJRU5UX1JFQ1QpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNhZmVMZWZ0ID0gTWF0aC5tYXgobGVmdCwgNCk7XG4gICAgICAgIGNvbnN0IFtiZWFrVG9wLCBiZWFrTGVmdF0gPSB0aGlzLnZpc3VhbFZpZXdwb3J0U2VydmljZS5jb3JyZWN0KFtcbiAgICAgICAgICAgIHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyIC0gdG9wLFxuICAgICAgICAgICAgcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIgLSBzYWZlTGVmdCxcbiAgICAgICAgXSk7XG5cbiAgICAgICAgc3R5bGUudG9wID0gdHVpUHgodG9wKTtcbiAgICAgICAgc3R5bGUubGVmdCA9IHR1aVB4KHNhZmVMZWZ0KTtcbiAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoJy0tdG9wJywgdHVpUHgodHVpQ2xhbXAoYmVha1RvcCwgMC41LCBoZWlnaHQgLSAxKSkpO1xuICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eSgnLS1sZWZ0JywgdHVpUHgodHVpQ2xhbXAoYmVha0xlZnQsIDAuNSwgd2lkdGggLSAxKSkpO1xuICAgIH1cbn1cbiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixRQUFRLEVBRVIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixPQUFPLEVBQ1AsS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGtCQUFrQixHQUNyQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUUsWUFBWSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFMUUsT0FBTyxFQUFDLG9CQUFvQixFQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBRW5GLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUVqRSxN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QUFDO29CQUNQLFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUU7Ozs7O0tBS1Q7b0JBQ0QsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsc0JBQXNCLENBQUMsTUFBTSxDQUFDO3dCQUM5QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7cUJBQy9DO29CQUNELFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDdkIsSUFBSSxFQUFFO3dCQUNGLGNBQWMsRUFBRSxXQUFXO3dCQUMzQixzQkFBc0IsRUFBRSxTQUFTO3FCQUNwQztpQkFDSjs7MEJBTVEsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUN4QixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLElBQUk7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDaEMsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBQzFDLE1BQU07MkJBQUMsZUFBZTs7MEJBQ3RCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsb0JBQW9COzswQkFFM0IsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsd0JBQXdCOzswQkFFL0IsTUFBTTsyQkFBQyxZQUFZOzRDQWxCZixVQUFVO3NCQURsQixXQUFXO3VCQUFDLHNCQUFzQjtnQkEwQ25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFXekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIHR1aUNsYW1wLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgVHVpSG92ZXJlZFNlcnZpY2UsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlQeCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHt0dWlGYWRlSW59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtUdWlNb2RlRGlyZWN0aXZlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL21vZGUnO1xuaW1wb3J0IHtUdWlQb3J0YWxJdGVtfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlLCBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTl9PUFRJT05TLCBUVUlfVklFV1BPUlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1BPTFlNT1JQSEVVU19DT05URVhULCBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHtUdWlIaW50RGlyZWN0aXZlfSBmcm9tICcuL2hpbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludEhvdmVyRGlyZWN0aXZlfSBmcm9tICcuL2hpbnQtaG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludFBvaW50ZXJEaXJlY3RpdmV9IGZyb20gJy4vaGludC1wb2ludGVyLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IEdBUCA9IDQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWhpbnQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBjb250ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9oaW50LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgICAgIFR1aVBvc2l0aW9uU2VydmljZSxcbiAgICAgICAgVHVpSG92ZXJlZFNlcnZpY2UsXG4gICAgICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IoJ2hpbnQnKSxcbiAgICAgICAgdHVpUmVjdEFjY2Vzc29yRm9yKCdoaW50JywgVHVpSGludERpcmVjdGl2ZSksXG4gICAgXSxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnYW5pbWF0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5fdW50b3VjaGFibGVdJzogJ3BvaW50ZXInLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRDb21wb25lbnQ8QyA9IGFueT4ge1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLWFwcGVhcmFuY2UnKVxuICAgIHJlYWRvbmx5IGFwcGVhcmFuY2UgPSB0aGlzLnBvbHltb3JwaGV1cy4kaW1wbGljaXQuYXBwZWFyYW5jZSB8fCB0aGlzLm1vZGU/Lm1vZGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlIb3ZlcmVkU2VydmljZSkgaG92ZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoVHVpUG9zaXRpb25TZXJ2aWNlKSBwb3NpdGlvbiQ6IE9ic2VydmFibGU8VHVpUG9pbnQ+LFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05fT1BUSU9OUykgcmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25PcHRpb25zLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFR1aUhpbnRQb2ludGVyRGlyZWN0aXZlKSByZWFkb25seSBwb2ludGVyOiB1bmtub3duLFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY2Vzc29yOiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUE9MWU1PUlBIRVVTX0NPTlRFWFQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcG9seW1vcnBoZXVzOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFR1aVBvcnRhbEl0ZW08Qz4+LFxuICAgICAgICBASW5qZWN0KFR1aUhpbnRIb3ZlckRpcmVjdGl2ZSkgcHJpdmF0ZSByZWFkb25seSBob3ZlcjogVHVpSGludEhvdmVyRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZTogVHVpTW9kZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHZpc3VhbFZpZXdwb3J0U2VydmljZTogVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFRVSV9WSUVXUE9SVCkgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydDogVHVpUmVjdEFjY2Vzc29yLFxuICAgICkge1xuICAgICAgICBwb3NpdGlvbiRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChwb2ludCA9PiB0aGlzLnZpc3VhbFZpZXdwb3J0U2VydmljZS5jb3JyZWN0KHBvaW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFt0b3AsIGxlZnRdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGUodG9wLCBsZWZ0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGhvdmVyZWQkLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kkKSkuc3Vic2NyaWJlKGhvdmVyID0+IHRoaXMuaG92ZXIudG9nZ2xlKGhvdmVyKSk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxDPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvbHltb3JwaGV1cy4kaW1wbGljaXQuY29udGVudDtcbiAgICB9XG5cbiAgICBnZXQgY29udGV4dCgpOiBDIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9seW1vcnBoZXVzLiRpbXBsaWNpdC5jb250ZXh0O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXRoaXMuaG92ZXIuZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5ob3Zlci50b2dnbGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtoZWlnaHQsIHdpZHRofSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3Qge3N0eWxlfSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmIChyZWN0ID09PSBFTVBUWV9DTElFTlRfUkVDVCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2FmZUxlZnQgPSB0dWlDbGFtcChsZWZ0LCBHQVAsIHZpZXdwb3J0LndpZHRoIC0gd2lkdGggLSBHQVApO1xuICAgICAgICBjb25zdCBbYmVha1RvcCwgYmVha0xlZnRdID0gdGhpcy52aXN1YWxWaWV3cG9ydFNlcnZpY2UuY29ycmVjdChbXG4gICAgICAgICAgICByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMiAtIHRvcCxcbiAgICAgICAgICAgIHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyIC0gc2FmZUxlZnQsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIHN0eWxlLnRvcCA9IHR1aVB4KHRvcCk7XG4gICAgICAgIHN0eWxlLmxlZnQgPSB0dWlQeChzYWZlTGVmdCk7XG4gICAgICAgIHN0eWxlLnNldFByb3BlcnR5KCctLXRvcCcsIHR1aVB4KHR1aUNsYW1wKGJlYWtUb3AsIDAuNSwgaGVpZ2h0IC0gMSkpKTtcbiAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoJy0tbGVmdCcsIHR1aVB4KHR1aUNsYW1wKGJlYWtMZWZ0LCAwLjUsIHdpZHRoIC0gMSkpKTtcbiAgICB9XG59XG4iXX0=
@@ -14,14 +14,23 @@ export class TuiPrimitiveYearMonthPaginationComponent {
14
14
  this.valueChange = new EventEmitter();
15
15
  this.yearClick = new EventEmitter();
16
16
  }
17
+ get computedMin() {
18
+ var _a;
19
+ return (_a = this.min) !== null && _a !== void 0 ? _a : TUI_FIRST_DAY;
20
+ }
21
+ get computedMax() {
22
+ var _a;
23
+ return (_a = this.max) !== null && _a !== void 0 ? _a : TUI_LAST_DAY;
24
+ }
17
25
  get prevMonthDisabled() {
18
- return this.value.monthSameOrBefore(this.min);
26
+ return this.value.monthSameOrBefore(this.computedMin);
19
27
  }
20
28
  get nextMonthDisabled() {
21
- return this.value.monthSameOrAfter(this.max);
29
+ return this.value.monthSameOrAfter(this.computedMax);
22
30
  }
23
31
  get oneYear() {
24
- return this.min.year === this.max.year;
32
+ const { computedMin, computedMax } = this;
33
+ return computedMin.year === computedMax.year;
25
34
  }
26
35
  onYearClick() {
27
36
  this.yearClick.next(this.value);
@@ -34,11 +43,12 @@ export class TuiPrimitiveYearMonthPaginationComponent {
34
43
  }
35
44
  appendValueWithLimit(date) {
36
45
  const newMonth = this.value.append(date);
37
- if (this.min.monthSameOrAfter(newMonth)) {
38
- this.updateValue(this.min);
46
+ const { computedMin, computedMax } = this;
47
+ if (computedMin.monthSameOrAfter(newMonth)) {
48
+ this.updateValue(computedMin);
39
49
  return;
40
50
  }
41
- this.updateValue(this.max.monthSameOrBefore(newMonth) ? this.max : newMonth);
51
+ this.updateValue(computedMax.monthSameOrBefore(newMonth) ? computedMax : newMonth);
42
52
  }
43
53
  updateValue(value) {
44
54
  if (this.value.monthSame(value)) {
@@ -69,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
69
79
  }], yearClick: [{
70
80
  type: Output
71
81
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVybmFsL3ByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb24vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVybmFsL3ByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb24vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsR0FHWCxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVN2QixNQUFNLE9BQU8sd0NBQXdDO0lBTnJEO1FBVUksVUFBSyxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdoQyxRQUFHLEdBQWEsYUFBYSxDQUFDO1FBRzlCLFFBQUcsR0FBYSxZQUFZLENBQUM7UUFHcEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRzNDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBOENwRDtJQTVDRyxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsSUFBa0I7UUFDM0MsTUFBTSxRQUFRLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTNCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFlO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQzs7c0lBN0RRLHdDQUF3QzswSEFBeEMsd0NBQXdDLGdNQ3RCckQsZ3dCQXdCQTs0RkRGYSx3Q0FBd0M7a0JBTnBELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsV0FBVyxFQUFFLGlEQUFpRDtvQkFDOUQsU0FBUyxFQUFFLENBQUMsOENBQThDLENBQUM7b0JBQzNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs4QkFLRyxLQUFLO3NCQURKLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJRyxXQUFXO3NCQURuQixNQUFNO2dCQUlFLFNBQVM7c0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVFVJX0ZJUlNUX0RBWSxcbiAgICBUVUlfTEFTVF9EQVksXG4gICAgVHVpTW9udGgsXG4gICAgVHVpTW9udGhMaWtlLFxuICAgIFR1aVllYXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlXaXRoT3B0aW9uYWxNaW5NYXh9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1wcmltaXRpdmUteWVhci1tb250aC1wYWdpbmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wcmltaXRpdmUteWVhci1tb250aC1wYWdpbmF0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUHJpbWl0aXZlWWVhck1vbnRoUGFnaW5hdGlvbkNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PFR1aU1vbnRoPlxue1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWUgPSBUdWlNb250aC5jdXJyZW50TG9jYWwoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWluOiBUdWlNb250aCA9IFRVSV9GSVJTVF9EQVk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heDogVHVpTW9udGggPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGg+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aVllYXI+KCk7XG5cbiAgICBnZXQgcHJldk1vbnRoRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1vbnRoU2FtZU9yQmVmb3JlKHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgbmV4dE1vbnRoRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLm1vbnRoU2FtZU9yQWZ0ZXIodGhpcy5tYXgpO1xuICAgIH1cblxuICAgIGdldCBvbmVZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4ueWVhciA9PT0gdGhpcy5tYXgueWVhcjtcbiAgICB9XG5cbiAgICBvblllYXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ZWFyQ2xpY2submV4dCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvblByZXZNb250aENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGVuZFZhbHVlV2l0aExpbWl0KHttb250aDogLTF9KTtcbiAgICB9XG5cbiAgICBvbk5leHRNb250aENsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcGVuZFZhbHVlV2l0aExpbWl0KHttb250aDogMX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXBwZW5kVmFsdWVXaXRoTGltaXQoZGF0ZTogVHVpTW9udGhMaWtlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld01vbnRoOiBUdWlNb250aCA9IHRoaXMudmFsdWUuYXBwZW5kKGRhdGUpO1xuXG4gICAgICAgIGlmICh0aGlzLm1pbi5tb250aFNhbWVPckFmdGVyKG5ld01vbnRoKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLm1pbik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5tYXgubW9udGhTYW1lT3JCZWZvcmUobmV3TW9udGgpID8gdGhpcy5tYXggOiBuZXdNb250aCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZSh2YWx1ZTogVHVpTW9udGgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUubW9udGhTYW1lKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn1cbiIsIjx0dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uXG4gICAgW2ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgW2xlZnREaXNhYmxlZF09XCJwcmV2TW9udGhEaXNhYmxlZFwiXG4gICAgW3JpZ2h0RGlzYWJsZWRdPVwibmV4dE1vbnRoRGlzYWJsZWRcIlxuICAgIChsZWZ0Q2xpY2spPVwib25QcmV2TW9udGhDbGljaygpXCJcbiAgICAocmlnaHRDbGljayk9XCJvbk5leHRNb250aENsaWNrKClcIlxuPlxuICAgIHt7IHZhbHVlIHwgdHVpTW9udGggfCBhc3luYyB9fVxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvbmVZZWFyOyBlbHNlIGJ1dHRvblwiPlxuICAgICAgICB7eyB2YWx1ZS5mb3JtYXR0ZWRZZWFyIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNidXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwieWVhci1idG5cIlxuICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1wcmltaXRpdmUteWVhci1tb250aC1wYWdpbmF0aW9uX195ZWFyLWJ1dHRvblwiXG4gICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFt0dWlGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uWWVhckNsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB2YWx1ZS5mb3JtYXR0ZWRZZWFyIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3R1aS1wcmltaXRpdmUtc3Bpbi1idXR0b24+XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVybmFsL3ByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb24vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVybmFsL3ByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb24vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsR0FHWCxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQVN2QixNQUFNLE9BQU8sd0NBQXdDO0lBTnJEO1FBVUksVUFBSyxHQUFHLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdoQyxRQUFHLEdBQW9CLGFBQWEsQ0FBQztRQUdyQyxRQUFHLEdBQW9CLFlBQVksQ0FBQztRQUczQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFHM0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7S0EyRHBEO0lBekRHLElBQUksV0FBVzs7UUFDWCxPQUFPLE1BQUEsSUFBSSxDQUFDLEdBQUcsbUNBQUksYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLFdBQVc7O1FBQ1gsT0FBTyxNQUFBLElBQUksQ0FBQyxHQUFHLG1DQUFJLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsTUFBTSxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFFeEMsT0FBTyxXQUFXLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxJQUFrQjtRQUMzQyxNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRCxNQUFNLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQztRQUV4QyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTlCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxXQUFXLENBQ1osV0FBVyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDbkUsQ0FBQztJQUNOLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBZTtRQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzdCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O3NJQTFFUSx3Q0FBd0M7MEhBQXhDLHdDQUF3QyxnTUN0QnJELGd3QkF3QkE7NEZERmEsd0NBQXdDO2tCQU5wRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFdBQVcsRUFBRSxpREFBaUQ7b0JBQzlELFNBQVMsRUFBRSxDQUFDLDhDQUE4QyxDQUFDO29CQUMzRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBS0csS0FBSztzQkFESixLQUFLO2dCQUlOLEdBQUc7c0JBREYsS0FBSztnQkFJTixHQUFHO3NCQURGLEtBQUs7Z0JBSUcsV0FBVztzQkFEbkIsTUFBTTtnQkFJRSxTQUFTO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRVSV9GSVJTVF9EQVksXG4gICAgVFVJX0xBU1RfREFZLFxuICAgIFR1aU1vbnRoLFxuICAgIFR1aU1vbnRoTGlrZSxcbiAgICBUdWlZZWFyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpV2l0aE9wdGlvbmFsTWluTWF4fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3ByaW1pdGl2ZS15ZWFyLW1vbnRoLXBhZ2luYXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVByaW1pdGl2ZVllYXJNb250aFBhZ2luYXRpb25Db21wb25lbnRcbiAgICBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxUdWlNb250aD5cbntcbiAgICBASW5wdXQoKVxuICAgIHZhbHVlID0gVHVpTW9udGguY3VycmVudExvY2FsKCk7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbjogVHVpTW9udGggfCBudWxsID0gVFVJX0ZJUlNUX0RBWTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4OiBUdWlNb250aCB8IG51bGwgPSBUVUlfTEFTVF9EQVk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VHVpTW9udGg+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSB5ZWFyQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFR1aVllYXI+KCk7XG5cbiAgICBnZXQgY29tcHV0ZWRNaW4oKTogVHVpTW9udGgge1xuICAgICAgICByZXR1cm4gdGhpcy5taW4gPz8gVFVJX0ZJUlNUX0RBWTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRNYXgoKTogVHVpTW9udGgge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXggPz8gVFVJX0xBU1RfREFZO1xuICAgIH1cblxuICAgIGdldCBwcmV2TW9udGhEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubW9udGhTYW1lT3JCZWZvcmUodGhpcy5jb21wdXRlZE1pbik7XG4gICAgfVxuXG4gICAgZ2V0IG5leHRNb250aERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5tb250aFNhbWVPckFmdGVyKHRoaXMuY29tcHV0ZWRNYXgpO1xuICAgIH1cblxuICAgIGdldCBvbmVZZWFyKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7Y29tcHV0ZWRNaW4sIGNvbXB1dGVkTWF4fSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIGNvbXB1dGVkTWluLnllYXIgPT09IGNvbXB1dGVkTWF4LnllYXI7XG4gICAgfVxuXG4gICAgb25ZZWFyQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMueWVhckNsaWNrLm5leHQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgb25QcmV2TW9udGhDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBlbmRWYWx1ZVdpdGhMaW1pdCh7bW9udGg6IC0xfSk7XG4gICAgfVxuXG4gICAgb25OZXh0TW9udGhDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBlbmRWYWx1ZVdpdGhMaW1pdCh7bW9udGg6IDF9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZFZhbHVlV2l0aExpbWl0KGRhdGU6IFR1aU1vbnRoTGlrZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdNb250aDogVHVpTW9udGggPSB0aGlzLnZhbHVlLmFwcGVuZChkYXRlKTtcbiAgICAgICAgY29uc3Qge2NvbXB1dGVkTWluLCBjb21wdXRlZE1heH0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChjb21wdXRlZE1pbi5tb250aFNhbWVPckFmdGVyKG5ld01vbnRoKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjb21wdXRlZE1pbik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoXG4gICAgICAgICAgICBjb21wdXRlZE1heC5tb250aFNhbWVPckJlZm9yZShuZXdNb250aCkgPyBjb21wdXRlZE1heCA6IG5ld01vbnRoLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVmFsdWUodmFsdWU6IFR1aU1vbnRoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLm1vbnRoU2FtZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG59XG4iLCI8dHVpLXByaW1pdGl2ZS1zcGluLWJ1dHRvblxuICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgIFtsZWZ0RGlzYWJsZWRdPVwicHJldk1vbnRoRGlzYWJsZWRcIlxuICAgIFtyaWdodERpc2FibGVkXT1cIm5leHRNb250aERpc2FibGVkXCJcbiAgICAobGVmdENsaWNrKT1cIm9uUHJldk1vbnRoQ2xpY2soKVwiXG4gICAgKHJpZ2h0Q2xpY2spPVwib25OZXh0TW9udGhDbGljaygpXCJcbj5cbiAgICB7eyB2YWx1ZSB8IHR1aU1vbnRoIHwgYXN5bmMgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib25lWWVhcjsgZWxzZSBidXR0b25cIj5cbiAgICAgICAge3sgdmFsdWUuZm9ybWF0dGVkWWVhciB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBpZD1cInllYXItYnRuXCJcbiAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktcHJpbWl0aXZlLXllYXItbW9udGgtcGFnaW5hdGlvbl9feWVhci1idXR0b25cIlxuICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbdHVpRm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblllYXJDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdmFsdWUuZm9ybWF0dGVkWWVhciB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC90dWktcHJpbWl0aXZlLXNwaW4tYnV0dG9uPlxuIl19
@@ -50,7 +50,7 @@ class TuiAlertComponent {
50
50
  }
51
51
  }
52
52
  TuiAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertComponent, deps: [{ token: ElementRef }, { token: TuiDestroyService, self: true }, { token: TUI_ANIMATION_OPTIONS }, { token: POLYMORPHEUS_CONTEXT }], target: i0.ɵɵFactoryTarget.Component });
53
- TuiAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAlertComponent, selector: "tui-alert", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInRight": "animation", "@tuiHeightCollapse": "animation" } }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [icon]=\"item.icon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n", styles: [":host{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;display:block;border-radius:var(--tui-radius-m);width:18rem;margin:2rem 3rem 0 auto}:host-context(tui-root._mobile) :host{margin:1rem 1rem 0 auto}:host:not(:first-child){margin-top:.75rem}.t-heading{font:var(--tui-font-text-m);line-height:1.25rem;font-weight:bold;margin:0}.t-content{color:var(--tui-text-01);word-wrap:break-word}.t-content:empty{display:none}\n"], components: [{ type: i1.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "icon", "status", "size", "hideClose"], outputs: ["close"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ TuiAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiAlertComponent, selector: "tui-alert", host: { attributes: { "role": "alert" }, properties: { "@tuiFadeIn": "animation", "@tuiSlideInRight": "animation", "@tuiHeightCollapse": "animation" } }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [icon]=\"item.icon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n", styles: [":host{box-shadow:0 1.5rem 1rem #00000008,0 .75rem .75rem #0000000a,0 .25rem .375rem #0000000d;display:block;border-radius:var(--tui-radius-l);width:18rem;margin:2rem 3rem 0 auto}:host-context(tui-root._mobile) :host{margin:1rem 1rem 0 auto}:host:not(:first-child){margin-top:.75rem}.t-heading{margin:0}[data-size=s] .t-heading{font:var(--tui-font-text-s);font-weight:bold}[data-size=m] .t-heading{font:var(--tui-font-text-m);line-height:1.25rem;font-weight:bold}[data-size=l] .t-heading{font:var(--tui-font-text-l);line-height:1.5rem;font-weight:bold}.t-content{color:var(--tui-text-01);word-wrap:break-word}.t-content:empty{display:none}\n"], components: [{ type: i1.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "icon", "status", "size", "hideClose"], outputs: ["close"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiAlertComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-alert.js","sources":["../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {TuiDestroyService, TuiDialog, tuiIsNumber} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\n// TODO: get rid of $any in template\n@Component({\n selector: 'tui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInRight]': 'animation',\n '[@tuiHeightCollapse]': 'animation',\n },\n})\nexport class TuiAlertComponent<O, I> implements OnInit {\n private readonly autoClose =\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.status)\n : this.item.autoClose;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT) readonly item: TuiDialog<TuiAlertOptions<I>, O>,\n ) {}\n\n ngOnInit(): void {\n this.initAutoClose();\n }\n\n closeNotification(): void {\n this.item.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.autoClose) {\n return;\n }\n\n timer(tuiIsNumber(this.autoClose) ? this.autoClose : 3000)\n .pipe(\n takeUntil(fromEvent(this.el.nativeElement, 'mouseenter')),\n /**\n * TODO: replace to\n * repeat({\n * delay: () => fromEvent(this.el.nativeElement, 'mouseleave'),\n * })\n *\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => fromEvent(this.el.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [icon]=\"item.icon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n","import {Inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiIdService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {\n protected readonly component = new PolymorpheusComponent(TuiAlertComponent);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n protected readonly defaultOptions: TuiAlertOptions<any>,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n super(idService);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n selector: 'ng-template[tuiAlert]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiAlertService,\n },\n ],\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n})\nexport class TuiAlertDirective<T> extends AbstractTuiDialogDirective<\n TuiAlertOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsAlerts} from '@taiga-ui/cdk';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {TuiAlertDirective} from './alert.directive';\nimport {TuiAlertService} from './alert.service';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiAlertComponent, TuiAlertDirective],\n exports: [TuiAlertComponent, TuiAlertDirective],\n providers: [tuiAsAlerts(TuiAlertService)],\n})\nexport class TuiAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-alert.js","sources":["../../../projects/core/components/alert/alert.component.ts","../../../projects/core/components/alert/alert.template.html","../../../projects/core/components/alert/alert.service.ts","../../../projects/core/components/alert/alert.directive.ts","../../../projects/core/components/alert/alert.module.ts","../../../projects/core/components/alert/taiga-ui-core-components-alert.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n OnInit,\n Self,\n} from '@angular/core';\nimport {TuiDestroyService, TuiDialog, tuiIsNumber} from '@taiga-ui/cdk';\nimport {tuiFadeIn, tuiHeightCollapse, tuiSlideInRight} from '@taiga-ui/core/animations';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {fromEvent, timer} from 'rxjs';\nimport {repeatWhen, takeUntil} from 'rxjs/operators';\n\n// TODO: get rid of $any in template\n@Component({\n selector: 'tui-alert',\n templateUrl: './alert.template.html',\n styleUrls: ['./alert.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n animations: [tuiFadeIn, tuiSlideInRight, tuiHeightCollapse],\n host: {\n role: 'alert',\n '[@tuiFadeIn]': 'animation',\n '[@tuiSlideInRight]': 'animation',\n '[@tuiHeightCollapse]': 'animation',\n },\n})\nexport class TuiAlertComponent<O, I> implements OnInit {\n private readonly autoClose =\n typeof this.item.autoClose === 'function'\n ? this.item.autoClose(this.item.status)\n : this.item.autoClose;\n\n constructor(\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(TUI_ANIMATION_OPTIONS) readonly animation: AnimationOptions,\n @Inject(POLYMORPHEUS_CONTEXT) readonly item: TuiDialog<TuiAlertOptions<I>, O>,\n ) {}\n\n ngOnInit(): void {\n this.initAutoClose();\n }\n\n closeNotification(): void {\n this.item.$implicit.complete();\n }\n\n private initAutoClose(): void {\n if (!this.autoClose) {\n return;\n }\n\n timer(tuiIsNumber(this.autoClose) ? this.autoClose : 3000)\n .pipe(\n takeUntil(fromEvent(this.el.nativeElement, 'mouseenter')),\n /**\n * TODO: replace to\n * repeat({\n * delay: () => fromEvent(this.el.nativeElement, 'mouseleave'),\n * })\n *\n * in RxJS 7\n */\n // eslint-disable-next-line rxjs/no-ignored-notifier\n repeatWhen(() => fromEvent(this.el.nativeElement, 'mouseleave')),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.closeNotification());\n }\n}\n","<tui-notification\n [status]=\"item.status\"\n [hasIcon]=\"item.hasIcon\"\n [icon]=\"item.icon\"\n [hideClose]=\"!item.hasCloseButton\"\n (close)=\"closeNotification()\"\n>\n <label\n *ngIf=\"item.label\"\n automation-id=\"tui-notification-alert__heading\"\n class=\"t-heading\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <ng-container *polymorpheusOutlet=\"$any(item.label) as text; context: item\">\n {{ text }}\n </ng-container>\n </label>\n <div\n automation-id=\"tui-notification-alert__content\"\n class=\"t-content\"\n >\n <!-- TODO: Polymorpheus fix type -->\n <div\n *polymorpheusOutlet=\"item.content as text; context: $any(item)\"\n [innerHTML]=\"text\"\n ></div>\n </div>\n</tui-notification>\n","import {Inject, Injectable} from '@angular/core';\nimport {AbstractTuiDialogService, TuiIdService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTIFICATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\n\n@Injectable({providedIn: `root`})\nexport class TuiAlertService extends AbstractTuiDialogService<TuiAlertOptions<any>> {\n protected readonly component = new PolymorpheusComponent(TuiAlertComponent);\n\n constructor(\n @Inject(TUI_NOTIFICATION_OPTIONS)\n protected readonly defaultOptions: TuiAlertOptions<any>,\n @Inject(TuiIdService) idService: TuiIdService,\n ) {\n super(idService);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\nimport {TuiAlertOptions} from '@taiga-ui/core/interfaces';\n\nimport {TuiAlertService} from './alert.service';\n\n@Directive({\n selector: 'ng-template[tuiAlert]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiAlertService,\n },\n ],\n inputs: ['options: tuiAlertOptions', 'open: tuiAlert'],\n outputs: ['openChange: tuiAlertChange'],\n})\nexport class TuiAlertDirective<T> extends AbstractTuiDialogDirective<\n TuiAlertOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {tuiAsAlerts} from '@taiga-ui/cdk';\nimport {TuiNotificationModule} from '@taiga-ui/core/components/notification';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAlertComponent} from './alert.component';\nimport {TuiAlertDirective} from './alert.directive';\nimport {TuiAlertService} from './alert.service';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiNotificationModule],\n declarations: [TuiAlertComponent, TuiAlertDirective],\n exports: [TuiAlertComponent, TuiAlertDirective],\n providers: [tuiAsAlerts(TuiAlertService)],\n})\nexport class TuiAlertModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -41,15 +41,25 @@ class TuiCalendarComponent {
41
41
  get value() {
42
42
  return this._value;
43
43
  }
44
+ get computedMin() {
45
+ var _a;
46
+ return (_a = this.min) !== null && _a !== void 0 ? _a : TUI_FIRST_DAY;
47
+ }
48
+ get computedMax() {
49
+ var _a;
50
+ return (_a = this.max) !== null && _a !== void 0 ? _a : TUI_LAST_DAY;
51
+ }
44
52
  get computedMinViewedMonth() {
45
- return this.minViewedMonth.monthSameOrAfter(this.min)
46
- ? this.minViewedMonth
47
- : this.min;
53
+ var _a;
54
+ const min = this.computedMin;
55
+ const minViewed = (_a = this.minViewedMonth) !== null && _a !== void 0 ? _a : TUI_FIRST_DAY;
56
+ return minViewed.monthSameOrAfter(min) ? minViewed : min;
48
57
  }
49
58
  get computedMaxViewedMonth() {
50
- return this.maxViewedMonth.monthSameOrBefore(this.max)
51
- ? this.maxViewedMonth
52
- : this.max;
59
+ var _a;
60
+ const max = this.computedMax;
61
+ const maxViewed = (_a = this.maxViewedMonth) !== null && _a !== void 0 ? _a : TUI_LAST_DAY;
62
+ return maxViewed.monthSameOrBefore(max) ? maxViewed : max;
53
63
  }
54
64
  onPaginationYearClick(year) {
55
65
  this.year = year;
@@ -83,7 +93,7 @@ class TuiCalendarComponent {
83
93
  }
84
94
  }
85
95
  TuiCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
- TuiCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarComponent, selector: "tui-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler", value: "value" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : min : max\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n", styles: [":host{display:block;height:18.25rem;width:15.75rem;padding:1rem 1.125rem;box-sizing:content-box}.t-scrollbar{height:18.25rem;width:16.875rem}.t-pagination{margin-bottom:1rem}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i2.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i3.TuiPrimitiveYearMonthPaginationComponent, selector: "tui-primitive-year-month-pagination", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { type: i4.TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent"], outputs: ["hoveredItemChange", "dayClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "tuiMapper": i6.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
96
+ TuiCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiCalendarComponent, selector: "tui-calendar", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", min: "min", max: "max", minViewedMonth: "minViewedMonth", maxViewedMonth: "maxViewedMonth", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent", markerHandler: "markerHandler", value: "value" }, outputs: { dayClick: "dayClick", monthChange: "monthChange", hoveredItemChange: "hoveredItemChange" }, ngImport: i0, template: "<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"computedMin\"\n [max]=\"computedMax\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : computedMin : computedMax\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n", styles: [":host{display:block;height:18.25rem;width:15.75rem;padding:1rem 1.125rem;box-sizing:content-box}.t-scrollbar{height:18.25rem;width:16.875rem}.t-pagination{margin-bottom:1rem}\n"], components: [{ type: i1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i2.TuiPrimitiveYearPickerComponent, selector: "tui-primitive-year-picker", inputs: ["value", "initialItem", "min", "max", "disabledItemHandler"], outputs: ["yearClick"] }, { type: i3.TuiPrimitiveYearMonthPaginationComponent, selector: "tui-primitive-year-month-pagination", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { type: i4.TuiPrimitiveCalendarComponent, selector: "tui-primitive-calendar", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "hoveredItem", "showAdjacent"], outputs: ["hoveredItemChange", "dayClick"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "tuiMapper": i6.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiCalendarComponent, decorators: [{
88
98
  type: Component,
89
99
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-calendar.js","sources":["../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/calendar.module.ts","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-calendar',\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarComponent implements TuiWithOptionalMinMax<TuiDay> {\n private _value: TuiDay | TuiDayRange | null = null;\n\n @Input()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n min = TUI_FIRST_DAY;\n\n @Input()\n max = TUI_LAST_DAY;\n\n @Input()\n minViewedMonth: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n maxViewedMonth: TuiMonth = TUI_LAST_DAY;\n\n @Input()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n showAdjacent = true;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n set value(value: TuiDay | TuiDayRange | null) {\n this._value = value;\n\n if (this.showAdjacent && value instanceof TuiDay) {\n this.month = value;\n }\n }\n\n get value(): TuiDay | TuiDayRange | null {\n return this._value;\n }\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n year: TuiYear | null = null;\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n get computedMinViewedMonth(): TuiMonth {\n return this.minViewedMonth.monthSameOrAfter(this.min)\n ? this.minViewedMonth\n : this.min;\n }\n\n get computedMaxViewedMonth(): TuiMonth {\n return this.maxViewedMonth.monthSameOrBefore(this.max)\n ? this.maxViewedMonth\n : this.max;\n }\n\n onPaginationYearClick(year: TuiYear): void {\n this.year = year;\n }\n\n onPickerYearClick({year}: TuiYear): void {\n this.year = null;\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"min\"\n [max]=\"max\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : min : max\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCalendarModule} from '@taiga-ui/core/components/primitive-calendar';\nimport {TuiPrimitiveYearPickerModule} from '@taiga-ui/core/components/primitive-year-picker';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPrimitiveYearMonthPaginationModule} from '@taiga-ui/core/internal/primitive-year-month-pagination';\n\nimport {TuiCalendarComponent} from './calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearMonthPaginationModule,\n TuiPrimitiveCalendarModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n TuiMapperPipeModule,\n ],\n declarations: [TuiCalendarComponent],\n exports: [TuiCalendarComponent],\n})\nexport class TuiCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-calendar.js","sources":["../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/calendar.module.ts","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n TuiMapper,\n TuiMonth,\n tuiNullableSame,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiWithOptionalMinMax} from '@taiga-ui/core/interfaces';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-calendar',\n templateUrl: './calendar.template.html',\n styleUrls: ['./calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarComponent implements TuiWithOptionalMinMax<TuiDay> {\n private _value: TuiDay | TuiDayRange | null = null;\n\n @Input()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n min: TuiDay | null = TUI_FIRST_DAY;\n\n @Input()\n max: TuiDay | null = TUI_LAST_DAY;\n\n @Input()\n minViewedMonth: TuiMonth | null = TUI_FIRST_DAY;\n\n @Input()\n maxViewedMonth: TuiMonth | null = TUI_LAST_DAY;\n\n @Input()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n showAdjacent = true;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n set value(value: TuiDay | TuiDayRange | null) {\n this._value = value;\n\n if (this.showAdjacent && value instanceof TuiDay) {\n this.month = value;\n }\n }\n\n get value(): TuiDay | TuiDayRange | null {\n return this._value;\n }\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n @Output()\n readonly monthChange = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n year: TuiYear | null = null;\n\n readonly disabledItemHandlerMapper: TuiMapper<\n TuiBooleanHandler<TuiDay>,\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min: TuiDay, max: TuiDay) => item =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n get computedMin(): TuiMonth {\n return this.min ?? TUI_FIRST_DAY;\n }\n\n get computedMax(): TuiMonth {\n return this.max ?? TUI_LAST_DAY;\n }\n\n get computedMinViewedMonth(): TuiMonth {\n const min = this.computedMin;\n const minViewed = this.minViewedMonth ?? TUI_FIRST_DAY;\n\n return minViewed.monthSameOrAfter(min) ? minViewed : min;\n }\n\n get computedMaxViewedMonth(): TuiMonth {\n const max = this.computedMax;\n const maxViewed = this.maxViewedMonth ?? TUI_LAST_DAY;\n\n return maxViewed.monthSameOrBefore(max) ? maxViewed : max;\n }\n\n onPaginationYearClick(year: TuiYear): void {\n this.year = year;\n }\n\n onPickerYearClick({year}: TuiYear): void {\n this.year = null;\n this.updateViewedMonth(new TuiMonth(year, this.month.month));\n }\n\n onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month.monthSame(month)) {\n return;\n }\n\n this.month = month;\n this.monthChange.emit(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<tui-scrollbar\n *ngIf=\"year; else calendar\"\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n>\n <tui-primitive-year-picker\n automation-id=\"tui-calendar__year\"\n [min]=\"computedMin\"\n [max]=\"computedMax\"\n [initialItem]=\"year\"\n [value]=\"value\"\n (yearClick)=\"onPickerYearClick($event)\"\n ></tui-primitive-year-picker>\n</tui-scrollbar>\n<ng-template #calendar>\n <tui-primitive-year-month-pagination\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [min]=\"computedMinViewedMonth\"\n [max]=\"computedMaxViewedMonth\"\n [value]=\"month\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"onPaginationYearClick($event)\"\n ></tui-primitive-year-month-pagination>\n <tui-primitive-calendar\n automation-id=\"tui-calendar__calendar\"\n [showAdjacent]=\"showAdjacent\"\n [value]=\"value\"\n [month]=\"month\"\n [disabledItemHandler]=\"disabledItemHandler | tuiMapper : disabledItemHandlerMapper : computedMin : computedMax\"\n [markerHandler]=\"markerHandler\"\n [hoveredItem]=\"hoveredItem\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n (dayClick)=\"onDayClick($event)\"\n ></tui-primitive-calendar>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCalendarModule} from '@taiga-ui/core/components/primitive-calendar';\nimport {TuiPrimitiveYearPickerModule} from '@taiga-ui/core/components/primitive-year-picker';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiPrimitiveYearMonthPaginationModule} from '@taiga-ui/core/internal/primitive-year-month-pagination';\n\nimport {TuiCalendarComponent} from './calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearMonthPaginationModule,\n TuiPrimitiveCalendarModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n TuiMapperPipeModule,\n ],\n declarations: [TuiCalendarComponent],\n exports: [TuiCalendarComponent],\n})\nexport class TuiCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -47,10 +47,11 @@ class TuiOptionComponent {
47
47
  }
48
48
  // Preventing focus loss upon focused option removal
49
49
  ngOnDestroy() {
50
- this.dataList.handleFocusLossIfNecessary(this.el.nativeElement);
50
+ var _a;
51
+ (_a = this.dataList) === null || _a === void 0 ? void 0 : _a.handleFocusLossIfNecessary(this.el.nativeElement);
51
52
  }
52
53
  }
53
- TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent) }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
54
+ TuiOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiOptionComponent, deps: [{ token: TUI_OPTION_CONTENT, optional: true }, { token: forwardRef(() => TuiDataListComponent), optional: true }, { token: ElementRef }, { token: TUI_DATA_LIST_HOST, optional: true }, { token: TuiDropdownDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
54
55
  TuiOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: { size: "size", role: "role", disabled: "disabled", value: "value" }, host: { attributes: { "tabIndex": "-1", "type": "button" }, listeners: { "click": "onClick()", "mousemove.silent": "onMouseMove($event)" }, properties: { "attr.disabled": "disabled || null", "attr.data-size": "this.size", "attr.role": "this.role", "class._with-dropdown": "this.active" } }, ngImport: i0, template: "<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;justify-content:space-between;text-align:left;color:var(--tui-text-01);border-radius:var(--tui-radius-s);outline:none;text-decoration:none;cursor:pointer;background-clip:padding-box}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:default}:host:focus,:host._with-dropdown{background-color:var(--tui-clear)}:host :host-context([data-list-size=\"s\"]),:host :host-context([data-list-size=\"xs\"]),:host[data-size=s][data-size=s],:host[data-size=xs][data-size=xs]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-s);min-height:2rem;padding:.3125rem .5rem}:host :host-context([data-list-size=\"m\"]),:host[data-size=m][data-size=m]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-s);min-height:2.5rem;padding:.375rem .5rem}:host :host-context([data-list-size=\"l\"]),:host[data-size=l][data-size=l]{display:flex;align-items:center;box-sizing:border-box;margin:var(--tui-data-list-margin) 0;font:var(--tui-font-text-m);min-height:2.75rem;padding:.375rem .625rem}.t-arrow{margin:0 -.5rem 0 .75rem}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
56
  __decorate([
56
57
  shouldCall(shouldFocus)
@@ -74,6 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
74
75
  type: Inject,
75
76
  args: [TUI_OPTION_CONTENT]
76
77
  }] }, { type: TuiDataListComponent, decorators: [{
78
+ type: Optional
79
+ }, {
77
80
  type: Inject,
78
81
  args: [forwardRef(() => TuiDataListComponent)]
79
82
  }] }, { type: i0.ElementRef, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["../../../projects/core/components/data-list/option/option.component.ts","../../../projects/core/components/data-list/option/option.template.html","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.module.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {TuiContextWithImplicit, TuiEventWith, tuiIsNativeFocused} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nfunction shouldFocus({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !tuiIsNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: 'button[tuiOption], a[tuiOption]',\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n /** @deprecated use size on {@link TuiDataListComponent} instead */\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS | null = null;\n\n @Input()\n @HostBinding('attr.role')\n role: TuiOptionRole = 'option';\n\n @Input()\n disabled = false;\n\n @Input()\n value?: T;\n\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n currentTarget.focus({preventScroll: true});\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList.handleFocusLossIfNecessary(this.el.nativeElement);\n }\n}\n","<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n tuiIsElement,\n tuiIsNativeFocusedIn,\n tuiIsPresent,\n tuiMoveFocus,\n tuiPure,\n tuiQueryListChanges,\n tuiSetNativeMouseFocused,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n tuiAsDataListAccessor(TuiDataListComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n role: TuiDataListRole = 'listbox';\n\n @Input()\n emptyContent: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-list-size')\n size = this.controller?.size || 'm';\n\n constructor(\n @Optional()\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController | null,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: Element = this.el.nativeElement): void {\n if (this.origin && tuiIsNativeFocusedIn(element)) {\n tuiSetNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n if (!tuiIsElement(target)) {\n return;\n }\n\n const {elements} = this;\n\n tuiMoveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.el.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","import {Directive, Provider, Type} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(useExisting: Type<TuiDataListDirective>): Provider {\n return {\n provide: TuiDataListDirective,\n useExisting,\n };\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-data-list.js","sources":["../../../projects/core/components/data-list/option/option.component.ts","../../../projects/core/components/data-list/option/option.template.html","../../../projects/core/components/data-list/data-list.component.ts","../../../projects/core/components/data-list/data-list.template.html","../../../projects/core/components/data-list/data-list.directive.ts","../../../projects/core/components/data-list/opt-group.directive.ts","../../../projects/core/components/data-list/data-list.module.ts","../../../projects/core/components/data-list/taiga-ui-core-components-data-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Optional,\n Self,\n TemplateRef,\n} from '@angular/core';\nimport {TuiContextWithImplicit, TuiEventWith, tuiIsNativeFocused} from '@taiga-ui/cdk';\nimport {TuiDropdownDirective} from '@taiga-ui/core/directives/dropdown';\nimport {TuiDataListHost} from '@taiga-ui/core/interfaces';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core/tokens';\nimport {TuiOptionRole, TuiSizeL, TuiSizeXS} from '@taiga-ui/core/types';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from '../data-list.component';\n\nfunction shouldFocus({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): boolean {\n return !tuiIsNativeFocused(currentTarget);\n}\n\n// TODO: Consider all use cases for aria roles\n@Component({\n selector: 'button[tuiOption], a[tuiOption]',\n templateUrl: './option.template.html',\n styleUrls: ['./option.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n tabIndex: '-1',\n type: 'button',\n '[attr.disabled]': 'disabled || null',\n },\n})\nexport class TuiOptionComponent<T = unknown> implements OnDestroy {\n /** @deprecated use size on {@link TuiDataListComponent} instead */\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeL | TuiSizeXS | null = null;\n\n @Input()\n @HostBinding('attr.role')\n role: TuiOptionRole = 'option';\n\n @Input()\n disabled = false;\n\n @Input()\n value?: T;\n\n constructor(\n @Optional()\n @Inject(TUI_OPTION_CONTENT)\n readonly content: PolymorpheusContent<\n TuiContextWithImplicit<TemplateRef<Record<string, unknown>>>\n > | null,\n @Optional()\n @Inject(forwardRef(() => TuiDataListComponent))\n private readonly dataList: TuiDataListComponent<T> | null,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_DATA_LIST_HOST)\n private readonly host: TuiDataListHost<T> | null,\n @Optional()\n @Self()\n @Inject(TuiDropdownDirective)\n readonly dropdown: TuiDropdownDirective | null,\n ) {}\n\n @HostBinding('class._with-dropdown')\n get active(): boolean {\n return !!this.dropdown && !!this.dropdown.dropdownBoxRef;\n }\n\n @HostListener('click')\n onClick(): void {\n if (this.host && this.value !== undefined) {\n this.host.handleOption(this.value);\n }\n }\n\n // @bad TODO: Consider aria-activedescendant for proper accessibility implementation\n @shouldCall(shouldFocus)\n @HostListener('mousemove.silent', ['$event'])\n onMouseMove({currentTarget}: TuiEventWith<MouseEvent, HTMLElement>): void {\n currentTarget.focus({preventScroll: true});\n }\n\n // Preventing focus loss upon focused option removal\n ngOnDestroy(): void {\n this.dataList?.handleFocusLossIfNecessary(this.el.nativeElement);\n }\n}\n","<ng-container *polymorpheusOutlet=\"content || base as text; context: {$implicit: base}\">\n {{ text }}\n</ng-container>\n<ng-template #base>\n <ng-content></ng-content>\n <tui-svg\n *ngIf=\"dropdown\"\n src=\"tuiIconChevronRight\"\n class=\"t-arrow\"\n ></tui-svg>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n tuiIsElement,\n tuiIsNativeFocusedIn,\n tuiIsPresent,\n tuiMoveFocus,\n tuiPure,\n tuiQueryListChanges,\n tuiSetNativeMouseFocused,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiTextfieldController,\n} from '@taiga-ui/core/directives';\nimport {TuiDataListAccessor} from '@taiga-ui/core/interfaces';\nimport {TUI_NOTHING_FOUND_MESSAGE, tuiAsDataListAccessor} from '@taiga-ui/core/tokens';\nimport {TuiDataListRole} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {TuiOptionComponent} from './option/option.component';\n\n// TODO: Consider aria-activedescendant for proper accessibility implementation\n@Component({\n selector: 'tui-data-list',\n templateUrl: './data-list.template.html',\n styleUrls: ['./data-list.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n tuiAsDataListAccessor(TuiDataListComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiDataListComponent<T> implements TuiDataListAccessor<T> {\n @ContentChildren(forwardRef(() => TuiOptionComponent), {descendants: true})\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n private origin?: HTMLElement;\n\n @Input()\n @HostBinding('attr.role')\n role: TuiDataListRole = 'listbox';\n\n @Input()\n emptyContent: PolymorpheusContent;\n\n @Input()\n @HostBinding('attr.data-list-size')\n size = this.controller?.size || 'm';\n\n constructor(\n @Optional()\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n private readonly controller: TuiTextfieldController | null,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_NOTHING_FOUND_MESSAGE)\n readonly defaultEmptyContent$: Observable<string>,\n ) {}\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return tuiQueryListChanges(this.options).pipe(map(({length}) => !length));\n }\n\n @HostListener('focusin', ['$event.relatedTarget', '$event.currentTarget'])\n onFocusIn(relatedTarget: HTMLElement, currentTarget: HTMLElement): void {\n if (!currentTarget.contains(relatedTarget) && !this.origin) {\n this.origin = relatedTarget;\n }\n }\n\n @HostListener('mousedown.prevent')\n noop(): void {}\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number): void {\n const {elements} = this;\n\n tuiMoveFocus(elements.indexOf(current), elements, step);\n }\n\n // TODO: Consider aria-activedescendant for proper accessibility implementation\n @HostListener('wheel.silent.passive')\n @HostListener('mouseleave', ['$event.target'])\n handleFocusLossIfNecessary(element: Element = this.el.nativeElement): void {\n if (this.origin && tuiIsNativeFocusedIn(element)) {\n tuiSetNativeMouseFocused(this.origin, true, true);\n }\n }\n\n getOptions(includeDisabled: boolean = false): readonly T[] {\n return this.options\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(tuiIsPresent);\n }\n\n onFocus({target}: Event, top: boolean): void {\n if (!tuiIsElement(target)) {\n return;\n }\n\n const {elements} = this;\n\n tuiMoveFocus(top ? -1 : elements.length, elements, top ? 1 : -1);\n this.handleFocusLossIfNecessary(target);\n }\n\n private get elements(): readonly HTMLElement[] {\n return Array.from(this.el.nativeElement.querySelectorAll('[tuiOption]'));\n }\n}\n","<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, true)\"\n></div>\n<ng-content></ng-content>\n<div\n *ngIf=\"empty$ | async\"\n class=\"t-empty\"\n>\n <ng-container *polymorpheusOutlet=\"emptyContent || (defaultEmptyContent$ | async) as text\">\n {{ text }}\n </ng-container>\n</div>\n<div\n tabindex=\"0\"\n class=\"t-trap\"\n (focusin)=\"onFocus($event, false)\"\n></div>\n","import {Directive, Provider, Type} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[tuiDataList]',\n})\nexport class TuiDataListDirective {}\n\nexport function tuiAsDataList(useExisting: Type<TuiDataListDirective>): Provider {\n return {\n provide: TuiDataListDirective,\n useExisting,\n };\n}\n","import {Directive, HostBinding, Input} from '@angular/core';\n\n@Directive({\n selector: 'tui-opt-group',\n host: {\n role: 'group',\n },\n})\nexport class TuiOptGroupDirective {\n @Input()\n @HostBinding('attr.data-label')\n label = '';\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListComponent} from './data-list.component';\nimport {TuiDataListDirective} from './data-list.directive';\nimport {TuiOptGroupDirective} from './opt-group.directive';\nimport {TuiOptionComponent} from './option/option.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n exports: [\n TuiDataListComponent,\n TuiOptionComponent,\n TuiOptGroupDirective,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i1"],"mappings":"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"}