@dereekb/dbx-firebase 9.9.5 → 9.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2020/lib/development/development.module.mjs +100 -0
  2. package/esm2020/lib/development/development.popup.component.mjs +48 -0
  3. package/esm2020/lib/development/development.popup.content.component.mjs +67 -0
  4. package/esm2020/lib/development/development.popup.content.form.component.mjs +43 -0
  5. package/esm2020/lib/development/development.popup.directive.mjs +81 -0
  6. package/esm2020/lib/development/development.scheduler.list.component.mjs +79 -0
  7. package/esm2020/lib/development/development.scheduler.service.mjs +85 -0
  8. package/esm2020/lib/development/development.scheduler.widget.component.mjs +40 -0
  9. package/esm2020/lib/development/development.service.mjs +30 -0
  10. package/esm2020/lib/development/development.widget.mjs +2 -0
  11. package/esm2020/lib/development/development.widget.service.mjs +60 -0
  12. package/esm2020/lib/development/index.mjs +13 -0
  13. package/esm2020/lib/function/firebase.function.module.mjs +15 -1
  14. package/esm2020/lib/index.mjs +2 -1
  15. package/fesm2015/dereekb-dbx-firebase.mjs +603 -29
  16. package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
  17. package/fesm2020/dereekb-dbx-firebase.mjs +592 -29
  18. package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
  19. package/lib/development/development.module.d.ts +32 -0
  20. package/lib/development/development.popup.component.d.ts +15 -0
  21. package/lib/development/development.popup.component.scss +4 -0
  22. package/lib/development/development.popup.content.component.d.ts +42 -0
  23. package/lib/development/development.popup.content.form.component.d.ts +18 -0
  24. package/lib/development/development.popup.directive.d.ts +25 -0
  25. package/lib/development/development.scheduler.list.component.d.ts +24 -0
  26. package/lib/development/development.scheduler.service.d.ts +33 -0
  27. package/lib/development/development.scheduler.widget.component.d.ts +13 -0
  28. package/lib/development/development.service.d.ts +17 -0
  29. package/lib/development/development.widget.d.ts +8 -0
  30. package/lib/development/development.widget.service.d.ts +29 -0
  31. package/lib/development/index.d.ts +12 -0
  32. package/lib/function/firebase.function.module.d.ts +8 -0
  33. package/lib/index.d.ts +1 -0
  34. package/package.json +7 -6
@@ -1,34 +1,37 @@
1
- import { urlWithoutParameters, AUTH_ADMIN_ROLE, cachedGetter, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, forEachKeyValue, readableError, isMaybeSo, firstValue } from '@dereekb/util';
1
+ import { urlWithoutParameters, AUTH_ADMIN_ROLE, cachedGetter, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, PromiseUtility, forEachKeyValue, readableError, isMaybeSo, firstValue } from '@dereekb/util';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, Injectable, Inject, Optional, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, forwardRef, Host } from '@angular/core';
3
+ import { InjectionToken, Injectable, Inject, Optional, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, ViewChild, HostListener, forwardRef, Host } from '@angular/core';
4
4
  import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
5
- import { switchMap, from, first, map, of, shareReplay, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, tap, filter, take, startWith, exhaustMap, EMPTY, Subject, throttleTime, NEVER } from 'rxjs';
5
+ import { switchMap, from, first, map, of, shareReplay, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, tap, interval, exhaustMap, filter, take, startWith, EMPTY, Subject, throttleTime, NEVER } from 'rxjs';
6
6
  import * as i1 from '@angular/fire/app-check';
7
7
  import { provideAppCheck } from '@angular/fire/app-check';
8
- import * as i3$1 from '@angular/material/button';
8
+ import * as i3 from '@angular/material/button';
9
9
  import { MatButtonModule } from '@angular/material/button';
10
10
  import * as i2$1 from '@angular/material/icon';
11
11
  import { MatIconModule } from '@angular/material/icon';
12
12
  import * as i2 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
- import * as i3 from '@dereekb/dbx-core';
14
+ import * as i2$2 from '@dereekb/dbx-core';
15
15
  import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractIfDirective, AbstractSubscriptionDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance, LockSetComponentStore } from '@dereekb/dbx-core';
16
- import * as i4 from '@dereekb/dbx-web';
17
- import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule } from '@dereekb/dbx-web';
16
+ import * as i1$2 from '@dereekb/dbx-web';
17
+ import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, AbstractDbxValueListViewItemComponent, DBX_VALUE_LIST_VIEW_ITEM, TwoColumnsContextStore, AbstractPopupDirective, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, DbxPopupInteractionModule, DbxListLayoutModule } from '@dereekb/dbx-web';
18
18
  import { __awaiter } from 'tslib';
19
- import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, successResult, beginLoading, loadingStateFromObs, errorResult, lazyFrom, cleanup } from '@dereekb/rxjs';
19
+ import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, tapLog, switchMapWhileTrue, loadingStateFromObs, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, successResult, beginLoading, errorResult, cleanup } from '@dereekb/rxjs';
20
20
  import * as i1$1 from '@angular/fire/auth';
