@dereekb/dbx-firebase 12.6.10 → 12.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm2022/lib/model/modules/model/entities/index.mjs +6 -0
  2. package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +73 -0
  3. package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +28 -0
  4. package/esm2022/lib/model/modules/model/entities/model.entities.mjs +6 -0
  5. package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +44 -0
  6. package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +35 -0
  7. package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +38 -0
  8. package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +57 -0
  9. package/esm2022/lib/model/modules/model/index.mjs +2 -1
  10. package/esm2022/lib/model/modules/model/model.types.service.mjs +1 -1
  11. package/esm2022/lib/model/modules/store/index.mjs +5 -1
  12. package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +19 -0
  13. package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +45 -0
  14. package/esm2022/lib/model/modules/store/store.document.context.store.mjs +86 -0
  15. package/esm2022/lib/model/modules/store/store.document.crud.mjs +1 -1
  16. package/esm2022/lib/model/modules/store/store.document.directive.mjs +1 -1
  17. package/esm2022/lib/model/modules/store/store.document.mjs +16 -4
  18. package/esm2022/lib/model/modules/store/store.mjs +2 -0
  19. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +1 -1
  20. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
  21. package/fesm2022/dereekb-dbx-firebase.mjs +407 -10
  22. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  23. package/lib/model/modules/model/entities/index.d.ts +5 -0
  24. package/lib/model/modules/model/entities/model.entities.component.d.ts +25 -0
  25. package/lib/model/modules/model/entities/model.entities.d.ts +49 -0
  26. package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +18 -0
  27. package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +18 -0
  28. package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +45 -0
  29. package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +8 -0
  30. package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +44 -0
  31. package/lib/model/modules/model/index.d.ts +1 -0
  32. package/lib/model/modules/store/index.d.ts +4 -0
  33. package/lib/model/modules/store/store.d.ts +79 -0
  34. package/lib/model/modules/store/store.document.context.store.d.ts +59 -0
  35. package/lib/model/modules/store/store.document.context.store.directive.d.ts +8 -0
  36. package/lib/model/modules/store/store.document.context.store.link.d.ts +17 -0
  37. package/lib/model/modules/store/store.document.crud.d.ts +1 -1
  38. package/lib/model/modules/store/store.document.d.ts +16 -76
  39. package/lib/model/modules/store/store.document.directive.d.ts +1 -1
  40. package/lib/model/modules/store/store.subcollection.document.d.ts +2 -1
  41. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +1 -1
  42. package/lib/modules/storagefile/storagefile.upload.module.d.ts +1 -1
  43. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injectable, APP_INITIALIZER, makeEnvironmentProviders, InjectionToken, Component, Optional, Inject, model, computed, ChangeDetectionStrategy, signal, Directive, input, EventEmitter, output, NgModule, Injector, viewChild, HostListener, ElementRef, forwardRef, effect, Pipe } from '@angular/core';
2
+ import { inject, Injectable, APP_INITIALIZER, makeEnvironmentProviders, InjectionToken, Component, Optional, Inject, model, computed, ChangeDetectionStrategy, signal, Directive, input, EventEmitter, output, NgModule, Injector, viewChild, HostListener, ElementRef, forwardRef, effect, DestroyRef, Pipe } from '@angular/core';
3
3
  import { DbxAnalyticsService } from '@dereekb/dbx-analytics';
4
- import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, distinctUntilKeysChange, cleanupDestroyable, iterationHasNextAndCanLoadMore, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, filterMaybeArray, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, skipInitialMaybe, distinctUntilModelKeyChange, successResult, beginLoading, errorResult, isLoadingStateLoading, cleanup, mapLoadingState, mapLoadingStateValueWithOperator, throwErrorFromLoadingStateError, valueFromFinishedLoadingState, maybeValueFromObservableOrValue, distinctUntilHasDifferentValues, MultiSubscriptionObject, startWithBeginLoading, skipAllInitialMaybe } from '@dereekb/rxjs';
5
- import { switchMap, of, shareReplay, map, distinctUntilChanged, EMPTY, catchError, firstValueFrom, BehaviorSubject, combineLatest, first, from, tap, interval, exhaustMap, filter, take, startWith, Subject, throttleTime, NEVER, combineLatestWith, mergeMap, Observable } from 'rxjs';
4
+ import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, distinctUntilKeysChange, cleanupDestroyable, iterationHasNextAndCanLoadMore, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, filterMaybeArray, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, switchMapMaybe, beginLoading, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState, loadingStateContext, skipInitialMaybe, distinctUntilModelKeyChange, successResult, errorResult, isLoadingStateLoading, cleanup, mapLoadingState, throwErrorFromLoadingStateError, maybeValueFromObservableOrValue, distinctUntilHasDifferentValues, MultiSubscriptionObject, startWithBeginLoading, skipAllInitialMaybe } from '@dereekb/rxjs';
5
+ import { switchMap, of, shareReplay, map, distinctUntilChanged, EMPTY, catchError, firstValueFrom, BehaviorSubject, combineLatest, first, from, tap, interval, exhaustMap, filter, take, startWith, Subject, throttleTime, NEVER, defaultIfEmpty, combineLatestWith, mergeMap, Observable } from 'rxjs';
6
6
  import * as i2 from '@dereekb/dbx-core';
