@dereekb/dbx-core 12.4.4 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import { Injector } from '@angular/core';
2
2
  import { distinctUntilChanged, map, shareReplay, BehaviorSubject, combineLatest } from 'rxjs';
3
3
  import { DBX_INJECTION_COMPONENT_DATA } from './injection';
4
- import { pushItemOrArrayItemsIntoArray } from '@dereekb/util';
5
4
  import { SubscriptionObject, filterMaybe, maybeValueFromObservableOrValueGetter, skipAllInitialMaybe } from '@dereekb/rxjs';
5
+ import { mergeStaticProviders } from './injection.util';
6
6
  /**
7
7
  * Instance used by components to inject content based on the configuration into the view.
8
8
  */
@@ -84,14 +84,13 @@ export class DbxInjectionInstance {
84
84
  const parentInjector = inputInjector ?? this._injector;
85
85
  let injector = parentInjector;
86
86
  if (providers || data) {
87
+ const dataProvider = {
88
+ provide: DBX_INJECTION_COMPONENT_DATA,
89
+ useValue: data
90
+ };
87
91
  injector = Injector.create({
88
92
  parent: parentInjector,
89
- providers: pushItemOrArrayItemsIntoArray([
90
- {
91
- provide: DBX_INJECTION_COMPONENT_DATA,
92
- useValue: data
93
- }
94
- ], providers ?? [])
93
+ providers: mergeStaticProviders(dataProvider, providers)
95
94
  });
96
95
  }
97
96
  const componentRef = content.createComponent(componentClass, { injector, ngModuleRef });
@@ -119,4 +118,4 @@ export class DbxInjectionInstance {
119
118
  }
120
119
  }
