@taiga-ui/core 3.17.0-dev.main-ab1c8d2 → 3.17.0-dev.main-6ec5de0

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 (28) hide show
  1. package/bundles/taiga-ui-core-abstract.umd.js +1 -0
  2. package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-directives-dropdown.umd.js +21 -21
  4. package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-directives-hint.umd.js +56 -55
  6. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-tokens.umd.js +26 -0
  8. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  9. package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -2
  10. package/directives/dropdown/dropdown-position.directive.d.ts +2 -2
  11. package/directives/hint/hint-position.directive.d.ts +2 -2
  12. package/esm2015/abstract/rect-accessor.js +2 -1
  13. package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +12 -12
  14. package/esm2015/directives/dropdown/dropdown-position.directive.js +11 -11
  15. package/esm2015/directives/hint/hint-position.directive.js +12 -11
  16. package/esm2015/tokens/index.js +2 -1
  17. package/esm2015/tokens/viewport.js +26 -0
  18. package/fesm2015/taiga-ui-core-abstract.js +1 -0
  19. package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
  20. package/fesm2015/taiga-ui-core-directives-dropdown.js +20 -20
  21. package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
  22. package/fesm2015/taiga-ui-core-directives-hint.js +16 -16
  23. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  24. package/fesm2015/taiga-ui-core-tokens.js +25 -1
  25. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  26. package/package.json +1 -1
  27. package/tokens/index.d.ts +1 -0
  28. package/tokens/viewport.d.ts +4 -0
@@ -1,9 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Directive, Inject, Input } from '@angular/core';
3
- import { WINDOW } from '@ng-web-apis/common';
4
3
  import { tuiDefaultProp } from '@taiga-ui/cdk';
5
4
  import { tuiAsPositionAccessor, TuiRectAccessor, } from '@taiga-ui/core/abstract';
6
5
  import { TUI_HINT_DIRECTIONS } from '@taiga-ui/core/constants';
6
+ import { TUI_VIEWPORT } from '@taiga-ui/core/tokens';
7
7
  import { TUI_HINT_OPTIONS } from './hint-options.directive';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@taiga-ui/core/abstract";
@@ -12,9 +12,9 @@ const ARROW_OFFSET = 22;
12
12
  const TOP = 0;
13
13
  const LEFT = 1;
14
14
  export class TuiHintPositionDirective {
15
- constructor(options, windowRef, accessor) {
15
+ constructor(options, viewport, accessor) {
16
16
  this.options = options;
17
- this.windowRef = windowRef;
17
+ this.viewport = viewport;
18
18
  this.accessor = accessor;
19
19
  this.points = TUI_HINT_DIRECTIONS.reduce((acc, direction) => (Object.assign(Object.assign({}, acc), { [direction]: [0, 0] })), {});
20
20
  this.direction = this.options.direction;
@@ -55,19 +55,20 @@ export class TuiHintPositionDirective {
55
55
  return this.points[direction || this.fallback];
56
56
  }
57
57
  get fallback() {
58
- return this.points.top[TOP] > this.windowRef.innerHeight - this.points.bottom[TOP]
58
+ return this.points.top[TOP] >
59
+ this.viewport.getClientRect().bottom - this.points.bottom[TOP]
59
60
  ? 'top'
60
61
  : 'bottom';
61
62
  }
62
63
  checkPosition([top, left], width, height) {
63
- const { innerHeight, innerWidth } = this.windowRef;
64
+ const viewport = this.viewport.getClientRect();
64
65
  return (top > OFFSET &&
65
66
  left > OFFSET &&
66
- top + height < innerHeight - OFFSET &&
67
- left + width < innerWidth - OFFSET);
67
+ top + height < viewport.bottom - OFFSET &&
68
+ left + width < viewport.right - OFFSET);
68
69
  }
69
70
  }
70
- TuiHintPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiHintPositionDirective, deps: [{ token: TUI_HINT_OPTIONS }, { token: WINDOW }, { token: TuiRectAccessor }], target: i0.ɵɵFactoryTarget.Directive });
71
+ TuiHintPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiHintPositionDirective, deps: [{ token: TUI_HINT_OPTIONS }, { token: TUI_VIEWPORT }, { token: TuiRectAccessor }], target: i0.ɵɵFactoryTarget.Directive });
71
72
  TuiHintPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: { direction: ["tuiHintDirection", "direction"] }, providers: [tuiAsPositionAccessor(TuiHintPositionDirective)], ngImport: i0 });
