@ngrdt/core 0.0.2 → 0.0.4

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 (44) hide show
  1. package/esm2022/index.mjs +4 -0
  2. package/esm2022/lib/rdt-autofocus/index.mjs +4 -0
  3. package/esm2022/lib/rdt-autofocus/models.mjs +3 -0
  4. package/esm2022/lib/rdt-autofocus/rdt-autofocusable.directive.mjs +27 -0
  5. package/esm2022/lib/rdt-autofocus/utils.mjs +9 -0
  6. package/esm2022/lib/rdt-component-guard/directives/rdt-child.directive.mjs +88 -0
  7. package/esm2022/lib/rdt-component-guard/directives/rdt-container.directive.mjs +95 -0
  8. package/esm2022/lib/rdt-component-guard/index.mjs +5 -0
  9. package/esm2022/lib/rdt-component-guard/models.mjs +25 -0
  10. package/esm2022/lib/rdt-component-guard/services/rdt-component-guard-store.service.mjs +36 -0
  11. package/esm2022/lib/utils/index.mjs +2 -0
  12. package/esm2022/lib/utils/rdt-boolean-result.mjs +25 -0
  13. package/esm2022/ngrdt-core.mjs +5 -0
  14. package/fesm2022/ngrdt-core.mjs +299 -0
  15. package/fesm2022/ngrdt-core.mjs.map +1 -0
  16. package/lib/rdt-autofocus/models.d.ts +8 -0
  17. package/lib/rdt-autofocus/rdt-autofocusable.directive.d.ts +8 -0
  18. package/lib/rdt-autofocus/utils.d.ts +3 -0
  19. package/lib/rdt-component-guard/directives/rdt-child.directive.d.ts +22 -0
  20. package/lib/rdt-component-guard/directives/rdt-container.directive.d.ts +18 -0
  21. package/{src/lib/rdt-component-guard/index.ts → lib/rdt-component-guard/index.d.ts} +1 -0
  22. package/lib/rdt-component-guard/models.d.ts +22 -0
  23. package/lib/rdt-component-guard/services/rdt-component-guard-store.service.d.ts +11 -0
  24. package/lib/utils/rdt-boolean-result.d.ts +4 -0
  25. package/package.json +20 -4
  26. package/eslint.config.js +0 -44
  27. package/jest.config.ts +0 -21
  28. package/ng-package.json +0 -7
  29. package/project.json +0 -36
  30. package/src/lib/rdt-autofocus/models.ts +0 -12
  31. package/src/lib/rdt-autofocus/rdt-autofocusable.directive.ts +0 -22
  32. package/src/lib/rdt-autofocus/utils.ts +0 -13
  33. package/src/lib/rdt-component-guard/directives/rdt-child.directive.ts +0 -103
  34. package/src/lib/rdt-component-guard/directives/rdt-container.directive.ts +0 -90
  35. package/src/lib/rdt-component-guard/models.ts +0 -47
  36. package/src/lib/utils/rdt-boolean-result.ts +0 -38
  37. package/src/test-setup.ts +0 -8
  38. package/tsconfig.json +0 -28
  39. package/tsconfig.lib.json +0 -17
  40. package/tsconfig.lib.prod.json +0 -9
  41. package/tsconfig.spec.json +0 -16
  42. /package/{src/index.ts → index.d.ts} +0 -0
  43. /package/{src/lib/rdt-autofocus/index.ts → lib/rdt-autofocus/index.d.ts} +0 -0
  44. /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
