@dereekb/dbx-core 13.22.0 → 13.24.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,9 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, makeEnvironmentProviders, DestroyRef, input, Directive, computed, signal, forwardRef, effect, TemplateRef, ViewContainerRef, Injector, runInInjectionContext, NgModule, output, model, Input, Pipe, LOCALE_ID, viewChild, ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, makeEnvironmentProviders, DestroyRef, input, Directive, computed, signal, forwardRef, effect, TemplateRef, ViewContainerRef, Injector, runInInjectionContext, NgModule, Input, output, model, booleanAttribute, Pipe, LOCALE_ID, viewChild, ChangeDetectionStrategy, Component, Inject, Optional } from '@angular/core';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import { defer, 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 { AssetLoader, SubscriptionObject, LockSet, loadingStateContext, listLoadingStateContext, 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';
6
- import { getValueFromGetter, DestroyFunctionObject, isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, MINUTES_IN_DAY, MINUTES_IN_HOUR, millisecondsToMinutes, cutString, dollarAmountString, objectHasKey, objectHasKeys, safeEqualityComparatorFunction, mergeArrays, flattenArrayOrValueArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixDateTimeSecondsNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
5
+ import { AssetLoader, SubscriptionObject, LockSet, loadingStateContext, listLoadingStateContext, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, asObservable, combineLatestFromMapValuesObsFn, emitDelayObs, makeIsModifiedFunctionObservable, returnIfIs, timeoutStartWith, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, maybeValueFromObservableOrValue, distinctUntilKeysChange, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap, skipAllInitialMaybe, switchMapObject } from '@dereekb/rxjs';
6
+ import { getValueFromGetter, DestroyFunctionObject, isNotFalse, isDefinedAndNotFalse, BooleanStringKeyArrayUtility, reduceBooleansWithOrFn, asGetter, toReadableError, hasValueOrNotEmpty, isGetter, asArray, setIncludes, isAllowed, maybeSet, iterableToSet, IMPERSONATION_URL_QUERY_PARAM, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mailToUrlString, telUrlString, mergeObjects, KeyValueTypleValueFilter, filterMaybeArrayValues, defaultForwardFunctionFactory, MINUTES_IN_DAY, MINUTES_IN_HOUR, millisecondsToMinutes, cutString, dollarAmountString, objectHasKey, objectHasKeys, safeEqualityComparatorFunction, mergeArrays, flattenArrayOrValueArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, unixDateTimeSecondsNumberForNow, isThrottled, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
7
7
  import { toObservable, toSignal, outputToObservable } from '@angular/core/rxjs-interop';
8
8
  import { ComponentStore } from '@ngrx/component-store';
9
9
  import { Actions, ofType, createEffect, provideEffects } from '@ngrx/effects';
@@ -4644,6 +4644,115 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
4644
4644
  }]
4645
4645
  }] });
4646
4646
 