7
7
  import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, DbxInjectionComponent, AbstractForwardDbxInjectionContextDirective, DbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxAuthService, DbxActionButtonDirective, DbxActionDirective, DbxActionEnforceModifiedDirective, DbxActionHandlerDirective, DbxActionAutoTriggerDirective, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore, newWithInjector, CutTextPipe, DbxActionContextStoreSourceInstance, DbxActionHandlerInstance, SimpleStorageAccessorFactory, dbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
8
8
  import { Auth, authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, reauthenticateWithPopup, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
9
- import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, pushArrayItemsIntoArray, forEachKeyValue, countAllInNestedArray, invertDecision, readableError, isMaybeSo, firstValue, splitJoinRemainder, MS_IN_HOUR, SECONDS_IN_MINUTE, MS_IN_DAY, unixDateTimeSecondsNumberForNow, MS_IN_MINUTE, addMilliseconds, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, MS_IN_SECOND, isPast, separateValues } from '@dereekb/util';
9
+ import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, pushArrayItemsIntoArray, forEachKeyValue, countAllInNestedArray, invertDecision, separateValues, sortByNumberFunction, readableError, isMaybeSo, firstValue, splitJoinRemainder, MS_IN_HOUR, SECONDS_IN_MINUTE, MS_IN_DAY, unixDateTimeSecondsNumberForNow, MS_IN_MINUTE, addMilliseconds, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, MS_IN_SECOND, isPast } from '@dereekb/util';
10
10
  import { safeFormatToISO8601DateString, msToSeconds, isSameDate } from '@dereekb/date';
11
11
  import { sendPasswordResetEmail } from 'firebase/auth';
12
12
  import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
13
13
  import { AppCheck, provideAppCheck } from '@angular/fire/app-check';
14
14
  import * as i1$1 from '@dereekb/dbx-web';
15
- import { DbxLinkComponent, DbxActionModule, DbxButtonModule, DbxErrorComponent, DbxActionErrorDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxRouterAnchorModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DbxListWrapperComponentImportsModule, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DbxSelectionValueListViewComponentImportsModule, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, AbstractPopupDirective, DbxPopupService, DbxPopupContentComponent, DbxPopupControlsComponent, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, DbxListItemAnchorModifierDirective, DbxValueListItemModifierDirective, AbstractPopoverDirective, DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxListEmptyContentComponent, AbstractPopoverRefDirective, DbxPopoverService, DbxIconButtonComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent, DbxLoadingComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
15
+ import { DbxLinkComponent, DbxActionModule, DbxButtonModule, DbxErrorComponent, DbxActionErrorDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxRouterAnchorModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DbxListWrapperComponentImportsModule, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DbxSelectionValueListViewComponentImportsModule, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, AbstractPopupDirective, DbxPopupService, DbxPopupContentComponent, DbxPopupControlsComponent, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, DbxListItemAnchorModifierDirective, DbxValueListItemModifierDirective, AbstractPopoverDirective, DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxListEmptyContentComponent, AbstractPopoverRefDirective, DbxPopoverService, DbxIconButtonComponent, DbxLoadingComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
16
16
  import * as i1 from '@angular/material/icon';
17
17
  import { MatIconModule } from '@angular/material/icon';
18
18
  import * as i1$2 from '@dereekb/dbx-form';
@@ -30,8 +30,9 @@ import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@an
30
30
  import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
31
31
  import { provideFirestore, persistentMultipleTabManager, persistentSingleTabManager, persistentLocalCache, initializeFirestore, connectFirestoreEmulator, Firestore } from '@angular/fire/firestore';
32
32
  import { HTTP_INTERCEPTORS } from '@angular/common/http';
33
- import { __decorate, __param, __metadata } from 'tslib';
33
+ import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatAccordion } from '@angular/material/expansion';
34
34
  import { ComponentStore } from '@ngrx/component-store';
35
+ import { __decorate, __param, __metadata } from 'tslib';
35
36
  import { MatDialog } from '@angular/material/dialog';
36
37
  import { BaseError } from 'make-error';
37
38
 
@@ -3476,6 +3477,332 @@ function dbxFirebaseSourceSelectLoadSource(config) {
3476
3477
  };
3477
3478
  }
