@dereekb/dbx-firebase 9.15.3 → 9.15.5

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.
@@ -19,22 +19,22 @@ import { authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAu
19
19
  import { sendPasswordResetEmail } from 'firebase/auth';
20
20
  import * as i1$2 from '@dereekb/dbx-web';
21
21
  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';
22
- import * as i1$3 from '@dereekb/firebase';
22
+ import * as i1$4 from '@dereekb/firebase';
23
23
  import { firebaseAuthErrorToReadableError, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FirebaseDevelopmentFunctions, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
24
- import * as i5 from '@dereekb/dbx-form';
24
+ import * as i1$3 from '@dereekb/dbx-form';
25
25
  import { AbstractAsyncFormlyFormDirective, usernamePasswordLoginFields, provideFormlyContext, AbstractSyncFormlyFormDirective, emailField, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, AbstractConfigAsyncFormlyFormDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
26
26
  import { msToSeconds } from '@dereekb/date';
27
- import * as i2$3 from '@angular/material/snack-bar';
28
27
  import { initializeApp } from 'firebase/app';
29
28
  import * as i6 from '@angular/fire/app';
30
29
  import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
31
30
  import * as i4 from '@angular/fire/storage';
32
31
  import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@angular/fire/storage';
33
- import * as i5$1 from '@angular/fire/functions';
32
+ import * as i5 from '@angular/fire/functions';
34
33
  import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
35
- import * as i1$4 from '@angular/fire/firestore';
34
+ import * as i1$5 from '@angular/fire/firestore';
36
35
  import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence, Firestore } from '@angular/fire/firestore';
37
36
  import { HTTP_INTERCEPTORS } from '@angular/common/http';
37
+ import * as i2$3 from '@angular/material/snack-bar';
38
38
 
39
39
  /**
40
40
  * Enables debug token generation for AppCheck by setting FIREBASE_APPCHECK_DEBUG_TOKEN in the browser's self/window.
@@ -850,7 +850,7 @@ class DbxFirebaseEmailFormComponent extends AbstractAsyncFormlyFormDirective {
850
850
  DbxFirebaseEmailFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
851
851
  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: `
852
852
  <dbx-formly></dbx-formly>
853
- `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
853
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$3.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
854
854
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailFormComponent, decorators: [{
855
855
  type: Component,
856
856
  args: [{
@@ -873,7 +873,7 @@ class DbxFirebaseEmailRecoveryFormComponent extends AbstractSyncFormlyFormDirect
873
873
  DbxFirebaseEmailRecoveryFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
874
874
  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: `
875
875
  <dbx-formly></dbx-formly>
876
- `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
876
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$3.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
877
877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, decorators: [{
878
878
  type: Component,
879
879
  args: [{
@@ -967,7 +967,7 @@ class DbxFirebaseLoginEmailContentComponent {
967
967
  }
968
968
  }
969
969
  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 });
970
- 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" }] });
970
+ 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: i1$3.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i1$3.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" }] });
971
971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
972
972
  type: Component,
973
973
  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" }]
@@ -1584,7 +1584,7 @@ class DbxFirebaseDevelopmentSchedulerService {
1584
1584
  this._timerInterval.next(timerInterval);
1585
1585
  }
1586
1586
  }
1587
- 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: i1$3.FirebaseDevelopmentFunctions }], target: i0.ɵɵFactoryTarget.Injectable });
1587
+ 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: i1$4.FirebaseDevelopmentFunctions }], target: i0.ɵɵFactoryTarget.Injectable });
1588
1588
  DbxFirebaseDevelopmentSchedulerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, providedIn: 'root' });
1589
1589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, decorators: [{
1590
1590
  type: Injectable,
@@ -1596,7 +1596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1596
1596
  }, {
1597
1597
  type: Inject,
1598
1598
  args: [DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN]
1599
- }] }, { type: i2$2.DbxAuthService }, { type: i1$3.FirebaseDevelopmentFunctions }]; } });
1599
+ }] }, { type: i2$2.DbxAuthService }, { type: i1$4.FirebaseDevelopmentFunctions }]; } });
1600
1600
 
1601
1601
  class DbxFirebaseDevelopmentSchedulerListComponent extends AbstractDbxSelectionListWrapperDirective {
1602
1602
  constructor() {
@@ -1702,439 +1702,127 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
1702
1702
  }]
1703
1703
  }], ctorParameters: function () { return [{ type: DbxFirebaseDevelopmentSchedulerService }]; } });
1704
1704
 
1705
- const DISPLAY_FOR_STRING_VALUE = (values) => {
1706
- const displayValues = values.map((x) => ({ ...x, label: x.meta?.label || x.value }));
1707
- const obs = of(displayValues);
1708
- return obs;
1709
- };
1710
- class DbxFirebaseDevelopmentPopupContentFormComponent extends AbstractConfigAsyncFormlyFormDirective {
1711
- constructor() {
1712
- super(...arguments);
1713
- this.fields$ = this.config$.pipe(map((config) => {
1714
- return [
1715
- pickableItemChipField({
1716
- key: 'specifier',
1717
- filterLabel: 'Tools',
1718
- description: 'Pick a tool to get started.',
1719
- filterValues: filterPickableItemFieldValuesByLabel,
1720
- loadValues: () => of(config.entries.map((y) => ({ value: y.widget.type, meta: y }))),
1721
- displayForValue: DISPLAY_FOR_STRING_VALUE,
1722
- asArrayValue: false
1723
- })
1724
- ];
1725
- }));
1726
- }
1727
- }
1728
- DbxFirebaseDevelopmentPopupContentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1729
- 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: `
1730
- <dbx-formly></dbx-formly>
1731
- `, isInline: true, dependencies: [{ kind: "component", type: i5.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
1732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, decorators: [{
1733
- type: Component,
1734
- args: [{
1735
- template: `
1736
- <dbx-formly></dbx-formly>
1737
- `,
1738
- selector: 'dbx-firebase-development-popup-content-form',
1739
- providers: [provideFormlyContext()]
1740
- }]
1741
- }] });
1742
-
1743
- class DbxFirebaseDevelopmentPopupContentComponent {
1744
- constructor(twoColumnsContextStore, dbxAuthService, dbxFirebaseDevelopmentWidgetService, dbxFirebaseDevelopmentSchedulerService) {
1745
- this.twoColumnsContextStore = twoColumnsContextStore;
1746
- this.dbxAuthService = dbxAuthService;
1747
- this.dbxFirebaseDevelopmentWidgetService = dbxFirebaseDevelopmentWidgetService;
1748
- this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1749
- this._backSub = new SubscriptionObject();
1750
- this.entries = this.dbxFirebaseDevelopmentWidgetService.getEntries();
1751
- this._activeEntrySelector = new BehaviorSubject(DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY);
1752
- this.isLoggedIn$ = this.dbxAuthService.isLoggedIn$;
1753
- this.entries$ = this.isLoggedIn$.pipe(distinctUntilChanged(), map((isLoggedIn) => this.entries), tapLog('Entries'), shareReplay(1));
1754
- this.formConfig$ = this.entries$.pipe(map((entries) => ({ entries })));
1755
- this.activeEntrySelector$ = this._activeEntrySelector.pipe(distinctUntilChanged());
1756
- this.currentActiveEntry$ = combineLatest([this.entries$, this.activeEntrySelector$]).pipe(map(([entries, selector]) => (selector ? entries.find((e) => e.widget.type === selector) : undefined)), shareReplay(1));
1757
- this.showRight$ = this.currentActiveEntry$.pipe(map((x) => x != null));
1758
- this.activeEntry$ = this.currentActiveEntry$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
1759
- this.rightTitle$ = this.activeEntry$.pipe(map((x) => x.label));
1760
- this.widgetConfig$ = this.activeEntry$.pipe(map((x) => ({ data: undefined, type: x.widget.type })), shareReplay(1));
1761
- this.schedulerRunning$ = this.dbxFirebaseDevelopmentSchedulerService.running$;
1762
- this.schedulerInterval$ = this.dbxFirebaseDevelopmentSchedulerService.timerInterval$.pipe(map((x) => msToSeconds(x)), shareReplay(1));
1763
- this.schedulerError$ = this.dbxFirebaseDevelopmentSchedulerService.error$.pipe(map((x) => (x ? 'Error Occured' : 'Ok')), shareReplay(1));
1764
- this.formData$ = this._activeEntrySelector.pipe(distinctUntilChanged(), map((specifier) => ({ specifier })));
1765
- this.handleFormUpdate = (value, context) => {
1766
- this._activeEntrySelector.next(value.specifier);
1767
- context.success();
1768
- };
1769
- this.isFormModified = (value) => {
1770
- return this._activeEntrySelector.pipe(map((currentSelector) => value.specifier !== currentSelector), first());
1771
- };
1772
- }
1773
- ngOnInit() {
1774
- this.twoColumnsContextStore.setShowRight(this.showRight$);
1775
- this._backSub.subscription = this.twoColumnsContextStore.back$.subscribe(() => {
1776
- this.clearSelection();
1777
- });
1778
- }
1779
- ngOnDestroy() {
1780
- this._activeEntrySelector.complete();
1781
- }
1782
- clearSelection() {
1783
- this._activeEntrySelector.next(undefined);
1784
- }
1705
+ class DbxFirebaseParsedEmulatorsConfig {
1785
1706
  }
1786
- 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 });
1787
- 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" }] });
1788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
1789
- type: Component,
1790
- 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"] }]
1791
- }], ctorParameters: function () { return [{ type: i1$2.TwoColumnsContextStore }, { type: i2$2.DbxAuthService }, { type: DbxFirebaseDevelopmentWidgetService }, { type: DbxFirebaseDevelopmentSchedulerService }]; } });
1792
1707
 
1793
- const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = 'devpopup';
1794
- class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
1795
- constructor(popup, popupService) {
1796
- super(popup);
1797
- this.popupService = popupService;
1798
- this.header = 'Development Tools';
1799
- this.reopen = () => {
1800
- DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService, this.popup.key);
1801
- };
1802
- }
1803
- static openPopup(popupService, popupKey) {
1804
- return popupService.open({
1805
- key: popupKey ?? DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY,
1806
- componentClass: DbxFirebaseDevelopmentPopupComponent,
1807
- closeOnTransition: false,
1808
- isDraggable: true,
1809
- position: 'center'
1810
- });
1811
- }
1708
+ // TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
1709
+ /**
1710
+ * Default firebase firestore provider module.
1711
+ */
1712
+ class DbxFirebaseDefaultFirestoreProviderModule {
1812
1713
  }
1813
- 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 });
1814
- DbxFirebaseDevelopmentPopupComponentcmp = 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: `
1815
- <dbx-popup-content>
1816
- <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
1817
- <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
1818
- </dbx-popup-content>
1819
- `, 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" }] });
1820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
1821
- type: Component,
1714
+ DbxFirebaseDefaultFirestoreProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1715
+ DbxFirebaseDefaultFirestoreProviderModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1$5.FirestoreModule] });
1716
+ DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore(((injector) => {
1717
+ const firebaseApp = injector.get(FirebaseApp);
1718
+ const firestore = getFirestore(firebaseApp);
1719
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
1720
+ if (emulators?.useEmulators && emulators?.firestore) {
1721
+ connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
1722
+ }
1723
+ enableIndexedDbPersistence(firestore);
1724
+ return firestore;
1725
+ }))] });
1726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
1727
+ type: NgModule,
1822
1728
  args: [{
1823
- template: `
1824
- <dbx-popup-content>
1825
- <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
1826
- <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
1827
- </dbx-popup-content>
1828
- `
1729
+ imports: [
1730
+ provideFirestore(((injector) => {
1731
+ const firebaseApp = injector.get(FirebaseApp);
1732
+ const firestore = getFirestore(firebaseApp);
1733
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
1734
+ if (emulators?.useEmulators && emulators?.firestore) {
1735
+ connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
1736
+ }
1737
+ enableIndexedDbPersistence(firestore);
1738
+ return firestore;
1739
+ }))
1740
+ ]
1829
1741
  }]