4647
+ /**
4648
+ * Creates a new DbxRouteParamReaderInstance from the input.
4649
+ *
4650
+ * @param dbxRouterService
4651
+ * @param defaultParamKey
4652
+ * @param defaultValue
4653
+ * @returns
4654
+ */
4655
+ function dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey, defaultValue) {
4656
+ const _paramKey = new BehaviorSubject(defaultParamKey);
4657
+ const _defaultValue = new BehaviorSubject(defaultValue);
4658
+ const paramKey$ = _paramKey.asObservable();
4659
+ const paramValue$ = combineLatest([paramKey$, dbxRouterService.params$]).pipe(map(([key, params]) => params[key] ?? undefined), distinctUntilChanged(), shareReplay(1));
4660
+ const nextDefaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
4661
+ const defaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
4662
+ const value$ = paramValue$.pipe(switchMapToDefault(defaultValue$), shareReplay(1));
4663
+ const result = {
4664
+ dbxRouterService,
4665
+ paramKey$,
4666
+ paramValue$,
4667
+ nextDefaultValue$,
4668
+ defaultValue$,
4669
+ value$,
4670
+ destroy() {
4671
+ _paramKey.complete();
4672
+ _defaultValue.complete();
4673
+ },
4674
+ getParamKey() {
4675
+ return _paramKey.value;
4676
+ },
4677
+ setParamKey(paramKey) {
4678
+ _paramKey.next(paramKey || defaultParamKey);
4679
+ },
4680
+ setDefaultValue(newValue) {
4681
+ _defaultValue.next(newValue ?? defaultValue);
4682
+ },
4683
+ setParamValue(value) {
4684
+ combineLatest([paramKey$, asObservableFromGetter(value)])
4685
+ .pipe(first())
4686
+ .subscribe(([paramKey, value]) => void dbxRouterService.updateParams({ [paramKey]: value }));
4687
+ }
4688
+ };
4689
+ return result;
4690
+ }
4691
+
4692
+ /**
4693
+ * Keeps impersonation in sync with the uid read from the current route's query parameters
4694
+ * (default `?imp=<uid>`). Unlike {@link DbxAuthImpersonationTriggerDirective} (which reads a path `:uid` via a
4695
+ * host `dbxRouteModelId`), this directive reads its own query param, so appending `?imp=<uid>` to any in-app
4696
+ * URL begins impersonation and removing it ends impersonation.
4697
+ *
4698
+ * Place it once on an app-shell element. The query param must be declared on an ancestor state
4699
+ * (e.g. the app's root state `url: '/app?imp'`, ideally `dynamic: true`) so UIRouter surfaces it in
4700
+ * the current route params. Requires {@link provideDbxAuthImpersonation} to have registered the service.
4701
+ *
4702
+ * ```html
4703
+ * <div dbxAuthImpersonationQuerySync>
4704
+ * <ui-view></ui-view>
4705
+ * </div>
4706
+ * ```
4707
+ *
4708
+ * Avoid pairing it with {@link DbxAuthImpersonationTriggerDirective} on overlapping routes — both write the
4709
+ * impersonation state and would contend.
4710
+ */
4711
+ class DbxAuthImpersonationQuerySyncDirective {
4712
+ _dbxRouterService = inject(DbxRouterService);
4713
+ _impersonationService = inject(DbxAuthImpersonationService);
4714
+ _dbxAuthService = inject(DbxAuthService);
4715
+ _config = completeOnDestroy(new BehaviorSubject(undefined));
4716
+ _reader = clean(dbxRouteParamReaderInstance(this._dbxRouterService, IMPERSONATION_URL_QUERY_PARAM));
4717
+ constructor() {
4718
+ cleanSubscription(this._config.pipe(map((config) => config?.paramKey)).subscribe((paramKey) => this._reader.setParamKey(paramKey)));
4719
+ const canImpersonate$ = this._config.pipe(map((config) => config?.canImpersonate), distinctUntilChanged());
4720
+ const impersonatedUserId$ = combineLatest([this._reader.value$, this._dbxAuthService.userIdentifier$, canImpersonate$]).pipe(switchMap(([routeUid, currentUid, canImpersonate]) => {
4721
+ let result;
4722
+ if (routeUid != null && routeUid !== NO_AUTH_USER_IDENTIFIER && routeUid !== currentUid) {
4723
+ result = canImpersonate == null ? of(routeUid) : asObservable(canImpersonate(routeUid)).pipe(map((allowed) => (allowed ? routeUid : undefined)));
4724
+ }
4725
+ else {
4726
+ result = of(undefined);
4727
+ }
4728
+ return result;
4729
+ }));
4730
+ cleanSubscription(impersonatedUserId$.subscribe((impersonatedUserId) => {
4731
+ if (impersonatedUserId == null) {
4732
+ this._impersonationService.stopImpersonating();
4733
+ }
4734
+ else {
4735
+ this._impersonationService.startImpersonating(impersonatedUserId);
4736
+ }
4737
+ }));
4738
+ }
4739
+ set config(config) {
4740
+ this._config.next(config || undefined);
4741
+ }
4742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxAuthImpersonationQuerySyncDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4743
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: DbxAuthImpersonationQuerySyncDirective, isStandalone: true, selector: "[dbxAuthImpersonationQuerySync]", inputs: { config: ["dbxAuthImpersonationQuerySync", "config"] }, ngImport: i0 });
4744
+ }
4745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxAuthImpersonationQuerySyncDirective, decorators: [{
4746
+ type: Directive,
4747
+ args: [{
4748
+ selector: '[dbxAuthImpersonationQuerySync]',
4749
+ standalone: true
4750
+ }]
4751
+ }], ctorParameters: () => [], propDecorators: { config: [{
4752
+ type: Input,
4753
+ args: ['dbxAuthImpersonationQuerySync']
4754
+ }] } });
4755
+
4647
4756
  /**
4648
4757
  * NgRx effects class that bridges {@link DbxAuthImpersonationService.events$} into the `app.auth` impersonation slice.
4649
4758
  *
@@ -6497,51 +6606,6 @@ function isSegueRefActive(config) {
6497
6606
  });
6498
6607
  }
6499
6608
 
6500
- /**
6501
- * Creates a new DbxRouteParamReaderInstance from the input.
6502
- *
6503
- * @param dbxRouterService
6504
- * @param defaultParamKey
6505
- * @param defaultValue
6506
- * @returns
6507
- */
6508
- function dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey, defaultValue) {
6509
- const _paramKey = new BehaviorSubject(defaultParamKey);
6510
- const _defaultValue = new BehaviorSubject(defaultValue);
6511
- const paramKey$ = _paramKey.asObservable();
6512
- const paramValue$ = combineLatest([paramKey$, dbxRouterService.params$]).pipe(map(([key, params]) => params[key] ?? undefined), distinctUntilChanged(), shareReplay(1));
6513
- const nextDefaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
6514
- const defaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
6515
- const value$ = paramValue$.pipe(switchMapToDefault(defaultValue$), shareReplay(1));
6516
- const result = {
6517
- dbxRouterService,
6518
- paramKey$,
6519
- paramValue$,
6520
- nextDefaultValue$,
6521
- defaultValue$,
6522
- value$,
6523
- destroy() {
6524
- _paramKey.complete();
6525
- _defaultValue.complete();
6526
- },
6527
- getParamKey() {
6528
- return _paramKey.value;
6529
- },
6530
- setParamKey(paramKey) {
6531
- _paramKey.next(paramKey || defaultParamKey);
6532
- },
6533
- setDefaultValue(newValue) {
6534
- _defaultValue.next(newValue ?? defaultValue);
6535
- },
6536
- setParamValue(value) {
6537
- combineLatest([paramKey$, asObservableFromGetter(value)])
6538
- .pipe(first())
6539
- .subscribe(([paramKey, value]) => void dbxRouterService.updateParams({ [paramKey]: value }));
6540
- }
6541
- };
6542
- return result;
6543
- }
6544
-
6545
6609
  const DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY = defaultForwardFunctionFactory((value) => of(value == null));