@@ -0,0 +1,4 @@
1
+ export * from './lib/rdt-autofocus';
2
+ export * from './lib/rdt-component-guard';
3
+ export * from './lib/utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcmR0LWF1dG9mb2N1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './models';
2
+ export * from './rdt-autofocusable.directive';
3
+ export * from './utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1hdXRvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken('');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtYXV0b2ZvY3VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCxFQUFFLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdEF1dG9jdXNhYmxlIHtcbiAgcmR0Rm9jdXMoKTogdm9pZDtcbiAgcmR0Q2FuRm9jdXMoKTogUmR0Qm9vbGVhblJlc3VsdDtcbiAgcmR0R2V0QXV0b2ZvY3VzUHJpb3JpdHk/KCk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRBdXRvY3VzYWJsZT4oXG4gICcnXG4pO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { Directive, inject } from '@angular/core';
2
+ import { RDT_AUTOFOCUSABLE_COMPONENT } from './models';
3
+ import * as i0 from "@angular/core";
4
+ export class RdtAutofocusableDirective {
5
+ component = inject(RDT_AUTOFOCUSABLE_COMPONENT, {
6
+ host: true,
7
+ optional: true,
8
+ self: true,
9
+ });
10
+ ngOnInit() {
11
+ if (!this.component) {
12
+ throw new Error(`
13
+ RdtAutofocusableDirective usage:
14
+ Apply directive directly on component and provide the same component as RDT_AUTOFOCUSABLE_COMPONENT.
15
+ The component must then implement RdtAutocusable.`);
16
+ }
17
+ }
18
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtAutofocusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtAutofocusableDirective, selector: "[rdtAutofocusable]", ngImport: i0 });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtAutofocusableDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[rdtAutofocusable]',
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtYXV0b2ZvY3VzL3JkdC1hdXRvZm9jdXNhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBS3ZELE1BQU0sT0FBTyx5QkFBeUI7SUFDM0IsU0FBUyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtRQUN2RCxJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxJQUFJO1FBQ2QsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDOzs7MERBR29DLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQzt1R0FkVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCB9IGZyb20gJy4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JkdEF1dG9mb2N1c2FibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgUmR0QXV0b2ZvY3VzYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudCA9IGluamVjdChSRFRfQVVUT0ZPQ1VTQUJMRV9DT01QT05FTlQsIHtcbiAgICBob3N0OiB0cnVlLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5jb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG4gICAgICAgIFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmUgdXNhZ2U6XG4gICAgICAgIEFwcGx5IGRpcmVjdGl2ZSBkaXJlY3RseSBvbiBjb21wb25lbnQgYW5kIHByb3ZpZGUgdGhlIHNhbWUgY29tcG9uZW50IGFzIFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVC5cbiAgICAgICAgVGhlIGNvbXBvbmVudCBtdXN0IHRoZW4gaW1wbGVtZW50IFJkdEF1dG9jdXNhYmxlLmApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,9 @@
1
+ export function getRdtAutofocusable(src) {
2
+ const withPrios = Array.from(src).map((dir) => ({
3
+ cmp: dir.component,
4
+ prio: dir.component?.rdtGetAutofocusPriority?.() ?? 0,
5
+ }));
6
+ withPrios.sort((a, b) => b.prio - a.prio);
7
+ return withPrios[0]?.cmp;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1hdXRvZm9jdXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxHQUF3QztJQUV4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxHQUFHLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDbEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLENBQUM7S0FDdEQsQ0FBQyxDQUFDLENBQUM7SUFDSixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRBdXRvY3VzYWJsZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL3JkdC1hdXRvZm9jdXNhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZHRBdXRvZm9jdXNhYmxlKFxuICBzcmM6IEl0ZXJhYmxlPFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmU+XG4pOiBSZHRBdXRvY3VzYWJsZSB8IG51bGwge1xuICBjb25zdCB3aXRoUHJpb3MgPSBBcnJheS5mcm9tKHNyYykubWFwKChkaXIpID0+ICh7XG4gICAgY21wOiBkaXIuY29tcG9uZW50LFxuICAgIHByaW86IGRpci5jb21wb25lbnQ/LnJkdEdldEF1dG9mb2N1c1ByaW9yaXR5Py4oKSA/PyAwLFxuICB9KSk7XG4gIHdpdGhQcmlvcy5zb3J0KChhLCBiKSA9PiBiLnByaW8gLSBhLnByaW8pO1xuICByZXR1cm4gd2l0aFByaW9zWzBdPy5jbXA7XG59XG4iXX0=
@@ -0,0 +1,88 @@
1
+ import { DestroyRef, Directive, inject, } from '@angular/core';
2
+ import { RDT_CONTAINER, RDT_GUARDED_COMPONENT, } from '../models';
3
+ import { RdtComponentGuardStoreService } from '../services/rdt-component-guard-store.service';
4
+ import * as i0 from "@angular/core";
5
+ export class RdtChildDirective {
6
+ guardStore = inject(RdtComponentGuardStoreService);
7
+ destroyRef = inject(DestroyRef);
8
+ container = inject(RDT_CONTAINER, {
9
+ optional: true,
10
+ skipSelf: true,
11
+ });
12
+ guardedComponent = inject(RDT_GUARDED_COMPONENT, {
13
+ optional: true,
14
+ self: true,
15
+ host: true,
16
+ });
17
+ ngOnInit() {
18
+ if (!this.guardedComponent) {
19
+ throw new Error(`
20
+ RdtChildDirective usage:
21
+ Apply directive directly on component and provide the same component as RDT_GUARDED_COMPONENT.
22
+ The component can then implement RdtCanLeaveView or RdtCanEnterView.
23
+ This applies to both Child and Container directives.
24
+ `);
25
+ }
26
+ if (!this.container) {
27
+ this.guardStore.registerGuard(this);
28
+ }
29
+ else {
30
+ this.container?.registerChild(this);
31
+ }
32
+ }
33
+ ngOnDestroy() {
34
+ this.guardStore.removeGuard(this);
35
+ this.container?.removeChild(this);
36
+ }
37
+ isActive() {
38
+ const comp = this.guardedComponent;
39
+ return comp?.rdtIsActive?.() ?? true;
40
+ }
41
+ canEnterView() {
42
+ const comp = this.guardedComponent;
43
+ if (typeof comp?.rdtCanEnterView === 'function') {
44
+ return comp.rdtCanEnterView();
45
+ }
46
+ else {
47
+ return true;
48
+ }
49
+ }
50
+ canLeaveView() {
51
+ const comp = this.guardedComponent;
52
+ if (typeof comp?.rdtCanLeaveView === 'function') {
53
+ return comp.rdtCanLeaveView();
54
+ }
55
+ else {
56
+ return true;
57
+ }
58
+ }
59
+ onViewWillEnter() {
60
+ const comp = this.guardedComponent;
61
+ comp?.rdtOnViewWillEnter();
62
+ }
63
+ onViewWillLeave() {
64
+ const comp = this.guardedComponent;
65
+ comp?.rdtOnViewWillLeave();
66
+ }
67
+ getParentByClass(parentClass) {
68
+ if (!this.container) {
69
+ return null;
70
+ }
71
+ else if (this.container instanceof parentClass) {
72
+ return this.container;
73
+ }
74
+ else {
75
+ return this.container.getParentByClass(parentClass);
76
+ }
77
+ }
78
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
79
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtChildDirective, isStandalone: true, selector: "[rdtChild]", ngImport: i0 });
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtChildDirective, decorators: [{
82
+ type: Directive,
83
+ args: [{
84
+ selector: '[rdtChild]',
85
+ standalone: true,
86
+ }]
87
+ }] });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNoaWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9saWIvcmR0LWNvbXBvbmVudC1ndWFyZC9kaXJlY3RpdmVzL3JkdC1jaGlsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEdBTXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQU85RixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLFVBQVUsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNuRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3pDLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7SUFDTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUU7UUFDeEQsUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDOzs7OztTQUtiLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQTJDLENBQUM7UUFDOUQsT0FBTyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQStDLENBQUM7UUFDbEUsSUFBSSxPQUFPLElBQUksRUFBRSxlQUFlLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBK0MsQ0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxFQUFFLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFrRCxDQUFDO1FBQ3JFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFrRCxDQUFDO1FBQ3JFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxXQUFvQjtRQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7dUdBN0VVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0Qm9vbGVhblJlc3VsdCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIFJEVF9DT05UQUlORVIsXG4gIFJEVF9HVUFSREVEX0NPTVBPTkVOVCxcbiAgUmR0Q2FuRW50ZXJWaWV3LFxuICBSZHRDYW5MZWF2ZVZpZXcsXG4gIFJkdElzQWN0aXZlLFxuICBSZHRPblZpZXdXaWxsRW50ZXIsXG4gIFJkdE9uVmlld1dpbGxMZWF2ZSxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFJkdENvbXBvbmVudEd1YXJkU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJkdENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vcmR0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0Q2hpbGRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0Q2hpbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGd1YXJkU3RvcmUgPSBpbmplY3QoUmR0Q29tcG9uZW50R3VhcmRTdG9yZVNlcnZpY2UpO1xuICByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSBjb250YWluZXIgPSBpbmplY3QoUkRUX0NPTlRBSU5FUiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNraXBTZWxmOiB0cnVlLFxuICB9KTtcbiAgcmVhZG9ubHkgZ3VhcmRlZENvbXBvbmVudCA9IGluamVjdChSRFRfR1VBUkRFRF9DT01QT05FTlQsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBzZWxmOiB0cnVlLFxuICAgIGhvc3Q6IHRydWUsXG4gIH0pO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5ndWFyZGVkQ29tcG9uZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgICBSZHRDaGlsZERpcmVjdGl2ZSB1c2FnZTpcbiAgICAgICAgQXBwbHkgZGlyZWN0aXZlIGRpcmVjdGx5IG9uIGNvbXBvbmVudCBhbmQgcHJvdmlkZSB0aGUgc2FtZSBjb21wb25lbnQgYXMgUkRUX0dVQVJERURfQ09NUE9ORU5ULlxuICAgICAgICBUaGUgY29tcG9uZW50IGNhbiB0aGVuIGltcGxlbWVudCBSZHRDYW5MZWF2ZVZpZXcgb3IgUmR0Q2FuRW50ZXJWaWV3LlxuICAgICAgICBUaGlzIGFwcGxpZXMgdG8gYm90aCBDaGlsZCBhbmQgQ29udGFpbmVyIGRpcmVjdGl2ZXMuXG4gICAgICAgIGApO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29udGFpbmVyKSB7XG4gICAgICB0aGlzLmd1YXJkU3RvcmUucmVnaXN0ZXJHdWFyZCh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250YWluZXI/LnJlZ2lzdGVyQ2hpbGQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5ndWFyZFN0b3JlLnJlbW92ZUd1YXJkKHRoaXMpO1xuICAgIHRoaXMuY29udGFpbmVyPy5yZW1vdmVDaGlsZCh0aGlzKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCkge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0SXNBY3RpdmUgfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGNvbXA/LnJkdElzQWN0aXZlPy4oKSA/PyB0cnVlO1xuICB9XG5cbiAgY2FuRW50ZXJWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0Q2FuRW50ZXJWaWV3IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgY29tcD8ucmR0Q2FuRW50ZXJWaWV3ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gY29tcC5yZHRDYW5FbnRlclZpZXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2FuTGVhdmVWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0Q2FuTGVhdmVWaWV3IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgY29tcD8ucmR0Q2FuTGVhdmVWaWV3ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gY29tcC5yZHRDYW5MZWF2ZVZpZXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25WaWV3V2lsbEVudGVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0T25WaWV3V2lsbEVudGVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXA/LnJkdE9uVmlld1dpbGxFbnRlcigpO1xuICB9XG5cbiAgb25WaWV3V2lsbExlYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0T25WaWV3V2lsbExlYXZlIHwgdW5kZWZpbmVkO1xuICAgIGNvbXA/LnJkdE9uVmlld1dpbGxMZWF2ZSgpO1xuICB9XG5cbiAgZ2V0UGFyZW50QnlDbGFzczxUIGV4dGVuZHMgUmR0Q29udGFpbmVyRGlyZWN0aXZlPihcbiAgICBwYXJlbnRDbGFzczogVHlwZTxUPlxuICApOiBUIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5lciBpbnN0YW5jZW9mIHBhcmVudENsYXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5nZXRQYXJlbnRCeUNsYXNzKHBhcmVudENsYXNzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,95 @@
1
+ import { Directive } from '@angular/core';
2
+ import { rdtGetAllResultsTrue$ } from '../../utils';
3
+ import { RDT_CONTAINER } from '../models';
4
+ import { RdtChildDirective } from './rdt-child.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class RdtContainerDirective extends RdtChildDirective {
7
+ rdtChildren = new Set();
8
+ registerChild(child) {
9
+ this.rdtChildren.add(child);
10
+ }
11
+ removeChild(child) {
12
+ this.rdtChildren.delete(child);
13
+ }
14
+ checkCanLeave$() {
15
+ return rdtGetAllResultsTrue$([this, ...this.getActiveChildren()].map((ch) => () => ch.canLeaveView()));
16
+ }
17
+ /* TODO
18
+ checkCanEnter$() {
19
+ return getCan$(
20
+ [this, ...this.getActiveChildren()].map((ch) => () => ch.canEnterView())
21
+ );
22
+ }
23
+ */
24
+ onViewWillEnter() {
25
+ super.onViewWillEnter();
26
+ this.rdtChildren.forEach((ch) => ch.onViewWillEnter());
27
+ }
28
+ onViewWillLeave() {
29
+ super.onViewWillLeave();
30
+ this.rdtChildren.forEach((ch) => ch.onViewWillLeave());
31
+ }
32
+ getChildrenRecursive(filter) {
33
+ const res = [];
34
+ this._getChildrenRecursive(res, filter);
35
+ return res;
36
+ }
37
+ getActiveChildren() {
38
+ return this.getChildrenRecursive((ch) => ch.isActive());
39
+ }
40
+ getChildrenByClass(childClass) {
41
+ const res = [];
42
+ this._getChildrenByClassRecursive(childClass, res);
43
+ return res;
44
+ }
45
+ _getChildrenRecursive(res, filter) {
46
+ const children = Array.from(this.rdtChildren);
47
+ const filteredChildren = filter ? children.filter(filter) : children;
48
+ res.push(...filteredChildren);
49
+ filteredChildren.forEach((child) => {
50
+ if (child instanceof RdtContainerDirective) {
51
+ child._getChildrenRecursive(res, filter);
52
+ }
53
+ });
54
+ }
55
+ _getChildrenByClassRecursive(childClass, res) {
56
+ this.rdtChildren.forEach((child) => {
57
+ const comp = child.guardedComponent;
58
+ if (comp instanceof childClass) {
59
+ res.push(comp);
60
+ }
61
+ else if (child instanceof RdtContainerDirective) {
62
+ child._getChildrenByClassRecursive(childClass, res);
63
+ }
64
+ });
65
+ }
66
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
67
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtContainerDirective, isStandalone: true, selector: "[rdtContainer]", providers: [
68
+ {
69
+ provide: RdtChildDirective,
70
+ useExisting: RdtContainerDirective,
71
+ },
72
+ {
73
+ provide: RDT_CONTAINER,
74
+ useExisting: RdtContainerDirective,
75
+ },
76
+ ], usesInheritance: true, ngImport: i0 });
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtContainerDirective, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[rdtContainer]',
82
+ standalone: true,
83
+ providers: [
84
+ {
85
+ provide: RdtChildDirective,
86
+ useExisting: RdtContainerDirective,
87
+ },
88
+ {
89
+ provide: RDT_CONTAINER,
90
+ useExisting: RdtContainerDirective,
91
+ },
92
+ ],
93
+ }]
94
+ }] });
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1jb21wb25lbnQtZ3VhcmQvZGlyZWN0aXZlcy9yZHQtY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWdCMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUNqRCxXQUFXLEdBQTJCLElBQUksR0FBRyxFQUFxQixDQUFDO0lBRTVFLGFBQWEsQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxxQkFBcUIsQ0FDMUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztNQU1FO0lBRU8sZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUs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JztcbmltcG9ydCB7IHJkdEdldEFsbFJlc3VsdHNUcnVlJCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFJEVF9DT05UQUlORVIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmR0Q2hpbGREaXJlY3RpdmUgfSBmcm9tICcuL3JkdC1jaGlsZC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0Q29udGFpbmVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJkdENoaWxkRGlyZWN0aXZlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFJkdENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJEVF9DT05UQUlORVIsXG4gICAgICB1c2VFeGlzdGluZzogUmR0Q29udGFpbmVyRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdENvbnRhaW5lckRpcmVjdGl2ZSBleHRlbmRzIFJkdENoaWxkRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgcmR0Q2hpbGRyZW46IFNldDxSZHRDaGlsZERpcmVjdGl2ZT4gPSBuZXcgU2V0PFJkdENoaWxkRGlyZWN0aXZlPigpO1xuXG4gIHJlZ2lzdGVyQ2hpbGQoY2hpbGQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5hZGQoY2hpbGQpO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQoY2hpbGQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5kZWxldGUoY2hpbGQpO1xuICB9XG5cbiAgY2hlY2tDYW5MZWF2ZSQoKSB7XG4gICAgcmV0dXJuIHJkdEdldEFsbFJlc3VsdHNUcnVlJChcbiAgICAgIFt0aGlzLCAuLi50aGlzLmdldEFjdGl2ZUNoaWxkcmVuKCldLm1hcCgoY2gpID0+ICgpID0+IGNoLmNhbkxlYXZlVmlldygpKVxuICAgICk7XG4gIH1cblxuICAvKiBUT0RPXG4gIGNoZWNrQ2FuRW50ZXIkKCkge1xuICAgIHJldHVybiBnZXRDYW4kKFxuICAgICAgW3RoaXMsIC4uLnRoaXMuZ2V0QWN0aXZlQ2hpbGRyZW4oKV0ubWFwKChjaCkgPT4gKCkgPT4gY2guY2FuRW50ZXJWaWV3KCkpXG4gICAgKTtcbiAgfVxuICAqL1xuXG4gIG92ZXJyaWRlIG9uVmlld1dpbGxFbnRlcigpIHtcbiAgICBzdXBlci5vblZpZXdXaWxsRW50ZXIoKTtcbiAgICB0aGlzLnJkdENoaWxkcmVuLmZvckVhY2goKGNoKSA9PiBjaC5vblZpZXdXaWxsRW50ZXIoKSk7XG4gIH1cblxuICBvdmVycmlkZSBvblZpZXdXaWxsTGVhdmUoKSB7XG4gICAgc3VwZXIub25WaWV3V2lsbExlYXZlKCk7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5mb3JFYWNoKChjaCkgPT4gY2gub25WaWV3V2lsbExlYXZlKCkpO1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW5SZWN1cnNpdmUoZmlsdGVyPzogKGNoOiBSZHRDaGlsZERpcmVjdGl2ZSkgPT4gYm9vbGVhbikge1xuICAgIGNvbnN0IHJlczogUmR0Q2hpbGREaXJlY3RpdmVbXSA9IFtdO1xuICAgIHRoaXMuX2dldENoaWxkcmVuUmVjdXJzaXZlKHJlcywgZmlsdGVyKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEFjdGl2ZUNoaWxkcmVuKCkge1xuICAgIHJldHVybiB0aGlzLmdldENoaWxkcmVuUmVjdXJzaXZlKChjaCkgPT4gY2guaXNBY3RpdmUoKSk7XG4gIH1cblxuICBnZXRDaGlsZHJlbkJ5Q2xhc3M8VD4oY2hpbGRDbGFzczogVHlwZTxUPikge1xuICAgIGNvbnN0IHJlczogVFtdID0gW107XG4gICAgdGhpcy5fZ2V0Q2hpbGRyZW5CeUNsYXNzUmVjdXJzaXZlKGNoaWxkQ2xhc3MsIHJlcyk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuUmVjdXJzaXZlKFxuICAgIHJlczogUmR0Q2hpbGREaXJlY3RpdmVbXSxcbiAgICBmaWx0ZXI/OiAoY2g6IFJkdENoaWxkRGlyZWN0aXZlKSA9PiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLnJkdENoaWxkcmVuKTtcbiAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gZmlsdGVyID8gY2hpbGRyZW4uZmlsdGVyKGZpbHRlcikgOiBjaGlsZHJlbjtcbiAgICByZXMucHVzaCguLi5maWx0ZXJlZENoaWxkcmVuKTtcbiAgICBmaWx0ZXJlZENoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBSZHRDb250YWluZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgY2hpbGQuX2dldENoaWxkcmVuUmVjdXJzaXZlKHJlcywgZmlsdGVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuQnlDbGFzc1JlY3Vyc2l2ZTxUPihjaGlsZENsYXNzOiBUeXBlPFQ+LCByZXM6IFRbXSkge1xuICAgIHRoaXMucmR0Q2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbXAgPSAoY2hpbGQgYXMgUmR0Q2hpbGREaXJlY3RpdmUpLmd1YXJkZWRDb21wb25lbnQ7XG4gICAgICBpZiAoY29tcCBpbnN0YW5jZW9mIGNoaWxkQ2xhc3MpIHtcbiAgICAgICAgcmVzLnB1c2goY29tcCk7XG4gICAgICB9IGVsc2UgaWYgKGNoaWxkIGluc3RhbmNlb2YgUmR0Q29udGFpbmVyRGlyZWN0aXZlKSB7XG4gICAgICAgIGNoaWxkLl9nZXRDaGlsZHJlbkJ5Q2xhc3NSZWN1cnNpdmUoY2hpbGRDbGFzcywgcmVzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './directives/rdt-child.directive';
2
+ export * from './directives/rdt-container.directive';
3
+ export * from './models';
4
+ export * from './services/rdt-component-guard-store.service';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1jb21wb25lbnQtZ3VhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LWNoaWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9yZHQtY29tcG9uZW50LWd1YXJkLXN0b3JlLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,25 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ export const RDT_GUARDED_COMPONENT = new InjectionToken('');
4
+ export const RDT_CONTAINER = new InjectionToken('');
5
+ export function canTransition$(from, to) {
6
+ console.log('canTransition$', from, to);
7
+ if (to === from) {
8
+ return of(true);
9
+ }
10
+ const canLeave$ = from ? from.checkCanLeave$() : of(true);
11
+ return canLeave$;
12
+ /*
13
+ const canEnter$ = to ? to.checkCanEnter$() : of(true);
14
+
15
+ return canLeave$.pipe(
16
+ switchMap((res) => {
17
+ if (res) {
18
+ return canEnter$;
19
+ } else {
20
+ return of(res);
21
+ }
22
+ })
23
+ );*/
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF3QjFCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQU1yRCxFQUFFLENBQUMsQ0FBQztBQUVOLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsRUFBRSxDQUFDLENBQUM7QUFFM0UsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBcUMsRUFDckMsRUFBbUM7SUFFbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsT0FBTyxTQUFTLENBQUM7SUFDakI7Ozs7Ozs7Ozs7O1FBV0k7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0Q29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JkdC1jb250YWluZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRJc0FjdGl2ZSB7XG4gIHJkdElzQWN0aXZlKCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0Q2FuTGVhdmVWaWV3IHtcbiAgcmR0Q2FuTGVhdmVWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0Q2FuRW50ZXJWaWV3IHtcbiAgcmR0Q2FuRW50ZXJWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0T25WaWV3V2lsbExlYXZlIHtcbiAgcmR0T25WaWV3V2lsbExlYXZlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0T25WaWV3V2lsbEVudGVyIHtcbiAgcmR0T25WaWV3V2lsbEVudGVyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBSRFRfR1VBUkRFRF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIHwgUmR0Q2FuTGVhdmVWaWV3XG4gIHwgUmR0Q2FuRW50ZXJWaWV3XG4gIHwgUmR0T25WaWV3V2lsbEVudGVyXG4gIHwgUmR0T25WaWV3V2lsbExlYXZlXG4gIHwgUmR0SXNBY3RpdmVcbj4oJycpO1xuXG5leHBvcnQgY29uc3QgUkRUX0NPTlRBSU5FUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRDb250YWluZXJEaXJlY3RpdmU+KCcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyYW5zaXRpb24kKFxuICBmcm9tOiBOdWxsYWJsZTxSZHRDb250YWluZXJEaXJlY3RpdmU+LFxuICB0bzogTnVsbGFibGU8UmR0Q29udGFpbmVyRGlyZWN0aXZlPlxuKSB7XG4gIGNvbnNvbGUubG9nKCdjYW5UcmFuc2l0aW9uJCcsIGZyb20sIHRvKTtcbiAgaWYgKHRvID09PSBmcm9tKSB7XG4gICAgcmV0dXJuIG9mKHRydWUpO1xuICB9XG4gIGNvbnN0IGNhbkxlYXZlJCA9IGZyb20gPyBmcm9tLmNoZWNrQ2FuTGVhdmUkKCkgOiBvZih0cnVlKTtcbiAgcmV0dXJuIGNhbkxlYXZlJDtcbiAgLypcbiAgY29uc3QgY2FuRW50ZXIkID0gdG8gPyB0by5jaGVja0NhbkVudGVyJCgpIDogb2YodHJ1ZSk7XG5cbiAgcmV0dXJuIGNhbkxlYXZlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHJldHVybiBjYW5FbnRlciQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YocmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICApOyovXG59XG4iXX0=
@@ -0,0 +1,36 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { rdtGetAllResultsTrue$ } from '../../utils';
3
+ import * as i0 from "@angular/core";
4
+ export class RdtComponentGuardStoreService {
5
+ guards = new Set();
6
+ registerGuard(guard) {
7
+ this.guards.add(guard);
8
+ }
9
+ removeGuard(guard) {
10
+ this.guards.delete(guard);
11
+ }
12
+ getGuards() {
13
+ return Array.from(this.guards);
14
+ }
15
+ checkCanLeaveGlobal$() {
16
+ return rdtGetAllResultsTrue$(this.getGuards().map((ch) => () => {
17
+ // @ts-ignore
18
+ if (typeof ch.checkCanLeave$ === 'function') {
19
+ // @ts-ignore
20
+ return ch.checkCanLeave$();
21
+ }
22
+ else {
23
+ return ch.canLeaveView();
24
+ }
25
+ }));
26
+ }
27
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, providedIn: 'root' });
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, decorators: [{
31
+ type: Injectable,
32
+ args: [{
33
+ providedIn: 'root',
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkL3NlcnZpY2VzL3JkdC1jb21wb25lbnQtZ3VhcmQtc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLDZCQUE2QjtJQUN2QixNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7SUFFdkQsYUFBYSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxxQkFBcUIsQ0FDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQ2hDLGFBQWE7WUFDYixJQUFJLE9BQU8sRUFBRSxDQUFDLGNBQWMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsYUFBYTtnQkFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQTNCVSw2QkFBNkI7MkdBQTdCLDZCQUE2QixjQUY1QixNQUFNOzsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmR0R2V0QWxsUmVzdWx0c1RydWUkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0Q2hpbGREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JkdC1jaGlsZC5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmR0Q29tcG9uZW50R3VhcmRTdG9yZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGd1YXJkcyA9IG5ldyBTZXQ8UmR0Q2hpbGREaXJlY3RpdmU+KCk7XG5cbiAgcmVnaXN0ZXJHdWFyZChndWFyZDogUmR0Q2hpbGREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmd1YXJkcy5hZGQoZ3VhcmQpO1xuICB9XG5cbiAgcmVtb3ZlR3VhcmQoZ3VhcmQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5ndWFyZHMuZGVsZXRlKGd1YXJkKTtcbiAgfVxuXG4gIGdldEd1YXJkcygpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmd1YXJkcyk7XG4gIH1cblxuICBjaGVja0NhbkxlYXZlR2xvYmFsJCgpIHtcbiAgICByZXR1cm4gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICAgICAgdGhpcy5nZXRHdWFyZHMoKS5tYXAoKGNoKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHR5cGVvZiBjaC5jaGVja0NhbkxlYXZlJCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gY2guY2hlY2tDYW5MZWF2ZSQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY2guY2FuTGVhdmVWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './rdt-boolean-result';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JkdC1ib29sZWFuLXJlc3VsdCc7XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { catchError, concat, defer, filter, map, of } from 'rxjs';
2
+ import { fromPromise } from 'rxjs/internal/observable/innerFrom';
3
+ export function rdtGetAllResultsTrue$(inputFactories) {
4
+ const can$ = inputFactories.map((fn) => rdtGetResult$(fn));
5
+ const last = Symbol('last');
6
+ return concat(...can$, of(last)).pipe(filter((res) => res === last), map(() => true), catchError(() => of(false)));
7
+ }
8
+ export function rdtGetResult$(inputFactory) {
9
+ return defer(() => {
10
+ const input = inputFactory();
11
+ if (typeof input === 'boolean') {
12
+ return of(input);
13
+ }
14
+ if (input instanceof Promise) {
15
+ return fromPromise(input);
16
+ }
17
+ return input;
18
+ }).pipe(map((res) => {
19
+ if (res) {
20
+ return res;
21
+ }
22
+ throw res;
23
+ }));
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJvb2xlYW4tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi91dGlscy9yZHQtYm9vbGVhbi1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUlqRSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLGNBQTBDO0lBRTFDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1QixPQUFPLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsWUFBb0M7SUFDaEUsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTdCLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksS0FBSyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNWLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLEdBQUcsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0LCBkZWZlciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tUHJvbWlzZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG5leHBvcnQgdHlwZSBSZHRCb29sZWFuUmVzdWx0ID0gT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICBpbnB1dEZhY3RvcmllczogKCgpID0+IFJkdEJvb2xlYW5SZXN1bHQpW11cbikge1xuICBjb25zdCBjYW4kID0gaW5wdXRGYWN0b3JpZXMubWFwKChmbikgPT4gcmR0R2V0UmVzdWx0JChmbikpO1xuICBjb25zdCBsYXN0ID0gU3ltYm9sKCdsYXN0Jyk7XG5cbiAgcmV0dXJuIGNvbmNhdCguLi5jYW4kLCBvZihsYXN0KSkucGlwZShcbiAgICBmaWx0ZXIoKHJlcykgPT4gcmVzID09PSBsYXN0KSxcbiAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZHRHZXRSZXN1bHQkKGlucHV0RmFjdG9yeTogKCkgPT4gUmR0Qm9vbGVhblJlc3VsdCkge1xuICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gaW5wdXRGYWN0b3J5KCk7XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiBvZihpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBmcm9tUHJvbWlzZShpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBpbnB1dDtcbiAgfSkucGlwZShcbiAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgICAgdGhyb3cgcmVzO1xuICAgIH0pXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9uZ3JkdC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19