@ngrdt/core 0.0.6 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ngrdt-core.mjs +148 -20
- package/fesm2022/ngrdt-core.mjs.map +1 -1
- package/index.d.ts +139 -3
- package/package.json +1 -3
- package/esm2022/index.mjs +0 -4
- package/esm2022/lib/rdt-autofocus/index.mjs +0 -4
- package/esm2022/lib/rdt-autofocus/models.mjs +0 -3
- package/esm2022/lib/rdt-autofocus/rdt-autofocusable.directive.mjs +0 -27
- package/esm2022/lib/rdt-autofocus/utils.mjs +0 -9
- package/esm2022/lib/rdt-component-guard/directives/rdt-child.directive.mjs +0 -88
- package/esm2022/lib/rdt-component-guard/directives/rdt-container.directive.mjs +0 -95
- package/esm2022/lib/rdt-component-guard/index.mjs +0 -5
- package/esm2022/lib/rdt-component-guard/models.mjs +0 -25
- package/esm2022/lib/rdt-component-guard/services/rdt-component-guard-store.service.mjs +0 -36
- package/esm2022/lib/utils/index.mjs +0 -2
- package/esm2022/lib/utils/rdt-boolean-result.mjs +0 -25
- package/esm2022/ngrdt-core.mjs +0 -5
- package/lib/rdt-autofocus/index.d.ts +0 -3
- package/lib/rdt-autofocus/models.d.ts +0 -8
- package/lib/rdt-autofocus/rdt-autofocusable.directive.d.ts +0 -8
- package/lib/rdt-autofocus/utils.d.ts +0 -3
- package/lib/rdt-component-guard/directives/rdt-child.directive.d.ts +0 -22
- package/lib/rdt-component-guard/directives/rdt-container.directive.d.ts +0 -18
- package/lib/rdt-component-guard/index.d.ts +0 -4
- package/lib/rdt-component-guard/models.d.ts +0 -22
- package/lib/rdt-component-guard/services/rdt-component-guard-store.service.d.ts +0 -11
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/rdt-boolean-result.d.ts +0 -4
package/fesm2022/ngrdt-core.mjs
CHANGED
|
@@ -1,10 +1,45 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, inject, Directive, Injectable, DestroyRef } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { InjectionToken, inject, ElementRef, Directive, Injectable, DestroyRef, ChangeDetectorRef, input, booleanAttribute, signal, computed, effect, untracked, linkedSignal, isSignal } from '@angular/core';
|
|
3
|
+
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import { of, concat, filter, map, catchError, defer, from } from 'rxjs';
|
|
5
5
|
|
|
6
6
|
const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken('');
|
|
7
7
|
|
|
8
|
+
class RdtAutoFocusOnInitDirective {
|
|
9
|
+
previousActiveElement = null;
|
|
10
|
+
document = inject(DOCUMENT);
|
|
11
|
+
elementRef = inject((ElementRef));
|
|
12
|
+
autofocusable = inject(RDT_AUTOFOCUSABLE_COMPONENT, {
|
|
13
|
+
host: true,
|
|
14
|
+
optional: true,
|
|
15
|
+
self: true,
|
|
16
|
+
});
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
if (this.previousActiveElement instanceof HTMLElement) {
|
|
19
|
+
this.previousActiveElement.focus();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ngAfterViewInit() {
|
|
23
|
+
this.previousActiveElement = this.document.activeElement;
|
|
24
|
+
if (this.autofocusable) {
|
|
25
|
+
if (this.autofocusable.canFocus()) {
|
|
26
|
+
this.autofocusable.focus();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.elementRef.nativeElement.focus();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtAutoFocusOnInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: RdtAutoFocusOnInitDirective, isStandalone: true, selector: "[rdtAutofocusOnInit]", ngImport: i0 });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtAutoFocusOnInitDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[rdtAutofocusOnInit]',
|
|
40
|
+
}]
|
|
41
|
+
}] });
|
|
42
|
+
|
|
8
43
|
class RdtAutofocusableDirective {
|
|
9
44
|
component = inject(RDT_AUTOFOCUSABLE_COMPONENT, {
|
|
10
45
|
host: true,
|
|
@@ -16,13 +51,13 @@ class RdtAutofocusableDirective {
|
|
|
16
51
|
throw new Error(`
|
|
17
52
|
RdtAutofocusableDirective usage:
|
|
18
53
|
Apply directive directly on component and provide the same component as RDT_AUTOFOCUSABLE_COMPONENT.
|
|
19
|
-
The component must then implement
|
|
54
|
+
The component must then implement RdtAutofocusable.`);
|
|
20
55
|
}
|
|
21
56
|
}
|
|
22
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtAutofocusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
58
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: RdtAutofocusableDirective, isStandalone: true, selector: "[rdtAutofocusable]", ngImport: i0 });
|
|
24
59
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtAutofocusableDirective, decorators: [{
|
|
26
61
|
type: Directive,
|
|
27
62
|
args: [{
|
|
28
63
|
selector: '[rdtAutofocusable]',
|
|
@@ -32,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
32
67
|
function getRdtAutofocusable(src) {
|
|
33
68
|
const withPrios = Array.from(src).map((dir) => ({
|
|
34
69
|
cmp: dir.component,
|
|
35
|
-
prio: dir.component?.
|
|
70
|
+
prio: dir.component?.getAutofocusPriority?.() ?? 0,
|
|
36
71
|
}));
|
|
37
72
|
withPrios.sort((a, b) => b.prio - a.prio);
|
|
38
73
|
return withPrios[0]?.cmp;
|
|
@@ -41,7 +76,6 @@ function getRdtAutofocusable(src) {
|
|
|
41
76
|
const RDT_GUARDED_COMPONENT = new InjectionToken('');
|
|
42
77
|
const RDT_CONTAINER = new InjectionToken('');
|
|
43
78
|
function canTransition$(from, to) {
|
|
44
|
-
console.log('canTransition$', from, to);
|
|
45
79
|
if (to === from) {
|
|
46
80
|
return of(true);
|
|
47
81
|
}
|
|
@@ -73,7 +107,7 @@ function rdtGetResult$(inputFactory) {
|
|
|
73
107
|
return of(input);
|
|
74
108
|
}
|
|
75
109
|
if (input instanceof Promise) {
|
|
76
|
-
return
|
|
110
|
+
return from(input);
|
|
77
111
|
}
|
|
78
112
|
return input;
|
|
79
113
|
}).pipe(map((res) => {
|
|
@@ -107,10 +141,10 @@ class RdtComponentGuardStoreService {
|
|
|
107
141
|
}
|
|
108
142
|
}));
|
|
109
143
|
}
|
|
110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
144
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtComponentGuardStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
145
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtComponentGuardStoreService, providedIn: 'root' });
|
|
112
146
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
147
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtComponentGuardStoreService, decorators: [{
|
|
114
148
|
type: Injectable,
|
|
115
149
|
args: [{
|
|
116
150
|
providedIn: 'root',
|
|
@@ -190,10 +224,10 @@ class RdtChildDirective {
|
|
|
190
224
|
return this.container.getParentByClass(parentClass);
|
|
191
225
|
}
|
|
192
226
|
}
|
|
193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
194
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
227
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
228
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: RdtChildDirective, isStandalone: true, selector: "[rdtChild]", ngImport: i0 });
|
|
195
229
|
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
230
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtChildDirective, decorators: [{
|
|
197
231
|
type: Directive,
|
|
198
232
|
args: [{
|
|
199
233
|
selector: '[rdtChild]',
|
|
@@ -261,8 +295,8 @@ class RdtContainerDirective extends RdtChildDirective {
|
|
|
261
295
|
}
|
|
262
296
|
});
|
|
263
297
|
}
|
|
264
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
265
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
298
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
299
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: RdtContainerDirective, isStandalone: true, selector: "[rdtContainer]", providers: [
|
|
266
300
|
{
|
|
267
301
|
provide: RdtChildDirective,
|
|
268
302
|
useExisting: RdtContainerDirective,
|
|
@@ -273,7 +307,7 @@ class RdtContainerDirective extends RdtChildDirective {
|
|
|
273
307
|
},
|
|
274
308
|
], usesInheritance: true, ngImport: i0 });
|
|
275
309
|
}
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtContainerDirective, decorators: [{
|
|
277
311
|
type: Directive,
|
|
278
312
|
args: [{
|
|
279
313
|
selector: '[rdtContainer]',
|
|
@@ -291,9 +325,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
291
325
|
}]
|
|
292
326
|
}] });
|
|
293
327
|
|
|
328
|
+
const RDT_DEFAULT_DISABLED_KEY = Symbol('RDT_DEFAULT_DISABLED_KEY');
|
|
329
|
+
const RDT_DEFAULT_LOADING_KEY = Symbol('RDT_DEFAULT_LOADING_KEY');
|
|
330
|
+
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
331
|
+
class RdtInteractiveElementComponent {
|
|
332
|
+
cd = inject(ChangeDetectorRef);
|
|
333
|
+
destroyRef = inject(DestroyRef);
|
|
334
|
+
// Input for the disabled state
|
|
335
|
+
// Used only from outside using disabled="true" construct.
|
|
336
|
+
disabledInput = input(false, ...(ngDevMode ? [{ debugName: "disabledInput", alias: 'rdtDisabled',
|
|
337
|
+
transform: booleanAttribute }] : [{
|
|
338
|
+
alias: 'rdtDisabled',
|
|
339
|
+
transform: booleanAttribute,
|
|
340
|
+
}]));
|
|
341
|
+
// Map to track disabled state keys
|
|
342
|
+
disabledMap = signal({}, ...(ngDevMode ? [{ debugName: "disabledMap" }] : []));
|
|
343
|
+
// Computed disabled state
|
|
344
|
+
disabled = computed(() => this.disabledInput() || Object.values(this.disabledMap()).some(Boolean), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
345
|
+
// In case component is focused and disabled
|
|
346
|
+
disabledEffect = effect(() => {
|
|
347
|
+
if (untracked(this.focused) && this.disabled()) {
|
|
348
|
+
this.focused.set(false);
|
|
349
|
+
}
|
|
350
|
+
}, ...(ngDevMode ? [{ debugName: "disabledEffect" }] : []));
|
|
351
|
+
loadingInput = input(false, ...(ngDevMode ? [{ debugName: "loadingInput", alias: 'loading',
|
|
352
|
+
transform: booleanAttribute }] : [{
|
|
353
|
+
alias: 'loading',
|
|
354
|
+
transform: booleanAttribute,
|
|
355
|
+
}]));
|
|
356
|
+
loadingMap = signal({}, ...(ngDevMode ? [{ debugName: "loadingMap" }] : []));
|
|
357
|
+
loading = computed(() => this.loadingInput() || Object.values(this.loadingMap()).some(Boolean), ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
358
|
+
idInput = input('', ...(ngDevMode ? [{ debugName: "idInput", alias: 'id',
|
|
359
|
+
transform: (value) => value || this._uid }] : [{
|
|
360
|
+
alias: 'id',
|
|
361
|
+
transform: (value) => value || this._uid,
|
|
362
|
+
}]));
|
|
363
|
+
id = linkedSignal(() => this.idInput());
|
|
364
|
+
get uid() {
|
|
365
|
+
return this._uid;
|
|
366
|
+
}
|
|
367
|
+
_uid = (Math.random() + 1).toString(36).substring(7);
|
|
368
|
+
focused = signal(false, ...(ngDevMode ? [{ debugName: "focused" }] : []));
|
|
369
|
+
getAutofocusPriority() {
|
|
370
|
+
return 0;
|
|
371
|
+
}
|
|
372
|
+
setDisabledState(isDisabled, key = RDT_DEFAULT_DISABLED_KEY) {
|
|
373
|
+
const map = { ...this.disabledMap() };
|
|
374
|
+
if (isDisabled) {
|
|
375
|
+
map[key] = true;
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
delete map[key];
|
|
379
|
+
}
|
|
380
|
+
this.disabledMap.set(map);
|
|
381
|
+
}
|
|
382
|
+
setLoadingState(isLoading, key = RDT_DEFAULT_LOADING_KEY) {
|
|
383
|
+
const map = { ...this.loadingMap() };
|
|
384
|
+
if (isLoading) {
|
|
385
|
+
map[key] = true;
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
delete map[key];
|
|
389
|
+
}
|
|
390
|
+
this.loadingMap.set(map);
|
|
391
|
+
}
|
|
392
|
+
onFocus() {
|
|
393
|
+
this.focused.set(true);
|
|
394
|
+
}
|
|
395
|
+
onBlur() {
|
|
396
|
+
this.focused.set(false);
|
|
397
|
+
}
|
|
398
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtInteractiveElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
399
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.7", type: RdtInteractiveElementComponent, isStandalone: true, inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "rdtDisabled", isSignal: true, isRequired: false, transformFunction: null }, loadingInput: { classPropertyName: "loadingInput", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
400
|
+
}
|
|
401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RdtInteractiveElementComponent, decorators: [{
|
|
402
|
+
type: Directive,
|
|
403
|
+
args: [{
|
|
404
|
+
standalone: true,
|
|
405
|
+
}]
|
|
406
|
+
}] });
|
|
407
|
+
|
|
408
|
+
function rdtCreateLinkedState(params) {
|
|
409
|
+
const state = {};
|
|
410
|
+
for (const key in params) {
|
|
411
|
+
const value = params[key];
|
|
412
|
+
if (isSignal(value)) {
|
|
413
|
+
state[key] = linkedSignal(() => value);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
state[key] = signal(value);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return state;
|
|
420
|
+
}
|
|
421
|
+
|
|
294
422
|
/**
|
|
295
423
|
* Generated bundle index. Do not edit.
|
|
296
424
|
*/
|
|
297
425
|
|
|
298
|
-
export { RDT_AUTOFOCUSABLE_COMPONENT, RDT_CONTAINER, RDT_GUARDED_COMPONENT, RdtAutofocusableDirective, RdtChildDirective, RdtComponentGuardStoreService, RdtContainerDirective, canTransition$, getRdtAutofocusable, rdtGetAllResultsTrue$, rdtGetResult$ };
|
|
426
|
+
export { RDT_AUTOFOCUSABLE_COMPONENT, RDT_CONTAINER, RDT_DEFAULT_DISABLED_KEY, RDT_DEFAULT_LOADING_KEY, RDT_GUARDED_COMPONENT, RdtAutoFocusOnInitDirective, RdtAutofocusableDirective, RdtChildDirective, RdtComponentGuardStoreService, RdtContainerDirective, RdtInteractiveElementComponent, canTransition$, getRdtAutofocusable, rdtCreateLinkedState, rdtGetAllResultsTrue$, rdtGetResult$ };
|
|
299
427
|
//# sourceMappingURL=ngrdt-core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngrdt-core.mjs","sources":["../../../../@ngrdt/core/src/lib/rdt-autofocus/models.ts","../../../../@ngrdt/core/src/lib/rdt-autofocus/rdt-autofocusable.directive.ts","../../../../@ngrdt/core/src/lib/rdt-autofocus/utils.ts","../../../../@ngrdt/core/src/lib/rdt-component-guard/models.ts","../../../../@ngrdt/core/src/lib/utils/rdt-boolean-result.ts","../../../../@ngrdt/core/src/lib/rdt-component-guard/services/rdt-component-guard-store.service.ts","../../../../@ngrdt/core/src/lib/rdt-component-guard/directives/rdt-child.directive.ts","../../../../@ngrdt/core/src/lib/rdt-component-guard/directives/rdt-container.directive.ts","../../../../@ngrdt/core/src/ngrdt-core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { RdtBooleanResult } from '../utils';\n\nexport interface RdtAutocusable {\n rdtFocus(): void;\n rdtCanFocus(): RdtBooleanResult;\n rdtGetAutofocusPriority?(): number;\n}\n\nexport const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken<RdtAutocusable>(\n ''\n);\n","import { Directive, inject, OnInit } from '@angular/core';\nimport { RDT_AUTOFOCUSABLE_COMPONENT } from './models';\n\n@Directive({\n selector: '[rdtAutofocusable]',\n})\nexport class RdtAutofocusableDirective implements OnInit {\n readonly component = inject(RDT_AUTOFOCUSABLE_COMPONENT, {\n host: true,\n optional: true,\n self: true,\n });\n\n ngOnInit() {\n if (!this.component) {\n throw new Error(`\n RdtAutofocusableDirective usage:\n Apply directive directly on component and provide the same component as RDT_AUTOFOCUSABLE_COMPONENT.\n The component must then implement RdtAutocusable.`);\n }\n }\n}\n","import { RdtAutocusable } from './models';\nimport { RdtAutofocusableDirective } from './rdt-autofocusable.directive';\n\nexport function getRdtAutofocusable(\n src: Iterable<RdtAutofocusableDirective>\n): RdtAutocusable | null {\n const withPrios = Array.from(src).map((dir) => ({\n cmp: dir.component,\n prio: dir.component?.rdtGetAutofocusPriority?.() ?? 0,\n }));\n withPrios.sort((a, b) => b.prio - a.prio);\n return withPrios[0]?.cmp;\n}\n","import { InjectionToken } from '@angular/core';\nimport { Nullable } from '@ngrdt/utils';\nimport { of } from 'rxjs';\nimport { RdtBooleanResult } from '../utils';\nimport { RdtContainerDirective } from './directives/rdt-container.directive';\n\nexport interface RdtIsActive {\n rdtIsActive(): boolean;\n}\n\nexport interface RdtCanLeaveView {\n rdtCanLeaveView(): RdtBooleanResult;\n}\n\nexport interface RdtCanEnterView {\n rdtCanEnterView(): RdtBooleanResult;\n}\n\nexport interface RdtOnViewWillLeave {\n rdtOnViewWillLeave(): void;\n}\n\nexport interface RdtOnViewWillEnter {\n rdtOnViewWillEnter(): void;\n}\n\nexport const RDT_GUARDED_COMPONENT = new InjectionToken<\n | RdtCanLeaveView\n | RdtCanEnterView\n | RdtOnViewWillEnter\n | RdtOnViewWillLeave\n | RdtIsActive\n>('');\n\nexport const RDT_CONTAINER = new InjectionToken<RdtContainerDirective>('');\n\nexport function canTransition$(\n from: Nullable<RdtContainerDirective>,\n to: Nullable<RdtContainerDirective>\n) {\n console.log('canTransition$', from, to);\n if (to === from) {\n return of(true);\n }\n const canLeave$ = from ? from.checkCanLeave$() : of(true);\n return canLeave$;\n /*\n const canEnter$ = to ? to.checkCanEnter$() : of(true);\n\n return canLeave$.pipe(\n switchMap((res) => {\n if (res) {\n return canEnter$;\n } else {\n return of(res);\n }\n })\n );*/\n}\n","import { catchError, concat, defer, filter, map, Observable, of } from 'rxjs';\nimport { fromPromise } from 'rxjs/internal/observable/innerFrom';\n\nexport type RdtBooleanResult = Observable<boolean> | Promise<boolean> | boolean;\n\nexport function rdtGetAllResultsTrue$(\n inputFactories: (() => RdtBooleanResult)[]\n) {\n const can$ = inputFactories.map((fn) => rdtGetResult$(fn));\n const last = Symbol('last');\n\n return concat(...can$, of(last)).pipe(\n filter((res) => res === last),\n map(() => true),\n catchError(() => of(false))\n );\n}\n\nexport function rdtGetResult$(inputFactory: () => RdtBooleanResult) {\n return defer(() => {\n const input = inputFactory();\n\n if (typeof input === 'boolean') {\n return of(input);\n }\n if (input instanceof Promise) {\n return fromPromise(input);\n }\n return input;\n }).pipe(\n map((res) => {\n if (res) {\n return res;\n }\n throw res;\n })\n );\n}\n","import { Injectable } from '@angular/core';\nimport { rdtGetAllResultsTrue$ } from '../../utils';\nimport { RdtChildDirective } from '../directives/rdt-child.directive';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RdtComponentGuardStoreService {\n private readonly guards = new Set<RdtChildDirective>();\n\n registerGuard(guard: RdtChildDirective) {\n this.guards.add(guard);\n }\n\n removeGuard(guard: RdtChildDirective) {\n this.guards.delete(guard);\n }\n\n getGuards() {\n return Array.from(this.guards);\n }\n\n checkCanLeaveGlobal$() {\n return rdtGetAllResultsTrue$(\n this.getGuards().map((ch) => () => {\n // @ts-ignore\n if (typeof ch.checkCanLeave$ === 'function') {\n // @ts-ignore\n return ch.checkCanLeave$();\n } else {\n return ch.canLeaveView();\n }\n })\n );\n }\n}\n","import {\n DestroyRef,\n Directive,\n inject,\n OnDestroy,\n OnInit,\n Type,\n} from '@angular/core';\nimport { RdtBooleanResult } from '../../utils';\nimport {\n RDT_CONTAINER,\n RDT_GUARDED_COMPONENT,\n RdtCanEnterView,\n RdtCanLeaveView,\n RdtIsActive,\n RdtOnViewWillEnter,\n RdtOnViewWillLeave,\n} from '../models';\nimport { RdtComponentGuardStoreService } from '../services/rdt-component-guard-store.service';\nimport { RdtContainerDirective } from './rdt-container.directive';\n\n@Directive({\n selector: '[rdtChild]',\n standalone: true,\n})\nexport class RdtChildDirective implements OnInit, OnDestroy {\n readonly guardStore = inject(RdtComponentGuardStoreService);\n readonly destroyRef = inject(DestroyRef);\n readonly container = inject(RDT_CONTAINER, {\n optional: true,\n skipSelf: true,\n });\n readonly guardedComponent = inject(RDT_GUARDED_COMPONENT, {\n optional: true,\n self: true,\n host: true,\n });\n\n ngOnInit() {\n if (!this.guardedComponent) {\n throw new Error(`\n RdtChildDirective usage:\n Apply directive directly on component and provide the same component as RDT_GUARDED_COMPONENT.\n The component can then implement RdtCanLeaveView or RdtCanEnterView.\n This applies to both Child and Container directives.\n `);\n }\n if (!this.container) {\n this.guardStore.registerGuard(this);\n } else {\n this.container?.registerChild(this);\n }\n }\n\n ngOnDestroy() {\n this.guardStore.removeGuard(this);\n this.container?.removeChild(this);\n }\n\n isActive() {\n const comp = this.guardedComponent as RdtIsActive | undefined;\n return comp?.rdtIsActive?.() ?? true;\n }\n\n canEnterView(): RdtBooleanResult {\n const comp = this.guardedComponent as RdtCanEnterView | undefined;\n if (typeof comp?.rdtCanEnterView === 'function') {\n return comp.rdtCanEnterView();\n } else {\n return true;\n }\n }\n\n canLeaveView(): RdtBooleanResult {\n const comp = this.guardedComponent as RdtCanLeaveView | undefined;\n if (typeof comp?.rdtCanLeaveView === 'function') {\n return comp.rdtCanLeaveView();\n } else {\n return true;\n }\n }\n\n onViewWillEnter(): void {\n const comp = this.guardedComponent as RdtOnViewWillEnter | undefined;\n comp?.rdtOnViewWillEnter();\n }\n\n onViewWillLeave(): void {\n const comp = this.guardedComponent as RdtOnViewWillLeave | undefined;\n comp?.rdtOnViewWillLeave();\n }\n\n getParentByClass<T extends RdtContainerDirective>(\n parentClass: Type<T>\n ): T | null {\n if (!this.container) {\n return null;\n } else if (this.container instanceof parentClass) {\n return this.container;\n } else {\n return this.container.getParentByClass(parentClass);\n }\n }\n}\n","import { Directive, Type } from '@angular/core';\nimport { rdtGetAllResultsTrue$ } from '../../utils';\nimport { RDT_CONTAINER } from '../models';\nimport { RdtChildDirective } from './rdt-child.directive';\n\n@Directive({\n selector: '[rdtContainer]',\n standalone: true,\n providers: [\n {\n provide: RdtChildDirective,\n useExisting: RdtContainerDirective,\n },\n {\n provide: RDT_CONTAINER,\n useExisting: RdtContainerDirective,\n },\n ],\n})\nexport class RdtContainerDirective extends RdtChildDirective {\n readonly rdtChildren: Set<RdtChildDirective> = new Set<RdtChildDirective>();\n\n registerChild(child: RdtChildDirective) {\n this.rdtChildren.add(child);\n }\n\n removeChild(child: RdtChildDirective) {\n this.rdtChildren.delete(child);\n }\n\n checkCanLeave$() {\n return rdtGetAllResultsTrue$(\n [this, ...this.getActiveChildren()].map((ch) => () => ch.canLeaveView())\n );\n }\n\n /* TODO\n checkCanEnter$() {\n return getCan$(\n [this, ...this.getActiveChildren()].map((ch) => () => ch.canEnterView())\n );\n }\n */\n\n override onViewWillEnter() {\n super.onViewWillEnter();\n this.rdtChildren.forEach((ch) => ch.onViewWillEnter());\n }\n\n override onViewWillLeave() {\n super.onViewWillLeave();\n this.rdtChildren.forEach((ch) => ch.onViewWillLeave());\n }\n\n getChildrenRecursive(filter?: (ch: RdtChildDirective) => boolean) {\n const res: RdtChildDirective[] = [];\n this._getChildrenRecursive(res, filter);\n return res;\n }\n\n protected getActiveChildren() {\n return this.getChildrenRecursive((ch) => ch.isActive());\n }\n\n getChildrenByClass<T>(childClass: Type<T>) {\n const res: T[] = [];\n this._getChildrenByClassRecursive(childClass, res);\n return res;\n }\n\n private _getChildrenRecursive(\n res: RdtChildDirective[],\n filter?: (ch: RdtChildDirective) => boolean\n ) {\n const children = Array.from(this.rdtChildren);\n const filteredChildren = filter ? children.filter(filter) : children;\n res.push(...filteredChildren);\n filteredChildren.forEach((child) => {\n if (child instanceof RdtContainerDirective) {\n child._getChildrenRecursive(res, filter);\n }\n });\n }\n\n private _getChildrenByClassRecursive<T>(childClass: Type<T>, res: T[]) {\n this.rdtChildren.forEach((child) => {\n const comp = (child as RdtChildDirective).guardedComponent;\n if (comp instanceof childClass) {\n res.push(comp);\n } else if (child instanceof RdtContainerDirective) {\n child._getChildrenByClassRecursive(childClass, res);\n }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngrdt-core.mjs","sources":["../tmp-esm2022/lib/autofocus/models.js","../tmp-esm2022/lib/autofocus/rdt-autofocus-on-init.directive.js","../tmp-esm2022/lib/autofocus/rdt-autofocusable.directive.js","../tmp-esm2022/lib/autofocus/utils.js","../tmp-esm2022/lib/component-guard/models.js","../tmp-esm2022/lib/utils/rdt-boolean-result.js","../tmp-esm2022/lib/component-guard/services/rdt-component-guard-store.service.js","../tmp-esm2022/lib/component-guard/directives/rdt-child.directive.js","../tmp-esm2022/lib/component-guard/directives/rdt-container.directive.js","../tmp-esm2022/lib/interactive-element/rdt-interactive-element.component.js","../tmp-esm2022/lib/linked-state/rdt-create-linked-state.js","../tmp-esm2022/ngrdt-core.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken('');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9hdXRvZm9jdXMvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTL0MsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQzNELEVBQUUsQ0FDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEJvb2xlYW5SZXN1bHQgfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0QXV0b2ZvY3VzYWJsZSB7XG4gIGZvY3VzKCk6IHZvaWQ7XG4gIGNhbkZvY3VzKCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG4gIGdldEF1dG9mb2N1c1ByaW9yaXR5PygpOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBSRFRfQVVUT0ZPQ1VTQUJMRV9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR0QXV0b2ZvY3VzYWJsZT4oXG4gICcnXG4pO1xuIl19","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, inject, } from '@angular/core';\nimport { RDT_AUTOFOCUSABLE_COMPONENT } from './models';\nimport * as i0 from \"@angular/core\";\nexport class RdtAutoFocusOnInitDirective {\n previousActiveElement = null;\n document = inject(DOCUMENT);\n elementRef = inject((ElementRef));\n autofocusable = inject(RDT_AUTOFOCUSABLE_COMPONENT, {\n host: true,\n optional: true,\n self: true,\n });\n ngOnDestroy() {\n if (this.previousActiveElement instanceof HTMLElement) {\n this.previousActiveElement.focus();\n }\n }\n ngAfterViewInit() {\n this.previousActiveElement = this.document.activeElement;\n if (this.autofocusable) {\n if (this.autofocusable.canFocus()) {\n this.autofocusable.focus();\n }\n }\n else {\n this.elementRef.nativeElement.focus();\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtAutoFocusOnInitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: RdtAutoFocusOnInitDirective, isStandalone: true, selector: \"[rdtAutofocusOnInit]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtAutoFocusOnInitDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtAutofocusOnInit]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWF1dG9mb2N1cy1vbi1pbml0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9saWIvYXV0b2ZvY3VzL3JkdC1hdXRvZm9jdXMtb24taW5pdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBS3ZELE1BQU0sT0FBTywyQkFBMkI7SUFDOUIscUJBQXFCLEdBQW1CLElBQUksQ0FBQztJQUNwQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVCLFVBQVUsR0FBRyxNQUFNLENBQUMsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztJQUM3QyxhQUFhLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixFQUFFO1FBQ25FLElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUMsQ0FBQztJQUVILFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO3VHQXpCVSwyQkFBMkI7MkZBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUkRUX0FVVE9GT0NVU0FCTEVfQ09NUE9ORU5UIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0QXV0b2ZvY3VzT25Jbml0XScsXG59KVxuZXhwb3J0IGNsYXNzIFJkdEF1dG9Gb2N1c09uSW5pdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcHJldmlvdXNBY3RpdmVFbGVtZW50OiBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dG9mb2N1c2FibGUgPSBpbmplY3QoUkRUX0FVVE9GT0NVU0FCTEVfQ09NUE9ORU5ULCB7XG4gICAgaG9zdDogdHJ1ZSxcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBzZWxmOiB0cnVlLFxuICB9KTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgdGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuYXV0b2ZvY3VzYWJsZSkge1xuICAgICAgaWYgKHRoaXMuYXV0b2ZvY3VzYWJsZS5jYW5Gb2N1cygpKSB7XG4gICAgICAgIHRoaXMuYXV0b2ZvY3VzYWJsZS5mb2N1cygpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIl19","import { Directive, inject } from '@angular/core';\nimport { RDT_AUTOFOCUSABLE_COMPONENT } from './models';\nimport * as i0 from \"@angular/core\";\nexport class RdtAutofocusableDirective {\n component = inject(RDT_AUTOFOCUSABLE_COMPONENT, {\n host: true,\n optional: true,\n self: true,\n });\n ngOnInit() {\n if (!this.component) {\n throw new Error(`\n RdtAutofocusableDirective usage:\n Apply directive directly on component and provide the same component as RDT_AUTOFOCUSABLE_COMPONENT.\n The component must then implement RdtAutofocusable.`);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtAutofocusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: RdtAutofocusableDirective, isStandalone: true, selector: \"[rdtAutofocusable]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtAutofocusableDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtAutofocusable]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9hdXRvZm9jdXMvcmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHlCQUF5QjtJQUMzQixTQUFTLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixFQUFFO1FBQ3ZELElBQUksRUFBRSxJQUFJO1FBQ1YsUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtLQUNYLENBQUMsQ0FBQztJQUVILFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUM7Ozs0REFHc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO3VHQWRVLHlCQUF5QjsyRkFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUkRUX0FVVE9GT0NVU0FCTEVfQ09NUE9ORU5UIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0QXV0b2ZvY3VzYWJsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRBdXRvZm9jdXNhYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcmVhZG9ubHkgY29tcG9uZW50ID0gaW5qZWN0KFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCwge1xuICAgIGhvc3Q6IHRydWUsXG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2VsZjogdHJ1ZSxcbiAgfSk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgICAgUmR0QXV0b2ZvY3VzYWJsZURpcmVjdGl2ZSB1c2FnZTpcbiAgICAgICAgQXBwbHkgZGlyZWN0aXZlIGRpcmVjdGx5IG9uIGNvbXBvbmVudCBhbmQgcHJvdmlkZSB0aGUgc2FtZSBjb21wb25lbnQgYXMgUkRUX0FVVE9GT0NVU0FCTEVfQ09NUE9ORU5ULlxuICAgICAgICBUaGUgY29tcG9uZW50IG11c3QgdGhlbiBpbXBsZW1lbnQgUmR0QXV0b2ZvY3VzYWJsZS5gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","export function getRdtAutofocusable(src) {\n const withPrios = Array.from(src).map((dir) => ({\n cmp: dir.component,\n prio: dir.component?.getAutofocusPriority?.() ?? 0,\n }));\n withPrios.sort((a, b) => b.prio - a.prio);\n return withPrios[0]?.cmp;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL2F1dG9mb2N1cy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEdBQXdDO0lBRXhDLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLEdBQUcsRUFBRSxHQUFHLENBQUMsU0FBUztRQUNsQixJQUFJLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLElBQUksQ0FBQztLQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNKLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdEF1dG9mb2N1c2FibGUgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBSZHRBdXRvZm9jdXNhYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZHQtYXV0b2ZvY3VzYWJsZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmR0QXV0b2ZvY3VzYWJsZShcbiAgc3JjOiBJdGVyYWJsZTxSZHRBdXRvZm9jdXNhYmxlRGlyZWN0aXZlPlxuKTogUmR0QXV0b2ZvY3VzYWJsZSB8IG51bGwge1xuICBjb25zdCB3aXRoUHJpb3MgPSBBcnJheS5mcm9tKHNyYykubWFwKChkaXIpID0+ICh7XG4gICAgY21wOiBkaXIuY29tcG9uZW50LFxuICAgIHByaW86IGRpci5jb21wb25lbnQ/LmdldEF1dG9mb2N1c1ByaW9yaXR5Py4oKSA/PyAwLFxuICB9KSk7XG4gIHdpdGhQcmlvcy5zb3J0KChhLCBiKSA9PiBiLnByaW8gLSBhLnByaW8pO1xuICByZXR1cm4gd2l0aFByaW9zWzBdPy5jbXA7XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nimport { of } from 'rxjs';\nexport const RDT_GUARDED_COMPONENT = new InjectionToken('');\nexport const RDT_CONTAINER = new InjectionToken('');\nexport function canTransition$(from, to) {\n if (to === from) {\n return of(true);\n }\n const canLeave$ = from ? from.checkCanLeave$() : of(true);\n return canLeave$;\n /*\n const canEnter$ = to ? to.checkCanEnter$() : of(true);\n \n return canLeave$.pipe(\n switchMap((res) => {\n if (res) {\n return canEnter$;\n } else {\n return of(res);\n }\n })\n );*/\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9jb21wb25lbnQtZ3VhcmQvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXdCMUIsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBTXJELEVBQUUsQ0FBQyxDQUFDO0FBRU4sTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUF3QixFQUFFLENBQUMsQ0FBQztBQUUzRSxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUFxQyxFQUNyQyxFQUFtQztJQUVuQyxJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxPQUFPLFNBQVMsQ0FBQztJQUNqQjs7Ozs7Ozs7Ozs7UUFXSTtBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAbmdyZHQvdXRpbHMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJkdEJvb2xlYW5SZXN1bHQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBSZHRDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdElzQWN0aXZlIHtcbiAgcmR0SXNBY3RpdmUoKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZHRDYW5MZWF2ZVZpZXcge1xuICByZHRDYW5MZWF2ZVZpZXcoKTogUmR0Qm9vbGVhblJlc3VsdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZHRDYW5FbnRlclZpZXcge1xuICByZHRDYW5FbnRlclZpZXcoKTogUmR0Qm9vbGVhblJlc3VsdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZHRPblZpZXdXaWxsTGVhdmUge1xuICByZHRPblZpZXdXaWxsTGVhdmUoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZHRPblZpZXdXaWxsRW50ZXIge1xuICByZHRPblZpZXdXaWxsRW50ZXIoKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFJEVF9HVUFSREVEX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxcbiAgfCBSZHRDYW5MZWF2ZVZpZXdcbiAgfCBSZHRDYW5FbnRlclZpZXdcbiAgfCBSZHRPblZpZXdXaWxsRW50ZXJcbiAgfCBSZHRPblZpZXdXaWxsTGVhdmVcbiAgfCBSZHRJc0FjdGl2ZVxuPignJyk7XG5cbmV4cG9ydCBjb25zdCBSRFRfQ09OVEFJTkVSID0gbmV3IEluamVjdGlvblRva2VuPFJkdENvbnRhaW5lckRpcmVjdGl2ZT4oJycpO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuVHJhbnNpdGlvbiQoXG4gIGZyb206IE51bGxhYmxlPFJkdENvbnRhaW5lckRpcmVjdGl2ZT4sXG4gIHRvOiBOdWxsYWJsZTxSZHRDb250YWluZXJEaXJlY3RpdmU+XG4pIHtcbiAgaWYgKHRvID09PSBmcm9tKSB7XG4gICAgcmV0dXJuIG9mKHRydWUpO1xuICB9XG4gIGNvbnN0IGNhbkxlYXZlJCA9IGZyb20gPyBmcm9tLmNoZWNrQ2FuTGVhdmUkKCkgOiBvZih0cnVlKTtcbiAgcmV0dXJuIGNhbkxlYXZlJDtcbiAgLypcbiAgY29uc3QgY2FuRW50ZXIkID0gdG8gPyB0by5jaGVja0NhbkVudGVyJCgpIDogb2YodHJ1ZSk7XG5cbiAgcmV0dXJuIGNhbkxlYXZlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHJldHVybiBjYW5FbnRlciQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YocmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICApOyovXG59XG4iXX0=","import { catchError, concat, defer, filter, from, map, of, } from 'rxjs';\nexport function rdtGetAllResultsTrue$(inputFactories) {\n const can$ = inputFactories.map((fn) => rdtGetResult$(fn));\n const last = Symbol('last');\n return concat(...can$, of(last)).pipe(filter((res) => res === last), map(() => true), catchError(() => of(false)));\n}\nexport function rdtGetResult$(inputFactory) {\n return defer(() => {\n const input = inputFactory();\n if (typeof input === 'boolean') {\n return of(input);\n }\n if (input instanceof Promise) {\n return from(input);\n }\n return input;\n }).pipe(map((res) => {\n if (res) {\n return res;\n }\n throw res;\n }));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJvb2xlYW4tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi91dGlscy9yZHQtYm9vbGVhbi1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLEVBQ0osR0FBRyxFQUVILEVBQUUsR0FDSCxNQUFNLE1BQU0sQ0FBQztBQUlkLE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsY0FBMEM7SUFFMUMsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVCLE9BQU8sTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbkMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxZQUFvQztJQUNoRSxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDaEIsTUFBTSxLQUFLLEdBQUcsWUFBWSxFQUFFLENBQUM7UUFFN0IsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxLQUFLLFlBQVksT0FBTyxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ1YsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUNELE1BQU0sR0FBRyxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBjb25jYXQsXG4gIGRlZmVyLFxuICBmaWx0ZXIsXG4gIGZyb20sXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG59IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBSZHRCb29sZWFuUmVzdWx0ID0gT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICBpbnB1dEZhY3RvcmllczogKCgpID0+IFJkdEJvb2xlYW5SZXN1bHQpW11cbikge1xuICBjb25zdCBjYW4kID0gaW5wdXRGYWN0b3JpZXMubWFwKChmbikgPT4gcmR0R2V0UmVzdWx0JChmbikpO1xuICBjb25zdCBsYXN0ID0gU3ltYm9sKCdsYXN0Jyk7XG5cbiAgcmV0dXJuIGNvbmNhdCguLi5jYW4kLCBvZihsYXN0KSkucGlwZShcbiAgICBmaWx0ZXIoKHJlcykgPT4gcmVzID09PSBsYXN0KSxcbiAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZHRHZXRSZXN1bHQkKGlucHV0RmFjdG9yeTogKCkgPT4gUmR0Qm9vbGVhblJlc3VsdCkge1xuICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gaW5wdXRGYWN0b3J5KCk7XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiBvZihpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBmcm9tKGlucHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIGlucHV0O1xuICB9KS5waXBlKFxuICAgIG1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgICB9XG4gICAgICB0aHJvdyByZXM7XG4gICAgfSlcbiAgKTtcbn1cbiJdfQ==","import { Injectable } from '@angular/core';\nimport { rdtGetAllResultsTrue$ } from '../../utils';\nimport * as i0 from \"@angular/core\";\nexport class RdtComponentGuardStoreService {\n guards = new Set();\n registerGuard(guard) {\n this.guards.add(guard);\n }\n removeGuard(guard) {\n this.guards.delete(guard);\n }\n getGuards() {\n return Array.from(this.guards);\n }\n checkCanLeaveGlobal$() {\n return rdtGetAllResultsTrue$(this.getGuards().map((ch) => () => {\n // @ts-ignore\n if (typeof ch.checkCanLeave$ === 'function') {\n // @ts-ignore\n return ch.checkCanLeave$();\n }\n else {\n return ch.canLeaveView();\n }\n }));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtComponentGuardStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtComponentGuardStoreService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtComponentGuardStoreService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9jb21wb25lbnQtZ3VhcmQvc2VydmljZXMvcmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3ZCLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztJQUV2RCxhQUFhLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLHFCQUFxQixDQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsYUFBYTtZQUNiLElBQUksT0FBTyxFQUFFLENBQUMsY0FBYyxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUM1QyxhQUFhO2dCQUNiLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzdCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7dUdBM0JVLDZCQUE2QjsyR0FBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzJGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZHRHZXRBbGxSZXN1bHRzVHJ1ZSQgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBSZHRDaGlsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcmR0LWNoaWxkLmRpcmVjdGl2ZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRDb21wb25lbnRHdWFyZFN0b3JlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ3VhcmRzID0gbmV3IFNldDxSZHRDaGlsZERpcmVjdGl2ZT4oKTtcblxuICByZWdpc3Rlckd1YXJkKGd1YXJkOiBSZHRDaGlsZERpcmVjdGl2ZSkge1xuICAgIHRoaXMuZ3VhcmRzLmFkZChndWFyZCk7XG4gIH1cblxuICByZW1vdmVHdWFyZChndWFyZDogUmR0Q2hpbGREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmd1YXJkcy5kZWxldGUoZ3VhcmQpO1xuICB9XG5cbiAgZ2V0R3VhcmRzKCkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZ3VhcmRzKTtcbiAgfVxuXG4gIGNoZWNrQ2FuTGVhdmVHbG9iYWwkKCkge1xuICAgIHJldHVybiByZHRHZXRBbGxSZXN1bHRzVHJ1ZSQoXG4gICAgICB0aGlzLmdldEd1YXJkcygpLm1hcCgoY2gpID0+ICgpID0+IHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodHlwZW9mIGNoLmNoZWNrQ2FuTGVhdmUkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHJldHVybiBjaC5jaGVja0NhbkxlYXZlJCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBjaC5jYW5MZWF2ZVZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=","import { DestroyRef, Directive, inject, } from '@angular/core';\nimport { RDT_CONTAINER, RDT_GUARDED_COMPONENT, } from '../models';\nimport { RdtComponentGuardStoreService } from '../services/rdt-component-guard-store.service';\nimport * as i0 from \"@angular/core\";\nexport class RdtChildDirective {\n guardStore = inject(RdtComponentGuardStoreService);\n destroyRef = inject(DestroyRef);\n container = inject(RDT_CONTAINER, {\n optional: true,\n skipSelf: true,\n });\n guardedComponent = inject(RDT_GUARDED_COMPONENT, {\n optional: true,\n self: true,\n host: true,\n });\n ngOnInit() {\n if (!this.guardedComponent) {\n throw new Error(`\n RdtChildDirective usage:\n Apply directive directly on component and provide the same component as RDT_GUARDED_COMPONENT.\n The component can then implement RdtCanLeaveView or RdtCanEnterView.\n This applies to both Child and Container directives.\n `);\n }\n if (!this.container) {\n this.guardStore.registerGuard(this);\n }\n else {\n this.container?.registerChild(this);\n }\n }\n ngOnDestroy() {\n this.guardStore.removeGuard(this);\n this.container?.removeChild(this);\n }\n isActive() {\n const comp = this.guardedComponent;\n return comp?.rdtIsActive?.() ?? true;\n }\n canEnterView() {\n const comp = this.guardedComponent;\n if (typeof comp?.rdtCanEnterView === 'function') {\n return comp.rdtCanEnterView();\n }\n else {\n return true;\n }\n }\n canLeaveView() {\n const comp = this.guardedComponent;\n if (typeof comp?.rdtCanLeaveView === 'function') {\n return comp.rdtCanLeaveView();\n }\n else {\n return true;\n }\n }\n onViewWillEnter() {\n const comp = this.guardedComponent;\n comp?.rdtOnViewWillEnter();\n }\n onViewWillLeave() {\n const comp = this.guardedComponent;\n comp?.rdtOnViewWillLeave();\n }\n getParentByClass(parentClass) {\n if (!this.container) {\n return null;\n }\n else if (this.container instanceof parentClass) {\n return this.container;\n }\n else {\n return this.container.getParentByClass(parentClass);\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: RdtChildDirective, isStandalone: true, selector: \"[rdtChild]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtChildDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtChild]',\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNoaWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9saWIvY29tcG9uZW50LWd1YXJkL2RpcmVjdGl2ZXMvcmR0LWNoaWxkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBSVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixxQkFBcUIsR0FNdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sK0NBQStDLENBQUM7O0FBTzlGLE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsVUFBVSxHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ25ELFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQUU7UUFDekMsUUFBUSxFQUFFLElBQUk7UUFDZCxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUMsQ0FBQztJQUNNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRTtRQUN4RCxRQUFRLEVBQUUsSUFBSTtRQUNkLElBQUksRUFBRSxJQUFJO1FBQ1YsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUM7Ozs7O1NBS2IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBMkMsQ0FBQztRQUM5RCxPQUFPLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBK0MsQ0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxFQUFFLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUErQyxDQUFDO1FBQ2xFLElBQUksT0FBTyxJQUFJLEVBQUUsZUFBZSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2hELE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWtELENBQUM7UUFDckUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWtELENBQUM7UUFDckUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUNkLFdBQW9CO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ2pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0gsQ0FBQzt1R0E3RVUsaUJBQWlCOzJGQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgUkRUX0NPTlRBSU5FUixcbiAgUkRUX0dVQVJERURfQ09NUE9ORU5ULFxuICBSZHRDYW5FbnRlclZpZXcsXG4gIFJkdENhbkxlYXZlVmlldyxcbiAgUmR0SXNBY3RpdmUsXG4gIFJkdE9uVmlld1dpbGxFbnRlcixcbiAgUmR0T25WaWV3V2lsbExlYXZlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmR0Q29tcG9uZW50R3VhcmRTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZHQtY29tcG9uZW50LWd1YXJkLXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmR0Q29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9yZHQtY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyZHRDaGlsZF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZHRDaGlsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgZ3VhcmRTdG9yZSA9IGluamVjdChSZHRDb21wb25lbnRHdWFyZFN0b3JlU2VydmljZSk7XG4gIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHJlYWRvbmx5IGNvbnRhaW5lciA9IGluamVjdChSRFRfQ09OVEFJTkVSLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2tpcFNlbGY6IHRydWUsXG4gIH0pO1xuICByZWFkb25seSBndWFyZGVkQ29tcG9uZW50ID0gaW5qZWN0KFJEVF9HVUFSREVEX0NPTVBPTkVOVCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gICAgaG9zdDogdHJ1ZSxcbiAgfSk7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKCF0aGlzLmd1YXJkZWRDb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG4gICAgICAgIFJkdENoaWxkRGlyZWN0aXZlIHVzYWdlOlxuICAgICAgICBBcHBseSBkaXJlY3RpdmUgZGlyZWN0bHkgb24gY29tcG9uZW50IGFuZCBwcm92aWRlIHRoZSBzYW1lIGNvbXBvbmVudCBhcyBSRFRfR1VBUkRFRF9DT01QT05FTlQuXG4gICAgICAgIFRoZSBjb21wb25lbnQgY2FuIHRoZW4gaW1wbGVtZW50IFJkdENhbkxlYXZlVmlldyBvciBSZHRDYW5FbnRlclZpZXcuXG4gICAgICAgIFRoaXMgYXBwbGllcyB0byBib3RoIENoaWxkIGFuZCBDb250YWluZXIgZGlyZWN0aXZlcy5cbiAgICAgICAgYCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb250YWluZXIpIHtcbiAgICAgIHRoaXMuZ3VhcmRTdG9yZS5yZWdpc3Rlckd1YXJkKHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRhaW5lcj8ucmVnaXN0ZXJDaGlsZCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmd1YXJkU3RvcmUucmVtb3ZlR3VhcmQodGhpcyk7XG4gICAgdGhpcy5jb250YWluZXI/LnJlbW92ZUNoaWxkKHRoaXMpO1xuICB9XG5cbiAgaXNBY3RpdmUoKSB7XG4gICAgY29uc3QgY29tcCA9IHRoaXMuZ3VhcmRlZENvbXBvbmVudCBhcyBSZHRJc0FjdGl2ZSB8IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gY29tcD8ucmR0SXNBY3RpdmU/LigpID8/IHRydWU7XG4gIH1cblxuICBjYW5FbnRlclZpZXcoKTogUmR0Qm9vbGVhblJlc3VsdCB7XG4gICAgY29uc3QgY29tcCA9IHRoaXMuZ3VhcmRlZENvbXBvbmVudCBhcyBSZHRDYW5FbnRlclZpZXcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGVvZiBjb21wPy5yZHRDYW5FbnRlclZpZXcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBjb21wLnJkdENhbkVudGVyVmlldygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBjYW5MZWF2ZVZpZXcoKTogUmR0Qm9vbGVhblJlc3VsdCB7XG4gICAgY29uc3QgY29tcCA9IHRoaXMuZ3VhcmRlZENvbXBvbmVudCBhcyBSZHRDYW5MZWF2ZVZpZXcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGVvZiBjb21wPy5yZHRDYW5MZWF2ZVZpZXcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBjb21wLnJkdENhbkxlYXZlVmlldygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvblZpZXdXaWxsRW50ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgY29tcCA9IHRoaXMuZ3VhcmRlZENvbXBvbmVudCBhcyBSZHRPblZpZXdXaWxsRW50ZXIgfCB1bmRlZmluZWQ7XG4gICAgY29tcD8ucmR0T25WaWV3V2lsbEVudGVyKCk7XG4gIH1cblxuICBvblZpZXdXaWxsTGVhdmUoKTogdm9pZCB7XG4gICAgY29uc3QgY29tcCA9IHRoaXMuZ3VhcmRlZENvbXBvbmVudCBhcyBSZHRPblZpZXdXaWxsTGVhdmUgfCB1bmRlZmluZWQ7XG4gICAgY29tcD8ucmR0T25WaWV3V2lsbExlYXZlKCk7XG4gIH1cblxuICBnZXRQYXJlbnRCeUNsYXNzPFQgZXh0ZW5kcyBSZHRDb250YWluZXJEaXJlY3RpdmU+KFxuICAgIHBhcmVudENsYXNzOiBUeXBlPFQ+XG4gICk6IFQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuY29udGFpbmVyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGFpbmVyIGluc3RhbmNlb2YgcGFyZW50Q2xhc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmdldFBhcmVudEJ5Q2xhc3MocGFyZW50Q2xhc3MpO1xuICAgIH1cbiAgfVxufVxuIl19","import { Directive } from '@angular/core';\nimport { rdtGetAllResultsTrue$ } from '../../utils';\nimport { RDT_CONTAINER } from '../models';\nimport { RdtChildDirective } from './rdt-child.directive';\nimport * as i0 from \"@angular/core\";\nexport class RdtContainerDirective extends RdtChildDirective {\n rdtChildren = new Set();\n registerChild(child) {\n this.rdtChildren.add(child);\n }\n removeChild(child) {\n this.rdtChildren.delete(child);\n }\n checkCanLeave$() {\n return rdtGetAllResultsTrue$([this, ...this.getActiveChildren()].map((ch) => () => ch.canLeaveView()));\n }\n /* TODO\n checkCanEnter$() {\n return getCan$(\n [this, ...this.getActiveChildren()].map((ch) => () => ch.canEnterView())\n );\n }\n */\n onViewWillEnter() {\n super.onViewWillEnter();\n this.rdtChildren.forEach((ch) => ch.onViewWillEnter());\n }\n onViewWillLeave() {\n super.onViewWillLeave();\n this.rdtChildren.forEach((ch) => ch.onViewWillLeave());\n }\n getChildrenRecursive(filter) {\n const res = [];\n this._getChildrenRecursive(res, filter);\n return res;\n }\n getActiveChildren() {\n return this.getChildrenRecursive((ch) => ch.isActive());\n }\n getChildrenByClass(childClass) {\n const res = [];\n this._getChildrenByClassRecursive(childClass, res);\n return res;\n }\n _getChildrenRecursive(res, filter) {\n const children = Array.from(this.rdtChildren);\n const filteredChildren = filter ? children.filter(filter) : children;\n res.push(...filteredChildren);\n filteredChildren.forEach((child) => {\n if (child instanceof RdtContainerDirective) {\n child._getChildrenRecursive(res, filter);\n }\n });\n }\n _getChildrenByClassRecursive(childClass, res) {\n this.rdtChildren.forEach((child) => {\n const comp = child.guardedComponent;\n if (comp instanceof childClass) {\n res.push(comp);\n }\n else if (child instanceof RdtContainerDirective) {\n child._getChildrenByClassRecursive(childClass, res);\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: RdtContainerDirective, isStandalone: true, selector: \"[rdtContainer]\", providers: [\n {\n provide: RdtChildDirective,\n useExisting: RdtContainerDirective,\n },\n {\n provide: RDT_CONTAINER,\n useExisting: RdtContainerDirective,\n },\n ], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtContainerDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtContainer]',\n standalone: true,\n providers: [\n {\n provide: RdtChildDirective,\n useExisting: RdtContainerDirective,\n },\n {\n provide: RDT_CONTAINER,\n useExisting: RdtContainerDirective,\n },\n ],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL2NvbXBvbmVudC1ndWFyZC9kaXJlY3RpdmVzL3JkdC1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBZ0IxRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBQ2pELFdBQVcsR0FBMkIsSUFBSSxHQUFHLEVBQXFCLENBQUM7SUFFNUUsYUFBYSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLHFCQUFxQixDQUMxQixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FDekUsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O01BTUU7SUFFTyxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFF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aW1wb3J0IHsgcmR0R2V0QWxsUmVzdWx0c1RydWUkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUkRUX0NPTlRBSU5FUiB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZHRDaGlsZERpcmVjdGl2ZSB9IGZyb20gJy4vcmR0LWNoaWxkLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyZHRDb250YWluZXJdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUmR0Q2hpbGREaXJlY3RpdmUsXG4gICAgICB1c2VFeGlzdGluZzogUmR0Q29udGFpbmVyRGlyZWN0aXZlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUkRUX0NPTlRBSU5FUixcbiAgICAgIHVzZUV4aXN0aW5nOiBSZHRDb250YWluZXJEaXJlY3RpdmUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0Q29udGFpbmVyRGlyZWN0aXZlIGV4dGVuZHMgUmR0Q2hpbGREaXJlY3RpdmUge1xuICByZWFkb25seSByZHRDaGlsZHJlbjogU2V0PFJkdENoaWxkRGlyZWN0aXZlPiA9IG5ldyBTZXQ8UmR0Q2hpbGREaXJlY3RpdmU+KCk7XG5cbiAgcmVnaXN0ZXJDaGlsZChjaGlsZDogUmR0Q2hpbGREaXJlY3RpdmUpIHtcbiAgICB0aGlzLnJkdENoaWxkcmVuLmFkZChjaGlsZCk7XG4gIH1cblxuICByZW1vdmVDaGlsZChjaGlsZDogUmR0Q2hpbGREaXJlY3RpdmUpIHtcbiAgICB0aGlzLnJkdENoaWxkcmVuLmRlbGV0ZShjaGlsZCk7XG4gIH1cblxuICBjaGVja0NhbkxlYXZlJCgpIHtcbiAgICByZXR1cm4gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICAgICAgW3RoaXMsIC4uLnRoaXMuZ2V0QWN0aXZlQ2hpbGRyZW4oKV0ubWFwKChjaCkgPT4gKCkgPT4gY2guY2FuTGVhdmVWaWV3KCkpXG4gICAgKTtcbiAgfVxuXG4gIC8qIFRPRE9cbiAgY2hlY2tDYW5FbnRlciQoKSB7XG4gICAgcmV0dXJuIGdldENhbiQoXG4gICAgICBbdGhpcywgLi4udGhpcy5nZXRBY3RpdmVDaGlsZHJlbigpXS5tYXAoKGNoKSA9PiAoKSA9PiBjaC5jYW5FbnRlclZpZXcoKSlcbiAgICApO1xuICB9XG4gICovXG5cbiAgb3ZlcnJpZGUgb25WaWV3V2lsbEVudGVyKCkge1xuICAgIHN1cGVyLm9uVmlld1dpbGxFbnRlcigpO1xuICAgIHRoaXMucmR0Q2hpbGRyZW4uZm9yRWFjaCgoY2gpID0+IGNoLm9uVmlld1dpbGxFbnRlcigpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uVmlld1dpbGxMZWF2ZSgpIHtcbiAgICBzdXBlci5vblZpZXdXaWxsTGVhdmUoKTtcbiAgICB0aGlzLnJkdENoaWxkcmVuLmZvckVhY2goKGNoKSA9PiBjaC5vblZpZXdXaWxsTGVhdmUoKSk7XG4gIH1cblxuICBnZXRDaGlsZHJlblJlY3Vyc2l2ZShmaWx0ZXI/OiAoY2g6IFJkdENoaWxkRGlyZWN0aXZlKSA9PiBib29sZWFuKSB7XG4gICAgY29uc3QgcmVzOiBSZHRDaGlsZERpcmVjdGl2ZVtdID0gW107XG4gICAgdGhpcy5fZ2V0Q2hpbGRyZW5SZWN1cnNpdmUocmVzLCBmaWx0ZXIpO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QWN0aXZlQ2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW5SZWN1cnNpdmUoKGNoKSA9PiBjaC5pc0FjdGl2ZSgpKTtcbiAgfVxuXG4gIGdldENoaWxkcmVuQnlDbGFzczxUPihjaGlsZENsYXNzOiBUeXBlPFQ+KSB7XG4gICAgY29uc3QgcmVzOiBUW10gPSBbXTtcbiAgICB0aGlzLl9nZXRDaGlsZHJlbkJ5Q2xhc3NSZWN1cnNpdmUoY2hpbGRDbGFzcywgcmVzKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5SZWN1cnNpdmUoXG4gICAgcmVzOiBSZHRDaGlsZERpcmVjdGl2ZVtdLFxuICAgIGZpbHRlcj86IChjaDogUmR0Q2hpbGREaXJlY3RpdmUpID0+IGJvb2xlYW5cbiAgKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMucmR0Q2hpbGRyZW4pO1xuICAgIGNvbnN0IGZpbHRlcmVkQ2hpbGRyZW4gPSBmaWx0ZXIgPyBjaGlsZHJlbi5maWx0ZXIoZmlsdGVyKSA6IGNoaWxkcmVuO1xuICAgIHJlcy5wdXNoKC4uLmZpbHRlcmVkQ2hpbGRyZW4pO1xuICAgIGZpbHRlcmVkQ2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIGlmIChjaGlsZCBpbnN0YW5jZW9mIFJkdENvbnRhaW5lckRpcmVjdGl2ZSkge1xuICAgICAgICBjaGlsZC5fZ2V0Q2hpbGRyZW5SZWN1cnNpdmUocmVzLCBmaWx0ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5CeUNsYXNzUmVjdXJzaXZlPFQ+KGNoaWxkQ2xhc3M6IFR5cGU8VD4sIHJlczogVFtdKSB7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgY29uc3QgY29tcCA9IChjaGlsZCBhcyBSZHRDaGlsZERpcmVjdGl2ZSkuZ3VhcmRlZENvbXBvbmVudDtcbiAgICAgIGlmIChjb21wIGluc3RhbmNlb2YgY2hpbGRDbGFzcykge1xuICAgICAgICByZXMucHVzaChjb21wKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hpbGQgaW5zdGFuY2VvZiBSZHRDb250YWluZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgY2hpbGQuX2dldENoaWxkcmVuQnlDbGFzc1JlY3Vyc2l2ZShjaGlsZENsYXNzLCByZXMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=","import { booleanAttribute, ChangeDetectorRef, computed, DestroyRef, Directive, effect, inject, input, linkedSignal, signal, untracked, } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport const RDT_DEFAULT_DISABLED_KEY = Symbol('RDT_DEFAULT_DISABLED_KEY');\nexport const RDT_DEFAULT_LOADING_KEY = Symbol('RDT_DEFAULT_LOADING_KEY');\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class RdtInteractiveElementComponent {\n cd = inject(ChangeDetectorRef);\n destroyRef = inject(DestroyRef);\n // Input for the disabled state\n // Used only from outside using disabled=\"true\" construct.\n disabledInput = input(false, ...(ngDevMode ? [{ debugName: \"disabledInput\", alias: 'rdtDisabled',\n transform: booleanAttribute }] : [{\n alias: 'rdtDisabled',\n transform: booleanAttribute,\n }]));\n // Map to track disabled state keys\n disabledMap = signal({}, ...(ngDevMode ? [{ debugName: \"disabledMap\" }] : []));\n // Computed disabled state\n disabled = computed(() => this.disabledInput() || Object.values(this.disabledMap()).some(Boolean), ...(ngDevMode ? [{ debugName: \"disabled\" }] : []));\n // In case component is focused and disabled\n disabledEffect = effect(() => {\n if (untracked(this.focused) && this.disabled()) {\n this.focused.set(false);\n }\n }, ...(ngDevMode ? [{ debugName: \"disabledEffect\" }] : []));\n loadingInput = input(false, ...(ngDevMode ? [{ debugName: \"loadingInput\", alias: 'loading',\n transform: booleanAttribute }] : [{\n alias: 'loading',\n transform: booleanAttribute,\n }]));\n loadingMap = signal({}, ...(ngDevMode ? [{ debugName: \"loadingMap\" }] : []));\n loading = computed(() => this.loadingInput() || Object.values(this.loadingMap()).some(Boolean), ...(ngDevMode ? [{ debugName: \"loading\" }] : []));\n idInput = input('', ...(ngDevMode ? [{ debugName: \"idInput\", alias: 'id',\n transform: (value) => value || this._uid }] : [{\n alias: 'id',\n transform: (value) => value || this._uid,\n }]));\n id = linkedSignal(() => this.idInput());\n get uid() {\n return this._uid;\n }\n _uid = (Math.random() + 1).toString(36).substring(7);\n focused = signal(false, ...(ngDevMode ? [{ debugName: \"focused\" }] : []));\n getAutofocusPriority() {\n return 0;\n }\n setDisabledState(isDisabled, key = RDT_DEFAULT_DISABLED_KEY) {\n const map = { ...this.disabledMap() };\n if (isDisabled) {\n map[key] = true;\n }\n else {\n delete map[key];\n }\n this.disabledMap.set(map);\n }\n setLoadingState(isLoading, key = RDT_DEFAULT_LOADING_KEY) {\n const map = { ...this.loadingMap() };\n if (isLoading) {\n map[key] = true;\n }\n else {\n delete map[key];\n }\n this.loadingMap.set(map);\n }\n onFocus() {\n this.focused.set(true);\n }\n onBlur() {\n this.focused.set(false);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtInteractiveElementComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.1.7\", type: RdtInteractiveElementComponent, isStandalone: true, inputs: { disabledInput: { classPropertyName: \"disabledInput\", publicName: \"rdtDisabled\", isSignal: true, isRequired: false, transformFunction: null }, loadingInput: { classPropertyName: \"loadingInput\", publicName: \"loading\", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: \"idInput\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RdtInteractiveElementComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWludGVyYWN0aXZlLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9pbnRlcmFjdGl2ZS1lbGVtZW50L3JkdC1pbnRlcmFjdGl2ZS1lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFJdkIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFLekUsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0IsOEJBQThCO0lBR3pDLEVBQUUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMvQixVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXpDLCtCQUErQjtJQUMvQiwwREFBMEQ7SUFDdkMsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLGlEQUM1QyxLQUFLLEVBQUUsYUFBYTtZQUNwQixTQUFTLEVBQUUsZ0JBQWdCLE9BRm1CO1lBQzlDLEtBQUssRUFBRSxhQUFhO1lBQ3BCLFNBQVMsRUFBRSxnQkFBZ0I7U0FDNUIsR0FBQyxDQUFDO0lBQ0gsbUNBQW1DO0lBQ2hCLFdBQVcsR0FBRyxNQUFNLENBQTBCLEVBQUUsdURBQUMsQ0FBQztJQUNyRSwwQkFBMEI7SUFDakIsUUFBUSxHQUFHLFFBQVEsQ0FDMUIsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLE1B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LEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7dUdBakZtQiw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFKbkQsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBsaW5rZWRTaWduYWwsXG4gIHNpZ25hbCxcbiAgdW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkdEF1dG9mb2N1c2FibGUgfSBmcm9tICcuLi9hdXRvZm9jdXMnO1xuaW1wb3J0IHsgUmR0Qm9vbGVhblJlc3VsdCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFJEVF9ERUZBVUxUX0RJU0FCTEVEX0tFWSA9IFN5bWJvbCgnUkRUX0RFRkFVTFRfRElTQUJMRURfS0VZJyk7XG5leHBvcnQgY29uc3QgUkRUX0RFRkFVTFRfTE9BRElOR19LRVkgPSBTeW1ib2woJ1JEVF9ERUZBVUxUX0xPQURJTkdfS0VZJyk7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJkdEludGVyYWN0aXZlRWxlbWVudENvbXBvbmVudFxuICBpbXBsZW1lbnRzIFJkdEF1dG9mb2N1c2FibGVcbntcbiAgcmVhZG9ubHkgY2QgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIC8vIElucHV0IGZvciB0aGUgZGlzYWJsZWQgc3RhdGVcbiAgLy8gVXNlZCBvbmx5IGZyb20gb3V0c2lkZSB1c2luZyBkaXNhYmxlZD1cInRydWVcIiBjb25zdHJ1Y3QuXG4gIHByb3RlY3RlZCByZWFkb25seSBkaXNhYmxlZElucHV0ID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ3JkdERpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuICAvLyBNYXAgdG8gdHJhY2sgZGlzYWJsZWQgc3RhdGUga2V5c1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZWRNYXAgPSBzaWduYWw8UmVjb3JkPHN5bWJvbCwgYm9vbGVhbj4+KHt9KTtcbiAgLy8gQ29tcHV0ZWQgZGlzYWJsZWQgc3RhdGVcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5kaXNhYmxlZElucHV0KCkgfHwgT2JqZWN0LnZhbHVlcyh0aGlzLmRpc2FibGVkTWFwKCkpLnNvbWUoQm9vbGVhbilcbiAgKTtcbiAgLy8gSW4gY2FzZSBjb21wb25lbnQgaXMgZm9jdXNlZCBhbmQgZGlzYWJsZWRcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpc2FibGVkRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodW50cmFja2VkKHRoaXMuZm9jdXNlZCkgJiYgdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLmZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nSW5wdXQgPSBpbnB1dChmYWxzZSwge1xuICAgIGFsaWFzOiAnbG9hZGluZycsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvYWRpbmdNYXAgPSBzaWduYWw8UmVjb3JkPHN5bWJvbCwgYm9vbGVhbj4+KHt9KTtcbiAgcmVhZG9ubHkgbG9hZGluZyA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMubG9hZGluZ0lucHV0KCkgfHwgT2JqZWN0LnZhbHVlcyh0aGlzLmxvYWRpbmdNYXAoKSkuc29tZShCb29sZWFuKVxuICApO1xuXG4gIHJlYWRvbmx5IGlkSW5wdXQgPSBpbnB1dCgnJywge1xuICAgIGFsaWFzOiAnaWQnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSB8fCB0aGlzLl91aWQsXG4gIH0pO1xuICByZWFkb25seSBpZCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmlkSW5wdXQoKSk7XG5cbiAgZ2V0IHVpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdWlkO1xuICB9XG4gIHByb3RlY3RlZCBfdWlkID0gKE1hdGgucmFuZG9tKCkgKyAxKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpO1xuXG4gIHJlYWRvbmx5IGZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGFic3RyYWN0IGZvY3VzKCk6IHZvaWQ7XG4gIGFic3RyYWN0IGNhbkZvY3VzKCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG5cbiAgZ2V0QXV0b2ZvY3VzUHJpb3JpdHkoKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4sIGtleSA9IFJEVF9ERUZBVUxUX0RJU0FCTEVEX0tFWSk6IHZvaWQge1xuICAgIGNvbnN0IG1hcCA9IHsgLi4udGhpcy5kaXNhYmxlZE1hcCgpIH07XG4gICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgIG1hcFtrZXldID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIG1hcFtrZXldO1xuICAgIH1cbiAgICB0aGlzLmRpc2FibGVkTWFwLnNldChtYXApO1xuICB9XG5cbiAgc2V0TG9hZGluZ1N0YXRlKGlzTG9hZGluZzogYm9vbGVhbiwga2V5ID0gUkRUX0RFRkFVTFRfTE9BRElOR19LRVkpOiB2b2lkIHtcbiAgICBjb25zdCBtYXAgPSB7IC4uLnRoaXMubG9hZGluZ01hcCgpIH07XG4gICAgaWYgKGlzTG9hZGluZykge1xuICAgICAgbWFwW2tleV0gPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWxldGUgbWFwW2tleV07XG4gICAgfVxuICAgIHRoaXMubG9hZGluZ01hcC5zZXQobWFwKTtcbiAgfVxuXG4gIG9uRm9jdXMoKSB7XG4gICAgdGhpcy5mb2N1c2VkLnNldCh0cnVlKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICB0aGlzLmZvY3VzZWQuc2V0KGZhbHNlKTtcbiAgfVxufVxuIl19","import { isSignal, linkedSignal, signal, } from '@angular/core';\nexport function rdtCreateLinkedState(params) {\n const state = {};\n for (const key in params) {\n const value = params[key];\n if (isSignal(value)) {\n state[key] = linkedSignal(() => value);\n }\n else {\n state[key] = signal(value);\n }\n }\n return state;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNyZWF0ZS1saW5rZWQtc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL2xpbmtlZC1zdGF0ZS9yZHQtY3JlYXRlLWxpbmtlZC1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFPdkIsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUEwQztJQUUxQyxNQUFNLEtBQUssR0FBb0MsRUFBRSxDQUFDO0lBRWxELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDekIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBRXBDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUF1QyxDQUFDO1FBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUErQixDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc1NpZ25hbCxcbiAgbGlua2VkU2lnbmFsLFxuICBzaWduYWwsXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0TGlua2VkU3RhdGUgfSBmcm9tICcuL3JkdC1saW5rZWQtc3RhdGUnO1xuXG5leHBvcnQgdHlwZSBSZHRDcmVhdGVMaW5rZWRTdGF0ZVBhcmFtczxUSW5wdXQ+ID0ge1xuICBba2V5IGluIGtleW9mIFRJbnB1dF06IFNpZ25hbDxUSW5wdXRba2V5XT4gfCBUSW5wdXRba2V5XTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZHRDcmVhdGVMaW5rZWRTdGF0ZTxUSW5wdXQ+KFxuICBwYXJhbXM6IFJkdENyZWF0ZUxpbmtlZFN0YXRlUGFyYW1zPFRJbnB1dD5cbik6IFJkdExpbmtlZFN0YXRlPFRJbnB1dD4ge1xuICBjb25zdCBzdGF0ZTogUGFydGlhbDxSZHRMaW5rZWRTdGF0ZTxUSW5wdXQ+PiA9IHt9O1xuXG4gIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xuICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zW2tleV07XG4gICAgaWYgKGlzU2lnbmFsKHZhbHVlKSkge1xuICAgICAgc3RhdGVba2V5XSA9IGxpbmtlZFNpZ25hbCgoKSA9PiB2YWx1ZSkgYXMgV3JpdGFibGVTaWduYWw8XG4gICAgICAgIFRJbnB1dFt0eXBlb2Yga2V5XVxuICAgICAgPjtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGVba2V5XSA9IHNpZ25hbCh2YWx1ZSkgYXMgV3JpdGFibGVTaWduYWw8VElucHV0W3R5cGVvZiBrZXldPjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGUgYXMgUmR0TGlua2VkU3RhdGU8VElucHV0Pjtcbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9uZ3JkdC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,139 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, AfterViewInit, OnDestroy, OnInit, Type, DestroyRef, ChangeDetectorRef, WritableSignal, Signal } from '@angular/core';
|
|
3
|
+
import * as rxjs from 'rxjs';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import * as _ngrdt_core from '@ngrdt/core';
|
|
6
|
+
import { Nullable } from '@ngrdt/utils';
|
|
7
|
+
|
|
8
|
+
type RdtBooleanResult = Observable<boolean> | Promise<boolean> | boolean;
|
|
9
|
+
declare function rdtGetAllResultsTrue$(inputFactories: (() => RdtBooleanResult)[]): Observable<boolean>;
|
|
10
|
+
declare function rdtGetResult$(inputFactory: () => RdtBooleanResult): Observable<true>;
|
|
11
|
+
|
|
12
|
+
interface RdtAutofocusable {
|
|
13
|
+
focus(): void;
|
|
14
|
+
canFocus(): RdtBooleanResult;
|
|
15
|
+
getAutofocusPriority?(): number;
|
|
16
|
+
}
|
|
17
|
+
declare const RDT_AUTOFOCUSABLE_COMPONENT: InjectionToken<RdtAutofocusable>;
|
|
18
|
+
|
|
19
|
+
declare class RdtAutoFocusOnInitDirective implements AfterViewInit, OnDestroy {
|
|
20
|
+
private previousActiveElement;
|
|
21
|
+
private readonly document;
|
|
22
|
+
private readonly elementRef;
|
|
23
|
+
private readonly autofocusable;
|
|
24
|
+
ngOnDestroy(): void;
|
|
25
|
+
ngAfterViewInit(): void;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtAutoFocusOnInitDirective, never>;
|
|
27
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtAutoFocusOnInitDirective, "[rdtAutofocusOnInit]", never, {}, {}, never, never, true, never>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
declare class RdtAutofocusableDirective implements OnInit {
|
|
31
|
+
readonly component: _ngrdt_core.RdtAutofocusable | null;
|
|
32
|
+
ngOnInit(): void;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtAutofocusableDirective, never>;
|
|
34
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtAutofocusableDirective, "[rdtAutofocusable]", never, {}, {}, never, never, true, never>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
declare function getRdtAutofocusable(src: Iterable<RdtAutofocusableDirective>): RdtAutofocusable | null;
|
|
38
|
+
|
|
39
|
+
declare class RdtContainerDirective extends RdtChildDirective {
|
|
40
|
+
readonly rdtChildren: Set<RdtChildDirective>;
|
|
41
|
+
registerChild(child: RdtChildDirective): void;
|
|
42
|
+
removeChild(child: RdtChildDirective): void;
|
|
43
|
+
checkCanLeave$(): rxjs.Observable<boolean>;
|
|
44
|
+
onViewWillEnter(): void;
|
|
45
|
+
onViewWillLeave(): void;
|
|
46
|
+
getChildrenRecursive(filter?: (ch: RdtChildDirective) => boolean): RdtChildDirective[];
|
|
47
|
+
protected getActiveChildren(): RdtChildDirective[];
|
|
48
|
+
getChildrenByClass<T>(childClass: Type<T>): T[];
|
|
49
|
+
private _getChildrenRecursive;
|
|
50
|
+
private _getChildrenByClassRecursive;
|
|
51
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtContainerDirective, never>;
|
|
52
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtContainerDirective, "[rdtContainer]", never, {}, {}, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface RdtIsActive {
|
|
56
|
+
rdtIsActive(): boolean;
|
|
57
|
+
}
|
|
58
|
+
interface RdtCanLeaveView {
|
|
59
|
+
rdtCanLeaveView(): RdtBooleanResult;
|
|
60
|
+
}
|
|
61
|
+
interface RdtCanEnterView {
|
|
62
|
+
rdtCanEnterView(): RdtBooleanResult;
|
|
63
|
+
}
|
|
64
|
+
interface RdtOnViewWillLeave {
|
|
65
|
+
rdtOnViewWillLeave(): void;
|
|
66
|
+
}
|
|
67
|
+
interface RdtOnViewWillEnter {
|
|
68
|
+
rdtOnViewWillEnter(): void;
|
|
69
|
+
}
|
|
70
|
+
declare const RDT_GUARDED_COMPONENT: InjectionToken<RdtIsActive | RdtCanLeaveView | RdtCanEnterView | RdtOnViewWillEnter | RdtOnViewWillLeave>;
|
|
71
|
+
declare const RDT_CONTAINER: InjectionToken<RdtContainerDirective>;
|
|
72
|
+
declare function canTransition$(from: Nullable<RdtContainerDirective>, to: Nullable<RdtContainerDirective>): rxjs.Observable<boolean>;
|
|
73
|
+
|
|
74
|
+
declare class RdtComponentGuardStoreService {
|
|
75
|
+
private readonly guards;
|
|
76
|
+
registerGuard(guard: RdtChildDirective): void;
|
|
77
|
+
removeGuard(guard: RdtChildDirective): void;
|
|
78
|
+
getGuards(): RdtChildDirective[];
|
|
79
|
+
checkCanLeaveGlobal$(): rxjs.Observable<boolean>;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtComponentGuardStoreService, never>;
|
|
81
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RdtComponentGuardStoreService>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
declare class RdtChildDirective implements OnInit, OnDestroy {
|
|
85
|
+
readonly guardStore: RdtComponentGuardStoreService;
|
|
86
|
+
readonly destroyRef: DestroyRef;
|
|
87
|
+
readonly container: RdtContainerDirective | null;
|
|
88
|
+
readonly guardedComponent: RdtIsActive | RdtCanLeaveView | RdtCanEnterView | RdtOnViewWillEnter | RdtOnViewWillLeave | null;
|
|
89
|
+
ngOnInit(): void;
|
|
90
|
+
ngOnDestroy(): void;
|
|
91
|
+
isActive(): boolean;
|
|
92
|
+
canEnterView(): RdtBooleanResult;
|
|
93
|
+
canLeaveView(): RdtBooleanResult;
|
|
94
|
+
onViewWillEnter(): void;
|
|
95
|
+
onViewWillLeave(): void;
|
|
96
|
+
getParentByClass<T extends RdtContainerDirective>(parentClass: Type<T>): T | null;
|
|
97
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtChildDirective, never>;
|
|
98
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtChildDirective, "[rdtChild]", never, {}, {}, never, never, true, never>;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
declare const RDT_DEFAULT_DISABLED_KEY: unique symbol;
|
|
102
|
+
declare const RDT_DEFAULT_LOADING_KEY: unique symbol;
|
|
103
|
+
declare abstract class RdtInteractiveElementComponent implements RdtAutofocusable {
|
|
104
|
+
readonly cd: ChangeDetectorRef;
|
|
105
|
+
readonly destroyRef: DestroyRef;
|
|
106
|
+
protected readonly disabledInput: i0.InputSignalWithTransform<boolean, unknown>;
|
|
107
|
+
protected readonly disabledMap: i0.WritableSignal<Record<symbol, boolean>>;
|
|
108
|
+
readonly disabled: i0.Signal<boolean>;
|
|
109
|
+
protected readonly disabledEffect: i0.EffectRef;
|
|
110
|
+
protected readonly loadingInput: i0.InputSignalWithTransform<boolean, unknown>;
|
|
111
|
+
protected readonly loadingMap: i0.WritableSignal<Record<symbol, boolean>>;
|
|
112
|
+
readonly loading: i0.Signal<boolean>;
|
|
113
|
+
readonly idInput: i0.InputSignalWithTransform<{}, unknown>;
|
|
114
|
+
readonly id: i0.WritableSignal<{}>;
|
|
115
|
+
get uid(): string;
|
|
116
|
+
protected _uid: string;
|
|
117
|
+
readonly focused: i0.WritableSignal<boolean>;
|
|
118
|
+
abstract focus(): void;
|
|
119
|
+
abstract canFocus(): RdtBooleanResult;
|
|
120
|
+
getAutofocusPriority(): number;
|
|
121
|
+
setDisabledState(isDisabled: boolean, key?: symbol): void;
|
|
122
|
+
setLoadingState(isLoading: boolean, key?: symbol): void;
|
|
123
|
+
onFocus(): void;
|
|
124
|
+
onBlur(): void;
|
|
125
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RdtInteractiveElementComponent, never>;
|
|
126
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtInteractiveElementComponent, never, never, { "disabledInput": { "alias": "rdtDisabled"; "required": false; "isSignal": true; }; "loadingInput": { "alias": "loading"; "required": false; "isSignal": true; }; "idInput": { "alias": "id"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
type RdtLinkedState<TInput> = {
|
|
130
|
+
[key in keyof TInput]: WritableSignal<TInput[key]>;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
type RdtCreateLinkedStateParams<TInput> = {
|
|
134
|
+
[key in keyof TInput]: Signal<TInput[key]> | TInput[key];
|
|
135
|
+
};
|
|
136
|
+
declare function rdtCreateLinkedState<TInput>(params: RdtCreateLinkedStateParams<TInput>): RdtLinkedState<TInput>;
|
|
137
|
+
|
|
138
|
+
export { RDT_AUTOFOCUSABLE_COMPONENT, RDT_CONTAINER, RDT_DEFAULT_DISABLED_KEY, RDT_DEFAULT_LOADING_KEY, RDT_GUARDED_COMPONENT, RdtAutoFocusOnInitDirective, RdtAutofocusableDirective, RdtChildDirective, RdtComponentGuardStoreService, RdtContainerDirective, RdtInteractiveElementComponent, canTransition$, getRdtAutofocusable, rdtCreateLinkedState, rdtGetAllResultsTrue$, rdtGetResult$ };
|
|
139
|
+
export type { RdtAutofocusable, RdtBooleanResult, RdtCanEnterView, RdtCanLeaveView, RdtCreateLinkedStateParams, RdtIsActive, RdtLinkedState, RdtOnViewWillEnter, RdtOnViewWillLeave };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngrdt/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "v0.0.18",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": ">=18.2.0",
|
|
6
6
|
"rxjs": ">=7.0.0",
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
},
|
|
16
16
|
".": {
|
|
17
17
|
"types": "./index.d.ts",
|
|
18
|
-
"esm2022": "./esm2022/ngrdt-core.mjs",
|
|
19
|
-
"esm": "./esm2022/ngrdt-core.mjs",
|
|
20
18
|
"default": "./fesm2022/ngrdt-core.mjs"
|
|
21
19
|
}
|
|
22
20
|
},
|
package/esm2022/index.mjs
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
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==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './models';
|
|
2
|
-
export * from './rdt-autofocusable.directive';
|
|
3
|
-
export * from './utils';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1hdXRvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken('');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtYXV0b2ZvY3VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCxFQUFFLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdEF1dG9jdXNhYmxlIHtcbiAgcmR0Rm9jdXMoKTogdm9pZDtcbiAgcmR0Q2FuRm9jdXMoKTogUmR0Qm9vbGVhblJlc3VsdDtcbiAgcmR0R2V0QXV0b2ZvY3VzUHJpb3JpdHk/KCk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRBdXRvY3VzYWJsZT4oXG4gICcnXG4pO1xuIl19
|
|
@@ -1,27 +0,0 @@
|
|
|
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
|
|
@@ -1,9 +0,0 @@
|
|
|
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=
|
|
@@ -1,88 +0,0 @@
|
|
|
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==
|
|
@@ -1,95 +0,0 @@
|
|
|
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
|
|
@@ -1,5 +0,0 @@
|
|
|
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
|
|
@@ -1,25 +0,0 @@
|
|
|
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=
|
|
@@ -1,36 +0,0 @@
|
|
|
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
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './rdt-boolean-result';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JkdC1ib29sZWFuLXJlc3VsdCc7XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
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=
|
package/esm2022/ngrdt-core.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9uZ3JkdC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { RdtBooleanResult } from '../utils';
|
|
3
|
-
export interface RdtAutocusable {
|
|
4
|
-
rdtFocus(): void;
|
|
5
|
-
rdtCanFocus(): RdtBooleanResult;
|
|
6
|
-
rdtGetAutofocusPriority?(): number;
|
|
7
|
-
}
|
|
8
|
-
export declare const RDT_AUTOFOCUSABLE_COMPONENT: InjectionToken<RdtAutocusable>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class RdtAutofocusableDirective implements OnInit {
|
|
4
|
-
readonly component: import("./models").RdtAutocusable | null;
|
|
5
|
-
ngOnInit(): void;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtAutofocusableDirective, never>;
|
|
7
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtAutofocusableDirective, "[rdtAutofocusable]", never, {}, {}, never, never, false, never>;
|
|
8
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, OnDestroy, OnInit, Type } from '@angular/core';
|
|
2
|
-
import { RdtBooleanResult } from '../../utils';
|
|
3
|
-
import { RdtCanEnterView, RdtCanLeaveView, RdtIsActive, RdtOnViewWillEnter, RdtOnViewWillLeave } from '../models';
|
|
4
|
-
import { RdtComponentGuardStoreService } from '../services/rdt-component-guard-store.service';
|
|
5
|
-
import { RdtContainerDirective } from './rdt-container.directive';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class RdtChildDirective implements OnInit, OnDestroy {
|
|
8
|
-
readonly guardStore: RdtComponentGuardStoreService;
|
|
9
|
-
readonly destroyRef: DestroyRef;
|
|
10
|
-
readonly container: RdtContainerDirective | null;
|
|
11
|
-
readonly guardedComponent: RdtIsActive | RdtCanLeaveView | RdtCanEnterView | RdtOnViewWillEnter | RdtOnViewWillLeave | null;
|
|
12
|
-
ngOnInit(): void;
|
|
13
|
-
ngOnDestroy(): void;
|
|
14
|
-
isActive(): boolean;
|
|
15
|
-
canEnterView(): RdtBooleanResult;
|
|
16
|
-
canLeaveView(): RdtBooleanResult;
|
|
17
|
-
onViewWillEnter(): void;
|
|
18
|
-
onViewWillLeave(): void;
|
|
19
|
-
getParentByClass<T extends RdtContainerDirective>(parentClass: Type<T>): T | null;
|
|
20
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtChildDirective, never>;
|
|
21
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtChildDirective, "[rdtChild]", never, {}, {}, never, never, true, never>;
|
|
22
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Type } from '@angular/core';
|
|
2
|
-
import { RdtChildDirective } from './rdt-child.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class RdtContainerDirective extends RdtChildDirective {
|
|
5
|
-
readonly rdtChildren: Set<RdtChildDirective>;
|
|
6
|
-
registerChild(child: RdtChildDirective): void;
|
|
7
|
-
removeChild(child: RdtChildDirective): void;
|
|
8
|
-
checkCanLeave$(): import("rxjs").Observable<boolean>;
|
|
9
|
-
onViewWillEnter(): void;
|
|
10
|
-
onViewWillLeave(): void;
|
|
11
|
-
getChildrenRecursive(filter?: (ch: RdtChildDirective) => boolean): RdtChildDirective[];
|
|
12
|
-
protected getActiveChildren(): RdtChildDirective[];
|
|
13
|
-
getChildrenByClass<T>(childClass: Type<T>): T[];
|
|
14
|
-
private _getChildrenRecursive;
|
|
15
|
-
private _getChildrenByClassRecursive;
|
|
16
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtContainerDirective, never>;
|
|
17
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtContainerDirective, "[rdtContainer]", never, {}, {}, never, never, true, never>;
|
|
18
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { Nullable } from '@ngrdt/utils';
|
|
3
|
-
import { RdtBooleanResult } from '../utils';
|
|
4
|
-
import { RdtContainerDirective } from './directives/rdt-container.directive';
|
|
5
|
-
export interface RdtIsActive {
|
|
6
|
-
rdtIsActive(): boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface RdtCanLeaveView {
|
|
9
|
-
rdtCanLeaveView(): RdtBooleanResult;
|
|
10
|
-
}
|
|
11
|
-
export interface RdtCanEnterView {
|
|
12
|
-
rdtCanEnterView(): RdtBooleanResult;
|
|
13
|
-
}
|
|
14
|
-
export interface RdtOnViewWillLeave {
|
|
15
|
-
rdtOnViewWillLeave(): void;
|
|
16
|
-
}
|
|
17
|
-
export interface RdtOnViewWillEnter {
|
|
18
|
-
rdtOnViewWillEnter(): void;
|
|
19
|
-
}
|
|
20
|
-
export declare const RDT_GUARDED_COMPONENT: InjectionToken<RdtIsActive | RdtCanLeaveView | RdtCanEnterView | RdtOnViewWillEnter | RdtOnViewWillLeave>;
|
|
21
|
-
export declare const RDT_CONTAINER: InjectionToken<RdtContainerDirective>;
|
|
22
|
-
export declare function canTransition$(from: Nullable<RdtContainerDirective>, to: Nullable<RdtContainerDirective>): import("rxjs").Observable<boolean>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { RdtChildDirective } from '../directives/rdt-child.directive';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class RdtComponentGuardStoreService {
|
|
4
|
-
private readonly guards;
|
|
5
|
-
registerGuard(guard: RdtChildDirective): void;
|
|
6
|
-
removeGuard(guard: RdtChildDirective): void;
|
|
7
|
-
getGuards(): RdtChildDirective[];
|
|
8
|
-
checkCanLeaveGlobal$(): import("rxjs").Observable<boolean>;
|
|
9
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtComponentGuardStoreService, never>;
|
|
10
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RdtComponentGuardStoreService>;
|
|
11
|
-
}
|
package/lib/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './rdt-boolean-result';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
export type RdtBooleanResult = Observable<boolean> | Promise<boolean> | boolean;
|
|
3
|
-
export declare function rdtGetAllResultsTrue$(inputFactories: (() => RdtBooleanResult)[]): Observable<boolean>;
|
|
4
|
-
export declare function rdtGetResult$(inputFactory: () => RdtBooleanResult): Observable<true>;
|