21
21
  import { authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
22
22
  import { sendPasswordResetEmail } from 'firebase/auth';
23
- import { firebaseAuthErrorToReadableError, clientFirebaseFirestoreContextFactory, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
24
- import * as i1$2 from '@dereekb/dbx-form';
25
- import { AbstractAsyncFormlyFormDirective, usernamePasswordLoginFields, provideFormlyContext, AbstractSyncFormlyFormDirective, emailField, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule } from '@dereekb/dbx-form';
23
+ import * as i2$3 from '@dereekb/firebase';
24
+ import { firebaseAuthErrorToReadableError, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FirebaseDevelopmentFunctions, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
25
+ import * as i5 from '@dereekb/dbx-form';
26
+ import { AbstractAsyncFormlyFormDirective, usernamePasswordLoginFields, provideFormlyContext, AbstractSyncFormlyFormDirective, emailField, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, AbstractConfigAsyncFormlyFormDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
27
+ import { msToSeconds } from '@dereekb/date';
28
+ import * as i2$4 from '@angular/material/snack-bar';
26
29
  import { initializeApp } from 'firebase/app';
27
30
  import * as i6 from '@angular/fire/app';
28
31
  import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
29
- import * as i4$1 from '@angular/fire/storage';
32
+ import * as i4 from '@angular/fire/storage';
30
33
  import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@angular/fire/storage';
31
- import * as i5 from '@angular/fire/functions';
34
+ import * as i5$1 from '@angular/fire/functions';
32
35
  import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
33
36
  import * as i1$3 from '@angular/fire/firestore';
34
37
  import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence, Firestore } from '@angular/fire/firestore';
@@ -381,7 +384,7 @@ DbxFirebaseLoginTermsSimpleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVers
381
384
  <span class="dbx-link-spacer"></span>
382
385
  <dbx-link [anchor]="privacyAnchor">Privacy</dbx-link>
383
386
  </div>
384
- `, isInline: true, dependencies: [{ kind: "component", type: i4.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }] });
387
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }] });
385
388
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, decorators: [{
386
389
  type: Component,
387
390
  args: [{
@@ -580,7 +583,7 @@ DbxFirebaseLoginButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
580
583
  </div>
581
584
  </dbx-button>
582
585
  </ng-container>
583
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i3.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i3.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i3.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i3.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
586
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
584
587
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
585
588
  type: Component,
586
589
  args: [{
@@ -781,7 +784,7 @@ DbxFirebaseLoginListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "1
781
784
  <div class="dbx-firebase-login-item" *ngFor="let config of providerInjectionConfigs$ | async">
782
785
  <dbx-injection [config]="config"></dbx-injection>
783
786
  </div>
784
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
787
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2$2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
785
788
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginListComponent, decorators: [{
786
789
  type: Component,
787
790
  args: [{
@@ -818,7 +821,7 @@ DbxFirebaseLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.
818
821
  <ng-container *dbxInjectionContext dbxFirebaseLoginContext>
819
822
  <dbx-firebase-login-list [providerTypes]="providerTypes" [omitProviderTypes]="omitProviderTypes" [providerCategories]="providerCategories" [loginMode]="loginMode"></dbx-firebase-login-list>
820
823
  </ng-container>
821
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.DbxInjectionContextDirective, selector: "[dbxInjectionContext]", inputs: ["config"] }, { kind: "directive", type: DbxFirebaseLoginContextDirective, selector: "[dbxFirebaseLoginContext]" }, { kind: "component", type: DbxFirebaseLoginListComponent, selector: "dbx-firebase-login-list", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }] });
824
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2$2.DbxInjectionContextDirective, selector: "[dbxInjectionContext]", inputs: ["config"] }, { kind: "directive", type: DbxFirebaseLoginContextDirective, selector: "[dbxFirebaseLoginContext]" }, { kind: "component", type: DbxFirebaseLoginListComponent, selector: "dbx-firebase-login-list", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }] });
822
825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginComponent, decorators: [{
823
826
  type: Component,
824
827
  args: [{
@@ -863,7 +866,7 @@ class DbxFirebaseEmailFormComponent extends AbstractAsyncFormlyFormDirective {
863
866
  DbxFirebaseEmailFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
864
867
  DbxFirebaseEmailFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: { config: "config" }, providers: [provideFormlyContext()], usesInheritance: true, ngImport: i0, template: `
865
868
  <dbx-formly></dbx-formly>
866
- `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
869
+ `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
867
870
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailFormComponent, decorators: [{
868
871
  type: Component,
869
872
  args: [{
@@ -886,7 +889,7 @@ class DbxFirebaseEmailRecoveryFormComponent extends AbstractSyncFormlyFormDirect
886
889
  DbxFirebaseEmailRecoveryFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
887
890
  DbxFirebaseEmailRecoveryFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form", providers: [provideFormlyContext()], usesInheritance: true, ngImport: i0, template: `
888
891
  <dbx-formly></dbx-formly>
889
- `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
892
+ `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
890
893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, decorators: [{
891
894
  type: Component,
892
895
  args: [{
@@ -980,7 +983,7 @@ class DbxFirebaseLoginEmailContentComponent {
980
983
  }
981
984
  }
982
985
  DbxFirebaseLoginEmailContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, deps: [{ token: DbxFirebaseAuthService }, { token: DBX_INJECTION_COMPONENT_DATA }], target: i0.ɵɵFactoryTarget.Component });
983
- DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <ng-container dbxAction [dbxActionHandler]=\"handleRecoveryAction\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i1$2.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i1$2.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i4.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i4.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i3.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i3.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i3.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i4.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i4.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
986
+ DbxFirebaseLoginEmailContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseLoginEmailContentComponent, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <ng-container dbxAction [dbxActionHandler]=\"handleRecoveryAction\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i1$2.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }, { kind: "directive", type: i5.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i5.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "component", type: i1$2.DbxReadableErrorComponent, selector: "dbx-error", inputs: ["error"] }, { kind: "directive", type: i1$2.DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i1$2.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form", inputs: ["config"] }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
984
987
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
985
988
  type: Component,
986
989
  args: [{ template: "<div class=\"dbx-firebase-login-email-content\">\n <ng-container [ngSwitch]=\"emailMode$ | async\">\n <ng-container *ngSwitchCase=\"'login'\">\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'recover'\">\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Login View -->\n<ng-template #loginView>\n <ng-container dbxAction [dbxActionHandler]=\"handleLoginAction\">\n <dbx-firebase-email-form [config]=\"formConfig\" dbxActionForm [dbxFormSource]=\"emailFormValue\"></dbx-firebase-email-form>\n <div class=\"dbx-firebase-login-email-forgot-prompt\" *ngIf=\"isLoginMode\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" [text]=\"buttonText\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancel()\">Cancel</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n\n<!-- Reset Password View -->\n<ng-template #resetPassword>\n <ng-container dbxAction [dbxActionHandler]=\"handleRecoveryAction\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValue\"></dbx-firebase-email-recovery-form>\n <p class=\"dbx-hint\">An email will be sent to the above address to help you reset your password.</p>\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-wide-button\" text=\"Send Recovery Email\" [raised]=\"true\" color=\"primary\" dbxActionButton></dbx-button>\n <span class=\"dbx-spacer\"></span>\n <button mat-flat-button (click)=\"onCancelReset()\">Cancel Recovery</button>\n </div>\n <dbx-error dbxActionError></dbx-error>\n </ng-container>\n</ng-template>\n" }]
@@ -1151,7 +1154,7 @@ class DbxFirebaseLoginTermsComponent {
1151
1154
  DbxFirebaseLoginTermsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginTermsComponent, deps: [{ token: DbxFirebaseAuthLoginService }], target: i0.ɵɵFactoryTarget.Component });
1152
1155
  DbxFirebaseLoginTermsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseLoginTermsComponent, selector: "dbx-firebase-login-terms", host: { classAttribute: "dbx-firebase-login-terms d-block" }, ngImport: i0, template: `
1153
1156
  <dbx-injection [config]="config"></dbx-injection>
1154
- `, isInline: true, dependencies: [{ kind: "component", type: i3.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
1157
+ `, isInline: true, dependencies: [{ kind: "component", type: i2$2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
1155
1158
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginTermsComponent, decorators: [{
1156
1159
  type: Component,
1157
1160
  args: [{
@@ -1176,7 +1179,7 @@ class DbxFirebaseLoginContextBackButtonComponent {
1176
1179
  DbxFirebaseLoginContextBackButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1177
1180
  DbxFirebaseLoginContextBackButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseLoginContextBackButtonComponent, selector: "dbx-firebase-login-context-back-button", outputs: { cancelLogin: "cancelLogin" }, ngImport: i0, template: `
1178
1181
  <dbx-link [anchor]="anchor">Choose other login method.</dbx-link>
1179
- `, isInline: true, dependencies: [{ kind: "component", type: i4.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }] });
1182
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxAnchorLinkComponent, selector: "dbx-link", inputs: ["anchor", "ref", "href"] }] });
1180
1183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, decorators: [{
1181
1184
  type: Component,
1182
1185
  args: [{
@@ -1478,6 +1481,563 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1478
1481
  args: [{}]
1479
1482
  }] });
1480
1483
 
1484
+ /**
1485
+ * Default providers to inject.
1486
+ */
1487
+ const DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentWidgetEntries');
1488
+ /**
1489
+ * Service used for registering widgets used for development.
1490
+ *
1491
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
1492
+ */
1493
+ class DbxFirebaseDevelopmentWidgetService {
1494
+ constructor(defaultEntries, dbxWidgetService) {
1495
+ this.dbxWidgetService = dbxWidgetService;
1496
+ this._entries = new Map();
1497
+ if (defaultEntries) {
1498
+ defaultEntries.forEach((x) => this.register(x, false));
1499
+ }
1500
+ }
1501
+ /**
1502
+ * Used to register a provider. If a provider is already registered, this will override it by default.
1503
+ *
1504
+ * @param provider
1505
+ * @param override
1506
+ */
1507
+ register(provider, override = true) {
1508
+ const type = provider.widget.type;
1509
+ if (override || !this._entries.has(type)) {
1510
+ this._entries.set(type, provider);
1511
+ this.dbxWidgetService.register(provider.widget, override);
1512
+ return true;
1513
+ }
1514
+ else {
1515
+ return false;
1516
+ }
1517
+ }
1518
+ getEntryWidgetIdentifiers() {
1519
+ return Array.from(this._entries.keys());
1520
+ }
1521
+ getEntries() {
1522
+ return iterableToArray(this._entries.values());
1523
+ }
1524
+ }
1525
+ DbxFirebaseDevelopmentWidgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, optional: true }, { token: i1$2.DbxWidgetService }], target: i0.ɵɵFactoryTarget.Injectable });
1526
+ DbxFirebaseDevelopmentWidgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, providedIn: 'root' });
1527
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, decorators: [{
1528
+ type: Injectable,
1529
+ args: [{
1530
+ providedIn: 'root'
1531
+ }]
1532
+ }], ctorParameters: function () {
1533
+ return [{ type: undefined, decorators: [{
1534
+ type: Optional
1535
+ }, {
1536
+ type: Inject,
1537
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN]
1538
+ }] }, { type: i1$2.DbxWidgetService }];
1539
+ } });
1540
+
1541
+ /**
1542
+ * Whether or not the scheduler should be enabled.
1543
+ */
1544
+ const DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentSchedulerEnabled');
1545
+ /**
1546
+ * Service used for hitting the scheduler in the development environment using the
1547
+ */
1548
+ class DbxFirebaseDevelopmentSchedulerService {
1549
+ constructor(_startEnabled, dbxAuthService, firebaseDevelopmentFunctions) {
1550
+ this._startEnabled = _startEnabled;
1551
+ this.dbxAuthService = dbxAuthService;
1552
+ this.firebaseDevelopmentFunctions = firebaseDevelopmentFunctions;
1553
+ this._sub = new SubscriptionObject();
1554
+ this._enabled = new BehaviorSubject(this._startEnabled !== false);
1555
+ this._timerInterval = new BehaviorSubject(60 * 1000);
1556
+ this._error = new BehaviorSubject(false);
1557
+ this.enabled$ = this._enabled.asObservable();
1558
+ this.running$ = combineLatest([this._enabled, this.dbxAuthService.authUserState$.pipe(map((x) => x === 'user'))]).pipe(map(([enabled, userReady]) => enabled && userReady), distinctUntilChanged(), shareReplay(1));
1559
+ this.timerInterval$ = this._timerInterval.asObservable();
1560
+ this.error$ = this._error.pipe(distinctUntilChanged());
1561
+ this.schedulerList$ = lazyFrom(() => {
1562
+ return this.firebaseDevelopmentFunctions
1563
+ .scheduledFunction({ type: ScheduledFunctionDevelopmentFunctionTypeEnum.LIST })
1564
+ .then((result) => {
1565
+ const list = result;
1566
+ return list.list;
1567
+ })
1568
+ .catch((e) => {
1569
+ console.error('Failed to retrieve development schedule list from server.', e);
1570
+ throw e;
1571
+ });
1572
+ });
1573
+ }
1574
+ init() {
1575
+ this._sub.subscription = this.running$
1576
+ .pipe(tapLog('DbxFirebaseDevelopmentSchedulerService enabled state:'), switchMapWhileTrue(() => {
1577
+ return combineLatest([this._timerInterval, this.schedulerList$]).pipe(switchMap(([timerInterval, schedulerList]) => {
1578
+ const executionOrder = schedulerList.map((x) => x.name);
1579
+ return interval(timerInterval).pipe(exhaustMap(() => {
1580
+ console.log('Running scheduled tasks in order... ', executionOrder);
1581
+ return PromiseUtility.runTasksForValues(executionOrder, (taskName) => this.runScheduledFunction(taskName), { sequential: true, retriesAllowed: 0, retryWait: 0 }).catch((e) => {
1582
+ console.log('Failed running scheduled task: ', e);
1583
+ this._error.next(true);
1584
+ });
1585
+ }), tap(() => {
1586
+ console.log('Successfully finished running all scheduled tasks.');
1587
+ this._error.next(false);
1588
+ }));
1589
+ }));
1590
+ }))
1591
+ .subscribe();
1592
+ }
1593
+ runScheduledFunction(taskName) {
1594
+ return this.firebaseDevelopmentFunctions.scheduledFunction({
1595
+ run: taskName,
1596
+ type: ScheduledFunctionDevelopmentFunctionTypeEnum.RUN
1597
+ });
1598
+ }
1599
+ setTimer(timerInterval) {
1600
+ this._timerInterval.next(timerInterval);
1601
+ }
1602
+ }
1603
+ DbxFirebaseDevelopmentSchedulerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, optional: true }, { token: i2$2.DbxAuthService }, { token: i2$3.FirebaseDevelopmentFunctions }], target: i0.ɵɵFactoryTarget.Injectable });
1604
+ DbxFirebaseDevelopmentSchedulerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, providedIn: 'root' });
1605
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, decorators: [{
1606
+ type: Injectable,
1607
+ args: [{
1608
+ providedIn: 'root'
1609
+ }]
1610
+ }], ctorParameters: function () {
1611
+ return [{ type: undefined, decorators: [{
1612
+ type: Optional
1613
+ }, {
1614
+ type: Inject,
1615
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN]
1616
+ }] }, { type: i2$2.DbxAuthService }, { type: i2$3.FirebaseDevelopmentFunctions }];
1617
+ } });
1618
+
1619
+ class DbxFirebaseDevelopmentSchedulerListComponent extends AbstractDbxSelectionListWrapperDirective {
1620
+ constructor() {
1621
+ super({
1622
+ componentClass: DbxFirebaseDevelopmentSchedulerListViewComponent,
1623
+ defaultSelectionMode: 'view'
1624
+ });
1625
+ }
1626
+ }
1627
+ DbxFirebaseDevelopmentSchedulerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1628
+ DbxFirebaseDevelopmentSchedulerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentSchedulerListComponent, selector: "dbx-firebase-development-scheduler-list", providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent), usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n</dbx-list>\n", isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1629
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, decorators: [{
1630
+ type: Component,
1631
+ args: [{
1632
+ selector: 'dbx-firebase-development-scheduler-list',
1633
+ template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE,
1634
+ providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent)
1635
+ }]
1636
+ }], ctorParameters: function () { return []; } });
1637
+ class DbxFirebaseDevelopmentSchedulerListViewComponent extends AbstractDbxSelectionListViewDirective {
1638
+ constructor() {
1639
+ super(...arguments);
1640
+ this.config = {
1641
+ componentClass: DbxFirebaseDevelopmentSchedulerListViewItemComponent,
1642
+ mapValuesToItemValues: (x) => of(x.map((y) => (Object.assign(Object.assign({}, y), { icon: y.icon, itemValue: y }))))
1643
+ };
1644
+ }
1645
+ }
1646
+ DbxFirebaseDevelopmentSchedulerListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1647
+ DbxFirebaseDevelopmentSchedulerListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentSchedulerListViewComponent, selector: "ng-component", providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] });
1648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, decorators: [{
1649
+ type: Component,
1650
+ args: [{
1651
+ template: DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE,
1652
+ providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent)
1653
+ }]
1654
+ }] });
1655
+ class DbxFirebaseDevelopmentSchedulerListViewItemComponent extends AbstractDbxValueListViewItemComponent {
1656
+ constructor(item, dbxFirebaseDevelopmentSchedulerService) {
1657
+ super(item);
1658
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1659
+ this.handleRun = (value, context) => {
1660
+ context.startWorkingWithObservable(from(this.dbxFirebaseDevelopmentSchedulerService.runScheduledFunction(this.name)));
1661
+ };
1662
+ }
1663
+ get name() {
1664
+ return this.itemValue.name;
1665
+ }
1666
+ }
1667
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, deps: [{ token: DBX_VALUE_LIST_VIEW_ITEM }, { token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.Component });
1668
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1669
+ <div dbxAction dbxActionValue fastTrigger [dbxActionHandler]="handleRun">
1670
+ <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
1671
+ <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
1672
+ </div>
1673
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxSuccessComponent, selector: "dbx-success" }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$2.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i2$2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
1675
+ type: Component,
1676
+ args: [{
1677
+ template: `
1678
+ <div dbxAction dbxActionValue fastTrigger [dbxActionHandler]="handleRun">
1679
+ <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
1680
+ <dbx-success *dbxActionHasSuccess="3000" dbxActionSuccess>Success</dbx-success>
1681
+ </div>
1682
+ `
1683
+ }]
1684
+ }], ctorParameters: function () {
1685
+ return [{ type: undefined, decorators: [{
1686
+ type: Inject,
1687
+ args: [DBX_VALUE_LIST_VIEW_ITEM]
1688
+ }] }, { type: DbxFirebaseDevelopmentSchedulerService }];
1689
+ } });
1690
+
1691
+ const DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY = 'DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET';
1692
+ function developmentFirebaseServerSchedulerWidgetEntry() {
1693
+ return {
1694
+ label: 'Run Scheduled Task',
1695
+ widget: {
1696
+ type: DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY,
1697
+ componentClass: DbxFirebaseDevelopmentSchedulerWidgetComponent
1698
+ }
1699
+ };
1700
+ }
1701
+ class DbxFirebaseDevelopmentSchedulerWidgetComponent {
1702
+ constructor(dbxFirebaseDevelopmentSchedulerService) {
1703
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1704
+ this.entries$ = this.dbxFirebaseDevelopmentSchedulerService.schedulerList$;
1705
+ this.state$ = loadingStateFromObs(this.entries$).pipe(tapLog('x'));
1706
+ }
1707
+ }
1708
+ DbxFirebaseDevelopmentSchedulerWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, deps: [{ token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.Component });
1709
+ DbxFirebaseDevelopmentSchedulerWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentSchedulerWidgetComponent, selector: "ng-component", ngImport: i0, template: `
1710
+ <div>
1711
+ <dbx-firebase-development-scheduler-list [state$]="state$"></dbx-firebase-development-scheduler-list>
1712
+ </div>
1713
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseDevelopmentSchedulerListComponent, selector: "dbx-firebase-development-scheduler-list" }] });
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, decorators: [{
1715
+ type: Component,
1716
+ args: [{
1717
+ template: `
1718
+ <div>
1719
+ <dbx-firebase-development-scheduler-list [state$]="state$"></dbx-firebase-development-scheduler-list>
1720
+ </div>
1721
+ `
1722
+ }]
1723
+ }], ctorParameters: function () { return [{ type: DbxFirebaseDevelopmentSchedulerService }]; } });
1724
+
1725
+ const DISPLAY_FOR_STRING_VALUE = (values) => {
1726
+ const displayValues = values.map((x) => { var _a; return (Object.assign(Object.assign({}, x), { label: ((_a = x.meta) === null || _a === void 0 ? void 0 : _a.label) || x.value })); });
1727
+ const obs = of(displayValues);
1728
+ return obs;
1729
+ };
1730
+ class DbxFirebaseDevelopmentPopupContentFormComponent extends AbstractConfigAsyncFormlyFormDirective {
1731
+ constructor() {
1732
+ super(...arguments);
1733
+ this.fields$ = this.config$.pipe(map((config) => {
1734
+ return [
1735
+ pickableItemChipField({
1736
+ key: 'specifier',
1737
+ filterLabel: 'Tools',
1738
+ description: 'Pick a tool to get started.',
1739
+ filterValues: filterPickableItemFieldValuesByLabel,
1740
+ loadValues: () => of(config.entries.map((y) => ({ value: y.widget.type, meta: y }))),
1741
+ displayForValue: DISPLAY_FOR_STRING_VALUE,
1742
+ asArrayValue: false
1743
+ })
1744
+ ];
1745
+ }));
1746
+ }
1747
+ }
1748
+ DbxFirebaseDevelopmentPopupContentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1749
+ DbxFirebaseDevelopmentPopupContentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentPopupContentFormComponent, selector: "dbx-firebase-development-popup-content-form", providers: [provideFormlyContext()], usesInheritance: true, ngImport: i0, template: `
1750
+ <dbx-formly></dbx-formly>
1751
+ `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
1752
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, decorators: [{
1753
+ type: Component,
1754
+ args: [{
1755
+ template: `
1756
+ <dbx-formly></dbx-formly>
1757
+ `,
1758
+ selector: 'dbx-firebase-development-popup-content-form',
1759
+ providers: [provideFormlyContext()]
1760
+ }]
1761
+ }] });
1762
+
1763
+ class DbxFirebaseDevelopmentPopupContentComponent {
1764
+ constructor(twoColumnsContextStore, dbxAuthService, dbxFirebaseDevelopmentWidgetService, dbxFirebaseDevelopmentSchedulerService) {
1765
+ this.twoColumnsContextStore = twoColumnsContextStore;
1766
+ this.dbxAuthService = dbxAuthService;
1767
+ this.dbxFirebaseDevelopmentWidgetService = dbxFirebaseDevelopmentWidgetService;
1768
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1769
+ this._backSub = new SubscriptionObject();
1770
+ this.entries = this.dbxFirebaseDevelopmentWidgetService.getEntries();
1771
+ this._activeEntrySelector = new BehaviorSubject(DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY);
1772
+ this.isLoggedIn$ = this.dbxAuthService.isLoggedIn$;
1773
+ this.entries$ = this.isLoggedIn$.pipe(distinctUntilChanged(), map((isLoggedIn) => this.entries), tapLog('Entries'), shareReplay(1));
1774
+ this.formConfig$ = this.entries$.pipe(map((entries) => ({ entries })));
1775
+ this.activeEntrySelector$ = this._activeEntrySelector.pipe(distinctUntilChanged());
1776
+ this.currentActiveEntry$ = combineLatest([this.entries$, this.activeEntrySelector$]).pipe(map(([entries, selector]) => (selector ? entries.find((e) => e.widget.type === selector) : undefined)), shareReplay(1));
1777
+ this.showRight$ = this.currentActiveEntry$.pipe(map((x) => x != null));
1778
+ this.activeEntry$ = this.currentActiveEntry$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
1779
+ this.rightTitle$ = this.activeEntry$.pipe(map((x) => x.label));
1780
+ this.widgetConfig$ = this.activeEntry$.pipe(map((x) => ({ data: undefined, type: x.widget.type })), shareReplay(1));
1781
+ this.schedulerRunning$ = this.dbxFirebaseDevelopmentSchedulerService.running$;
1782
+ this.schedulerInterval$ = this.dbxFirebaseDevelopmentSchedulerService.timerInterval$.pipe(map((x) => msToSeconds(x)), shareReplay(1));
1783
+ this.schedulerError$ = this.dbxFirebaseDevelopmentSchedulerService.error$.pipe(map((x) => (x ? 'Error Occured' : 'Ok')), shareReplay(1));
1784
+ this.formData$ = this._activeEntrySelector.pipe(distinctUntilChanged(), map((specifier) => ({ specifier })));
1785
+ this.handleFormUpdate = (value, context) => {
1786
+ this._activeEntrySelector.next(value.specifier);
1787
+ context.success();
1788
+ };
1789
+ this.isFormModified = (value) => {
1790
+ return this._activeEntrySelector.pipe(map((currentSelector) => value.specifier !== currentSelector), first());
1791
+ };
1792
+ }
1793
+ ngOnInit() {
1794
+ this.twoColumnsContextStore.setShowRight(this.showRight$);
1795
+ this._backSub.subscription = this.twoColumnsContextStore.back$.subscribe(() => {
1796
+ this.clearSelection();
1797
+ });
1798
+ }
1799
+ ngOnDestroy() {
1800
+ this._activeEntrySelector.complete();
1801
+ }
1802
+ clearSelection() {
1803
+ this._activeEntrySelector.next(undefined);
1804
+ }
1805
+ }
1806
+ DbxFirebaseDevelopmentPopupContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, deps: [{ token: i1$2.TwoColumnsContextStore }, { token: i2$2.DbxAuthService }, { token: DbxFirebaseDevelopmentWidgetService }, { token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.Component });
1807
+ DbxFirebaseDevelopmentPopupContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentPopupContentComponent, selector: "dbx-firebase-development-popup-content", providers: [TwoColumnsContextStore], ngImport: i0, template: "<dbx-two-column class=\"dbx-firebase-development-popup-content\" [dbxTwoColumnFullLeft]=\"true\">\n <dbx-two-block left>\n <div>\n <h4>Info</h4>\n <p>Scheduler (Running): {{ schedulerRunning$ | async }} : {{ schedulerInterval$ | async }}s : {{ schedulerError$ | async }}</p>\n </div>\n <div>\n <h4>Tools</h4>\n <div dbxAction dbxActionEnforceModified dbxActionAutoTrigger instantTrigger dbxActionLogger [dbxActionHandler]=\"handleFormUpdate\">\n <dbx-firebase-development-popup-content-form dbxActionForm [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\" [dbxActionFormModified]=\"isFormModified\" [config]=\"formConfig$ | async\"></dbx-firebase-development-popup-content-form>\n </div>\n </div>\n </dbx-two-block>\n <dbx-two-column-right right [header]=\"(rightTitle$ | async) || ''\">\n <dbx-widget-view [config]=\"widgetConfig$ | async\"></dbx-widget-view>\n </dbx-two-column-right>\n</dbx-two-column>\n", styles: [".dbx-firebase-development-popup-content{height:400px;overflow:hidden}\n"], dependencies: [{ kind: "component", type: i1$2.DbxWidgetViewComponent, selector: "dbx-widget-view", inputs: ["config"] }, { kind: "component", type: i1$2.DbxTwoBlocksComponent, selector: "dbx-two-block", inputs: ["fixedTop"] }, { kind: "component", type: i1$2.DbxTwoColumnComponent, selector: "dbx-two-column", inputs: ["reverseSizing", "inSectionPage"], exportAs: ["columns"] }, { kind: "component", type: i1$2.DbxTwoColumnRightComponent, selector: "dbx-two-column-right", inputs: ["header", "block", "showBack", "minRightWidth"] }, { kind: "directive", type: i1$2.DbxTwoColumnFullLeftDirective, selector: "[dbxTwoColumnFullLeft]", inputs: ["dbxTwoColumnFullLeft"] }, { kind: "directive", type: i5.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i5.DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormValidator", "dbxActionFormModified", "formDisabledOnWorking"] }, { kind: "directive", type: i2$2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$2.DbxActionEnforceModifiedDirective, selector: "[dbxActionEnforceModified]", inputs: ["dbxActionEnforceModified"] }, { kind: "directive", type: i2$2.DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger, [dbxActionAutoTrigger]", inputs: ["dbxActionAutoTrigger", "triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "fastTrigger", "instantTrigger", "triggerLimit"] }, { kind: "directive", type: i2$2.DbxActionContextLoggerDirective, selector: "[dbxActionLogger],[dbxActionContextLogger]" }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentFormComponent, selector: "dbx-firebase-development-popup-content-form" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
1809
+ type: Component,
1810
+ args: [{ selector: 'dbx-firebase-development-popup-content', providers: [TwoColumnsContextStore], template: "<dbx-two-column class=\"dbx-firebase-development-popup-content\" [dbxTwoColumnFullLeft]=\"true\">\n <dbx-two-block left>\n <div>\n <h4>Info</h4>\n <p>Scheduler (Running): {{ schedulerRunning$ | async }} : {{ schedulerInterval$ | async }}s : {{ schedulerError$ | async }}</p>\n </div>\n <div>\n <h4>Tools</h4>\n <div dbxAction dbxActionEnforceModified dbxActionAutoTrigger instantTrigger dbxActionLogger [dbxActionHandler]=\"handleFormUpdate\">\n <dbx-firebase-development-popup-content-form dbxActionForm [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\" [dbxActionFormModified]=\"isFormModified\" [config]=\"formConfig$ | async\"></dbx-firebase-development-popup-content-form>\n </div>\n </div>\n </dbx-two-block>\n <dbx-two-column-right right [header]=\"(rightTitle$ | async) || ''\">\n <dbx-widget-view [config]=\"widgetConfig$ | async\"></dbx-widget-view>\n </dbx-two-column-right>\n</dbx-two-column>\n", styles: [".dbx-firebase-development-popup-content{height:400px;overflow:hidden}\n"] }]
1811
+ }], ctorParameters: function () { return [{ type: i1$2.TwoColumnsContextStore }, { type: i2$2.DbxAuthService }, { type: DbxFirebaseDevelopmentWidgetService }, { type: DbxFirebaseDevelopmentSchedulerService }]; } });
1812
+
1813
+ const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = 'devpopup';
1814
+ class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
1815
+ constructor(popup, popupService) {
1816
+ super(popup);
1817
+ this.popupService = popupService;
1818
+ this.header = 'Development Tools';
1819
+ this.reopen = () => {
1820
+ DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService, this.popup.key);
1821
+ };
1822
+ }
1823
+ static openPopup(popupService, popupKey) {
1824
+ return popupService.open({
1825
+ key: popupKey !== null && popupKey !== void 0 ? popupKey : DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY,
1826
+ componentClass: DbxFirebaseDevelopmentPopupComponent,
1827
+ closeOnTransition: false,
1828
+ isDraggable: true,
1829
+ position: 'center'
1830
+ });
1831
+ }
1832
+ }
1833
+ DbxFirebaseDevelopmentPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, deps: [{ token: i1$2.DbxPopupComponent }, { token: i1$2.DbxPopupService }], target: i0.ɵɵFactoryTarget.Component });
1834
+ DbxFirebaseDevelopmentPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "content", first: true, predicate: DbxFirebaseDevelopmentPopupContentComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
1835
+ <dbx-popup-content>
1836
+ <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
1837
+ <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
1838
+ </dbx-popup-content>
1839
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxPopupContentComponent, selector: "dbx-popup-content" }, { kind: "component", type: i1$2.DbxPopupControlsComponent, selector: "dbx-popup-controls", inputs: ["header"] }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentComponent, selector: "dbx-firebase-development-popup-content" }] });
1840
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
1841
+ type: Component,
1842
+ args: [{
1843
+ template: `
1844
+ <dbx-popup-content>
1845
+ <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
1846
+ <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
1847
+ </dbx-popup-content>
1848
+ `
1849
+ }]
1850
+ }], ctorParameters: function () { return [{ type: i1$2.DbxPopupComponent }, { type: i1$2.DbxPopupService }]; }, propDecorators: { content: [{
1851
+ type: ViewChild,
1852
+ args: [DbxFirebaseDevelopmentPopupContentComponent, { static: true }]
1853
+ }] } });
1854
+
1855
+ /**
1856
+ * Enabled state
1857
+ */
1858
+ const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentEnabled');
1859
+ /**
1860
+ * Service used for registering widgets used for development.
1861
+ *
1862
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
1863
+ */
1864
+ class DbxFirebaseDevelopmentService {
1865
+ constructor(enabled) {
1866
+ this.enabled = enabled;
1867
+ }
1868
+ }
1869
+ DbxFirebaseDevelopmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1870
+ DbxFirebaseDevelopmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, providedIn: 'root' });
1871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
1872
+ type: Injectable,
1873
+ args: [{
1874
+ providedIn: 'root'
1875
+ }]
1876
+ }], ctorParameters: function () {
1877
+ return [{ type: undefined, decorators: [{
1878
+ type: Optional
1879
+ }, {
1880
+ type: Inject,
1881
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN]
1882
+ }] }];
1883
+ } });
1884
+
1885
+ /**
1886
+ * Directive for controlling and displaying
1887
+ */
1888
+ class DbxFirebaseDevelopmentDirective {
1889
+ constructor(popupService, matSnackBar, dbxFirebaseDevelopmentService) {
1890
+ this.popupService = popupService;
1891
+ this.matSnackBar = matSnackBar;
1892
+ this.dbxFirebaseDevelopmentService = dbxFirebaseDevelopmentService;
1893
+ }
1894
+ get enabled() {
1895
+ return this.dbxFirebaseDevelopmentService.enabled;
1896
+ }
1897
+ handleKeyboardEvent(event) {
1898
+ if (this.enabled && event.shiftKey && event.altKey && event.code === 'KeyD') {
1899
+ this.togglePopup();
1900
+ event.preventDefault();
1901
+ }
1902
+ }
1903
+ togglePopup() {
1904
+ if (this.ref) {
1905
+ this.closePopup();
1906
+ }
1907
+ else {
1908
+ this.openPopup();
1909
+ }
1910
+ }
1911
+ openPopup() {
1912
+ if (!this.ref) {
1913
+ const ref = DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService);
1914
+ ref.afterClosed$.subscribe(() => {
1915
+ if (this.ref === ref) {
1916
+ this.ref = undefined;
1917
+ }
1918
+ });
1919
+ this.ref = ref;
1920
+ }
1921
+ }
1922
+ closePopup() {
1923
+ if (this.ref != null) {
1924
+ this.ref.close();
1925
+ }
1926
+ }
1927
+ ngAfterViewInit() {
1928
+ if (this.enabled) {
1929
+ this.matSnackBar
1930
+ .open('Dev Tools: alt/option + shift + D', 'Open', {
1931
+ horizontalPosition: 'center',
1932
+ verticalPosition: 'bottom',
1933
+ duration: 8 * 1000
1934
+ })
1935
+ .onAction()
1936
+ .subscribe(() => {
1937
+ this.openPopup();
1938
+ });
1939
+ }
1940
+ }
1941
+ ngOnDestroy() {
1942
+ this.closePopup();
1943
+ }
1944
+ }
1945
+ DbxFirebaseDevelopmentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [{ token: i1$2.DbxPopupService }, { token: i2$4.MatSnackBar }, { token: DbxFirebaseDevelopmentService }], target: i0.ɵɵFactoryTarget.Directive });
1946
+ DbxFirebaseDevelopmentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentDirective, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
1947
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
1948
+ type: Directive,
1949
+ args: [{
1950
+ selector: '[dbxFirebaseDevelopment]'
1951
+ }]
1952
+ }], ctorParameters: function () { return [{ type: i1$2.DbxPopupService }, { type: i2$4.MatSnackBar }, { type: DbxFirebaseDevelopmentService }]; }, propDecorators: { handleKeyboardEvent: [{
1953
+ type: HostListener,
1954
+ args: ['window:keydown', ['$event']]
1955
+ }] } });
1956
+
1957
+ class DbxFirebaseDevelopmentModuleRootConfig {
1958
+ }
1959
+ /**
1960
+ * Contains components related to logging in.
1961
+ */
1962
+ class DbxFirebaseDevelopmentModule {
1963
+ constructor(dbxFirebaseDevelopmentSchedulerService) {
1964
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1965
+ dbxFirebaseDevelopmentSchedulerService.init();
1966
+ }
1967
+ static forRoot(config) {
1968
+ let entries = config.entries;
1969
+ if (config.addDevelopmentSchedulerWidget !== false) {
1970
+ entries = [developmentFirebaseServerSchedulerWidgetEntry(), ...config.entries];
1971
+ }
1972
+ return {
1973
+ ngModule: DbxFirebaseDevelopmentModule,
1974
+ providers: [
1975
+ {
1976
+ provide: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN,
1977
+ useValue: entries
1978
+ },
1979
+ {
1980
+ provide: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN,
1981
+ useValue: config.enabled
1982
+ },
1983
+ {
1984
+ provide: DbxFirebaseDevelopmentModuleRootConfig,
1985
+ useValue: config
1986
+ }
1987
+ ]
1988
+ };
1989
+ }
1990
+ }
1991
+ DbxFirebaseDevelopmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [{ token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.NgModule });
1992
+ DbxFirebaseDevelopmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, declarations: [
1993
+ //
1994
+ DbxFirebaseDevelopmentPopupContentFormComponent,
1995
+ DbxFirebaseDevelopmentDirective,
1996
+ DbxFirebaseDevelopmentPopupComponent,
1997
+ DbxFirebaseDevelopmentPopupContentComponent,
1998
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
1999
+ DbxFirebaseDevelopmentSchedulerListComponent,
2000
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2001
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2002
+ ], imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule], exports: [
2003
+ //
2004
+ DbxFirebaseDevelopmentDirective,
2005
+ DbxFirebaseDevelopmentPopupComponent,
2006
+ DbxFirebaseDevelopmentPopupContentComponent,
2007
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2008
+ DbxFirebaseDevelopmentSchedulerListComponent,
2009
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2010
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2011
+ ] });
2012
+ DbxFirebaseDevelopmentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule] });
2013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
2014
+ type: NgModule,
2015
+ args: [{
2016
+ imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule],
2017
+ declarations: [
2018
+ //
2019
+ DbxFirebaseDevelopmentPopupContentFormComponent,
2020
+ DbxFirebaseDevelopmentDirective,
2021
+ DbxFirebaseDevelopmentPopupComponent,
2022
+ DbxFirebaseDevelopmentPopupContentComponent,
2023
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2024
+ DbxFirebaseDevelopmentSchedulerListComponent,
2025
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2026
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2027
+ ],
2028
+ exports: [
2029
+ //
2030
+ DbxFirebaseDevelopmentDirective,
2031
+ DbxFirebaseDevelopmentPopupComponent,
2032
+ DbxFirebaseDevelopmentPopupContentComponent,
2033
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2034
+ DbxFirebaseDevelopmentSchedulerListComponent,
2035
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2036
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2037
+ ]
2038
+ }]
2039
+ }], ctorParameters: function () { return [{ type: DbxFirebaseDevelopmentSchedulerService }]; } });
2040
+
1481
2041
  class DbxFirebaseParsedEmulatorsConfig {
1482
2042
  }