72
73
  __decorate([
73
74
  tuiDefaultProp()
@@ -81,9 +82,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
81
82
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
82
83
  type: Inject,
83
84
  args: [TUI_HINT_OPTIONS]
84
- }] }, { type: Window, decorators: [{
85
+ }] }, { type: i1.TuiRectAccessor, decorators: [{
85
86
  type: Inject,
86
- args: [WINDOW]
87
+ args: [TUI_VIEWPORT]
87
88
  }] }, { type: i1.TuiRectAccessor, decorators: [{
88
89
  type: Inject,
89
90
  args: [TuiRectAccessor]
@@ -91,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
91
92
  type: Input,
92
93
  args: ['tuiHintDirection']
93
94
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFDSCxxQkFBcUIsRUFFckIsZUFBZSxHQUNsQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRzdELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTFFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ2QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBTWYsTUFBTSxPQUFPLHdCQUF3QjtJQVdqQyxZQUMrQyxPQUF1QixFQUNqQyxTQUFpQixFQUNSLFFBQXlCO1FBRnhCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2pDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDUixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQWJ0RCxXQUFNLEdBQ25CLG1CQUFtQixDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxpQ0FBSyxHQUFHLEtBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBRSxFQUNuRCxFQUFTLENBQ1osQ0FBQztRQUlO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QUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsd0NBQXdDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsMEJBQTBCLENBQUM7aUJBQy9EOzswQkFhUSxNQUFNOzJCQUFDLGdCQUFnQjs4QkFDb0IsTUFBTTswQkFBakQsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGVBQWU7NENBTDNCLFNBQVM7c0JBRlIsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNQb3NpdGlvbkFjY2Vzc29yLFxuICAgIFR1aVBvc2l0aW9uQWNjZXNzb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1RVSV9ISU5UX0RJUkVDVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUhpbnREaXJlY3Rpb24sIFR1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5cbmltcG9ydCB7VFVJX0hJTlRfT1BUSU9OUywgVHVpSGludE9wdGlvbnN9IGZyb20gJy4vaGludC1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IE9GRlNFVCA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAyMjtcbmNvbnN0IFRPUCA9IDA7XG5jb25zdCBMRUZUID0gMTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdHVpSGludF06bm90KFt0dWlIaW50Q3VzdG9tUG9zaXRpb25dKScsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNQb3NpdGlvbkFjY2Vzc29yKFR1aUhpbnRQb3NpdGlvbkRpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50UG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBUdWlQb3NpdGlvbkFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50czogUmVjb3JkPFR1aUhpbnREaXJlY3Rpb24sIFtudW1iZXIsIG51bWJlcl0+ID1cbiAgICAgICAgVFVJX0hJTlRfRElSRUNUSU9OUy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBkaXJlY3Rpb24pID0+ICh7Li4uYWNjLCBbZGlyZWN0aW9uXTogWzAsIDBdfSksXG4gICAgICAgICAgICB7fSBhcyBhbnksXG4gICAgICAgICk7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnREaXJlY3Rpb24nKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGlyZWN0aW9uOiBUdWlIaW50T3B0aW9uc1snZGlyZWN0aW9uJ10gPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlIaW50T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgcmVhZG9ubHkgd2luZG93UmVmOiBXaW5kb3csXG4gICAgICAgIEBJbmplY3QoVHVpUmVjdEFjY2Vzc29yKSBwcml2YXRlIHJlYWRvbmx5IGFjY2Vzc29yOiBUdWlSZWN0QWNjZXNzb3IsXG4gICAgKSB7fVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1zdGF0ZW1lbnRzXG4gICAgZ2V0UG9zaXRpb24oe3dpZHRoLCBoZWlnaHR9OiBDbGllbnRSZWN0KTogVHVpUG9pbnQge1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuYWNjZXNzb3IuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBsZWZ0Q2VudGVyID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgdG9wQ2VudGVyID0gaG9zdFJlY3QudG9wICsgaG9zdFJlY3QuaGVpZ2h0IC8gMjtcblxuICAgICAgICB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdID0gaG9zdFJlY3QudG9wIC0gaGVpZ2h0IC0gT0ZGU0VUO1xuICAgICAgICB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtMRUZUXSA9IGxlZnRDZW50ZXIgLSB3aWR0aCArIEFSUk9XX09GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHMudG9wW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50cy50b3BbTEVGVF0gPSBsZWZ0Q2VudGVyIC0gd2lkdGggLyAyO1xuICAgICAgICB0aGlzLnBvaW50c1sndG9wLXJpZ2h0J11bVE9QXSA9IHRoaXMucG9pbnRzWyd0b3AtbGVmdCddW1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXSA9IGxlZnRDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XG5cbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXSA9IGhvc3RSZWN0LmJvdHRvbSArIE9GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bTEVGVF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtMRUZUXTtcbiAgICAgICAgdGhpcy5wb2ludHMuYm90dG9tW1RPUF0gPSB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50cy5ib3R0b21bTEVGVF0gPSB0aGlzLnBvaW50cy50b3BbTEVGVF07XG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tcmlnaHQnXVtUT1BdID0gdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1yaWdodCddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW0xFRlRdO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW1RPUF0gPSB0b3BDZW50ZXIgLSBoZWlnaHQgKyBBUlJPV19PRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdID0gaG9zdFJlY3QubGVmdCAtIHdpZHRoIC0gT0ZGU0VUO1xuICAgICAgICB0aGlzLnBvaW50cy5sZWZ0W1RPUF0gPSB0b3BDZW50ZXIgLSBoZWlnaHQgLyAyO1xuICAgICAgICB0aGlzLnBvaW50cy5sZWZ0W0xFRlRdID0gdGhpcy5wb2ludHNbJ2xlZnQtdG9wJ11bTEVGVF07XG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF0gPSB0b3BDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW0xFRlRdID0gdGhpcy5wb2ludHNbJ2xlZnQtdG9wJ11bTEVGVF07XG5cbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW1RPUF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtdG9wJ11bTEVGVF0gPSBob3N0UmVjdC5yaWdodCArIE9GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHMucmlnaHRbVE9QXSA9IHRoaXMucG9pbnRzLmxlZnRbVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHMucmlnaHRbTEVGVF0gPSB0aGlzLnBvaW50c1sncmlnaHQtdG9wJ11bTEVGVF07XG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC1ib3R0b20nXVtUT1BdID0gdGhpcy5wb2ludHNbJ2xlZnQtYm90dG9tJ11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LWJvdHRvbSddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdO1xuXG4gICAgICAgIGlmICh0aGlzLmNoZWNrUG9zaXRpb24odGhpcy5wb2ludHNbdGhpcy5kaXJlY3Rpb25dLCB3aWR0aCwgaGVpZ2h0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9pbnRzW3RoaXMuZGlyZWN0aW9uXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IFRVSV9ISU5UX0RJUkVDVElPTlMuZmluZChkaXJlY3Rpb24gPT5cbiAgICAgICAgICAgIHRoaXMuY2hlY2tQb3NpdGlvbih0aGlzLnBvaW50c1tkaXJlY3Rpb25dLCB3aWR0aCwgaGVpZ2h0KSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5wb2ludHNbZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2tdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGZhbGxiYWNrKCk6IFR1aUhpbnREaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5wb2ludHMudG9wW1RPUF0gPiB0aGlzLndpbmRvd1JlZi5pbm5lckhlaWdodCAtIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdXG4gICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICA6ICdib3R0b20nO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tQb3NpdGlvbihbdG9wLCBsZWZ0XTogVHVpUG9pbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtpbm5lckhlaWdodCwgaW5uZXJXaWR0aH0gPSB0aGlzLndpbmRvd1JlZjtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdG9wID4gT0ZGU0VUICYmXG4gICAgICAgICAgICBsZWZ0ID4gT0ZGU0VUICYmXG4gICAgICAgICAgICB0b3AgKyBoZWlnaHQgPCBpbm5lckhlaWdodCAtIE9GRlNFVCAmJlxuICAgICAgICAgICAgbGVmdCArIHdpZHRoIDwgaW5uZXJXaWR0aCAtIE9GRlNFVFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUNILHFCQUFxQixFQUVyQixlQUFlLEdBQ2xCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBRTFFLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUNqQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ2QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBTWYsTUFBTSxPQUFPLHdCQUF3QjtJQVdqQyxZQUMrQyxPQUF1QixFQUMzQixRQUF5QixFQUN0QixRQUF5QjtRQUZ4QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQWJ0RCxXQUFNLEdBQ25CLG1CQUFtQixDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxpQ0FBSyxHQUFHLEtBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBRSxFQUNuRCxFQUFTLENBQ1osQ0FBQztR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NUQ7SUFEQyxjQUFjLEVBQUU7MkRBQytDOzRGQVR2RCx3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsU0FBUyxFQUFFLENBQUMscUJBQXFCLDBCQUEwQixDQUFDO2lCQUMvRDs7MEJBYVEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLFlBQVk7OzBCQUNuQixNQUFNOzJCQUFDLGVBQWU7NENBTDNCLFNBQVM7c0JBRlIsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNQb3NpdGlvbkFjY2Vzc29yLFxuICAgIFR1aVBvc2l0aW9uQWNjZXNzb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hYnN0cmFjdCc7XG5pbXBvcnQge1RVSV9ISU5UX0RJUkVDVElPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9WSUVXUE9SVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpSGludERpcmVjdGlvbiwgVHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtUVUlfSElOVF9PUFRJT05TLCBUdWlIaW50T3B0aW9uc30gZnJvbSAnLi9oaW50LW9wdGlvbnMuZGlyZWN0aXZlJztcblxuY29uc3QgT0ZGU0VUID0gODtcbmNvbnN0IEFSUk9XX09GRlNFVCA9IDIyO1xuY29uc3QgVE9QID0gMDtcbmNvbnN0IExFRlQgPSAxO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlIaW50XTpub3QoW3R1aUhpbnRDdXN0b21Qb3NpdGlvbl0pJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc1Bvc2l0aW9uQWNjZXNzb3IoVHVpSGludFBvc2l0aW9uRGlyZWN0aXZlKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRQb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIFR1aVBvc2l0aW9uQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9pbnRzOiBSZWNvcmQ8VHVpSGludERpcmVjdGlvbiwgW251bWJlciwgbnVtYmVyXT4gPVxuICAgICAgICBUVUlfSElOVF9ESVJFQ1RJT05TLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIGRpcmVjdGlvbikgPT4gKHsuLi5hY2MsIFtkaXJlY3Rpb25dOiBbMCwgMF19KSxcbiAgICAgICAgICAgIHt9IGFzIGFueSxcbiAgICAgICAgKTtcblxuICAgIEBJbnB1dCgndHVpSGludERpcmVjdGlvbicpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkaXJlY3Rpb246IFR1aUhpbnRPcHRpb25zWydkaXJlY3Rpb24nXSA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfSElOVF9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUhpbnRPcHRpb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9WSUVXUE9SVCkgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydDogVHVpUmVjdEFjY2Vzc29yLFxuICAgICAgICBASW5qZWN0KFR1aVJlY3RBY2Nlc3NvcikgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvcjogVHVpUmVjdEFjY2Vzc29yLFxuICAgICkge31cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtc3RhdGVtZW50c1xuICAgIGdldFBvc2l0aW9uKHt3aWR0aCwgaGVpZ2h0fTogQ2xpZW50UmVjdCk6IFR1aVBvaW50IHtcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgbGVmdENlbnRlciA9IGhvc3RSZWN0LmxlZnQgKyBob3N0UmVjdC53aWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IHRvcENlbnRlciA9IGhvc3RSZWN0LnRvcCArIGhvc3RSZWN0LmhlaWdodCAvIDI7XG5cbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bVE9QXSA9IGhvc3RSZWN0LnRvcCAtIGhlaWdodCAtIE9GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gd2lkdGggKyBBUlJPV19PRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzLnRvcFtUT1BdID0gdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHMudG9wW0xFRlRdID0gbGVmdENlbnRlciAtIHdpZHRoIC8gMjtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50c1sndG9wLXJpZ2h0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gQVJST1dfT0ZGU0VUO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW1RPUF0gPSBob3N0UmVjdC5ib3R0b20gKyBPRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bTEVGVF07XG4gICAgICAgIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdID0gdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHMuYm90dG9tW0xFRlRdID0gdGhpcy5wb2ludHMudG9wW0xFRlRdO1xuICAgICAgICB0aGlzLnBvaW50c1snYm90dG9tLXJpZ2h0J11bVE9QXSA9IHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tcmlnaHQnXVtMRUZUXSA9IHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXTtcblxuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtUT1BdID0gdG9wQ2VudGVyIC0gaGVpZ2h0ICsgQVJST1dfT0ZGU0VUO1xuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LmxlZnQgLSB3aWR0aCAtIE9GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHMubGVmdFtUT1BdID0gdG9wQ2VudGVyIC0gaGVpZ2h0IC8gMjtcbiAgICAgICAgdGhpcy5wb2ludHMubGVmdFtMRUZUXSA9IHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdO1xuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC1ib3R0b20nXVtUT1BdID0gdG9wQ2VudGVyIC0gQVJST1dfT0ZGU0VUO1xuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC1ib3R0b20nXVtMRUZUXSA9IHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtUT1BdID0gdGhpcy5wb2ludHNbJ2xlZnQtdG9wJ11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdID0gaG9zdFJlY3QucmlnaHQgKyBPRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzLnJpZ2h0W1RPUF0gPSB0aGlzLnBvaW50cy5sZWZ0W1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzLnJpZ2h0W0xFRlRdID0gdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdO1xuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtYm90dG9tJ11bVE9QXSA9IHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC1ib3R0b20nXVtMRUZUXSA9IHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXTtcblxuICAgICAgICBpZiAodGhpcy5jaGVja1Bvc2l0aW9uKHRoaXMucG9pbnRzW3RoaXMuZGlyZWN0aW9uXSwgd2lkdGgsIGhlaWdodCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBvaW50c1t0aGlzLmRpcmVjdGlvbl07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBUVUlfSElOVF9ESVJFQ1RJT05TLmZpbmQoZGlyZWN0aW9uID0+XG4gICAgICAgICAgICB0aGlzLmNoZWNrUG9zaXRpb24odGhpcy5wb2ludHNbZGlyZWN0aW9uXSwgd2lkdGgsIGhlaWdodCksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucG9pbnRzW2RpcmVjdGlvbiB8fCB0aGlzLmZhbGxiYWNrXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBmYWxsYmFjaygpOiBUdWlIaW50RGlyZWN0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9pbnRzLnRvcFtUT1BdID5cbiAgICAgICAgICAgIHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpLmJvdHRvbSAtIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdXG4gICAgICAgICAgICA/ICd0b3AnXG4gICAgICAgICAgICA6ICdib3R0b20nO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tQb3NpdGlvbihbdG9wLCBsZWZ0XTogVHVpUG9pbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydC5nZXRDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRvcCA+IE9GRlNFVCAmJlxuICAgICAgICAgICAgbGVmdCA+IE9GRlNFVCAmJlxuICAgICAgICAgICAgdG9wICsgaGVpZ2h0IDwgdmlld3BvcnQuYm90dG9tIC0gT0ZGU0VUICYmXG4gICAgICAgICAgICBsZWZ0ICsgd2lkdGggPCB2aWV3cG9ydC5yaWdodCAtIE9GRlNFVFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
@@ -27,4 +27,5 @@ export * from './textfield-appearance';
27
27
  export * from './textfield-host';
28
28
  export * from './theme';
29
29
  export * from './value-accessor';
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmltYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbnMtZHVyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnQtZW5hYmxlZCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC1ob3N0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5LXR5cGUtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50LW9yLXNoYWRvdy1yb290JztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1yZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJzdC1kYXktb2Ytd2Vlayc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLXBsYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucy1wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlLXJlc29sdXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpYSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyZWQtc2hvcnQtd2Vlay1kYXlzJztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1zdHJlYW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zdmctY29udGVudC1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9zdmctc3JjLXByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1hcHBlYXJhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcbiJdfQ==
30
+ export * from './viewport';
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hbmltYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGlvbnMtZHVyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnQtZW5hYmxlZCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC1hY2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC1ob3N0JztcbmV4cG9ydCAqIGZyb20gJy4vZGF5LXR5cGUtaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2RvY3VtZW50LW9yLXNoYWRvdy1yb290JztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudC1yZWYnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJzdC1kYXktb2Ytd2Vlayc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLXBsYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29ucy1wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbW9iaWxlLXJlc29sdXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tZWRpYSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcHRpb24tY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL29yZGVyZWQtc2hvcnQtd2Vlay1kYXlzJztcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsLXJlZic7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGlvbi1zdHJlYW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zdmctY29udGVudC1wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9zdmctc3JjLXByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3RleHRmaWVsZC1hcHBlYXJhbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGZpZWxkLWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vdmlld3BvcnQnO1xuIl19
@@ -0,0 +1,26 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ import { WINDOW } from '@ng-web-apis/common';
3
+ export const TUI_VIEWPORT = new InjectionToken(`[TUI_VIEWPORT]: Viewport accessor`, {
4
+ factory: () => {
5
+ const windowRef = inject(WINDOW);
6
+ return {
7
+ getClientRect() {
8
+ return {
9
+ top: 0,
10
+ left: 0,
11
+ right: windowRef.innerWidth,
12
+ bottom: windowRef.innerHeight,
13
+ width: windowRef.innerWidth,
14
+ height: windowRef.innerHeight,
15
+ };
16
+ },
17
+ };
18
+ },
19
+ });
20
+ export function tuiAsViewport(useExisting) {
21
+ return {
22
+ provide: TUI_VIEWPORT,
23
+ useExisting,
24
+ };
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy92aWV3cG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRzNDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FDMUMsbUNBQW1DLEVBQ25DO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqQyxPQUFPO1lBQ0gsYUFBYTtnQkFDVCxPQUFPO29CQUNILEdBQUcsRUFBRSxDQUFDO29CQUNOLElBQUksRUFBRSxDQUFDO29CQUNQLEtBQUssRUFBRSxTQUFTLENBQUMsVUFBVTtvQkFDM0IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUFXO29CQUM3QixLQUFLLEVBQUUsU0FBUyxDQUFDLFVBQVU7b0JBQzNCLE1BQU0sRUFBRSxTQUFTLENBQUMsV0FBVztpQkFDaEMsQ0FBQztZQUNOLENBQUM7U0FDSixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsV0FBa0M7SUFDNUQsT0FBTztRQUNILE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFdBQVc7S0FDZCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUdWlSZWN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcblxuZXhwb3J0IGNvbnN0IFRVSV9WSUVXUE9SVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlSZWN0QWNjZXNzb3I+KFxuICAgIGBbVFVJX1ZJRVdQT1JUXTogVmlld3BvcnQgYWNjZXNzb3JgLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgd2luZG93UmVmID0gaW5qZWN0KFdJTkRPVyk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZ2V0Q2xpZW50UmVjdCgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogd2luZG93UmVmLmlubmVyV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IHdpbmRvd1JlZi5pbm5lckhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3dSZWYuaW5uZXJXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogd2luZG93UmVmLmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgIH0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNWaWV3cG9ydCh1c2VFeGlzdGluZzogVHlwZTxUdWlSZWN0QWNjZXNzb3I+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9WSUVXUE9SVCxcbiAgICAgICAgdXNlRXhpc3RpbmcsXG4gICAgfTtcbn1cbiJdfQ==
@@ -90,6 +90,7 @@ function tuiAsPositionAccessor(useExisting) {
90
90
  };
91
91
  }
92
92
 
93
+ // TODO: Rename to getBoundingClientRect to match the DOM API
93
94
  // eslint-disable-next-line @typescript-eslint/naming-convention
94
95
  class TuiRectAccessor {
95
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-abstract.js","sources":["../../../projects/core/abstract/driver.ts","../../../projects/core/abstract/vehicle.ts","../../../projects/core/abstract/abstract-driver.directive.ts","../../../projects/core/abstract/abstract-textfield-host.ts","../../../projects/core/abstract/position-accessor.ts","../../../projects/core/abstract/rect-accessor.ts","../../../projects/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {ExistingProvider, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiDriver extends Observable<boolean> {}\n\nexport function tuiAsDriver(useExisting: Type<TuiDriver>): ExistingProvider {\n return {\n provide: TuiDriver,\n useExisting,\n };\n}\n","import {ExistingProvider, Type} from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiVehicle {\n abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(useExisting: Type<TuiVehicle>): ExistingProvider {\n return {\n provide: TuiVehicle,\n useExisting,\n };\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TuiDriver} from './driver';\nimport {TuiVehicle} from './vehicle';\n\n@Directive()\nexport abstract class AbstractTuiDriverDirective {\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) driver$: Observable<boolean>,\n @Inject(TuiVehicle) vehicle: TuiVehicle,\n ) {\n driver$.pipe(distinctUntilChanged(), takeUntil(destroy$)).subscribe(value => {\n vehicle.toggle(value);\n });\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n@Directive()\nexport abstract class AbstractTuiTextfieldHost<T extends AbstractTuiControl<any>>\n implements TuiTextfieldHost\n{\n constructor(@Inject(AbstractTuiControl) protected readonly host: T) {}\n\n get readOnly(): boolean {\n return this.host.readOnly;\n }\n\n get disabled(): boolean {\n return this.host.computedDisabled;\n }\n\n get invalid(): boolean {\n return this.host.computedInvalid;\n }\n\n get focusable(): boolean {\n return this.host.computedFocusable;\n }\n\n get value(): string {\n return this.host.value?.toString() || ``;\n }\n\n abstract onValueChange(value: string): void;\n\n process(_input: HTMLInputElement): void {}\n}\n","import {ExistingProvider, Type} from '@angular/core';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiPositionAccessor {\n abstract getPosition(rect: ClientRect): TuiPoint;\n}\n\nexport function tuiAsPositionAccessor(\n useExisting: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return {\n provide: TuiPositionAccessor,\n useExisting,\n };\n}\n","import {ExistingProvider, Type} from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiRectAccessor {\n abstract getClientRect(): ClientRect;\n}\n\nexport function tuiAsRectAccessor(useExisting: Type<TuiRectAccessor>): ExistingProvider {\n return {\n provide: TuiRectAccessor,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-abstract.js","sources":["../../../projects/core/abstract/driver.ts","../../../projects/core/abstract/vehicle.ts","../../../projects/core/abstract/abstract-driver.directive.ts","../../../projects/core/abstract/abstract-textfield-host.ts","../../../projects/core/abstract/position-accessor.ts","../../../projects/core/abstract/rect-accessor.ts","../../../projects/core/abstract/taiga-ui-core-abstract.ts"],"sourcesContent":["import {ExistingProvider, Type} from '@angular/core';\nimport {Observable} from 'rxjs';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiDriver extends Observable<boolean> {}\n\nexport function tuiAsDriver(useExisting: Type<TuiDriver>): ExistingProvider {\n return {\n provide: TuiDriver,\n useExisting,\n };\n}\n","import {ExistingProvider, Type} from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiVehicle {\n abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(useExisting: Type<TuiVehicle>): ExistingProvider {\n return {\n provide: TuiVehicle,\n useExisting,\n };\n}\n","import {Directive, Inject, Self} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, takeUntil} from 'rxjs/operators';\n\nimport {TuiDriver} from './driver';\nimport {TuiVehicle} from './vehicle';\n\n@Directive()\nexport abstract class AbstractTuiDriverDirective {\n constructor(\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(TuiDriver) driver$: Observable<boolean>,\n @Inject(TuiVehicle) vehicle: TuiVehicle,\n ) {\n driver$.pipe(distinctUntilChanged(), takeUntil(destroy$)).subscribe(value => {\n vehicle.toggle(value);\n });\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {AbstractTuiControl} from '@taiga-ui/cdk';\nimport {TuiTextfieldHost} from '@taiga-ui/core/interfaces';\n\n@Directive()\nexport abstract class AbstractTuiTextfieldHost<T extends AbstractTuiControl<any>>\n implements TuiTextfieldHost\n{\n constructor(@Inject(AbstractTuiControl) protected readonly host: T) {}\n\n get readOnly(): boolean {\n return this.host.readOnly;\n }\n\n get disabled(): boolean {\n return this.host.computedDisabled;\n }\n\n get invalid(): boolean {\n return this.host.computedInvalid;\n }\n\n get focusable(): boolean {\n return this.host.computedFocusable;\n }\n\n get value(): string {\n return this.host.value?.toString() || ``;\n }\n\n abstract onValueChange(value: string): void;\n\n process(_input: HTMLInputElement): void {}\n}\n","import {ExistingProvider, Type} from '@angular/core';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiPositionAccessor {\n abstract getPosition(rect: ClientRect): TuiPoint;\n}\n\nexport function tuiAsPositionAccessor(\n useExisting: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return {\n provide: TuiPositionAccessor,\n useExisting,\n };\n}\n","import {ExistingProvider, Type} from '@angular/core';\n\n// TODO: Rename to getBoundingClientRect to match the DOM API\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport abstract class TuiRectAccessor {\n abstract getClientRect(): ClientRect;\n}\n\nexport function tuiAsRectAccessor(useExisting: Type<TuiRectAccessor>): ExistingProvider {\n return {\n provide: TuiRectAccessor,\n useExisting,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import * as i1$2 from '@taiga-ui/core/abstract';
7
7
  import { tuiAsRectAccessor, tuiAsVehicle, TuiDriver, tuiAsDriver, TuiRectAccessor, AbstractTuiDriverDirective, tuiAsPositionAccessor } from '@taiga-ui/core/abstract';
8
8
  import { tuiDropdownAnimation } from '@taiga-ui/core/animations';
9
9
  import { TuiPositionService } from '@taiga-ui/core/services';
10
- import { TUI_ANIMATION_OPTIONS, TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
10
+ import { TUI_ANIMATION_OPTIONS, TUI_VIEWPORT, TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
11
11
  import { switchMap, delay, tap, share, takeUntil, map, distinctUntilChanged } from 'rxjs/operators';
12
12
  import { __decorate } from 'tslib';
13
13
  import { tuiCheckFixedPosition, tuiOverrideOptions, tuiGetWordRange } from '@taiga-ui/core/utils';
@@ -488,26 +488,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
488
488
  }] } });
489
489
 
490
490
  class TuiDropdownPositionDirective {
491
- constructor(options, windowRef, accessor) {
491
+ constructor(options, viewport, accessor) {
492
492
  this.options = options;
493
- this.windowRef = windowRef;
493
+ this.viewport = viewport;
494
494
  this.accessor = accessor;
495
495
  }
496
496
  getPosition({ width, height }) {
497
497
  const hostRect = this.accessor.getClientRect();
498
- const { innerHeight, innerWidth } = this.windowRef;
498
+ const viewport = this.viewport.getClientRect();
499
499
  const { minHeight, align, direction, offset } = this.options;
500
500
  const previous = this.previous || direction || 'bottom';
501
501
  const right = Math.max(hostRect.right - width, offset);
502
502
  const available = {
503
- top: hostRect.top - 2 * offset,
504
- bottom: innerHeight - hostRect.bottom - 2 * offset,
503
+ top: hostRect.top - 2 * offset - viewport.top,
504
+ bottom: viewport.bottom - hostRect.bottom - 2 * offset,
505
505
  };
506
506
  const position = {
507
507
  top: hostRect.top - offset - height,
508
508
  bottom: hostRect.bottom + offset,
509
509
  right,
510
- left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,
510
+ left: hostRect.left + width < viewport.right - offset ? hostRect.left : right,
511
511
  };
512
512
  const better = available.top > available.bottom ? 'top' : 'bottom';
513
513
  if ((available[previous] > minHeight && direction) ||
@@ -518,7 +518,7 @@ class TuiDropdownPositionDirective {
518
518
  return [position[better], position[align]];
519
519
  }
520
520
  }
521
- TuiDropdownPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: WINDOW }, { token: TuiRectAccessor }], target: i0.ɵɵFactoryTarget.Directive });
521
+ TuiDropdownPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: TUI_VIEWPORT }, { token: TuiRectAccessor }], target: i0.ɵɵFactoryTarget.Directive });
522
522
  TuiDropdownPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])", providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)], ngImport: i0 });
