@dereekb/dbx-firebase 13.4.2 → 13.5.1

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.
@@ -2,22 +2,22 @@ import * as i0 from '@angular/core';
2
2
  import { inject, Injectable, provideAppInitializer, makeEnvironmentProviders, InjectionToken, Component, model, computed, ChangeDetectionStrategy, signal, Directive, EventEmitter, input, output, Injector, viewChild, HostListener, NgModule, ElementRef, forwardRef, effect, DestroyRef, Inject, Optional, Pipe } from '@angular/core';
3
3
  import { DbxAnalyticsService } from '@dereekb/dbx-analytics';
4
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, 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';
5
+ import { switchMap, of, shareReplay, map, Subject, merge, distinctUntilChanged, EMPTY, catchError, firstValueFrom, tap, BehaviorSubject, combineLatest, first, from, interval, exhaustMap, filter, take, startWith, throttleTime, NEVER, defaultIfEmpty, combineLatestWith, mergeMap, Observable } from 'rxjs';
6
6
  import * as i2 from '@dereekb/dbx-core';
7
7
  import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponent, AbstractForwardDbxInjectionContextDirective, DbxInjectionContextDirective, DbxAuthService, DbxActionButtonDirective, completeOnDestroy, cleanSubscription, DbxActionDirective, DbxActionEnforceModifiedDirective, DbxActionHandlerDirective, DbxActionAutoTriggerDirective, clean, cleanLoadingContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, AbstractIfDirective, LockSetComponentStore, newWithInjector, CutTextPipe, DbxActionContextStoreSourceInstance, DbxActionHandlerInstance, cleanSubscriptionWithLockSet, SimpleStorageAccessorFactory, dbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
8
- import { Auth, authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, reauthenticateWithPopup, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
8
+ import { Auth, authState, idToken, signInWithPopup, linkWithPopup, linkWithCredential, unlink, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, reauthenticateWithPopup, OAuthProvider, FacebookAuthProvider, GithubAuthProvider, GoogleAuthProvider, TwitterAuthProvider, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
9
9
  import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, pushArrayItemsIntoArray, forEachKeyValue, countAllInNestedArray, invertDecision, useIterableOrValue, filterUniqueValues, reverseCompareFn, sortByNumberFunction, separateValues, 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, DbxListWrapperComponentImportsModule, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewComponentImportsModule, provideDbxListView, 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, DbxDetailBlockComponent, DbxClickToCopyTextComponent, DbxDownloadTextViewComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
15
+ import { DbxLinkComponent, DbxActionModule, DbxButtonModule, DbxErrorComponent, DbxActionErrorDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxRouterAnchorModule, DbxSectionComponent, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, DbxListWrapperComponentImportsModule, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewComponentImportsModule, provideDbxListView, 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, DbxDetailBlockComponent, DbxClickToCopyTextComponent, DbxDownloadTextViewComponent, 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, MatIcon } from '@angular/material/icon';
18
+ import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, StorageFileFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, firestoreModelId, flatFirestoreModelKey, twoWayFlatFirestoreModelKey, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, isClientFirebaseError, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, inferKeyFromTwoWayFlatFirestoreModelKey, firestoreModelKeyParentKey, AppNotificationTemplateTypeInfoRecordService, NotificationFunctions, unreadNotificationItems, StorageFileFunctions, firestoreModelKey, storageFileIdentity, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
18
19
  import * as i1$2 from '@dereekb/dbx-form';
19
20
  import { AbstractSyncFormlyFormDirective, emailField, DbxFormlyFormComponentImportsModule, dbxFormlyFormComponentProviders, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, AbstractConfigAsyncFormlyFormDirective, usernamePasswordLoginFields, DbxActionFormDirective, DbxFormSourceDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
20
- import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, StorageFileFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, firestoreModelId, flatFirestoreModelKey, twoWayFlatFirestoreModelKey, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, isClientFirebaseError, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, inferKeyFromTwoWayFlatFirestoreModelKey, firestoreModelKeyParentKey, AppNotificationTemplateTypeInfoRecordService, NotificationFunctions, unreadNotificationItems, StorageFileFunctions, firestoreModelKey, storageFileIdentity, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
21
21
  import { NgTemplateOutlet, DatePipe } from '@angular/common';
22
22
  import * as i1$3 from '@angular/material/button';
23
23
  import { MatButtonModule } from '@angular/material/button';
@@ -49,7 +49,8 @@ function authUserInfoFromAuthUser(user) {
49
49
  photoURL: user.photoURL,
50
50
  uid: user.uid,
51
51
  creationTime: safeFormatToISO8601DateString(user.metadata.creationTime),
52
- lastSignInTime: safeFormatToISO8601DateString(user.metadata.lastSignInTime)
52
+ lastSignInTime: safeFormatToISO8601DateString(user.metadata.lastSignInTime),
53
+ providerData: user.providerData
53
54
  };
54
55
  }
55
56
  /**
@@ -140,13 +141,30 @@ class DbxFirebaseAuthService {
140
141
  firebaseAuth = inject(Auth);
141
142
  delegate = inject(DbxFirebaseAuthServiceDelegate, { optional: true }) ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
142
143
  _authState$ = authState(this.firebaseAuth);
143
- currentAuthUser$ = this._authState$.pipe(timeoutStartWith(null, 1000), distinctUntilChanged(), shareReplay(1));
144
+ /**
145
+ * Subject that triggers a re-emission of the current auth user.
146
+ *
147
+ * Useful after operations that mutate the {@link User} object in place (e.g., linking/unlinking providers)
148
+ * without triggering a new {@link authState} emission.
149
+ */
150
+ _authUpdate$ = new Subject();
151
+ currentAuthUser$ = merge(this._authState$, this._authUpdate$.pipe(map(() => this.firebaseAuth.currentUser))).pipe(timeoutStartWith(null, 1000), shareReplay(1));
144
152
  currentAuthUserInfo$ = this.currentAuthUser$.pipe(map((x) => (x ? authUserInfoFromAuthUser(x) : undefined)));
145
153
  authUser$ = this.currentAuthUser$.pipe(filterMaybe());
146
154
  authUserInfo$ = this.authUser$.pipe(map(authUserInfoFromAuthUser));
147
155
  hasAuthUser$ = this.currentAuthUser$.pipe(map((x) => Boolean(x)), distinctUntilChanged(), shareReplay(1));
148
156
  isAnonymousUser$ = this.authUser$.pipe(map((x) => x.isAnonymous), distinctUntilChanged(), shareReplay(1));
149
157
  isNotAnonymousUser$ = this.isAnonymousUser$.pipe(isNot(), distinctUntilChanged(), shareReplay(1));
158
+ /**
159
+ * Observable of provider IDs currently linked to the authenticated user.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * authService.currentLinkedProviderIds$.subscribe(ids => console.log(ids));
164
+ * // ['google.com', 'facebook.com']
165
+ * ```
166
+ */
167
+ currentLinkedProviderIds$ = this.currentAuthUser$.pipe(map((user) => (user ? user.providerData.map((p) => p.providerId) : [])), distinctUntilChanged((a, b) => a.length === b.length && a.every((v, i) => v === b[i])), shareReplay(1));
150
168
  isLoggedIn$ = this.hasAuthUser$;
151
169
  isNotLoggedIn$ = this.isLoggedIn$.pipe(isNot());
152
170
  onLogIn$ = loggedInObsFromIsLoggedIn(this.isLoggedIn$);
@@ -216,31 +234,73 @@ class DbxFirebaseAuthService {
216
234
  }
217
235
  return result;
218
236
  }
219
- logInWithGoogle() {
220
- return this.logInWithPopup(new GoogleAuthProvider());
221
- }
222
- logInWithFacebook() {
223
- return this.logInWithPopup(new FacebookAuthProvider());
224
- }
225
- logInWithTwitter() {
226
- return this.logInWithPopup(new TwitterAuthProvider());
227
- }
228
- logInWithGithub() {
229
- return this.logInWithPopup(new GithubAuthProvider());
230
- }
231
- logInWithApple() {
232
- throw new Error('todo');
237
+ logInWithPopup(provider, resolver) {
238
+ return signInWithPopup(this.firebaseAuth, provider, resolver);
233
239
  }
234
- logInWithMicrosoft() {
235
- // return this.logInWithPopup(new MicrosoftAuthProvider());
236
- throw new Error('todo');
240
+ /**
241
+ * Links an additional authentication provider to the current user via popup.
242
+ *
243
+ * @param provider - The auth provider to link.
244
+ * @param resolver - Optional popup redirect resolver.
245
+ * @returns A promise resolving to the user credential after linking.
246
+ *
247
+ * @example
248
+ * ```ts
249
+ * await authService.linkWithPopup(new GoogleAuthProvider());
250
+ * ```
251
+ */
252
+ linkWithPopup(provider, resolver) {
253
+ return firstValueFrom(this.currentAuthUser$.pipe(switchMap((x) => {
254
+ if (x) {
255
+ return linkWithPopup(x, provider, resolver);
256
+ }
257
+ else {
258
+ throw new Error('User is not logged in currently.');
259
+ }
260
+ }), tap(() => this._authUpdate$.next())));
237
261
  }
238
- logInWithPhone() {
239
- throw new Error('todo');
240
- // return signInWithPhoneNumber(this.firebaseAuth, )
262
+ /**
263
+ * Links a credential to the current user. Useful for merging accounts
264
+ * when a credential-already-in-use error provides an {@link AuthCredential}.
265
+ *
266
+ * @param credential - The auth credential to link.
267
+ * @returns A promise resolving to the user credential after linking.
268
+ *
269
+ * @example
270
+ * ```ts
271
+ * await authService.linkWithCredential(credential);
272
+ * ```
273
+ */
274
+ linkWithCredential(credential) {
275
+ return firstValueFrom(this.currentAuthUser$.pipe(switchMap((x) => {
276
+ if (x) {
277
+ return linkWithCredential(x, credential);
278
+ }
279
+ else {
280
+ throw new Error('User is not logged in currently.');
281
+ }
282
+ }), tap(() => this._authUpdate$.next())));
241
283
  }
242
- logInWithPopup(provider, resolver) {
243
- return signInWithPopup(this.firebaseAuth, provider, resolver);
284
+ /**
285
+ * Unlinks an authentication provider from the current user.
286
+ *
287
+ * @param providerId - The provider ID to unlink (e.g., 'google.com').
288
+ * @returns A promise resolving to the updated user.
289
+ *
290
+ * @example
291
+ * ```ts
292
+ * await authService.unlinkProvider('google.com');
293
+ * ```
294
+ */
295
+ unlinkProvider(providerId) {
296
+ return firstValueFrom(this.currentAuthUser$.pipe(switchMap((x) => {
297
+ if (x) {
298
+ return unlink(x, providerId);
299
+ }
300
+ else {
301
+ throw new Error('User is not logged in currently.');
302
+ }
303
+ }), tap(() => this._authUpdate$.next())));
244
304
  }
245
305
  registerWithEmailAndPassword(email, password) {
246
306
  return createUserWithEmailAndPassword(this.firebaseAuth, email, password);
@@ -267,10 +327,10 @@ class DbxFirebaseAuthService {
267
327
  }
268
328
  })));
269
329
  }
270
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
271
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthService });
330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
331
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthService });
272
332
  }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
274
334
  type: Injectable
275
335
  }] });
276
336
  /**
@@ -342,10 +402,10 @@ class DbxFirebaseAnalyticsUserSource {
342
402
  set userPropertiesFactory(userPropertiesFactory) {
343
403
  this._userPropertiesFactory.next(userPropertiesFactory);
344
404
  }
345
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
346
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, providedIn: 'root' });
405
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
406
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, providedIn: 'root' });
347
407
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, decorators: [{
408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserSource, decorators: [{
349
409
  type: Injectable,
350
410
  args: [{
351
411
  providedIn: 'root'
@@ -375,10 +435,10 @@ class DbxFirebaseAnalyticsUserEventsListenerService {
375
435
  this._loginSub.destroy();
376
436
  this._logoutSub.destroy();
377
437
  }
378
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
379
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService });
438
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
439
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService });
380
440
  }
381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService, decorators: [{
441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAnalyticsUserEventsListenerService, decorators: [{
382
442
  type: Injectable
383
443
  }] });
384
444
 
@@ -474,10 +534,10 @@ class DbxFirebaseAppCheckHttpInterceptor {
474
534
  }
475
535
  return from(this._appCheckRoutes).pipe(first((route) => isEnabledRouteMatch(route), false), map((x) => Boolean(x)));
476
536
  }
477
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
478
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor });
537
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
538
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor });
479
539
  }
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, decorators: [{
540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, decorators: [{
481
541
  type: Injectable
482
542
  }] });
483
543
 
@@ -499,8 +559,8 @@ class DbxFirebaseLoginTermsSimpleComponent {
499
559
  url: this.dbxFirebaseLoginTermsConfig.privacyUrl,
500
560
  target: '_blank'
501
561
  };
502
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
503
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginTermsSimpleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
562
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
563
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginTermsSimpleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
504
564
  <div class="dbx-firebase-login-terms-view">
505
565
  <dbx-link [anchor]="tosAnchor">Terms</dbx-link>
506
566
  <span class="dbx-link-spacer"></span>
@@ -508,7 +568,7 @@ class DbxFirebaseLoginTermsSimpleComponent {
508
568
  </div>
509
569
  `, isInline: true, dependencies: [{ kind: "component", type: DbxLinkComponent, selector: "dbx-link", inputs: ["ref", "href", "anchor"] }] });
510
570
  }
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, decorators: [{
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTermsSimpleComponent, decorators: [{
512
572
  type: Component,
513
573
  args: [{
514
574
  template: `
@@ -631,6 +691,17 @@ class DbxFirebaseAuthLoginService {
631
691
  getRegisterProviders(types) {
632
692
  return filterMaybeArrayValues(mapIterable(types ?? [], (x) => this._providers.get(x))).filter((x) => x.registrationComponentClass !== false);
633
693
  }
694
+ getLinkProviders(types) {
695
+ return filterMaybeArrayValues(mapIterable(types ?? [], (x) => this._providers.get(x))).filter((x) => x.allowLinking !== false);
696
+ }
697
+ /**
698
+ * Returns all registered provider assets.
699
+ *
700
+ * @returns A map of login method types to their asset configurations.
701
+ */
702
+ getAllProviderAssets() {
703
+ return new Map(this._assets);
704
+ }
634
705
  getProviderAssets(type) {
635
706
  return this._assets.get(type);
636
707
  }
@@ -640,10 +711,10 @@ class DbxFirebaseAuthLoginService {
640
711
  setPasswordConfig(passwordConfig) {
641
712
  this._passwordConfig = passwordConfig;
642
713
  }
643
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
644
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthLoginService });
714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
715
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthLoginService });
645
716
  }
646
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseAuthLoginService, decorators: [{
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseAuthLoginService, decorators: [{
647
718
  type: Injectable
648
719
  }], ctorParameters: () => [] });
649
720
 
@@ -662,18 +733,88 @@ const OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY = 'oauth';
662
733
  class DbxFirebaseLoginContext extends DbxInjectionContext {
663
734
  }
664
735
 
736
+ /**
737
+ * Map of Firebase provider IDs to known login method types.
738
+ *
739
+ * @example
740
+ * ```ts
741
+ * FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP['google.com']; // 'google'
742
+ * ```
743
+ */
744
+ const FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP = {
745
+ 'google.com': 'google',
746
+ 'facebook.com': 'facebook',
747
+ 'github.com': 'github',
748
+ 'twitter.com': 'twitter',
749
+ 'apple.com': 'apple',
750
+ 'microsoft.com': 'microsoft',
751
+ phone: 'phone',
752
+ password: 'email'
753
+ };
754
+ /**
755
+ * Map of known login method types to Firebase provider IDs.
756
+ *
757
+ * @example
758
+ * ```ts
759
+ * LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP['google']; // 'google.com'
760
+ * ```
761
+ */
762
+ const LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP = {
763
+ google: 'google.com',
764
+ facebook: 'facebook.com',
765
+ github: 'github.com',
766
+ twitter: 'twitter.com',
767
+ apple: 'apple.com',
768
+ microsoft: 'microsoft.com',
769
+ phone: 'phone',
770
+ email: 'password'
771
+ };
772
+ /**
773
+ * Converts a Firebase provider ID (e.g., 'google.com') to its corresponding login method type (e.g., 'google').
774
+ *
775
+ * @param providerId - The Firebase provider ID.
776
+ * @returns The matching login method type, or undefined if unknown.
777
+ *
778
+ * @example
779
+ * ```ts
780
+ * firebaseProviderIdToLoginMethodType('google.com'); // 'google'
781
+ * firebaseProviderIdToLoginMethodType('unknown.com'); // undefined
782
+ * ```
783
+ */
784
+ function firebaseProviderIdToLoginMethodType(providerId) {
785
+ return FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP[providerId];
786
+ }
787
+ /**
788
+ * Converts a login method type (e.g., 'google') to its corresponding Firebase provider ID (e.g., 'google.com').
789
+ *
790
+ * @param type - The login method type.
791
+ * @returns The matching Firebase provider ID, or undefined if unknown.
792
+ *
793
+ * @example
794
+ * ```ts
795
+ * loginMethodTypeToFirebaseProviderId('google'); // 'google.com'
796
+ * loginMethodTypeToFirebaseProviderId('unknown'); // undefined
797
+ * ```
798
+ */
799
+ function loginMethodTypeToFirebaseProviderId(type) {
800
+ return LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP[type];
801
+ }
802
+
665
803
  /**
666
804
  * Renders a styled login button that triggers a login action handler on click.
667
805
  *
668
806
  * Displays a logo image or icon alongside the login text with configurable colors.
669
807
  */
670
808
  class DbxFirebaseLoginButtonComponent {
671
- config = model(null, ...(ngDevMode ? [{ debugName: "config" }] : []));
672
- iconUrlSignal = computed(() => this.config()?.iconUrl, ...(ngDevMode ? [{ debugName: "iconUrlSignal" }] : []));
673
- iconSignal = computed(() => this.config()?.icon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : []));
674
- textSignal = computed(() => this.config()?.text ?? '', ...(ngDevMode ? [{ debugName: "textSignal" }] : []));
675
- buttonColorSignal = computed(() => this.config()?.buttonColor ?? 'transparent', ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : []));
676
- buttonTextColorSignal = computed(() => this.config()?.buttonTextColor, ...(ngDevMode ? [{ debugName: "buttonTextColorSignal" }] : []));
809
+ config = model(null, ...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
810
+ iconUrlSignal = computed(() => this.config()?.iconUrl, ...(ngDevMode ? [{ debugName: "iconUrlSignal" }] : /* istanbul ignore next */ []));
811
+ iconSignal = computed(() => this.config()?.icon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
812
+ iconFilterSignal = computed(() => this.config()?.iconFilter, ...(ngDevMode ? [{ debugName: "iconFilterSignal" }] : /* istanbul ignore next */ []));
813
+ textSignal = computed(() => this.config()?.text ?? '', ...(ngDevMode ? [{ debugName: "textSignal" }] : /* istanbul ignore next */ []));
814
+ buttonColorSignal = computed(() => this.config()?.buttonColor ?? (this.config()?.color ? undefined : 'transparent'), ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : /* istanbul ignore next */ []));
815
+ buttonTextColorSignal = computed(() => this.config()?.buttonTextColor, ...(ngDevMode ? [{ debugName: "buttonTextColorSignal" }] : /* istanbul ignore next */ []));
816
+ colorSignal = computed(() => this.config()?.color, ...(ngDevMode ? [{ debugName: "colorSignal" }] : /* istanbul ignore next */ []));
817
+ confirmConfigSignal = computed(() => this.config()?.confirmConfig, ...(ngDevMode ? [{ debugName: "confirmConfigSignal" }] : /* istanbul ignore next */ []));
677
818
  setConfig(config) {
678
819
  this.config.set(config);
679
820
  }
@@ -690,14 +831,14 @@ class DbxFirebaseLoginButtonComponent {
690
831
  onActionSuccess = () => {
691
832
  // todo: show checkmark on success?
692
833
  };
693
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
694
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseLoginButtonComponent, isStandalone: true, selector: "dbx-firebase-login-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange" }, host: { classAttribute: "dbx-firebase-login-button" }, ngImport: i0, template: `
695
- <ng-container dbxAction [dbxActionHandler]="handleAction" dbxActionValue [dbxActionSuccessHandler]="onActionSuccess">
696
- <dbx-button dbxActionButton [customTextColor]="buttonTextColorSignal()" [customButtonColor]="buttonColorSignal()" [raised]="true">
834
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
835
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseLoginButtonComponent, isStandalone: true, selector: "dbx-firebase-login-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { config: "configChange" }, host: { classAttribute: "dbx-firebase-login-button" }, ngImport: i0, template: `
836
+ <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()">
837
+ <dbx-button dbxActionButton [customTextColor]="buttonTextColorSignal()" [customButtonColor]="buttonColorSignal()" [raised]="true" [color]="colorSignal()">
697
838
  <div class="dbx-firebase-login-button-content">
698
839
  <span class="dbx-firebase-login-button-icon dbx-icon-spacer">
699
840
  @if (iconUrlSignal()) {
700
- <img [src]="iconUrlSignal()" alt="" />
841
+ <img [src]="iconUrlSignal()" alt="" [style.filter]="iconFilterSignal()" />
701
842
  }
702
843
  @if (iconSignal()) {
703
844
  <mat-icon>{{ iconSignal() }}</mat-icon>
@@ -707,19 +848,19 @@ class DbxFirebaseLoginButtonComponent {
707
848
  </div>
708
849
  </dbx-button>
709
850
  </ng-container>
710
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$1.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
851
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "directive", type: i1$1.DbxActionConfirmDirective, selector: "[dbxActionConfirm]", inputs: ["dbxActionConfirm", "dbxActionConfirmSkip"] }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$1.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
711
852
  }
712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
713
854
  type: Component,
714
855
  args: [{
715
856
  selector: 'dbx-firebase-login-button',
716
857
  template: `
717
- <ng-container dbxAction [dbxActionHandler]="handleAction" dbxActionValue [dbxActionSuccessHandler]="onActionSuccess">
718
- <dbx-button dbxActionButton [customTextColor]="buttonTextColorSignal()" [customButtonColor]="buttonColorSignal()" [raised]="true">
858
+ <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()">
859
+ <dbx-button dbxActionButton [customTextColor]="buttonTextColorSignal()" [customButtonColor]="buttonColorSignal()" [raised]="true" [color]="colorSignal()">
719
860
  <div class="dbx-firebase-login-button-content">
720
861
  <span class="dbx-firebase-login-button-icon dbx-icon-spacer">
721
862
  @if (iconUrlSignal()) {
722
- <img [src]="iconUrlSignal()" alt="" />
863
+ <img [src]="iconUrlSignal()" alt="" [style.filter]="iconFilterSignal()" />
723
864
  }
724
865
  @if (iconSignal()) {
725
866
  <mat-icon>{{ iconSignal() }}</mat-icon>
@@ -742,14 +883,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
742
883
  * Container component that wraps login button content with consistent spacing.
743
884
  */
744
885
  class DbxFirebaseLoginButtonContainerComponent {
745
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginButtonContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
746
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginButtonContainerComponent, isStandalone: true, selector: "dbx-firebase-login-button-container", ngImport: i0, template: `
886
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginButtonContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
887
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginButtonContainerComponent, isStandalone: true, selector: "dbx-firebase-login-button-container", ngImport: i0, template: `
747
888
  <div class="dbx-firebase-login-button-container">
748
889
  <ng-content></ng-content>
749
890
  </div>
750
891
  `, isInline: true });
751
892
  }