121
120
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLmluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9pbmplY3Rpb24vaW5qZWN0aW9uLmluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBMkQsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEgsT0FBTyxFQUFtQyw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQWdDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQ0FBcUMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSjs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFDZCxtQkFBbUIsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFFL0MsT0FBTyxHQUFHLElBQUksZUFBZSxDQUErRCxTQUFTLENBQUMsQ0FBQztJQUN2RyxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQThELFNBQVMsQ0FBQyxDQUFDO0lBRXhHLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsU0FBUyxDQUFDLENBQUM7SUFDbkUsYUFBYSxHQUFHLElBQUksZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztJQUV2RSxTQUFTLENBQVc7SUFFNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pILFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTlGLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQW9FO1FBQzdFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFxRTtRQUNoRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsT0FBdUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksWUFBWSxDQUFDLFlBQW9DO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLFFBQWtCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJO1FBQ0YsMkZBQTJGO1FBQzNGLHdEQUF3RDtRQUN4RCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3pCLElBQUksTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixPQUFPO29CQUNMLE1BQU07b0JBQ04sUUFBUTtpQkFDVCxDQUFDO1lBQ0osQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixtQkFBbUIsRUFBRSxDQUN0QixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQzdILE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXJCLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkMsQ0FBQztpQkFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxjQUFjLENBQUMsTUFBc0MsRUFBRSxPQUF5QjtRQUN0RixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEIsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUUvRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5RkFBeUYsQ0FBQyxDQUFDO1FBQzdHLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN2RCxJQUFJLFFBQVEsR0FBeUIsY0FBYyxDQUFDO1FBRXBELElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3RCLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUN6QixNQUFNLEVBQUUsY0FBYztnQkFDdEIsU0FBUyxFQUFFLDZCQUE2QixDQUN0QztvQkFDRTt3QkFDRSxPQUFPLEVBQUUsNEJBQTRCO3dCQUNyQyxRQUFRLEVBQUUsSUFBSTtxQkFDZjtpQkFDRixFQUNELFNBQVMsSUFBSSxFQUFFLENBQ2hCO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFvQixPQUFPLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXpHLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFFdkMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQixDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFxQyxFQUFFLE9BQXlCO1FBQ3BGLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVoQixNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUV4QyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUV4QyxrSUFBa0k7UUFDcEksQ0FBQzthQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUF5QjtRQUN0QyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5LCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZywgRGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWcsIERCWF9JTkpFQ1RJT05fQ09NUE9ORU5UX0RBVEEgfSBmcm9tICcuL2luamVjdGlvbic7XG5pbXBvcnQgeyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUsIE1heWJlLCBwdXNoSXRlbU9yQXJyYXlJdGVtc0ludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlciwgU3Vic2NyaXB0aW9uT2JqZWN0LCBmaWx0ZXJNYXliZSwgbWF5YmVWYWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZUdldHRlciwgc2tpcEFsbEluaXRpYWxNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIEluc3RhbmNlIHVzZWQgYnkgY29tcG9uZW50cyB0byBpbmplY3QgY29udGVudCBiYXNlZCBvbiB0aGUgY29uZmlndXJhdGlvbiBpbnRvIHRoZSB2aWV3LlxuICovXG5leHBvcnQgY2xhc3MgRGJ4SW5qZWN0aW9uSW5zdGFuY2U8VD4gaW1wbGVtZW50cyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdWJzY3JpcHRpb25PYmplY3QgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RlbXBsYXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPERieEluamVjdGlvblRlbXBsYXRlQ29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50UmVmID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxDb21wb25lbnRSZWY8VD4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yOiBJbmplY3RvcjtcblxuICByZWFkb25seSBjb25maWckID0gdGhpcy5fY29uZmlnLnBpcGUobWF5YmVWYWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZUdldHRlcigpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IHRlbXBsYXRlJCA9IHRoaXMuX3RlbXBsYXRlLnBpcGUobWF5YmVWYWx1ZUZyb21PYnNlcnZhYmxlT3JWYWx1ZUdldHRlcigpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGNvbnRlbnQkID0gdGhpcy5fY29udGVudC5waXBlKGZpbHRlck1heWJlKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBnZXQgY29uZmlnKCk6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy52YWx1ZTtcbiAgfVxuXG4gIHNldCBjb25maWcoY29uZmlnOiBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPj4pIHtcbiAgICB0aGlzLl9jb25maWcubmV4dChjb25maWcpO1xuICB9XG5cbiAgZ2V0IHRlbXBsYXRlKCk6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWc8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGUudmFsdWU7XG4gIH1cblxuICBzZXQgdGVtcGxhdGUodGVtcGxhdGU6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWc8VD4+KSB7XG4gICAgdGhpcy5fdGVtcGxhdGUubmV4dCh0ZW1wbGF0ZSk7XG4gIH1cblxuICBnZXQgY29udGVudCgpOiBNYXliZTxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50LnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbnRlbnQoY29udGVudDogTWF5YmU8TWF5YmU8Vmlld0NvbnRhaW5lclJlZj4+KSB7XG4gICAgdGhpcy5fY29udGVudC5uZXh0KGNvbnRlbnQpO1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudFJlZigpOiBNYXliZTxDb21wb25lbnRSZWY8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbXBvbmVudFJlZihjb21wb25lbnRSZWY6IE1heWJlPENvbXBvbmVudFJlZjxUPj4pIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYubmV4dChjb21wb25lbnRSZWYpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5faW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCB1bnRpbCB0aGUgZmlyc3Qgb2YgZWl0aGVyIG9mIHRoZSB0d28gaW5wdXRzIGNvbWVzIGluIGFzIG5vdCBkZWZpbmVkLCBhbmQgdGhlbiBlbWl0LlxuICAgIC8vIFdlIGZpbHRlciB0aGUgZmlyc3QgbWF5YmUgaGVyZSBiZXR3ZWVuIHRoZSB0d28gaXRlbXMuXG4gICAgY29uc3QgY29uZmlnVGVtcGxhdGVPYnMgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbmZpZyQsIHRoaXMudGVtcGxhdGUkXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbmZpZywgdGVtcGxhdGVdKSA9PiB7XG4gICAgICAgIGlmIChjb25maWcgfHwgdGVtcGxhdGUpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgc2tpcEFsbEluaXRpYWxNYXliZSgpXG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbk9iamVjdC5zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtjb25maWdUZW1wbGF0ZU9icywgdGhpcy5jb250ZW50JF0pLnN1YnNjcmliZSgoW2lucHV0Q29uZmlnLCBjb250ZW50XSkgPT4ge1xuICAgICAgY29uc3QgeyBjb25maWcsIHRlbXBsYXRlIH0gPSBpbnB1dENvbmZpZyA/PyB7fTtcbiAgICAgIHRoaXMuX3Jlc2V0KGNvbnRlbnQpO1xuXG4gICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgIHRoaXMuX2luaXRDb21wb25lbnQoY29uZmlnLCBjb250ZW50KTtcbiAgICAgIH0gZWxzZSBpZiAodGVtcGxhdGUpIHtcbiAgICAgICAgdGhpcy5faW5pdFRlbXBsYXRlKHRlbXBsYXRlLCBjb250ZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uT2JqZWN0LmRlc3Ryb3koKTtcbiAgICB0aGlzLl9jb25maWcuY29tcGxldGUoKTtcbiAgICB0aGlzLl90ZW1wbGF0ZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbnRlbnQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRDb21wb25lbnQoY29uZmlnOiBEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8VD4sIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcbiAgICBjb250ZW50LmNsZWFyKCk7XG5cbiAgICBjb25zdCB7IGluaXQsIGluamVjdG9yOiBpbnB1dEluamVjdG9yLCBwcm92aWRlcnMsIG5nTW9kdWxlUmVmLCBjb21wb25lbnRDbGFzcywgZGF0YSB9ID0gY29uZmlnO1xuXG4gICAgaWYgKCFjb21wb25lbnRDbGFzcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEYnhJbmplY3Rpb25JbnN0YW5jZTogY29tcG9uZW50Q2xhc3Mgd2FzIGV4cGVjdGVkIGluIHRoZSBjb25maWcgYnV0IGl0IHdhcyB1bmF2YWlsYWJsZS4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGlucHV0SW5qZWN0b3IgPz8gdGhpcy5faW5qZWN0b3I7XG4gICAgbGV0IGluamVjdG9yOiBJbmplY3RvciB8IHVuZGVmaW5lZCA9IHBhcmVudEluamVjdG9yO1xuXG4gICAgaWYgKHByb3ZpZGVycyB8fCBkYXRhKSB7XG4gICAgICBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIHBhcmVudDogcGFyZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogcHVzaEl0ZW1PckFycmF5SXRlbXNJbnRvQXJyYXkoXG4gICAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwcm92aWRlOiBEQlhfSU5KRUNUSU9OX0NPTVBPTkVOVF9EQVRBLFxuICAgICAgICAgICAgICB1c2VWYWx1ZTogZGF0YVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgcHJvdmlkZXJzID8/IFtdXG4gICAgICAgIClcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gY29udGVudC5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MsIHsgaW5qZWN0b3IsIG5nTW9kdWxlUmVmIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBpZiAoaW5pdCkge1xuICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIF9pbml0VGVtcGxhdGUoY29uZmlnOiBEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgdGVtcGxhdGVSZWYsIHZpZXdSZWYgfSA9IGNvbmZpZztcblxuICAgIGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHRoZXNlIGl0ZW1zIG5lZWQgdG8gYmUgZGVzdHJveWVkIG9yIG5vdCB3aGVuIHRoaXMgaXRlbSBpcyBkZXN0cm95ZWQuIElmIHNvLCB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIGRlc3Ryb3kuXG4gICAgfSBlbHNlIGlmICh2aWV3UmVmKSB7XG4gICAgICBjb250ZW50Lmluc2VydCh2aWV3UmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldChjb250ZW50OiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb250ZW50LmNsZWFyKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLmluc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9pbmplY3Rpb24vaW5qZWN0aW9uLmluc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBMkQsNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEgsT0FBTyxFQUFnQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUscUNBQXFDLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUosT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQ2QsbUJBQW1CLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRS9DLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBK0QsU0FBUyxDQUFDLENBQUM7SUFDdkcsU0FBUyxHQUFHLElBQUksZUFBZSxDQUE4RCxTQUFTLENBQUMsQ0FBQztJQUV4RyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQTBCLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLGFBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBeUIsU0FBUyxDQUFDLENBQUM7SUFFdkUsU0FBUyxDQUFXO0lBRTVCLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxFQUFFLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFD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QyxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQXFDLEVBQUUsT0FBeUI7UUFDcEYsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWhCLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRXhDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRXhDLGtJQUFrSTtRQUNwSSxDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNuQixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLE9BQXlCO1FBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RvciwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXksIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnLCBEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZywgREJYX0lOSkVDVElPTl9DT01QT05FTlRfREFUQSB9IGZyb20gJy4vaW5qZWN0aW9uJztcbmltcG9ydCB7IEluaXRpYWxpemVkLCBEZXN0cm95YWJsZSwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIsIFN1YnNjcmlwdGlvbk9iamVjdCwgZmlsdGVyTWF5YmUsIG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIsIHNraXBBbGxJbml0aWFsTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IG1lcmdlU3RhdGljUHJvdmlkZXJzIH0gZnJvbSAnLi9pbmplY3Rpb24udXRpbCc7XG5cbi8qKlxuICogSW5zdGFuY2UgdXNlZCBieSBjb21wb25lbnRzIHRvIGluamVjdCBjb250ZW50IGJhc2VkIG9uIHRoZSBjb25maWd1cmF0aW9uIGludG8gdGhlIHZpZXcuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhJbmplY3Rpb25JbnN0YW5jZTxUPiBpbXBsZW1lbnRzIEluaXRpYWxpemVkLCBEZXN0cm95YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbk9iamVjdCA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uVGVtcGxhdGVDb25maWc8VD4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPFZpZXdDb250YWluZXJSZWY+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRSZWYgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPENvbXBvbmVudFJlZjxUPj4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIHJlYWRvbmx5IGNvbmZpZyQgPSB0aGlzLl9jb25maWcucGlwZShtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlR2V0dGVyKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgdGVtcGxhdGUkID0gdGhpcy5fdGVtcGxhdGUucGlwZShtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlR2V0dGVyKCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgY29udGVudCQgPSB0aGlzLl9jb250ZW50LnBpcGUoZmlsdGVyTWF5YmUoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIGdldCBjb25maWcoKTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxEYnhJbmplY3Rpb25Db21wb25lbnRDb25maWc8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLnZhbHVlO1xuICB9XG5cbiAgc2V0IGNvbmZpZyhjb25maWc6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8RGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnPFQ+Pikge1xuICAgIHRoaXMuX2NvbmZpZy5uZXh0KGNvbmZpZyk7XG4gIH1cblxuICBnZXQgdGVtcGxhdGUoKTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPj4ge1xuICAgIHJldHVybiB0aGlzLl90ZW1wbGF0ZS52YWx1ZTtcbiAgfVxuXG4gIHNldCB0ZW1wbGF0ZSh0ZW1wbGF0ZTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPj4pIHtcbiAgICB0aGlzLl90ZW1wbGF0ZS5uZXh0KHRlbXBsYXRlKTtcbiAgfVxuXG4gIGdldCBjb250ZW50KCk6IE1heWJlPE1heWJlPFZpZXdDb250YWluZXJSZWY+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnQudmFsdWU7XG4gIH1cblxuICBzZXQgY29udGVudChjb250ZW50OiBNYXliZTxNYXliZTxWaWV3Q29udGFpbmVyUmVmPj4pIHtcbiAgICB0aGlzLl9jb250ZW50Lm5leHQoY29udGVudCk7XG4gIH1cblxuICBnZXQgY29tcG9uZW50UmVmKCk6IE1heWJlPENvbXBvbmVudFJlZjxUPj4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWYudmFsdWU7XG4gIH1cblxuICBzZXQgY29tcG9uZW50UmVmKGNvbXBvbmVudFJlZjogTWF5YmU8Q29tcG9uZW50UmVmPFQ+Pikge1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5uZXh0KGNvbXBvbmVudFJlZik7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9pbmplY3RvciA9IGluamVjdG9yO1xuICB9XG5cbiAgaW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXYWl0IHVudGlsIHRoZSBmaXJzdCBvZiBlaXRoZXIgb2YgdGhlIHR3byBpbnB1dHMgY29tZXMgaW4gYXMgbm90IGRlZmluZWQsIGFuZCB0aGVuIGVtaXQuXG4gICAgLy8gV2UgZmlsdGVyIHRoZSBmaXJzdCBtYXliZSBoZXJlIGJldHdlZW4gdGhlIHR3byBpdGVtcy5cbiAgICBjb25zdCBjb25maWdUZW1wbGF0ZU9icyA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuY29uZmlnJCwgdGhpcy50ZW1wbGF0ZSRdKS5waXBlKFxuICAgICAgbWFwKChbY29uZmlnLCB0ZW1wbGF0ZV0pID0+IHtcbiAgICAgICAgaWYgKGNvbmZpZyB8fCB0ZW1wbGF0ZSkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICB0ZW1wbGF0ZVxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBza2lwQWxsSW5pdGlhbE1heWJlKClcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uT2JqZWN0LnN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW2NvbmZpZ1RlbXBsYXRlT2JzLCB0aGlzLmNvbnRlbnQkXSkuc3Vic2NyaWJlKChbaW5wdXRDb25maWcsIGNvbnRlbnRdKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbmZpZywgdGVtcGxhdGUgfSA9IGlucHV0Q29uZmlnID8/IHt9O1xuICAgICAgdGhpcy5fcmVzZXQoY29udGVudCk7XG5cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgdGhpcy5faW5pdENvbXBvbmVudChjb25maWcsIGNvbnRlbnQpO1xuICAgICAgfSBlbHNlIGlmICh0ZW1wbGF0ZSkge1xuICAgICAgICB0aGlzLl9pbml0VGVtcGxhdGUodGVtcGxhdGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25PYmplY3QuZGVzdHJveSgpO1xuICAgIHRoaXMuX2NvbmZpZy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3RlbXBsYXRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY29udGVudC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbXBvbmVudChjb25maWc6IERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgaW5pdCwgaW5qZWN0b3I6IGlucHV0SW5qZWN0b3IsIHByb3ZpZGVycywgbmdNb2R1bGVSZWYsIGNvbXBvbmVudENsYXNzLCBkYXRhIH0gPSBjb25maWc7XG5cbiAgICBpZiAoIWNvbXBvbmVudENsYXNzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RieEluamVjdGlvbkluc3RhbmNlOiBjb21wb25lbnRDbGFzcyB3YXMgZXhwZWN0ZWQgaW4gdGhlIGNvbmZpZyBidXQgaXQgd2FzIHVuYXZhaWxhYmxlLicpO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudEluamVjdG9yID0gaW5wdXRJbmplY3RvciA/PyB0aGlzLl9pbmplY3RvcjtcbiAgICBsZXQgaW5qZWN0b3I6IEluamVjdG9yIHwgdW5kZWZpbmVkID0gcGFyZW50SW5qZWN0b3I7XG5cbiAgICBpZiAocHJvdmlkZXJzIHx8IGRhdGEpIHtcbiAgICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IHtcbiAgICAgICAgcHJvdmlkZTogREJYX0lOSkVDVElPTl9DT01QT05FTlRfREFUQSxcbiAgICAgICAgdXNlVmFsdWU6IGRhdGFcbiAgICAgIH07XG5cbiAgICAgIGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcGFyZW50OiBwYXJlbnRJbmplY3RvcixcbiAgICAgICAgcHJvdmlkZXJzOiBtZXJnZVN0YXRpY1Byb3ZpZGVycyhkYXRhUHJvdmlkZXIsIHByb3ZpZGVycylcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+ID0gY29udGVudC5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MsIHsgaW5qZWN0b3IsIG5nTW9kdWxlUmVmIH0pO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG5cbiAgICBpZiAoaW5pdCkge1xuICAgICAgaW5pdChpbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIF9pbml0VGVtcGxhdGUoY29uZmlnOiBEYnhJbmplY3Rpb25UZW1wbGF0ZUNvbmZpZzxUPiwgY29udGVudDogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGNvbnRlbnQuY2xlYXIoKTtcblxuICAgIGNvbnN0IHsgdGVtcGxhdGVSZWYsIHZpZXdSZWYgfSA9IGNvbmZpZztcblxuICAgIGlmICh0ZW1wbGF0ZVJlZikge1xuICAgICAgY29udGVudC5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYpO1xuXG4gICAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHRoZXNlIGl0ZW1zIG5lZWQgdG8gYmUgZGVzdHJveWVkIG9yIG5vdCB3aGVuIHRoaXMgaXRlbSBpcyBkZXN0cm95ZWQuIElmIHNvLCB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIGRlc3Ryb3kuXG4gICAgfSBlbHNlIGlmICh2aWV3UmVmKSB7XG4gICAgICBjb250ZW50Lmluc2VydCh2aWV3UmVmKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldChjb250ZW50OiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICBjb250ZW50LmNsZWFyKCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { flattenArrayOrValueArray } from '@dereekb/util';
2
+ /**
3
+ * Merges the input providers into a single array.
4
+ *
5
+ * @param providers
6
+ * @returns
7
+ */
8
+ export function mergeStaticProviders(...providers) {
9
+ return flattenArrayOrValueArray(providers);
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2luamVjdGlvbi9pbmplY3Rpb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLHdCQUF3QixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBRTlFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQUcsU0FBZ0Q7SUFDdEYsT0FBTyx3QkFBd0IsQ0FBaUIsU0FBUyxDQUFDLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXRpY1Byb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcnJheU9yVmFsdWUsIGZsYXR0ZW5BcnJheU9yVmFsdWVBcnJheSwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBNZXJnZXMgdGhlIGlucHV0IHByb3ZpZGVycyBpbnRvIGEgc2luZ2xlIGFycmF5LlxuICpcbiAqIEBwYXJhbSBwcm92aWRlcnNcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVN0YXRpY1Byb3ZpZGVycyguLi5wcm92aWRlcnM6IE1heWJlPEFycmF5T3JWYWx1ZTxTdGF0aWNQcm92aWRlcj4+W10pOiBTdGF0aWNQcm92aWRlcltdIHtcbiAgcmV0dXJuIGZsYXR0ZW5BcnJheU9yVmFsdWVBcnJheTxTdGF0aWNQcm92aWRlcj4ocHJvdmlkZXJzKTtcbn1cbiJdfQ==
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, inject, input, computed, signal, Injectable, forwardRef, effect, TemplateRef, ViewContainerRef, Injector, runInInjectionContext, NgModule, InjectionToken, makeEnvironmentProviders, output, model, NgZone, Input, Pipe, LOCALE_ID, viewChild, Component, ChangeDetectionStrategy, Inject, Optional } from '@angular/core';
3
3
  import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, asObservable, combineLatestFromMapValuesObsFn, emitDelayObs, makeIsModifiedFunctionObservable, returnIfIs, timeoutStartWith, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, maybeValueFromObservableOrValue, distinctUntilKeysChange, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap, skipAllInitialMaybe, switchMapObject } from '@dereekb/rxjs';