1483
2043
 
@@ -1637,7 +2197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1637
2197
  class DbxFirebaseDefaultStorageProviderModule {
1638
2198
  }
1639
2199
  DbxFirebaseDefaultStorageProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1640
- DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4$1.StorageModule] });
2200
+ DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] });
1641
2201
  DbxFirebaseDefaultStorageProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [provideStorage((injector) => {
1642
2202
  const firebaseApp = injector.get(FirebaseApp);
1643
2203
  const storage = getStorage(firebaseApp);
@@ -1669,7 +2229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1669
2229
  class DbxFirebaseDefaultFunctionsProviderModule {
1670
2230
  }
1671
2231
  DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1672
- DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
2232
+ DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5$1.FunctionsModule] });
1673
2233
  DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
1674
2234
  const firebaseApp = injector.get(FirebaseApp);
1675
2235
  const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
@@ -1838,9 +2398,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1838
2398
 
1839
2399
  /**
1840
2400
  * Used to initialize the LazyFirebaseFunctions type for a DbxFirebase app.
2401
+ *
2402
+ * Handles the key different, automatically injecting FirebaseDevelopmentFunctions with this existing value.
1841
2403
  */
1842
2404
  class DbxFirebaseFunctionsModule {
1843
2405
  static forRoot(config) {
2406
+ var _a;
1844
2407
  const providers = [
1845
2408
  {
1846
2409
  provide: config.functionsGetterToken,
@@ -1867,6 +2430,17 @@ class DbxFirebaseFunctionsModule {
1867
2430
  });
1868
2431
  }
1869
2432
  });