1830
- }], ctorParameters: function () { return [{ type: i1$2.DbxPopupComponent }, { type: i1$2.DbxPopupService }]; }, propDecorators: { content: [{
1831
- type: ViewChild,
1832
- args: [DbxFirebaseDevelopmentPopupContentComponent, { static: true }]
1833
- }] } });
1834
-
1835
- /**
1836
- * Enabled state
1837
- */
1838
- const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentEnabled');
1742
+ }] });
1839
1743
  /**
1840
- * Service used for registering widgets used for development.
1744
+ * Default firebase app check provider module.
1841
1745
  *
1842
- * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
1746
+ * Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
1843
1747
  */
1844
- class DbxFirebaseDevelopmentService {
1845
- constructor(enabled) {
1846
- this.enabled = enabled;
1847
- }
1748
+ class DbxFirebaseDefaultAppCheckProviderModule {
1848
1749
  }
1849
- 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 });
1850
- DbxFirebaseDevelopmentServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, providedIn: 'root' });
1851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
1852
- type: Injectable,
1750
+ DbxFirebaseDefaultAppCheckProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1751
+ DbxFirebaseDefaultAppCheckProviderModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i1.AppCheckModule] });
1752
+ DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
1753
+ {
1754
+ provide: HTTP_INTERCEPTORS,
1755
+ useClass: DbxFirebaseAppCheckHttpInterceptor,
1756
+ multi: true
1757
+ }
1758
+ ], imports: [provideAppCheck((injector) => {
1759
+ const firebaseApp = injector.get(FirebaseApp);
1760
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1761
+ const appCheckOptions = firebaseOptions.appCheck;
1762
+ const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
1763
+ let appCheck;
1764
+ if (appCheckOptions && !appCheckKnowinglyDisabled) {
1765
+ // enable the debug tokens if not using emulators and allowDebugTokens is set true
1766
+ if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
1767
+ enableAppCheckDebugTokenGeneration(true);
1768
+ }
1769
+ // Only enabled outside of app-check environments. The emulators will not use appcheck.
1770
+ appCheck = initializeAppCheck(firebaseApp, {
1771
+ provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
1772
+ isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
1773
+ });
1774
+ console.log('Enabled AppCheck.');
1775
+ }
1776
+ else {
1777
+ appCheck = undefined;
1778
+ if (!appCheckKnowinglyDisabled) {
1779
+ console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
1780
+ }
1781
+ }
1782
+ return appCheck;
1783
+ })] });
1784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
1785
+ type: NgModule,
1853
1786
  args: [{
1854
- providedIn: 'root'
1787
+ imports: [
1788
+ provideAppCheck((injector) => {
1789
+ const firebaseApp = injector.get(FirebaseApp);
1790
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1791
+ const appCheckOptions = firebaseOptions.appCheck;
1792
+ const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
1793
+ let appCheck;
1794
+ if (appCheckOptions && !appCheckKnowinglyDisabled) {
1795
+ // enable the debug tokens if not using emulators and allowDebugTokens is set true
1796
+ if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
1797
+ enableAppCheckDebugTokenGeneration(true);
1798
+ }
1799
+ // Only enabled outside of app-check environments. The emulators will not use appcheck.
1800
+ appCheck = initializeAppCheck(firebaseApp, {
1801
+ provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
1802
+ isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
1803
+ });
1804
+ console.log('Enabled AppCheck.');
1805
+ }
1806
+ else {
1807
+ appCheck = undefined;
1808
+ if (!appCheckKnowinglyDisabled) {
1809
+ console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
1810
+ }
1811
+ }
1812
+ return appCheck;
1813
+ })
1814
+ ],
1815
+ providers: [
1816
+ {
1817
+ provide: HTTP_INTERCEPTORS,
1818
+ useClass: DbxFirebaseAppCheckHttpInterceptor,
1819
+ multi: true
1820
+ }
1821
+ ]
1855
1822
  }]