6546
6610
  /**
6547
6611
  * Utility class that works with a {@link DbxRouteParamReaderInstance} to automatically redirect the router
@@ -6715,28 +6779,46 @@ function dbxRouteModelIdParamRedirect(dbxRouterService, defaultParamKey = DEFAUL
6715
6779
  }
6716
6780
 
6717
6781
  /**
6718
- * Directive that retrieves the currently authenticated user's identifier from {@link DbxAuthService}
6719
- * and passes it directly to a {@link DbxRouteModelIdDirectiveDelegate}.
6782
+ * Directive that retrieves the current user's identifier and passes it directly to a {@link DbxRouteModelIdDirectiveDelegate}.
6720
6783
  *
6721
6784
  * This is useful for routes that should always use the current user's ID, bypassing route parameter reading entirely.
6722
6785
  *
6786
+ * When impersonation is available ({@link provideDbxAuthImpersonation}), it uses the
6787
+ * {@link DbxAuthImpersonationService.effectiveUserId$ effective} user id — the impersonated user while impersonating,
6788
+ * otherwise the real authenticated user — so impersonation transparently re-keys these routes. Without impersonation
6789
+ * registered, it falls back to {@link DbxAuthService}'s real user identifier (the prior behavior). Set
6790
+ * `ignoreAuthImpersonation` to opt out and always use the real user id, even while impersonating.
6791
+ *
6723
6792
  * @example
6724
6793
  * ```html
6725
- * <!-- Automatically provides the authenticated user's ID to the delegate -->
6794
+ * <!-- Uses the effective (impersonated-or-real) user's ID -->
6726
6795
  * <div dbxRouteModelIdFromAuthUserId></div>
6796
+ *
6797
+ * <!-- Always uses the real authenticated user's ID, ignoring impersonation -->
6798
+ * <div dbxRouteModelIdFromAuthUserId [ignoreAuthImpersonation]="true"></div>
6727
6799
  * ```
6728
6800
  *
6729
6801
  * @see {@link DbxRouteModelIdDirectiveDelegate} for the delegate that receives the id observables
6730
6802
  * @see {@link DbxAuthService} for the authentication service providing the user identifier
6803
+ * @see {@link DbxAuthImpersonationService} for the impersonation-aware effective user id
6731
6804
  */