2433
+ // Add a provider for FirebaseDevelopmentFunctions if developmentFunctions is provided.
2434
+ const developmentFunctionsKey = (_a = config.developmentFunctionsKey) !== null && _a !== void 0 ? _a : FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY;
2435
+ if (developmentFunctionsKey) {
2436
+ const developmentFunctionsConfig = config.functionsConfigMap[developmentFunctionsKey];
2437
+ if (developmentFunctionsConfig != null) {
2438
+ providers.push({
2439
+ provide: FirebaseDevelopmentFunctions,
2440
+ useExisting: developmentFunctionsConfig[0]
2441
+ });
2442
+ }
2443
+ }
1870
2444
  }
1871
2445
  return {
1872
2446
  ngModule: DbxFirebaseFunctionsModule,
@@ -2321,7 +2895,7 @@ class DbxFirebaseCollectionListDirective {
2321
2895
  this.dbxListViewWrapper.state$ = this.dbxFirebaseCollectionStoreDirective.pageLoadingState$;
2322
2896
  }
2323
2897
  }
2324
- DbxFirebaseCollectionListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [{ token: DbxFirebaseCollectionStoreDirective }, { token: i4.DbxListViewWrapper, host: true }], target: i0.ɵɵFactoryTarget.Directive });
2898
+ DbxFirebaseCollectionListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [{ token: DbxFirebaseCollectionStoreDirective }, { token: i1$2.DbxListViewWrapper, host: true }], target: i0.ɵɵFactoryTarget.Directive });
2325
2899
  DbxFirebaseCollectionListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseCollectionListDirective, selector: "[dbxFirebaseCollectionList]", ngImport: i0 });
