@tethys/cdk 14.2.0-next.6 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/esm2020/event/click-dispatcher.mjs +25 -0
  2. package/esm2020/event/event-dispatcher.mjs +59 -0
  3. package/esm2020/event/index.mjs +4 -0
  4. package/esm2020/event/keyboard-dispatcher.mjs +32 -0
  5. package/esm2020/event/tethys-cdk-event.mjs +5 -0
  6. package/esm2020/hotkey/hotkey-dispatcher.mjs +55 -0
  7. package/esm2020/hotkey/hotkey.directive.mjs +55 -0
  8. package/esm2020/hotkey/hotkey.mjs +23 -0
  9. package/esm2020/hotkey/index.mjs +5 -0
  10. package/esm2020/hotkey/module.mjs +18 -0
  11. package/esm2020/hotkey/tethys-cdk-hotkey.mjs +5 -0
  12. package/esm2020/immutable/immutable.mjs +9 -3
  13. package/esm2020/immutable/index.mjs +2 -1
  14. package/esm2020/immutable/object-producer.mjs +25 -0
  15. package/esm2020/is/utils.mjs +14 -1
  16. package/esm2020/public-api.mjs +3 -1
  17. package/event/click-dispatcher.d.ts +10 -0
  18. package/event/event-dispatcher.d.ts +19 -0
  19. package/event/index.d.ts +3 -0
  20. package/event/keyboard-dispatcher.d.ts +10 -0
  21. package/fesm2015/tethys-cdk-event.mjs +120 -0
  22. package/fesm2015/tethys-cdk-event.mjs.map +1 -0
  23. package/fesm2015/tethys-cdk-hotkey.mjs +153 -0
  24. package/fesm2015/tethys-cdk-hotkey.mjs.map +1 -0
  25. package/fesm2015/tethys-cdk-immutable.mjs +33 -3
  26. package/fesm2015/tethys-cdk-immutable.mjs.map +1 -1
  27. package/fesm2015/tethys-cdk-is.mjs +14 -1
  28. package/fesm2015/tethys-cdk-is.mjs.map +1 -1
  29. package/fesm2015/tethys-cdk.mjs +2 -0
  30. package/fesm2015/tethys-cdk.mjs.map +1 -1
  31. package/fesm2020/tethys-cdk-event.mjs +116 -0
  32. package/fesm2020/tethys-cdk-event.mjs.map +1 -0
  33. package/fesm2020/tethys-cdk-hotkey.mjs +148 -0
  34. package/fesm2020/tethys-cdk-hotkey.mjs.map +1 -0
  35. package/fesm2020/tethys-cdk-immutable.mjs +33 -3
  36. package/fesm2020/tethys-cdk-immutable.mjs.map +1 -1
  37. package/fesm2020/tethys-cdk-is.mjs +14 -1
  38. package/fesm2020/tethys-cdk-is.mjs.map +1 -1
  39. package/fesm2020/tethys-cdk.mjs +2 -0
  40. package/fesm2020/tethys-cdk.mjs.map +1 -1
  41. package/hotkey/hotkey-dispatcher.d.ts +15 -0
  42. package/hotkey/hotkey.d.ts +2 -0
  43. package/hotkey/hotkey.directive.d.ts +29 -0
  44. package/hotkey/index.d.ts +4 -0
  45. package/hotkey/module.d.ts +7 -0
  46. package/immutable/immutable.d.ts +2 -0
  47. package/immutable/index.d.ts +1 -0
  48. package/immutable/object-producer.d.ts +11 -0
  49. package/is/utils.d.ts +1 -0
  50. package/package.json +17 -1
  51. package/public-api.d.ts +2 -0