6732
6805
  class DbxRouteModelIdFromAuthUserIdDirective {
6733
6806
  dbxAuthService = inject(DbxAuthService);
6807
+ dbxAuthImpersonationService = inject(DbxAuthImpersonationService, { optional: true });
6734
6808
  dbxRouteModelIdDelegate = inject(DbxRouteModelIdDirectiveDelegate, { host: true });
6809
+ /**
6810
+ * Whether to ignore impersonation and always use the real authenticated user's id. Defaults to `false`
6811
+ * (the effective — impersonated-or-real — user id is used). Set it (e.g. as a bare attribute) on routes
6812
+ * that must always target the real user even while impersonating.
6813
+ */
6814
+ ignoreAuthImpersonation = input(false, { ...(ngDevMode ? { debugName: "ignoreAuthImpersonation" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
6735
6815
  constructor() {
6736
- cleanSubscription(this.dbxRouteModelIdDelegate.useRouteModelIdParamsObservable(this.dbxAuthService.userIdentifier$, this.dbxAuthService.userIdentifier$));
6816
+ const { dbxAuthService, dbxAuthImpersonationService } = this;
6817
+ const userId$ = toObservable(this.ignoreAuthImpersonation).pipe(distinctUntilChanged(), switchMap((ignore) => (ignore || dbxAuthImpersonationService == null ? dbxAuthService.userIdentifier$ : dbxAuthImpersonationService.effectiveUserId$)), shareReplay(1));
6818
+ cleanSubscription(this.dbxRouteModelIdDelegate.useRouteModelIdParamsObservable(userId$, userId$));
6737
6819
  }
6738
6820
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxRouteModelIdFromAuthUserIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6739
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: DbxRouteModelIdFromAuthUserIdDirective, isStandalone: true, selector: "[dbxRouteModelIdFromAuthUserId]", ngImport: i0 });
6821
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxRouteModelIdFromAuthUserIdDirective, isStandalone: true, selector: "[dbxRouteModelIdFromAuthUserId]", inputs: { ignoreAuthImpersonation: { classPropertyName: "ignoreAuthImpersonation", publicName: "ignoreAuthImpersonation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
6740
6822
  }
6741
6823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxRouteModelIdFromAuthUserIdDirective, decorators: [{
6742
6824
  type: Directive,
@@ -6744,7 +6826,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
6744
6826
  selector: '[dbxRouteModelIdFromAuthUserId]',
6745
6827
  standalone: true
6746
6828
  }]
6747
- }], ctorParameters: () => [] });
6829
+ }], ctorParameters: () => [], propDecorators: { ignoreAuthImpersonation: [{ type: i0.Input, args: [{ isSignal: true, alias: "ignoreAuthImpersonation", required: false }] }] } });
6748
6830
 
6749
6831
  /**
6750
6832
  * Directive that reads a model identifier from the current route's parameters and passes it to a {@link DbxRouteModelIdDirectiveDelegate}.
@@ -9670,5 +9752,5 @@ function safeUseCdRef(cdRef, use) {
9670
9752
  * Generated bundle index. Do not edit.
9671
9753
  */
9672
9754
 