523
523
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionDirective, decorators: [{
524
524
  type: Directive,
@@ -529,18 +529,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
529
529
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
530
530
  type: Inject,
531
531
  args: [TUI_DROPDOWN_OPTIONS]
532
- }] }, { type: Window, decorators: [{
532
+ }] }, { type: i1$2.TuiRectAccessor, decorators: [{
533
533
  type: Inject,
534
- args: [WINDOW]
534
+ args: [TUI_VIEWPORT]
535
535
  }] }, { type: i1$2.TuiRectAccessor, decorators: [{
536
536
  type: Inject,
537
537
  args: [TuiRectAccessor]
538
538
  }] }]; } });
539
539
 
540
540
  class TuiDropdownPositionSidedDirective {
541
- constructor(options, windowRef, accessor, vertical) {
541
+ constructor(options, viewport, accessor, vertical) {
542
542
  this.options = options;
543
- this.windowRef = windowRef;
543
+ this.viewport = viewport;
544
544
  this.accessor = accessor;
545
545
  this.vertical = vertical;
546
546
  this.previous = this.options.direction || 'bottom';
@@ -553,13 +553,13 @@ class TuiDropdownPositionSidedDirective {
553
553
  }
554
554
  const { height, width } = rect;
555
555
  const hostRect = this.accessor.getClientRect();
556
- const { innerHeight, innerWidth } = this.windowRef;
556
+ const viewport = this.viewport.getClientRect();
557
557
  const { align, direction, minHeight, offset } = this.options;
558
558
  const available = {
559
- top: hostRect.bottom,
560
- left: hostRect.left - offset,
561
- right: innerWidth - hostRect.right - offset,
562
- bottom: innerHeight - hostRect.top,
559
+ top: hostRect.bottom - viewport.top,
560
+ left: hostRect.left - offset - viewport.left,
561
+ right: viewport.right - hostRect.right - offset,
562
+ bottom: viewport.bottom - hostRect.top,
563
563
  };
564
564
  const position = {
565
565
  top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1,
@@ -578,7 +578,7 @@ class TuiDropdownPositionSidedDirective {
578
578
  return [position[better], left];
579
579
  }
580
580
  }
581
- TuiDropdownPositionSidedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionSidedDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: WINDOW }, { token: TuiRectAccessor }, { token: TuiDropdownPositionDirective }], target: i0.ɵɵFactoryTarget.Directive });
581
+ TuiDropdownPositionSidedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownPositionSidedDirective, deps: [{ token: TUI_DROPDOWN_OPTIONS }, { token: TUI_VIEWPORT }, { token: TuiRectAccessor }, { token: TuiDropdownPositionDirective }], target: i0.ɵɵFactoryTarget.Directive });
582
582
  TuiDropdownPositionSidedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDropdownPositionSidedDirective, selector: "[tuiDropdownSided]", inputs: { tuiDropdownSided: "tuiDropdownSided", tuiDropdownSidedOffset: "tuiDropdownSidedOffset" }, providers: [
583
583
  TuiDropdownPositionDirective,
584
584
  tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),
@@ -595,9 +595,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
595
595
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
596
596
  type: Inject,
597
597
  args: [TUI_DROPDOWN_OPTIONS]
598
- }] }, { type: Window, decorators: [{
598
+ }] }, { type: i1$2.TuiRectAccessor, decorators: [{
599
599
  type: Inject,
600
- args: [WINDOW]
600
+ args: [TUI_VIEWPORT]
601
601
  }] }, { type: i1$2.TuiRectAccessor, decorators: [{
602
602
  type: Inject,
603
603
  args: [TuiRectAccessor]