4
4
  import { switchMap, first, distinctUntilChanged, filter, EMPTY, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, combineLatest, startWith, of, delay, BehaviorSubject, tap, combineLatestWith, catchError, withLatestFrom, firstValueFrom, takeUntil, Subject, Observable } from 'rxjs';
5
- import { isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, pushItemOrArrayItemsIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixTimeNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
5
+ import { isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, getValueFromGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, cutString, dollarAmountString, objectHasKey, objectHasKeys, mergeArrays, flattenArrayOrValueArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixTimeNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
6
6
  import { toObservable, outputToObservable, toSignal } from '@angular/core/rxjs-interop';
7
7
  import { ComponentStore } from '@ngrx/component-store';
8
8
  import { Actions, ofType, createEffect, provideEffects } from '@ngrx/effects';
@@ -117,6 +117,9 @@ class DbxActionContextStoreSourceInstance {
117
117
  get successPair$() {
118
118
  return this.pipeStore((x) => x.successPair$);
119
119
  }
120
+ get workProgress$() {
121
+ return this.pipeStore((x) => x.workProgress$);
122
+ }
120
123
  get error$() {
121
124
  return this.pipeStore((x) => x.error$);
122
125
  }
@@ -150,6 +153,9 @@ class DbxActionContextStoreSourceInstance {
150
153
  get isWorking$() {
151
154
  return this.pipeStore((x) => x.isWorking$);
152
155
  }
156
+ get isWorkingOrWorkProgress$() {
157
+ return this.pipeStore((x) => x.isWorkingOrWorkProgress$);
158
+ }
153
159
  get isSuccess$() {
154
160
  return this.pipeStore((x) => x.isSuccess$);
155
161
  }
@@ -174,6 +180,9 @@ class DbxActionContextStoreSourceInstance {
174
180
  setIsModified(isModified) {
175
181
  this.useStore((x) => x.setIsModified(isModified));
176
182
  }
183
+ setWorkProgress(workProgress) {
184
+ this.useStore((x) => x.setWorkProgress(workProgress));
185
+ }
177
186
  trigger() {
178
187
  this.useStore((x) => x.trigger());
179
188
  }
@@ -357,6 +366,30 @@ class DbxActionWorkInstanceDelegate {
357
366
  }
358
367
  }
359
368
 
369
+ /**
370
+ * Creates a working progress value from an array of working progress values.
371
+ *
372
+ * @param workOrWorkProgress The array of working progress values to use.
373
+ * @param progressPercent An optional progress percent value to use if the working progress is a boolean.
374
+ * @returns The working progress value.
375
+ */
376
+ function dbxActionWorkProgress(workOrWorkProgress, progressPercent) {
377
+ const workingValue = workOrWorkProgress.reduce((acc, val) => acc ?? val);
378
+ const isWorking = workingValue != null && workingValue !== false;
379
+ let workingProgress;
380
+ if (isWorking) {
381
+ if (typeof workingValue === 'number') {
382
+ workingProgress = workingValue;
383
+ }
384
+ else {
385
+ workingProgress = progressPercent ?? true;
386
+ }
387
+ }
388
+ else {
389
+ workingProgress = false;
390
+ }
391
+ return workingProgress;
392
+ }
360
393
  /**
361
394
  * Used by ActionContextState to denote what state the action is in.
362
395
  */
@@ -469,7 +502,7 @@ function loadingStateForActionContextState(state) {
469
502
  loadingState = idleLoadingState();
470
503
  break;
471
504
  default:
472
- loadingState = beginLoading();
505
+ loadingState = beginLoading(state.workProgress != null ? { loadingProgress: state.workProgress } : undefined);
473
506
  break;
474
507
  }
475
508
  return loadingState;
@@ -517,6 +550,10 @@ class ActionContextStore extends ComponentStore {
517
550
  * Pipes the readied value on ValueReady.
518
551
  */
519
552
  valueReady$ = this.afterDistinctActionState(DbxActionState.VALUE_READY, (x) => x.value);
553
+ /**
554
+ * Pipes the working progress on the working state.
555
+ */
556
+ workProgress$ = this.state$.pipe(map((x) => x.workProgress), distinctUntilChanged(), shareReplay(1));
520
557
  /**
521
558
  * Pipes the error on the rejection state.
522
559
  */
@@ -533,6 +570,19 @@ class ActionContextStore extends ComponentStore {
533
570
  * Whether or not it is currently in a working state.
534
571
  */
535
572
  isWorking$ = this.afterDistinctBoolean((x) => isWorkingActionState(x.actionState));
573
+ /**
574
+ * Pipes the current work or work progress.
575
+ */
576
+ isWorkingOrWorkProgress$ = this.isWorking$.pipe(switchMap((x) => {
577
+ let obs;
578
+ if (x) {
579
+ obs = this.workProgress$.pipe(filter((x) => x != null), startWith(x));
580
+ }
581
+ else {
582
+ obs = of(x);
583
+ }
584
+ return obs;
585
+ }), distinctUntilChanged(), shareReplay(1));
536
586
  /**
537
587
  * Pipes the current error.
538
588
  */
@@ -552,7 +602,17 @@ class ActionContextStore extends ComponentStore {
552
602
  /**
553
603
  * Returns a loading state based on the current state.
554
604
  */
555
- loadingState$ = this.afterDistinctLoadingStateTypeChange().pipe(map((x) => loadingStateForActionContextState(x)), shareReplay(1));
605
+ loadingState$ = this.afterDistinctLoadingStateTypeChange().pipe(switchMap((x) => {
606
+ const base = loadingStateForActionContextState(x);
607
+ let obs;
608
+ if (base.loading === true) {
609
+ obs = this.workProgress$.pipe(filter((x) => x != null), map((loadingProgress) => ({ ...base, loadingProgress })), startWith(base));
610
+ }
611
+ else {
612
+ obs = of(base);
613
+ }
614
+ return obs;
615
+ }), shareReplay(1));
556
616
  /**
557
617
  * Returns the current LoadingStateType based on the current state.
558
618
  */
@@ -614,7 +674,11 @@ class ActionContextStore extends ComponentStore {
614
674
  /**
615
675
  * Notifys the context that the action is in progress.
616
676
  */
617
- startWorking = this.updater((state) => ({ ...state, actionState: DbxActionState.WORKING }));
677
+ startWorking = this.updater((state) => ({ ...state, actionState: DbxActionState.WORKING, workProgress: null }));
678
+ /**
679
+ * Updates the working progress.
680
+ */
681
+ setWorkProgress = this.updater((state, workProgress) => ({ ...state, workProgress }));
618
682
  /**
619
683
  * Triggers rejection of the action. The value is cleared.
620
684
  */
@@ -2722,7 +2786,7 @@ class DbxActionButtonDirective extends DbxActionButtonTriggerDirective {
2722
2786
  _disabledSub = new SubscriptionObject();
2723
2787
  ngOnInit() {
2724
2788
  super.ngOnInit();
2725
- this._workingSub.subscription = this.source.isWorking$.subscribe((working) => {
2789
+ this._workingSub.subscription = this.source.isWorkingOrWorkProgress$.subscribe((working) => {
2726
2790
  this.dbxButton.setWorking(working);
2727
2791
  });
2728
2792
  this._disabledSub.subscription = this.source.isDisabled$.subscribe((disabled) => {
@@ -2781,13 +2845,17 @@ class AbstractDbxButtonDirective extends AbstractSubscriptionDirective {
2781
2845
  _buttonInterceptor = new BehaviorSubject(undefined);
2782
2846
  buttonClick = output();
2783
2847
  disabled = input(false, { transform: Boolean });
2784
- working = input(false, { transform: Boolean });
2848
+ working = input(false, { transform: (x) => (x == null ? false : x) });
2785
2849
  buttonDisplay = input(undefined);
2786
2850
  _disabledSignal = signal(undefined);
2787
2851
  _workingSignal = signal(undefined);
2788
2852
  _buttonDisplayContentSignal = signal(undefined);
2789
2853
  disabledSignal = computed(() => this._disabledSignal() ?? this.disabled());
2790
2854
  workingSignal = computed(() => this._workingSignal() ?? this.working());
2855
+ isWorkingSignal = computed(() => {
2856
+ const working = this.workingSignal();
2857
+ return isDefinedAndNotFalse(working);
2858
+ });
2791
2859
  icon = input();
2792
2860
  text = input();
2793
2861
  buttonDisplayContentSignal = computed(() => {
@@ -4923,7 +4991,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4923
4991
  }] });
4924
4992
 
4925
4993
  /**
4926
- * Direction that provides an FilterMap.
4994
+ * Direction that provides a FilterMap.
4927
4995
  */
4928
4996
  class DbxFilterMapDirective {
4929
4997
  filterMap = inject((FilterMap));
@@ -4994,6 +5062,16 @@ function mergeDbxInjectionComponentConfigs(configs) {
4994
5062
  return result;
4995
5063
  }
4996
5064
 
5065
+ /**
5066
+ * Merges the input providers into a single array.
5067
+ *
5068
+ * @param providers
5069
+ * @returns
5070
+ */
5071
+ function mergeStaticProviders(...providers) {
5072
+ return flattenArrayOrValueArray(providers);
5073
+ }
5074
+
4997
5075
  /**
4998
5076
  * Instance used by components to inject content based on the configuration into the view.
4999
5077
  */
@@ -5075,14 +5153,13 @@ class DbxInjectionInstance {
5075
5153
  const parentInjector = inputInjector ?? this._injector;
5076
5154
  let injector = parentInjector;
5077
5155
  if (providers || data) {
5156
+ const dataProvider = {
5157
+ provide: DBX_INJECTION_COMPONENT_DATA,
5158
+ useValue: data
5159
+ };
5078
5160
  injector = Injector.create({
5079
5161
  parent: parentInjector,
5080
- providers: pushItemOrArrayItemsIntoArray([
5081
- {
5082
- provide: DBX_INJECTION_COMPONENT_DATA,
5083
- useValue: data
5084
- }
5085
- ], providers ?? [])
5162
+ providers: mergeStaticProviders(dataProvider, providers)
5086
5163
  });
5087
5164
  }
5088
5165
  const componentRef = content.createComponent(componentClass, { injector, ngModuleRef });
@@ -5915,5 +5992,5 @@ function checkNgContentWrapperHasContent(ref) {
5915
5992
  * Generated bundle index. Do not edit.
5916
5993
  */
5917
5994
 
5918
- export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueGetterDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxFilterMapSourceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_ID_PARAM_KEY, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_USE_PARAM_VALUE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDayRangePipe, DateDayTimeRangePipe, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DateRangeDistancePipe, DateTimeRangeOnlyDistancePipe, DateTimeRangeOnlyPipe, DateTimeRangePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionErrorHandlerDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHandlerValueDirective, DbxActionHasSuccessDirective, DbxActionIdleDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionTriggeredDirective, DbxActionValueDirective, DbxActionValueGetterInstance, DbxActionValueStreamDirective, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterService, DbxAppAuthRoutes, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAppEnviroment, DbxAppEnviromentService, DbxAsyncPipeModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRoleDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreRouterModelModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionArrayComponent, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteModelIdDirective, DbxRouteModelIdDirectiveDelegate, DbxRouteModelIdFromAuthUserIdDirective, DbxRouteModelKeyDirective, DbxRouteModelKeyDirectiveDelegate, DbxRouteParamDefaultRedirectInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxUIRouterService, DbxValuePipeModule, DollarAmountPipe, FILTER_SOURCE_DIRECTIVE_DEFAULT_FILTER_TOKEN, FilterSourceDirective, FullLocalStorageObject, GetValueOncePipe, GetValuePipe, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, SystemDateToTargetDatePipe, TargetDateToSystemDatePipe, TimeDistanceCountdownPipe, TimeDistancePipe, TimezoneAbbreviationPipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourceMap, actionContextStoreSourceMapReader, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, assertValidStorageKeyPrefix, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxButtonDisplayType, dbxRouteModelIdParamRedirect, dbxRouteModelKeyParamRedirect, dbxRouteParamReaderInstance, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, fromAllActionContextStoreSourceMapSources, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isClickableFilterPreset, isClickablePartialFilterPreset, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isValidStorageKeyPrefix, isWorkingActionState, latestSuccessfulRoutes, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, newWithInjector, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxAppAuth, provideDbxAppAuthRouter, provideDbxAppAuthRouterState, provideDbxAppAuthState, provideDbxAppContextState, provideDbxAppEnviroment, provideDbxButton, provideDbxInjectionContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, provideDbxStorage, provideDbxUIRouterService, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, switchMapDbxInjectionComponentConfig, tapDetectChanges, tapSafeMarkForCheck, transformEmptyStringInputToUndefined, useActionStore };
5995
+ export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueGetterDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxFilterMapSourceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_ID_PARAM_KEY, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_USE_PARAM_VALUE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDayRangePipe, DateDayTimeRangePipe, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DateRangeDistancePipe, DateTimeRangeOnlyDistancePipe, DateTimeRangeOnlyPipe, DateTimeRangePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionErrorHandlerDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHandlerValueDirective, DbxActionHasSuccessDirective, DbxActionIdleDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionTriggeredDirective, DbxActionValueDirective, DbxActionValueGetterInstance, DbxActionValueStreamDirective, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterService, DbxAppAuthRoutes, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAppEnviroment, DbxAppEnviromentService, DbxAsyncPipeModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRoleDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreRouterModelModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionArrayComponent, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteModelIdDirective, DbxRouteModelIdDirectiveDelegate, DbxRouteModelIdFromAuthUserIdDirective, DbxRouteModelKeyDirective, DbxRouteModelKeyDirectiveDelegate, DbxRouteParamDefaultRedirectInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxUIRouterService, DbxValuePipeModule, DollarAmountPipe, FILTER_SOURCE_DIRECTIVE_DEFAULT_FILTER_TOKEN, FilterSourceDirective, FullLocalStorageObject, GetValueOncePipe, GetValuePipe, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, SystemDateToTargetDatePipe, TargetDateToSystemDatePipe, TimeDistanceCountdownPipe, TimeDistancePipe, TimezoneAbbreviationPipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourceMap, actionContextStoreSourceMapReader, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, assertValidStorageKeyPrefix, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, dbxActionWorkProgress, dbxButtonDisplayType, dbxRouteModelIdParamRedirect, dbxRouteModelKeyParamRedirect, dbxRouteParamReaderInstance, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, fromAllActionContextStoreSourceMapSources, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, isActionContextDisabled, isActionContextEnabled, isClickableFilterPreset, isClickablePartialFilterPreset, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isValidStorageKeyPrefix, isWorkingActionState, latestSuccessfulRoutes, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, mergeStaticProviders, newWithInjector, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxAppAuth, provideDbxAppAuthRouter, provideDbxAppAuthRouterState, provideDbxAppAuthState, provideDbxAppContextState, provideDbxAppEnviroment, provideDbxButton, provideDbxInjectionContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, provideDbxStorage, provideDbxUIRouterService, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, switchMapDbxInjectionComponentConfig, tapDetectChanges, tapSafeMarkForCheck, transformEmptyStringInputToUndefined, useActionStore };
5919
5996
  //# sourceMappingURL=dereekb-dbx-core.mjs.map