@@ -0,0 +1,25 @@
1
+ import { Injectable, Inject, NgZone } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ThyEventDispatcher } from './event-dispatcher';
4
+ import * as i0 from "@angular/core";
5
+ const DEFAULT_CLICKED_TIME = 100;
6
+ export class ThyClickDispatcher extends ThyEventDispatcher {
7
+ constructor(document, ngZone) {
8
+ super(document, ngZone, 'click');
9
+ }
10
+ clicked(auditTimeInMs = DEFAULT_CLICKED_TIME) {
11
+ return this.subscribe(auditTimeInMs);
12
+ }
13
+ }
14
+ ThyClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
15
+ ThyClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyClickDispatcher, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root'
20
+ }]
21
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
22
+ type: Inject,
23
+ args: [DOCUMENT]
24
+ }] }, { type: i0.NgZone }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9jbGljay1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFDdEQsWUFBOEIsUUFBYSxFQUFFLE1BQWM7UUFDdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBd0Isb0JBQW9CO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOzsrR0FQUSxrQkFBa0Isa0JBQ1AsUUFBUTttSEFEbkIsa0JBQWtCLGNBRmYsTUFBTTsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFFZ0IsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5RXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcblxuY29uc3QgREVGQVVMVF9DTElDS0VEX1RJTUUgPSAxMDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2xpY2tEaXNwYXRjaGVyIGV4dGVuZHMgVGh5RXZlbnREaXNwYXRjaGVyIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAnY2xpY2snKTtcbiAgICB9XG5cbiAgICBjbGlja2VkKGF1ZGl0VGltZUluTXM6IG51bWJlciA9IERFRkFVTFRfQ0xJQ0tFRF9USU1FKTogT2JzZXJ2YWJsZTxFdmVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpYmUoYXVkaXRUaW1lSW5Ncyk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,59 @@
1
+ import { fromEvent, Observable, Subject } from 'rxjs';
2
+ import { auditTime } from 'rxjs/operators';
3
+ import { Directive, NgZone } from '@angular/core';
4
+ import * as i0 from "@angular/core";
5
+ const DEFAULT_EVENT_TIME = 100;
6
+ export class ThyEventDispatcher {
7
+ constructor(document, ngZone, eventName) {
8
+ this.document = document;
9
+ this.ngZone = ngZone;
10
+ this.eventName = eventName;
11
+ this._globalSubscription = null;
12
+ this._event$ = new Subject();
13
+ this._subscriptionCount = 0;
14
+ }
15
+ _addGlobalListener() {
16
+ this._globalSubscription = this.ngZone.runOutsideAngular(() => {
17
+ return fromEvent(this.document, this.eventName).subscribe((event) => {
18
+ this._event$.next(event);
19
+ });
20
+ });
21
+ }
22
+ _removeGlobalListener() {
23
+ if (this._globalSubscription) {
24
+ this._globalSubscription.unsubscribe();
25
+ this._globalSubscription = null;
26
+ }
27
+ }
28
+ get globalSubscription() {
29
+ return this._globalSubscription;
30
+ }
31
+ subscribe(auditTimeInMs = DEFAULT_EVENT_TIME) {
32
+ return new Observable(observer => {
33
+ if (!this._globalSubscription) {
34
+ this._addGlobalListener();
35
+ }
36
+ // In the case of a 0ms delay, use an observable without auditTime
37
+ // since it does add a perceptible delay in processing overhead.
38
+ const subscription = auditTimeInMs > 0 ? this._event$.pipe(auditTime(auditTimeInMs)).subscribe(observer) : this._event$.subscribe(observer);
39
+ this._subscriptionCount++;
40
+ return () => {
41
+ subscription.unsubscribe();
42
+ this._subscriptionCount--;
43
+ if (!this._subscriptionCount) {
44
+ this._removeGlobalListener();
45
+ }
46
+ };
47
+ });
48
+ }
49
+ ngOnDestroy() {
50
+ this._removeGlobalListener();
51
+ this._event$.complete();
52
+ }
53
+ }
54
+ ThyEventDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyEventDispatcher, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
55
+ ThyEventDispatcher.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyEventDispatcher, ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyEventDispatcher, decorators: [{
57
+ type: Directive
58
+ }], ctorParameters: function () { return [{ type: Document }, { type: i0.NgZone }, { type: undefined }]; } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQUU3RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUcvQixNQUFNLE9BQWdCLGtCQUFrQjtJQTBCcEMsWUFBc0IsUUFBa0IsRUFBVSxNQUFjLEVBQVUsU0FBaUI7UUFBckUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBekJuRix3QkFBbUIsR0FBaUIsSUFBSSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBSyxDQUFDO1FBRTNCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztJQXFCK0QsQ0FBQztJQW5CdkYsa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMxRCxPQUFPLFNBQVMsQ0FBSSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRTtnQkFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7U0FDbkM7SUFDTCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUlTLFNBQVMsQ0FBQyxnQkFBd0Isa0JBQWtCO1FBQzFELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDN0I7WUFDRCxrRUFBa0U7WUFDbEUsZ0VBQWdFO1lBQ2hFLE1BQU0sWUFBWSxHQUNkLGFBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFM0gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLEVBQUU7Z0JBQ1IsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7aUJBQ2hDO1lBQ0wsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7K0dBckRpQixrQkFBa0I7bUdBQWxCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUR2QyxTQUFTOzBEQTJCMEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhdWRpdFRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERpcmVjdGl2ZSwgTmdab25lLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgREVGQVVMVF9FVkVOVF9USU1FID0gMTAwO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUaHlFdmVudERpc3BhdGNoZXI8VCA9IEV2ZW50PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfZ2xvYmFsU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBfZXZlbnQkID0gbmV3IFN1YmplY3Q8VD4oKTtcblxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbkNvdW50ID0gMDtcblxuICAgIHByaXZhdGUgX2FkZEdsb2JhbExpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24gPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZnJvbUV2ZW50PFQ+KHRoaXMuZG9jdW1lbnQsIHRoaXMuZXZlbnROYW1lKS5zdWJzY3JpYmUoKGV2ZW50OiBUKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3JlbW92ZUdsb2JhbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5fZ2xvYmFsU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgZ2xvYmFsU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nbG9iYWxTdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGRvY3VtZW50OiBEb2N1bWVudCwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBldmVudE5hbWU6IHN0cmluZykge31cblxuICAgIHByb3RlY3RlZCBzdWJzY3JpYmUoYXVkaXRUaW1lSW5NczogbnVtYmVyID0gREVGQVVMVF9FVkVOVF9USU1FKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2dsb2JhbFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuX2FkZEdsb2JhbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJbiB0aGUgY2FzZSBvZiBhIDBtcyBkZWxheSwgdXNlIGFuIG9ic2VydmFibGUgd2l0aG91dCBhdWRpdFRpbWVcbiAgICAgICAgICAgIC8vIHNpbmNlIGl0IGRvZXMgYWRkIGEgcGVyY2VwdGlibGUgZGVsYXkgaW4gcHJvY2Vzc2luZyBvdmVyaGVhZC5cbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9XG4gICAgICAgICAgICAgICAgYXVkaXRUaW1lSW5NcyA+IDAgPyB0aGlzLl9ldmVudCQucGlwZShhdWRpdFRpbWUoYXVkaXRUaW1lSW5NcykpLnN1YnNjcmliZShvYnNlcnZlcikgOiB0aGlzLl9ldmVudCQuc3Vic2NyaWJlKG9ic2VydmVyKTtcblxuICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQrKztcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQtLTtcblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fc3Vic2NyaXB0aW9uQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlR2xvYmFsTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5fZXZlbnQkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './event-dispatcher';
2
+ export * from './click-dispatcher';
3
+ export * from './keyboard-dispatcher';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvZXZlbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2V2ZW50LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9jbGljay1kaXNwYXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4va2V5Ym9hcmQtZGlzcGF0Y2hlcic7XG4iXX0=
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { DOCUMENT } from '@angular/common';
9
+ import { Inject, Injectable, NgZone } from '@angular/core';
10
+ import { ThyEventDispatcher } from './event-dispatcher';
11
+ import * as i0 from "@angular/core";
12
+ const DEFAULT_KEYDOWN_TIME = 100;
13
+ export class ThyKeyboardDispatcher extends ThyEventDispatcher {
14
+ constructor(document, ngZone) {
15
+ super(document, ngZone, 'keydown');
16
+ }
17
+ keydown(auditTimeInMs = DEFAULT_KEYDOWN_TIME) {
18
+ return this.subscribe(auditTimeInMs);
19
+ }
20
+ }
21
+ ThyKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
22
+ ThyKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, providedIn: 'root' });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyKeyboardDispatcher, decorators: [{
24
+ type: Injectable,
25
+ args: [{
26
+ providedIn: 'root'
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
29
+ type: Inject,
30
+ args: [DOCUMENT]
31
+ }] }, { type: i0.NgZone }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC9rZXlib2FyZC1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXhELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBS2pDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7SUFDekQsWUFBOEIsUUFBYSxFQUFFLE1BQWM7UUFDdkQsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBd0Isb0JBQW9CO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6QyxDQUFDOztrSEFQUSxxQkFBcUIsa0JBQ1YsUUFBUTtzSEFEbkIscUJBQXFCLGNBRmxCLE1BQU07MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBRWdCLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVGh5RXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcblxuY29uc3QgREVGQVVMVF9LRVlET1dOX1RJTUUgPSAxMDA7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGh5S2V5Ym9hcmREaXNwYXRjaGVyIGV4dGVuZHMgVGh5RXZlbnREaXNwYXRjaGVyIHtcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAna2V5ZG93bicpO1xuICAgIH1cblxuICAgIGtleWRvd24oYXVkaXRUaW1lSW5NczogbnVtYmVyID0gREVGQVVMVF9LRVlET1dOX1RJTUUpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZShhdWRpdFRpbWVJbk1zKTtcbiAgICB9XG59XG5cbi8vIEBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG4vLyBleHBvcnQgY2xhc3MgVGh5S2V5Ym9hcmREaXNwYXRjaGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcbi8vICAgICAvKiogQ3VycmVudGx5IGF0dGFjaGVkIGtleWRvd24gcmVmcyBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIGF0dGFjaGVkLiAqL1xuLy8gICAgIF9hdHRhY2hlZEtleWRvd25TdWJqZWN0czogU3ViamVjdDxLZXlib2FyZEV2ZW50PltdID0gW107XG5cbi8vICAgICBwcml2YXRlIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbi8vICAgICBwcml2YXRlIF9pc0F0dGFjaGVkOiBib29sZWFuO1xuXG4vLyAgICAgLyoqIEtleWJvYXJkIGV2ZW50IGxpc3RlbmVyIHRoYXQgd2lsbCBiZSBhdHRhY2hlZCB0byB0aGUgYm9keS4gKi9cbi8vICAgICBwcml2YXRlIF9rZXlkb3duTGlzdGVuZXIgPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbi8vICAgICAgICAgY29uc3Qga2V5ZG93blJlZnMgPSB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cztcblxuLy8gICAgICAgICBmb3IgKGxldCBpID0ga2V5ZG93blJlZnMubGVuZ3RoIC0gMTsgaSA+IC0xOyBpLS0pIHtcbi8vICAgICAgICAgICAgIGtleWRvd25SZWZzW2ldLm5leHQoZXZlbnQpO1xuLy8gICAgICAgICAgICAgYnJlYWs7XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAvKiogRGV0YWNoZXMgdGhlIGdsb2JhbCBrZXlib2FyZCBldmVudCBsaXN0ZW5lci4gKi9cbi8vICAgICBwcml2YXRlIF9kZXRhY2goKSB7XG4vLyAgICAgICAgIGlmICh0aGlzLl9pc0F0dGFjaGVkKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4vLyAgICAgICAgICAgICAgICAgJ2tleWRvd24nLFxuLy8gICAgICAgICAgICAgICAgIHRoaXMuX2tleWRvd25MaXN0ZW5lcixcbi8vICAgICAgICAgICAgICAgICB0cnVlXG4vLyAgICAgICAgICAgICApO1xuLy8gICAgICAgICAgICAgdGhpcy5faXNBdHRhY2hlZCA9IGZhbHNlO1xuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xuLy8gICAgICAgICB0aGlzLl9kb2N1bWVudCA9IGRvY3VtZW50O1xuLy8gICAgIH1cblxuLy8gICAgIG5nT25EZXN0cm95KCkge1xuLy8gICAgICAgICB0aGlzLl9kZXRhY2goKTtcbi8vICAgICB9XG5cbi8vICAgICAvKiogQWRkIGEgbmV3IG92ZXJsYXkgdG8gdGhlIGxpc3Qgb2YgYXR0YWNoZWQgb3ZlcmxheSByZWZzLiAqL1xuLy8gICAgIGFkZChrZXlkb3duU3ViamVjdDogU3ViamVjdDxLZXlib2FyZEV2ZW50Pik6IHZvaWQge1xuLy8gICAgICAgICAvLyBFbnN1cmUgdGhhdCB3ZSBkb24ndCBnZXQgdGhlIHNhbWUgb3ZlcmxheSBtdWx0aXBsZSB0aW1lcy5cbi8vICAgICAgICAgdGhpcy5yZW1vdmUoa2V5ZG93blN1YmplY3QpO1xuXG4vLyAgICAgICAgIC8vIExhemlseSBzdGFydCBkaXNwYXRjaGVyIG9uY2UgZmlyc3Qgb3ZlcmxheSBpcyBhZGRlZFxuLy8gICAgICAgICBpZiAoIXRoaXMuX2lzQXR0YWNoZWQpIHtcbi8vICAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcihcbi8vICAgICAgICAgICAgICAgICAna2V5ZG93bicsXG4vLyAgICAgICAgICAgICAgICAgdGhpcy5fa2V5ZG93bkxpc3RlbmVyLFxuLy8gICAgICAgICAgICAgICAgIHRydWVcbi8vICAgICAgICAgICAgICk7XG4vLyAgICAgICAgICAgICB0aGlzLl9pc0F0dGFjaGVkID0gdHJ1ZTtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIHRoaXMuX2F0dGFjaGVkS2V5ZG93blN1YmplY3RzLnB1c2goa2V5ZG93blN1YmplY3QpO1xuLy8gICAgIH1cblxuLy8gICAgIC8qKiBSZW1vdmUgYW4ga2V5ZG93biByZWYgZnJvbSB0aGUgbGlzdCBvZiBhdHRhY2hlZCBrZXlkb3duIHJlZnMuICovXG4vLyAgICAgcmVtb3ZlKGtleWRvd25SZWY6IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4pOiB2b2lkIHtcbi8vICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cy5pbmRleE9mKGtleWRvd25SZWYpO1xuXG4vLyAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9hdHRhY2hlZEtleWRvd25TdWJqZWN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgLy8gUmVtb3ZlIHRoZSBnbG9iYWwgbGlzdGVuZXIgb25jZSB0aGVyZSBhcmUgbm8gbW9yZSByZWZzLlxuLy8gICAgICAgICBpZiAodGhpcy5fYXR0YWNoZWRLZXlkb3duU3ViamVjdHMubGVuZ3RoID09PSAwKSB7XG4vLyAgICAgICAgICAgICB0aGlzLl9kZXRhY2goKTtcbi8vICAgICAgICAgfVxuLy8gICAgIH1cbi8vIH1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0aHlzLWNkay1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ldmVudC90ZXRoeXMtY2RrLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,55 @@
1
+ import { coerceElement } from '@angular/cdk/coercion';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { Inject, Injectable, NgZone } from '@angular/core';
4
+ import { ThyEventDispatcher } from '@tethys/cdk/event';
5
+ import { fromEvent, Observable } from 'rxjs';
6
+ import { filter } from 'rxjs/operators';
7
+ import { isString, isUndefinedOrNull } from '@tethys/cdk/is';
8
+ import { isHotkey } from './hotkey';
9
+ import * as i0 from "@angular/core";
10
+ export class ThyHotkeyDispatcher extends ThyEventDispatcher {
11
+ constructor(document, ngZone) {
12
+ super(document, ngZone, 'keydown');
13
+ }
14
+ createKeydownObservable(scope) {
15
+ if (scope === this.document) {
16
+ return this.subscribe(null);
17
+ }
18
+ else {
19
+ return fromEvent(scope, 'keydown');
20
+ }
21
+ }
22
+ /**
23
+ * 热键事件订阅
24
+ */
25
+ keydown(hotkey, scope) {
26
+ const hotkeys = isString(hotkey) ? hotkey.split(',') : hotkey;
27
+ const scopeElement = coerceElement(isUndefinedOrNull(scope) ? this.document : scope);
28
+ const keydown = this.createKeydownObservable(scopeElement);
29
+ return new Observable(subscriber => {
30
+ const subscription = keydown
31
+ .pipe(filter((event) => hotkeys.some(key => isHotkey(event, key))))
32
+ .subscribe((event) => {
33
+ this.keydownSubscriber = subscriber;
34
+ // setTimeout 是为了解决 Hotkey 冲突时仅执行最后订阅的事件
35
+ setTimeout(() => {
36
+ this.keydownSubscriber?.next(event);
37
+ this.keydownSubscriber = null;
38
+ });
39
+ });
40
+ return () => {
41
+ subscription.unsubscribe();
42
+ };
43
+ });
44
+ }
45
+ }
46
+ ThyHotkeyDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ ThyHotkeyDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDispatcher, decorators: [{
49
+ type: Injectable,
50
+ args: [{ providedIn: 'root' }]
51
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [DOCUMENT]
54
+ }] }, { type: i0.NgZone }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LWRpc3BhdGNoZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L2hvdGtleS1kaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHcEMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUd2RCxZQUE4QixRQUFhLEVBQUUsTUFBYztRQUN2RCxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBeUI7UUFDckQsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDL0I7YUFBTTtZQUNILE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxNQUF5QixFQUFFLEtBQWdEO1FBQy9FLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlELE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxVQUFVLENBQWdCLFVBQVUsQ0FBQyxFQUFFO1lBQzlDLE1BQU0sWUFBWSxHQUFHLE9BQU87aUJBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2pGLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztnQkFDcEMsd0NBQXdDO2dCQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDUCxPQUFPLEdBQUcsRUFBRTtnQkFDUixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnSEFyQ1EsbUJBQW1CLGtCQUdSLFFBQVE7b0hBSG5CLG1CQUFtQixjQUROLE1BQU07MkZBQ25CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUlqQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlFdmVudERpc3BhdGNoZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9ldmVudCc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YnNjcmliZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzU3RyaW5nLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ0B0ZXRoeXMvY2RrL2lzJztcbmltcG9ydCB7IGlzSG90a2V5IH0gZnJvbSAnLi9ob3RrZXknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRoeUhvdGtleURpc3BhdGNoZXIgZXh0ZW5kcyBUaHlFdmVudERpc3BhdGNoZXIge1xuICAgIHByaXZhdGUga2V5ZG93blN1YnNjcmliZXI6IFN1YnNjcmliZXI8S2V5Ym9hcmRFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICBzdXBlcihkb2N1bWVudCwgbmdab25lLCAna2V5ZG93bicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlS2V5ZG93bk9ic2VydmFibGUoc2NvcGU6IEVsZW1lbnQgfCBEb2N1bWVudCkge1xuICAgICAgICBpZiAoc2NvcGUgPT09IHRoaXMuZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN1YnNjcmliZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmcm9tRXZlbnQoc2NvcGUsICdrZXlkb3duJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAg54Ot6ZSu5LqL5Lu26K6i6ZiFXG4gICAgICovXG4gICAga2V5ZG93bihob3RrZXk6IHN0cmluZyB8IHN0cmluZ1tdLCBzY29wZT86IEVsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgRG9jdW1lbnQpOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcbiAgICAgICAgY29uc3QgaG90a2V5cyA9IGlzU3RyaW5nKGhvdGtleSkgPyBob3RrZXkuc3BsaXQoJywnKSA6IGhvdGtleTtcbiAgICAgICAgY29uc3Qgc2NvcGVFbGVtZW50ID0gY29lcmNlRWxlbWVudChpc1VuZGVmaW5lZE9yTnVsbChzY29wZSkgPyB0aGlzLmRvY3VtZW50IDogc2NvcGUpO1xuICAgICAgICBjb25zdCBrZXlkb3duID0gdGhpcy5jcmVhdGVLZXlkb3duT2JzZXJ2YWJsZShzY29wZUVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD4oc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBrZXlkb3duXG4gICAgICAgICAgICAgICAgLnBpcGUoZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gaG90a2V5cy5zb21lKGtleSA9PiBpc0hvdGtleShldmVudCwga2V5KSkpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5ZG93blN1YnNjcmliZXIgPSBzdWJzY3JpYmVyO1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXRUaW1lb3V0IOaYr+S4uuS6huino+WGsyBIb3RrZXkg5Yay56qB5pe25LuF5omn6KGM5pyA5ZCO6K6i6ZiF55qE5LqL5Lu2XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5rZXlkb3duU3Vic2NyaWJlcj8ubmV4dChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmtleWRvd25TdWJzY3JpYmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,55 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Directive, ElementRef, EventEmitter, Inject, Input, Output } from '@angular/core';
3
+ import { isFormElement, isString } from '@tethys/cdk/is';
4
+ import { ThyHotkeyDispatcher } from './hotkey-dispatcher';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./hotkey-dispatcher";
7
+ /**
8
+ * @name thyHotkey
9
+ */
10
+ export class ThyHotkeyDirective {
11
+ constructor(document, hotkeyDispatcher, elementRef) {
12
+ this.document = document;
13
+ this.hotkeyDispatcher = hotkeyDispatcher;
14
+ this.elementRef = elementRef;
15
+ /**
16
+ * 热键触发后的事件
17
+ */
18
+ this.thyHotkeyListener = new EventEmitter();
19
+ this.subscription = null;
20
+ }
21
+ ngOnInit() {
22
+ const scope = isString(this.thyHotkeyScope) ? this.document.querySelector(this.thyHotkeyScope) : this.thyHotkeyScope;
23
+ this.subscription = this.hotkeyDispatcher.keydown(this.thyHotkey, scope).subscribe(event => {
24
+ event.preventDefault();
25
+ if (isFormElement(this.elementRef)) {
26
+ this.elementRef.nativeElement.focus();
27
+ }
28
+ else {
29
+ this.elementRef.nativeElement.click();
30
+ }
31
+ this.thyHotkeyListener.emit(event);
32
+ });
33
+ }
34
+ ngOnDestroy() {
35
+ if (this.subscription) {
36
+ this.subscription.unsubscribe();
37
+ }
38
+ }
39
+ }
40
+ ThyHotkeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDirective, deps: [{ token: DOCUMENT }, { token: i1.ThyHotkeyDispatcher }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
41
+ ThyHotkeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ThyHotkeyDirective, selector: "[thyHotkey]", inputs: { thyHotkey: "thyHotkey", thyHotkeyScope: "thyHotkeyScope" }, outputs: { thyHotkeyListener: "thyHotkeyListener" }, ngImport: i0 });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyDirective, decorators: [{
43
+ type: Directive,
44
+ args: [{ selector: '[thyHotkey]' }]
45
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
46
+ type: Inject,
47
+ args: [DOCUMENT]
48
+ }] }, { type: i1.ThyHotkeyDispatcher }, { type: i0.ElementRef }]; }, propDecorators: { thyHotkey: [{
49
+ type: Input
50
+ }], thyHotkeyScope: [{
51
+ type: Input
52
+ }], thyHotkeyListener: [{
53
+ type: Output
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2Nkay9ob3RrZXkvaG90a2V5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUUxRDs7R0FFRztBQUVILE1BQU0sT0FBTyxrQkFBa0I7SUFrQjNCLFlBQzhCLFFBQWtCLEVBQ3BDLGdCQUFxQyxFQUNyQyxVQUFtQztRQUZqQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBcUI7UUFDckMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFWL0M7O1dBRUc7UUFDTyxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0RSxpQkFBWSxHQUFpQixJQUFJLENBQUM7SUFNdkMsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDckgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzsrR0F6Q1Esa0JBQWtCLGtCQW1CZixRQUFRO21HQW5CWCxrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUU7MERBb0JNLFFBQVE7MEJBQTNDLE1BQU07MkJBQUMsUUFBUTt1R0FmWCxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0ksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNGb3JtRWxlbWVudCwgaXNTdHJpbmcgfSBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5pbXBvcnQgeyBUaHlIb3RrZXlEaXNwYXRjaGVyIH0gZnJvbSAnLi9ob3RrZXktZGlzcGF0Y2hlcic7XG5cbi8qKlxuICogQG5hbWUgdGh5SG90a2V5XG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0aHlIb3RrZXldJyB9KVxuZXhwb3J0IGNsYXNzIFRoeUhvdGtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiAg54Ot6ZSu5a+55bqUIENvZGXvvIzlpJrkuKrng63plK7nu4TlkIjmlK/mjIHpgJrov4fmlbDnu4TmiJbpgJflj7fliIblibLnmoTlvaLlvI/kvKDlhaVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIb3RrZXk6IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gICAgLyoqXG4gICAgICogIOmFjee9rueDremUruinpuWPkeiMg+WbtO+8jOm7mOiupOe7keWumuWcqCBkb2N1bWVudCDkuIpcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlIb3RrZXlTY29wZT86IHN0cmluZyB8IEVsZW1lbnQgfCBFbGVtZW50UmVmPEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogIOeDremUruinpuWPkeWQjueahOS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlIb3RrZXlMaXN0ZW5lcjogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgaG90a2V5RGlzcGF0Y2hlcjogVGh5SG90a2V5RGlzcGF0Y2hlcixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzY29wZSA9IGlzU3RyaW5nKHRoaXMudGh5SG90a2V5U2NvcGUpID8gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMudGh5SG90a2V5U2NvcGUpIDogdGhpcy50aHlIb3RrZXlTY29wZTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmhvdGtleURpc3BhdGNoZXIua2V5ZG93bih0aGlzLnRoeUhvdGtleSwgc2NvcGUpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKGlzRm9ybUVsZW1lbnQodGhpcy5lbGVtZW50UmVmKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnRoeUhvdGtleUxpc3RlbmVyLmVtaXQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ const modifierKeyNames = [`Control`, 'Alt', 'Meta', 'Shift'];
2
+ // We don't want to show `Shift` when `event.key` is capital
3
+ function showShift(event) {
4
+ const { shiftKey, code, key } = event;
5
+ return shiftKey && !(code.startsWith('Key') && key.toUpperCase() === key);
6
+ }
7
+ export function hotkey(event) {
8
+ const { ctrlKey, altKey, metaKey, key } = event;
9
+ const hotkeyString = [];
10
+ const modifiers = [ctrlKey, altKey, metaKey, showShift(event)];
11
+ for (const [i, mod] of modifiers.entries()) {
12
+ if (mod)
13
+ hotkeyString.push(modifierKeyNames[i]);
14
+ }
15
+ if (!modifierKeyNames.includes(key)) {
16
+ hotkeyString.push(key);
17
+ }
18
+ return hotkeyString.join('+');
19
+ }
20
+ export function isHotkey(event, key) {
21
+ return key.toUpperCase() === hotkey(event).toUpperCase();
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2hvdGtleS9ob3RrZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxnQkFBZ0IsR0FBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXZFLDREQUE0RDtBQUM1RCxTQUFTLFNBQVMsQ0FBQyxLQUFvQjtJQUNuQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDdEMsT0FBTyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQW9CO0lBQ3ZDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDaEQsTUFBTSxZQUFZLEdBQWEsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sU0FBUyxHQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEdBQUc7WUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbkQ7SUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2pDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBb0IsRUFBRSxHQUFXO0lBQ3RELE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgbW9kaWZpZXJLZXlOYW1lczogc3RyaW5nW10gPSBbYENvbnRyb2xgLCAnQWx0JywgJ01ldGEnLCAnU2hpZnQnXTtcblxuLy8gV2UgZG9uJ3Qgd2FudCB0byBzaG93IGBTaGlmdGAgd2hlbiBgZXZlbnQua2V5YCBpcyBjYXBpdGFsXG5mdW5jdGlvbiBzaG93U2hpZnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IHNoaWZ0S2V5LCBjb2RlLCBrZXkgfSA9IGV2ZW50O1xuICAgIHJldHVybiBzaGlmdEtleSAmJiAhKGNvZGUuc3RhcnRzV2l0aCgnS2V5JykgJiYga2V5LnRvVXBwZXJDYXNlKCkgPT09IGtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBob3RrZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgY3RybEtleSwgYWx0S2V5LCBtZXRhS2V5LCBrZXkgfSA9IGV2ZW50O1xuICAgIGNvbnN0IGhvdGtleVN0cmluZzogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBtb2RpZmllcnM6IGJvb2xlYW5bXSA9IFtjdHJsS2V5LCBhbHRLZXksIG1ldGFLZXksIHNob3dTaGlmdChldmVudCldO1xuICAgIGZvciAoY29uc3QgW2ksIG1vZF0gb2YgbW9kaWZpZXJzLmVudHJpZXMoKSkge1xuICAgICAgICBpZiAobW9kKSBob3RrZXlTdHJpbmcucHVzaChtb2RpZmllcktleU5hbWVzW2ldKTtcbiAgICB9XG5cbiAgICBpZiAoIW1vZGlmaWVyS2V5TmFtZXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBob3RrZXlTdHJpbmcucHVzaChrZXkpO1xuICAgIH1cblxuICAgIHJldHVybiBob3RrZXlTdHJpbmcuam9pbignKycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNIb3RrZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGtleS50b1VwcGVyQ2FzZSgpID09PSBob3RrZXkoZXZlbnQpLnRvVXBwZXJDYXNlKCk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './module';
2
+ export * from './hotkey';
3
+ export * from './hotkey-dispatcher';
4
+ export * from './hotkey.directive';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5JztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5LWRpc3BhdGNoZXInO1xuZXhwb3J0ICogZnJvbSAnLi9ob3RrZXkuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ThyHotkeyDirective } from './hotkey.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class ThyHotkeyModule {
5
+ }
6
+ ThyHotkeyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ ThyHotkeyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, declarations: [ThyHotkeyDirective], exports: [ThyHotkeyDirective] });
8
+ ThyHotkeyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyHotkeyModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [],
13
+ exports: [ThyHotkeyDirective],
14
+ declarations: [ThyHotkeyDirective],
15
+ providers: []
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2hvdGtleS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFIVCxrQkFBa0IsYUFEdkIsa0JBQWtCOzZHQUluQixlQUFlOzJGQUFmLGVBQWU7a0JBTjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxTQUFTLEVBQUUsRUFBRTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5SG90a2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9ob3RrZXkuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXSxcbiAgICBleHBvcnRzOiBbVGh5SG90a2V5RGlyZWN0aXZlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUaHlIb3RrZXlEaXJlY3RpdmVdLFxuICAgIHByb3ZpZGVyczogW11cbn0pXG5leHBvcnQgY2xhc3MgVGh5SG90a2V5TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV0aHlzLWNkay1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaG90a2V5L3RldGh5cy1jZGstaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,5 +1,6 @@
1
1
  import { coerceArray } from '@angular/cdk/coercion';