752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginButtonContainerComponent, decorators: [{
893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginButtonContainerComponent, decorators: [{
753
894
  type: Component,
754
895
  args: [{
755
896
  selector: 'dbx-firebase-login-button-container',
@@ -780,25 +921,72 @@ const DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION = {
780
921
  /**
781
922
  * Abstract base directive for login provider buttons that auto-configures appearance
782
923
  * from the registered provider assets and delegates login handling to subclasses.
924
+ *
925
+ * Supports login, register, and link modes. In link mode, the button text is derived from
926
+ * the provider's `linkText` or defaults to "Connect " + `providerName`.
927
+ *
928
+ * @example
929
+ * ```typescript
930
+ * export class MyProviderComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
931
+ * readonly loginProvider = 'myprovider';
932
+ * handleLogin() { return this.dbxFirebaseAuthService.logInWithPopup(new MyProvider()); }
933
+ * handleLink() { return this.dbxFirebaseAuthService.linkWithPopup(new MyProvider()); }
934
+ * }
935
+ * ```
783
936
  */
784
937
  class AbstractConfiguredDbxFirebaseLoginButtonDirective {
785
938
  dbxFirebaseAuthService = inject(DbxFirebaseAuthService);
786
939
  dbxFirebaseAuthLoginService = inject(DbxFirebaseAuthLoginService);
787
940
  dbxFirebaseLoginContext = inject(DbxFirebaseLoginContext);
788
- // TODO: Consider updating these signals, etc.
789
- _config = signal(null, ...(ngDevMode ? [{ debugName: "_config" }] : []));
790
- configSignal = computed(() => this._config(), ...(ngDevMode ? [{ debugName: "configSignal" }] : []));
941
+ _injectionData = inject(DBX_INJECTION_COMPONENT_DATA, { optional: true });
942
+ _config = signal(null, ...(ngDevMode ? [{ debugName: "_config" }] : /* istanbul ignore next */ []));
943
+ configSignal = computed(() => this._config(), ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
944
+ /**
945
+ * The effective login mode, derived from injection data or defaulting to 'login'.
946
+ *
947
+ * @returns The login mode for this button instance.
948
+ */
949
+ get effectiveLoginMode() {
950
+ return this._injectionData?.loginMode ?? 'login';
951
+ }
791
952
  ngOnInit() {
792
953
  const assets = this.assetConfig;
954
+ const text = this._textForMode(assets);
955
+ const isUnlink = this.effectiveLoginMode === 'unlink';
793
956
  this._config.set({
794
- text: assets.loginText ?? `<loginText not configured>`,
795
- icon: assets.loginIcon,
796
- iconUrl: assets.logoUrl,
797
- buttonColor: assets.backgroundColor,
798
- buttonTextColor: assets.textColor,
799
- handleLogin: () => this.handleLogin()
957
+ text,
958
+ icon: isUnlink ? 'link_off' : assets.loginIcon,
959
+ iconUrl: isUnlink ? undefined : assets.logoUrl,
960
+ iconFilter: isUnlink ? undefined : assets.logoFilter,
961
+ buttonColor: isUnlink ? undefined : assets.backgroundColor,
962
+ buttonTextColor: isUnlink ? undefined : assets.textColor,
963
+ color: isUnlink ? 'warn' : undefined,
964
+ confirmConfig: isUnlink ? { title: `Disconnect ${assets.providerName ?? 'Provider'}`, prompt: `Are you sure you want to disconnect ${assets.providerName ?? 'this provider'}?` } : undefined,
965
+ handleLogin: () => this._handleAction()
800
966
  });
801
967
  }
968
+ /**
969
+ * Handles the link action. Override in subclasses that support linking.
970
+ * Throws by default for providers that do not support linking.
971
+ *
972
+ * @returns A promise that resolves when the link action completes.
973
+ */
974
+ handleLink() {
975
+ throw new Error(`Linking is not supported for the "${this.loginProvider}" provider.`);
976
+ }
977
+ /**
978
+ * Handles the unlink action by removing the provider from the current user.
979
+ * Uses the {@link LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP} to resolve the Firebase provider ID.
980
+ *
981
+ * @returns A promise that resolves when the unlink action completes.
982
+ */
983
+ handleUnlink() {
984
+ const providerId = loginMethodTypeToFirebaseProviderId(this.loginProvider);
985
+ if (!providerId) {
986
+ throw new Error(`Unknown provider ID for login method type "${this.loginProvider}".`);
987
+ }
988
+ return this.dbxFirebaseAuthService.unlinkProvider(providerId);
989
+ }
802
990
  get providerConfig() {
803
991
  return this.dbxFirebaseAuthLoginService.getLoginProvider(this.loginProvider);
804
992
  }
@@ -808,10 +996,42 @@ class AbstractConfiguredDbxFirebaseLoginButtonDirective {
808
996
  get config() {
809
997
  return this._config();
810
998
  }
811
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractConfiguredDbxFirebaseLoginButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
812
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: AbstractConfiguredDbxFirebaseLoginButtonDirective, isStandalone: true, ngImport: i0 });
999
+ _textForMode(assets) {
1000
+ let text;
1001
+ switch (this.effectiveLoginMode) {
1002
+ case 'link':
1003
+ text = assets.linkText ?? (assets.providerName ? `Connect ${assets.providerName}` : '<linkText not configured>');
1004
+ break;
1005
+ case 'unlink':
1006
+ text = assets.unlinkText ?? (assets.providerName ? `Disconnect ${assets.providerName}` : '<unlinkText not configured>');
1007
+ break;
1008
+ default:
1009
+ text = assets.loginText ?? '<loginText not configured>';
1010
+ break;
1011
+ }
1012
+ return text;
1013
+ }
1014
+ _handleAction() {
1015
+ let promise;
1016
+ switch (this.effectiveLoginMode) {
1017
+ case 'link':
1018
+ promise = this.handleLink();
1019
+ break;
1020
+ case 'unlink':
1021
+ promise = this.handleUnlink();
1022
+ break;
1023
+ default:
1024
+ promise = this.handleLogin();
1025
+ break;
1026
+ }
1027
+ return promise.catch((error) => {
1028
+ throw firebaseAuthErrorToReadableError(error);
1029
+ });
1030
+ }
1031
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractConfiguredDbxFirebaseLoginButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1032
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: AbstractConfiguredDbxFirebaseLoginButtonDirective, isStandalone: true, ngImport: i0 });
813
1033
  }
814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractConfiguredDbxFirebaseLoginButtonDirective, decorators: [{
1034
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractConfiguredDbxFirebaseLoginButtonDirective, decorators: [{
815
1035
  type: Directive
816
1036
  }] });
817
1037
 
@@ -823,10 +1043,10 @@ class DbxFirebaseLoginAnonymousComponent extends AbstractConfiguredDbxFirebaseLo
823
1043
  handleLogin() {
824
1044
  return this.dbxFirebaseAuthService.logInAsAnonymous();
825
1045
  }
826
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginAnonymousComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
827
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginAnonymousComponent, isStandalone: true, selector: "dbx-firebase-login-anonymous", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1046
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginAnonymousComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1047
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginAnonymousComponent, isStandalone: true, selector: "dbx-firebase-login-anonymous", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
828
1048
  }
829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginAnonymousComponent, decorators: [{
1049
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginAnonymousComponent, decorators: [{
830
1050
  type: Component,
831
1051
  args: [{
832
1052
  selector: 'dbx-firebase-login-anonymous',
@@ -837,15 +1057,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
837
1057
  }]
838
1058
  }] });
839
1059
 
1060
+ /**
1061
+ * Creates an Apple OAuthProvider configured with email and name scopes.
1062
+ *
1063
+ * @returns A configured {@link OAuthProvider} for Apple sign-in.
1064
+ */
1065
+ function createAppleAuthProvider() {
1066
+ const provider = new OAuthProvider('apple.com');
1067
+ provider.addScope('email');
1068
+ provider.addScope('name');
1069
+ return provider;
1070
+ }
1071
+ /**
1072
+ * Login button component for Apple OAuth authentication.
1073
+ */
1074
+ class DbxFirebaseLoginAppleComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1075
+ loginProvider = 'apple';
1076
+ handleLogin() {
1077
+ return this.dbxFirebaseAuthService.logInWithPopup(createAppleAuthProvider());
1078
+ }
1079
+ handleLink() {
1080
+ return this.dbxFirebaseAuthService.linkWithPopup(createAppleAuthProvider());
1081
+ }
1082
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginAppleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1083
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginAppleComponent, isStandalone: true, selector: "dbx-firebase-login-apple", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1084
+ }
1085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginAppleComponent, decorators: [{
1086
+ type: Component,
1087
+ args: [{
1088
+ selector: 'dbx-firebase-login-apple',
1089
+ imports: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.imports,
1090
+ template: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.template,
1091
+ changeDetection: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.changeDetection,
1092
+ standalone: true
1093
+ }]
1094
+ }] });
1095
+
840
1096
  /**
841
1097
  * Formly-based form component for password recovery, containing a single email field.
842
1098
  */
843
1099
  class DbxFirebaseEmailRecoveryFormComponent extends AbstractSyncFormlyFormDirective {
844
1100
  fields = [emailField({ required: true })];
845
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
846
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseEmailRecoveryFormComponent, isStandalone: true, selector: "dbx-firebase-email-recovery-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1102
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseEmailRecoveryFormComponent, isStandalone: true, selector: "dbx-firebase-email-recovery-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
847
1103
  }
848
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, decorators: [{
1104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmailRecoveryFormComponent, decorators: [{
849
1105
  type: Component,
850
1106
  args: [{
851
1107
  selector: 'dbx-firebase-email-recovery-form',
@@ -869,10 +1125,10 @@ class DbxFirebaseEmailFormComponent extends AbstractConfigAsyncFormlyFormDirecti
869
1125
  const fields = usernamePasswordLoginFields({ username: 'email', password: passwordConfig, verifyPassword: loginMode === 'register' });
870
1126
  return fields;
871
1127
  }));
872
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmailFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
873
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseEmailFormComponent, isStandalone: true, selector: "dbx-firebase-email-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmailFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1129
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseEmailFormComponent, isStandalone: true, selector: "dbx-firebase-email-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
874
1130
  }
875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmailFormComponent, decorators: [{
1131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmailFormComponent, decorators: [{
876
1132
  type: Component,
877
1133
  args: [{
878
1134
  selector: 'dbx-firebase-email-form',
@@ -896,9 +1152,9 @@ class DbxFirebaseLoginEmailContentComponent {
896
1152
  loginMode: this.config.loginMode,
897
1153
  passwordConfig: this.config.passwordConfig
898
1154
  };
899
- _emailFormValueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_emailFormValueSignal" }] : []));
900
- _recoveryFormValueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_recoveryFormValueSignal" }] : []));
901
- _emailModeSignal = signal('login', ...(ngDevMode ? [{ debugName: "_emailModeSignal" }] : []));
1155
+ _emailFormValueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_emailFormValueSignal" }] : /* istanbul ignore next */ []));
1156
+ _recoveryFormValueSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_recoveryFormValueSignal" }] : /* istanbul ignore next */ []));
1157
+ _emailModeSignal = signal('login', ...(ngDevMode ? [{ debugName: "_emailModeSignal" }] : /* istanbul ignore next */ []));
902
1158
  emailFormValueSignal = this._emailFormValueSignal.asReadonly();
903
1159
  recoveryFormValueSignal = this._recoveryFormValueSignal.asReadonly();
904
1160
  emailModeSignal = this._emailModeSignal.asReadonly();
@@ -969,10 +1225,10 @@ class DbxFirebaseLoginEmailContentComponent {
969
1225
  onCancelReset() {
970
1226
  this.doneOrCancelled.next(false);
971
1227
  }
972
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
973
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseLoginEmailContentComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n @switch (emailModeSignal()) {\n @case ('login') {\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n }\n @case ('recover') {\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n }\n @case ('recoversent') {\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n }\n }\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]=\"emailFormValueSignal()\"></dbx-firebase-email-form>\n @if (isLoginMode) {\n <div class=\"dbx-firebase-login-email-forgot-prompt\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n }\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-button-wide\" [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 <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValueSignal()\"></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-button-wide\" 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 </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DbxErrorComponent, selector: "dbx-error", inputs: ["error", "iconOnly"], outputs: ["popoverOpened"] }, { kind: "component", type: DbxLinkComponent, selector: "dbx-link", inputs: ["ref", "href", "anchor"] }, { kind: "directive", type: DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form" }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseLoginEmailContentComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div class=\"dbx-firebase-login-email-content\">\n @switch (emailModeSignal()) {\n @case ('login') {\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n }\n @case ('recover') {\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n }\n @case ('recoversent') {\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n }\n }\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]=\"emailFormValueSignal()\"></dbx-firebase-email-form>\n @if (isLoginMode) {\n <div class=\"dbx-firebase-login-email-forgot-prompt\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n }\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-button-wide\" [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 <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValueSignal()\"></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-button-wide\" 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 </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DbxErrorComponent, selector: "dbx-error", inputs: ["error", "iconOnly"], outputs: ["popoverOpened"] }, { kind: "component", type: DbxLinkComponent, selector: "dbx-link", inputs: ["ref", "href", "anchor"] }, { kind: "directive", type: DbxActionErrorDirective, selector: "[dbxActionError]" }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxFirebaseEmailFormComponent, selector: "dbx-firebase-email-form" }, { kind: "component", type: DbxFirebaseEmailRecoveryFormComponent, selector: "dbx-firebase-email-recovery-form" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
974
1230
  }
975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
1231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginEmailContentComponent, decorators: [{
976
1232
  type: Component,
977
1233
  args: [{ imports: [NgTemplateOutlet, DbxErrorComponent, DbxLinkComponent, DbxActionErrorDirective, DbxActionFormDirective, MatButtonModule, DbxActionModule, DbxButtonComponent, DbxButtonSpacerDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFormSourceDirective], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-firebase-login-email-content\">\n @switch (emailModeSignal()) {\n @case ('login') {\n <ng-container *ngTemplateOutlet=\"loginView\"></ng-container>\n }\n @case ('recover') {\n <ng-container *ngTemplateOutlet=\"resetPassword\"></ng-container>\n }\n @case ('recoversent') {\n <ng-container *ngTemplateOutlet=\"resetPasswordSent\"></ng-container>\n }\n }\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]=\"emailFormValueSignal()\"></dbx-firebase-email-form>\n @if (isLoginMode) {\n <div class=\"dbx-firebase-login-email-forgot-prompt\">\n <dbx-link [anchor]=\"forgotAnchor\">Forgot Password?</dbx-link>\n </div>\n }\n <div class=\"dbx-flex\">\n <dbx-button class=\"dbx-button-wide\" [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 <div class=\"dbx-firebase-login-email-content-recovery\" dbxAction [dbxActionHandler]=\"handleRecoveryAction\" [dbxActionSuccessHandler]=\"handleRecoverySuccess\">\n <dbx-firebase-email-recovery-form dbxActionForm [dbxFormSource]=\"recoveryFormValueSignal()\"></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-button-wide\" 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 </div>\n</ng-template>\n\n<!-- Reset Password Sent -->\n<ng-template #resetPasswordSent>\n <div class=\"dbx-firebase-login-email-content-recovery-sent\">\n <p class=\"dbx-hint\">A recovery email was sent to the specified address. Please check your email for next steps.</p>\n <button mat-raised-button (click)=\"clickedRecoveryAcknowledged()\">Ok</button>\n </div>\n</ng-template>\n" }]
978
1234
  }] });
@@ -985,10 +1241,10 @@ class DbxFirebaseLoginEmailComponent extends AbstractConfiguredDbxFirebaseLoginB
985
1241
  handleLogin() {
986
1242
  return DbxFirebaseLoginEmailContentComponent.openEmailLoginContext(this.dbxFirebaseLoginContext, { loginMode: 'login', passwordConfig: this.dbxFirebaseAuthLoginService.getPasswordConfig() });
987
1243
  }
988
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
989
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginEmailComponent, isStandalone: true, selector: "dbx-firebase-login-email", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1245
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginEmailComponent, isStandalone: true, selector: "dbx-firebase-login-email", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
990
1246
  }
991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginEmailComponent, decorators: [{
1247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginEmailComponent, decorators: [{
992
1248
  type: Component,
993
1249
  args: [{
994
1250
  selector: 'dbx-firebase-login-email',
@@ -1005,12 +1261,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1005
1261
  class DbxFirebaseLoginFacebookComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1006
1262
  loginProvider = 'facebook';
1007
1263
  handleLogin() {
1008
- return this.dbxFirebaseAuthService.logInWithFacebook();
1264
+ return this.dbxFirebaseAuthService.logInWithPopup(new FacebookAuthProvider());
1009
1265
  }
1010
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginFacebookComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1011
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginFacebookComponent, isStandalone: true, selector: "dbx-firebase-login-facebook", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1266
+ handleLink() {
1267
+ return this.dbxFirebaseAuthService.linkWithPopup(new FacebookAuthProvider());
1268
+ }
1269
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginFacebookComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginFacebookComponent, isStandalone: true, selector: "dbx-firebase-login-facebook", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1012
1271
  }
1013
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginFacebookComponent, decorators: [{
1272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginFacebookComponent, decorators: [{
1014
1273
  type: Component,
1015
1274
  args: [{
1016
1275
  selector: 'dbx-firebase-login-facebook',
@@ -1027,12 +1286,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1027
1286
  class DbxFirebaseLoginGitHubComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1028
1287
  loginProvider = 'github';
1029
1288
  handleLogin() {
1030
- return this.dbxFirebaseAuthService.logInWithGithub();
1289
+ return this.dbxFirebaseAuthService.logInWithPopup(new GithubAuthProvider());
1290
+ }
1291
+ handleLink() {
1292
+ return this.dbxFirebaseAuthService.linkWithPopup(new GithubAuthProvider());
1031
1293
  }
1032
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginGitHubComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1033
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginGitHubComponent, isStandalone: true, selector: "dbx-firebase-login-github", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginGitHubComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1295
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginGitHubComponent, isStandalone: true, selector: "dbx-firebase-login-github", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1034
1296
  }
1035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginGitHubComponent, decorators: [{
1297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginGitHubComponent, decorators: [{
1036
1298
  type: Component,
1037
1299
  args: [{
1038
1300
  selector: 'dbx-firebase-login-github',
@@ -1049,12 +1311,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1049
1311
  class DbxFirebaseLoginGoogleComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1050
1312
  loginProvider = 'google';
1051
1313
  handleLogin() {
1052
- return this.dbxFirebaseAuthService.logInWithGoogle();
1314
+ return this.dbxFirebaseAuthService.logInWithPopup(new GoogleAuthProvider());
1315
+ }
1316
+ handleLink() {
1317
+ return this.dbxFirebaseAuthService.linkWithPopup(new GoogleAuthProvider());
1053
1318
  }
1054
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginGoogleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1055
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginGoogleComponent, isStandalone: true, selector: "dbx-firebase-login-google", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginGoogleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginGoogleComponent, isStandalone: true, selector: "dbx-firebase-login-google", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1056
1321
  }
1057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginGoogleComponent, decorators: [{
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginGoogleComponent, decorators: [{
1058
1323
  type: Component,
1059
1324
  args: [{
1060
1325
  selector: 'dbx-firebase-login-google',
@@ -1066,17 +1331,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1066
1331
  }] });
1067
1332
 
1068
1333
  /**
1069
- * Login button component for Twitter OAuth authentication.
1334
+ * Login button component for X (formerly Twitter) OAuth authentication.
1070
1335
  */
1071
1336
  class DbxFirebaseLoginTwitterComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1072
1337
  loginProvider = 'twitter';
1073
1338
  handleLogin() {
1074
- return this.dbxFirebaseAuthService.logInWithTwitter();
1339
+ return this.dbxFirebaseAuthService.logInWithPopup(new TwitterAuthProvider());
1075
1340
  }
1076
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1077
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginTwitterComponent, isStandalone: true, selector: "dbx-firebase-login-twitter", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1341
+ handleLink() {
1342
+ return this.dbxFirebaseAuthService.linkWithPopup(new TwitterAuthProvider());
1343
+ }
1344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1345
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginTwitterComponent, isStandalone: true, selector: "dbx-firebase-login-twitter", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1078
1346
  }
1079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, decorators: [{
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTwitterComponent, decorators: [{
1080
1348
  type: Component,
1081
1349
  args: [{
1082
1350
  selector: 'dbx-firebase-login-twitter',
@@ -1095,10 +1363,10 @@ class DbxFirebaseRegisterEmailComponent extends AbstractConfiguredDbxFirebaseLog
1095
1363
  handleLogin() {
1096
1364
  return DbxFirebaseLoginEmailContentComponent.openEmailLoginContext(this.dbxFirebaseLoginContext, { loginMode: 'register', passwordConfig: this.dbxFirebaseAuthLoginService.getPasswordConfig() });
1097
1365
  }
1098
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1099
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseRegisterEmailComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1366
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1367
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseRegisterEmailComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1100
1368
  }
1101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, decorators: [{
1369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseRegisterEmailComponent, decorators: [{
1102
1370
  type: Component,
1103
1371
  args: [{
1104
1372
  imports: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.imports,
@@ -1114,9 +1382,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1114
1382
  * @returns Array of DbxFirebaseAuthLoginProvider
1115
1383
  */
1116
1384
  function defaultFirebaseAuthLoginProvidersFactory() {
1117
- // NOTE: Asset URLS are from Firebase.
1118
- // https://firebase.google.com/docs/auth/web/firebaseui
1119
- const baseFirebaseJSUrl = `https://www.gstatic.com/firebasejs/ui/2.0.0/images/auth`;
1385
+ // Brand logos from @firebase-oss/ui-core via jsdelivr CDN.
1386
+ // https://github.com/firebase/firebaseui-web/tree/master/packages/core/brands
1387
+ const brandLogoBaseUrl = `https://cdn.jsdelivr.net/npm/@firebase-oss/ui-core/brands`;
1120
1388
  // NOTE: Colors are from https://brandcolors.net/
1121
1389
  return [
1122
1390
  {
@@ -1124,8 +1392,10 @@ function defaultFirebaseAuthLoginProvidersFactory() {
1124
1392
  loginMethodType: 'email',
1125
1393
  componentClass: DbxFirebaseLoginEmailComponent,
1126
1394
  registrationComponentClass: DbxFirebaseRegisterEmailComponent,
1395
+ allowLinking: false,
1127
1396
  assets: {
1128
- logoUrl: `${baseFirebaseJSUrl}/mail.svg`,
1397
+ providerName: 'Email',
1398
+ loginIcon: 'mail',
1129
1399
  loginText: 'Continue with Email',
1130
1400
  backgroundColor: '#ea4335', // gmail red color
1131
1401
  textColor: '#FFF'
@@ -1136,7 +1406,8 @@ function defaultFirebaseAuthLoginProvidersFactory() {
1136
1406
  loginMethodType: 'google',
1137
1407
  componentClass: DbxFirebaseLoginGoogleComponent,
1138
1408
  assets: {
1139
- logoUrl: `${baseFirebaseJSUrl}/google.svg`,
1409
+ providerName: 'Google',
1410
+ logoUrl: `${brandLogoBaseUrl}/google/logo.svg`,
1140
1411
  loginText: 'Continue with Google',
1141
1412
  backgroundColor: '#FFF',
1142
1413
  textColor: '#757575'
@@ -1147,9 +1418,11 @@ function defaultFirebaseAuthLoginProvidersFactory() {
1147
1418
  loginMethodType: 'facebook',
1148
1419
  componentClass: DbxFirebaseLoginFacebookComponent,
1149
1420
  assets: {
1150
- logoUrl: `${baseFirebaseJSUrl}/facebook.svg`,
1421
+ providerName: 'Facebook',
1422
+ logoUrl: `${brandLogoBaseUrl}/facebook/logo.svg`,
1423
+ logoFilter: 'brightness(0) invert(1)',
1151
1424
  loginText: 'Continue with Facebook',
1152
- backgroundColor: '#4267B2',
1425
+ backgroundColor: '#1877F2',
1153
1426
  textColor: '#FFF'
1154
1427
  }
1155
1428
  },
@@ -1158,10 +1431,11 @@ function defaultFirebaseAuthLoginProvidersFactory() {
1158
1431
  loginMethodType: 'twitter',
1159
1432
  componentClass: DbxFirebaseLoginTwitterComponent,
1160
1433
  assets: {
1161
- logoUrl: `${baseFirebaseJSUrl}/twitter.svg`,
1162
- loginText: 'Continue with Twitter',
1163
- backgroundColor: '#1da1f2',
1164
- textColor: '#FFF'
1434
+ providerName: 'X',
1435
+ logoUrl: `${brandLogoBaseUrl}/twitter/logo.svg`,
1436
+ loginText: 'Continue with X',
1437
+ backgroundColor: '#FFF',
1438
+ textColor: '#000'
1165
1439
  }
1166
1440
  },
1167
1441
  {
@@ -1169,37 +1443,33 @@ function defaultFirebaseAuthLoginProvidersFactory() {
1169
1443
  loginMethodType: 'github',
1170
1444
  componentClass: DbxFirebaseLoginGitHubComponent,
1171
1445
  assets: {
1172
- logoUrl: `${baseFirebaseJSUrl}/github.svg`,
1173
- loginText: 'Continue with Github',
1446
+ providerName: 'GitHub',
1447
+ logoUrl: `${brandLogoBaseUrl}/github/logo.svg`,
1448
+ logoFilter: 'brightness(0) invert(1)',
1449
+ loginText: 'Continue with GitHub',
1174
1450
  backgroundColor: '#333',
1175
1451
  textColor: '#FFF'
1176
1452
  }
1177
1453
  },
1178
- /*{
1179
- category: OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY,
1180
- loginMethodType: 'apple' as KnownFirebaseLoginMethodType,
1181
- componentClass: DbxFirebaseLoginGitHubComponent,
1182
- assets: {
1183
- logoUrl: `${baseFirebaseJSUrl}/apple.svg`,
1184
- loginText: 'Continue with Apple',
1185
- backgroundColor: '#333',
1186
- textColor: '#FFF'
1187
- }
1188
- }, {
1189
- category: OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY,
1190
- loginMethodType: 'microsoft' as KnownFirebaseLoginMethodType,
1191
- componentClass: DbxFirebaseLoginGitHubComponent,
1192
- assets: {
1193
- logoUrl: `${baseFirebaseJSUrl}/microsoft.svg`,
1194
- loginText: 'Continue with Microsoft',
1195
- backgroundColor: '#ea3e23',
1196
- textColor: '#FFF'
1197
- }
1198
- },*/ {
1454
+ {
1455
+ category: OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY,
1456
+ loginMethodType: 'apple',
1457
+ componentClass: DbxFirebaseLoginAppleComponent,
1458
+ assets: {
1459
+ providerName: 'Apple',
1460
+ logoUrl: `${brandLogoBaseUrl}/apple/logo.svg`,
1461
+ loginText: 'Continue with Apple',
1462
+ backgroundColor: '#FFF',
1463
+ textColor: '#000'
1464
+ }
1465
+ },
1466
+ {
1199
1467
  category: DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY,
1200
1468
  loginMethodType: 'anonymous',
1201
1469
  componentClass: DbxFirebaseLoginAnonymousComponent,
1470
+ allowLinking: false,
1202
1471
  assets: {
1472
+ providerName: 'Guest',
1203
1473
  loginIcon: 'account_circle',
1204
1474
  loginText: 'Continue as Guest',
1205
1475
  backgroundColor: '#000',
@@ -1257,28 +1527,6 @@ function provideDbxFirebaseLogin(config) {
1257
1527
  return makeEnvironmentProviders(providers);
1258
1528
  }
1259
1529
 
1260
- /**
1261
- * Login button component for Apple OAuth authentication.
1262
- */
1263
- class DbxFirebaseLoginAppleComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1264
- loginProvider = 'apple';
1265
- handleLogin() {
1266
- return this.dbxFirebaseAuthService.logInWithApple();
1267
- }
1268
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginAppleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1269
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginAppleComponent, isStandalone: true, selector: "dbx-firebase-login-apple", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1270
- }
1271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginAppleComponent, decorators: [{
1272
- type: Component,
1273
- args: [{
1274
- selector: 'dbx-firebase-login-apple',
1275
- imports: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.imports,
1276
- template: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.template,
1277
- changeDetection: DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION.changeDetection,
1278
- standalone: true
1279
- }]
1280
- }] });
1281
-
1282
1530
  /**
1283
1531
  * Renders a list of login provider buttons, filtered by enabled types and categories.
1284
1532
  *
@@ -1286,16 +1534,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1286
1534
  */
1287
1535
  class DbxFirebaseLoginListComponent {
1288
1536
  dbxFirebaseAuthLoginService = inject(DbxFirebaseAuthLoginService);
1289
- loginMode = input('login', ...(ngDevMode ? [{ debugName: "loginMode" }] : []));
1290
- providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : []));
1291
- omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : []));
1292
- providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : []));
1537
+ dbxFirebaseAuthService = inject(DbxFirebaseAuthService);
1538
+ _linkedProviderIds = toSignal(this.dbxFirebaseAuthService.currentLinkedProviderIds$, { initialValue: [] });
1539
+ /**
1540
+ * The login method types currently linked to the authenticated user.
1541
+ */
1542
+ linkedMethodTypesSignal = computed(() => {
1543
+ return filterMaybeArrayValues(this._linkedProviderIds().map(firebaseProviderIdToLoginMethodType));
1544
+ }, ...(ngDevMode ? [{ debugName: "linkedMethodTypesSignal" }] : /* istanbul ignore next */ []));
1545
+ loginMode = input('login', ...(ngDevMode ? [{ debugName: "loginMode" }] : /* istanbul ignore next */ []));
1546
+ providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : /* istanbul ignore next */ []));
1547
+ omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : /* istanbul ignore next */ []));
1548
+ providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : /* istanbul ignore next */ []));
1293
1549
  providerTypesSignal = computed(() => {
1294
1550
  const providerTypes = this.providerTypes();
1295
1551
  const omitProviderTypes = this.omitProviderTypes();
1296
- const baseTypes = providerTypes ? asArray(providerTypes) : this.dbxFirebaseAuthLoginService.getEnabledTypes();
1552
+ const loginMode = this.loginMode();
1553
+ let baseTypes;
1554
+ if (loginMode === 'unlink') {
1555
+ // In unlink mode, show only currently linked providers
1556
+ baseTypes = this.linkedMethodTypesSignal();
1557
+ }
1558
+ else {
1559
+ baseTypes = providerTypes ? asArray(providerTypes) : this.dbxFirebaseAuthLoginService.getEnabledTypes();
1560
+ }
1297
1561
  return omitProviderTypes ? excludeValuesFromArray(baseTypes, asArray(omitProviderTypes)) : baseTypes;
1298
- }, ...(ngDevMode ? [{ debugName: "providerTypesSignal" }] : []));
1562
+ }, ...(ngDevMode ? [{ debugName: "providerTypesSignal" }] : /* istanbul ignore next */ []));
1299
1563
  providersSignal = computed(() => {
1300
1564
  const providerCategories = asArray(this.providerCategories());
1301
1565
  let providers = this.dbxFirebaseAuthLoginService.getLoginProviders(this.providerTypesSignal());
@@ -1304,21 +1568,32 @@ class DbxFirebaseLoginListComponent {
1304
1568
  providers = providers.filter((x) => containsStringAnyCase(categories, x.category ?? ''));
1305
1569
  }
1306
1570
  return providers;
1307
- }, ...(ngDevMode ? [{ debugName: "providersSignal" }] : []));
1571
+ }, ...(ngDevMode ? [{ debugName: "providersSignal" }] : /* istanbul ignore next */ []));
1308
1572
  providersInjectionConfigsSignal = computed(() => {
1309
1573
  let providers = this.providersSignal();
1574
+ const loginMode = this.loginMode();
1310
1575
  let mapFn;
1311
- if (this.loginMode() === 'register') {
1312
- providers = providers.filter((x) => x.registrationComponentClass !== false); // providers with "registrationComponentClass" set to false are not available for registration
1313
- mapFn = (x) => ({ componentClass: (x.registrationComponentClass ?? x.componentClass), loginMethodType: x.loginMethodType });
1314
- }
1315
- else {
1316
- mapFn = (x) => ({ componentClass: x.componentClass, loginMethodType: x.loginMethodType });
1576
+ switch (loginMode) {
1577
+ case 'register':
1578
+ providers = providers.filter((x) => x.registrationComponentClass !== false);
1579
+ mapFn = (x) => ({ componentClass: (x.registrationComponentClass ?? x.componentClass), loginMethodType: x.loginMethodType, data: { loginMode } });
1580
+ break;
1581
+ case 'link':
1582
+ providers = providers.filter((x) => x.allowLinking !== false);
1583
+ mapFn = (x) => ({ componentClass: x.componentClass, loginMethodType: x.loginMethodType, data: { loginMode } });
1584
+ break;
1585
+ case 'unlink':
1586
+ providers = providers.filter((x) => x.allowLinking !== false);
1587
+ mapFn = (x) => ({ componentClass: x.componentClass, loginMethodType: x.loginMethodType, data: { loginMode } });
1588
+ break;
1589
+ default:
1590
+ mapFn = (x) => ({ componentClass: x.componentClass, loginMethodType: x.loginMethodType, data: { loginMode } });
1591
+ break;
1317
1592
  }
1318
1593
  return providers.map(mapFn);
1319
- }, ...(ngDevMode ? [{ debugName: "providersInjectionConfigsSignal" }] : []));
1320
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1321
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseLoginListComponent, isStandalone: true, selector: "dbx-firebase-login-list", inputs: { loginMode: { classPropertyName: "loginMode", publicName: "loginMode", isSignal: true, isRequired: false, transformFunction: null }, providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-firebase-login-list" }, ngImport: i0, template: `
1594
+ }, ...(ngDevMode ? [{ debugName: "providersInjectionConfigsSignal" }] : /* istanbul ignore next */ []));
1595
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1596
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseLoginListComponent, isStandalone: true, selector: "dbx-firebase-login-list", inputs: { loginMode: { classPropertyName: "loginMode", publicName: "loginMode", isSignal: true, isRequired: false, transformFunction: null }, providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-firebase-login-list dbx-button-column" }, ngImport: i0, template: `
1322
1597
  @for (config of providersInjectionConfigsSignal(); track config.loginMethodType) {
1323
1598
  <div class="dbx-firebase-login-item">
1324
1599
  <dbx-injection [config]="config"></dbx-injection>
@@ -1326,7 +1601,7 @@ class DbxFirebaseLoginListComponent {
1326
1601
  }
1327
1602
  `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
1328
1603
  }
1329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginListComponent, decorators: [{
1604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginListComponent, decorators: [{
1330
1605
  type: Component,
1331
1606
  args: [{
1332
1607
  selector: 'dbx-firebase-login-list',
@@ -1338,7 +1613,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1338
1613
  }
1339
1614
  `,
1340
1615
  host: {
1341
- class: 'dbx-firebase-login-list'
1616
+ class: 'dbx-firebase-login-list dbx-button-column'
1342
1617
  },
1343
1618
  standalone: true,
1344
1619
  imports: [DbxInjectionComponent]
@@ -1351,15 +1626,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1351
1626
  * Apply to a host element to establish a login context scope for child login components.
1352
1627
  */
1353
1628
  class DbxFirebaseLoginContextDirective extends AbstractForwardDbxInjectionContextDirective {
1354
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1355
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginContextDirective, isStandalone: true, selector: "[dbxFirebaseLoginContext]", providers: [
1629
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1630
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginContextDirective, isStandalone: true, selector: "[dbxFirebaseLoginContext]", providers: [
1356
1631
  {
1357
1632
  provide: DbxFirebaseLoginContext,
1358
1633
  useExisting: DbxFirebaseLoginContextDirective
1359
1634
  }
1360
1635
  ], usesInheritance: true, ngImport: i0 });
1361
1636
  }
1362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginContextDirective, decorators: [{
1637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginContextDirective, decorators: [{
1363
1638
  type: Directive,
1364
1639
  args: [{
1365
1640
  selector: '[dbxFirebaseLoginContext]',
@@ -1377,18 +1652,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1377
1652
  * Pre-configured login component that displays all configured login types.
1378
1653
  */
1379
1654
  class DbxFirebaseLoginComponent {
1380
- loginMode = input('login', ...(ngDevMode ? [{ debugName: "loginMode" }] : []));
1381
- providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : []));
1382
- omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : []));
1383
- providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : []));
1384
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1385
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseLoginComponent, isStandalone: true, selector: "dbx-firebase-login", inputs: { loginMode: { classPropertyName: "loginMode", publicName: "loginMode", isSignal: true, isRequired: false, transformFunction: null }, providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "{ \"dbx-firebase-register\": loginMode() === \"register\" }" }, classAttribute: "d-block dbx-firebase-login" }, ngImport: i0, template: `
1655
+ loginMode = input('login', ...(ngDevMode ? [{ debugName: "loginMode" }] : /* istanbul ignore next */ []));
1656
+ providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : /* istanbul ignore next */ []));
1657
+ omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : /* istanbul ignore next */ []));
1658
+ providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : /* istanbul ignore next */ []));
1659
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1660
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseLoginComponent, isStandalone: true, selector: "dbx-firebase-login", inputs: { loginMode: { classPropertyName: "loginMode", publicName: "loginMode", isSignal: true, isRequired: false, transformFunction: null }, providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "{ \"dbx-firebase-register\": loginMode() === \"register\", \"dbx-firebase-link\": loginMode() === \"link\" }" }, classAttribute: "d-block dbx-firebase-login" }, ngImport: i0, template: `
1386
1661
  <ng-container *dbxInjectionContext dbxFirebaseLoginContext>
1387
1662
  <dbx-firebase-login-list [providerTypes]="providerTypes()" [omitProviderTypes]="omitProviderTypes()" [providerCategories]="providerCategories()" [loginMode]="loginMode()"></dbx-firebase-login-list>
1388
1663
  </ng-container>
1389
1664
  `, isInline: true, dependencies: [{ kind: "directive", type: DbxInjectionContextDirective, selector: "[dbxInjectionContext]", inputs: ["config"] }, { kind: "directive", type: DbxFirebaseLoginContextDirective, selector: "[dbxFirebaseLoginContext]" }, { kind: "component", type: DbxFirebaseLoginListComponent, selector: "dbx-firebase-login-list", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1390
1665
  }
1391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginComponent, decorators: [{
1666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginComponent, decorators: [{
1392
1667
  type: Component,
1393
1668
  args: [{
1394
1669
  selector: 'dbx-firebase-login',
@@ -1401,7 +1676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1401
1676
  `,
1402
1677
  host: {
1403
1678
  class: 'd-block dbx-firebase-login',
1404
- '[class]': '{ "dbx-firebase-register": loginMode() === "register" }'
1679
+ '[class]': '{ "dbx-firebase-register": loginMode() === "register", "dbx-firebase-link": loginMode() === "link" }'
1405
1680
  },
1406
1681
  changeDetection: ChangeDetectionStrategy.OnPush
1407
1682
  }]
@@ -1415,12 +1690,12 @@ class DbxFirebaseLoginContextBackButtonComponent {
1415
1690
  anchor = {
1416
1691
  onClick: () => this.cancelLogin.emit()
1417
1692
  };
1418
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1419
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginContextBackButtonComponent, isStandalone: true, selector: "dbx-firebase-login-context-back-button", outputs: { cancelLogin: "cancelLogin" }, ngImport: i0, template: `
1693
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1694
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginContextBackButtonComponent, isStandalone: true, selector: "dbx-firebase-login-context-back-button", outputs: { cancelLogin: "cancelLogin" }, ngImport: i0, template: `
1420
1695
  <dbx-link [anchor]="anchor">Choose other login method.</dbx-link>
1421
1696
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxRouterAnchorModule }, { kind: "component", type: i1$1.DbxLinkComponent, selector: "dbx-link", inputs: ["ref", "href", "anchor"] }] });
1422
1697
  }
1423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, decorators: [{
1698
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginContextBackButtonComponent, decorators: [{
1424
1699
  type: Component,
1425
1700
  args: [{
1426
1701
  selector: 'dbx-firebase-login-context-back-button',
@@ -1438,12 +1713,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1438
1713
  class DbxFirebaseLoginMicrosoftComponent extends AbstractConfiguredDbxFirebaseLoginButtonDirective {
1439
1714
  loginProvider = 'microsoft';
1440
1715
  handleLogin() {
1441
- return this.dbxFirebaseAuthService.logInWithMicrosoft();
1716
+ return this.dbxFirebaseAuthService.logInWithPopup(new OAuthProvider('microsoft.com'));
1717
+ }
1718
+ handleLink() {
1719
+ return this.dbxFirebaseAuthService.linkWithPopup(new OAuthProvider('microsoft.com'));
1442
1720
  }
1443
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginMicrosoftComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1444
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginMicrosoftComponent, isStandalone: true, selector: "dbx-firebase-login-microsoft", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1721
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginMicrosoftComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1722
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginMicrosoftComponent, isStandalone: true, selector: "dbx-firebase-login-microsoft", usesInheritance: true, ngImport: i0, template: "\n <dbx-firebase-login-button-container>\n <dbx-firebase-login-button [config]=\"configSignal()\"></dbx-firebase-login-button>\n </dbx-firebase-login-button-container>\n", isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginButtonComponent, selector: "dbx-firebase-login-button", inputs: ["config"], outputs: ["configChange"] }, { kind: "component", type: DbxFirebaseLoginButtonContainerComponent, selector: "dbx-firebase-login-button-container" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1445
1723
  }
1446
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginMicrosoftComponent, decorators: [{
1724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginMicrosoftComponent, decorators: [{
1447
1725
  type: Component,
1448
1726
  args: [{
1449
1727
  selector: 'dbx-firebase-login-microsoft',
@@ -1462,12 +1740,12 @@ class DbxFirebaseLoginTermsComponent {
1462
1740
  config = {
1463
1741
  componentClass: this.dbxFirebaseAuthLoginService.loginTermsComponentClass
1464
1742
  };
1465
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTermsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseLoginTermsComponent, isStandalone: true, selector: "dbx-firebase-login-terms", host: { classAttribute: "dbx-firebase-login-terms d-block" }, ngImport: i0, template: `
1743
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTermsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1744
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseLoginTermsComponent, isStandalone: true, selector: "dbx-firebase-login-terms", host: { classAttribute: "dbx-firebase-login-terms d-block" }, ngImport: i0, template: `
1467
1745
  <dbx-injection [config]="config"></dbx-injection>
1468
1746
  `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
1469
1747
  }
1470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseLoginTermsComponent, decorators: [{
1748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseLoginTermsComponent, decorators: [{
1471
1749
  type: Component,
1472
1750
  args: [{
1473
1751
  selector: 'dbx-firebase-login-terms',
@@ -1482,19 +1760,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1482
1760
  }]
1483
1761
  }] });
1484
1762
 
1763
+ /**
1764
+ * Component for managing linked authentication providers on a user account.
1765
+ *
1766
+ * Displays two sections:
1767
+ * - **Connected Providers**: Shows currently linked providers with disconnect buttons.
1768
+ * - **Connect Provider**: Shows available OAuth providers that can be linked.
1769
+ *
1770
+ * @example
1771
+ * ```html
1772
+ * <dbx-firebase-manage-auth-providers></dbx-firebase-manage-auth-providers>
1773
+ * ```
1774
+ */
1775
+ class DbxFirebaseManageAuthProvidersComponent {
1776
+ dbxFirebaseAuthService = inject(DbxFirebaseAuthService);
1777
+ dbxFirebaseAuthLoginService = inject(DbxFirebaseAuthLoginService);
1778
+ _linkedProviderIds = toSignal(this.dbxFirebaseAuthService.currentLinkedProviderIds$, { initialValue: [] });
1779
+ linkedMethodTypesSignal = computed(() => {
1780
+ return filterMaybeArrayValues(this._linkedProviderIds().map(firebaseProviderIdToLoginMethodType));
1781
+ }, ...(ngDevMode ? [{ debugName: "linkedMethodTypesSignal" }] : /* istanbul ignore next */ []));
1782
+ showLinkSectionSignal = computed(() => {
1783
+ const linkedTypes = new Set(this.linkedMethodTypesSignal());
1784
+ const oauthProviders = this.dbxFirebaseAuthLoginService.getLinkProviders(this.dbxFirebaseAuthLoginService.getEnabledTypes());
1785
+ return oauthProviders.some((p) => p.category === OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY && !linkedTypes.has(p.loginMethodType));
1786
+ }, ...(ngDevMode ? [{ debugName: "showLinkSectionSignal" }] : /* istanbul ignore next */ []));
1787
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseManageAuthProvidersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1788
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseManageAuthProvidersComponent, isStandalone: true, selector: "dbx-firebase-manage-auth-providers", host: { classAttribute: "d-block dbx-firebase-manage-auth-providers" }, ngImport: i0, template: `
1789
+ @if (linkedMethodTypesSignal().length) {
1790
+ <dbx-section header="Connected Providers">
1791
+ <dbx-firebase-login loginMode="unlink" providerCategories="oauth"></dbx-firebase-login>
1792
+ </dbx-section>
1793
+ }
1794
+ @if (showLinkSectionSignal()) {
1795
+ <dbx-section header="Connect Provider">
1796
+ <dbx-firebase-login loginMode="link" [omitProviderTypes]="linkedMethodTypesSignal()" providerCategories="oauth"></dbx-firebase-login>
1797
+ </dbx-section>
1798
+ }
1799
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginComponent, selector: "dbx-firebase-login", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }, { kind: "component", type: DbxSectionComponent, selector: "dbx-section", inputs: ["elevate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1800
+ }
1801
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseManageAuthProvidersComponent, decorators: [{
1802
+ type: Component,
1803
+ args: [{
1804
+ selector: 'dbx-firebase-manage-auth-providers',
1805
+ standalone: true,
1806
+ imports: [DbxFirebaseLoginComponent, DbxSectionComponent],
1807
+ template: `
1808
+ @if (linkedMethodTypesSignal().length) {
1809
+ <dbx-section header="Connected Providers">
1810
+ <dbx-firebase-login loginMode="unlink" providerCategories="oauth"></dbx-firebase-login>
1811
+ </dbx-section>
1812
+ }
1813
+ @if (showLinkSectionSignal()) {
1814
+ <dbx-section header="Connect Provider">
1815
+ <dbx-firebase-login loginMode="link" [omitProviderTypes]="linkedMethodTypesSignal()" providerCategories="oauth"></dbx-firebase-login>
1816
+ </dbx-section>
1817
+ }
1818
+ `,
1819
+ host: {
1820
+ class: 'd-block dbx-firebase-manage-auth-providers'
1821
+ },
1822
+ changeDetection: ChangeDetectionStrategy.OnPush
1823
+ }]
1824
+ }] });
1825
+
1485
1826
  /**
1486
1827
  * Pre-configured register component that displays all configured login types and their registration components.
1487
1828
  */
1488
1829
  class DbxFirebaseRegisterComponent {
1489
- providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : []));
1490
- omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : []));
1491
- providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : []));
1492
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseRegisterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1493
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseRegisterComponent, isStandalone: true, selector: "dbx-firebase-register", inputs: { providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1830
+ providerTypes = input(...(ngDevMode ? [undefined, { debugName: "providerTypes" }] : /* istanbul ignore next */ []));
1831
+ omitProviderTypes = input(...(ngDevMode ? [undefined, { debugName: "omitProviderTypes" }] : /* istanbul ignore next */ []));
1832
+ providerCategories = input(...(ngDevMode ? [undefined, { debugName: "providerCategories" }] : /* istanbul ignore next */ []));
1833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseRegisterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1834
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseRegisterComponent, isStandalone: true, selector: "dbx-firebase-register", inputs: { providerTypes: { classPropertyName: "providerTypes", publicName: "providerTypes", isSignal: true, isRequired: false, transformFunction: null }, omitProviderTypes: { classPropertyName: "omitProviderTypes", publicName: "omitProviderTypes", isSignal: true, isRequired: false, transformFunction: null }, providerCategories: { classPropertyName: "providerCategories", publicName: "providerCategories", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1494
1835
  <dbx-firebase-login loginMode="register" [providerTypes]="providerTypes()" [omitProviderTypes]="omitProviderTypes()" [providerCategories]="providerCategories()"></dbx-firebase-login>
1495
1836
  `, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseLoginComponent, selector: "dbx-firebase-login", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }] });
1496
1837
  }
1497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseRegisterComponent, decorators: [{
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseRegisterComponent, decorators: [{
1498
1839
  type: Component,
1499
1840
  args: [{
1500
1841
  selector: 'dbx-firebase-register',
@@ -1612,10 +1953,10 @@ class DbxFirebaseDevelopmentWidgetService {
1612
1953
  getEntries() {
1613
1954
  return iterableToArray(this._entries.values());
1614
1955
  }
1615
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1616
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService });
1956
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1957
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService });
1617
1958
  }
1618
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, decorators: [{
1959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, decorators: [{
1619
1960
  type: Injectable
1620
1961
  }], ctorParameters: () => [] });
1621
1962
 
@@ -1683,10 +2024,10 @@ class DbxFirebaseDevelopmentSchedulerService {
1683
2024
  setTimer(timerInterval) {
1684
2025
  this._timerInterval.next(timerInterval);
1685
2026
  }
1686
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1687
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService });
2027
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2028
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService });
1688
2029
  }
1689
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, decorators: [{
2030
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, decorators: [{
1690
2031
  type: Injectable
1691
2032
  }] });
1692
2033
 
@@ -1709,10 +2050,10 @@ class DbxFirebaseDevelopmentPopupContentFormComponent extends AbstractConfigAsyn
1709
2050
  })
1710
2051
  ];
1711
2052
  }));
1712
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1713
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentPopupContentFormComponent, isStandalone: true, selector: "dbx-firebase-development-popup-content-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2053
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2054
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentPopupContentFormComponent, isStandalone: true, selector: "dbx-firebase-development-popup-content-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1$2.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1714
2055
  }
1715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, decorators: [{
2056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentFormComponent, decorators: [{
1716
2057
  type: Component,
1717
2058
  args: [{
1718
2059
  selector: 'dbx-firebase-development-popup-content-form',
@@ -1731,10 +2072,10 @@ class DbxFirebaseDevelopmentSchedulerListComponent extends AbstractDbxSelectionL
1731
2072
  defaultSelectionMode: 'view'
1732
2073
  });
1733
2074
  }
1734
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1735
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentSchedulerListComponent, isStandalone: true, selector: "dbx-firebase-development-scheduler-list", providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2075
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2076
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentSchedulerListComponent, isStandalone: true, selector: "dbx-firebase-development-scheduler-list", providers: provideDbxListViewWrapper(DbxFirebaseDevelopmentSchedulerListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1736
2077
  }
1737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, decorators: [{
2078
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListComponent, decorators: [{
1738
2079
  type: Component,
1739
2080
  args: [{
1740
2081
  selector: 'dbx-firebase-development-scheduler-list',
@@ -1750,10 +2091,10 @@ class DbxFirebaseDevelopmentSchedulerListViewComponent extends AbstractDbxSelect
1750
2091
  componentClass: DbxFirebaseDevelopmentSchedulerListViewItemComponent,
1751
2092
  mapValuesToItemValues: (x) => of(x.map((y) => ({ ...y, icon: y.icon, itemValue: y })))
1752
2093
  };
1753
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1754
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentSchedulerListViewComponent, isStandalone: true, selector: "dbx-firebase-development-scheduler-list-view", providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2094
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2095
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentSchedulerListViewComponent, isStandalone: true, selector: "dbx-firebase-development-scheduler-list-view", providers: provideDbxListView(DbxFirebaseDevelopmentSchedulerListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1755
2096
  }
1756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, decorators: [{
2097
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewComponent, decorators: [{
1757
2098
  type: Component,
1758
2099
  args: [{
1759
2100
  selector: 'dbx-firebase-development-scheduler-list-view',
@@ -1772,15 +2113,15 @@ class DbxFirebaseDevelopmentSchedulerListViewItemComponent extends AbstractDbxVa
1772
2113
  handleRun = (value, context) => {
1773
2114
  context.startWorkingWithObservable(from(this.dbxFirebaseDevelopmentSchedulerService.runScheduledFunction(this.name)));
1774
2115
  };
1775
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1776
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2117
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1777
2118
  <div dbxAction dbxActionValue useFastTriggerPreset [dbxActionHandler]="handleRun">
1778
2119
  <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
1779
2120
  <div *dbxActionHasSuccess="3000" class="dbx-success">Success</div>
1780
2121
  </div>
1781
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2122
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1782
2123
  }
1783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
2124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
1784
2125
  type: Component,
1785
2126
  args: [{
1786
2127
  template: `
@@ -1814,14 +2155,14 @@ class DbxFirebaseDevelopmentSchedulerWidgetComponent {
1814
2155
  dbxFirebaseDevelopmentSchedulerService = inject(DbxFirebaseDevelopmentSchedulerService);
1815
2156
  entries$ = this.dbxFirebaseDevelopmentSchedulerService.schedulerList$;
1816
2157
  state$ = loadingStateFromObs(this.entries$);
1817
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1818
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentSchedulerWidgetComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
2158
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2159
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentSchedulerWidgetComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
1819
2160
  <div>
1820
2161
  <dbx-firebase-development-scheduler-list [state]="state$"></dbx-firebase-development-scheduler-list>
1821
2162
  </div>
1822
2163
  `, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseDevelopmentSchedulerListComponent, selector: "dbx-firebase-development-scheduler-list" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1823
2164
  }
1824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, decorators: [{
2165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, decorators: [{
1825
2166
  type: Component,
1826
2167
  args: [{
1827
2168
  template: `
@@ -1868,10 +2209,10 @@ class DbxFirebaseEmulatorService {
1868
2209
  }
1869
2210
  : undefined;
1870
2211
  }
1871
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmulatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1872
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmulatorService });
2212
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmulatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2213
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmulatorService });
1873
2214
  }
1874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseEmulatorService, decorators: [{
2215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseEmulatorService, decorators: [{
1875
2216
  type: Injectable
1876
2217
  }] });
1877
2218
 
@@ -1900,7 +2241,7 @@ class DbxFirebaseDevelopmentPopupContentComponent {
1900
2241
  schedulerIntervalSignal = toSignal(this.schedulerInterval$);
1901
2242
  schedulerErrorSignal = toSignal(this.schedulerError$);
1902
2243
  activeEntrySignal = toSignal(this.activeEntry$);
1903
- rightTitleSignal = computed(() => this.activeEntrySignal()?.label, ...(ngDevMode ? [{ debugName: "rightTitleSignal" }] : []));
2244
+ rightTitleSignal = computed(() => this.activeEntrySignal()?.label, ...(ngDevMode ? [{ debugName: "rightTitleSignal" }] : /* istanbul ignore next */ []));
1904
2245
  widgetConfigSignal = computed(() => {
1905
2246
  const widget = this.activeEntrySignal()?.widget;
1906
2247
  let widgetConfig = undefined;
@@ -1908,7 +2249,7 @@ class DbxFirebaseDevelopmentPopupContentComponent {
1908
2249
  widgetConfig = { type: widget.type, data: undefined };
1909
2250
  }
1910
2251
  return widgetConfig;
1911
- }, ...(ngDevMode ? [{ debugName: "widgetConfigSignal" }] : []));
2252
+ }, ...(ngDevMode ? [{ debugName: "widgetConfigSignal" }] : /* istanbul ignore next */ []));
1912
2253
  constructor() {
1913
2254
  this.twoColumnsContextStore.setShowRight(this.showRight$);
1914
2255
  cleanSubscription(this.twoColumnsContextStore.back$.subscribe(() => {
@@ -1925,10 +2266,10 @@ class DbxFirebaseDevelopmentPopupContentComponent {
1925
2266
  clearSelection() {
1926
2267
  this._activeEntrySelector.next(undefined);
1927
2268
  }
1928
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1929
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentPopupContentComponent, isStandalone: true, 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): {{ schedulerRunningSignal() }} : {{ schedulerIntervalSignal() }}s : {{ schedulerErrorSignal() }}</p>\n <div>\n @if (showEmulatorButton) {\n <dbx-anchor [anchor]=\"emulatorUIAnchor\">\n <button mat-flat-button color=\"accent\">Emulator Enabled</button>\n </dbx-anchor>\n }\n </div>\n </div>\n <div>\n <h4>Tools</h4>\n <div dbxAction dbxActionEnforceModified dbxActionAutoTrigger useInstantTriggerPreset [dbxActionHandler]=\"handleFormUpdate\">\n <dbx-firebase-development-popup-content-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-form>\n </div>\n </div>\n </dbx-two-block>\n <dbx-two-column-right right [header]=\"rightTitleSignal()\">\n <dbx-widget-view [config]=\"widgetConfigSignal()\"></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: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "directive", type: DbxTwoColumnFullLeftDirective, selector: "[dbxTwoColumnFullLeft]", inputs: ["dbxTwoColumnFullLeft"] }, { kind: "component", type: DbxWidgetViewComponent, selector: "dbx-widget-view", inputs: ["config"] }, { kind: "component", type: DbxTwoColumnComponent, selector: "dbx-two-column", inputs: ["reverseSizing", "inSectionPage", "hasRightContent"], exportAs: ["columns"] }, { kind: "component", type: DbxTwoBlockComponent, selector: "dbx-two-block", inputs: ["fixedTop"] }, { kind: "component", type: DbxTwoColumnRightComponent, selector: "dbx-two-column-right", inputs: ["full", "header", "block", "showBack", "minRightWidth"] }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentFormComponent, selector: "dbx-firebase-development-popup-content-form" }, { kind: "directive", type: DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: DbxActionEnforceModifiedDirective, selector: "[dbxActionEnforceModified]", inputs: ["dbxActionEnforceModified"] }, { kind: "directive", type: DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] });
2269
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2270
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentPopupContentComponent, isStandalone: true, 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): {{ schedulerRunningSignal() }} : {{ schedulerIntervalSignal() }}s : {{ schedulerErrorSignal() }}</p>\n <div>\n @if (showEmulatorButton) {\n <dbx-anchor [anchor]=\"emulatorUIAnchor\">\n <button mat-flat-button color=\"accent\">Emulator Enabled</button>\n </dbx-anchor>\n }\n </div>\n </div>\n <div>\n <h4>Tools</h4>\n <div dbxAction dbxActionEnforceModified dbxActionAutoTrigger useInstantTriggerPreset [dbxActionHandler]=\"handleFormUpdate\">\n <dbx-firebase-development-popup-content-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-form>\n </div>\n </div>\n </dbx-two-block>\n <dbx-two-column-right right [header]=\"rightTitleSignal()\">\n <dbx-widget-view [config]=\"widgetConfigSignal()\"></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: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "directive", type: DbxTwoColumnFullLeftDirective, selector: "[dbxTwoColumnFullLeft]", inputs: ["dbxTwoColumnFullLeft"] }, { kind: "component", type: DbxWidgetViewComponent, selector: "dbx-widget-view", inputs: ["config"] }, { kind: "component", type: DbxTwoColumnComponent, selector: "dbx-two-column", inputs: ["reverseSizing", "inSectionPage", "hasRightContent"], exportAs: ["columns"] }, { kind: "component", type: DbxTwoBlockComponent, selector: "dbx-two-block", inputs: ["fixedTop"] }, { kind: "component", type: DbxTwoColumnRightComponent, selector: "dbx-two-column-right", inputs: ["full", "header", "block", "showBack", "minRightWidth"] }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentFormComponent, selector: "dbx-firebase-development-popup-content-form" }, { kind: "directive", type: DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: DbxActionEnforceModifiedDirective, selector: "[dbxActionEnforceModified]", inputs: ["dbxActionEnforceModified"] }, { kind: "directive", type: DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "directive", type: DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] });
1930
2271
  }
1931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
2272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
1932
2273
  type: Component,
1933
2274
  args: [{ selector: 'dbx-firebase-development-popup-content', imports: [DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, DbxWidgetViewComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxActionDirective, DbxActionEnforceModifiedDirective, DbxActionHandlerDirective, DbxActionFormDirective, DbxFormSourceDirective, DbxActionAutoTriggerDirective, MatButtonModule], providers: [TwoColumnsContextStore], standalone: true, 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): {{ schedulerRunningSignal() }} : {{ schedulerIntervalSignal() }}s : {{ schedulerErrorSignal() }}</p>\n <div>\n @if (showEmulatorButton) {\n <dbx-anchor [anchor]=\"emulatorUIAnchor\">\n <button mat-flat-button color=\"accent\">Emulator Enabled</button>\n </dbx-anchor>\n }\n </div>\n </div>\n <div>\n <h4>Tools</h4>\n <div dbxAction dbxActionEnforceModified dbxActionAutoTrigger useInstantTriggerPreset [dbxActionHandler]=\"handleFormUpdate\">\n <dbx-firebase-development-popup-content-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-form>\n </div>\n </div>\n </dbx-two-block>\n <dbx-two-column-right right [header]=\"rightTitleSignal()\">\n <dbx-widget-view [config]=\"widgetConfigSignal()\"></dbx-widget-view>\n </dbx-two-column-right>\n</dbx-two-column>\n", styles: [".dbx-firebase-development-popup-content{height:400px;overflow:hidden}\n"] }]
1934
2275
  }], ctorParameters: () => [] });
@@ -1950,15 +2291,15 @@ class DbxFirebaseDevelopmentPopupComponent extends AbstractPopupDirective {
1950
2291
  reopen = () => {
1951
2292
  DbxFirebaseDevelopmentPopupComponent.openPopup(this.popupService, this.popup.key);
1952
2293
  };
1953
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1954
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxFirebaseDevelopmentPopupComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "content", first: true, predicate: DbxFirebaseDevelopmentPopupContentComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
2294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2295
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxFirebaseDevelopmentPopupComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "content", first: true, predicate: DbxFirebaseDevelopmentPopupContentComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
1955
2296
  <dbx-popup-content>
1956
2297
  <dbx-popup-controls [header]="header" controls></dbx-popup-controls>
1957
2298
  <dbx-firebase-development-popup-content (shouldClose)="closePopup()"></dbx-firebase-development-popup-content>
1958
2299
  </dbx-popup-content>
1959
2300
  `, isInline: true, dependencies: [{ kind: "component", type: DbxPopupContentComponent, selector: "dbx-popup-content" }, { kind: "component", type: DbxPopupControlsComponent, selector: "dbx-popup-controls", inputs: ["header"] }, { kind: "component", type: DbxFirebaseDevelopmentPopupContentComponent, selector: "dbx-firebase-development-popup-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1960
2301
  }
1961
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
2302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentPopupComponent, decorators: [{
1962
2303
  type: Component,
1963
2304
  args: [{
1964
2305
  template: `
@@ -1984,10 +2325,10 @@ const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN = new InjectionToken('DefaultDb
1984
2325
  */
1985
2326
  class DbxFirebaseDevelopmentService {
1986
2327
  enabled = inject(DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, { optional: true }) ?? false;
1987
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1988
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentService });
2328
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2329
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentService });
1989
2330
  }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
2331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
1991
2332
  type: Injectable
1992
2333
  }] });
1993
2334
 
@@ -2049,10 +2390,10 @@ class DbxFirebaseDevelopmentDirective {
2049
2390
  });
2050
2391
  }
2051
2392
  }
2052
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2053
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDevelopmentDirective, isStandalone: true, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
2393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2394
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDevelopmentDirective, isStandalone: true, selector: "[dbxFirebaseDevelopment]", host: { listeners: { "window:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0 });
2054
2395
  }
2055
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
2396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentDirective, decorators: [{
2056
2397
  type: Directive,
2057
2398
  args: [{
2058
2399
  selector: '[dbxFirebaseDevelopment]',
@@ -2078,8 +2419,8 @@ const importsAndExports$1 = [
2078
2419
  * Contains components related to logging in.
2079
2420
  */
2080
2421
  class DbxFirebaseDevelopmentModule {
2081
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2082
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
2422
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2423
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
2083
2424
  //
2084
2425
  DbxFirebaseDevelopmentPopupContentFormComponent,
2085
2426
  DbxFirebaseDevelopmentDirective,
@@ -2098,7 +2439,7 @@ class DbxFirebaseDevelopmentModule {
2098
2439
  DbxFirebaseDevelopmentSchedulerListComponent,
2099
2440
  DbxFirebaseDevelopmentSchedulerListViewComponent,
2100
2441
  DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
2101
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
2442
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentModule, imports: [
2102
2443
  //
2103
2444
  DbxFirebaseDevelopmentPopupContentFormComponent,
2104
2445
  DbxFirebaseDevelopmentPopupComponent,
@@ -2108,7 +2449,7 @@ class DbxFirebaseDevelopmentModule {
2108
2449
  DbxFirebaseDevelopmentSchedulerListViewComponent,
2109
2450
  DbxFirebaseDevelopmentSchedulerListViewItemComponent] });
2110
2451
  }
2111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
2452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDevelopmentModule, decorators: [{
2112
2453
  type: NgModule,
2113
2454
  args: [{
2114
2455
  imports: importsAndExports$1,
@@ -2408,10 +2749,10 @@ function provideDbxFirestoreCollection(config) {
2408
2749
  */
2409
2750
  class DbxFirestoreContextService {
2410
2751
  firestoreContext = inject(DBX_FIRESTORE_CONTEXT_TOKEN);
2411
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirestoreContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2412
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirestoreContextService, providedIn: 'root' });
2752
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirestoreContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2753
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirestoreContextService, providedIn: 'root' });
2413
2754
  }
2414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirestoreContextService, decorators: [{
2755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirestoreContextService, decorators: [{
2415
2756
  type: Injectable,
2416
2757
  args: [{
2417
2758
  providedIn: 'root'
@@ -3133,10 +3474,10 @@ class DbxFirebaseModelTypesService {
3133
3474
  instancePairsForKeys(keys) {
3134
3475
  return dbxFirebaseModelTypesServiceInstancePairForKeysFactory(this)(keys);
3135
3476
  }
3136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3137
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypesService });
3477
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3478
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypesService });
3138
3479
  }
3139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypesService, decorators: [{
3480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypesService, decorators: [{
3140
3481
  type: Injectable
3141
3482
  }], ctorParameters: () => [] });
3142
3483
  /**
@@ -3239,10 +3580,10 @@ class DbxFirebaseModelTrackerService {
3239
3580
  const historyKeys$ = this.loadHistoryKeys();
3240
3581
  return historyKeys$.pipe(switchMap((x) => this.dbxFirebaseModelTypesService.instancePairsForKeys(x)));
3241
3582
  }
3242
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3243
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTrackerService, providedIn: 'root' });
3583
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3584
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTrackerService, providedIn: 'root' });
3244
3585
  }
3245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTrackerService, decorators: [{
3586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTrackerService, decorators: [{
3246
3587
  type: Injectable,
3247
3588
  args: [{
3248
3589
  providedIn: 'root'
@@ -3259,10 +3600,10 @@ class DbxFirebaseModelTypeInstanceListComponent extends AbstractDbxSelectionList
3259
3600
  defaultSelectionMode: 'view'
3260
3601
  });
3261
3602
  }
3262
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3263
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseModelTypeInstanceListComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list", providers: provideDbxListViewWrapper(DbxFirebaseModelTypeInstanceListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3603
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3604
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseModelTypeInstanceListComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list", providers: provideDbxListViewWrapper(DbxFirebaseModelTypeInstanceListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3264
3605
  }
3265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListComponent, decorators: [{
3606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListComponent, decorators: [{
3266
3607
  type: Component,
3267
3608
  args: [{
3268
3609
  selector: 'dbx-firebase-model-type-instance-list',
@@ -3278,10 +3619,10 @@ class DbxFirebaseModelTypeInstanceListViewComponent extends AbstractDbxSelection
3278
3619
  componentClass: DbxFirebaseModelTypeInstanceListViewItemComponent,
3279
3620
  mapValuesToItemValues: (x) => of(x.map((y) => ({ itemValue: y, icon: y.displayInfo.icon ?? y.icon, anchor: y.segueRef })))
3280
3621
  };
3281
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3282
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseModelTypeInstanceListViewComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list-view", providers: provideDbxListView(DbxFirebaseModelTypeInstanceListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3622
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3623
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseModelTypeInstanceListViewComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list-view", providers: provideDbxListView(DbxFirebaseModelTypeInstanceListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3283
3624
  }
3284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewComponent, decorators: [{
3625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewComponent, decorators: [{
3285
3626
  type: Component,
3286
3627
  args: [{
3287
3628
  selector: 'dbx-firebase-model-type-instance-list-view',
@@ -3294,12 +3635,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
3294
3635
  }] });
3295
3636
  class DbxFirebaseModelTypeInstanceListViewItemComponent extends AbstractDbxValueListViewItemComponent {
3296
3637
  title = this.itemValue.displayInfo.title;
3297
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3298
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseModelTypeInstanceListViewItemComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list-view-item", usesInheritance: true, ngImport: i0, template: `
3638
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3639
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseModelTypeInstanceListViewItemComponent, isStandalone: true, selector: "dbx-firebase-model-type-instance-list-view-item", usesInheritance: true, ngImport: i0, template: `
3299
3640
  <span>{{ title }}</span>
3300
3641
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
3301
3642
  }
3302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewItemComponent, decorators: [{
3643
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelTypeInstanceListViewItemComponent, decorators: [{
3303
3644
  type: Component,
3304
3645
  args: [{
3305
3646
  selector: 'dbx-firebase-model-type-instance-list-view-item',
@@ -3313,18 +3654,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
3313
3654
 
3314
3655
  class DbxFirebaseModelHistoryComponent {
3315
3656
  dbxFirebaseModelTrackerService = inject(DbxFirebaseModelTrackerService);
3316
- anchorForItem = input(...(ngDevMode ? [undefined, { debugName: "anchorForItem" }] : []));
3317
- historyFilter = input(...(ngDevMode ? [undefined, { debugName: "historyFilter" }] : []));
3657
+ anchorForItem = input(...(ngDevMode ? [undefined, { debugName: "anchorForItem" }] : /* istanbul ignore next */ []));
3658
+ historyFilter = input(...(ngDevMode ? [undefined, { debugName: "historyFilter" }] : /* istanbul ignore next */ []));
3318
3659
  historyPairs$ = toObservable(this.historyFilter).pipe(switchMap((x) => this.dbxFirebaseModelTrackerService.filterHistoryPairs(x)), shareReplay(1));
3319
3660
  state = loadingStateFromObs(this.historyPairs$);
3320
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3321
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseModelHistoryComponent, isStandalone: true, selector: "dbx-firebase-model-history", inputs: { anchorForItem: { classPropertyName: "anchorForItem", publicName: "anchorForItem", isSignal: true, isRequired: false, transformFunction: null }, historyFilter: { classPropertyName: "historyFilter", publicName: "historyFilter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3661
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3662
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseModelHistoryComponent, isStandalone: true, selector: "dbx-firebase-model-history", inputs: { anchorForItem: { classPropertyName: "anchorForItem", publicName: "anchorForItem", isSignal: true, isRequired: false, transformFunction: null }, historyFilter: { classPropertyName: "historyFilter", publicName: "historyFilter", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3322
3663
  <dbx-firebase-model-type-instance-list [state]="state" dbxListItemModifier [dbxListItemAnchorModifier]="anchorForItem()">
3323
3664
  <ng-content empty select="[empty]"></ng-content>
3324
3665
  </dbx-firebase-model-type-instance-list>
3325
3666
  `, isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseModelTypeInstanceListComponent, selector: "dbx-firebase-model-type-instance-list" }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "directive", type: DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3326
3667
  }
3327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryComponent, decorators: [{
3668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryComponent, decorators: [{
3328
3669
  type: Component,
3329
3670
  args: [{
3330
3671
  selector: 'dbx-firebase-model-history',
@@ -3363,10 +3704,10 @@ class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective {
3363
3704
  emptyText = this.config.emptyText ?? 'History is empty.';
3364
3705
  historyFilter = this.config.historyFilter;
3365
3706
  anchorForItem = this.config.anchorForItem;
3366
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3367
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseModelHistoryPopoverComponent, 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-history [historyFilter]=\"historyFilter\" [anchorForItem]=\"anchorForItem\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-model-history>\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: DbxFirebaseModelHistoryComponent, selector: "dbx-firebase-model-history", inputs: ["anchorForItem", "historyFilter"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3707
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3708
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseModelHistoryPopoverComponent, 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-history [historyFilter]=\"historyFilter\" [anchorForItem]=\"anchorForItem\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-model-history>\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: DbxFirebaseModelHistoryComponent, selector: "dbx-firebase-model-history", inputs: ["anchorForItem", "historyFilter"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3368
3709
  }
3369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, decorators: [{
3710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryPopoverComponent, decorators: [{
3370
3711
  type: Component,
3371
3712
  args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelHistoryComponent, 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-history [historyFilter]=\"historyFilter\" [anchorForItem]=\"anchorForItem\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-model-history>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
3372
3713
  }] });
@@ -3374,7 +3715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
3374
3715
  class DbxFirebaseModelHistoryPopoverButtonComponent extends AbstractPopoverRefDirective {
3375
3716
  _dbxPopoverService = inject(DbxPopoverService);
3376
3717
  buttonElement = viewChild.required('button', { read: ElementRef });
3377
- config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
3718
+ config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
3378
3719
  _makePopoverRef(origin) {
3379
3720
  const config = this.config();
3380
3721
  if (!origin) {
@@ -3389,12 +3730,12 @@ class DbxFirebaseModelHistoryPopoverButtonComponent extends AbstractPopoverRefDi
3389
3730
  const origin = this.buttonElement();
3390
3731
  this.showPopover(origin);
3391
3732
  }
3392
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3393
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxFirebaseModelHistoryPopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-model-history-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: `
3733
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3734
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxFirebaseModelHistoryPopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-model-history-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: `
3394
3735
  <dbx-icon-button #button (buttonClick)="showHistoryPopover()" icon="history"></dbx-icon-button>
3395
3736
  `, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3396
3737
  }
3397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelHistoryPopoverButtonComponent, decorators: [{
3738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelHistoryPopoverButtonComponent, decorators: [{
3398
3739
  type: Component,
3399
3740
  args: [{
3400
3741
  selector: 'dbx-firebase-model-history-popover-button',
@@ -3515,10 +3856,10 @@ class DbxFirebaseModelEntitiesWidgetService {
3515
3856
  getSortPriorityMap() {
3516
3857
  return this._sortPriorityMap();
3517
3858
  }
3518
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3519
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService });
3859
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3860
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService });
3520
3861
  }
3521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, decorators: [{
3862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, decorators: [{
3522
3863
  type: Injectable
3523
3864
  }], ctorParameters: () => [] });
3524
3865
 
@@ -3580,7 +3921,7 @@ class DbxFirebaseModelEntitiesEntityComponent {
3580
3921
  widgetInjectionConfigFactory = dbxFirebaseModelEntityWidgetInjectionConfigFactory();
3581
3922
  entitiesWidgetService = inject(DbxFirebaseModelEntitiesWidgetService);
3582
3923
  dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
3583
- entity = input.required(...(ngDevMode ? [{ debugName: "entity" }] : []));
3924
+ entity = input.required(...(ngDevMode ? [{ debugName: "entity" }] : /* istanbul ignore next */ []));
3584
3925
  entity$ = toObservable(this.entity);
3585
3926
  currentEntityWithStore$ = this.entity$.pipe(map((x) => {
3586
3927
  let result;
@@ -3624,16 +3965,16 @@ class DbxFirebaseModelEntitiesEntityComponent {
3624
3965
  displayNameSignal = toSignal(this.displayName$);
3625
3966
  displayInfoSignal = toSignal(this.displayInfo$);
3626
3967
  modelIdentitySignal = toSignal(this.modelIdentity$);
3627
- modelTypeSignal = computed(() => this.modelIdentitySignal()?.modelType, ...(ngDevMode ? [{ debugName: "modelTypeSignal" }] : []));
3968
+ modelTypeSignal = computed(() => this.modelIdentitySignal()?.modelType, ...(ngDevMode ? [{ debugName: "modelTypeSignal" }] : /* istanbul ignore next */ []));
3628
3969
  widgetInjectionConfigSignal = toSignal(this.widgetInjectionConfig$);
3629
- entityWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.entityComponentConfig, ...(ngDevMode ? [{ debugName: "entityWidgetConfigSignal" }] : []));
3630
- commonWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.commonComponentConfig, ...(ngDevMode ? [{ debugName: "commonWidgetConfigSignal" }] : []));
3631
- debugWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.debugComponentConfig, ...(ngDevMode ? [{ debugName: "debugWidgetConfigSignal" }] : []));
3970
+ entityWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.entityComponentConfig, ...(ngDevMode ? [{ debugName: "entityWidgetConfigSignal" }] : /* istanbul ignore next */ []));
3971
+ commonWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.commonComponentConfig, ...(ngDevMode ? [{ debugName: "commonWidgetConfigSignal" }] : /* istanbul ignore next */ []));
3972
+ debugWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.debugComponentConfig, ...(ngDevMode ? [{ debugName: "debugWidgetConfigSignal" }] : /* istanbul ignore next */ []));
3632
3973
  loadingContext = cleanLoadingContext({ obs: this.loadingState$ });
3633
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3634
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", 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 @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n @if (displayNameSignal(); as displayName) {\n <span class=\"dbx-small dbx-u dbx-pl2\">{{ displayName }}</span>\n }\n </span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { 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: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3974
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3975
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", 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 @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n @if (displayNameSignal(); as displayName) {\n <span class=\"dbx-small dbx-u dbx-pl2\">{{ displayName }}</span>\n }\n </span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { 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: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3635
3976
  }
3636
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
3977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
3637
3978
  type: Component,
3638
3979
  args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, DbxLoadingComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelContent, MatIcon], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n <div class=\"dbx-list-two-line-item\">\n <div class=\"item-left\">\n <span class=\"dbx-pb2 dbx-flex-bar\">\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n </span>\n <span>\n <span class=\"dbx-hint dbx-small\">{{ modelTypeSignal() }}</span>\n @if (displayNameSignal(); as displayName) {\n <span class=\"dbx-small dbx-u dbx-pl2\">{{ displayName }}</span>\n }\n </span>\n </div>\n </div>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
3639
3980
  }], propDecorators: { entity: [{ type: i0.Input, args: [{ isSignal: true, alias: "entity", required: true }] }] } });
@@ -3649,24 +3990,24 @@ class DbxFirebaseModelEntitiesComponent {
3649
3990
  /**
3650
3991
  * Whether the accordion should allow multiple expanded panels.
3651
3992
  */
3652
- multi = input(true, ...(ngDevMode ? [{ debugName: "multi" }] : []));
3993
+ multi = input(true, ...(ngDevMode ? [{ debugName: "multi" }] : /* istanbul ignore next */ []));
3653
3994
  /**
3654
3995
  * If true, will only show entities that have a registered widget entry.
3655
3996
  *
3656
3997
  * Defaults to true.
3657
3998
  */
3658
- onlyShowRegisteredTypes = input(true, ...(ngDevMode ? [{ debugName: "onlyShowRegisteredTypes" }] : []));
3999
+ onlyShowRegisteredTypes = input(true, ...(ngDevMode ? [{ debugName: "onlyShowRegisteredTypes" }] : /* istanbul ignore next */ []));
3659
4000
  /**
3660
4001
  * If true, will show unregistered entities, even if onlyShowRegisteredTypes is true.
3661
4002
  */
3662
- showUnregisteredTypesSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "showUnregisteredTypesSignal" }] : []));
4003
+ showUnregisteredTypesSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "showUnregisteredTypesSignal" }] : /* istanbul ignore next */ []));
3663
4004
  onlyShowRegisteredTypesSignal = computed(() => {
3664
4005
  const onlyShowRegisteredTypes = this.onlyShowRegisteredTypes();
3665
4006
  const showUnregisteredTypes = this.showUnregisteredTypesSignal();
3666
4007
  return !showUnregisteredTypes && onlyShowRegisteredTypes;
3667
- }, ...(ngDevMode ? [{ debugName: "onlyShowRegisteredTypesSignal" }] : []));
4008
+ }, ...(ngDevMode ? [{ debugName: "onlyShowRegisteredTypesSignal" }] : /* istanbul ignore next */ []));
3668
4009
  onlyShowRegisteredTypes$ = toObservable(this.onlyShowRegisteredTypesSignal).pipe(distinctUntilChanged(), shareReplay(1));
3669
- entities = input(...(ngDevMode ? [undefined, { debugName: "entities" }] : []));
4010
+ entities = input(...(ngDevMode ? [undefined, { debugName: "entities" }] : /* istanbul ignore next */ []));
3670
4011
  entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
3671
4012
  allEntitiesState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
3672
4013
  const sortPriorityMap = this.entitiesWidgetService.getSortPriorityMap();
@@ -3692,19 +4033,19 @@ class DbxFirebaseModelEntitiesComponent {
3692
4033
  })), shareReplay(1));
3693
4034
  allEntities$ = this.allEntitiesState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
3694
4035
  allEntitiesSignal = toSignal(this.allEntities$, { initialValue: { entities: [], registeredEntities: [], unregisteredEntities: [], onlyShowRegisteredTypes: false } });
3695
- entitiesWithKeysSignal = computed(() => this.allEntitiesSignal()?.entities, ...(ngDevMode ? [{ debugName: "entitiesWithKeysSignal" }] : []));
3696
- unregisteredEntitiesCountSignal = computed(() => this.allEntitiesSignal()?.unregisteredEntities?.length ?? 0, ...(ngDevMode ? [{ debugName: "unregisteredEntitiesCountSignal" }] : []));
4036
+ entitiesWithKeysSignal = computed(() => this.allEntitiesSignal()?.entities, ...(ngDevMode ? [{ debugName: "entitiesWithKeysSignal" }] : /* istanbul ignore next */ []));
4037
+ unregisteredEntitiesCountSignal = computed(() => this.allEntitiesSignal()?.unregisteredEntities?.length ?? 0, ...(ngDevMode ? [{ debugName: "unregisteredEntitiesCountSignal" }] : /* istanbul ignore next */ []));
3697
4038
  showViewUnregisteredEntitiesButtonSignal = computed(() => {
3698
4039
  const { onlyShowRegisteredTypes, unregisteredEntities } = this.allEntitiesSignal() ?? {};
3699
4040
  return onlyShowRegisteredTypes && Boolean(unregisteredEntities?.length);
3700
- }, ...(ngDevMode ? [{ debugName: "showViewUnregisteredEntitiesButtonSignal" }] : []));
3701
- hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length, ...(ngDevMode ? [{ debugName: "hasNoEntitiesSignal" }] : []));
4041
+ }, ...(ngDevMode ? [{ debugName: "showViewUnregisteredEntitiesButtonSignal" }] : /* istanbul ignore next */ []));
4042
+ hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length, ...(ngDevMode ? [{ debugName: "hasNoEntitiesSignal" }] : /* istanbul ignore next */ []));
3702
4043
  context = cleanLoadingContext({ obs: this.allEntitiesState$ });
3703
4044
  clickShowUnregisteredEntities() {
3704
4045
  this.showUnregisteredTypesSignal.set(true);
3705
4046
  }
3706
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3707
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, onlyShowRegisteredTypes: { classPropertyName: "onlyShowRegisteredTypes", publicName: "onlyShowRegisteredTypes", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
4047
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4048
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, onlyShowRegisteredTypes: { classPropertyName: "onlyShowRegisteredTypes", publicName: "onlyShowRegisteredTypes", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
3708
4049
  <dbx-loading [linear]="true" [context]="context">
3709
4050
  <mat-accordion class="dbx-firebase-model-entities-accordion" [multi]="multi()">
3710
4051
  @for (entity of entitiesWithKeysSignal(); track entity.key) {
@@ -3724,7 +4065,7 @@ class DbxFirebaseModelEntitiesComponent {
3724
4065
  </dbx-loading>
3725
4066
  `, 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" }, { kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3726
4067
  }
3727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
4068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
3728
4069
  type: Component,
3729
4070
  args: [{
3730
4071
  selector: 'dbx-firebase-model-entities',
@@ -3786,10 +4127,10 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
3786
4127
  header = this.config.header ?? 'Entities';
3787
4128
  emptyText = this.config.emptyText ?? 'No entities found in current context.';
3788
4129
  onlyShowRegisteredTypes = this.config.onlyShowRegisteredTypes;
3789
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3790
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", 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$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\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: ["multi", "onlyShowRegisteredTypes", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", 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$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\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: ["multi", "onlyShowRegisteredTypes", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3791
4132
  }
3792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
4133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
3793
4134
  type: Component,
3794
4135
  args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent], 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$\" [onlyShowRegisteredTypes]=\"onlyShowRegisteredTypes\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
3795
4136
  }] });
@@ -3801,12 +4142,12 @@ class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefD
3801
4142
  _dbxPopoverService = inject(DbxPopoverService);
3802
4143
  entitiesSource = inject(DbxFirebaseModelEntitiesSource);
3803
4144
  buttonElement = viewChild.required('button', { read: ElementRef });
3804
- config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
4145
+ config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
3805
4146
  buttonDisplaySignal = computed(() => {
3806
4147
  const config = this.config();
3807
4148
  return config?.buttonDisplay ?? { icon: config?.icon ?? 'data_object' };
3808
- }, ...(ngDevMode ? [{ debugName: "buttonDisplaySignal" }] : []));
3809
- buttonStyleSignal = computed(() => this.config()?.buttonStyle, ...(ngDevMode ? [{ debugName: "buttonStyleSignal" }] : []));
4149
+ }, ...(ngDevMode ? [{ debugName: "buttonDisplaySignal" }] : /* istanbul ignore next */ []));
4150
+ buttonStyleSignal = computed(() => this.config()?.buttonStyle, ...(ngDevMode ? [{ debugName: "buttonStyleSignal" }] : /* istanbul ignore next */ []));
3810
4151
  _makePopoverRef(origin) {
3811
4152
  if (!origin) {
3812
4153
  throw new Error('Missing origin.');
@@ -3823,12 +4164,12 @@ class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefD
3823
4164
  const origin = this.buttonElement();
3824
4165
  this.showPopover(origin);
3825
4166
  }
3826
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3827
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", 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: `
4167
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4168
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", 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: `
3828
4169
  <dbx-button #button (buttonClick)="showEntitiesPopover()" [buttonStyle]="buttonStyleSignal()" [buttonDisplay]="buttonDisplaySignal()"></dbx-button>
3829
- `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4170
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3830
4171
  }
3831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, decorators: [{
4172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, decorators: [{
3832
4173
  type: Component,
3833
4174
  args: [{
3834
4175
  selector: 'dbx-firebase-model-entities-popover-button',
@@ -3876,7 +4217,7 @@ class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
3876
4217
  lastStoresChangeAt$ = this.select((state) => state.lastStoresChangeAt).pipe(distinctUntilChanged(isSameDate), shareReplay(1));
3877
4218
  entriesGroupedByIdentity$ = this.stores$.pipe(switchMap((stores) => {
3878
4219
  let entriesObs;
3879
- const allEntries = [...stores.values()];
4220
+ const allEntries = Array.from(stores.values());
3880
4221
  const { included: hasIdentity, excluded: noIdentity } = separateValues(allEntries, (x) => x.modelIdentity != null);
3881
4222
  if (noIdentity.length > 0) {
3882
4223
  entriesObs = combineLatest(noIdentity.map((entryWithoutCachedIdentity) => entryWithoutCachedIdentity.store.modelIdentity$.pipe(first(), map((z) => {
@@ -3900,10 +4241,10 @@ class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
3900
4241
  // MARK: State Changes
3901
4242
  addStore = this.updater(addStore);
3902
4243
  removeStore = this.updater(removeStore);
3903
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3904
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore });
4244
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4245
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore });
3905
4246
  }
3906
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, decorators: [{
4247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, decorators: [{
3907
4248
  type: Injectable
3908
4249
  }], ctorParameters: () => [] });
3909
4250
  function addStore(state, store) {
@@ -3957,8 +4298,8 @@ const dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory = (storeContextS
3957
4298
  * Directive that provides a {@link DbxFirebaseModelEntitiesSource} from the current document store context.
3958
4299
  */
3959
4300
  class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
3960
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3961
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", providers: [
4301
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4302
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", providers: [
3962
4303
  {
3963
4304
  provide: DbxFirebaseModelEntitiesSource,
3964
4305
  useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
@@ -3966,7 +4307,7 @@ class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
3966
4307
  }
3967
4308
  ], ngImport: i0 });
3968
4309
  }
3969
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, decorators: [{
4310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, decorators: [{
3970
4311
  type: Directive,
3971
4312
  args: [{
3972
4313
  selector: '[dbxFirebaseDocumentStoreContextModelEntitiesSource]',
@@ -3988,10 +4329,10 @@ class AbstractDbxFirebaseModelEntityWidgetDirective {
3988
4329
  entityData = inject(DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN);
3989
4330
  store = this.entityData.store;
3990
4331
  data$ = this.store.data$;
3991
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3992
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: AbstractDbxFirebaseModelEntityWidgetDirective, isStandalone: true, ngImport: i0 });
4332
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4333
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: AbstractDbxFirebaseModelEntityWidgetDirective, isStandalone: true, ngImport: i0 });
3993
4334
  }
3994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, decorators: [{
4335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseModelEntityWidgetDirective, decorators: [{
3995
4336
  type: Directive,
3996
4337
  args: [{}]
3997
4338
  }] });
@@ -4001,19 +4342,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4001
4342
  */
4002
4343
  class DbxFirebaseModelKeyComponent {
4003
4344
  dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
4004
- modelKey = input(...(ngDevMode ? [undefined, { debugName: "modelKey" }] : []));
4345
+ modelKey = input(...(ngDevMode ? [undefined, { debugName: "modelKey" }] : /* istanbul ignore next */ []));
4005
4346
  modelKeyIdSignal = computed(() => {
4006
4347
  const modelKey = this.modelKey();
4007
4348
  return modelKey ? firestoreModelId(modelKey) : undefined;
4008
- }, ...(ngDevMode ? [{ debugName: "modelKeyIdSignal" }] : []));
4349
+ }, ...(ngDevMode ? [{ debugName: "modelKeyIdSignal" }] : /* istanbul ignore next */ []));
4009
4350
  oneWayFlatModelKeySignal = computed(() => {
4010
4351
  const modelKey = this.modelKey();
4011
4352
  return modelKey ? flatFirestoreModelKey(modelKey) : undefined;
4012
- }, ...(ngDevMode ? [{ debugName: "oneWayFlatModelKeySignal" }] : []));
4353
+ }, ...(ngDevMode ? [{ debugName: "oneWayFlatModelKeySignal" }] : /* istanbul ignore next */ []));
4013
4354
  twoWayFlatModelKeySignal = computed(() => {
4014
4355
  const modelKey = this.modelKey();
4015
4356
  return modelKey ? twoWayFlatFirestoreModelKey(modelKey) : undefined;
4016
- }, ...(ngDevMode ? [{ debugName: "twoWayFlatModelKeySignal" }] : []));
4357
+ }, ...(ngDevMode ? [{ debugName: "twoWayFlatModelKeySignal" }] : /* istanbul ignore next */ []));
4017
4358
  // Convert signal to observable for types service
4018
4359
  modelKey$ = toObservable(this.modelKey);
4019
4360
  modelTypeInstance$ = this.modelKey$.pipe(switchMap((key) => {
@@ -4028,13 +4369,13 @@ class DbxFirebaseModelKeyComponent {
4028
4369
  modelTypeInstanceSignal = toSignal(this.modelTypeInstance$);
4029
4370
  modelIdentitySignal = toSignal(this.modelIdentity$);
4030
4371
  typeInfoSignal = toSignal(this.typeInfo$);
4031
- typeCanSegueToView = computed(() => this.typeInfoSignal()?.canSegueToView ?? false, ...(ngDevMode ? [{ debugName: "typeCanSegueToView" }] : []));
4372
+ typeCanSegueToView = computed(() => this.typeInfoSignal()?.canSegueToView ?? false, ...(ngDevMode ? [{ debugName: "typeCanSegueToView" }] : /* istanbul ignore next */ []));
4032
4373
  sref$ = this.modelTypeInstance$.pipe(switchMap((x) => x?.segueRef$ ?? of(undefined)));
4033
4374
  srefSignal = toSignal(this.sref$);
4034
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelKeyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4035
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseModelKeyComponent, isStandalone: true, selector: "dbx-firebase-model-key", inputs: { modelKey: { classPropertyName: "modelKey", publicName: "modelKey", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"dbx-firebase-model-key\">\n @if (modelKey(); as key) {\n <!-- Key Data -->\n <dbx-detail-block icon=\"key\" header=\"Model Key\">\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ key }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ modelKeyIdSignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"oneWayFlatModelKeySignal()\">(Flat) {{ oneWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"twoWayFlatModelKeySignal()\">(Encoded Flat) {{ twoWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n\n <!-- Type Info -->\n @if (typeInfoSignal(); as typeInfo) {\n <!-- Model Meta Data -->\n <div>\n <dbx-detail-block [icon]=\"typeInfo.icon\" header=\"Model Type\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.modelType }}</dbx-click-to-copy-text>\n @if (typeInfo.icon) {\n <dbx-click-to-copy-text [copyText]=\"typeInfo.icon\" class=\"dbx-block\">\n Icon:\n <span class=\"dbx-u\">{{ typeInfo.icon }}</span>\n </dbx-click-to-copy-text>\n } @else {\n <span class=\"dbx-notice\">No Icon For Type</span>\n }\n </dbx-detail-block>\n <dbx-detail-block icon=\"dataset\" header=\"Collection Name\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.identity.collectionName }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n </div>\n\n <!-- Segue Info -->\n @if (typeCanSegueToView()) {\n <dbx-detail-block icon=\"arrow_forward\" header=\"Segue To View\">\n <div class=\"dbx-hint dbx-small\">This model has a unique view within the app.</div>\n <dbx-anchor [anchor]=\"srefSignal()\"><dbx-button text=\"Go To View\"></dbx-button></dbx-anchor>\n </dbx-detail-block>\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Segue View\">\n <span>This type provides no information for segue directly.</span>\n </dbx-detail-block>\n }\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Type Info\">\n <span>There is no type info registered for this model type.</span>\n </dbx-detail-block>\n }\n } @else {\n <div class=\"dbx-firebase-model-key-empty\">No model key provided</div>\n }\n</div>\n", dependencies: [{ kind: "component", type: DbxDetailBlockComponent, selector: "dbx-detail-block", inputs: ["icon", "header", "alignHeader", "bigHeader"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "component", type: DbxClickToCopyTextComponent, selector: "dbx-click-to-copy-text", inputs: ["copyText", "showIcon", "highlighted", "clipboardSnackbarMessagesConfig", "clipboardSnackbarMessagesEnabled", "clickToCopyIcon", "clickIconToCopyOnly"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }] });
4375
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelKeyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4376
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseModelKeyComponent, isStandalone: true, selector: "dbx-firebase-model-key", inputs: { modelKey: { classPropertyName: "modelKey", publicName: "modelKey", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"dbx-firebase-model-key\">\n @if (modelKey(); as key) {\n <!-- Key Data -->\n <dbx-detail-block icon=\"key\" header=\"Model Key\">\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ key }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ modelKeyIdSignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"oneWayFlatModelKeySignal()\">(Flat) {{ oneWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"twoWayFlatModelKeySignal()\">(Encoded Flat) {{ twoWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n\n <!-- Type Info -->\n @if (typeInfoSignal(); as typeInfo) {\n <!-- Model Meta Data -->\n <div>\n <dbx-detail-block [icon]=\"typeInfo.icon\" header=\"Model Type\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.modelType }}</dbx-click-to-copy-text>\n @if (typeInfo.icon) {\n <dbx-click-to-copy-text [copyText]=\"typeInfo.icon\" class=\"dbx-block\">\n Icon:\n <span class=\"dbx-u\">{{ typeInfo.icon }}</span>\n </dbx-click-to-copy-text>\n } @else {\n <span class=\"dbx-notice\">No Icon For Type</span>\n }\n </dbx-detail-block>\n <dbx-detail-block icon=\"dataset\" header=\"Collection Name\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.identity.collectionName }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n </div>\n\n <!-- Segue Info -->\n @if (typeCanSegueToView()) {\n <dbx-detail-block icon=\"arrow_forward\" header=\"Segue To View\">\n <div class=\"dbx-hint dbx-small\">This model has a unique view within the app.</div>\n <dbx-anchor [anchor]=\"srefSignal()\"><dbx-button text=\"Go To View\"></dbx-button></dbx-anchor>\n </dbx-detail-block>\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Segue View\">\n <span>This type provides no information for segue directly.</span>\n </dbx-detail-block>\n }\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Type Info\">\n <span>There is no type info registered for this model type.</span>\n </dbx-detail-block>\n }\n } @else {\n <div class=\"dbx-firebase-model-key-empty\">No model key provided</div>\n }\n</div>\n", dependencies: [{ kind: "component", type: DbxDetailBlockComponent, selector: "dbx-detail-block", inputs: ["icon", "header", "alignHeader", "bigHeader"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxClickToCopyTextComponent, selector: "dbx-click-to-copy-text", inputs: ["copyText", "showIcon", "highlighted", "clipboardSnackbarMessagesConfig", "clipboardSnackbarMessagesEnabled", "clickToCopyIcon", "clickIconToCopyOnly"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }] });
4036
4377
  }
4037
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelKeyComponent, decorators: [{
4378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelKeyComponent, decorators: [{
4038
4379
  type: Component,
4039
4380
  args: [{ selector: 'dbx-firebase-model-key', standalone: true, imports: [DbxDetailBlockComponent, DbxButtonComponent, DbxClickToCopyTextComponent, DbxAnchorComponent], template: "<div class=\"dbx-firebase-model-key\">\n @if (modelKey(); as key) {\n <!-- Key Data -->\n <dbx-detail-block icon=\"key\" header=\"Model Key\">\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ key }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ modelKeyIdSignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"oneWayFlatModelKeySignal()\">(Flat) {{ oneWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"twoWayFlatModelKeySignal()\">(Encoded Flat) {{ twoWayFlatModelKeySignal() }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n\n <!-- Type Info -->\n @if (typeInfoSignal(); as typeInfo) {\n <!-- Model Meta Data -->\n <div>\n <dbx-detail-block [icon]=\"typeInfo.icon\" header=\"Model Type\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.modelType }}</dbx-click-to-copy-text>\n @if (typeInfo.icon) {\n <dbx-click-to-copy-text [copyText]=\"typeInfo.icon\" class=\"dbx-block\">\n Icon:\n <span class=\"dbx-u\">{{ typeInfo.icon }}</span>\n </dbx-click-to-copy-text>\n } @else {\n <span class=\"dbx-notice\">No Icon For Type</span>\n }\n </dbx-detail-block>\n <dbx-detail-block icon=\"dataset\" header=\"Collection Name\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.identity.collectionName }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n </div>\n\n <!-- Segue Info -->\n @if (typeCanSegueToView()) {\n <dbx-detail-block icon=\"arrow_forward\" header=\"Segue To View\">\n <div class=\"dbx-hint dbx-small\">This model has a unique view within the app.</div>\n <dbx-anchor [anchor]=\"srefSignal()\"><dbx-button text=\"Go To View\"></dbx-button></dbx-anchor>\n </dbx-detail-block>\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Segue View\">\n <span>This type provides no information for segue directly.</span>\n </dbx-detail-block>\n }\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Type Info\">\n <span>There is no type info registered for this model type.</span>\n </dbx-detail-block>\n }\n } @else {\n <div class=\"dbx-firebase-model-key-empty\">No model key provided</div>\n }\n</div>\n" }]
4040
4381
  }], propDecorators: { modelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "modelKey", required: false }] }] } });
@@ -4058,12 +4399,12 @@ class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseMo
4058
4399
  };
4059
4400
  }
4060
4401
  return content;
4061
- }, ...(ngDevMode ? [{ debugName: "contentSignal" }] : []));
4402
+ }, ...(ngDevMode ? [{ debugName: "contentSignal" }] : /* istanbul ignore next */ []));
4062
4403
  context = cleanLoadingContext(this.store.dataLoadingState$);
4063
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4064
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxDownloadTextViewComponent, selector: "dbx-download-text-view", inputs: ["showDownloadButton", "loadingText", "linear", "showTitle", "showPreview", "showExpandPreviewButton", "expandPreview", "content", "contentState"], outputs: ["expandPreviewChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }] });
4404
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4405
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxDownloadTextViewComponent, selector: "dbx-download-text-view", inputs: ["showDownloadButton", "loadingText", "linear", "showTitle", "showPreview", "showExpandPreviewButton", "expandPreview", "content", "contentState"], outputs: ["expandPreviewChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }] });
4065
4406
  }
4066
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
4407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
4067
4408
  type: Component,
4068
4409
  args: [{ selector: 'dbx-firebase-model-entities-debug-widget', standalone: true, imports: [DbxFirebaseModelKeyComponent, DbxDownloadTextViewComponent, DbxLoadingComponent], template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-download-text-view [showTitle]=\"false\" [content]=\"contentSignal()\"></dbx-download-text-view>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n" }]
4069
4410
  }] });
@@ -4072,12 +4413,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4072
4413
  * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
4073
4414
  */
4074
4415
  class DbxFirebaseDocumentStoreDirective {
4075
- storeName = model(undefined, ...(ngDevMode ? [{ debugName: "storeName" }] : []));
4076
- documentId = model(undefined, ...(ngDevMode ? [{ debugName: "documentId" }] : []));
4077
- key = model(undefined, ...(ngDevMode ? [{ debugName: "key" }] : []));
4078
- flatKey = model(undefined, ...(ngDevMode ? [{ debugName: "flatKey" }] : []));
4079
- ref = model(undefined, ...(ngDevMode ? [{ debugName: "ref" }] : []));
4080
- streamMode = model(FirestoreAccessorStreamMode.STREAM, ...(ngDevMode ? [{ debugName: "streamMode" }] : []));
4416
+ storeName = model(undefined, ...(ngDevMode ? [{ debugName: "storeName" }] : /* istanbul ignore next */ []));
4417
+ documentId = model(undefined, ...(ngDevMode ? [{ debugName: "documentId" }] : /* istanbul ignore next */ []));
4418
+ key = model(undefined, ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
4419
+ flatKey = model(undefined, ...(ngDevMode ? [{ debugName: "flatKey" }] : /* istanbul ignore next */ []));
4420
+ ref = model(undefined, ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
4421
+ streamMode = model(FirestoreAccessorStreamMode.STREAM, ...(ngDevMode ? [{ debugName: "streamMode" }] : /* istanbul ignore next */ []));
4081
4422
  _storeName$ = toObservable(this.storeName).pipe(skipInitialMaybe());
4082
4423
  _documentId$ = toObservable(this.documentId).pipe(skipInitialMaybe());
4083
4424
  _key$ = toObservable(this.key).pipe(skipInitialMaybe());
@@ -4152,10 +4493,10 @@ class DbxFirebaseDocumentStoreDirective {
4152
4493
  // we assume that the input model key is a TwoWayFlatFirestoreModelKey, since the TwoWayFlatFirestoreModelKey is safe to encode in the url
4153
4494
  return keyFromParams.subscribe((x) => this.setFlatKey(x));
4154
4495
  }
4155
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
4156
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseDocumentStoreDirective, isStandalone: true, inputs: { storeName: { classPropertyName: "storeName", publicName: "storeName", isSignal: true, isRequired: false, transformFunction: null }, documentId: { classPropertyName: "documentId", publicName: "documentId", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, flatKey: { classPropertyName: "flatKey", publicName: "flatKey", isSignal: true, isRequired: false, transformFunction: null }, ref: { classPropertyName: "ref", publicName: "ref", isSignal: true, isRequired: false, transformFunction: null }, streamMode: { classPropertyName: "streamMode", publicName: "streamMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { storeName: "storeNameChange", documentId: "documentIdChange", key: "keyChange", flatKey: "flatKeyChange", ref: "refChange", streamMode: "streamModeChange" }, ngImport: i0 });
4496
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
4497
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseDocumentStoreDirective, isStandalone: true, inputs: { storeName: { classPropertyName: "storeName", publicName: "storeName", isSignal: true, isRequired: false, transformFunction: null }, documentId: { classPropertyName: "documentId", publicName: "documentId", isSignal: true, isRequired: false, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, flatKey: { classPropertyName: "flatKey", publicName: "flatKey", isSignal: true, isRequired: false, transformFunction: null }, ref: { classPropertyName: "ref", publicName: "ref", isSignal: true, isRequired: false, transformFunction: null }, streamMode: { classPropertyName: "streamMode", publicName: "streamMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { storeName: "storeNameChange", documentId: "documentIdChange", key: "keyChange", flatKey: "flatKeyChange", ref: "refChange", streamMode: "streamModeChange" }, ngImport: i0 });
4157
4498
  }
4158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
4499
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
4159
4500
  type: Directive
4160
4501
  }], ctorParameters: () => [{ type: undefined }], propDecorators: { storeName: [{ type: i0.Input, args: [{ isSignal: true, alias: "storeName", required: false }] }, { type: i0.Output, args: ["storeNameChange"] }], documentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "documentId", required: false }] }, { type: i0.Output, args: ["documentIdChange"] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: false }] }, { type: i0.Output, args: ["keyChange"] }], flatKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "flatKey", required: false }] }, { type: i0.Output, args: ["flatKeyChange"] }], ref: [{ type: i0.Input, args: [{ isSignal: true, alias: "ref", required: false }] }, { type: i0.Output, args: ["refChange"] }], streamMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "streamMode", required: false }] }, { type: i0.Output, args: ["streamModeChange"] }] } });
4161
4502
  function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType) {
@@ -4180,7 +4521,7 @@ class DbxFirebaseModelViewedEventDirective {
4180
4521
  dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective);
4181
4522
  dbxModelObjectStateService = inject(DbxModelObjectStateService);
4182
4523
  dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
4183
- modelViewContext = input(undefined, { ...(ngDevMode ? { debugName: "modelViewContext" } : {}), alias: 'dbxFirebaseModelViewedEvent' });
4524
+ modelViewContext = input(undefined, { ...(ngDevMode ? { debugName: "modelViewContext" } : /* istanbul ignore next */ {}), alias: 'dbxFirebaseModelViewedEvent' });
4184
4525
  constructor() {
4185
4526
  cleanSubscription(this.dbxFirebaseDocumentStoreDirective.data$
4186
4527
  .pipe(
@@ -4199,10 +4540,10 @@ class DbxFirebaseModelViewedEventDirective {
4199
4540
  this.dbxModelObjectStateService.emitModelViewEvent({ modelKeyTypeNamePair, context });
4200
4541
  }));
4201
4542
  }
4202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelViewedEventDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4203
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseModelViewedEventDirective, isStandalone: true, selector: "[dbxFirebaseModelViewedEvent]", inputs: { modelViewContext: { classPropertyName: "modelViewContext", publicName: "dbxFirebaseModelViewedEvent", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
4543
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelViewedEventDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4544
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseModelViewedEventDirective, isStandalone: true, selector: "[dbxFirebaseModelViewedEvent]", inputs: { modelViewContext: { classPropertyName: "modelViewContext", publicName: "dbxFirebaseModelViewedEvent", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
4204
4545
  }
4205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelViewedEventDirective, decorators: [{
4546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelViewedEventDirective, decorators: [{
4206
4547
  type: Directive,
4207
4548
  args: [{
4208
4549
  selector: '[dbxFirebaseModelViewedEvent]',
@@ -4214,13 +4555,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4214
4555
  * Abstract directive that contains a DbxFirebaseCollectionStore and provides an interface for communicating with other directives.
4215
4556
  */
4216
4557
  class DbxFirebaseCollectionStoreDirective {
4217
- collectionMode = model('query', ...(ngDevMode ? [{ debugName: "collectionMode" }] : []));
4218
- collectionKeys = model(undefined, ...(ngDevMode ? [{ debugName: "collectionKeys" }] : []));
4219
- collectionRefs = model(undefined, ...(ngDevMode ? [{ debugName: "collectionRefs" }] : []));
4220
- maxPages = model(undefined, ...(ngDevMode ? [{ debugName: "maxPages" }] : []));
4221
- itemsPerPage = model(undefined, ...(ngDevMode ? [{ debugName: "itemsPerPage" }] : []));
4222
- constraints = model(undefined, ...(ngDevMode ? [{ debugName: "constraints" }] : []));
4223
- waitForNonNullConstraints = model(undefined, ...(ngDevMode ? [{ debugName: "waitForNonNullConstraints" }] : []));
4558
+ collectionMode = model('query', ...(ngDevMode ? [{ debugName: "collectionMode" }] : /* istanbul ignore next */ []));
4559
+ collectionKeys = model(undefined, ...(ngDevMode ? [{ debugName: "collectionKeys" }] : /* istanbul ignore next */ []));
4560
+ collectionRefs = model(undefined, ...(ngDevMode ? [{ debugName: "collectionRefs" }] : /* istanbul ignore next */ []));
4561
+ maxPages = model(undefined, ...(ngDevMode ? [{ debugName: "maxPages" }] : /* istanbul ignore next */ []));
4562
+ itemsPerPage = model(undefined, ...(ngDevMode ? [{ debugName: "itemsPerPage" }] : /* istanbul ignore next */ []));
4563
+ constraints = model(undefined, ...(ngDevMode ? [{ debugName: "constraints" }] : /* istanbul ignore next */ []));
4564
+ waitForNonNullConstraints = model(undefined, ...(ngDevMode ? [{ debugName: "waitForNonNullConstraints" }] : /* istanbul ignore next */ []));
4224
4565
  _collectionMode = toObservable(this.collectionMode).pipe(skipInitialMaybe());
4225
4566
  _collectionKeys = toObservable(this.collectionKeys).pipe(skipInitialMaybe());
4226
4567
  _collectionRefs = toObservable(this.collectionRefs).pipe(skipInitialMaybe());
@@ -4283,10 +4624,10 @@ class DbxFirebaseCollectionStoreDirective {
4283
4624
  restart() {
4284
4625
  this.store.restart();
4285
4626
  }
4286
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
4287
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseCollectionStoreDirective, isStandalone: true, inputs: { collectionMode: { classPropertyName: "collectionMode", publicName: "collectionMode", isSignal: true, isRequired: false, transformFunction: null }, collectionKeys: { classPropertyName: "collectionKeys", publicName: "collectionKeys", isSignal: true, isRequired: false, transformFunction: null }, collectionRefs: { classPropertyName: "collectionRefs", publicName: "collectionRefs", isSignal: true, isRequired: false, transformFunction: null }, maxPages: { classPropertyName: "maxPages", publicName: "maxPages", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, constraints: { classPropertyName: "constraints", publicName: "constraints", isSignal: true, isRequired: false, transformFunction: null }, waitForNonNullConstraints: { classPropertyName: "waitForNonNullConstraints", publicName: "waitForNonNullConstraints", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collectionMode: "collectionModeChange", collectionKeys: "collectionKeysChange", collectionRefs: "collectionRefsChange", maxPages: "maxPagesChange", itemsPerPage: "itemsPerPageChange", constraints: "constraintsChange", waitForNonNullConstraints: "waitForNonNullConstraintsChange" }, ngImport: i0 });
4627
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
4628
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseCollectionStoreDirective, isStandalone: true, inputs: { collectionMode: { classPropertyName: "collectionMode", publicName: "collectionMode", isSignal: true, isRequired: false, transformFunction: null }, collectionKeys: { classPropertyName: "collectionKeys", publicName: "collectionKeys", isSignal: true, isRequired: false, transformFunction: null }, collectionRefs: { classPropertyName: "collectionRefs", publicName: "collectionRefs", isSignal: true, isRequired: false, transformFunction: null }, maxPages: { classPropertyName: "maxPages", publicName: "maxPages", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, constraints: { classPropertyName: "constraints", publicName: "constraints", isSignal: true, isRequired: false, transformFunction: null }, waitForNonNullConstraints: { classPropertyName: "waitForNonNullConstraints", publicName: "waitForNonNullConstraints", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collectionMode: "collectionModeChange", collectionKeys: "collectionKeysChange", collectionRefs: "collectionRefsChange", maxPages: "maxPagesChange", itemsPerPage: "itemsPerPageChange", constraints: "constraintsChange", waitForNonNullConstraints: "waitForNonNullConstraintsChange" }, ngImport: i0 });
4288
4629
  }
4289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, decorators: [{
4630
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, decorators: [{
4290
4631
  type: Directive
4291
4632
  }], ctorParameters: () => [{ type: undefined }], propDecorators: { collectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "collectionMode", required: false }] }, { type: i0.Output, args: ["collectionModeChange"] }], collectionKeys: [{ type: i0.Input, args: [{ isSignal: true, alias: "collectionKeys", required: false }] }, { type: i0.Output, args: ["collectionKeysChange"] }], collectionRefs: [{ type: i0.Input, args: [{ isSignal: true, alias: "collectionRefs", required: false }] }, { type: i0.Output, args: ["collectionRefsChange"] }], maxPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxPages", required: false }] }, { type: i0.Output, args: ["maxPagesChange"] }], itemsPerPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemsPerPage", required: false }] }, { type: i0.Output, args: ["itemsPerPageChange"] }], constraints: [{ type: i0.Input, args: [{ isSignal: true, alias: "constraints", required: false }] }, { type: i0.Output, args: ["constraintsChange"] }], waitForNonNullConstraints: [{ type: i0.Input, args: [{ isSignal: true, alias: "waitForNonNullConstraints", required: false }] }, { type: i0.Output, args: ["waitForNonNullConstraintsChange"] }] } });
4292
4633
  function provideDbxFirebaseCollectionStoreDirective(sourceType, storeType) {
@@ -4307,7 +4648,7 @@ function provideDbxFirebaseCollectionStoreDirective(sourceType, storeType) {
4307
4648
  */
4308
4649
  class DbxFirebaseCollectionChangeDirective {
4309
4650
  dbxFirebaseCollectionStoreDirective = inject((DbxFirebaseCollectionStoreDirective));
4310
- mode = input('off', { ...(ngDevMode ? { debugName: "mode" } : {}), alias: 'dbxFirebaseCollectionChange', transform: (x) => x || 'off' });
4651
+ mode = input('off', { ...(ngDevMode ? { debugName: "mode" } : /* istanbul ignore next */ {}), alias: 'dbxFirebaseCollectionChange', transform: (x) => x || 'off' });
4311
4652
  _watcher = clean(dbxFirebaseCollectionChangeWatcher(this.dbxFirebaseCollectionStoreDirective.store));
4312
4653
  _trigger = clean(dbxFirebaseCollectionChangeTriggerForWatcher(this._watcher, () => this.restart()));
4313
4654
  mode$ = this._watcher.mode$;
@@ -4317,7 +4658,7 @@ class DbxFirebaseCollectionChangeDirective {
4317
4658
  trigger$ = this._watcher.trigger$;
4318
4659
  modeEffect = effect(() => {
4319
4660
  this._watcher.setMode(this.mode());
4320
- }, ...(ngDevMode ? [{ debugName: "modeEffect" }] : []));
4661
+ }, ...(ngDevMode ? [{ debugName: "modeEffect" }] : /* istanbul ignore next */ []));
4321
4662
  get store() {
4322
4663
  return this._watcher.store;
4323
4664
  }
@@ -4327,10 +4668,10 @@ class DbxFirebaseCollectionChangeDirective {
4327
4668
  restart() {
4328
4669
  this.dbxFirebaseCollectionStoreDirective.store.restart();
4329
4670
  }
4330
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4331
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseCollectionChangeDirective, isStandalone: true, selector: "[dbxFirebaseCollectionChange]", inputs: { mode: { classPropertyName: "mode", publicName: "dbxFirebaseCollectionChange", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
4671
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionChangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4672
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseCollectionChangeDirective, isStandalone: true, selector: "[dbxFirebaseCollectionChange]", inputs: { mode: { classPropertyName: "mode", publicName: "dbxFirebaseCollectionChange", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
4332
4673
  }
4333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionChangeDirective, decorators: [{
4674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionChangeDirective, decorators: [{
4334
4675
  type: Directive,
4335
4676
  args: [{
4336
4677
  selector: '[dbxFirebaseCollectionChange]',
@@ -4345,7 +4686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4345
4686
  */
4346
4687
  class DbxFirebaseCollectionHasChangeDirective extends AbstractIfDirective {
4347
4688
  directive = inject(DbxFirebaseCollectionChangeDirective);
4348
- mode = input('addedAndRemoved', { ...(ngDevMode ? { debugName: "mode" } : {}), alias: 'dbxFirebaseCollectionHasChange', transform: (x) => x || 'addedAndRemoved' });
4689
+ mode = input('addedAndRemoved', { ...(ngDevMode ? { debugName: "mode" } : /* istanbul ignore next */ {}), alias: 'dbxFirebaseCollectionHasChange', transform: (x) => x || 'addedAndRemoved' });
4349
4690
  show$ = combineLatest([toObservable(this.mode), this.directive.event$]).pipe(map(([mode, event]) => {
4350
4691
  let show = false;
4351
4692
  if (event.type !== 'none') {
@@ -4363,10 +4704,10 @@ class DbxFirebaseCollectionHasChangeDirective extends AbstractIfDirective {
4363
4704
  }
4364
4705
  return show;
4365
4706
  }), shareReplay(1));
4366
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionHasChangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4367
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseCollectionHasChangeDirective, isStandalone: true, selector: "[dbxFirebaseCollectionHasChange]", inputs: { mode: { classPropertyName: "mode", publicName: "dbxFirebaseCollectionHasChange", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
4707
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionHasChangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4708
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseCollectionHasChangeDirective, isStandalone: true, selector: "[dbxFirebaseCollectionHasChange]", inputs: { mode: { classPropertyName: "mode", publicName: "dbxFirebaseCollectionHasChange", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
4368
4709
  }
4369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionHasChangeDirective, decorators: [{
4710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionHasChangeDirective, decorators: [{
4370
4711
  type: Directive,
4371
4712
  args: [{
4372
4713
  selector: '[dbxFirebaseCollectionHasChange]',
@@ -4388,10 +4729,10 @@ class DbxFirebaseCollectionListDirective {
4388
4729
  }));
4389
4730
  }
4390
4731
  }
4391
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4392
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseCollectionListDirective, isStandalone: true, selector: "[dbxFirebaseCollectionList]", ngImport: i0 });
4732
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4733
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseCollectionListDirective, isStandalone: true, selector: "[dbxFirebaseCollectionList]", ngImport: i0 });
4393
4734
  }
4394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
4735
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
4395
4736
  type: Directive,
4396
4737
  args: [{
4397
4738
  selector: '[dbxFirebaseCollectionList]',
@@ -4423,10 +4764,10 @@ function provideDbxFirebaseDocumentStoreTwoWayKeyProvider(sourceType) {
4423
4764
  class DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective {
4424
4765
  dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective, { host: true });
4425
4766
  twoWayFlatKey$ = this.dbxFirebaseDocumentStoreDirective.twoWayFlatKey$;
4426
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4427
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective), ngImport: i0 });
4767
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4768
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective), ngImport: i0 });
4428
4769
  }
4429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, decorators: [{
4770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, decorators: [{
4430
4771
  type: Directive,
4431
4772
  args: [{
4432
4773
  selector: '[dbxFirebaseDocumentStoreTwoWayModelKeySource]',
@@ -4444,10 +4785,10 @@ class DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective {
4444
4785
  constructor() {
4445
4786
  cleanSubscription(this.dbxFirebaseDocumentStoreDirective.store.setId(this.dbxFirebaseDocumentStoreTwoWayKeyProvider.twoWayFlatKey$));
4446
4787
  }
4447
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4448
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", ngImport: i0 });
4788
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4789
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", ngImport: i0 });
4449
4790
  }
4450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, decorators: [{
4791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, decorators: [{
4451
4792
  type: Directive,
4452
4793
  args: [{
4453
4794
  selector: '[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]',
@@ -4457,11 +4798,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4457
4798
 
4458
4799
  const importsAndExports = [DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective];
4459
4800
  class DbxFirebaseModelStoreModule {
4460
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4461
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelStoreModule, imports: [DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], exports: [DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective] });
4462
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelStoreModule });
4801
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4802
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelStoreModule, imports: [DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], exports: [DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective] });
4803
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelStoreModule });
4463
4804
  }
4464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelStoreModule, decorators: [{
4805
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelStoreModule, decorators: [{
4465
4806
  type: NgModule,
4466
4807
  args: [{
4467
4808
  imports: importsAndExports,
@@ -4535,10 +4876,10 @@ class AbstractDbxFirebaseCollectionStore extends LockSetComponentStore {
4535
4876
  loadAllResults() {
4536
4877
  return this.loader$.pipe(switchMap((x) => x.loadAllResults()));
4537
4878
  }
4538
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4539
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionStore });
4879
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4880
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionStore });
4540
4881
  }
4541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, decorators: [{
4882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, decorators: [{
4542
4883
  type: Injectable
4543
4884
  }] });
4544
4885
 
@@ -4738,10 +5079,10 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
4738
5079
  clearRefs = this.updater((state) => ({ ...state, id: undefined, key: undefined, ref: undefined }));
4739
5080
  setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
4740
5081
  setFirestoreCollectionLike = this.updater((state, firestoreCollectionLike) => ({ ...state, firestoreCollectionLike }));
4741
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: [{ token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4742
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
5082
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: [{ token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5083
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
4743
5084
  }
4744
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
5085
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
4745
5086
  type: Injectable
4746
5087
  }], ctorParameters: () => [{ type: undefined, decorators: [{
4747
5088
  type: Inject,
@@ -4975,10 +5316,10 @@ class AbstractDbxFirebaseCollectionWithParentStore extends AbstractDbxFirebaseCo
4975
5316
  */
4976
5317
  _setParentDocument = this.updater((state, parent) => ({ ...state, parent }));
4977
5318
  _setParent = this._setParentDocument;
4978
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
4979
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
5319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
5320
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
4980
5321
  }
4981
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
5322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
4982
5323
  type: Injectable
4983
5324
  }], ctorParameters: () => [{ type: undefined, decorators: [{
4984
5325
  type: Inject,
@@ -5036,10 +5377,10 @@ class AbstractDbxFirebaseDocumentWithParentStore extends AbstractDbxFirebaseDocu
5036
5377
  * Sets the parent on the current state.
5037
5378
  */
5038
5379
  _setParentDocument = this.updater((state, parent) => ({ ...state, parent }));
5039
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
5040
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore });
5380
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
5381
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore });
5041
5382
  }
5042
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, decorators: [{
5383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, decorators: [{
5043
5384
  type: Injectable
5044
5385
  }] });
5045
5386
  /**
@@ -5088,7 +5429,7 @@ class AbstractSingleItemDbxFirebaseDocument extends AbstractDbxFirebaseDocumentW
5088
5429
  * Abstract directive that contains a DbxFirebaseCollectionWithParentStore and provides an interface for communicating with other directives.
5089
5430
  */
5090
5431
  class DbxFirebaseCollectionWithParentStoreDirective extends DbxFirebaseCollectionStoreDirective {
5091
- sourceMode = model(undefined, ...(ngDevMode ? [{ debugName: "sourceMode" }] : []));
5432
+ sourceMode = model(undefined, ...(ngDevMode ? [{ debugName: "sourceMode" }] : /* istanbul ignore next */ []));
5092
5433
  _sourceMode$ = toObservable(this.sourceMode).pipe(skipInitialMaybe());
5093
5434
  // eslint-disable-next-line @angular-eslint/prefer-inject -- abstract class receives store from subclass constructors
5094
5435
  constructor(store) {
@@ -5102,10 +5443,10 @@ class DbxFirebaseCollectionWithParentStoreDirective extends DbxFirebaseCollectio
5102
5443
  setSourceMode(sourceMode) {
5103
5444
  this.sourceMode.set(sourceMode);
5104
5445
  }
5105
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
5106
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseCollectionWithParentStoreDirective, isStandalone: true, inputs: { sourceMode: { classPropertyName: "sourceMode", publicName: "sourceMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sourceMode: "sourceModeChange" }, usesInheritance: true, ngImport: i0 });
5446
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
5447
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseCollectionWithParentStoreDirective, isStandalone: true, inputs: { sourceMode: { classPropertyName: "sourceMode", publicName: "sourceMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sourceMode: "sourceModeChange" }, usesInheritance: true, ngImport: i0 });
5107
5448
  }
5108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
5449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
5109
5450
  type: Directive
5110
5451
  }], ctorParameters: () => [{ type: undefined }], propDecorators: { sourceMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceMode", required: false }] }, { type: i0.Output, args: ["sourceModeChange"] }] } });
5111
5452
  function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeType) {
@@ -5123,10 +5464,10 @@ function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeT
5123
5464
  * Directive that provides a DbxFirebaseDocumentStoreContextStore.
5124
5465
  */
5125
5466
  class DbxFirebaseDocumentStoreContextStoreDirective {
5126
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5127
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseDocumentStoreContextStoreDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextStore]", providers: provideDbxFirebaseDocumentStoreContextStore(), ngImport: i0 });
5467
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5468
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseDocumentStoreContextStoreDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextStore]", providers: provideDbxFirebaseDocumentStoreContextStore(), ngImport: i0 });
5128
5469
  }
5129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, decorators: [{
5470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, decorators: [{
5130
5471
  type: Directive,
5131
5472
  args: [{
5132
5473
  selector: '[dbxFirebaseDocumentStoreContextStore]',
@@ -5142,10 +5483,10 @@ class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore {
5142
5483
  constructor() {
5143
5484
  super({ firestoreCollection: inject(SystemStateFirestoreCollections).systemStateCollection });
5144
5485
  }
5145
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5146
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateCollectionStore });
5486
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5487
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateCollectionStore });
5147
5488
  }
5148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateCollectionStore, decorators: [{
5489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateCollectionStore, decorators: [{
5149
5490
  type: Injectable
5150
5491
  }], ctorParameters: () => [] });
5151
5492
 
@@ -5156,10 +5497,10 @@ class DbxFirebaseSystemStateCollectionStoreDirective extends DbxFirebaseCollecti
5156
5497
  constructor() {
5157
5498
  super(inject(SystemStateCollectionStore));
5158
5499
  }
5159
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseSystemStateCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5160
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseSystemStateCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseSystemStateCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseSystemStateCollectionStoreDirective, SystemStateCollectionStore), usesInheritance: true, ngImport: i0 });
5500
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseSystemStateCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5501
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseSystemStateCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseSystemStateCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseSystemStateCollectionStoreDirective, SystemStateCollectionStore), usesInheritance: true, ngImport: i0 });
5161
5502
  }
5162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseSystemStateCollectionStoreDirective, decorators: [{
5503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseSystemStateCollectionStoreDirective, decorators: [{
5163
5504
  type: Directive,
5164
5505
  args: [{
5165
5506
  selector: '[dbxFirebaseSystemStateCollection]',
@@ -5174,10 +5515,10 @@ class SystemStateDocumentStore extends AbstractDbxFirebaseDocumentStore {
5174
5515
  constructor() {
5175
5516
  super({ firestoreCollection: inject(SystemStateFirestoreCollections).systemStateCollection });
5176
5517
  }
5177
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5178
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateDocumentStore });
5518
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5519
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateDocumentStore });
5179
5520
  }
5180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SystemStateDocumentStore, decorators: [{
5521
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: SystemStateDocumentStore, decorators: [{
5181
5522
  type: Injectable
5182
5523
  }], ctorParameters: () => [] });
5183
5524
 
@@ -5196,10 +5537,10 @@ class AbstractSystemStateDocumentStoreAccessor {
5196
5537
  constructor(type) {
5197
5538
  this.systemStateDocumentStore.setId(type);
5198
5539
  }
5199
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5200
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor });
5540
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor, deps: "invalid", target: i0.ɵɵFactoryTarget.Injectable });
5541
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor });
5201
5542
  }
5202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor, decorators: [{
5543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractSystemStateDocumentStoreAccessor, decorators: [{
5203
5544
  type: Injectable
5204
5545
  }], ctorParameters: () => [{ type: undefined }] });
5205
5546
 
@@ -5210,10 +5551,10 @@ class DbxFirebaseSystemStateDocumentStoreDirective extends DbxFirebaseDocumentSt
5210
5551
  constructor() {
5211
5552
  super(inject((SystemStateDocumentStore)));
5212
5553
  }
5213
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5214
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseSystemStateDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseSystemStateDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore), usesInheritance: true, ngImport: i0 });
5554
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5555
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseSystemStateDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseSystemStateDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore), usesInheritance: true, ngImport: i0 });
5215
5556
  }
5216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, decorators: [{
5557
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, decorators: [{
5217
5558
  type: Directive,
5218
5559
  args: [{
5219
5560
  selector: '[dbxFirebaseSystemStateDocument]',
@@ -5222,11 +5563,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5222
5563
  }], ctorParameters: () => [] });
5223
5564
 
5224
5565
  class DbxFirebaseModelModule {
5225
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5226
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelModule, exports: [DbxFirebaseModelStoreModule] });
5227
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelModule, imports: [DbxFirebaseModelStoreModule] });
5566
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5567
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelModule, exports: [DbxFirebaseModelStoreModule] });
5568
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelModule, imports: [DbxFirebaseModelStoreModule] });
5228
5569
  }
5229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModelModule, decorators: [{
5570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModelModule, decorators: [{
5230
5571
  type: NgModule,
5231
5572
  args: [{
5232
5573
  exports: [DbxFirebaseModelStoreModule]
@@ -5251,10 +5592,10 @@ class DbxFirebaseNotificationTemplateService {
5251
5592
  date
5252
5593
  };
5253
5594
  }
5254
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5255
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationTemplateService });
5595
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5596
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationTemplateService });
5256
5597
  }
5257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationTemplateService, decorators: [{
5598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationTemplateService, decorators: [{
5258
5599
  type: Injectable
5259
5600
  }] });
5260
5601
 
@@ -5268,10 +5609,10 @@ class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListW
5268
5609
  defaultSelectionMode: 'view'
5269
5610
  });
5270
5611
  }
5271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5272
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemListComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-list", providers: provideDbxListViewWrapper(DbxFirebaseNotificationItemListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5612
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5613
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemListComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-list", providers: provideDbxListViewWrapper(DbxFirebaseNotificationItemListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [hasMore]=\"hasMore()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n <ng-content end select=\"[end]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode", "hasMore"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5273
5614
  }
5274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, decorators: [{
5615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, decorators: [{
5275
5616
  type: Component,
5276
5617
  args: [{
5277
5618
  selector: 'dbx-firebase-notificationitem-list',
@@ -5290,10 +5631,10 @@ class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionL
5290
5631
  componentClass: DbxFirebaseNotificationItemListViewItemComponent,
5291
5632
  mapValuesToItemValues: (x) => of(x.map((y) => ({ ...y, icon: y.icon, itemValue: y })))
5292
5633
  };
5293
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5294
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemListViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-list-view", providers: provideDbxListView(DbxFirebaseNotificationItemListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5634
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5635
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemListViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-list-view", providers: provideDbxListView(DbxFirebaseNotificationItemListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSelectionValueListViewComponentImportsModule }, { kind: "component", type: i1$1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5295
5636
  }
5296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, decorators: [{
5637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, decorators: [{
5297
5638
  type: Component,
5298
5639
  args: [{
5299
5640
  selector: 'dbx-firebase-notificationitem-list-view',
@@ -5319,8 +5660,8 @@ class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueL
5319
5660
  get date() {
5320
5661
  return this.pairGetter().date;
5321
5662
  }
5322
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5323
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
5663
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5664
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
5324
5665
  <div class="dbx-list-item-padded dbx-list-two-line-item dbx-firebase-notificationitem-list-view-item">
5325
5666
  <div class="item-left">
5326
5667
  <span class="notificationitem-subject">{{ subject }}</span>
@@ -5330,7 +5671,7 @@ class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueL
5330
5671
  </div>
5331
5672
  `, isInline: true, dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: CutTextPipe, name: "cutText" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5332
5673
  }
5333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, decorators: [{
5674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, decorators: [{
5334
5675
  type: Component,
5335
5676
  args: [{
5336
5677
  template: `
@@ -5352,13 +5693,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5352
5693
  * Presentational component for notification item content, displaying subject, message, and date.
5353
5694
  */
5354
5695
  class DbxFirebaseNotificationItemContentComponent {
5355
- subject = input(...(ngDevMode ? [undefined, { debugName: "subject" }] : []));
5356
- message = input(...(ngDevMode ? [undefined, { debugName: "message" }] : []));
5357
- date = input(...(ngDevMode ? [undefined, { debugName: "date" }] : []));
5358
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5359
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemContentComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-content", inputs: { subject: { classPropertyName: "subject", publicName: "subject", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"dbx-firebase-notificationitem-content\">\n <div class=\"notificationitem-header dbx-pb2\">\n @if (subject()) {\n <div class=\"notificationitem-subject dbx-pb1\">{{ subject() }}</div>\n }\n <ng-content select=\"[header]\"></ng-content>\n @if (date()) {\n <div class=\"notificationitem-date dbx-label dbx-small\">{{ date() | date: 'medium' }}</div>\n }\n </div>\n <ng-content select=\"[premessage]\"></ng-content>\n <div class=\"notificationitem-message\">{{ message() }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".dbx-firebase-notificationitem-content .notificationitem-subject{font-size:1.25em}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5696
+ subject = input(...(ngDevMode ? [undefined, { debugName: "subject" }] : /* istanbul ignore next */ []));
5697
+ message = input(...(ngDevMode ? [undefined, { debugName: "message" }] : /* istanbul ignore next */ []));
5698
+ date = input(...(ngDevMode ? [undefined, { debugName: "date" }] : /* istanbul ignore next */ []));
5699
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5700
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemContentComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-content", inputs: { subject: { classPropertyName: "subject", publicName: "subject", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"dbx-firebase-notificationitem-content\">\n <div class=\"notificationitem-header dbx-pb2\">\n @if (subject()) {\n <div class=\"notificationitem-subject dbx-pb1\">{{ subject() }}</div>\n }\n <ng-content select=\"[header]\"></ng-content>\n @if (date()) {\n <div class=\"notificationitem-date dbx-label dbx-small\">{{ date() | date: 'medium' }}</div>\n }\n </div>\n <ng-content select=\"[premessage]\"></ng-content>\n <div class=\"notificationitem-message\">{{ message() }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".dbx-firebase-notificationitem-content .notificationitem-subject{font-size:1.25em}\n"], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5360
5701
  }
5361
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, decorators: [{
5702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, decorators: [{
5362
5703
  type: Component,
5363
5704
  args: [{ selector: 'dbx-firebase-notificationitem-content', imports: [DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-firebase-notificationitem-content\">\n <div class=\"notificationitem-header dbx-pb2\">\n @if (subject()) {\n <div class=\"notificationitem-subject dbx-pb1\">{{ subject() }}</div>\n }\n <ng-content select=\"[header]\"></ng-content>\n @if (date()) {\n <div class=\"notificationitem-date dbx-label dbx-small\">{{ date() | date: 'medium' }}</div>\n }\n </div>\n <ng-content select=\"[premessage]\"></ng-content>\n <div class=\"notificationitem-message\">{{ message() }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".dbx-firebase-notificationitem-content .notificationitem-subject{font-size:1.25em}\n"] }]
5364
5705
  }], propDecorators: { subject: [{ type: i0.Input, args: [{ isSignal: true, alias: "subject", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }] } });
@@ -5424,10 +5765,10 @@ class DbxFirebaseNotificationItemWidgetService {
5424
5765
  type: DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE
5425
5766
  }, override);
5426
5767
  }
5427
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5428
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService });
5768
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5769
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService });
5429
5770
  }
5430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, decorators: [{
5771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, decorators: [{
5431
5772
  type: Injectable
5432
5773
  }] });
5433
5774
 
@@ -5436,7 +5777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5436
5777
  * display component based on the notification's template type.
5437
5778
  */
5438
5779
  class DbxFirebaseNotificationItemViewComponent {
5439
- item = input(...(ngDevMode ? [undefined, { debugName: "item" }] : []));
5780
+ item = input(...(ngDevMode ? [undefined, { debugName: "item" }] : /* istanbul ignore next */ []));
5440
5781
  configSignal = computed(() => {
5441
5782
  const data = this.item();
5442
5783
  let config = undefined;
@@ -5449,13 +5790,13 @@ class DbxFirebaseNotificationItemViewComponent {
5449
5790
  };
5450
5791
  }
5451
5792
  return config;
5452
- }, ...(ngDevMode ? [{ debugName: "configSignal" }] : []));
5453
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5454
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseNotificationItemViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-view", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
5793
+ }, ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
5794
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5795
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseNotificationItemViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-view", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
5455
5796
  <dbx-widget-view [config]="configSignal()"></dbx-widget-view>
5456
5797
  `, isInline: true, dependencies: [{ kind: "component", type: DbxWidgetViewComponent, selector: "dbx-widget-view", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5457
5798
  }
5458
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, decorators: [{
5799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, decorators: [{
5459
5800
  type: Component,
5460
5801
  args: [{
5461
5802
  selector: 'dbx-firebase-notificationitem-view',
@@ -5477,10 +5818,10 @@ class AbstractDbxFirebaseNotificationItemWidgetComponent extends AbstractDbxWidg
5477
5818
  get notificationItem() {
5478
5819
  return this.data;
5479
5820
  }
5480
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5481
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: AbstractDbxFirebaseNotificationItemWidgetComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
5821
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5822
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: AbstractDbxFirebaseNotificationItemWidgetComponent, isStandalone: true, usesInheritance: true, ngImport: i0 });
5482
5823
  }
5483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, decorators: [{
5824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, decorators: [{
5484
5825
  type: Directive
5485
5826
  }] });
5486
5827
 
@@ -5497,10 +5838,10 @@ class DbxFirebaseNotificationItemDefaultViewComponent extends AbstractDbxFirebas
5497
5838
  get date() {
5498
5839
  return this.notificationItem.cat;
5499
5840
  }
5500
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5501
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemDefaultViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-view-default", usesInheritance: true, ngImport: i0, template: '<dbx-firebase-notificationitem-content [subject]="subject" [message]="message" [date]="date"></dbx-firebase-notificationitem-content>', isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseNotificationItemContentComponent, selector: "dbx-firebase-notificationitem-content", inputs: ["subject", "message", "date"] }] });
5841
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5842
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemDefaultViewComponent, isStandalone: true, selector: "dbx-firebase-notificationitem-view-default", usesInheritance: true, ngImport: i0, template: '<dbx-firebase-notificationitem-content [subject]="subject" [message]="message" [date]="date"></dbx-firebase-notificationitem-content>', isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseNotificationItemContentComponent, selector: "dbx-firebase-notificationitem-content", inputs: ["subject", "message", "date"] }] });
5502
5843
  }
5503
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, decorators: [{
5844
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, decorators: [{
5504
5845
  type: Component,
5505
5846
  args: [{
5506
5847
  selector: 'dbx-firebase-notificationitem-view-default',
@@ -5532,10 +5873,10 @@ class DbxFirebaseNotificationItemStorePopoverComponent extends AbstractPopoverDi
5532
5873
  emptyText = this.params.header ?? 'There are no notifications.';
5533
5874
  makeNotificationItemAnchor = this.params.makeNotificationItemAnchor;
5534
5875
  notificationItemsLoadingState$ = this.params.notificationItemsLoadingState$;
5535
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5536
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationItemStorePopoverComponent, 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-notificationitem-list [state]=\"notificationItemsLoadingState$\" dbxListItemModifier [dbxListItemAnchorModifier]=\"makeNotificationItemAnchor\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-notificationitem-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "ngmodule", type: DbxPopoverInteractionModule }, { kind: "component", type: i1$1.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i1$1.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: i1$1.DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "ngmodule", type: DbxListModifierModule }, { kind: "directive", type: i1$1.DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "component", type: DbxFirebaseNotificationItemListComponent, selector: "dbx-firebase-notificationitem-list" }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5876
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5877
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationItemStorePopoverComponent, 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-notificationitem-list [state]=\"notificationItemsLoadingState$\" dbxListItemModifier [dbxListItemAnchorModifier]=\"makeNotificationItemAnchor\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-notificationitem-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "ngmodule", type: DbxPopoverInteractionModule }, { kind: "component", type: i1$1.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i1$1.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: i1$1.DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "ngmodule", type: DbxListModifierModule }, { kind: "directive", type: i1$1.DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "component", type: DbxFirebaseNotificationItemListComponent, selector: "dbx-firebase-notificationitem-list" }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5537
5878
  }
5538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, decorators: [{
5879
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, decorators: [{
5539
5880
  type: Component,
5540
5881
  args: [{ imports: [DbxPopoverInteractionModule, DbxListModifierModule, DbxFirebaseNotificationItemListComponent, DbxListEmptyContentComponent, DbxListItemAnchorModifierDirective], 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-notificationitem-list [state]=\"notificationItemsLoadingState$\" dbxListItemModifier [dbxListItemAnchorModifier]=\"makeNotificationItemAnchor\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-notificationitem-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
5541
5882
  }] });
@@ -5559,18 +5900,18 @@ class DbxFirebaseNotificationItemStore extends ComponentStore {
5559
5900
  // MARK: State Changes
5560
5901
  setItems = this.updater((state, items) => ({ ...state, items }));
5561
5902
  setSelectedId = this.updater((state, selectedId) => ({ ...state, selectedId }));
5562
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5563
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStore });
5903
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5904
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStore });
5564
5905
  }
5565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStore, decorators: [{
5906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStore, decorators: [{
5566
5907
  type: Injectable
5567
5908
  }], ctorParameters: () => [] });
5568
5909
 
5569
5910
  class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPopoverRefDirective {
5570
5911
  _dbxPopoverService = inject(DbxPopoverService);
5571
5912
  _dbxFirebaseNotificationItemStore = inject(DbxFirebaseNotificationItemStore, { optional: true });
5572
- buttonElement = viewChild('button', { ...(ngDevMode ? { debugName: "buttonElement" } : {}), read: ElementRef });
5573
- config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
5913
+ buttonElement = viewChild('button', { ...(ngDevMode ? { debugName: "buttonElement" } : /* istanbul ignore next */ {}), read: ElementRef });
5914
+ config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
5574
5915
  showNotificationsPopover() {
5575
5916
  const origin = this.buttonElement()?.nativeElement;
5576
5917
  this.showPopover(origin);
@@ -5590,12 +5931,12 @@ class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPop
5590
5931
  ...config
5591
5932
  });
5592
5933
  }
5593
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5594
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxFirebaseNotificationItemStorePopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-notification-item-store-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: `
5934
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
5935
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxFirebaseNotificationItemStorePopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-notification-item-store-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: `
5595
5936
  <dbx-icon-button #button (buttonClick)="showNotificationsPopover()" icon="notifications"></dbx-icon-button>
5596
5937
  `, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5597
5938
  }
5598
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, decorators: [{
5939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, decorators: [{
5599
5940
  type: Component,
5600
5941
  args: [{
5601
5942
  selector: 'dbx-firebase-notification-item-store-popover-button',
@@ -5620,10 +5961,10 @@ class NotificationBoxDocumentStore extends AbstractDbxFirebaseDocumentStore {
5620
5961
  recipients$ = this.data$.pipe(map((x) => x.r), shareReplay(1));
5621
5962
  updateNotificationBox = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationBox.updateNotificationBox.update);
5622
5963
  updateNotificationBoxRecipient = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationBox.updateNotificationBox.recipient);
5623
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5624
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxDocumentStore });
5964
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5965
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxDocumentStore });
5625
5966
  }
5626
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxDocumentStore, decorators: [{
5967
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxDocumentStore, decorators: [{
5627
5968
  type: Injectable
5628
5969
  }], ctorParameters: () => [] });
5629
5970
 
@@ -5645,10 +5986,10 @@ class NotificationDocumentStore extends AbstractDbxFirebaseDocumentWithParentSto
5645
5986
  sendAttemptsCount$ = this.data$.pipe(map((x) => x.a), distinctUntilChanged(), shareReplay(1));
5646
5987
  isUnique$ = this.data$.pipe(map((x) => x.ut), distinctUntilChanged(), shareReplay(1));
5647
5988
  sendNotification = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notification.updateNotification.send);
5648
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5649
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationDocumentStore });
5989
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5990
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationDocumentStore });
5650
5991
  }
5651
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationDocumentStore, decorators: [{
5992
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationDocumentStore, decorators: [{
5652
5993
  type: Injectable
5653
5994
  }], ctorParameters: () => [] });
5654
5995
 
@@ -5659,10 +6000,10 @@ class DbxFirebaseNotificationDocumentStoreDirective extends DbxFirebaseDocumentS
5659
6000
  constructor() {
5660
6001
  super(inject(NotificationDocumentStore));
5661
6002
  }
5662
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5663
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationDocumentStoreDirective, NotificationDocumentStore), usesInheritance: true, ngImport: i0 });
6003
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6004
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationDocumentStoreDirective, NotificationDocumentStore), usesInheritance: true, ngImport: i0 });
5664
6005
  }
5665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationDocumentStoreDirective, decorators: [{
6006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationDocumentStoreDirective, decorators: [{
5666
6007
  type: Directive,
5667
6008
  args: [{
5668
6009
  selector: '[dbxFirebaseNotificationDocument]',
@@ -5682,10 +6023,10 @@ class NotificationCollectionStore extends AbstractDbxFirebaseCollectionWithParen
5682
6023
  this.setParentStore(parent);
5683
6024
  }
5684
6025
  }
5685
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5686
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationCollectionStore });
6026
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6027
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationCollectionStore });
5687
6028
  }
5688
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationCollectionStore, decorators: [{
6029
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationCollectionStore, decorators: [{
5689
6030
  type: Injectable
5690
6031
  }], ctorParameters: () => [] });
5691
6032
 
@@ -5696,10 +6037,10 @@ class DbxFirebaseNotificationCollectionStoreDirective extends DbxFirebaseCollect
5696
6037
  constructor() {
5697
6038
  super(inject(NotificationCollectionStore));
5698
6039
  }
5699
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5700
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationCollection]", providers: provideDbxFirebaseCollectionWithParentStoreDirective(DbxFirebaseNotificationCollectionStoreDirective, NotificationCollectionStore), usesInheritance: true, ngImport: i0 });
6040
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6041
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationCollection]", providers: provideDbxFirebaseCollectionWithParentStoreDirective(DbxFirebaseNotificationCollectionStoreDirective, NotificationCollectionStore), usesInheritance: true, ngImport: i0 });
5701
6042
  }
5702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationCollectionStoreDirective, decorators: [{
6043
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationCollectionStoreDirective, decorators: [{
5703
6044
  type: Directive,
5704
6045
  args: [{
5705
6046
  selector: '[dbxFirebaseNotificationCollection]',
@@ -5715,10 +6056,10 @@ class DbxFirebaseNotificationBoxDocumentStoreDirective extends DbxFirebaseDocume
5715
6056
  constructor() {
5716
6057
  super(inject(NotificationBoxDocumentStore));
5717
6058
  }
5718
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5719
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationBoxDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationBoxDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationBoxDocumentStoreDirective, NotificationBoxDocumentStore), usesInheritance: true, ngImport: i0 });
6059
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6060
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationBoxDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationBoxDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationBoxDocumentStoreDirective, NotificationBoxDocumentStore), usesInheritance: true, ngImport: i0 });
5720
6061
  }
5721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, decorators: [{
6062
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, decorators: [{
5722
6063
  type: Directive,
5723
6064
  args: [{
5724
6065
  selector: '[dbxFirebaseNotificationBoxDocument]',
@@ -5734,10 +6075,10 @@ class NotificationBoxCollectionStore extends AbstractDbxFirebaseCollectionStore
5734
6075
  constructor() {
5735
6076
  super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationBoxCollection });
5736
6077
  }
5737
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5738
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxCollectionStore });
6078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6079
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxCollectionStore });
5739
6080
  }
5740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationBoxCollectionStore, decorators: [{
6081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationBoxCollectionStore, decorators: [{
5741
6082
  type: Injectable
5742
6083
  }], ctorParameters: () => [] });
5743
6084
 
@@ -5748,10 +6089,10 @@ class DbxFirebaseNotificationBoxCollectionStoreDirective extends DbxFirebaseColl
5748
6089
  constructor() {
5749
6090
  super(inject(NotificationBoxCollectionStore));
5750
6091
  }
5751
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5752
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationBoxCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationBoxCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationBoxCollectionStoreDirective, NotificationBoxCollectionStore), usesInheritance: true, ngImport: i0 });
6092
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6093
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationBoxCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationBoxCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationBoxCollectionStoreDirective, NotificationBoxCollectionStore), usesInheritance: true, ngImport: i0 });
5753
6094
  }
5754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, decorators: [{
6095
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, decorators: [{
5755
6096
  type: Directive,
5756
6097
  args: [{
5757
6098
  selector: '[dbxFirebaseNotificationBoxCollection]',
@@ -5767,10 +6108,10 @@ class NotificationSummaryCollectionStore extends AbstractDbxFirebaseCollectionSt
5767
6108
  constructor() {
5768
6109
  super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationSummaryCollection });
5769
6110
  }
5770
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5771
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryCollectionStore });
6111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6112
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryCollectionStore });
5772
6113
  }
5773
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryCollectionStore, decorators: [{
6114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryCollectionStore, decorators: [{
5774
6115
  type: Injectable
5775
6116
  }], ctorParameters: () => [] });
5776
6117
 
@@ -5781,10 +6122,10 @@ class DbxFirebaseNotificationSummaryCollectionStoreDirective extends DbxFirebase
5781
6122
  constructor() {
5782
6123
  super(inject(NotificationSummaryCollectionStore));
5783
6124
  }
5784
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5785
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationSummaryCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationSummaryCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationSummaryCollectionStoreDirective, NotificationSummaryCollectionStore), usesInheritance: true, ngImport: i0 });
6125
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6126
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationSummaryCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationSummaryCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationSummaryCollectionStoreDirective, NotificationSummaryCollectionStore), usesInheritance: true, ngImport: i0 });
5786
6127
  }
5787
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, decorators: [{
6128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, decorators: [{
5788
6129
  type: Directive,
5789
6130
  args: [{
5790
6131
  selector: '[dbxFirebaseNotificationSummaryCollection]',
@@ -5816,10 +6157,10 @@ class NotificationSummaryDocumentStore extends AbstractDbxFirebaseDocumentStore
5816
6157
  return combineLatest([asObservable(checkLastReadIfCreatedBeforeObs), this.notificationItems$]).pipe(map(([c, items]) => unreadNotificationItems(items, c)));
5817
6158
  }
5818
6159
  updateNotificationSummary = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationSummary.updateNotificationSummary.update);
5819
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5820
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryDocumentStore });
6160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6161
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryDocumentStore });
5821
6162
  }
5822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationSummaryDocumentStore, decorators: [{
6163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationSummaryDocumentStore, decorators: [{
5823
6164
  type: Injectable
5824
6165
  }], ctorParameters: () => [] });
5825
6166
 
@@ -5830,10 +6171,10 @@ class DbxFirebaseNotificationSummaryDocumentStoreDirective extends DbxFirebaseDo
5830
6171
  constructor() {
5831
6172
  super(inject(NotificationSummaryDocumentStore));
5832
6173
  }
5833
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5834
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationSummaryDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationSummaryDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationSummaryDocumentStoreDirective, NotificationSummaryDocumentStore), usesInheritance: true, ngImport: i0 });
6174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6175
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationSummaryDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationSummaryDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationSummaryDocumentStoreDirective, NotificationSummaryDocumentStore), usesInheritance: true, ngImport: i0 });
5835
6176
  }
5836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, decorators: [{
6177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, decorators: [{
5837
6178
  type: Directive,
5838
6179
  args: [{
5839
6180
  selector: '[dbxFirebaseNotificationSummaryDocument]',
@@ -5849,10 +6190,10 @@ class NotificationUserCollectionStore extends AbstractDbxFirebaseCollectionStore
5849
6190
  constructor() {
5850
6191
  super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationUserCollection });
5851
6192
  }
5852
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5853
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserCollectionStore });
6193
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6194
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserCollectionStore });
5854
6195
  }
5855
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserCollectionStore, decorators: [{
6196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserCollectionStore, decorators: [{
5856
6197
  type: Injectable
5857
6198
  }], ctorParameters: () => [] });
5858
6199
 
@@ -5863,10 +6204,10 @@ class DbxFirebaseNotificationUserCollectionStoreDirective extends DbxFirebaseCol
5863
6204
  constructor() {
5864
6205
  super(inject(NotificationUserCollectionStore));
5865
6206
  }
5866
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5867
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationUserCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationUserCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationUserCollectionStoreDirective, NotificationUserCollectionStore), usesInheritance: true, ngImport: i0 });
6207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6208
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationUserCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationUserCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationUserCollectionStoreDirective, NotificationUserCollectionStore), usesInheritance: true, ngImport: i0 });
5868
6209
  }
5869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, decorators: [{
6210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, decorators: [{
5870
6211
  type: Directive,
5871
6212
  args: [{
5872
6213
  selector: '[dbxFirebaseNotificationUserCollection]',
@@ -5885,10 +6226,10 @@ class NotificationUserDocumentStore extends AbstractDbxFirebaseDocumentStore {
5885
6226
  }
5886
6227
  updateNotificationUser = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationUser.updateNotificationUser.update);
5887
6228
  resyncNotificationUser = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationUser.updateNotificationUser.resync);
5888
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
5889
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserDocumentStore });
6229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6230
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserDocumentStore });
5890
6231
  }
5891
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NotificationUserDocumentStore, decorators: [{
6232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: NotificationUserDocumentStore, decorators: [{
5892
6233
  type: Injectable
5893
6234
  }], ctorParameters: () => [] });
5894
6235
 
@@ -5899,10 +6240,10 @@ class DbxFirebaseNotificationUserDocumentStoreDirective extends DbxFirebaseDocum
5899
6240
  constructor() {
5900
6241
  super(inject(NotificationUserDocumentStore));
5901
6242
  }
5902
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5903
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseNotificationUserDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationUserDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationUserDocumentStoreDirective, NotificationUserDocumentStore), usesInheritance: true, ngImport: i0 });
6243
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6244
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseNotificationUserDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseNotificationUserDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationUserDocumentStoreDirective, NotificationUserDocumentStore), usesInheritance: true, ngImport: i0 });
5904
6245
  }
5905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, decorators: [{
6246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, decorators: [{
5906
6247
  type: Directive,
5907
6248
  args: [{
5908
6249
  selector: '[dbxFirebaseNotificationUserDocument]',
@@ -6024,10 +6365,10 @@ class DbxFirebaseStorageFileDownloadStorage {
6024
6365
  getStorageKeyForUid(uid) {
6025
6366
  return `sf_dl_cache_${uid}`;
6026
6367
  }
6027
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6028
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage });
6368
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6369
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage });
6029
6370
  }
6030
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, decorators: [{
6371
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadStorage, decorators: [{
6031
6372
  type: Injectable
6032
6373
  }] });
6033
6374
 
@@ -6184,10 +6525,10 @@ class DbxFirebaseStorageFileDownloadService {
6184
6525
  };
6185
6526
  });
6186
6527
  }
6187
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6188
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadService });
6528
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6529
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadService });
6189
6530
  }
6190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, decorators: [{
6531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadService, decorators: [{
6191
6532
  type: Injectable
6192
6533
  }] });
6193
6534
 
@@ -6198,31 +6539,31 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6198
6539
  /**
6199
6540
  * The StorageFileKey to set up the download button for.
6200
6541
  */
6201
- storageFileKey = input(...(ngDevMode ? [undefined, { debugName: "storageFileKey" }] : []));
6542
+ storageFileKey = input(...(ngDevMode ? [undefined, { debugName: "storageFileKey" }] : /* istanbul ignore next */ []));
6202
6543
  /**
6203
6544
  * The download URL to use for the download button.
6204
6545
  */
6205
- storageFileDownloadUrl = input(...(ngDevMode ? [undefined, { debugName: "storageFileDownloadUrl" }] : []));
6546
+ storageFileDownloadUrl = input(...(ngDevMode ? [undefined, { debugName: "storageFileDownloadUrl" }] : /* istanbul ignore next */ []));
6206
6547
  /**
6207
6548
  * The MIME type to use the embed component.
6208
6549
  */
6209
- embedMimeType = input(...(ngDevMode ? [undefined, { debugName: "embedMimeType" }] : []));
6550
+ embedMimeType = input(...(ngDevMode ? [undefined, { debugName: "embedMimeType" }] : /* istanbul ignore next */ []));
6210
6551
  /**
6211
6552
  * Whether or not to show a preview button.
6212
6553
  *
6213
6554
  * Defaults to true.
6214
6555
  */
6215
- showPreviewButton = input(true, ...(ngDevMode ? [{ debugName: "showPreviewButton" }] : []));
6556
+ showPreviewButton = input(true, ...(ngDevMode ? [{ debugName: "showPreviewButton" }] : /* istanbul ignore next */ []));
6216
6557
  /**
6217
6558
  * Whether or not to pre-load the download URL from the source.
6218
6559
  */
6219
- preload = input(undefined, ...(ngDevMode ? [{ debugName: "preload" }] : []));
6560
+ preload = input(undefined, ...(ngDevMode ? [{ debugName: "preload" }] : /* istanbul ignore next */ []));
6220
6561
  /**
6221
6562
  * Output event emitted when the download details change.
6222
6563
  */
6223
6564
  downloadDetailsChange = output();
6224
- config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
6225
- source = input(...(ngDevMode ? [undefined, { debugName: "source" }] : []));
6565
+ config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
6566
+ source = input(...(ngDevMode ? [undefined, { debugName: "source" }] : /* istanbul ignore next */ []));
6226
6567
  source$ = toObservable(this.source);
6227
6568
  configSignal = computed(() => {
6228
6569
  const config = this.config();
@@ -6237,22 +6578,22 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6237
6578
  previewText: config?.previewText ?? 'View File'
6238
6579
  };
6239
6580
  return result;
6240
- }, ...(ngDevMode ? [{ debugName: "configSignal" }] : []));
6581
+ }, ...(ngDevMode ? [{ debugName: "configSignal" }] : /* istanbul ignore next */ []));
6241
6582
  preloadSignal = computed(() => {
6242
6583
  const preload = this.preload();
6243
6584
  const source = this.source();
6244
6585
  return preload ?? source?.preload ?? false;
6245
- }, ...(ngDevMode ? [{ debugName: "preloadSignal" }] : []));
6246
- downloadUrlSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadUrlSignal" }] : []));
6247
- downloadMimeTypeSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadMimeTypeSignal" }] : []));
6248
- downloadUrlExpiresAtSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadUrlExpiresAtSignal" }] : []));
6586
+ }, ...(ngDevMode ? [{ debugName: "preloadSignal" }] : /* istanbul ignore next */ []));
6587
+ downloadUrlSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadUrlSignal" }] : /* istanbul ignore next */ []));
6588
+ downloadMimeTypeSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadMimeTypeSignal" }] : /* istanbul ignore next */ []));
6589
+ downloadUrlExpiresAtSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "downloadUrlExpiresAtSignal" }] : /* istanbul ignore next */ []));
6249
6590
  storageFileKeyFromInput$ = toObservable(this.storageFileKey).pipe(distinctUntilChanged(), shareReplay(1));
6250
6591
  storageFileKeyFromSource$ = this.source$.pipe(map((source) => source?.storageFileKey), maybeValueFromObservableOrValue(), distinctUntilChanged(), shareReplay(1));
6251
6592
  storageFileKey$ = combineLatest([this.storageFileKeyFromInput$, this.storageFileKeyFromSource$]).pipe(map(([storageFileKeyFromInput, storageFileKeyFromSource]) => {
6252
6593
  return storageFileKeyFromInput ?? storageFileKeyFromSource;
6253
6594
  }), distinctUntilChanged(), shareReplay(1));
6254
6595
  storageFileKeySignal = toSignal(this.storageFileKey$);
6255
- hasDownloadUrlSignal = computed(() => Boolean(this.downloadUrlSignal()), ...(ngDevMode ? [{ debugName: "hasDownloadUrlSignal" }] : []));
6596
+ hasDownloadUrlSignal = computed(() => Boolean(this.downloadUrlSignal()), ...(ngDevMode ? [{ debugName: "hasDownloadUrlSignal" }] : /* istanbul ignore next */ []));
6256
6597
  buttonStyleSignal = computed(() => {
6257
6598
  const config = this.configSignal();
6258
6599
  const result = {
@@ -6260,7 +6601,7 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6260
6601
  ...config.buttonStyle
6261
6602
  };
6262
6603
  return result;
6263
- }, ...(ngDevMode ? [{ debugName: "buttonStyleSignal" }] : []));
6604
+ }, ...(ngDevMode ? [{ debugName: "buttonStyleSignal" }] : /* istanbul ignore next */ []));
6264
6605
  previewButtonStyleSignal = computed(() => {
6265
6606
  const config = this.configSignal();
6266
6607
  const result = {
@@ -6268,25 +6609,25 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6268
6609
  ...config.previewButtonStyle
6269
6610
  };
6270
6611
  return result;
6271
- }, ...(ngDevMode ? [{ debugName: "previewButtonStyleSignal" }] : []));
6612
+ }, ...(ngDevMode ? [{ debugName: "previewButtonStyleSignal" }] : /* istanbul ignore next */ []));
6272
6613
  iconSignal = computed(() => {
6273
6614
  const config = this.configSignal();
6274
6615
  const hasDownloadUrl = this.hasDownloadUrlSignal();
6275
6616
  return hasDownloadUrl ? (config.downloadReadyIcon ?? config.icon) : config.icon;
6276
- }, ...(ngDevMode ? [{ debugName: "iconSignal" }] : []));
6617
+ }, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
6277
6618
  textSignal = computed(() => {
6278
6619
  const config = this.configSignal();
6279
6620
  const hasDownloadUrl = this.hasDownloadUrlSignal();
6280
6621
  return hasDownloadUrl ? (config.downloadReadyText ?? config.text) : config.text;
6281
- }, ...(ngDevMode ? [{ debugName: "textSignal" }] : []));
6622
+ }, ...(ngDevMode ? [{ debugName: "textSignal" }] : /* istanbul ignore next */ []));
6282
6623
  previewIconSignal = computed(() => {
6283
6624
  const config = this.configSignal();
6284
6625
  return config.previewIcon;
6285
- }, ...(ngDevMode ? [{ debugName: "previewIconSignal" }] : []));
6626
+ }, ...(ngDevMode ? [{ debugName: "previewIconSignal" }] : /* istanbul ignore next */ []));
6286
6627
  previewTextSignal = computed(() => {
6287
6628
  const config = this.configSignal();
6288
6629
  return config.previewText;
6289
- }, ...(ngDevMode ? [{ debugName: "previewTextSignal" }] : []));
6630
+ }, ...(ngDevMode ? [{ debugName: "previewTextSignal" }] : /* istanbul ignore next */ []));
6290
6631
  anchorSignal = computed(() => {
6291
6632
  const downloadUrl = this.downloadUrlSignal();
6292
6633
  let result;
@@ -6296,23 +6637,23 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6296
6637
  };
6297
6638
  }
6298
6639
  return result;
6299
- }, ...(ngDevMode ? [{ debugName: "anchorSignal" }] : []));
6640
+ }, ...(ngDevMode ? [{ debugName: "anchorSignal" }] : /* istanbul ignore next */ []));
6300
6641
  storageFileDownloadUrlEffect = effect(() => {
6301
6642
  const downloadUrl = this.storageFileDownloadUrl();
6302
6643
  if (downloadUrl || downloadUrl === null) {
6303
6644
  this.downloadUrlSignal.set(downloadUrl);
6304
6645
  }
6305
- }, { ...(ngDevMode ? { debugName: "storageFileDownloadUrlEffect" } : {}), allowSignalWrites: true });
6646
+ }, { ...(ngDevMode ? { debugName: "storageFileDownloadUrlEffect" } : /* istanbul ignore next */ {}), allowSignalWrites: true });
6306
6647
  // Preview
6307
6648
  showPreviewButtonSignal = computed(() => {
6308
6649
  const config = this.configSignal();
6309
6650
  const hasDownloadUrl = this.hasDownloadUrlSignal();
6310
6651
  return hasDownloadUrl && (config.showPreviewButton ?? true);
6311
- }, ...(ngDevMode ? [{ debugName: "showPreviewButtonSignal" }] : []));
6652
+ }, ...(ngDevMode ? [{ debugName: "showPreviewButtonSignal" }] : /* istanbul ignore next */ []));
6312
6653
  openCustomPreviewSignal = computed(() => {
6313
6654
  const config = this.configSignal();
6314
6655
  return config.openCustomPreview;
6315
- }, ...(ngDevMode ? [{ debugName: "openCustomPreviewSignal" }] : []));
6656
+ }, ...(ngDevMode ? [{ debugName: "openCustomPreviewSignal" }] : /* istanbul ignore next */ []));
6316
6657
  handleOpenPreviewDialog = () => {
6317
6658
  const openPreview = this.openCustomPreviewSignal();
6318
6659
  const srcUrl = this.downloadUrlSignal();
@@ -6336,7 +6677,7 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6336
6677
  this.downloadMimeTypeSignal.set(cachedPair.mimeType);
6337
6678
  this.downloadUrlExpiresAtSignal.set(cachedPair.expiresAt);
6338
6679
  }
6339
- }, { ...(ngDevMode ? { debugName: "cachedUrlEffect" } : {}), allowSignalWrites: true });
6680
+ }, { ...(ngDevMode ? { debugName: "cachedUrlEffect" } : /* istanbul ignore next */ {}), allowSignalWrites: true });
6340
6681
  // Expiration Effect
6341
6682
  downloadUrlExpiresAtDate$ = toObservable(this.downloadUrlExpiresAtSignal).pipe(map(dateFromDateOrTimeSecondsNumber), distinctUntilChanged(isSameDate), shareReplay(1));
6342
6683
  downloadUrlExpiresAtDateSignal = toSignal(this.downloadUrlExpiresAtDate$);
@@ -6358,7 +6699,7 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6358
6699
  this.downloadMimeTypeSignal.set(undefined);
6359
6700
  this.downloadUrlExpiresAtSignal.set(undefined);
6360
6701
  }
6361
- }, { ...(ngDevMode ? { debugName: "downloadUrlHasExpiredEffect" } : {}), allowSignalWrites: true });
6702
+ }, { ...(ngDevMode ? { debugName: "downloadUrlHasExpiredEffect" } : /* istanbul ignore next */ {}), allowSignalWrites: true });
6362
6703
  // Output Effect
6363
6704
  downloadDetailsSignal = computed(() => {
6364
6705
  const downloadUrl = this.downloadUrlSignal();
@@ -6372,18 +6713,18 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6372
6713
  }
6373
6714
  : undefined;
6374
6715
  return details;
6375
- }, ...(ngDevMode ? [{ debugName: "downloadDetailsSignal" }] : []));
6716
+ }, ...(ngDevMode ? [{ debugName: "downloadDetailsSignal" }] : /* istanbul ignore next */ []));
6376
6717
  downloadDetailsChangedEffect = effect(() => {
6377
6718
  const details = this.downloadDetailsSignal();
6378
6719
  this.downloadDetailsChange.emit(details);
6379
- }, ...(ngDevMode ? [{ debugName: "downloadDetailsChangedEffect" }] : []));
6720
+ }, ...(ngDevMode ? [{ debugName: "downloadDetailsChangedEffect" }] : /* istanbul ignore next */ []));
6380
6721
  sourceDownloadDetailsChangeCallbackEffect = effect(() => {
6381
6722
  const details = this.downloadDetailsSignal();
6382
6723
  const source = this.source();
6383
6724
  if (source?.downloadDetailsChangeCallback) {
6384
6725
  source.downloadDetailsChangeCallback(details);
6385
6726
  }
6386
- }, { ...(ngDevMode ? { debugName: "sourceDownloadDetailsChangeCallbackEffect" } : {}), allowSignalWrites: true });
6727
+ }, { ...(ngDevMode ? { debugName: "sourceDownloadDetailsChangeCallbackEffect" } : /* istanbul ignore next */ {}), allowSignalWrites: true });
6387
6728
  // Handlers
6388
6729
  handleGetDownloadUrl = (value, context) => {
6389
6730
  const source = this.source();
@@ -6415,8 +6756,8 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6415
6756
  handleGetDownloadUrlError(error);
6416
6757
  }
6417
6758
  };
6418
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6419
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxFirebaseStorageFileDownloadButtonComponent, isStandalone: true, selector: "dbx-firebase-storagefile-download-button", inputs: { storageFileKey: { classPropertyName: "storageFileKey", publicName: "storageFileKey", isSignal: true, isRequired: false, transformFunction: null }, storageFileDownloadUrl: { classPropertyName: "storageFileDownloadUrl", publicName: "storageFileDownloadUrl", isSignal: true, isRequired: false, transformFunction: null }, embedMimeType: { classPropertyName: "embedMimeType", publicName: "embedMimeType", isSignal: true, isRequired: false, transformFunction: null }, showPreviewButton: { classPropertyName: "showPreviewButton", publicName: "showPreviewButton", isSignal: true, isRequired: false, transformFunction: null }, preload: { classPropertyName: "preload", publicName: "preload", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, source: { classPropertyName: "source", publicName: "source", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { downloadDetailsChange: "downloadDetailsChange" }, ngImport: i0, template: `
6759
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6760
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxFirebaseStorageFileDownloadButtonComponent, isStandalone: true, selector: "dbx-firebase-storagefile-download-button", inputs: { storageFileKey: { classPropertyName: "storageFileKey", publicName: "storageFileKey", isSignal: true, isRequired: false, transformFunction: null }, storageFileDownloadUrl: { classPropertyName: "storageFileDownloadUrl", publicName: "storageFileDownloadUrl", isSignal: true, isRequired: false, transformFunction: null }, embedMimeType: { classPropertyName: "embedMimeType", publicName: "embedMimeType", isSignal: true, isRequired: false, transformFunction: null }, showPreviewButton: { classPropertyName: "showPreviewButton", publicName: "showPreviewButton", isSignal: true, isRequired: false, transformFunction: null }, preload: { classPropertyName: "preload", publicName: "preload", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, source: { classPropertyName: "source", publicName: "source", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { downloadDetailsChange: "downloadDetailsChange" }, ngImport: i0, template: `
6420
6761
  <dbx-anchor dbxActionAnchor [anchor]="anchorSignal()" dbxAction [dbxActionAutoTrigger]="preloadSignal()" dbxActionSnackbarError [dbxActionDisabled]="!storageFileKeySignal()" [dbxActionValue]="storageFileKeySignal()" [dbxActionHandler]="handleGetDownloadUrl" [dbxActionSuccessHandler]="handleGetDownloadUrlSuccess" [dbxActionErrorHandler]="handleGetDownloadUrlError">
6421
6762
  <dbx-button dbxActionButton [buttonStyle]="buttonStyleSignal()" [icon]="iconSignal()" [text]="textSignal()"></dbx-button>
6422
6763
  </dbx-anchor>
@@ -6426,9 +6767,9 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
6426
6767
  <dbx-button dbxActionButton [buttonStyle]="previewButtonStyleSignal()" [icon]="previewIconSignal()" [text]="previewTextSignal()"></dbx-button>
6427
6768
  </ng-container>
6428
6769
  }
6429
- `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionHandlerValueDirective, selector: "[dbxActionHandlerValue]", inputs: ["dbxActionHandlerValue"] }, { kind: "directive", type: i2.DbxActionDisabledDirective, selector: "[dbxActionDisabled]", inputs: ["dbxActionDisabled"] }, { kind: "directive", type: i2.DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionErrorHandlerDirective, selector: "[dbxActionErrorHandler]", inputs: ["dbxActionErrorHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "directive", type: DbxActionSnackbarErrorDirective, selector: "[dbxActionSnackbarError]", inputs: ["dbxActionSnackbarError"] }, { kind: "directive", type: DbxActionDialogDirective, selector: "[dbxActionDialog]", inputs: ["dbxActionDialog", "dbxActionDialogIsModified", "dbxActionDialogIsEqual"], exportAs: ["dbxActionDialog"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6770
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionHandlerValueDirective, selector: "[dbxActionHandlerValue]", inputs: ["dbxActionHandlerValue"] }, { kind: "directive", type: i2.DbxActionDisabledDirective, selector: "[dbxActionDisabled]", inputs: ["dbxActionDisabled"] }, { kind: "directive", type: i2.DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i2.DbxActionErrorHandlerDirective, selector: "[dbxActionErrorHandler]", inputs: ["dbxActionErrorHandler"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "directive", type: DbxActionSnackbarErrorDirective, selector: "[dbxActionSnackbarError]", inputs: ["dbxActionSnackbarError"] }, { kind: "directive", type: DbxActionDialogDirective, selector: "[dbxActionDialog]", inputs: ["dbxActionDialog", "dbxActionDialogIsModified", "dbxActionDialogIsEqual"], exportAs: ["dbxActionDialog"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6430
6771
  }
6431
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDownloadButtonComponent, decorators: [{
6772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDownloadButtonComponent, decorators: [{
6432
6773
  type: Component,
6433
6774
  args: [{
6434
6775
  selector: 'dbx-firebase-storagefile-download-button',
@@ -6499,10 +6840,10 @@ class DbxFirebaseStorageFileUploadStore extends ComponentStore {
6499
6840
  * Sets the upload result.
6500
6841
  */
6501
6842
  setUploadResult = this.updater((state, uploadResult) => ({ ...state, isUploadHandlerWorking: false, uploadProgress: undefined, uploadResult }));
6502
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6503
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadStore });
6843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6844
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadStore });
6504
6845
  }
6505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadStore, decorators: [{
6846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadStore, decorators: [{
6506
6847
  type: Injectable
6507
6848
  }], ctorParameters: () => [] });
6508
6849
 
@@ -6789,7 +7130,7 @@ class DbxFirebaseStorageFileUploadActionHandlerDirective {
6789
7130
  *
6790
7131
  * Defaults to false.
6791
7132
  */
6792
- triggerOnFiles = input(false, ...(ngDevMode ? [{ debugName: "triggerOnFiles" }] : []));
7133
+ triggerOnFiles = input(false, ...(ngDevMode ? [{ debugName: "triggerOnFiles" }] : /* istanbul ignore next */ []));
6793
7134
  triggerOnFiles$ = toObservable(this.triggerOnFiles);
6794
7135
  /**
6795
7136
  * Uploading of all/any files should be cancelled if any file fails to upload.
@@ -6798,14 +7139,14 @@ class DbxFirebaseStorageFileUploadActionHandlerDirective {
6798
7139
  *
6799
7140
  * Defaults to false.
6800
7141
  */
6801
- cancelUploadsOnUploadError = input(false, ...(ngDevMode ? [{ debugName: "cancelUploadsOnUploadError" }] : []));
7142
+ cancelUploadsOnUploadError = input(false, ...(ngDevMode ? [{ debugName: "cancelUploadsOnUploadError" }] : /* istanbul ignore next */ []));
6802
7143
  /**
6803
7144
  * The upload should fail if any file fails to upload, rather than if all files fail to upload.
6804
7145
  *
6805
7146
  * Defaults to false.
6806
7147
  */
6807
- actionFailureOnUploadError = input(false, ...(ngDevMode ? [{ debugName: "actionFailureOnUploadError" }] : []));
6808
- uploadHandler = input.required({ ...(ngDevMode ? { debugName: "uploadHandler" } : {}), alias: 'dbxFirebaseStorageFileUploadActionHandler' });
7148
+ actionFailureOnUploadError = input(false, ...(ngDevMode ? [{ debugName: "actionFailureOnUploadError" }] : /* istanbul ignore next */ []));
7149
+ uploadHandler = input.required({ ...(ngDevMode ? { debugName: "uploadHandler" } : /* istanbul ignore next */ {}), alias: 'dbxFirebaseStorageFileUploadActionHandler' });
6809
7150
  _uploadHandlerEffect = effect(() => {
6810
7151
  const uploadHandler = this.uploadHandler();
6811
7152
  let handlerFunction;
@@ -6839,7 +7180,7 @@ class DbxFirebaseStorageFileUploadActionHandlerDirective {
6839
7180
  handlerFunction = undefined;
6840
7181
  }
6841
7182
  this._dbxActionHandlerInstance.setHandlerFunction(handlerFunction);
6842
- }, ...(ngDevMode ? [{ debugName: "_uploadHandlerEffect" }] : []));
7183
+ }, ...(ngDevMode ? [{ debugName: "_uploadHandlerEffect" }] : /* istanbul ignore next */ []));
6843
7184
  files$ = this.uploadStore.files$;
6844
7185
  uploadHandler$ = toObservable(this.uploadHandler);
6845
7186
  constructor() {
@@ -6877,10 +7218,10 @@ class DbxFirebaseStorageFileUploadActionHandlerDirective {
6877
7218
  // sync progress amount
6878
7219
  this.source.setWorkProgress(this.uploadStore.latestProgressEvent$.pipe(throttleTime(100, undefined, { leading: true, trailing: true }), map((x) => x?.overallProgress), distinctUntilChanged()));
6879
7220
  }
6880
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadActionHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6881
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseStorageFileUploadActionHandlerDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadActionHandler]", inputs: { triggerOnFiles: { classPropertyName: "triggerOnFiles", publicName: "triggerOnFiles", isSignal: true, isRequired: false, transformFunction: null }, cancelUploadsOnUploadError: { classPropertyName: "cancelUploadsOnUploadError", publicName: "cancelUploadsOnUploadError", isSignal: true, isRequired: false, transformFunction: null }, actionFailureOnUploadError: { classPropertyName: "actionFailureOnUploadError", publicName: "actionFailureOnUploadError", isSignal: true, isRequired: false, transformFunction: null }, uploadHandler: { classPropertyName: "uploadHandler", publicName: "dbxFirebaseStorageFileUploadActionHandler", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
7221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadActionHandlerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7222
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseStorageFileUploadActionHandlerDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadActionHandler]", inputs: { triggerOnFiles: { classPropertyName: "triggerOnFiles", publicName: "triggerOnFiles", isSignal: true, isRequired: false, transformFunction: null }, cancelUploadsOnUploadError: { classPropertyName: "cancelUploadsOnUploadError", publicName: "cancelUploadsOnUploadError", isSignal: true, isRequired: false, transformFunction: null }, actionFailureOnUploadError: { classPropertyName: "actionFailureOnUploadError", publicName: "actionFailureOnUploadError", isSignal: true, isRequired: false, transformFunction: null }, uploadHandler: { classPropertyName: "uploadHandler", publicName: "dbxFirebaseStorageFileUploadActionHandler", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
6882
7223
  }
6883
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadActionHandlerDirective, decorators: [{
7224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadActionHandlerDirective, decorators: [{
6884
7225
  type: Directive,
6885
7226
  args: [{
6886
7227
  selector: '[dbxFirebaseStorageFileUploadActionHandler]',
@@ -6894,10 +7235,10 @@ class StorageFileCollectionStore extends AbstractDbxFirebaseCollectionStore {
6894
7235
  super({ firestoreCollection: inject(StorageFileFirestoreCollections).storageFileCollection });
6895
7236
  }
6896
7237
  initializeAllStorageFilesFromUpload = firebaseCollectionStoreCreateFunction(this, this.storageFileFunctions.storageFile.createStorageFile.allFromUpload);
6897
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6898
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileCollectionStore });
7238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileCollectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7239
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileCollectionStore });
6899
7240
  }
6900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileCollectionStore, decorators: [{
7241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileCollectionStore, decorators: [{
6901
7242
  type: Injectable
6902
7243
  }], ctorParameters: () => [] });
6903
7244
 
@@ -6906,10 +7247,10 @@ class DbxFirebaseStorageFileCollectionStoreDirective extends DbxFirebaseCollecti
6906
7247
  super(inject(StorageFileCollectionStore));
6907
7248
  this.setConstraints([]);
6908
7249
  }
6909
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6910
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseStorageFileCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseStorageFileCollectionStoreDirective, StorageFileCollectionStore), usesInheritance: true, ngImport: i0 });
7250
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7251
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseStorageFileCollectionStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseStorageFileCollectionStoreDirective, StorageFileCollectionStore), usesInheritance: true, ngImport: i0 });
6911
7252
  }
6912
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, decorators: [{
7253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileCollectionStoreDirective, decorators: [{
6913
7254
  type: Directive,
6914
7255
  args: [{
6915
7256
  selector: '[dbxFirebaseStorageFileCollection]',
@@ -6930,10 +7271,10 @@ class StorageFileDocumentStore extends AbstractDbxFirebaseDocumentStore {
6930
7271
  processStorageFile = firebaseDocumentStoreUpdateFunction(this, this.storageFileFunctions.storageFile.updateStorageFile.process);
6931
7272
  deleteStorageFile = firebaseDocumentStoreDeleteFunction(this, this.storageFileFunctions.storageFile.deleteStorageFile.delete);
6932
7273
  downloadStorageFile = firebaseDocumentStoreReadFunction(this, this.storageFileFunctions.storageFile.readStorageFile.download);
6933
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6934
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileDocumentStore });
7274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7275
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileDocumentStore });
6935
7276
  }
6936
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileDocumentStore, decorators: [{
7277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileDocumentStore, decorators: [{
6937
7278
  type: Injectable
6938
7279
  }], ctorParameters: () => [] });
6939
7280
 
@@ -6941,10 +7282,10 @@ class DbxFirebaseStorageFileDocumentStoreDirective extends DbxFirebaseDocumentSt
6941
7282
  constructor() {
6942
7283
  super(inject(StorageFileDocumentStore));
6943
7284
  }
6944
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6945
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseStorageFileDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileDocumentStoreDirective, StorageFileDocumentStore), usesInheritance: true, ngImport: i0 });
7285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7286
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseStorageFileDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileDocumentStoreDirective, StorageFileDocumentStore), usesInheritance: true, ngImport: i0 });
6946
7287
  }
6947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, decorators: [{
7288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileDocumentStoreDirective, decorators: [{
6948
7289
  type: Directive,
6949
7290
  args: [{
6950
7291
  selector: '[dbxFirebaseStorageFileDocument]',
@@ -6960,10 +7301,10 @@ class StorageFileGroupDocumentStore extends AbstractDbxFirebaseDocumentStore {
6960
7301
  }
6961
7302
  updateStorageFileGroup = firebaseDocumentStoreUpdateFunction(this, this.storageFileFunctions.storageFileGroup.updateStorageFileGroup.update);
6962
7303
  regenerateStorageFileGroupContent = firebaseDocumentStoreCrudFunction(this.storageFileFunctions.storageFileGroup.updateStorageFileGroup.regenerateContent);
6963
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileGroupDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6964
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileGroupDocumentStore });
7304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileGroupDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7305
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileGroupDocumentStore });
6965
7306
  }
6966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: StorageFileGroupDocumentStore, decorators: [{
7307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: StorageFileGroupDocumentStore, decorators: [{
6967
7308
  type: Injectable
6968
7309
  }], ctorParameters: () => [] });
6969
7310
 
@@ -6971,10 +7312,10 @@ class DbxFirebaseStorageFileGroupDocumentStoreDirective extends DbxFirebaseDocum
6971
7312
  constructor() {
6972
7313
  super(inject(StorageFileGroupDocumentStore));
6973
7314
  }
6974
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileGroupDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6975
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseStorageFileGroupDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileGroupDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileGroupDocumentStoreDirective, StorageFileGroupDocumentStore), usesInheritance: true, ngImport: i0 });
7315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileGroupDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7316
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseStorageFileGroupDocumentStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileGroupDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseStorageFileGroupDocumentStoreDirective, StorageFileGroupDocumentStore), usesInheritance: true, ngImport: i0 });
6976
7317
  }