3478
3479
 
3480
+ /**
3481
+ * Configuration provided in the root module for configuring entries.
3482
+ */
3483
+ class DbxFirebaseModelEntitiesWidgetServiceConfig {
3484
+ }
3485
+ /**
3486
+ * Service used to register widgets used for model entities.
3487
+ */
3488
+ class DbxFirebaseModelEntitiesWidgetService {
3489
+ _entries = new Map();
3490
+ constructor(initialConfig) {
3491
+ if (initialConfig.entries) {
3492
+ this.register(initialConfig.entries);
3493
+ }
3494
+ }
3495
+ /**
3496
+ * Used to register one or more entries.
3497
+ *
3498
+ * If an entry with the same identity is already registered, this will override it by default.
3499
+ *
3500
+ * @param entries
3501
+ * @param override
3502
+ */
3503
+ register(entries, override = true) {
3504
+ const entriesArray = asArray(entries);
3505
+ entriesArray.forEach((entry) => {
3506
+ if (override || !this._entries.has(entry.identity)) {
3507
+ this._entries.set(entry.identity, entry);
3508
+ }
3509
+ });
3510
+ }
3511
+ // MARK: Get
3512
+ getAllRegisteredWidgetIdentities() {
3513
+ return Array.from(this._entries.keys());
3514
+ }
3515
+ getWidgetEntry(identity) {
3516
+ return this._entries.get(identity);
3517
+ }
3518
+ getWidgetEntries(identities) {
3519
+ return filterMaybeArrayValues(mapIterable(identities ?? [], (x) => this._entries.get(x)));
3520
+ }
3521
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, deps: [{ token: DbxFirebaseModelEntitiesWidgetServiceConfig }], target: i0.ɵɵFactoryTarget.Injectable });
3522
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, providedIn: 'root' });
3523
+ }
3524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, decorators: [{
3525
+ type: Injectable,
3526
+ args: [{
3527
+ providedIn: 'root'
3528
+ }]
3529
+ }], ctorParameters: () => [{ type: DbxFirebaseModelEntitiesWidgetServiceConfig, decorators: [{
3530
+ type: Inject,
3531
+ args: [DbxFirebaseModelEntitiesWidgetServiceConfig]
3532
+ }] }] });
3533
+
3534
+ class DbxFirebaseModelEntitiesEntityComponent {
3535
+ widgetService = inject(DbxFirebaseModelEntitiesWidgetService);
3536
+ modelTypesService = inject(DbxFirebaseModelTypesService);
3537
+ /**
3538
+ * The input entity
3539
+ */
3540
+ entity = input.required();
3541
+ modelIdentity = computed(() => this.entity().modelIdentity);
3542
+ entity$ = toObservable(this.entity);
3543
+ store$ = this.entity$.pipe(map((x) => x.store), filterMaybe(), distinctUntilChanged(), shareReplay(1));
3544
+ loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
3545
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3546
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxFirebaseModelEntitiesEntityComponent, isStandalone: true, selector: "dbx-firebase-model-entities-entity", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"bold dbx-button-spacer\">Name</span>\n <!-- TODO: use the display info to show the name -->\n </mat-panel-title>\n <mat-panel-description>\n <!-- TODO: ... -->\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <!-- TODO: Content -->\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3547
+ }
3548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
3549
+ type: Component,
3550
+ args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"bold dbx-button-spacer\">Name</span>\n <!-- TODO: use the display info to show the name -->\n </mat-panel-title>\n <mat-panel-description>\n <!-- TODO: ... -->\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <!-- TODO: Content -->\n </ng-template>\n</mat-expansion-panel>\n" }]
3551
+ }] });
3552
+
3553
+ class DbxFirebaseModelEntitiesComponent {
3554
+ /**
3555
+ * All input entities.
3556
+ */
3557
+ entities = input();
3558
+ entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
3559
+ /**
3560
+ * Whether the accordion should allow multiple expanded panels.
3561
+ */
3562
+ multi = input(true);
3563
+ entitiesWithKeysState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
3564
+ const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
3565
+ const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
3566
+ const obs = x.store.currentKey$.pipe(map((key) => (key ? { key, ...x } : null)));
3567
+ return obs;
3568
+ }));
3569
+ return entitiesWithKeys.pipe(filterMaybeArray(), defaultIfEmpty([]));
3570
+ })), shareReplay(1));
3571
+ entitiesWithKeys$ = this.entitiesWithKeysState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
3572
+ entitiesWithKeysSignal = toSignal(this.entitiesWithKeys$, { initialValue: [] });
3573
+ hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length);
3574
+ context = loadingStateContext({ obs: this.entitiesWithKeysState$ });
3575
+ ngOnDestroy() {
3576
+ this.context.destroy();
3577
+ }
3578
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3579
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null }, multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3580
+ <dbx-loading [linear]="true" [context]="context">
3581
+ <mat-accordion [multi]="multi()">
3582
+ @for (entity of entitiesWithKeysSignal(); track entity.key) {
3583
+ <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
3584
+ }
3585
+ </mat-accordion>
3586
+ @if (hasNoEntitiesSignal()) {
3587
+ <dbx-list-empty-content>
3588
+ <ng-content select="[empty]"></ng-content>
3589
+ </dbx-list-empty-content>
3590
+ }
3591
+ </dbx-loading>
3592
+ `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxFirebaseModelEntitiesEntityComponent, selector: "dbx-firebase-model-entities-entity", inputs: ["entity"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3593
+ }
3594
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
3595
+ type: Component,
3596
+ args: [{
3597
+ selector: 'dbx-firebase-model-entities',
3598
+ template: `
3599
+ <dbx-loading [linear]="true" [context]="context">
3600
+ <mat-accordion [multi]="multi()">
3601
+ @for (entity of entitiesWithKeysSignal(); track entity.key) {
3602
+ <dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
3603
+ }
3604
+ </mat-accordion>
3605
+ @if (hasNoEntitiesSignal()) {
3606
+ <dbx-list-empty-content>
3607
+ <ng-content select="[empty]"></ng-content>
3608
+ </dbx-list-empty-content>
3609
+ }
3610
+ </dbx-loading>
3611
+ `,
3612
+ imports: [MatAccordion, DbxLoadingComponent, DbxFirebaseModelEntitiesEntityComponent, DbxListEmptyContentComponent],
3613
+ changeDetection: ChangeDetectionStrategy.OnPush,
3614
+ standalone: true
3615
+ }]
3616
+ }] });
3617
+
3618
+ const DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY = 'entities';
3619
+ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective {
3620
+ entities$ = this.popover.data?.entities$;
3621
+ static openPopover(popupService, { origin, header, icon, emptyText, entities$ }, popoverKey) {
3622
+ return popupService.open({
3623
+ key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
3624
+ origin,
3625
+ componentClass: DbxFirebaseModelEntitiesPopoverComponent,
3626
+ data: {
3627
+ header,
3628
+ icon,
3629
+ emptyText,
3630
+ entities$
3631
+ },
3632
+ isResizable: true
3633
+ });
3634
+ }
3635
+ get config() {
3636
+ return this.popover.data;
3637
+ }
3638
+ icon = this.config.icon ?? 'data_object';
3639
+ header = this.config.header ?? 'Entities';
3640
+ emptyText = this.config.emptyText ?? 'No entities found in current context.';
3641
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3642
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxFirebaseModelEntitiesComponent, selector: "dbx-firebase-model-entities", inputs: ["entities", "multi"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3643
+ }
3644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
3645
+ type: Component,
3646
+ args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent, DbxListEmptyContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
3647
+ }] });
3648
+
3649
+ /**
3650
+ * Provides a source of entities.
3651
+ */
3652
+ class DbxFirebaseModelEntitiesSource {
3653
+ }
3654
+
3655
+ class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
3656
+ _dbxPopoverService = inject(DbxPopoverService);
3657
+ entitiesSource = inject(DbxFirebaseModelEntitiesSource);
3658
+ buttonElement = viewChild.required('button', { read: ElementRef });
3659
+ config = input();
3660
+ _makePopoverRef(origin) {
3661
+ const config = this.config();
3662
+ const entities$ = this.entitiesSource.entities$;
3663
+ if (!origin) {
3664
+ throw new Error('Missing origin.');
3665
+ }
3666
+ return DbxFirebaseModelEntitiesPopoverComponent.openPopover(this._dbxPopoverService, {
3667
+ origin,
3668
+ ...config,
3669
+ entities$
3670
+ });
3671
+ }
3672
+ showEntitiesPopover() {
3673
+ const origin = this.buttonElement();
3674
+ this.showPopover(origin);
3675
+ }
3676
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3677
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-model-entities-popover-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
3678
+ <dbx-icon-button #button (buttonClick)="showEntitiesPopover()" icon="data_object"></dbx-icon-button>
3679
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3680
+ }
3681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, decorators: [{
3682
+ type: Component,
3683
+ args: [{
3684
+ selector: 'dbx-firebase-model-entities-popover-button',
3685
+ template: `
3686
+ <dbx-icon-button #button (buttonClick)="showEntitiesPopover()" icon="data_object"></dbx-icon-button>
3687
+ `,
3688
+ standalone: true,
3689
+ imports: [DbxIconButtonComponent],
3690
+ changeDetection: ChangeDetectionStrategy.OnPush
3691
+ }]
3692
+ }] });
3693
+
3694
+ class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
3695
+ constructor() {
3696
+ super({
3697
+ nextEntryNumber: 0,
3698
+ currentEntryCount: 0,
3699
+ stores: new Map(),
3700
+ lastStoresChangeAt: new Date()
3701
+ });
3702
+ }
3703
+ // MARK: Accessors
3704
+ stores$ = this.select((state) => [state.stores, state.currentEntryCount, state.nextEntryNumber], {
3705
+ debounce: true, // NOTE: The addStore/removeStore functions use the same map, so we overload the equal function to properly trigger changes to the map.
3706
+ equal: (a, b) => a[1] === b[1] && a[2] === b[2] // only considered different if the nextEntryNumber changes
3707
+ }).pipe(map((x) => x[0]), shareReplay(1));
3708
+ lastStoresChangeAt$ = this.select((state) => state.lastStoresChangeAt).pipe(distinctUntilChanged(isSameDate), shareReplay(1));
3709
+ entriesGroupedByIdentity$ = this.stores$.pipe(switchMap((stores) => {
3710
+ let entriesObs;
3711
+ const allEntries = Array.from(stores.values());
3712
+ const { included: hasIdentity, excluded: noIdentity } = separateValues(allEntries, (x) => x.modelIdentity != null);
3713
+ if (noIdentity.length > 0) {
3714
+ entriesObs = combineLatest(noIdentity.map((entryWithoutCachedIdentity) => entryWithoutCachedIdentity.store.modelIdentity$.pipe(first(), map((z) => {
3715
+ // set the model identity on the entry
3716
+ entryWithoutCachedIdentity.modelIdentity = z;
3717
+ // return the entry
3718
+ return entryWithoutCachedIdentity;
3719
+ })))).pipe(map(() => {
3720
+ return allEntries; // all the entries should have an identity now
3721
+ }));
3722
+ }
3723
+ else {
3724
+ entriesObs = of(hasIdentity);
3725
+ }
3726
+ return entriesObs;
3727
+ }), map((x) => {
3728
+ // sort in ascending order by entry number
3729
+ x.sort(sortByNumberFunction((x) => x.entryNumber));
3730
+ return x;
3731
+ }), shareReplay(1));
3732
+ // MARK: State Changes
3733
+ addStore = this.updater(addStore);
3734
+ removeStore = this.updater(removeStore);
3735
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3736
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore });
3737
+ }
3738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, decorators: [{
3739
+ type: Injectable
3740
+ }], ctorParameters: () => [] });
3741
+ function addStore(state, store) {
3742
+ const { stores, nextEntryNumber } = state;
3743
+ let nextState;
3744
+ if (stores.has(store)) {
3745
+ nextState = state;
3746
+ }
3747
+ else {
3748
+ // add the entry
3749
+ const entry = {
3750
+ store,
3751
+ entryNumber: nextEntryNumber
3752
+ };
3753
+ stores.set(store, entry);
3754
+ // update the last changed date
3755
+ nextState = { ...state, currentEntryCount: state.currentEntryCount + 1, lastStoresChangeAt: new Date(), nextEntryNumber: nextEntryNumber + 1 };
3756
+ }
3757
+ return nextState;
3758
+ }
3759
+ function removeStore(state, store) {
3760
+ const { stores } = state;
3761
+ let nextState;
3762
+ if (!stores.has(store)) {
3763
+ nextState = state;
3764
+ }
3765
+ else {
3766
+ // remove the entry
3767
+ stores.delete(store);
3768
+ // update the last changed date
3769
+ nextState = { ...state, currentEntryCount: state.currentEntryCount - 1, lastStoresChangeAt: new Date() };
3770
+ }
3771
+ return nextState;
3772
+ }
3773
+
3774
+ const dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory = (storeContextStore) => {
3775
+ const entities$ = storeContextStore.entriesGroupedByIdentity$.pipe(map((entries) => entries.map((entry) => ({ store: entry.store, modelIdentity: entry.modelIdentity }))));
3776
+ const source = {
3777
+ entities$: loadingStateFromObs(entities$)
3778
+ };
3779
+ return source;
3780
+ };
3781
+ class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
3782
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3783
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", providers: [
3784
+ {
3785
+ provide: DbxFirebaseModelEntitiesSource,
3786
+ useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
3787
+ deps: [DbxFirebaseDocumentStoreContextStore]
3788
+ }
3789
+ ], ngImport: i0 });
3790
+ }
3791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, decorators: [{
3792
+ type: Directive,
3793
+ args: [{
3794
+ selector: '[dbxFirebaseDocumentStoreContextModelEntitiesSource]',
3795
+ providers: [
3796
+ {
3797
+ provide: DbxFirebaseModelEntitiesSource,
3798
+ useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
3799
+ deps: [DbxFirebaseDocumentStoreContextStore]
3800
+ }
3801
+ ],
3802
+ standalone: true
3803
+ }]
3804
+ }] });
3805
+
3479
3806
  /**
3480
3807
  * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
3481
3808
  */
@@ -4003,7 +4330,54 @@ function modelDoesNotExistError() {
4003
4330
  return readableError(DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, 'The document does not exist.');
4004
4331
  }
4005
4332
 
4333
+ /**
4334
+ * Injection token for DbxFirebaseDocumentStoreContextStore.
4335
+ */
4336
+ const DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN = new InjectionToken('DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN');
4337
+ /**
4338
+ * Provides the DbxFirebaseDocumentStoreContextStore.
4339
+ */
4340
+ function provideDbxFirebaseDocumentStoreContextStore() {
4341
+ return [
4342
+ {
4343
+ // Create/Provide a "nearest" DbxFirebaseDocumentStoreContextStore.
4344
+ provide: DbxFirebaseDocumentStoreContextStore
4345
+ },
4346
+ {
4347
+ // Also make that context store available to the DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN.
4348
+ provide: DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN,
4349
+ useExisting: DbxFirebaseDocumentStoreContextStore,
4350
+ multi: true
4351
+ }
4352
+ ];
4353
+ }
4354
+ /**
4355
+ * Links a DbxFirebaseDocumentStore to parent DbxFirebaseDocumentStoreContextStore instances.
4356
+ *
4357
+ * This should be called in an injectable context.
4358
+ */
4359
+ function linkDocumentStoreToParentContextStores(store) {
4360
+ const contextStores = inject(DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, { optional: true });
4361
+ const destroyRef = inject(DestroyRef);
4362
+ if (contextStores) {
4363
+ // add the store to each available context store
4364
+ contextStores.forEach((contextStore) => {
4365
+ contextStore.addStore(store);
4366
+ });
4367
+ // remove the store from each available context store when the context is destroyed
4368
+ destroyRef.onDestroy(() => {
4369
+ contextStores.forEach((contextStore) => {
4370
+ contextStore.removeStore(store);
4371
+ });
4372
+ });
4373
+ }
4374
+ }
4375
+
4006
4376
  class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
4377
+ constructor(initialState) {
4378
+ super(initialState);
4379
+ linkDocumentStoreToParentContextStores(this);
4380
+ }
4007
4381
  // MARK: Effects
4008
4382
  // MARK: Accessors
4009
4383
  currentFirestoreCollectionLike$ = this.state$.pipe(map((x) => x.firestoreCollection ?? x.firestoreCollectionLike), distinctUntilChanged(), shareReplay(1));
@@ -4039,6 +4413,8 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
4039
4413
  hasRef$ = this.currentDocument$.pipe(map((x) => x?.documentRef != null), distinctUntilChanged(), shareReplay(1));
4040
4414
  document$ = this.currentDocument$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
4041
4415
  documentLoadingState$ = this.currentDocument$.pipe(map((x) => (x ? successResult(x) : beginLoading())), shareReplay(1));
4416
+ currentId$ = this.currentDocument$.pipe(map((x) => x?.id), shareReplay(1));
4417
+ currentKey$ = this.currentDocument$.pipe(map((x) => x?.key), shareReplay(1));
4042
4418
  id$ = this.document$.pipe(map((x) => x.id), shareReplay(1));
4043
4419
  key$ = this.document$.pipe(map((x) => x.key), shareReplay(1));
4044
4420
  keyModelIds$ = this.key$.pipe(map(firestoreModelIdsFromKey), shareReplay(1));
@@ -4097,7 +4473,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
4097
4473
  return of(result);
4098
4474
  }), shareReplay(1));
4099
4475
  doesNotExist$ = this.exists$.pipe(map((x) => !x), shareReplay(1));
4100
- modelIdentity$ = this.document$.pipe(map((x) => x.modelIdentity), shareReplay(1));
4476
+ modelIdentity$ = this.firestoreCollectionLike$.pipe(map((x) => x.modelIdentity), shareReplay(1));
4101
4477
  // MARK: State Changes
4102
4478
  setId = this.updater((state, id) => (id ? { ...state, id, key: undefined, ref: undefined } : { ...state, id }));
4103
4479
  setKey = this.updater((state, key) => (key ? { ...state, key, id: undefined, ref: undefined } : { ...state, key }));
@@ -4107,12 +4483,17 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
4107
4483
  clearRefs = this.updater((state) => ({ ...state, id: undefined, key: undefined, ref: undefined }));
4108
4484
  setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
4109
4485
  setFirestoreCollectionLike = this.updater((state, firestoreCollectionLike) => ({ ...state, firestoreCollectionLike }));
4110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: [{ token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4111
4487
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
4112
4488
  }
4113
4489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
4114
4490
  type: Injectable
4115
- }] });
4491
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
4492
+ type: Inject,
4493
+ args: [null]
4494
+ }, {
4495
+ type: Optional
4496
+ }] }] });
4116
4497
  function injectSingleItemIdIntoState(state) {
4117
4498
  const id = state?.firestoreCollection?.singleItemIdentifier;
4118
4499
  if (state && id != null) {
@@ -4475,6 +4856,22 @@ function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeT
4475
4856
  return providers;
4476
4857
  }
4477
4858
 
4859
+ /**
4860
+ * Directive that provides a DbxFirebaseDocumentStoreContextStore.
4861
+ */
4862
+ class DbxFirebaseDocumentStoreContextStoreDirective {
4863
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4864
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextStoreDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextStore]", providers: provideDbxFirebaseDocumentStoreContextStore(), ngImport: i0 });
4865
+ }
4866
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, decorators: [{
4867
+ type: Directive,
4868
+ args: [{
4869
+ selector: '[dbxFirebaseDocumentStoreContextStore]',
4870
+ providers: provideDbxFirebaseDocumentStoreContextStore(),
4871
+ standalone: true
4872
+ }]
4873
+ }] });
4874
+
4478
4875
  class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore {
4479
4876
  constructor(collections) {
4480
4877
  super({ firestoreCollection: collections.systemStateCollection });
@@ -6791,5 +7188,5 @@ function provideDbxFirebase(config) {
6791
7188
  * Generated bundle index. Do not edit.
6792
7189
  */
6793
7190
 
6794
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_LOGIN_COMPONENTS, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_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_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, 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, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationModule, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePipeModule, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, importsAndExports$1 as importsAndExports, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
7191
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_LOGIN_COMPONENTS, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_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_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, 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, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationModule, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePipeModule, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, importsAndExports$1 as importsAndExports, linkDocumentStoreToParentContextStores, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
6795
7192
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map