2
- import { isFunction, isUndefinedOrNull } from '@tethys/cdk/is';
2
+ import { isFunction, isUndefinedOrNull, isArray } from '@tethys/cdk/is';
3
+ import { ObjectProducer } from './object-producer';
3
4
  export class Producer {
4
5
  constructor(entities, options) {
5
6
  this.idKey = '_id';
@@ -104,6 +105,11 @@ export class Producer {
104
105
  }
105
106
  }
106
107
  export function produce(entities, options) {
107
- return new Producer(entities, options);
108
+ if (isArray(entities)) {
109
+ return new Producer(entities, options);
110
+ }
111
+ else {
112
+ return new ObjectProducer(entities);
113
+ }
108
114
  }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1tdXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9pbW11dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXFCL0QsTUFBTSxPQUFPLFFBQVE7SUFLakIsWUFBWSxRQUFtQixFQUFFLE9BQWtDO1FBSjNELFVBQUssR0FBRyxLQUFLLENBQUM7UUFLbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBZSxDQUFDO1NBQ3hDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsR0FBRyxDQUFDLE1BQTJCLEVBQUUsVUFBNkI7UUFDMUQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLE1BQU0sS0FBSyxHQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssVUFBVSxD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QU8sQ0FBVSxRQUFtQixFQUFFLE9BQWtDO0lBQ3BGLE9BQU8sSUFBSSxRQUFRLENBQVUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VBcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ0B0ZXRoeXMvY2RrL2lzJztcblxuZXhwb3J0IHR5cGUgSWQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRkT3B0aW9ucyB7XG4gICAgcHJlcGVuZD86IGJvb2xlYW47XG5cbiAgICBhZnRlcklkPzogSWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5TW92ZU9wdGlvbnMge1xuICAgIGFmdGVySWQ/OiBJZDtcblxuICAgIHRvSW5kZXg/OiBudW1iZXI7XG59XG5cbnR5cGUgRXh0cmFjdEtleXNPZlZhbHVlVHlwZTxULCBLPiA9IHsgW0kgaW4ga2V5b2YgVF06IFRbSV0gZXh0ZW5kcyBLID8gSSA6IG5ldmVyIH1ba2V5b2YgVF07XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyT3B0aW9uczxURW50aXR5PiB7XG4gICAgaWRLZXk/OiBFeHRyYWN0S2V5c09mVmFsdWVUeXBlPFRFbnRpdHksIElkPjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBwcml2YXRlIGlkS2V5ID0gJ19pZCc7XG5cbiAgICBwcml2YXRlIGVudGl0aWVzOiBURW50aXR5W107XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdGllczogVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcyB8fCBbXTtcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZEtleSkge1xuICAgICAgICAgICAgdGhpcy5pZEtleSA9IG9wdGlvbnMuaWRLZXkgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGFuIGVudGl0eSBvciBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogcHJvZHVjZShbdXNlcnNdKS5hZGQoRW50aXR5KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChbRW50aXR5LCBFbnRpdHldKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgcHJlcGVuZDogdHJ1ZSB9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgYWZ0ZXJJZDogJycgfSk7XG4gICAgICovXG4gICAgYWRkKGVudGl0eTogVEVudGl0eSB8IFRFbnRpdHlbXSwgYWRkT3B0aW9ucz86IEVudGl0eUFkZE9wdGlvbnMpOiBURW50aXR5W10ge1xuICAgICAgICBjb25zdCBhZGRFbnRpdGllcyA9IGNvZXJjZUFycmF5KGVudGl0eSk7XG4gICAgICAgIGlmIChhZGRFbnRpdGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRPcHRpb25zICYmIChhZGRPcHRpb25zLmFmdGVySWQgfHwgYWRkT3B0aW9ucy5wcmVwZW5kKSkge1xuICAgICAgICAgICAgaWYgKGFkZE9wdGlvbnMuYWZ0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gYWRkT3B0aW9ucy5hZnRlcklkO1xuICAgICAgICAgICAgICAgICAgICB9KSArIDE7XG4gICAgICAgICAgICAgICAgZW50aXRpZXMuc3BsaWNlKGluZGV4LCAwLCAuLi5hZGRFbnRpdGllcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi5lbnRpdGllc107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFkZE9wdGlvbnMucHJlcGVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSBbLi4uYWRkRW50aXRpZXMsIC4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi50aGlzLmVudGl0aWVzLCAuLi5hZGRFbnRpdGllc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBVcGRhdGUgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCB7XG4gICAgICogICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCBlbnRpdHkgPT4ge1xuICAgICAqICAgIHJldHVybiB7XG4gICAgICogICAgICAuLi5lbnRpdHksXG4gICAgICogICAgICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogICAgfVxuICAgICAqICB9KTtcbiAgICAgKlxuICAgICAqIHByb2R1Y2UoW3VzZXJzXSkudXBkYXRlKFsxLDIsM10sIHtcbiAgICAgKiAgIG5hbWU6ICdOZXcgTmFtZSdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICB1cGRhdGUoaWQ6IElkIHwgSWRbXSB8IG51bGwsIG5ld1N0YXRlRm46IChlbnRpdHk6IFJlYWRvbmx5PFRFbnRpdHk+KSA9PiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShpZDogSWQgfCBJZFtdIHwgbnVsbCwgbmV3U3RhdGU/OiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShcbiAgICAgICAgaWRzT3JGbjogSWQgfCBJZFtdIHwgbnVsbCB8IFBhcnRpYWw8VEVudGl0eT4gfCAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IGJvb2xlYW4pLFxuICAgICAgICBuZXdTdGF0ZU9yRm4/OiAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IFBhcnRpYWw8VEVudGl0eT4pIHwgUGFydGlhbDxURW50aXR5PlxuICAgICk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgb2xkRW50aXR5ID0gdGhpcy5lbnRpdGllc1tpXTtcbiAgICAgICAgICAgIGlmIChpZHMuaW5kZXhPZihvbGRFbnRpdHlbdGhpcy5pZEtleV0pID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IGlzRnVuY3Rpb24obmV3U3RhdGVPckZuKSA/IG5ld1N0YXRlT3JGbihvbGRFbnRpdHkpIDogbmV3U3RhdGVPckZuO1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0gPSB7IC4uLm9sZEVudGl0eSwgLi4ubmV3U3RhdGUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogUmVtb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZSg1KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShbMSwyLDNdKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShlbnRpdHkgPT4gZW50aXR5LmlkID09PSAxKTtcbiAgICAgKi9cbiAgICByZW1vdmUoaWQ6IElkIHwgSWRbXSk6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUocHJlZGljYXRlOiAoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbik6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUoaWRzT3JGbj86IElkIHwgSWRbXSB8ICgoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbikpOiBURW50aXR5W10ge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihpZHNPckZuKSkge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEoaWRzT3JGbiBhcyBhbnkpKGVudGl0eSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmRleE9mKGVudGl0eVt0aGlzLmlkS2V5XSkgPT09IC0xO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBNb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge2FmdGVySWQ6IDJ9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge3RvSW5kZXg6IDB9KTtcbiAgICAgKi9cbiAgICBtb3ZlKGlkOiBJZCwgbW92ZU9wdGlvbnM/OiBFbnRpdHlNb3ZlT3B0aW9ucyk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gaWQpO1xuICAgICAgICBsZXQgdG9JbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuXG4gICAgICAgIGlmICghaWQgfHwgZnJvbUluZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzLmVudGl0aWVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb3ZlT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChtb3ZlT3B0aW9ucy5hZnRlcklkKSkge1xuICAgICAgICAgICAgICAgIHRvSW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZEtleV0gPT09IG1vdmVPcHRpb25zLmFmdGVySWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtb3ZlT3B0aW9ucy50b0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdG9JbmRleCA9IG1vdmVPcHRpb25zLnRvSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9JbmRleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHRoaXMuZW50aXRpZXMubGVuZ3RoIC0gMSwgdG9JbmRleCkpO1xuICAgICAgICBpZiAodG9JbmRleCA9PT0gZnJvbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbnRpdGllc1tmcm9tSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0b0luZGV4IDwgZnJvbUluZGV4ID8gLTEgOiAxO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZnJvbUluZGV4OyBpICE9PSB0b0luZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICAgICAgbmV3RW50aXRpZXNbaV0gPSBuZXdFbnRpdGllc1tpICsgZGVsdGFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3RW50aXRpZXNbdG9JbmRleF0gPSB0YXJnZXQ7XG4gICAgICAgICAgICByZXR1cm4gWy4uLm5ld0VudGl0aWVzXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHlbXSwgb3B0aW9ucz86IFByb2R1Y2VyT3B0aW9uczxURW50aXR5Pikge1xuICAgIHJldHVybiBuZXcgUHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMsIG9wdGlvbnMpO1xufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1tdXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9pbW11dGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBcUJuRCxNQUFNLE9BQU8sUUFBUTtJQUtqQixZQUFZLFFBQW1CLEVBQUUsT0FBa0M7UUFKM0QsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUtsQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFlLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxHQUFHLENBQUMsTUFBMkIsRUFBRSxVQUE2QjtRQUMxRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEMsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDeEI7UUFDRCxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRTtnQkFDcEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxLQUFLLEdBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7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V0FBVyxDQUFDLENBQUM7U0FDM0I7SUFDTCxDQUFDO0NBQ0o7QUFJRCxNQUFNLFVBQVUsT0FBTyxDQUFVLFFBQTZCLEVBQUUsT0FBa0M7SUFDOUYsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbkIsT0FBTyxJQUFJLFFBQVEsQ0FBVSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkQ7U0FBTTtRQUNILE9BQU8sSUFBSSxjQUFjLENBQVUsUUFBUSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNVbmRlZmluZWRPck51bGwsIGlzQXJyYXkgfSBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5pbXBvcnQgeyBPYmplY3RQcm9kdWNlciB9IGZyb20gJy4vb2JqZWN0LXByb2R1Y2VyJztcblxuZXhwb3J0IHR5cGUgSWQgPSBzdHJpbmcgfCBudW1iZXI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5QWRkT3B0aW9ucyB7XG4gICAgcHJlcGVuZD86IGJvb2xlYW47XG5cbiAgICBhZnRlcklkPzogSWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5TW92ZU9wdGlvbnMge1xuICAgIGFmdGVySWQ/OiBJZDtcblxuICAgIHRvSW5kZXg/OiBudW1iZXI7XG59XG5cbnR5cGUgRXh0cmFjdEtleXNPZlZhbHVlVHlwZTxULCBLPiA9IHsgW0kgaW4ga2V5b2YgVF06IFRbSV0gZXh0ZW5kcyBLID8gSSA6IG5ldmVyIH1ba2V5b2YgVF07XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y2VyT3B0aW9uczxURW50aXR5PiB7XG4gICAgaWRLZXk/OiBFeHRyYWN0S2V5c09mVmFsdWVUeXBlPFRFbnRpdHksIElkPjtcbn1cblxuZXhwb3J0IGNsYXNzIFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBwcml2YXRlIGlkS2V5ID0gJ19pZCc7XG5cbiAgICBwcml2YXRlIGVudGl0aWVzOiBURW50aXR5W107XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdGllczogVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgICAgIHRoaXMuZW50aXRpZXMgPSBlbnRpdGllcyB8fCBbXTtcbiAgICAgICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5pZEtleSkge1xuICAgICAgICAgICAgdGhpcy5pZEtleSA9IG9wdGlvbnMuaWRLZXkgYXMgc3RyaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIGFuIGVudGl0eSBvciBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogcHJvZHVjZShbdXNlcnNdKS5hZGQoRW50aXR5KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChbRW50aXR5LCBFbnRpdHldKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgcHJlcGVuZDogdHJ1ZSB9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLmFkZChFbnRpdHksIHsgYWZ0ZXJJZDogJycgfSk7XG4gICAgICovXG4gICAgYWRkKGVudGl0eTogVEVudGl0eSB8IFRFbnRpdHlbXSwgYWRkT3B0aW9ucz86IEVudGl0eUFkZE9wdGlvbnMpOiBURW50aXR5W10ge1xuICAgICAgICBjb25zdCBhZGRFbnRpdGllcyA9IGNvZXJjZUFycmF5KGVudGl0eSk7XG4gICAgICAgIGlmIChhZGRFbnRpdGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVudGl0aWVzO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhZGRPcHRpb25zICYmIChhZGRPcHRpb25zLmFmdGVySWQgfHwgYWRkT3B0aW9ucy5wcmVwZW5kKSkge1xuICAgICAgICAgICAgaWYgKGFkZE9wdGlvbnMuYWZ0ZXJJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcy5maW5kSW5kZXgoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gYWRkT3B0aW9ucy5hZnRlcklkO1xuICAgICAgICAgICAgICAgICAgICB9KSArIDE7XG4gICAgICAgICAgICAgICAgZW50aXRpZXMuc3BsaWNlKGluZGV4LCAwLCAuLi5hZGRFbnRpdGllcyk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi5lbnRpdGllc107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGFkZE9wdGlvbnMucHJlcGVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXMgPSBbLi4uYWRkRW50aXRpZXMsIC4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IFsuLi50aGlzLmVudGl0aWVzLCAuLi5hZGRFbnRpdGllc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBVcGRhdGUgYW4gZW50aXR5IG9yIGVudGl0aWVzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCB7XG4gICAgICogICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnVwZGF0ZSgzLCBlbnRpdHkgPT4ge1xuICAgICAqICAgIHJldHVybiB7XG4gICAgICogICAgICAuLi5lbnRpdHksXG4gICAgICogICAgICBuYW1lOiAnTmV3IE5hbWUnXG4gICAgICogICAgfVxuICAgICAqICB9KTtcbiAgICAgKlxuICAgICAqIHByb2R1Y2UoW3VzZXJzXSkudXBkYXRlKFsxLDIsM10sIHtcbiAgICAgKiAgIG5hbWU6ICdOZXcgTmFtZSdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICB1cGRhdGUoaWQ6IElkIHwgSWRbXSB8IG51bGwsIG5ld1N0YXRlRm46IChlbnRpdHk6IFJlYWRvbmx5PFRFbnRpdHk+KSA9PiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShpZDogSWQgfCBJZFtdIHwgbnVsbCwgbmV3U3RhdGU/OiBQYXJ0aWFsPFRFbnRpdHk+KTogVEVudGl0eVtdO1xuICAgIHVwZGF0ZShcbiAgICAgICAgaWRzT3JGbjogSWQgfCBJZFtdIHwgbnVsbCB8IFBhcnRpYWw8VEVudGl0eT4gfCAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IGJvb2xlYW4pLFxuICAgICAgICBuZXdTdGF0ZU9yRm4/OiAoKGVudGl0eTogUmVhZG9ubHk8VEVudGl0eT4pID0+IFBhcnRpYWw8VEVudGl0eT4pIHwgUGFydGlhbDxURW50aXR5PlxuICAgICk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lbnRpdGllcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgb2xkRW50aXR5ID0gdGhpcy5lbnRpdGllc1tpXTtcbiAgICAgICAgICAgIGlmIChpZHMuaW5kZXhPZihvbGRFbnRpdHlbdGhpcy5pZEtleV0pID49IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IGlzRnVuY3Rpb24obmV3U3RhdGVPckZuKSA/IG5ld1N0YXRlT3JGbihvbGRFbnRpdHkpIDogbmV3U3RhdGVPckZuO1xuICAgICAgICAgICAgICAgIHRoaXMuZW50aXRpZXNbaV0gPSB7IC4uLm9sZEVudGl0eSwgLi4ubmV3U3RhdGUgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogUmVtb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZSg1KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShbMSwyLDNdKTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLnJlbW92ZShlbnRpdHkgPT4gZW50aXR5LmlkID09PSAxKTtcbiAgICAgKi9cbiAgICByZW1vdmUoaWQ6IElkIHwgSWRbXSk6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUocHJlZGljYXRlOiAoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbik6IFRFbnRpdHlbXTtcbiAgICByZW1vdmUoaWRzT3JGbj86IElkIHwgSWRbXSB8ICgoZW50aXR5OiBSZWFkb25seTxURW50aXR5PikgPT4gYm9vbGVhbikpOiBURW50aXR5W10ge1xuICAgICAgICBpZiAoaXNGdW5jdGlvbihpZHNPckZuKSkge1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEoaWRzT3JGbiBhcyBhbnkpKGVudGl0eSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGlkcyA9IGNvZXJjZUFycmF5KGlkc09yRm4pO1xuICAgICAgICAgICAgdGhpcy5lbnRpdGllcyA9IHRoaXMuZW50aXRpZXMuZmlsdGVyKGVudGl0eSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGlkcy5pbmRleE9mKGVudGl0eVt0aGlzLmlkS2V5XSkgPT09IC0xO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZW50aXRpZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBNb3ZlIG9uZSBvciBtb3JlIGVudGl0aWVzOlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge2FmdGVySWQ6IDJ9KTtcbiAgICAgKiBwcm9kdWNlKFt1c2Vyc10pLm1vdmUoNSwge3RvSW5kZXg6IDB9KTtcbiAgICAgKi9cbiAgICBtb3ZlKGlkOiBJZCwgbW92ZU9wdGlvbnM/OiBFbnRpdHlNb3ZlT3B0aW9ucyk6IFRFbnRpdHlbXSB7XG4gICAgICAgIGNvbnN0IGZyb21JbmRleCA9IHRoaXMuZW50aXRpZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkS2V5XSA9PT0gaWQpO1xuICAgICAgICBsZXQgdG9JbmRleCA9IDA7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0aWVzID0gWy4uLnRoaXMuZW50aXRpZXNdO1xuXG4gICAgICAgIGlmICghaWQgfHwgZnJvbUluZGV4IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzLmVudGl0aWVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb3ZlT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKCFpc1VuZGVmaW5lZE9yTnVsbChtb3ZlT3B0aW9ucy5hZnRlcklkKSkge1xuICAgICAgICAgICAgICAgIHRvSW5kZXggPSB0aGlzLmVudGl0aWVzLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZEtleV0gPT09IG1vdmVPcHRpb25zLmFmdGVySWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChtb3ZlT3B0aW9ucy50b0luZGV4KSB7XG4gICAgICAgICAgICAgICAgdG9JbmRleCA9IG1vdmVPcHRpb25zLnRvSW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9JbmRleCA9IE1hdGgubWF4KDAsIE1hdGgubWluKHRoaXMuZW50aXRpZXMubGVuZ3RoIC0gMSwgdG9JbmRleCkpO1xuICAgICAgICBpZiAodG9JbmRleCA9PT0gZnJvbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXMuZW50aXRpZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5lbnRpdGllc1tmcm9tSW5kZXhdO1xuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSB0b0luZGV4IDwgZnJvbUluZGV4ID8gLTEgOiAxO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gZnJvbUluZGV4OyBpICE9PSB0b0luZGV4OyBpICs9IGRlbHRhKSB7XG4gICAgICAgICAgICAgICAgbmV3RW50aXRpZXNbaV0gPSBuZXdFbnRpdGllc1tpICsgZGVsdGFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3RW50aXRpZXNbdG9JbmRleF0gPSB0YXJnZXQ7XG4gICAgICAgICAgICByZXR1cm4gWy4uLm5ld0VudGl0aWVzXTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHlbXSwgb3B0aW9ucz86IFByb2R1Y2VyT3B0aW9uczxURW50aXR5Pik6IFByb2R1Y2VyPFRFbnRpdHk+O1xuZXhwb3J0IGZ1bmN0aW9uIHByb2R1Y2U8VEVudGl0eT4oZW50aXRpZXM6IFRFbnRpdHkpOiBPYmplY3RQcm9kdWNlcjxURW50aXR5PjtcbmV4cG9ydCBmdW5jdGlvbiBwcm9kdWNlPFRFbnRpdHk+KGVudGl0aWVzOiBURW50aXR5IHwgVEVudGl0eVtdLCBvcHRpb25zPzogUHJvZHVjZXJPcHRpb25zPFRFbnRpdHk+KSB7XG4gICAgaWYgKGlzQXJyYXkoZW50aXRpZXMpKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBuZXcgT2JqZWN0UHJvZHVjZXI8VEVudGl0eT4oZW50aXRpZXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,3 @@
1
1
  export * from './immutable';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaW1tdXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbW11dGFibGUnO1xuIl19
2
+ export { ObjectProducer } from './object-producer';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaW1tdXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW1tdXRhYmxlJztcbmV4cG9ydCB7IE9iamVjdFByb2R1Y2VyIH0gZnJvbSAnLi9vYmplY3QtcHJvZHVjZXInO1xuIl19
@@ -0,0 +1,25 @@
1
+ export class ObjectProducer {
2
+ constructor(entity) {
3
+ this.entity = entity;
4
+ }
5
+ get(propPath) {
6
+ return propPath.split('.').reduce((previousValue, part) => previousValue && previousValue[part], this.entity);
7
+ }
8
+ set(propPath, value) {
9
+ const newEntity = { ...this.entity };
10
+ const split = propPath.split('.');
11
+ const lastIndex = split.length - 1;
12
+ split.reduce((previousValue, part, index) => {
13
+ if (index === lastIndex) {
14
+ previousValue[part] = value;
15
+ }
16
+ else {
17
+ previousValue[part] = Array.isArray(previousValue[part]) ? previousValue[part].slice() : { ...previousValue[part] };
18
+ }
19
+ return previousValue && previousValue[part];
20
+ }, newEntity);
21
+ this.entity = newEntity;
22
+ return newEntity;
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXByb2R1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY2RrL2ltbXV0YWJsZS9vYmplY3QtcHJvZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0NBLE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQVksTUFBZTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRUQsR0FBRyxDQUF1QixRQUFlO1FBQ3JDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFrQixFQUFFLElBQVksRUFBRSxFQUFFLENBQUMsYUFBYSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQUVELEdBQUcsQ0FBdUIsUUFBZSxFQUFFLEtBQW1DO1FBQzFFLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVuQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7YUFDL0I7aUJBQU07Z0JBQ0gsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2FBQ3ZIO1lBRUQsT0FBTyxhQUFhLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVkLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFBO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHByZXR0aWVyL3ByZXR0aWVyICovXG50eXBlIEdldEluZGV4ZWRGaWVsZDxULCBLPiA9IEsgZXh0ZW5kcyBrZXlvZiBUXG4gID8gVFtLXVxuICA6IEsgZXh0ZW5kcyBgJHtudW1iZXJ9YFxuICAgID8gJzAnIGV4dGVuZHMga2V5b2YgVFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogbnVtYmVyIGV4dGVuZHMga2V5b2YgVFxuICAgICAgICA/IFRbbnVtYmVyXVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIDogdW5kZWZpbmVkXG50eXBlIEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFQsIEtleT4gPVxuICB8IEdldEZpZWxkVHlwZTxFeGNsdWRlPFQsIHVuZGVmaW5lZD4sIEtleT5cbiAgfCBFeHRyYWN0PFQsIHVuZGVmaW5lZD5cbnR5cGUgSW5kZXhlZEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFQsIEtleT4gPVxuICB8IEdldEluZGV4ZWRGaWVsZDxFeGNsdWRlPFQsIHVuZGVmaW5lZD4sIEtleT5cbiAgfCBFeHRyYWN0PFQsIHVuZGVmaW5lZD5cbmV4cG9ydCB0eXBlIEdldEZpZWxkVHlwZTxULCBQPiA9IFAgZXh0ZW5kcyBgJHtpbmZlciBMZWZ0fS4ke2luZmVyIFJpZ2h0fWBcbiAgPyBMZWZ0IGV4dGVuZHMga2V5b2YgVFxuICAgID8gRmllbGRXaXRoUG9zc2libHlVbmRlZmluZWQ8VFtMZWZ0XSwgUmlnaHQ+XG4gICAgOiBMZWZ0IGV4dGVuZHMgYCR7aW5mZXIgRmllbGRLZXl9WyR7aW5mZXIgSW5kZXhLZXl9XWBcbiAgICAgID8gRmllbGRLZXkgZXh0ZW5kcyBrZXlvZiBUXG4gICAgICAgID8gRmllbGRXaXRoUG9zc2libHlVbmRlZmluZWQ8SW5kZXhlZEZpZWxkV2l0aFBvc3NpYmx5VW5kZWZpbmVkPFRbRmllbGRLZXldLCBJbmRleEtleT4sIFJpZ2h0PlxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgOiB1bmRlZmluZWRcbiAgOiBQIGV4dGVuZHMga2V5b2YgVFxuICAgID8gVFtQXVxuICAgIDogUCBleHRlbmRzIGAke2luZmVyIEZpZWxkS2V5fVske2luZmVyIEluZGV4S2V5fV1gXG4gICAgICA/IEZpZWxkS2V5IGV4dGVuZHMga2V5b2YgVFxuICAgICAgICA/IEluZGV4ZWRGaWVsZFdpdGhQb3NzaWJseVVuZGVmaW5lZDxUW0ZpZWxkS2V5XSwgSW5kZXhLZXk+XG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgICA6IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNsYXNzIE9iamVjdFByb2R1Y2VyPFRFbnRpdHk+IHtcbiAgICBlbnRpdHk6IFRFbnRpdHk7XG5cbiAgICBjb25zdHJ1Y3RvcihlbnRpdHk6IFRFbnRpdHkpIHtcbiAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgfVxuXG4gICAgZ2V0PFRQYXRoIGV4dGVuZHMgc3RyaW5nPihwcm9wUGF0aDogVFBhdGgpOiBHZXRGaWVsZFR5cGU8VEVudGl0eSwgVFBhdGg+IHtcbiAgICAgICAgcmV0dXJuIHByb3BQYXRoLnNwbGl0KCcuJykucmVkdWNlKChwcmV2aW91c1ZhbHVlOiBhbnksIHBhcnQ6IHN0cmluZykgPT4gcHJldmlvdXNWYWx1ZSAmJiBwcmV2aW91c1ZhbHVlW3BhcnRdLCB0aGlzLmVudGl0eSk7XG4gICAgfVxuXG4gICAgc2V0PFRQYXRoIGV4dGVuZHMgc3RyaW5nPihwcm9wUGF0aDogVFBhdGgsIHZhbHVlOiBHZXRGaWVsZFR5cGU8VEVudGl0eSwgVFBhdGg+KSB7XG4gICAgICAgIGNvbnN0IG5ld0VudGl0eSA9IHsgLi4udGhpcy5lbnRpdHkgfTtcblxuICAgICAgICBjb25zdCBzcGxpdCA9IHByb3BQYXRoLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGxhc3RJbmRleCA9IHNwbGl0Lmxlbmd0aCAtIDE7XG5cbiAgICAgICAgc3BsaXQucmVkdWNlKChwcmV2aW91c1ZhbHVlLCBwYXJ0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSBsYXN0SW5kZXgpIHtcbiAgICAgICAgICAgICAgICBwcmV2aW91c1ZhbHVlW3BhcnRdID0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHByZXZpb3VzVmFsdWVbcGFydF0gPSBBcnJheS5pc0FycmF5KHByZXZpb3VzVmFsdWVbcGFydF0pID8gcHJldmlvdXNWYWx1ZVtwYXJ0XS5zbGljZSgpIDogeyAuLi5wcmV2aW91c1ZhbHVlW3BhcnRdIH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlICYmIHByZXZpb3VzVmFsdWVbcGFydF07XG4gICAgICAgIH0sIG5ld0VudGl0eSk7XG5cbiAgICAgICAgdGhpcy5lbnRpdHkgPSBuZXdFbnRpdHlcbiAgICAgICAgcmV0dXJuIG5ld0VudGl0eTtcbiAgICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ import { coerceElement } from '@angular/cdk/coercion';
1
2
  import { ElementRef, TemplateRef } from '@angular/core';
2
3
  export function isUndefined(value) {
3
4
  return value === undefined;
@@ -94,4 +95,16 @@ export function isHTMLElement(value) {
94
95
  export function isElementRef(value) {
95
96
  return value instanceof ElementRef;
96
97
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ2xDLE9BQU8sS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFVO0lBQzdCLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQVU7SUFDeEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFVLEtBQVU7SUFDdkMsT0FBTyxLQUFLLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLGdCQUFnQixDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLEtBQVc7SUFDL0IsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQixPQUFPLElBQUksQ0FBQztLQUNmO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDeEI7SUFDRCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsSUFBSSxHQUFHLElBQUksY0FBYyxJQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUU7UUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7S0FDdEI7SUFDRCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtRQUNyQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUss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TUFBTSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7SUFDMUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNoQyxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssa0JBQWtCLENBQUMsQ0FBQztBQUNsSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBVSxLQUFVO0lBQzdDLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sS0FBSyxZQUFZLFdBQVcsQ0FBQztBQUN4QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUFVO0lBQ25DLE9BQU8sS0FBSyxZQUFZLFVBQVUsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5kZWZpbmVkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyB1bmRlZmluZWQge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudWxsIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZE9yTnVsbCh2YWx1ZTogYW55KTogdmFsdWUgaXMgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgcmV0dXJuIGlzVW5kZWZpbmVkKHZhbHVlKSB8fCBpc051bGwodmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJheTxUID0gYW55Pih2YWx1ZTogYW55KTogdmFsdWUgaXMgQXJyYXk8VD4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHkodmFsdWU/OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAoaXNVbmRlZmluZWRPck51bGwodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICF2YWx1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGNvbnN0IHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgIGlmICh0YWcgPT0gJ1tvYmplY3QgTWFwXScgfHwgdGFnID09ICdbb2JqZWN0IFNldF0nKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUuc2l6ZTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZT86IGFueSk6IHZhbHVlIGlzIHN0cmluZyB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyB8fCAoIWlzQXJyYXkodmFsdWUpICYmIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IFN0cmluZ10nKTtcbn1cblxuZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xufVxuXG5mdW5jdGlvbiBiYXNlR2V0VGFnKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG4gICAgY29uc3QgaGFzT3duUHJvcGVydHkgPSBvYmplY3RQcm90by5oYXNPd25Qcm9wZXJ0eTtcbiAgICBjb25zdCB0b1N0cmluZyA9IG9iamVjdFByb3RvLnRvU3RyaW5nO1xuICAgIGNvbnN0IHN5bVRvU3RyaW5nVGFnID0gdHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZCA/ICdbb2JqZWN0IFVuZGVmaW5lZF0nIDogJ1tvYmplY3QgTnVsbF0nO1xuICAgIH1cbiAgICBpZiAoIShzeW1Ub1N0cmluZ1RhZyAmJiBzeW1Ub1N0cmluZ1RhZyBpbiBPYmplY3QodmFsdWUpKSkge1xuICAgICAgICByZXR1cm4gdG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgfVxuICAgIGNvbnN0IGlzT3duID0gaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgc3ltVG9TdHJpbmdUYWcpO1xuICAgIGNvbnN0IHRhZyA9IHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcbiAgICBsZXQgdW5tYXNrZWQgPSBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB1bmRlZmluZWQ7XG4gICAgICAgIHVubWFza2VkID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7fVxuXG4gICAgY29uc3QgcmVzdWx0ID0gdG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG4gICAgaWYgKHVubWFza2VkKSB7XG4gICAgICAgIGlmIChpc093bikge1xuICAgICAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdGFnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlIHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXIodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bWJlciB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgfHwgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IE51bWJlcl0nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBvYmplY3Qge1xuICAgIC8vIEF2b2lkIGEgVjggSklUIGJ1ZyBpbiBDaHJvbWUgMTktMjAuXG4gICAgLy8gU2VlIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0yMjkxIGZvciBtb3JlIGRldGFpbHMuXG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiAodHlwZSA9PT0gJ29iamVjdCcgfHwgdHlwZSA9PT0gJ2Z1bmN0aW9uJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGdW5jdGlvbiB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBEYXRlIHtcbiAgICBjb25zdCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgIHJldHVybiAhIXZhbHVlICYmIHR5cGUgPT09ICdvYmplY3QnICYmICEhdmFsdWUuZ2V0VGltZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQm9vbGVhbih2YWx1ZTogYW55KTogdmFsdWUgaXMgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSBmYWxzZSB8fCAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PT0gJ1tvYmplY3QgQm9vbGVhbl0nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVSZWY8QyA9IGFueT4odmFsdWU6IGFueSk6IHZhbHVlIGlzIFRlbXBsYXRlUmVmPEM+IHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSFRNTEVsZW1lbnQodmFsdWU6IGFueSk6IHZhbHVlIGlzIEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudFJlZih2YWx1ZTogYW55KTogdmFsdWUgaXMgRWxlbWVudFJlZiB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudFJlZjtcbn1cbiJdfQ==
98
+ export function isFormElement(elementOrRef) {
99
+ const element = coerceElement(elementOrRef);
100
+ if (!(element instanceof HTMLElement)) {
101
+ return false;
102
+ }
103
+ const name = element.nodeName.toLowerCase();
104
+ const type = (element.getAttribute('type') || '').toLowerCase();
105
+ return (name === 'select' ||
106
+ name === 'textarea' ||
107
+ (name === 'input' && type !== 'submit' && type !== 'reset' && type !== 'checkbox' && type !== 'radio' && type !== 'file') ||
108
+ element.isContentEditable);
109
+ }
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jZGsvaXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBVTtJQUNsQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBVTtJQUM3QixPQUFPLEtBQUssS0FBSyxJQUFJLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFVO0lBQ3hDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBVSxLQUFVO0lBQ3ZDLE9BQU8sS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFXO0lBQy9CLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0tBQ3hCO0lBQ0QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksR0FBRyxJQUFJLGNBQWMsSUFBSSxHQUFHLElBQUksY0FBYyxFQUFFO1FBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0tBQ3RCO0lBQ0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7UUFD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QUFDLElBQUksS0FBSyxPQUFPLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDO1FBQ3pILE9BQU8sQ0FBQyxpQkFBaUIsQ0FDNUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VFbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZTogYW55KTogdmFsdWUgaXMgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbCh2YWx1ZTogYW55KTogdmFsdWUgaXMgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWRPck51bGwodmFsdWU6IGFueSk6IHZhbHVlIGlzIHVuZGVmaW5lZCB8IG51bGwge1xuICAgIHJldHVybiBpc1VuZGVmaW5lZCh2YWx1ZSkgfHwgaXNOdWxsKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXk8VCA9IGFueT4odmFsdWU6IGFueSk6IHZhbHVlIGlzIEFycmF5PFQ+IHtcbiAgICByZXR1cm4gdmFsdWUgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEFycmF5XSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5KHZhbHVlPzogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCB0YWcgPSBiYXNlR2V0VGFnKHZhbHVlKTtcbiAgICBpZiAodGFnID09ICdbb2JqZWN0IE1hcF0nIHx8IHRhZyA9PSAnW29iamVjdCBTZXRdJykge1xuICAgICAgICByZXR1cm4gIXZhbHVlLnNpemU7XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsdWU/OiBhbnkpOiB2YWx1ZSBpcyBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgKCFpc0FycmF5KHZhbHVlKSAmJiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09PSAnW29iamVjdCBTdHJpbmddJyk7XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgb2JqZWN0IHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jztcbn1cblxuZnVuY3Rpb24gYmFzZUdldFRhZyh2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgb2JqZWN0UHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuICAgIGNvbnN0IGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG4gICAgY29uc3QgdG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcbiAgICBjb25zdCBzeW1Ub1N0cmluZ1RhZyA9IHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnID8gU3ltYm9sLnRvU3RyaW5nVGFnIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgPyAnW29iamVjdCBVbmRlZmluZWRdJyA6ICdbb2JqZWN0IE51bGxdJztcbiAgICB9XG4gICAgaWYgKCEoc3ltVG9TdHJpbmdUYWcgJiYgc3ltVG9TdHJpbmdUYWcgaW4gT2JqZWN0KHZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKTtcbiAgICBjb25zdCB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgbGV0IHVubWFza2VkID0gZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFsdWVbc3ltVG9TdHJpbmdUYWddID0gdW5kZWZpbmVkO1xuICAgICAgICB1bm1hc2tlZCA9IHRydWU7XG4gICAgfSBjYXRjaCAoZSkge31cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgIGlmICh1bm1hc2tlZCkge1xuICAgICAgICBpZiAoaXNPd24pIHtcbiAgICAgICAgICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHRhZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudW1iZXIge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IChpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09PSAnW29iamVjdCBOdW1iZXJdJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh2YWx1ZTogYW55KTogdmFsdWUgaXMgb2JqZWN0IHtcbiAgICAvLyBBdm9pZCBhIFY4IEpJVCBidWcgaW4gQ2hyb21lIDE5LTIwLlxuICAgIC8vIFNlZSBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MjI5MSBmb3IgbW9yZSBkZXRhaWxzLlxuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT09ICdvYmplY3QnIHx8IHR5cGUgPT09ICdmdW5jdGlvbicpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgRnVuY3Rpb24ge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgcmV0dXJuICEhdmFsdWUgJiYgdHlwZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGF0ZSB7XG4gICAgY29uc3QgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlID09PSAnb2JqZWN0JyAmJiAhIXZhbHVlLmdldFRpbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWU6IGFueSk6IHZhbHVlIGlzIGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHwgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT09ICdbb2JqZWN0IEJvb2xlYW5dJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RlbXBsYXRlUmVmPEMgPSBhbnk+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUZW1wbGF0ZVJlZjxDPiB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hUTUxFbGVtZW50KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VsZW1lbnRSZWYodmFsdWU6IGFueSk6IHZhbHVlIGlzIEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnRSZWY7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zvcm1FbGVtZW50PFQgPSBFbGVtZW50PihlbGVtZW50T3JSZWY6IEVsZW1lbnRSZWY8VD4gfCBUKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGNvZXJjZUVsZW1lbnQoZWxlbWVudE9yUmVmKTtcbiAgICBpZiAoIShlbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBjb25zdCB0eXBlID0gKGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgbmFtZSA9PT0gJ3NlbGVjdCcgfHxcbiAgICAgICAgbmFtZSA9PT0gJ3RleHRhcmVhJyB8fFxuICAgICAgICAobmFtZSA9PT0gJ2lucHV0JyAmJiB0eXBlICE9PSAnc3VibWl0JyAmJiB0eXBlICE9PSAncmVzZXQnICYmIHR5cGUgIT09ICdjaGVja2JveCcgJiYgdHlwZSAhPT0gJ3JhZGlvJyAmJiB0eXBlICE9PSAnZmlsZScpIHx8XG4gICAgICAgIGVsZW1lbnQuaXNDb250ZW50RWRpdGFibGVcbiAgICApO1xufVxuIl19
@@ -4,4 +4,6 @@
4
4
  export * from '@tethys/cdk/is';
5
5
  export * from '@tethys/cdk/logger';
6
6
  export * from '@tethys/cdk/immutable';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Nkay9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNka1xuICovXG5cbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2lzJztcbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2xvZ2dlcic7XG5leHBvcnQgKiBmcm9tICdAdGV0aHlzL2Nkay9pbW11dGFibGUnO1xuIl19
7
+ export * from '@tethys/cdk/event';
8
+ export * from '@tethys/cdk/hotkey';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Nkay9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjZGtcbiAqL1xuXG5leHBvcnQgKiBmcm9tICdAdGV0aHlzL2Nkay9pcyc7XG5leHBvcnQgKiBmcm9tICdAdGV0aHlzL2Nkay9sb2dnZXInO1xuZXhwb3J0ICogZnJvbSAnQHRldGh5cy9jZGsvaW1tdXRhYmxlJztcbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2V2ZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0ZXRoeXMvY2RrL2hvdGtleSc7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { NgZone } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ThyEventDispatcher } from './event-dispatcher';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ThyClickDispatcher extends ThyEventDispatcher {
6
+ constructor(document: any, ngZone: NgZone);
7
+ clicked(auditTimeInMs?: number): Observable<Event>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThyClickDispatcher, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<ThyClickDispatcher>;
10
+ }
@@ -0,0 +1,19 @@
1
+ import { Observable, Subscription } from 'rxjs';
2
+ import { NgZone, OnDestroy } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare abstract class ThyEventDispatcher<T = Event> implements OnDestroy {
5
+ protected document: Document;
6
+ private ngZone;
7
+ private eventName;
8
+ private _globalSubscription;
9
+ private _event$;
10
+ private _subscriptionCount;
11
+ private _addGlobalListener;
12
+ private _removeGlobalListener;
13
+ get globalSubscription(): Subscription;
14
+ constructor(document: Document, ngZone: NgZone, eventName: string);
15
+ protected subscribe(auditTimeInMs?: number): Observable<T>;
16
+ ngOnDestroy(): void;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThyEventDispatcher<any>, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ThyEventDispatcher<any>, never, never, {}, {}, never, never, false>;
19
+ }
@@ -0,0 +1,3 @@
1
+ export * from './event-dispatcher';
2
+ export * from './click-dispatcher';
3
+ export * from './keyboard-dispatcher';
@@ -0,0 +1,10 @@
1
+ import { NgZone } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ThyEventDispatcher } from './event-dispatcher';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ThyKeyboardDispatcher extends ThyEventDispatcher {
6
+ constructor(document: any, ngZone: NgZone);
7
+ keydown(auditTimeInMs?: number): Observable<Event>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<ThyKeyboardDispatcher, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<ThyKeyboardDispatcher>;
10
+ }