6977
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileGroupDocumentStoreDirective, decorators: [{
7318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileGroupDocumentStoreDirective, decorators: [{
6978
7319
  type: Directive,
6979
7320
  args: [{
6980
7321
  selector: '[dbxFirebaseStorageFileGroupDocument]',
@@ -6991,7 +7332,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6991
7332
  class DbxFirebaseStorageFileUploadInitializeDocumentDirective {
6992
7333
  uploadStore = inject(DbxFirebaseStorageFileUploadStore);
6993
7334
  storageFileDocumentStore = inject(StorageFileDocumentStore);
6994
- initializeWithExpediteProcessing = input(...(ngDevMode ? [undefined, { debugName: "initializeWithExpediteProcessing" }] : []));
7335
+ initializeWithExpediteProcessing = input(...(ngDevMode ? [undefined, { debugName: "initializeWithExpediteProcessing" }] : /* istanbul ignore next */ []));
6995
7336
  source = inject((DbxActionContextStoreSourceInstance), { host: true });
6996
7337
  _dbxActionHandlerInstance = clean(new DbxActionHandlerInstance(this.source));
6997
7338
  constructor() {
@@ -7013,10 +7354,10 @@ class DbxFirebaseStorageFileUploadInitializeDocumentDirective {
7013
7354
  });
7014
7355
  this._dbxActionHandlerInstance.init();
7015
7356
  }
7016
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7017
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadInitializeDocument]", inputs: { initializeWithExpediteProcessing: { classPropertyName: "initializeWithExpediteProcessing", publicName: "initializeWithExpediteProcessing", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["dbxFirebaseStorageFileUploadInitializeDocument"], ngImport: i0 });
7357
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7358
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadInitializeDocument]", inputs: { initializeWithExpediteProcessing: { classPropertyName: "initializeWithExpediteProcessing", publicName: "initializeWithExpediteProcessing", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["dbxFirebaseStorageFileUploadInitializeDocument"], ngImport: i0 });
7018
7359
  }
7019
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, decorators: [{
7360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadInitializeDocumentDirective, decorators: [{
7020
7361
  type: Directive,
7021
7362
  args: [{
7022
7363
  selector: '[dbxFirebaseStorageFileUploadInitializeDocument]',
@@ -7030,18 +7371,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7030
7371
  */
7031
7372
  class DbxFirebaseStorageFileUploadStoreDirective {
7032
7373
  uploadStore = inject(DbxFirebaseStorageFileUploadStore);
7033
- multipleUpload = input(...(ngDevMode ? [undefined, { debugName: "multipleUpload" }] : []));
7034
- fileTypesAccepted = input(...(ngDevMode ? [undefined, { debugName: "fileTypesAccepted" }] : []));
7374
+ multipleUpload = input(...(ngDevMode ? [undefined, { debugName: "multipleUpload" }] : /* istanbul ignore next */ []));
7375
+ fileTypesAccepted = input(...(ngDevMode ? [undefined, { debugName: "fileTypesAccepted" }] : /* istanbul ignore next */ []));
7035
7376
  fileTypesAccepted$ = toObservable(this.fileTypesAccepted).pipe(skipAllInitialMaybe(), shareReplay(1));
7036
7377
  isMultiUploadAllowed$ = toObservable(this.multipleUpload).pipe(skipAllInitialMaybe(), shareReplay(1));
7037
7378
  constructor() {
7038
7379
  cleanSubscription(this.fileTypesAccepted$.subscribe((x) => this.uploadStore.setFileTypesAccepted(x)));
7039
7380
  cleanSubscription(this.isMultiUploadAllowed$.subscribe((x) => this.uploadStore.setIsMultiUploadAllowed(x)));
7040
7381
  }
7041
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7042
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxFirebaseStorageFileUploadStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadStore]", inputs: { multipleUpload: { classPropertyName: "multipleUpload", publicName: "multipleUpload", isSignal: true, isRequired: false, transformFunction: null }, fileTypesAccepted: { classPropertyName: "fileTypesAccepted", publicName: "fileTypesAccepted", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DbxFirebaseStorageFileUploadStore], exportAs: ["dbxFirebaseStorageFileUploadStore"], ngImport: i0 });
7382
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7383
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.3", type: DbxFirebaseStorageFileUploadStoreDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadStore]", inputs: { multipleUpload: { classPropertyName: "multipleUpload", publicName: "multipleUpload", isSignal: true, isRequired: false, transformFunction: null }, fileTypesAccepted: { classPropertyName: "fileTypesAccepted", publicName: "fileTypesAccepted", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DbxFirebaseStorageFileUploadStore], exportAs: ["dbxFirebaseStorageFileUploadStore"], ngImport: i0 });
7043
7384
  }
7044
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadStoreDirective, decorators: [{
7385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadStoreDirective, decorators: [{
7045
7386
  type: Directive,
7046
7387
  args: [{
7047
7388
  selector: '[dbxFirebaseStorageFileUploadStore]',
@@ -7062,10 +7403,10 @@ class DbxFirebaseStorageFileUploadSyncDirective {
7062
7403
  cleanSubscription(this.uploadStore.isMultiUploadAllowed$.subscribe((x) => this.uploadComponent.setMultiple(x)));
7063
7404
  cleanSubscription(this.uploadComponent.filesChanged.subscribe((files) => this.uploadStore.setFiles(files.matchResult.accepted)));
7064
7405
  }
7065
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadSyncDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7066
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFirebaseStorageFileUploadSyncDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadSync]", exportAs: ["dbxFirebaseStorageFileUploadSync"], ngImport: i0 });
7406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadSyncDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
7407
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxFirebaseStorageFileUploadSyncDirective, isStandalone: true, selector: "[dbxFirebaseStorageFileUploadSync]", exportAs: ["dbxFirebaseStorageFileUploadSync"], ngImport: i0 });
7067
7408
  }
7068
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadSyncDirective, decorators: [{
7409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadSyncDirective, decorators: [{
7069
7410
  type: Directive,
7070
7411
  args: [{
7071
7412
  selector: '[dbxFirebaseStorageFileUploadSync]',
@@ -7103,8 +7444,8 @@ const IMPORTS_AND_EXPORTS = [
7103
7444
  * - DbxFirebaseStorageFileUploadStore
7104
7445
  */
7105
7446
  class DbxFirebaseStorageFileUploadModule {
7106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7107
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
7447
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7448
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
7108
7449
  // dbx-core/dbx-web modules/components
7109
7450
  DbxActionModule,
7110
7451
  DbxLoadingComponent,
@@ -7135,7 +7476,7 @@ class DbxFirebaseStorageFileUploadModule {
7135
7476
  // stores
7136
7477
  DbxFirebaseStorageFileCollectionStoreDirective,
7137
7478
  DbxFirebaseStorageFileDocumentStoreDirective] });
7138
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
7479
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, imports: [
7139
7480
  // dbx-core/dbx-web modules/components
7140
7481
  DbxActionModule,
7141
7482
  DbxLoadingComponent,
@@ -7143,7 +7484,7 @@ class DbxFirebaseStorageFileUploadModule {
7143
7484
  // dbx-core/dbx-web modules/components
7144
7485
  DbxActionModule] });
7145
7486
  }
7146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, decorators: [{
7487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageFileUploadModule, decorators: [{
7147
7488
  type: NgModule,
7148
7489
  args: [{
7149
7490
  imports: IMPORTS_AND_EXPORTS,
@@ -7201,10 +7542,10 @@ class FlatFirestoreModelKeyPipe {
7201
7542
  return '';
7202
7543
  }
7203
7544
  }
7204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FlatFirestoreModelKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7205
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: FlatFirestoreModelKeyPipe, isStandalone: true, name: "flatFirestoreModelKey" });
7545
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: FlatFirestoreModelKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7546
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: FlatFirestoreModelKeyPipe, isStandalone: true, name: "flatFirestoreModelKey" });
7206
7547
  }
7207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: FlatFirestoreModelKeyPipe, decorators: [{
7548
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: FlatFirestoreModelKeyPipe, decorators: [{
7208
7549
  type: Pipe,
7209
7550
  args: [{ name: 'flatFirestoreModelKey', standalone: true }]
7210
7551
  }] });
@@ -7229,10 +7570,10 @@ class TwoWayFlatFirestoreModelKeyPipe {
7229
7570
  return '';
7230
7571
  }
7231
7572
  }
7232
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7233
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, isStandalone: true, name: "twoWayFlatFirestoreModelKey" });
7573
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
7574
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, isStandalone: true, name: "twoWayFlatFirestoreModelKey" });
7234
7575
  }
7235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, decorators: [{
7576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: TwoWayFlatFirestoreModelKeyPipe, decorators: [{
7236
7577
  type: Pipe,
7237
7578
  args: [{ name: 'twoWayFlatFirestoreModelKey', standalone: true }]
7238
7579
  }] });
@@ -7336,10 +7677,10 @@ class DbxFirebaseStorageService {
7336
7677
  folder(path) {
7337
7678
  return this.storageContext.folder(path);
7338
7679
  }
7339
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7340
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageService, providedIn: 'root' });
7680
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7681
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageService, providedIn: 'root' });
7341
7682
  }
7342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseStorageService, decorators: [{
7683
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseStorageService, decorators: [{
7343
7684
  type: Injectable,
7344
7685
  args: [{
7345
7686
  providedIn: 'root'
@@ -7385,11 +7726,11 @@ function providedDbxFirebaseStorage(config) {
7385
7726
  }
7386
7727
 
7387
7728
  class DbxFirebaseModule {
7388
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7389
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModule, exports: [DbxFirebaseModelModule] });
7390
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModule, imports: [DbxFirebaseModelModule] });
7729
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7730
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModule, exports: [DbxFirebaseModelModule] });
7731
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModule, imports: [DbxFirebaseModelModule] });
7391
7732
  }
7392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFirebaseModule, decorators: [{
7733
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFirebaseModule, decorators: [{
7393
7734
  type: NgModule,
7394
7735
  args: [{
7395
7736
  exports: [DbxFirebaseModelModule]
@@ -7451,5 +7792,5 @@ function provideDbxFirebase(config) {
7451
7792
  * Generated bundle index. Do not edit.
7452
7793
  */
7453
7794
 
7454
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntityWidgetDirective, 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_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN, 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, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorService, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileGroupDocumentStoreDirective, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, IMPORTS_AND_EXPORTS, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileGroupDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelEntityWidgetInjectionConfigFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, isDbxFirebaseModelEntityWithStore, linkDocumentStoreToParentContextStores, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
7795
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntityWidgetDirective, 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_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN, 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, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorService, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseManageAuthProvidersComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileGroupDocumentStoreDirective, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FIREBASE_PROVIDER_ID_TO_LOGIN_METHOD_TYPE_MAP, FlatFirestoreModelKeyPipe, IMPORTS_AND_EXPORTS, LOGIN_METHOD_TYPE_TO_FIREBASE_PROVIDER_ID_MAP, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileGroupDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelEntityWidgetInjectionConfigFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, firebaseProviderIdToLoginMethodType, isDbxFirebaseModelEntityWithStore, linkDocumentStoreToParentContextStores, loginMethodTypeToFirebaseProviderId, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
7455
7796
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map