1856
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1857
- type: Optional
1858
- }, {
1859
- type: Inject,
1860
- args: [DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN]
1861
- }] }]; } });
1862
-
1823
+ }] });
1863
1824
  /**
1864
- * Directive for controlling and displaying
1865
- */
1866
- class DbxFirebaseDevelopmentDirective {
1867
- constructor(popupService, matSnackBar, dbxFirebaseDevelopmentService) {
1868
- this.popupService = popupService;
1869
- this.matSnackBar = matSnackBar;
1870
- this.dbxFirebaseDevelopmentService = dbxFirebaseDevelopmentService;
1871
- }
1872
- get enabled() {
1873
- return this.dbxFirebaseDevelopmentService.enabled;
1874
- }
1875
- handleKeyboardEvent(event) {
1876
- if (this.enabled && event.shiftKey && event.altKey && event.code === 'KeyD') {
1877
- this.togglePopup();
1878
- event.preventDefault();
1879
- }
1880
- }
1881
- togglePopup() {
1882
- if (this.ref) {
1883
- this.closePopup();
1884
- }
1885
- else {
1886
- this.openPopup();
1887
- }
1888
- }
1889
- openPopup() {
1890
- if (!this.ref) {
1891
- const ref = DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService);
1892
- ref.afterClosed$.subscribe(() => {
1893
- if (this.ref === ref) {
1894
- this.ref = undefined;
1895
- }
1896
- });
1897
- this.ref = ref;
1898
- }
1899
- }
1900
- closePopup() {
1901
- if (this.ref != null) {
1902
- this.ref.close();
1903
- }
1904
- }
1905
- ngAfterViewInit() {
1906
- if (this.enabled) {
1907
- this.matSnackBar
1908
- .open('Dev Tools: alt/option + shift + D', 'Open', {
1909
- horizontalPosition: 'center',
1910
- verticalPosition: 'bottom',
1911
- duration: 8 * 1000
1912
- })
1913
- .onAction()
1914
- .subscribe(() => {
1915
- this.openPopup();
1916
- });
1917
- }
1918
- }
1919
- ngOnDestroy() {
1920
- this.closePopup();
1921
- }
1922
- }
1923
- DbxFirebaseDevelopmentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [{ token: i1$2.DbxPopupService }, { token: i2$3.MatSnackBar }, { token: DbxFirebaseDevelopmentService }], target: i0.ɵɵFactoryTarget.Directive });
1924
- DbxFirebaseDevelopmentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentDirective, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
1925
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
1926
- type: Directive,
1927
- args: [{
1928
- selector: '[dbxFirebaseDevelopment]'
1929
- }]
1930
- }], ctorParameters: function () { return [{ type: i1$2.DbxPopupService }, { type: i2$3.MatSnackBar }, { type: DbxFirebaseDevelopmentService }]; }, propDecorators: { handleKeyboardEvent: [{
1931
- type: HostListener,
1932
- args: ['window:keydown', ['$event']]
1933
- }] } });
1934
-
1935
- class DbxFirebaseDevelopmentModuleRootConfig {
1936
- }
1937
- /**
1938
- * Contains components related to logging in.
1939
- */
1940
- class DbxFirebaseDevelopmentModule {
1941
- constructor(dbxFirebaseDevelopmentSchedulerService) {
1942
- this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
1943
- dbxFirebaseDevelopmentSchedulerService.init();
1944
- }
1945
- static forRoot(config) {
1946
- let entries = config.entries;
1947
- if (config.addDevelopmentSchedulerWidget !== false) {
1948
- entries = [developmentFirebaseServerSchedulerWidgetEntry(), ...config.entries];
1949
- }
1950
- return {
1951
- ngModule: DbxFirebaseDevelopmentModule,
1952
- providers: [
1953
- {
1954
- provide: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN,
1955
- useValue: entries
1956
- },
1957
- {
1958
- provide: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN,
1959
- useValue: config.enabled
1960
- },
1961
- {
1962
- provide: DbxFirebaseDevelopmentModuleRootConfig,
1963
- useValue: config
1964
- }
1965
- ]
1966
- };
1967
- }
1968
- }
1969
- DbxFirebaseDevelopmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [{ token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.NgModule });
1970
- DbxFirebaseDevelopmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, declarations: [
1971
- //
1972
- DbxFirebaseDevelopmentPopupContentFormComponent,
1973
- DbxFirebaseDevelopmentDirective,
1974
- DbxFirebaseDevelopmentPopupComponent,
1975
- DbxFirebaseDevelopmentPopupContentComponent,
1976
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
1977
- DbxFirebaseDevelopmentSchedulerListComponent,
1978
- DbxFirebaseDevelopmentSchedulerListViewComponent,
1979
- DbxFirebaseDevelopmentSchedulerListViewItemComponent], imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule], exports: [
1980
- //
1981
- DbxFirebaseDevelopmentDirective,
1982
- DbxFirebaseDevelopmentPopupComponent,
1983
- DbxFirebaseDevelopmentPopupContentComponent,
1984
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
1985
- DbxFirebaseDevelopmentSchedulerListComponent,
1986
- DbxFirebaseDevelopmentSchedulerListViewComponent,
1987
- DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
1988
- 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] });
1989
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
1990
- type: NgModule,
1991
- args: [{
1992
- imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule],
1993
- declarations: [
1994
- //
1995
- DbxFirebaseDevelopmentPopupContentFormComponent,
1996
- DbxFirebaseDevelopmentDirective,
1997
- DbxFirebaseDevelopmentPopupComponent,
1998
- DbxFirebaseDevelopmentPopupContentComponent,
1999
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
2000
- DbxFirebaseDevelopmentSchedulerListComponent,
2001
- DbxFirebaseDevelopmentSchedulerListViewComponent,
2002
- DbxFirebaseDevelopmentSchedulerListViewItemComponent
2003
- ],
2004
- exports: [
2005
- //
2006
- DbxFirebaseDevelopmentDirective,
2007
- DbxFirebaseDevelopmentPopupComponent,
2008
- DbxFirebaseDevelopmentPopupContentComponent,
2009
- DbxFirebaseDevelopmentSchedulerWidgetComponent,
2010
- DbxFirebaseDevelopmentSchedulerListComponent,
2011
- DbxFirebaseDevelopmentSchedulerListViewComponent,
2012
- DbxFirebaseDevelopmentSchedulerListViewItemComponent
2013
- ]
2014
- }]
2015
- }], ctorParameters: function () { return [{ type: DbxFirebaseDevelopmentSchedulerService }]; } });
2016
-
2017
- class DbxFirebaseParsedEmulatorsConfig {
2018
- }
2019
-
2020
- // TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
2021
- /**
2022
- * Default firebase firestore provider module.
2023
- */
2024
- class DbxFirebaseDefaultFirestoreProviderModule {
2025
- }
2026
- DbxFirebaseDefaultFirestoreProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2027
- DbxFirebaseDefaultFirestoreProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1$4.FirestoreModule] });
2028
- DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore(((injector) => {
2029
- const firebaseApp = injector.get(FirebaseApp);
2030
- const firestore = getFirestore(firebaseApp);
2031
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
2032
- if (emulators?.useEmulators && emulators?.firestore) {
2033
- connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
2034
- }
2035
- enableIndexedDbPersistence(firestore);
2036
- return firestore;
2037
- }))] });
2038
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
2039
- type: NgModule,
2040
- args: [{
2041
- imports: [
2042
- provideFirestore(((injector) => {
2043
- const firebaseApp = injector.get(FirebaseApp);
2044
- const firestore = getFirestore(firebaseApp);
2045
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
2046
- if (emulators?.useEmulators && emulators?.firestore) {
2047
- connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
2048
- }
2049
- enableIndexedDbPersistence(firestore);
2050
- return firestore;
2051
- }))
2052
- ]
2053
- }]
2054
- }] });
2055
- /**
2056
- * Default firebase app check provider module.
2057
- *
2058
- * Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
2059
- */
2060
- class DbxFirebaseDefaultAppCheckProviderModule {
2061
- }
2062
- DbxFirebaseDefaultAppCheckProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2063
- DbxFirebaseDefaultAppCheckProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i1.AppCheckModule] });
2064
- DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
2065
- {
2066
- provide: HTTP_INTERCEPTORS,
2067
- useClass: DbxFirebaseAppCheckHttpInterceptor,
2068
- multi: true
2069
- }
2070
- ], imports: [provideAppCheck((injector) => {
2071
- const firebaseApp = injector.get(FirebaseApp);
2072
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2073
- const appCheckOptions = firebaseOptions.appCheck;
2074
- const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
2075
- let appCheck;
2076
- if (appCheckOptions && !appCheckKnowinglyDisabled) {
2077
- // enable the debug tokens if not using emulators and allowDebugTokens is set true
2078
- if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
2079
- enableAppCheckDebugTokenGeneration(true);
2080
- }
2081
- // Only enabled outside of app-check environments. The emulators will not use appcheck.
2082
- appCheck = initializeAppCheck(firebaseApp, {
2083
- provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
2084
- isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
2085
- });
2086
- console.log('Enabled AppCheck.');
2087
- }
2088
- else {
2089
- appCheck = undefined;
2090
- if (!appCheckKnowinglyDisabled) {
2091
- console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
2092
- }
2093
- }
2094
- return appCheck;
2095
- })] });
2096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
2097
- type: NgModule,
2098
- args: [{
2099
- imports: [
2100
- provideAppCheck((injector) => {
2101
- const firebaseApp = injector.get(FirebaseApp);
2102
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2103
- const appCheckOptions = firebaseOptions.appCheck;
2104
- const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
2105
- let appCheck;
2106
- if (appCheckOptions && !appCheckKnowinglyDisabled) {
2107
- // enable the debug tokens if not using emulators and allowDebugTokens is set true
2108
- if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
2109
- enableAppCheckDebugTokenGeneration(true);
2110
- }
2111
- // Only enabled outside of app-check environments. The emulators will not use appcheck.
2112
- appCheck = initializeAppCheck(firebaseApp, {
2113
- provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
2114
- isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
2115
- });
2116
- console.log('Enabled AppCheck.');
2117
- }
2118
- else {
2119
- appCheck = undefined;
2120
- if (!appCheckKnowinglyDisabled) {
2121
- console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
2122
- }
2123
- }
2124
- return appCheck;
2125
- })
2126
- ],
2127
- providers: [
2128
- {
2129
- provide: HTTP_INTERCEPTORS,
2130
- useClass: DbxFirebaseAppCheckHttpInterceptor,
2131
- multi: true
2132
- }
2133
- ]
2134
- }]
2135
- }] });
2136
- /**
2137
- * Default firebase auth provider module.
1825
+ * Default firebase auth provider module.
2138
1826
  */
