@ngutil/aria 0.0.52 → 0.0.55
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/esm2022/activity/activity.service.mjs +3 -3
- package/esm2022/focus/focus-state.directive.mjs +3 -3
- package/esm2022/focus/focus.service.mjs +3 -3
- package/esm2022/focus/focusable.directive.mjs +6 -9
- package/esm2022/gestures/gestures.service.mjs +3 -3
- package/esm2022/index.mjs +2 -1
- package/esm2022/keystroke/keystroke.service.mjs +60 -61
- package/esm2022/ui-state/abstract.mjs +35 -0
- package/esm2022/ui-state/busy.directive.mjs +27 -0
- package/esm2022/ui-state/disabled.directive.mjs +28 -0
- package/esm2022/ui-state/index.mjs +25 -0
- package/esm2022/ui-state/progress-state.mjs +150 -0
- package/esm2022/ui-state/readonly.directive.mjs +28 -0
- package/esm2022/ui-state/ui-state.mjs +92 -0
- package/fesm2022/ngutil-aria.mjs +428 -83
- package/fesm2022/ngutil-aria.mjs.map +1 -1
- package/focus/focusable.directive.d.ts +0 -1
- package/index.d.ts +1 -0
- package/keystroke/keystroke.service.d.ts +3 -2
- package/package.json +6 -6
- package/ui-state/abstract.d.ts +16 -0
- package/ui-state/busy.directive.d.ts +9 -0
- package/ui-state/disabled.directive.d.ts +9 -0
- package/ui-state/index.d.ts +15 -0
- package/ui-state/progress-state.d.ts +50 -0
- package/ui-state/readonly.directive.d.ts +9 -0
- package/ui-state/ui-state.d.ts +33 -0
|
@@ -39,10 +39,10 @@ export class ActivityService {
|
|
|
39
39
|
watchInactvity(timeout) {
|
|
40
40
|
return this.events$.pipe(startWith(null), throttleTime(timeout / 2), switchMap(() => timer(0, timeout).pipe(take(2))), map(v => v !== 0), distinctUntilChanged(), shareReplay(1));
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ActivityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ActivityService, providedIn: "root" }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ActivityService, decorators: [{
|
|
46
46
|
type: Injectable,
|
|
47
47
|
args: [{ providedIn: "root" }]
|
|
48
48
|
}] });
|
|
@@ -46,11 +46,11 @@ export class FocusState {
|
|
|
46
46
|
};
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FocusState, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
50
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: FocusState, isStandalone: true, host: { properties: { "attr.focus": "origin()", "attr.focusWithin": "within()" } }, ngImport: i0 }); }
|
|
51
51
|
}
|
|
52
52
|
_a = FocusState;
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FocusState, decorators: [{
|
|
54
54
|
type: Directive,
|
|
55
55
|
args: [{
|
|
56
56
|
standalone: true,
|
|
@@ -82,10 +82,10 @@ export class FocusService {
|
|
|
82
82
|
focusTrap(inside, deferCaptureElements = false) {
|
|
83
83
|
return this.#focusTrap.create(inside, deferCaptureElements);
|
|
84
84
|
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
86
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FocusService, deps: [{ token: DOCUMENT }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FocusService, providedIn: "root" }); }
|
|
87
87
|
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FocusService, decorators: [{
|
|
89
89
|
type: Injectable,
|
|
90
90
|
args: [{ providedIn: "root" }]
|
|
91
91
|
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
import { computed, Directive, effect, inject, input } from "@angular/core";
|
|
2
|
-
import {
|
|
2
|
+
import { isElementInput } from "@ngutil/common";
|
|
3
3
|
import { FocusState } from "./focus-state.directive";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./focus-state.directive";
|
|
6
6
|
// TODO: what happens when disabled is changed
|
|
7
7
|
export class Focusable {
|
|
8
|
-
#disabled;
|
|
9
8
|
constructor() {
|
|
10
|
-
this.#disabled = inject(DisabledState, { optional: true, self: true });
|
|
11
9
|
this.state = inject(FocusState);
|
|
12
10
|
this.focusable = input(true, { alias: "nuFocusable" });
|
|
13
11
|
this.tabindex = input(0, { transform: Number });
|
|
14
12
|
this._tabindex = computed(() => {
|
|
15
13
|
const focusable = this.focusable();
|
|
16
14
|
const tabindex = this.tabindex();
|
|
17
|
-
|
|
18
|
-
if (focusable === false || isDisabled) {
|
|
15
|
+
if (focusable === false) {
|
|
19
16
|
return -1;
|
|
20
17
|
}
|
|
21
18
|
if (typeof focusable === "number") {
|
|
@@ -37,10 +34,10 @@ export class Focusable {
|
|
|
37
34
|
return this.state.connect(value.state);
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: Focusable, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
38
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: Focusable, isStandalone: true, selector: "[nuFocusable]", inputs: { focusable: { classPropertyName: "focusable", publicName: "nuFocusable", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.tabindex": "_tabindex()" } }, exportAs: ["nuFocusable"], hostDirectives: [{ directive: i1.FocusState }], ngImport: i0 }); }
|
|
42
39
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: Focusable, decorators: [{
|
|
44
41
|
type: Directive,
|
|
45
42
|
args: [{
|
|
46
43
|
standalone: true,
|
|
@@ -52,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImpor
|
|
|
52
49
|
hostDirectives: [FocusState]
|
|
53
50
|
}]
|
|
54
51
|
}], ctorParameters: () => [] });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FyaWEvc3JjL2ZvY3VzL2ZvY3VzYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUUsT0FBTyxFQUFpQyxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUE7OztBQUVwRCw4Q0FBOEM7QUFXOUMsTUFBTSxPQUFPLFNBQVM7SUF5QmxCO1FBeEJTLFVBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFMUIsY0FBUyxHQUFHLEtBQUssQ0FBbUIsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUE7UUFDbkUsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtRQUUxQyxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUE7WUFDbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBRWhDLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUN0QixPQUFPLENBQUMsQ0FBQyxDQUFBO1lBQ2IsQ0FBQztZQUVELElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sU0FBUyxDQUFBO1lBQ3BCLENBQUM7WUFFRCxJQUFJLFNBQVMsS0FBSyxJQUFJLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUM3RCxPQUFPLFFBQVEsQ0FBQTtZQUNuQixDQUFDO1lBRUQsT0FBTyxDQUFDLENBQUE7UUFDWixDQUFDLENBQUMsQ0FBQTtRQUdFLHVEQUF1RDtRQUN2RCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQTRDO1FBQ2hELElBQUksS0FBSyxZQUFZLFVBQVUsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDMUMsQ0FBQztJQUNMLENBQUM7OEdBcENRLFNBQVM7a0dBQVQsU0FBUzs7MkZBQVQsU0FBUztrQkFUckIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUsYUFBYTtxQkFDbkM7b0JBQ0QsY0FBYyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgQ29ubmVjdFByb3RvY29sLCBFbGVtZW50SW5wdXQsIGlzRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcblxuaW1wb3J0IHsgRm9jdXNTdGF0ZSB9IGZyb20gXCIuL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZVwiXG5cbi8vIFRPRE86IHdoYXQgaGFwcGVucyB3aGVuIGRpc2FibGVkIGlzIGNoYW5nZWRcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogXCJbbnVGb2N1c2FibGVdXCIsXG4gICAgZXhwb3J0QXM6IFwibnVGb2N1c2FibGVcIixcbiAgICBob3N0OiB7XG4gICAgICAgIFwiW2F0dHIudGFiaW5kZXhdXCI6IFwiX3RhYmluZGV4KClcIlxuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtGb2N1c1N0YXRlXVxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c2FibGUgaW1wbGVtZW50cyBDb25uZWN0UHJvdG9jb2wge1xuICAgIHJlYWRvbmx5IHN0YXRlID0gaW5qZWN0KEZvY3VzU3RhdGUpXG5cbiAgICByZWFkb25seSBmb2N1c2FibGUgPSBpbnB1dDxib29sZWFuIHwgbnVtYmVyPih0cnVlLCB7IGFsaWFzOiBcIm51Rm9jdXNhYmxlXCIgfSlcbiAgICByZWFkb25seSB0YWJpbmRleCA9IGlucHV0KDAsIHsgdHJhbnNmb3JtOiBOdW1iZXIgfSlcblxuICAgIHJlYWRvbmx5IF90YWJpbmRleCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdGhpcy5mb2N1c2FibGUoKVxuICAgICAgICBjb25zdCB0YWJpbmRleCA9IHRoaXMudGFiaW5kZXgoKVxuXG4gICAgICAgIGlmIChmb2N1c2FibGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm4gLTFcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgZm9jdXNhYmxlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9jdXNhYmxlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZm9jdXNhYmxlID09PSB0cnVlICYmIHRhYmluZGV4ICE9IG51bGwgJiYgIWlzTmFOKHRhYmluZGV4KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRhYmluZGV4XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gMFxuICAgIH0pXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgLy8gVE9ETzogbWnDqXJ0IGtlbGwgZXo/LCBoYSBuaW5jcyBpdHQgYWtrb3IgbmVtIGZyaXNzw7xsXG4gICAgICAgIGVmZmVjdCgoKSA9PiB0aGlzLl90YWJpbmRleCgpLCB7IGFsbG93U2lnbmFsV3JpdGVzOiBmYWxzZSB9KVxuICAgIH1cblxuICAgIGNvbm5lY3QodmFsdWU6IEZvY3VzYWJsZSB8IEZvY3VzU3RhdGUgfCBFbGVtZW50SW5wdXQpIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRm9jdXNTdGF0ZSB8fCBpc0VsZW1lbnRJbnB1dCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmNvbm5lY3QodmFsdWUpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5jb25uZWN0KHZhbHVlLnN0YXRlKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -92,10 +92,10 @@ export class GesturesService {
|
|
|
92
92
|
return listener;
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
96
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GesturesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
96
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GesturesService, providedIn: "root" }); }
|
|
97
97
|
}
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: GesturesService, decorators: [{
|
|
99
99
|
type: Injectable,
|
|
100
100
|
args: [{ providedIn: "root" }]
|
|
101
101
|
}] });
|
package/esm2022/index.mjs
CHANGED
|
@@ -2,4 +2,5 @@ export { ActivityService } from "./activity";
|
|
|
2
2
|
export { FocusService, FocusTrap, Focusable, FocusState } from "./focus";
|
|
3
3
|
export { KeystrokeService } from "./keystroke";
|
|
4
4
|
export * from "./gestures";
|
|
5
|
-
|
|
5
|
+
export * from "./ui-state";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMzRSxPQUFPLEVBQWUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFnQyxNQUFNLFNBQVMsQ0FBQTtBQUNuSCxPQUFPLEVBQTZCLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3pFLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsWUFBWSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQWN0aXZpdHlFdmVudCwgQWN0aXZpdHlPcmlnaW4sIEFjdGl2aXR5U2VydmljZSB9IGZyb20gXCIuL2FjdGl2aXR5XCJcbmV4cG9ydCB7IEZvY3VzT3JpZ2luLCBGb2N1c1NlcnZpY2UsIEZvY3VzVHJhcCwgRm9jdXNhYmxlLCBGb2N1c1N0YXRlLCBGb2N1c2FibGVFdmVudCwgRm9jdXNDaGFuZ2VzIH0gZnJvbSBcIi4vZm9jdXNcIlxuZXhwb3J0IHsgS2V5c3Ryb2tlLCBLZXlzdHJva2VFdmVudCwgS2V5c3Ryb2tlU2VydmljZSB9IGZyb20gXCIuL2tleXN0cm9rZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9nZXN0dXJlc1wiXG5leHBvcnQgKiBmcm9tIFwiLi91aS1zdGF0ZVwiXG4iXX0=
|
|
@@ -1,72 +1,71 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { map, Observable, share,
|
|
4
|
-
import { coerceElement } from "@ngutil/common";
|
|
1
|
+
import { DOCUMENT } from "@angular/common";
|
|
2
|
+
import { inject, Injectable, NgZone } from "@angular/core";
|
|
3
|
+
import { distinctUntilChanged, EMPTY, filter, from, fromEvent, map, merge, Observable, of, share, shareReplay, startWith, switchMap } from "rxjs";
|
|
4
|
+
import { coerceElement, isElementInput } from "@ngutil/common";
|
|
5
|
+
import { FocusState } from "../focus";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class KeystrokeService {
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
document.removeEventListener("keyup", handler, { capture: true });
|
|
17
|
-
};
|
|
18
|
-
}).pipe(share());
|
|
19
|
-
#activatedKs = this.#keyEvent.pipe(map(event => {
|
|
20
|
-
const keystroke = eventToKeystroke(event);
|
|
21
|
-
const id = keystrokeId(keystroke);
|
|
22
|
-
return { event, keystrokes: this.#keystrokes[id] || [], keystroke };
|
|
23
|
-
}));
|
|
24
|
-
constructor() {
|
|
25
|
-
this.#activatedKs.pipe(takeUntilDestroyed()).subscribe(({ event, keystrokes, keystroke }) => {
|
|
26
|
-
for (const ks of keystrokes) {
|
|
27
|
-
if (event.defaultPrevented) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (ks.target === event.target ||
|
|
31
|
-
ks.target.contains(event.target) ||
|
|
32
|
-
document.activeElement === ks.target ||
|
|
33
|
-
ks.target.contains(document.activeElement)) {
|
|
34
|
-
ks.subject.next({ original: event, keystroke });
|
|
35
|
-
}
|
|
8
|
+
#document = inject(DOCUMENT);
|
|
9
|
+
#zone = inject(NgZone);
|
|
10
|
+
#keyEvent = this.#zone.runOutsideAngular(() => merge(fromEvent(this.#document, "keydown", { capture: true, passive: false }), fromEvent(this.#document, "keyup", { capture: true, passive: false })).pipe(filter(event => event.defaultPrevented === false), share()));
|
|
11
|
+
#focusEvent = this.#zone.runOutsideAngular(() => fromEvent(this.#document, "focus", { capture: true, passive: true }).pipe(startWith(null), map(() => this.#document.activeElement), shareReplay(1)));
|
|
12
|
+
watch(activation, ...keystrokes) {
|
|
13
|
+
return new Observable((dst) => this.#trigger(activation)
|
|
14
|
+
.pipe(distinctUntilChanged(), switchMap(enabled => {
|
|
15
|
+
if (enabled) {
|
|
16
|
+
return this.#keyEvent;
|
|
36
17
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.#keystrokes[id] = [];
|
|
18
|
+
else {
|
|
19
|
+
return EMPTY;
|
|
20
|
+
}
|
|
21
|
+
}), map(event => {
|
|
22
|
+
if (event.defaultPrevented) {
|
|
23
|
+
return [];
|
|
44
24
|
}
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
25
|
+
const idFromEvent = keystrokeId(eventToKeystroke(event));
|
|
26
|
+
const matches = keystrokes
|
|
27
|
+
.filter(ks => keystrokeId(ks) === idFromEvent)
|
|
28
|
+
.map(ks => {
|
|
29
|
+
return {
|
|
30
|
+
original: event,
|
|
31
|
+
keystroke: ks
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
if (matches.length > 0) {
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
}
|
|
37
|
+
return matches;
|
|
38
|
+
}), filter(matches => matches.length > 0), switchMap(matches => of(...matches)))
|
|
39
|
+
.subscribe(dst));
|
|
40
|
+
}
|
|
41
|
+
#trigger(activation) {
|
|
42
|
+
if (isElementInput(activation)) {
|
|
43
|
+
return this.#focusActivation(coerceElement(activation));
|
|
44
|
+
}
|
|
45
|
+
else if (activation instanceof FocusState) {
|
|
46
|
+
return activation.origin$.pipe(map(origin => origin != null));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
return from(activation).pipe(switchMap(value => {
|
|
50
|
+
if (isElementInput(value) || value instanceof FocusState) {
|
|
51
|
+
return this.#trigger(value);
|
|
59
52
|
}
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
else {
|
|
54
|
+
return of(value);
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
#focusActivation(element) {
|
|
60
|
+
return this.#focusEvent.pipe(map(focused => focused === element || element.contains(focused)));
|
|
62
61
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
64
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KeystrokeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
63
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KeystrokeService, providedIn: "root" }); }
|
|
65
64
|
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KeystrokeService, decorators: [{
|
|
67
66
|
type: Injectable,
|
|
68
67
|
args: [{ providedIn: "root" }]
|
|
69
|
-
}]
|
|
68
|
+
}] });
|
|
70
69
|
function keystrokeId(ks) {
|
|
71
70
|
let res = ks.key;
|
|
72
71
|
if (ks.shift) {
|
|
@@ -90,4 +89,4 @@ function eventToKeystroke(event) {
|
|
|
90
89
|
state: event.type === "keyup" ? "up" : "down"
|
|
91
90
|
};
|
|
92
91
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5c3Ryb2tlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy9rZXlzdHJva2Uva2V5c3Ryb2tlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUUvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQWdCLE1BQU0sZ0JBQWdCLENBQUE7O0FBdUI1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2hCLFdBQVcsR0FBd0MsRUFBRSxDQUFBO0lBRXJELFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQThCLEVBQUUsRUFBRTtRQUNuRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ25CLENBQUMsQ0FBQTtRQUNELFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDaEUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUU5RCxPQUFPLEdBQUcsRUFBRTtZQUNSLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDbkUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxF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OlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiXG5cbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmUsIFN1YmplY3QsIFN1YnNjcmliZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGNvZXJjZUVsZW1lbnQsIEVsZW1lbnRJbnB1dCB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5c3Ryb2tlIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvVUlfRXZlbnRzL0tleWJvYXJkX2V2ZW50X2tleV92YWx1ZXNcbiAgICBrZXk6IEtleWJvYXJkRXZlbnRbXCJrZXlcIl1cbiAgICBzaGlmdD86IGJvb2xlYW5cbiAgICBjdHJsPzogYm9vbGVhblxuICAgIGFsdD86IGJvb2xlYW5cbiAgICBzdGF0ZTogXCJkb3duXCIgfCBcInVwXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXlzdHJva2VFdmVudCB7XG4gICAgb3JpZ2luYWw6IEtleWJvYXJkRXZlbnRcbiAgICBrZXlzdHJva2U6IEtleXN0cm9rZVxufVxuXG5pbnRlcmZhY2UgS2V5c3Ryb2tlRW50cnkge1xuICAgIGtleXN0cm9rZTogS2V5c3Ryb2tlXG4gICAgdGFyZ2V0OiBIVE1MRWxlbWVudFxuICAgIHN1YmplY3Q6IFN1YmplY3Q8S2V5c3Ryb2tlRXZlbnQ+XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBLZXlzdHJva2VTZXJ2aWNlIHtcbiAgICByZWFkb25seSAja2V5c3Ryb2tlczogeyBba2V5OiBzdHJpbmddOiBLZXlzdHJva2VFbnRyeVtdIH0gPSB7fVxuXG4gICAgcmVhZG9ubHkgI2tleUV2ZW50ID0gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxLZXlib2FyZEV2ZW50PikgPT4ge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICBkc3QubmV4dChldmVudClcbiAgICAgICAgfVxuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSlcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleXVwXCIsIGhhbmRsZXIsIHsgY2FwdHVyZTogdHJ1ZSB9KVxuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSlcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLCBoYW5kbGVyLCB7IGNhcHR1cmU6IHRydWUgfSlcbiAgICAgICAgfVxuICAgIH0pLnBpcGUoc2hhcmUoKSlcblxuICAgIHJlYWRvbmx5ICNhY3RpdmF0ZWRLcyA9IHRoaXMuI2tleUV2ZW50LnBpcGUoXG4gICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICBjb25zdCBrZXlzdHJva2UgPSBldmVudFRvS2V5c3Ryb2tlKGV2ZW50KVxuICAgICAgICAgICAgY29uc3QgaWQgPSBrZXlzdHJva2VJZChrZXlzdHJva2UpXG4gICAgICAgICAgICByZXR1cm4geyBldmVudCwga2V5c3Ryb2tlczogdGhpcy4ja2V5c3Ryb2tlc1tpZF0gfHwgW10sIGtleXN0cm9rZSB9XG4gICAgICAgIH0pXG4gICAgKVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuI2FjdGl2YXRlZEtzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSgoeyBldmVudCwga2V5c3Ryb2tlcywga2V5c3Ryb2tlIH0pID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga3Mgb2Yga2V5c3Ryb2tlcykge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAga3MudGFyZ2V0ID09PSBldmVudC50YXJnZXQgfHxcbiAgICAgICAgICAgICAgICAgICAga3MudGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBOb2RlKSB8fFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBrcy50YXJnZXQgfHxcbiAgICAgICAgICAgICAgICAgICAga3MudGFyZ2V0LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgTm9kZSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAga3Muc3ViamVjdC5uZXh0KHsgb3JpZ2luYWw6IGV2ZW50LCBrZXlzdHJva2UgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgd2F0Y2godGFyZ2V0OiBFbGVtZW50SW5wdXQsIGtleXN0cm9rZTogS2V5c3Ryb2tlKTogT2JzZXJ2YWJsZTxLZXlzdHJva2VFdmVudD4ge1xuICAgICAgICBjb25zdCBpZCA9IGtleXN0cm9rZUlkKGtleXN0cm9rZSlcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkc3Q6IFN1YnNjcmliZXI8S2V5c3Ryb2tlRXZlbnQ+KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuI2tleXN0cm9rZXNbaWRdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy4ja2V5c3Ryb2tlc1tpZF0gPSBbXVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8S2V5c3Ryb2tlRXZlbnQ+KClcbiAgICAgICAgICAgIGNvbnN0IGVudHJ5OiBLZXlzdHJva2VFbnRyeSA9IHsgdGFyZ2V0OiBjb2VyY2VFbGVtZW50KHRhcmdldCksIGtleXN0cm9rZSwgc3ViamVjdCB9XG4gICAgICAgICAgICBjb25zdCBzdWIgPSBzdWJqZWN0LnN1YnNjcmliZShkc3QpXG5cbiAgICAgICAgICAgIHRoaXMuI2tleXN0cm9rZXNbaWRdLnB1c2goZW50cnkpXG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgICAgICBpZiAodGhpcy4ja2V5c3Ryb2tlc1tpZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLiNrZXlzdHJva2VzW2lkXS5pbmRleE9mKGVudHJ5KVxuICAgICAgICAgICAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiNrZXlzdHJva2VzW2lkXS5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuI2tleXN0cm9rZXNbaWRdLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuI2tleXN0cm9rZXNbaWRdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLnBpcGUoc2hhcmUoKSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGtleXN0cm9rZUlkKGtzOiBLZXlzdHJva2UpOiBzdHJpbmcge1xuICAgIGxldCByZXMgPSBrcy5rZXlcbiAgICBpZiAoa3Muc2hpZnQpIHtcbiAgICAgICAgcmVzICs9IFwiK3NoaWZ0XCJcbiAgICB9XG4gICAgaWYgKGtzLmN0cmwpIHtcbiAgICAgICAgcmVzICs9IFwiK2N0cmxcIlxuICAgIH1cbiAgICBpZiAoa3MuYWx0KSB7XG4gICAgICAgIHJlcyArPSBcIithbHRcIlxuICAgIH1cbiAgICByZXMgKz0gYCR7a3Muc3RhdGV9YFxuICAgIHJldHVybiByZXNcbn1cblxuZnVuY3Rpb24gZXZlbnRUb0tleXN0cm9rZShldmVudDogS2V5Ym9hcmRFdmVudCk6IEtleXN0cm9rZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBldmVudC5rZXksXG4gICAgICAgIHNoaWZ0OiBldmVudC5zaGlmdEtleSxcbiAgICAgICAgY3RybDogZXZlbnQuY3RybEtleSxcbiAgICAgICAgYWx0OiBldmVudC5hbHRLZXksXG4gICAgICAgIHN0YXRlOiBldmVudC50eXBlID09PSBcImtleXVwXCIgPyBcInVwXCIgOiBcImRvd25cIlxuICAgIH1cbn1cbiJdfQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5c3Ryb2tlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy9rZXlzdHJva2Uva2V5c3Ryb2tlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUxRCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUNMLFVBQVUsRUFDVixFQUFFLEVBQ0YsS0FBSyxFQUNMLFdBQVcsRUFDWCxTQUFTLEVBRVQsU0FBUyxFQUNaLE1BQU0sTUFBTSxDQUFBO0FBRWIsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7QUFtQnJDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDaEIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRXRCLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUNuRCxLQUFLLENBQ0QsU0FBUyxDQUFnQixJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQ3RGLFNBQVMsQ0FBZ0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUN2RixDQUFDLElBQUksQ0FDRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxDQUFDLEVBQ2pELEtBQUssRUFBRSxDQUNWLENBQ0osQ0FBQTtJQUVRLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUNyRCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2pCLENBQ0osQ0FBQTtJQUVELEtBQUssQ0FBQyxVQUErQixFQUFFLEdBQUcsVUFBdUI7UUFDN0QsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQStCLEVBQUUsRUFBRSxDQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQzthQUNwQixJQUFJLENBQ0Qsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO1lBQ3pCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLEtBQUssQ0FBQTtZQUNoQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1IsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxFQUFFLENBQUE7WUFDYixDQUFDO1lBRUQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDeEQsTUFBTSxPQUFPLEdBQUcsVUFBVTtpQkFDckIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFdBQVcsQ0FBQztpQkFDN0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNOLE9BQU87b0JBQ0gsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsU0FBUyxFQUFFLEVBQUU7aUJBQ2hCLENBQUE7WUFDTCxDQUFDLENBQUMsQ0FBQTtZQUVOLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1lBQzFCLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQTtRQUNsQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUNyQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUN2QzthQUNBLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FDdEIsQ0FBQTtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsVUFBK0I7UUFDcEMsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQTtRQUMzRCxDQUFDO2FBQU0sSUFBSSxVQUFVLFlBQVksVUFBVSxFQUFFLENBQUM7WUFDMUMsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDeEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNkLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUUsQ0FBQztvQkFDdkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUMvQixDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7Z0JBQ3BCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FDTCxDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFvQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbEcsQ0FBQzs4R0FsRlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFzRmxDLFNBQVMsV0FBVyxDQUFDLEVBQWE7SUFDOUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUNoQixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLEdBQUcsSUFBSSxRQUFRLENBQUE7SUFDbkIsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsR0FBRyxJQUFJLE9BQU8sQ0FBQTtJQUNsQixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxHQUFHLElBQUksTUFBTSxDQUFBO0lBQ2pCLENBQUM7SUFDRCxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDcEIsT0FBTyxHQUFHLENBQUE7QUFDZCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFvQjtJQUMxQyxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3JCLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTztRQUNuQixHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU07UUFDakIsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU07S0FDaEQsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIlxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7XG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgRU1QVFksXG4gICAgZmlsdGVyLFxuICAgIGZyb20sXG4gICAgZnJvbUV2ZW50LFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBPYnNlcnZhYmxlLFxuICAgIG9mLFxuICAgIHNoYXJlLFxuICAgIHNoYXJlUmVwbGF5LFxuICAgIHN0YXJ0V2l0aCxcbiAgICBTdWJzY3JpYmVyLFxuICAgIHN3aXRjaE1hcFxufSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGNvZXJjZUVsZW1lbnQsIEVsZW1lbnRJbnB1dCwgaXNFbGVtZW50SW5wdXQgfSBmcm9tIFwiQG5ndXRpbC9jb21tb25cIlxuXG5pbXBvcnQgeyBGb2N1c1N0YXRlIH0gZnJvbSBcIi4uL2ZvY3VzXCJcblxuZXhwb3J0IGludGVyZmFjZSBLZXlzdHJva2Uge1xuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9VSV9FdmVudHMvS2V5Ym9hcmRfZXZlbnRfa2V5X3ZhbHVlc1xuICAgIGtleTogS2V5Ym9hcmRFdmVudFtcImtleVwiXVxuICAgIHNoaWZ0PzogYm9vbGVhblxuICAgIGN0cmw/OiBib29sZWFuXG4gICAgYWx0PzogYm9vbGVhblxuICAgIHN0YXRlOiBcImRvd25cIiB8IFwidXBcIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleXN0cm9rZUV2ZW50IHtcbiAgICBvcmlnaW5hbDogS2V5Ym9hcmRFdmVudFxuICAgIGtleXN0cm9rZTogS2V5c3Ryb2tlXG59XG5cbmV4cG9ydCB0eXBlIEtleXN0cm9rZUFjdGl2YXRpb24gPSBFbGVtZW50SW5wdXQgfCBGb2N1c1N0YXRlIHwgT2JzZXJ2YWJsZTxFbGVtZW50SW5wdXQgfCBGb2N1c1N0YXRlIHwgYm9vbGVhbj5cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIEtleXN0cm9rZVNlcnZpY2Uge1xuICAgIHJlYWRvbmx5ICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVClcbiAgICByZWFkb25seSAjem9uZSA9IGluamVjdChOZ1pvbmUpXG5cbiAgICByZWFkb25seSAja2V5RXZlbnQgPSB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+XG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuI2RvY3VtZW50LCBcImtleWRvd25cIiwgeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9KSxcbiAgICAgICAgICAgIGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLiNkb2N1bWVudCwgXCJrZXl1cFwiLCB7IGNhcHR1cmU6IHRydWUsIHBhc3NpdmU6IGZhbHNlIH0pXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC5kZWZhdWx0UHJldmVudGVkID09PSBmYWxzZSksXG4gICAgICAgICAgICBzaGFyZSgpXG4gICAgICAgIClcbiAgICApXG5cbiAgICByZWFkb25seSAjZm9jdXNFdmVudCA9IHRoaXMuI3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT5cbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuI2RvY3VtZW50LCBcImZvY3VzXCIsIHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogdHJ1ZSB9KS5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuI2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICAgKVxuICAgIClcblxuICAgIHdhdGNoKGFjdGl2YXRpb246IEtleXN0cm9rZUFjdGl2YXRpb24sIC4uLmtleXN0cm9rZXM6IEtleXN0cm9rZVtdKTogT2JzZXJ2YWJsZTxLZXlzdHJva2VFdmVudD4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRzdDogU3Vic2NyaWJlcjxLZXlzdHJva2VFdmVudD4pID0+XG4gICAgICAgICAgICB0aGlzLiN0cmlnZ2VyKGFjdGl2YXRpb24pXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChlbmFibGVkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuI2tleUV2ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBFTVBUWVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlkRnJvbUV2ZW50ID0ga2V5c3Ryb2tlSWQoZXZlbnRUb0tleXN0cm9rZShldmVudCkpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVzID0ga2V5c3Ryb2tlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoa3MgPT4ga2V5c3Ryb2tlSWQoa3MpID09PSBpZEZyb21FdmVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGtzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsOiBldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXN0cm9rZToga3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaGVzXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIobWF0Y2hlcyA9PiBtYXRjaGVzLmxlbmd0aCA+IDApLFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAobWF0Y2hlcyA9PiBvZiguLi5tYXRjaGVzKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShkc3QpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAjdHJpZ2dlcihhY3RpdmF0aW9uOiBLZXlzdHJva2VBY3RpdmF0aW9uKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgSFRNTEVsZW1lbnQ+IHtcbiAgICAgICAgaWYgKGlzRWxlbWVudElucHV0KGFjdGl2YXRpb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy4jZm9jdXNBY3RpdmF0aW9uKGNvZXJjZUVsZW1lbnQoYWN0aXZhdGlvbikpXG4gICAgICAgIH0gZWxzZSBpZiAoYWN0aXZhdGlvbiBpbnN0YW5jZW9mIEZvY3VzU3RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uLm9yaWdpbiQucGlwZShtYXAob3JpZ2luID0+IG9yaWdpbiAhPSBudWxsKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tKGFjdGl2YXRpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRWxlbWVudElucHV0KHZhbHVlKSB8fCB2YWx1ZSBpbnN0YW5jZW9mIEZvY3VzU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiN0cmlnZ2VyKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNmb2N1c0FjdGl2YXRpb24oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI2ZvY3VzRXZlbnQucGlwZShtYXAoZm9jdXNlZCA9PiBmb2N1c2VkID09PSBlbGVtZW50IHx8IGVsZW1lbnQuY29udGFpbnMoZm9jdXNlZCkpKVxuICAgIH1cbn1cblxuZnVuY3Rpb24ga2V5c3Ryb2tlSWQoa3M6IEtleXN0cm9rZSk6IHN0cmluZyB7XG4gICAgbGV0IHJlcyA9IGtzLmtleVxuICAgIGlmIChrcy5zaGlmdCkge1xuICAgICAgICByZXMgKz0gXCIrc2hpZnRcIlxuICAgIH1cbiAgICBpZiAoa3MuY3RybCkge1xuICAgICAgICByZXMgKz0gXCIrY3RybFwiXG4gICAgfVxuICAgIGlmIChrcy5hbHQpIHtcbiAgICAgICAgcmVzICs9IFwiK2FsdFwiXG4gICAgfVxuICAgIHJlcyArPSBgJHtrcy5zdGF0ZX1gXG4gICAgcmV0dXJuIHJlc1xufVxuXG5mdW5jdGlvbiBldmVudFRvS2V5c3Ryb2tlKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogS2V5c3Ryb2tlIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGV2ZW50LmtleSxcbiAgICAgICAgc2hpZnQ6IGV2ZW50LnNoaWZ0S2V5LFxuICAgICAgICBjdHJsOiBldmVudC5jdHJsS2V5LFxuICAgICAgICBhbHQ6IGV2ZW50LmFsdEtleSxcbiAgICAgICAgc3RhdGU6IGV2ZW50LnR5cGUgPT09IFwia2V5dXBcIiA/IFwidXBcIiA6IFwiZG93blwiXG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { computed, Directive, effect, inject } from "@angular/core";
|
|
2
|
+
import { coerceBoolAttr } from "@ngutil/common";
|
|
3
|
+
import { UiState } from "./ui-state";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export const NOTSET = Symbol("NOTSET");
|
|
6
|
+
export class AbstractUiState {
|
|
7
|
+
constructor(name) {
|
|
8
|
+
this.name = name;
|
|
9
|
+
this.state = inject(UiState);
|
|
10
|
+
this.yes = computed(() => {
|
|
11
|
+
const when = this.when();
|
|
12
|
+
if (when !== NOTSET) {
|
|
13
|
+
return this.state.is(this.name, `${when},self`);
|
|
14
|
+
}
|
|
15
|
+
return this.state.is(this.name);
|
|
16
|
+
});
|
|
17
|
+
this.no = computed(() => !this.yes());
|
|
18
|
+
effect(() => {
|
|
19
|
+
const input = this.input();
|
|
20
|
+
if (input !== NOTSET) {
|
|
21
|
+
this.state.set(name, !!coerceBoolAttr(input));
|
|
22
|
+
}
|
|
23
|
+
this.yes();
|
|
24
|
+
}, { allowSignalWrites: true });
|
|
25
|
+
}
|
|
26
|
+
set(value, source) {
|
|
27
|
+
this.state.set(this.name, value, source);
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbstractUiState, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
30
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.6", type: AbstractUiState, ngImport: i0 }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: AbstractUiState, decorators: [{
|
|
33
|
+
type: Directive
|
|
34
|
+
}], ctorParameters: () => [{ type: undefined }] });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy91aS1zdGF0ZS9hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBRTNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBOztBQUVwQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQVEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBRzNDLE1BQU0sT0FBZ0IsZUFBZTtJQWVqQyxZQUFxQixJQUFPO1FBQVAsU0FBSSxHQUFKLElBQUksQ0FBRztRQWRuQixVQUFLLEdBQWUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBS25DLFFBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN4QixJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQTtZQUNuRCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbkMsQ0FBQyxDQUFDLENBQUE7UUFDTyxPQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7UUFHckMsTUFBTSxDQUNGLEdBQUcsRUFBRTtZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUMxQixJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUNqRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBQ2QsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzlCLENBQUE7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWMsRUFBRSxNQUFjO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzVDLENBQUM7OEdBOUJpQixlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRHBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBjb2VyY2VCb29sQXR0ciB9IGZyb20gXCJAbmd1dGlsL2NvbW1vblwiXG5cbmltcG9ydCB7IFVpU3RhdGUgfSBmcm9tIFwiLi91aS1zdGF0ZVwiXG5cbmV4cG9ydCBjb25zdCBOT1RTRVQ6IGFueSA9IFN5bWJvbChcIk5PVFNFVFwiKVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFVpU3RhdGU8TiBleHRlbmRzIHN0cmluZz4ge1xuICAgIHJlYWRvbmx5IHN0YXRlOiBVaVN0YXRlPE4+ID0gaW5qZWN0KFVpU3RhdGUpXG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgaW5wdXQ6IFNpZ25hbDxib29sZWFuPlxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSB3aGVuOiBTaWduYWw8c3RyaW5nPlxuXG4gICAgcmVhZG9ubHkgeWVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB3aGVuID0gdGhpcy53aGVuKClcbiAgICAgICAgaWYgKHdoZW4gIT09IE5PVFNFVCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuaXModGhpcy5uYW1lLCBgJHt3aGVufSxzZWxmYClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pcyh0aGlzLm5hbWUpXG4gICAgfSlcbiAgICByZWFkb25seSBubyA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLnllcygpKVxuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgbmFtZTogTikge1xuICAgICAgICBlZmZlY3QoXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0KClcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXQgIT09IE5PVFNFVCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLnNldChuYW1lLCAhIWNvZXJjZUJvb2xBdHRyKGlucHV0KSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy55ZXMoKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICAgICApXG4gICAgfVxuXG4gICAgc2V0KHZhbHVlOiBib29sZWFuLCBzb3VyY2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLnN0YXRlLnNldCh0aGlzLm5hbWUsIHZhbHVlLCBzb3VyY2UpXG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, input } from "@angular/core";
|
|
2
|
+
import { AbstractUiState, NOTSET } from "./abstract";
|
|
3
|
+
import { UiState } from "./ui-state";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class BusyDirective extends AbstractUiState {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("busy");
|
|
8
|
+
this.input = input(NOTSET, { alias: "nuBusy" });
|
|
9
|
+
this.when = input(NOTSET, { alias: "nuBusyWhen" });
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BusyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: BusyDirective, isStandalone: true, selector: "[nuBusy], [nuBusyWhen]", inputs: { input: { classPropertyName: "input", publicName: "nuBusy", isSignal: true, isRequired: false, transformFunction: null }, when: { classPropertyName: "when", publicName: "nuBusyWhen", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-busy": "yes() ? 'true' : 'false'", "attr.inert": "yes() ? '' : null" } }, providers: [UiState], exportAs: ["busy"], usesInheritance: true, ngImport: i0 }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: BusyDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: "[nuBusy], [nuBusyWhen]",
|
|
18
|
+
exportAs: "busy",
|
|
19
|
+
standalone: true,
|
|
20
|
+
host: {
|
|
21
|
+
"[attr.aria-busy]": "yes() ? 'true' : 'false'",
|
|
22
|
+
"[attr.inert]": "yes() ? '' : null"
|
|
23
|
+
},
|
|
24
|
+
providers: [UiState]
|
|
25
|
+
}]
|
|
26
|
+
}], ctorParameters: () => [] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVzeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy91aS1zdGF0ZS9idXN5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFBOztBQVlwQyxNQUFNLE9BQU8sYUFBYyxTQUFRLGVBQXVCO0lBSXREO1FBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBSkUsVUFBSyxHQUFHLEtBQUssQ0FBQyxNQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDckQsU0FBSSxHQUFHLEtBQUssQ0FBQyxNQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7SUFJMUUsQ0FBQzs4R0FOUSxhQUFhO2tHQUFiLGFBQWEsZ2JBRlgsQ0FBQyxPQUFPLENBQUM7OzJGQUVYLGFBQWE7a0JBVnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLE1BQU07b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0Ysa0JBQWtCLEVBQUUsMEJBQTBCO3dCQUM5QyxjQUFjLEVBQUUsbUJBQW1CO3FCQUN0QztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgQWJzdHJhY3RVaVN0YXRlLCBOT1RTRVQgfSBmcm9tIFwiLi9hYnN0cmFjdFwiXG5pbXBvcnQgeyBVaVN0YXRlIH0gZnJvbSBcIi4vdWktc3RhdGVcIlxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJbbnVCdXN5XSwgW251QnVzeVdoZW5dXCIsXG4gICAgZXhwb3J0QXM6IFwiYnVzeVwiLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBcIlthdHRyLmFyaWEtYnVzeV1cIjogXCJ5ZXMoKSA/ICd0cnVlJyA6ICdmYWxzZSdcIixcbiAgICAgICAgXCJbYXR0ci5pbmVydF1cIjogXCJ5ZXMoKSA/ICcnIDogbnVsbFwiXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtVaVN0YXRlXVxufSlcbmV4cG9ydCBjbGFzcyBCdXN5RGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RVaVN0YXRlPFwiYnVzeVwiPiB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlucHV0ID0gaW5wdXQoTk9UU0VUIGFzIGJvb2xlYW4sIHsgYWxpYXM6IFwibnVCdXN5XCIgfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2hlbiA9IGlucHV0KE5PVFNFVCBhcyBzdHJpbmcsIHsgYWxpYXM6IFwibnVCdXN5V2hlblwiIH0pXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoXCJidXN5XCIpXG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, input } from "@angular/core";
|
|
2
|
+
import { AbstractUiState, NOTSET } from "./abstract";
|
|
3
|
+
import { UiState } from "./ui-state";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DisabledDirective extends AbstractUiState {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("disabled");
|
|
8
|
+
this.input = input(NOTSET, { alias: "nuDisabled" });
|
|
9
|
+
this.when = input(NOTSET, { alias: "nuDisabledWhen" });
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DisabledDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.6", type: DisabledDirective, isStandalone: true, selector: "[nuDisabled], [nuDisabledWhen]", inputs: { input: { classPropertyName: "input", publicName: "nuDisabled", isSignal: true, isRequired: false, transformFunction: null }, when: { classPropertyName: "when", publicName: "nuDisabledWhen", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-disabled": "yes() ? 'true' : 'false'", "attr.disabled": "yes() ? '' : null", "attr.inert": "yes() ? '' : null" } }, providers: [UiState], exportAs: ["disabled"], usesInheritance: true, ngImport: i0 }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: DisabledDirective, decorators: [{
|
|
15
|
+
type: Directive,
|
|
16
|
+
args: [{
|
|
17
|
+
selector: "[nuDisabled], [nuDisabledWhen]",
|
|
18
|
+
exportAs: "disabled",
|
|
19
|
+
standalone: true,
|
|
20
|
+
host: {
|
|
21
|
+
"[attr.aria-disabled]": "yes() ? 'true' : 'false'",
|
|
22
|
+
"[attr.disabled]": "yes() ? '' : null",
|
|
23
|
+
"[attr.inert]": "yes() ? '' : null"
|
|
24
|
+
},
|
|
25
|
+
providers: [UiState]
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: () => [] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvdWktc3RhdGUvZGlzYWJsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7O0FBYXBDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUEyQjtJQUk5RDtRQUNJLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUpGLFVBQUssR0FBRyxLQUFLLENBQUMsTUFBaUIsRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELFNBQUksR0FBRyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7SUFJOUUsQ0FBQzs4R0FOUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwZUFGZixDQUFDLE9BQU8sQ0FBQzs7MkZBRVgsaUJBQWlCO2tCQVg3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQ0FBZ0M7b0JBQzFDLFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNGLHNCQUFzQixFQUFFLDBCQUEwQjt3QkFDbEQsaUJBQWlCLEVBQUUsbUJBQW1CO3dCQUN0QyxjQUFjLEVBQUUsbUJBQW1CO3FCQUN0QztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUM7aUJBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgQWJzdHJhY3RVaVN0YXRlLCBOT1RTRVQgfSBmcm9tIFwiLi9hYnN0cmFjdFwiXG5pbXBvcnQgeyBVaVN0YXRlIH0gZnJvbSBcIi4vdWktc3RhdGVcIlxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJbbnVEaXNhYmxlZF0sIFtudURpc2FibGVkV2hlbl1cIixcbiAgICBleHBvcnRBczogXCJkaXNhYmxlZFwiLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICBcIlthdHRyLmFyaWEtZGlzYWJsZWRdXCI6IFwieWVzKCkgPyAndHJ1ZScgOiAnZmFsc2UnXCIsXG4gICAgICAgIFwiW2F0dHIuZGlzYWJsZWRdXCI6IFwieWVzKCkgPyAnJyA6IG51bGxcIixcbiAgICAgICAgXCJbYXR0ci5pbmVydF1cIjogXCJ5ZXMoKSA/ICcnIDogbnVsbFwiXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtVaVN0YXRlXVxufSlcbmV4cG9ydCBjbGFzcyBEaXNhYmxlZERpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0VWlTdGF0ZTxcImRpc2FibGVkXCI+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQgPSBpbnB1dChOT1RTRVQgYXMgYm9vbGVhbiwgeyBhbGlhczogXCJudURpc2FibGVkXCIgfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2hlbiA9IGlucHV0KE5PVFNFVCBhcyBzdHJpbmcsIHsgYWxpYXM6IFwibnVEaXNhYmxlZFdoZW5cIiB9KVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKFwiZGlzYWJsZWRcIilcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { BusyDirective } from "./busy.directive";
|
|
3
|
+
import { DisabledDirective } from "./disabled.directive";
|
|
4
|
+
import { ReadonlyDirective } from "./readonly.directive";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export * from "./abstract";
|
|
7
|
+
export * from "./busy.directive";
|
|
8
|
+
export * from "./disabled.directive";
|
|
9
|
+
export * from "./progress-state";
|
|
10
|
+
export * from "./readonly.directive";
|
|
11
|
+
export * from "./ui-state";
|
|
12
|
+
const entries = [BusyDirective, DisabledDirective, ReadonlyDirective];
|
|
13
|
+
export class UiStateModule {
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UiStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.6", ngImport: i0, type: UiStateModule, imports: [BusyDirective, DisabledDirective, ReadonlyDirective], exports: [BusyDirective, DisabledDirective, ReadonlyDirective] }); }
|
|
16
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UiStateModule }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: UiStateModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: entries,
|
|
22
|
+
exports: entries
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy91aS1zdGF0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7QUFFeEQsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxrQkFBa0IsQ0FBQTtBQUNoQyxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsa0JBQWtCLENBQUE7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLFlBQVksQ0FBQTtBQUUxQixNQUFNLE9BQU8sR0FBRyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0FBTXJFLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxZQU5ULGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsYUFBbkQsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQjsrR0FNdkQsYUFBYTs7MkZBQWIsYUFBYTtrQkFKekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFLE9BQU87aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IEJ1c3lEaXJlY3RpdmUgfSBmcm9tIFwiLi9idXN5LmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBEaXNhYmxlZERpcmVjdGl2ZSB9IGZyb20gXCIuL2Rpc2FibGVkLmRpcmVjdGl2ZVwiXG5pbXBvcnQgeyBSZWFkb25seURpcmVjdGl2ZSB9IGZyb20gXCIuL3JlYWRvbmx5LmRpcmVjdGl2ZVwiXG5cbmV4cG9ydCAqIGZyb20gXCIuL2Fic3RyYWN0XCJcbmV4cG9ydCAqIGZyb20gXCIuL2J1c3kuZGlyZWN0aXZlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2Rpc2FibGVkLmRpcmVjdGl2ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9wcm9ncmVzcy1zdGF0ZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9yZWFkb25seS5kaXJlY3RpdmVcIlxuZXhwb3J0ICogZnJvbSBcIi4vdWktc3RhdGVcIlxuXG5jb25zdCBlbnRyaWVzID0gW0J1c3lEaXJlY3RpdmUsIERpc2FibGVkRGlyZWN0aXZlLCBSZWFkb25seURpcmVjdGl2ZV1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBlbnRyaWVzLFxuICAgIGV4cG9ydHM6IGVudHJpZXNcbn0pXG5leHBvcnQgY2xhc3MgVWlTdGF0ZU1vZHVsZSB7fVxuIl19
|