9673
- export { ACTION_CONTEXT_STORE_LOCKSET_DESTROY_DELAY_TIME, 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, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_BUTTON_ECHO_CONFIG, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_ASSET_LOADER_CONFIG_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_OAUTH_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_DBX_ACTION_BUTTON_ECHO_CONFIG, DEFAULT_DBX_ACTION_BUTTON_ERROR_ECHO, DEFAULT_DBX_ACTION_BUTTON_SUCCESS_ECHO, DEFAULT_DBX_BUTTON_ECHO_DURATION, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_ID_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_KEY_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_USE_PARAM_VALUE, DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN, DEFAULT_LOCAL_ASSET_BASE_URL, 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, DateFormatFromToPipe, 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, DbxActionIsModifiedDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionTriggeredDirective, DbxActionValueDirective, DbxActionValueGetterInstance, DbxActionValueStreamDirective, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxActionWorkable, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterService, DbxAppAuthRoutes, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppEnvironment, DbxAppEnvironmentService, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthImpersonationDelegate, DbxAuthImpersonationService, DbxAuthImpersonationTriggerDirective, DbxAuthNotAnyRoleDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAssetLoader, DbxCoreButtonModule, DbxCoreFilterModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionArrayComponent, DbxInjectionComponent, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxRouteModelIdDirective, DbxRouteModelIdDirectiveDelegate, DbxRouteModelIdFromAuthUserIdDirective, DbxRouteModelKeyDirective, DbxRouteModelKeyDirectiveDelegate, DbxRouteParamDefaultRedirectInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxUIRouterService, DollarAmountPipe, 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, actionContextStoreSourceMap, actionContextStoreSourceMapReader, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, assertValidStorageKeyPrefix, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clean, cleanDestroy, cleanListLoadingContext, cleanLoadingContext, cleanLockSet, cleanSubscription, cleanSubscriptionWithLockSet, cleanWithLockSet, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, completeOnDestroy, createInjectorForInjectionComponentConfig, dbxActionWorkProgress, dbxButtonDisplayType, dbxInjectionComponentConfigIsEqual, dbxRouteModelIdParamRedirect, dbxRouteModelKeyParamRedirect, dbxRouteParamReaderInstance, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, fromAllActionContextStoreSourceMapSources, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, hasNonTrivialChildNodes, initInjectionComponent, 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, provideDbxActionButtonEchoConfig, provideDbxActionWorkable, provideDbxAnchor, provideDbxAppAuth, provideDbxAppAuthRouter, provideDbxAppAuthRouterState, provideDbxAppAuthState, provideDbxAppContextState, provideDbxAppEnvironment, provideDbxAssetLoader, provideDbxAuthImpersonation, provideDbxAuthImpersonationDelegate, provideDbxButton, provideDbxInjectionContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, provideDbxStorage, provideDbxUIRouterService, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, switchMapDbxInjectionComponentConfig, tapDetectChanges, tapSafeMarkForCheck, transformEmptyStringInputToUndefined, useActionStore };
9755
+ export { ACTION_CONTEXT_STORE_LOCKSET_DESTROY_DELAY_TIME, 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, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_BUTTON_ECHO_CONFIG, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_ASSET_LOADER_CONFIG_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_OAUTH_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_DBX_ACTION_BUTTON_ECHO_CONFIG, DEFAULT_DBX_ACTION_BUTTON_ERROR_ECHO, DEFAULT_DBX_ACTION_BUTTON_SUCCESS_ECHO, DEFAULT_DBX_BUTTON_ECHO_DURATION, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_ID_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_KEY_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_USE_PARAM_VALUE, DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN, DEFAULT_LOCAL_ASSET_BASE_URL, 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, DateFormatFromToPipe, 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, DbxActionIsModifiedDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionTriggeredDirective, DbxActionValueDirective, DbxActionValueGetterInstance, DbxActionValueStreamDirective, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxActionWorkable, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterService, DbxAppAuthRoutes, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppEnvironment, DbxAppEnvironmentService, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthImpersonationDelegate, DbxAuthImpersonationQuerySyncDirective, DbxAuthImpersonationService, DbxAuthImpersonationTriggerDirective, DbxAuthNotAnyRoleDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAssetLoader, DbxCoreButtonModule, DbxCoreFilterModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionArrayComponent, DbxInjectionComponent, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxRouteModelIdDirective, DbxRouteModelIdDirectiveDelegate, DbxRouteModelIdFromAuthUserIdDirective, DbxRouteModelKeyDirective, DbxRouteModelKeyDirectiveDelegate, DbxRouteParamDefaultRedirectInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxUIRouterService, DollarAmountPipe, 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, actionContextStoreSourceMap, actionContextStoreSourceMapReader, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, assertValidStorageKeyPrefix, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clean, cleanDestroy, cleanListLoadingContext, cleanLoadingContext, cleanLockSet, cleanSubscription, cleanSubscriptionWithLockSet, cleanWithLockSet, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, completeOnDestroy, createInjectorForInjectionComponentConfig, dbxActionWorkProgress, dbxButtonDisplayType, dbxInjectionComponentConfigIsEqual, dbxRouteModelIdParamRedirect, dbxRouteModelKeyParamRedirect, dbxRouteParamReaderInstance, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, fromAllActionContextStoreSourceMapSources, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, hasNonTrivialChildNodes, initInjectionComponent, 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, provideDbxActionButtonEchoConfig, provideDbxActionWorkable, provideDbxAnchor, provideDbxAppAuth, provideDbxAppAuthRouter, provideDbxAppAuthRouterState, provideDbxAppAuthState, provideDbxAppContextState, provideDbxAppEnvironment, provideDbxAssetLoader, provideDbxAuthImpersonation, provideDbxAuthImpersonationDelegate, provideDbxButton, provideDbxInjectionContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, provideDbxStorage, provideDbxUIRouterService, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, switchMapDbxInjectionComponentConfig, tapDetectChanges, tapSafeMarkForCheck, transformEmptyStringInputToUndefined, useActionStore };
9674
9756
  //# sourceMappingURL=dereekb-dbx-core.mjs.map