2139
1827
  class DbxFirebaseDefaultAuthProviderModule {
2140
1828
  }
@@ -2196,121 +1884,463 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
2196
1884
  })
2197
1885
  ]
2198
1886
  }]
2199
- }] });
1887
+ }] });
1888
+ /**
1889
+ * Default firebase functions provider module.
1890
+ */
1891
+ class DbxFirebaseDefaultFunctionsProviderModule {
1892
+ }
1893
+ DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1894
+ DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
1895
+ DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
1896
+ const firebaseApp = injector.get(FirebaseApp);
1897
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1898
+ const { functionsRegionOrCustomDomain } = firebaseOptions;
1899
+ const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
1900
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
1901
+ if (emulators?.useEmulators && emulators?.functions) {
1902
+ connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
1903
+ }
1904
+ return functions;
1905
+ })] });
1906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, decorators: [{
1907
+ type: NgModule,
1908
+ args: [{
1909
+ imports: [
1910
+ provideFunctions((injector) => {
1911
+ const firebaseApp = injector.get(FirebaseApp);
1912
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1913
+ const { functionsRegionOrCustomDomain } = firebaseOptions;
1914
+ const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
1915
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
1916
+ if (emulators?.useEmulators && emulators?.functions) {
1917
+ connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
1918
+ }
1919
+ return functions;
1920
+ })
1921
+ ]
1922
+ }]
1923
+ }] });
1924
+ /**
1925
+ * Default provider module.
1926
+ */
1927
+ class DbxFirebaseDefaultFirebaseProvidersModule {
1928
+ static forRoot(firebaseOptions) {
1929
+ return {
1930
+ ngModule: DbxFirebaseDefaultFirebaseProvidersModule,
1931
+ providers: [
1932
+ {
1933
+ provide: DBX_FIREBASE_OPTIONS_TOKEN,
1934
+ useValue: firebaseOptions
1935
+ }
1936
+ ]
1937
+ };
1938
+ }
1939
+ }
1940
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1941
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
1942
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [provideFirebaseApp((injector) => {
1943
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1944
+ return initializeApp(firebaseOptions);
1945
+ }),
1946
+ DbxFirebaseDefaultAppCheckProviderModule,
1947
+ DbxFirebaseDefaultFirestoreProviderModule,
1948
+ DbxFirebaseDefaultAuthProviderModule,
1949
+ DbxFirebaseDefaultStorageProviderModule,
1950
+ DbxFirebaseDefaultFunctionsProviderModule] });
1951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, decorators: [{
1952
+ type: NgModule,
1953
+ args: [{
1954
+ imports: [
1955
+ provideFirebaseApp((injector) => {
1956
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
1957
+ return initializeApp(firebaseOptions);
1958
+ }),
1959
+ DbxFirebaseDefaultAppCheckProviderModule,
1960
+ DbxFirebaseDefaultFirestoreProviderModule,
1961
+ DbxFirebaseDefaultAuthProviderModule,
1962
+ DbxFirebaseDefaultStorageProviderModule,
1963
+ DbxFirebaseDefaultFunctionsProviderModule
1964
+ ]
1965
+ }]
1966
+ }] });
1967
+
1968
+ /**
1969
+ * Used to configure the DbxFirebaseEmulatorsConfig provider.
1970
+ */
1971
+ class DbxFirebaseEmulatorModule {
1972
+ static forRoot(config) {
1973
+ const defaultHost = config.host ?? 'localhost';
1974
+ function emulatorConfig(emulator) {
1975
+ return emulator ? { host: emulator.host ?? defaultHost, port: emulator.port } : undefined;
1976
+ }
1977
+ const finalConfig = {
1978
+ useEmulators: config.useEmulators !== false,
1979
+ ui: emulatorConfig(config.ui),
1980
+ auth: emulatorConfig(config.auth),
1981
+ firestore: emulatorConfig(config.firestore),
1982
+ storage: emulatorConfig(config.storage),
1983
+ functions: emulatorConfig(config.functions),
1984
+ database: emulatorConfig(config.database)
1985
+ };
1986
+ return {
1987
+ ngModule: DbxFirebaseEmulatorModule,
1988
+ providers: [
1989
+ {
1990
+ provide: DbxFirebaseParsedEmulatorsConfig,
1991
+ useValue: finalConfig
1992
+ }
1993
+ ]
1994
+ };
1995
+ }
1996
+ }
1997
+ DbxFirebaseEmulatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1998
+ DbxFirebaseEmulatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
1999
+ DbxFirebaseEmulatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
2000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule, decorators: [{
2001
+ type: NgModule
2002
+ }] });
2003
+
2004
+ class DbxFirebaseEmulatorService {
2005
+ constructor(emulatorsConfig) {
2006
+ this.emulatorsConfig = emulatorsConfig;
2007
+ }
2008
+ get useEmulators() {
2009
+ return this.emulatorsConfig.useEmulators || false;
2010
+ }
2011
+ get emulatorUIAnchor() {
2012
+ const ui = this.emulatorsConfig.ui;
2013
+ return ui
2014
+ ? {
2015
+ url: `http://${ui.host ?? 'localhost'}:${ui.port}`,
2016
+ target: '_blank'
2017
+ }
2018
+ : undefined;
2019
+ }
2020
+ }
2021
+ DbxFirebaseEmulatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorService, deps: [{ token: DbxFirebaseParsedEmulatorsConfig }], target: i0.ɵɵFactoryTarget.Injectable });
2022
+ DbxFirebaseEmulatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorService, providedIn: 'root' });
2023
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorService, decorators: [{
2024
+ type: Injectable,
2025
+ args: [{
2026
+ providedIn: 'root'
2027
+ }]
2028
+ }], ctorParameters: function () { return [{ type: DbxFirebaseParsedEmulatorsConfig }]; } });
2029
+
2030
+ const DISPLAY_FOR_STRING_VALUE = (values) => {
2031
+ const displayValues = values.map((x) => ({ ...x, label: x.meta?.label || x.value }));
2032
+ const obs = of(displayValues);
2033
+ return obs;
2034
+ };
2035
+ class DbxFirebaseDevelopmentPopupContentFormComponent extends AbstractConfigAsyncFormlyFormDirective {
2036
+ constructor() {
2037
+ super(...arguments);
2038
+ this.fields$ = this.config$.pipe(map((config) => {
2039
+ return [
2040
+ pickableItemChipField({
2041
+ key: 'specifier',
2042
+ filterLabel: 'Tools',
2043
+ description: 'Pick a tool to get started.',
2044
+ filterValues: filterPickableItemFieldValuesByLabel,
2045
+ loadValues: () => of(config.entries.map((y) => ({ value: y.widget.type, meta: y }))),
2046
+ displayForValue: DISPLAY_FOR_STRING_VALUE,
2047
+ asArrayValue: false
2048
+ })
2049
+ ];
2050
+ }));
2051
+ }
2052
+ }
2053
+ DbxFirebaseDevelopmentPopupContentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2054
+ 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: `
2055
+ <dbx-formly></dbx-formly>
2056
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$3.DbxFormlyFormComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
2057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, decorators: [{
2058
+ type: Component,
2059
+ args: [{
2060
+ template: `
2061
+ <dbx-formly></dbx-formly>
2062
+ `,
2063
+ selector: 'dbx-firebase-development-popup-content-form',
2064
+ providers: [provideFormlyContext()]
2065
+ }]
2066
+ }] });
2067
+
2068
+ class DbxFirebaseDevelopmentPopupContentComponent {
2069
+ constructor(twoColumnsContextStore, dbxAuthService, dbxFirebaseDevelopmentWidgetService, dbxFirebaseDevelopmentSchedulerService, dbxFirebaseEmulatorService) {
2070
+ this.twoColumnsContextStore = twoColumnsContextStore;
2071
+ this.dbxAuthService = dbxAuthService;
2072
+ this.dbxFirebaseDevelopmentWidgetService = dbxFirebaseDevelopmentWidgetService;
2073
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
2074
+ this.dbxFirebaseEmulatorService = dbxFirebaseEmulatorService;
2075
+ this._backSub = new SubscriptionObject();
2076
+ this.showEmulatorButton = this.dbxFirebaseEmulatorService.useEmulators === true;
2077
+ this.emulatorUIAnchor = this.dbxFirebaseEmulatorService.emulatorUIAnchor ?? {};
2078
+ this.entries = this.dbxFirebaseDevelopmentWidgetService.getEntries();
2079
+ this._activeEntrySelector = new BehaviorSubject(DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY);
2080
+ this.isLoggedIn$ = this.dbxAuthService.isLoggedIn$;
2081
+ this.entries$ = this.isLoggedIn$.pipe(distinctUntilChanged(), map((isLoggedIn) => this.entries), tapLog('Entries'), shareReplay(1));
2082
+ this.formConfig$ = this.entries$.pipe(map((entries) => ({ entries })));
2083
+ this.activeEntrySelector$ = this._activeEntrySelector.pipe(distinctUntilChanged());
2084
+ this.currentActiveEntry$ = combineLatest([this.entries$, this.activeEntrySelector$]).pipe(map(([entries, selector]) => (selector ? entries.find((e) => e.widget.type === selector) : undefined)), shareReplay(1));
2085
+ this.showRight$ = this.currentActiveEntry$.pipe(map((x) => x != null));
2086
+ this.activeEntry$ = this.currentActiveEntry$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
2087
+ this.rightTitle$ = this.activeEntry$.pipe(map((x) => x.label));
2088
+ this.widgetConfig$ = this.activeEntry$.pipe(map((x) => ({ data: undefined, type: x.widget.type })), shareReplay(1));
2089
+ this.schedulerRunning$ = this.dbxFirebaseDevelopmentSchedulerService.running$;
2090
+ this.schedulerInterval$ = this.dbxFirebaseDevelopmentSchedulerService.timerInterval$.pipe(map((x) => msToSeconds(x)), shareReplay(1));
2091
+ this.schedulerError$ = this.dbxFirebaseDevelopmentSchedulerService.error$.pipe(map((x) => (x ? 'Error Occured' : 'Ok')), shareReplay(1));
2092
+ this.formData$ = this._activeEntrySelector.pipe(distinctUntilChanged(), map((specifier) => ({ specifier })));
2093
+ this.handleFormUpdate = (value, context) => {
2094
+ this._activeEntrySelector.next(value.specifier);
2095
+ context.success();
2096
+ };
2097
+ this.isFormModified = (value) => {
2098
+ return this._activeEntrySelector.pipe(map((currentSelector) => value.specifier !== currentSelector), first());
2099
+ };
2100
+ }
2101
+ ngOnInit() {
2102
+ this.twoColumnsContextStore.setShowRight(this.showRight$);
2103
+ this._backSub.subscription = this.twoColumnsContextStore.back$.subscribe(() => {
2104
+ this.clearSelection();
2105
+ });
2106
+ }
2107
+ ngOnDestroy() {
2108
+ this._activeEntrySelector.complete();
2109
+ }
2110
+ clearSelection() {
2111
+ this._activeEntrySelector.next(undefined);
2112
+ }
2113
+ }
2114
+ 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 }, { token: DbxFirebaseEmulatorService }], target: i0.ɵɵFactoryTarget.Component });
2115
+ 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 <dbx-anchor [anchor]=\"emulatorUIAnchor\" *ngIf=\"showEmulatorButton\">\n <button mat-flat-button color=\"accent\">Emulator Enabled</button>\n </dbx-anchor>\n </div>\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: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "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.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "directive", type: i1$3.DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: i1$3.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" }] });
2116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
2117
+ type: Component,
2118
+ 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 <dbx-anchor [anchor]=\"emulatorUIAnchor\" *ngIf=\"showEmulatorButton\">\n <button mat-flat-button color=\"accent\">Emulator Enabled</button>\n </dbx-anchor>\n </div>\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"] }]
2119
+ }], ctorParameters: function () { return [{ type: i1$2.TwoColumnsContextStore }, { type: i2$2.DbxAuthService }, { type: DbxFirebaseDevelopmentWidgetService }, { type: DbxFirebaseDevelopmentSchedulerService }, { type: DbxFirebaseEmulatorService }]; } });
2120
+
2121
+ const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = 'devpopup';
2122
+ class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
2123
+ constructor(popup, popupService) {
2124
+ super(popup);
2125
+ this.popupService = popupService;
2126
+ this.header = 'Development Tools';
2127
+ this.reopen = () => {
2128
+ DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService, this.popup.key);
2129
+ };
2130
+ }
2131
+ static openPopup(popupService, popupKey) {
2132
+ return popupService.open({
2133
+ key: popupKey ?? DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY,
2134
+ componentClass: DbxFirebaseDevelopmentPopupComponent,
2135
+ closeOnTransition: false,
2136
+ isDraggable: true,
2137
+ position: 'center'
2138
+ });
2139
+ }
2140
+ }
2141
+ 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 });
2142
+ 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: `
2143
+ <dbx-popup-content>
2144
+ <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
2145
+ <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
2146
+ </dbx-popup-content>
2147
+ `, 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" }] });
2148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
2149
+ type: Component,
2150
+ args: [{
2151
+ template: `
2152
+ <dbx-popup-content>
2153
+ <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
2154
+ <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
2155
+ </dbx-popup-content>
2156
+ `
2157
+ }]
2158
+ }], ctorParameters: function () { return [{ type: i1$2.DbxPopupComponent }, { type: i1$2.DbxPopupService }]; }, propDecorators: { content: [{
2159
+ type: ViewChild,
2160
+ args: [DbxFirebaseDevelopmentPopupContentComponent, { static: true }]
2161
+ }] } });
2162
+
2200
2163
  /**
2201
- * Default firebase functions provider module.
2164
+ * Enabled state
2202
2165
  */
2203
- class DbxFirebaseDefaultFunctionsProviderModule {
2166
+ const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentEnabled');
2167
+ /**
2168
+ * Service used for registering widgets used for development.
2169
+ *
2170
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
2171
+ */
2172
+ class DbxFirebaseDevelopmentService {
2173
+ constructor(enabled) {
2174
+ this.enabled = enabled;
2175
+ }
2204
2176
  }
2205
- DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2206
- DbxFirebaseDefaultFunctionsProviderModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5$1.FunctionsModule] });
2207
- DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [provideFunctions((injector) => {
2208
- const firebaseApp = injector.get(FirebaseApp);
2209
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2210
- const { functionsRegionOrCustomDomain } = firebaseOptions;
2211
- const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
2212
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
2213
- if (emulators?.useEmulators && emulators?.functions) {
2214
- connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
2215
- }
2216
- return functions;
2217
- })] });
2218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, decorators: [{
2219
- type: NgModule,
2177
+ 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 });
2178
+ DbxFirebaseDevelopmentServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, providedIn: 'root' });
2179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
2180
+ type: Injectable,
2220
2181
  args: [{
2221
- imports: [
2222
- provideFunctions((injector) => {
2223
- const firebaseApp = injector.get(FirebaseApp);
2224
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2225
- const { functionsRegionOrCustomDomain } = firebaseOptions;
2226
- const functions = getFunctions(firebaseApp, functionsRegionOrCustomDomain);
2227
- const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
2228
- if (emulators?.useEmulators && emulators?.functions) {
2229
- connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
2230
- }
2231
- return functions;
2232
- })
2233
- ]
2182
+ providedIn: 'root'
2234
2183
  }]
2235
- }] });
2184
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2185
+ type: Optional
2186
+ }, {
2187
+ type: Inject,
2188
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN]
2189
+ }] }]; } });
2190
+
2236
2191
  /**
2237
- * Default provider module.
2192
+ * Directive for controlling and displaying
2238
2193
  */
2239
- class DbxFirebaseDefaultFirebaseProvidersModule {
2240
- static forRoot(firebaseOptions) {
2241
- return {
2242
- ngModule: DbxFirebaseDefaultFirebaseProvidersModule,
2243
- providers: [
2244
- {
2245
- provide: DBX_FIREBASE_OPTIONS_TOKEN,
2246
- useValue: firebaseOptions
2194
+ class DbxFirebaseDevelopmentDirective {
2195
+ constructor(popupService, matSnackBar, dbxFirebaseDevelopmentService) {
2196
+ this.popupService = popupService;
2197
+ this.matSnackBar = matSnackBar;
2198
+ this.dbxFirebaseDevelopmentService = dbxFirebaseDevelopmentService;
2199
+ }
2200
+ get enabled() {
2201
+ return this.dbxFirebaseDevelopmentService.enabled;
2202
+ }
2203
+ handleKeyboardEvent(event) {
2204
+ if (this.enabled && event.shiftKey && event.altKey && event.code === 'KeyD') {
2205
+ this.togglePopup();
2206
+ event.preventDefault();
2207
+ }
2208
+ }
2209
+ togglePopup() {
2210
+ if (this.ref) {
2211
+ this.closePopup();
2212
+ }
2213
+ else {
2214
+ this.openPopup();
2215
+ }
2216
+ }
2217
+ openPopup() {
2218
+ if (!this.ref) {
2219
+ const ref = DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService);
2220
+ ref.afterClosed$.subscribe(() => {
2221
+ if (this.ref === ref) {
2222
+ this.ref = undefined;
2247
2223
  }
2248
- ]
2249
- };
2224
+ });
2225
+ this.ref = ref;
2226
+ }
2227
+ }
2228
+ closePopup() {
2229
+ if (this.ref != null) {
2230
+ this.ref.close();
2231
+ }
2232
+ }
2233
+ ngAfterViewInit() {
2234
+ if (this.enabled) {
2235
+ this.matSnackBar
2236
+ .open('Dev Tools: alt/option + shift + D', 'Open', {
2237
+ horizontalPosition: 'center',
2238
+ verticalPosition: 'bottom',
2239
+ duration: 8 * 1000
2240
+ })
2241
+ .onAction()
2242
+ .subscribe(() => {
2243
+ this.openPopup();
2244
+ });
2245
+ }
2246
+ }
2247
+ ngOnDestroy() {
2248
+ this.closePopup();
2250
2249
  }
2251
2250
  }
2252
- DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2253
- DbxFirebaseDefaultFirebaseProvidersModulemod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
2254
- DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [provideFirebaseApp((injector) => {
2255
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2256
- return initializeApp(firebaseOptions);
2257
- }),
2258
- DbxFirebaseDefaultAppCheckProviderModule,
2259
- DbxFirebaseDefaultFirestoreProviderModule,
2260
- DbxFirebaseDefaultAuthProviderModule,
2261
- DbxFirebaseDefaultStorageProviderModule,
2262
- DbxFirebaseDefaultFunctionsProviderModule] });
2263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, decorators: [{
2264
- type: NgModule,
2251
+ DbxFirebaseDevelopmentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [{ token: i1$2.DbxPopupService }, { token: i2$3.MatSnackBar }, { token: DbxFirebaseDevelopmentService }], target: i0.ɵɵFactoryTarget.Directive });
2252
+ DbxFirebaseDevelopmentDirectivedir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentDirective, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
2253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
2254
+ type: Directive,
2265
2255
  args: [{
2266
- imports: [
2267
- provideFirebaseApp((injector) => {
2268
- const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
2269
- return initializeApp(firebaseOptions);
2270
- }),
2271
- DbxFirebaseDefaultAppCheckProviderModule,
2272
- DbxFirebaseDefaultFirestoreProviderModule,
2273
- DbxFirebaseDefaultAuthProviderModule,
2274
- DbxFirebaseDefaultStorageProviderModule,
2275
- DbxFirebaseDefaultFunctionsProviderModule
2276
- ]
2256
+ selector: '[dbxFirebaseDevelopment]'
2277
2257
  }]
2278
- }] });
2258
+ }], ctorParameters: function () { return [{ type: i1$2.DbxPopupService }, { type: i2$3.MatSnackBar }, { type: DbxFirebaseDevelopmentService }]; }, propDecorators: { handleKeyboardEvent: [{
2259
+ type: HostListener,
2260
+ args: ['window:keydown', ['$event']]
2261
+ }] } });
2279
2262
 
2263
+ class DbxFirebaseDevelopmentModuleRootConfig {
2264
+ }
2280
2265
  /**
2281
- * Used to configure the DbxFirebaseEmulatorsConfig provider.
2266
+ * Contains components related to logging in.
2282
2267
  */
2283
- class DbxFirebaseEmulatorModule {
2268
+ class DbxFirebaseDevelopmentModule {
2269
+ constructor(dbxFirebaseDevelopmentSchedulerService) {
2270
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
2271
+ dbxFirebaseDevelopmentSchedulerService.init();
2272
+ }
2284
2273
  static forRoot(config) {
2285
- const defaultHost = config.host ?? 'localhost';
2286
- function emulatorConfig(emulator) {
2287
- return emulator ? { host: emulator.host ?? defaultHost, port: emulator.port } : undefined;
2274
+ let entries = config.entries;
2275
+ if (config.addDevelopmentSchedulerWidget !== false) {
2276
+ entries = [developmentFirebaseServerSchedulerWidgetEntry(), ...config.entries];
2288
2277
  }
2289
- const finalConfig = {
2290
- useEmulators: config.useEmulators !== false,
2291
- auth: emulatorConfig(config.auth),
2292
- firestore: emulatorConfig(config.firestore),
2293
- storage: emulatorConfig(config.storage),
2294
- functions: emulatorConfig(config.functions),
2295
- database: emulatorConfig(config.database)
2296
- };
2297
2278
  return {
2298
- ngModule: DbxFirebaseEmulatorModule,
2279
+ ngModule: DbxFirebaseDevelopmentModule,
2299
2280
  providers: [
2300
2281
  {
2301
- provide: DbxFirebaseParsedEmulatorsConfig,
2302
- useValue: finalConfig
2282
+ provide: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN,
2283
+ useValue: entries
2284
+ },
2285
+ {
2286
+ provide: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN,
2287
+ useValue: config.enabled
2288
+ },
2289
+ {
2290
+ provide: DbxFirebaseDevelopmentModuleRootConfig,
2291
+ useValue: config
2303
2292
  }
2304
2293
  ]
2305
2294
  };
2306
2295
  }
2307
2296
  }
2308
- DbxFirebaseEmulatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2309
- DbxFirebaseEmulatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
2310
- DbxFirebaseEmulatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
2311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseEmulatorModule, decorators: [{
2312
- type: NgModule
2313
- }] });
2297
+ DbxFirebaseDevelopmentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [{ token: DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.NgModule });
2298
+ DbxFirebaseDevelopmentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, declarations: [
2299
+ //
2300
+ DbxFirebaseDevelopmentPopupContentFormComponent,
2301
+ DbxFirebaseDevelopmentDirective,
2302
+ DbxFirebaseDevelopmentPopupComponent,
2303
+ DbxFirebaseDevelopmentPopupContentComponent,
2304
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2305
+ DbxFirebaseDevelopmentSchedulerListComponent,
2306
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2307
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent], imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule], exports: [
2308
+ //
2309
+ DbxFirebaseDevelopmentDirective,
2310
+ DbxFirebaseDevelopmentPopupComponent,
2311
+ DbxFirebaseDevelopmentPopupContentComponent,
2312
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2313
+ DbxFirebaseDevelopmentSchedulerListComponent,
2314
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2315
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
2316
+ 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] });
2317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
2318
+ type: NgModule,
2319
+ args: [{
2320
+ imports: [CommonModule, MatIconModule, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, MatButtonModule, DbxRouterAnchorModule, DbxPopupInteractionModule, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxInjectionComponentModule, DbxListLayoutModule],
2321
+ declarations: [
2322
+ //
2323
+ DbxFirebaseDevelopmentPopupContentFormComponent,
2324
+ DbxFirebaseDevelopmentDirective,
2325
+ DbxFirebaseDevelopmentPopupComponent,
2326
+ DbxFirebaseDevelopmentPopupContentComponent,
2327
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2328
+ DbxFirebaseDevelopmentSchedulerListComponent,
2329
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2330
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2331
+ ],
2332
+ exports: [
2333
+ //
2334
+ DbxFirebaseDevelopmentDirective,
2335
+ DbxFirebaseDevelopmentPopupComponent,
2336
+ DbxFirebaseDevelopmentPopupContentComponent,
2337
+ DbxFirebaseDevelopmentSchedulerWidgetComponent,
2338
+ DbxFirebaseDevelopmentSchedulerListComponent,
2339
+ DbxFirebaseDevelopmentSchedulerListViewComponent,
2340
+ DbxFirebaseDevelopmentSchedulerListViewItemComponent
2341
+ ]
2342
+ }]
2343
+ }], ctorParameters: function () { return [{ type: DbxFirebaseDevelopmentSchedulerService }]; } });
2314
2344
 
2315
2345
  /**
2316
2346
  * Token to access the FirestoreContext value.
@@ -3025,6 +3055,9 @@ class DbxFirebaseIdRouteParamRedirectInstance {
3025
3055
  setDecider(decider) {
3026
3056
  this._useDefaultParamDecider.next(decider);
3027
3057
  }
3058
+ setParamValue(value) {
3059
+ this._paramReader.setParamValue(value);
3060
+ }
3028
3061
  }
3029
3062
  function dbxFirebaseIdRouteParamRedirect(dbxRouterService) {
3030
3063
  return new DbxFirebaseIdRouteParamRedirectInstance(dbxRouterService);
@@ -3554,11 +3587,11 @@ class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore {
3554
3587
  this.collections = collections;
3555
3588
  }
3556
3589
  }
3557
- SystemStateCollectionStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateCollectionStore, deps: [{ token: i1$3.SystemStateFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
3590
+ SystemStateCollectionStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateCollectionStore, deps: [{ token: i1$4.SystemStateFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
3558
3591
  SystemStateCollectionStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateCollectionStore });
3559
3592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateCollectionStore, decorators: [{
3560
3593
  type: Injectable
3561
- }], ctorParameters: function () { return [{ type: i1$3.SystemStateFirestoreCollections }]; } });
3594
+ }], ctorParameters: function () { return [{ type: i1$4.SystemStateFirestoreCollections }]; } });
3562
3595
 
3563
3596
  class DbxFirebaseSystemStateCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective {
3564
3597
  constructor(store) {
@@ -3597,11 +3630,11 @@ class SystemStateDocumentStore extends AbstractDbxFirebaseDocumentStore {
3597
3630
  this.collections = collections;
3598
3631
  }
3599
3632
  }
3600
- SystemStateDocumentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateDocumentStore, deps: [{ token: i1$3.SystemStateFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
3633
+ SystemStateDocumentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateDocumentStore, deps: [{ token: i1$4.SystemStateFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
3601
3634
  SystemStateDocumentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateDocumentStore });
3602
3635
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: SystemStateDocumentStore, decorators: [{
3603
3636
  type: Injectable
3604
- }], ctorParameters: function () { return [{ type: i1$3.SystemStateFirestoreCollections }]; } });
3637
+ }], ctorParameters: function () { return [{ type: i1$4.SystemStateFirestoreCollections }]; } });
3605
3638
 
3606
3639
  class DbxFirebaseSystemStateDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
3607
3640
  constructor(store) {
@@ -3722,5 +3755,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
3722
3755
  * Generated bundle index. Do not edit.
3723
3756
  */
3724
3757
 
3725
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, 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, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, SystemStateCollectionStore, SystemStateDocumentStore, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, provideSystemStateFirestoreCollections, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
3758
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, 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, DbxFirebaseEmulatorService, 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, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, SystemStateCollectionStore, SystemStateDocumentStore, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, provideSystemStateFirestoreCollections, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
3726
3759
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map