2326
2900
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
2327
2901
  type: Directive,
@@ -2329,7 +2903,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
2329
2903
  selector: '[dbxFirebaseCollectionList]'
2330
2904
  }]
2331
2905
  }], ctorParameters: function () {
2332
- return [{ type: DbxFirebaseCollectionStoreDirective }, { type: i4.DbxListViewWrapper, decorators: [{
2906
+ return [{ type: DbxFirebaseCollectionStoreDirective }, { type: i1$2.DbxListViewWrapper, decorators: [{
2333
2907
  type: Host
2334
2908
  }] }];
2335
2909
  } });
@@ -2506,7 +3080,7 @@ class DbxFirebaseDocumentStoreRouteIdDirective extends AbstractSubscriptionDirec
2506
3080
  this._redirectInstance.setDecider(decider);
2507
3081
  }
2508
3082
  }
2509
- DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: DbxFirebaseDocumentStoreDirective, host: true }, { token: i3.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
3083
+ DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: DbxFirebaseDocumentStoreDirective, host: true }, { token: i2$2.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
2510
3084
  DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"], dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
2511
3085
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
2512
3086
  type: Directive,
@@ -2516,7 +3090,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
2516
3090
  }], ctorParameters: function () {
2517
3091
  return [{ type: DbxFirebaseDocumentStoreDirective, decorators: [{
2518
3092
  type: Host
2519
- }] }, { type: i3.DbxRouterService }];
3093
+ }] }, { type: i2$2.DbxRouterService }];
2520
3094
  }, propDecorators: { idParam: [{
2521
3095
  type: Input,
2522
3096
  args: ['dbxFirebaseDocumentStoreRouteId']
@@ -3082,5 +3656,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
3082
3656
  * Generated bundle index. Do not edit.
3083
3657
  */
3084
3658
 
3085
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
3659
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DISPLAY_FOR_STRING_VALUE, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentModuleRootConfig, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
3086
3660
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map