@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.
- package/bundles/taiga-ui-core-abstract.umd.js +1 -0
- package/bundles/taiga-ui-core-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-dropdown.umd.js +21 -21
- package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js +56 -55
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-tokens.umd.js +26 -0
- package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
- package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -2
- package/directives/dropdown/dropdown-position.directive.d.ts +2 -2
- package/directives/hint/hint-position.directive.d.ts +2 -2
- package/esm2015/abstract/rect-accessor.js +2 -1
- package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +12 -12
- package/esm2015/directives/dropdown/dropdown-position.directive.js +11 -11
- package/esm2015/directives/hint/hint-position.directive.js +12 -11
- package/esm2015/tokens/index.js +2 -1
- package/esm2015/tokens/viewport.js +26 -0
- package/fesm2015/taiga-ui-core-abstract.js +1 -0
- package/fesm2015/taiga-ui-core-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-dropdown.js +20 -20
- package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-hint.js +16 -16
- package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-tokens.js +25 -1
- package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
- package/package.json +1 -1
- package/tokens/index.d.ts +1 -0
- 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,
|
|
15
|
+
constructor(options, viewport, accessor) {
|
|
16
16
|
this.options = options;
|
|
17
|
-
this.
|
|
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] >
|
|
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
|
|
64
|
+
const viewport = this.viewport.getClientRect();
|
|
64
65
|
return (top > OFFSET &&
|
|
65
66
|
left > OFFSET &&
|
|
66
|
-
top + height <
|
|
67
|
-
left + width <
|
|
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:
|
|
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:
|
|
85
|
+
}] }, { type: i1.TuiRectAccessor, decorators: [{
|
|
85
86
|
type: Inject,
|
|
86
|
-
args: [
|
|
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==
|
package/esm2015/tokens/index.js
CHANGED
|
@@ -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
|
-
|
|
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==
|
|
@@ -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,
|
|
491
|
+
constructor(options, viewport, accessor) {
|
|
492
492
|
this.options = options;
|
|
493
|
-
this.
|
|
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
|
|
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:
|
|
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 <
|
|
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:
|
|
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:
|
|
532
|
+
}] }, { type: i1$2.TuiRectAccessor, decorators: [{
|
|
533
533
|
type: Inject,
|
|
534
|
-
args: [
|
|
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,
|
|
541
|
+
constructor(options, viewport, accessor, vertical) {
|
|
542
542
|
this.options = options;
|
|
543
|
-
this.
|
|
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
|
|
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:
|
|
562
|
-
bottom:
|
|
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:
|
|
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:
|
|
598
|
+
}] }, { type: i1$2.TuiRectAccessor, decorators: [{
|
|
599
599
|
type: Inject,
|
|
600
|
-
args: [
|
|
600
|
+
args: [TUI_VIEWPORT]
|
|
601
601
|
}] }, { type: i1$2.TuiRectAccessor, decorators: [{
|
|
602
602
|
type: Inject,
|
|
603
603
|
args: [TuiRectAccessor]
|