@dereekb/dbx-firebase 14.0.0 → 14.0.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.
@@ -10,7 +10,7 @@ import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFr
10
10
  import { safeFormatToISO8601DateString, msToSeconds, isSameDate } from '@dereekb/date';
11
11
  import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
12
12
  import * as i1$2 from '@dereekb/dbx-web';
13
- 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, DbxLoadingComponent, DbxDetailBlockComponent, DbxClickToCopyTextComponent, DbxDownloadTextViewComponent, DbxModelObjectStateService, DbxListViewWrapper, DbxActionConfirmDirective, DbxActionSnackbarErrorDirective, AbstractDialogDirective, DbxDialogModule, DbxContentPitDirective, AbstractDbxListWrapperDirective, AbstractDbxListViewDirective, DbxValueListViewComponentImportsModule, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DbxAvatarComponent, DbxChipDirective, DbxStepBlockComponent, DbxWebFilePreviewService, DbxActionDialogDirective, DbxFileListItemComponent, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective, DbxLabelBlockComponent, compressImageFile, DbxPdfMergeEditorStore, PDF_MERGE_RESULT_MIME_TYPE, DbxColorDirective, DbxIconTileComponent, AbstractDbxWidgetComponent, DbxDialogContentDirective, DbxPopoverInteractionModule, DbxListModifierModule } from '@dereekb/dbx-web';
13
+ import { DbxLinkComponent, DbxActionSnackbarErrorDirective, 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, DbxLoadingComponent, DbxDetailBlockComponent, DbxClickToCopyTextComponent, DbxDownloadTextViewComponent, DbxModelObjectStateService, DbxListViewWrapper, DbxActionConfirmDirective, AbstractDialogDirective, DbxDialogModule, DbxContentPitDirective, AbstractDbxListWrapperDirective, AbstractDbxListViewDirective, DbxValueListViewComponentImportsModule, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DbxAvatarComponent, DbxChipDirective, DbxStepBlockComponent, DbxWebFilePreviewService, DbxActionDialogDirective, DbxFileListItemComponent, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective, DbxLabelBlockComponent, compressImageFile, DbxPdfMergeEditorStore, PDF_MERGE_RESULT_MIME_TYPE, DbxColorDirective, DbxIconTileComponent, AbstractDbxWidgetComponent, DbxDialogContentDirective, DbxPopoverInteractionModule, DbxListModifierModule } from '@dereekb/dbx-web';
14
14
  import * as i1 from '@angular/material/icon';
15
15
  import { MatIconModule, MatIcon } from '@angular/material/icon';
16
16
  import { firebaseAuthErrorToReadableError, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, StorageFileFirestoreCollections, CalendarFirestoreCollections, FormSpaceFirestoreCollections, 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, CalendarFunctions, firestoreModelKey, storageFileIdentity, calendarNextIcsRotateAt, isCalendarIcsRotateThrottled, calendarSyncState, userExternalConnectionEntryIsConnected, CALCOM_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE, ZOOM_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE, DISCORD_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE, ZOHO_USER_EXTERNAL_CONNECTION_PROVIDER_TYPE, UserExternalConnectionFunctions, FormSpaceProcessingState, FormSpaceState, AppFormSpaceTypeConfigService, FormSpaceFunctions, isFormSpaceEditable, formSpaceFilesInSlot, formSpaceSubmitBlockers, isFormSpaceReopenable, isFormSpaceFullyLocked, formSpaceSlotStatus, StorageFileFunctions, GOOGLE_CLOUD_STORAGE_PUBLIC_URL_API_ENDPOINT, storagePublicDownloadUrl, formSpaceUploadsFilePath, DEFAULT_FORM_SPACE_SLOT_MAX_FILES, DEFAULT_FORM_SPACE_FILE_ACCESS, isFormSpaceFileAccessibleWithAccess, FormSpaceFileValidationState, formSpaceFileSlotName, appFormSpaceTypeConfigService, formSpaceTypeConfigRecord, NotificationHealthCheckStatus, NotificationDeliveryMethod, MailgunNotificationHealthCheckIssueCode, KnownNotificationHealthCheckIssueCode, AppNotificationTemplateTypeInfoRecordService, NotificationFunctions, notificationUserHealthCheckNextRunAt, notificationUserHealthCheckNextProbeAtByMethod, notificationHealthCheckPendingProbeMethods, notificationUserHealthCheckNextVerifyAt, DEFAULT_NOTIFICATION_USER_HEALTH_CHECK_VERIFY_THROTTLE_SECONDS, ALL_NOTIFICATION_DELIVERY_METHODS, unreadNotificationItems, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
@@ -1213,7 +1213,7 @@ class DbxFirebaseLoginButtonComponent {
1213
1213
  };
1214
1214
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseLoginButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1215
1215
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", 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 dbx-button-neutral-interaction-color" }, ngImport: i0, template: `
1216
- <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()">
1216
+ <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()" dbxActionSnackbarError>
1217
1217
  <dbx-button dbxActionButton [buttonStyle]="buttonStyleSignal()" [raised]="true" [attr.aria-label]="textSignal()">
1218
1218
  <div class="dbx-firebase-login-button-content">
1219
1219
  <span class="dbx-firebase-login-button-icon dbx-icon-spacer">
@@ -1228,14 +1228,14 @@ class DbxFirebaseLoginButtonComponent {
1228
1228
  </div>
1229
1229
  </dbx-button>
1230
1230
  </ng-container>
1231
- `, 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: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i1$1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "directive", type: i1$2.DbxActionConfirmDirective, selector: "[dbxActionConfirm]", inputs: ["dbxActionConfirm", "dbxActionConfirmSkip"] }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }] });
1231
+ `, isInline: true, dependencies: [{ kind: "directive", type: DbxActionSnackbarErrorDirective, selector: "[dbxActionSnackbarError]", inputs: ["dbxActionSnackbarError"] }, { 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: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: ["dbxActionSuccessHandler"] }, { kind: "directive", type: i1$1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "directive", type: i1$2.DbxActionConfirmDirective, selector: "[dbxActionConfirm]", inputs: ["dbxActionConfirm", "dbxActionConfirmSkip"] }, { kind: "ngmodule", type: DbxButtonModule }, { kind: "component", type: i1$2.DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }] });
1232
1232
  }
1233
1233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseLoginButtonComponent, decorators: [{
1234
1234
  type: Component,
1235
1235
  args: [{
1236
1236
  selector: 'dbx-firebase-login-button',
1237
1237
  template: `
1238
- <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()">
1238
+ <ng-container dbxAction [dbxActionHandler]="handleAction" [dbxActionSuccessHandler]="onActionSuccess" [dbxActionConfirm]="confirmConfigSignal()" [dbxActionConfirmSkip]="!confirmConfigSignal()" dbxActionSnackbarError>
1239
1239
  <dbx-button dbxActionButton [buttonStyle]="buttonStyleSignal()" [raised]="true" [attr.aria-label]="textSignal()">
1240
1240
  <div class="dbx-firebase-login-button-content">
1241
1241
  <span class="dbx-firebase-login-button-icon dbx-icon-spacer">
@@ -1254,7 +1254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
1254
1254
  host: {
1255
1255
  class: 'dbx-firebase-login-button dbx-button-neutral-interaction-color'
1256
1256
  },
1257
- imports: [MatIconModule, DbxActionModule, DbxButtonModule]
1257
+ imports: [DbxActionSnackbarErrorDirective, MatIconModule, DbxActionModule, DbxButtonModule]
1258
1258
  }]
1259
1259
  }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }, { type: i0.Output, args: ["configChange"] }] } });
1260
1260
  /**
@@ -2669,22 +2669,22 @@ class DbxFirebaseDevelopmentSchedulerListViewItemComponent extends AbstractDbxVa
2669
2669
  };
2670
2670
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2671
2671
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.4", type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
2672
- <div dbxAction dbxActionValue useFastTriggerPreset [dbxActionHandler]="handleRun">
2672
+ <div dbxAction dbxActionValue useFastTriggerPreset [dbxActionHandler]="handleRun" dbxActionSnackbarError>
2673
2673
  <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
2674
2674
  <div *dbxActionHasSuccess="3000" class="dbx-success">Success</div>
2675
2675
  </div>
2676
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1$1.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i1$1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }] });
2676
+ `, isInline: true, dependencies: [{ kind: "directive", type: DbxActionSnackbarErrorDirective, selector: "[dbxActionSnackbarError]", inputs: ["dbxActionSnackbarError"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i1$1.DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: ["dbxActionHasSuccess"] }, { kind: "directive", type: i1$1.DbxActionButtonDirective, selector: "[dbxActionButton]", inputs: ["dbxActionButtonEcho"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }] });
2677
2677
  }
2678
2678
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerListViewItemComponent, decorators: [{
2679
2679
  type: Component,
2680
2680
  args: [{
2681
2681
  template: `
2682
- <div dbxAction dbxActionValue useFastTriggerPreset [dbxActionHandler]="handleRun">
2682
+ <div dbxAction dbxActionValue useFastTriggerPreset [dbxActionHandler]="handleRun" dbxActionSnackbarError>
2683
2683
  <dbx-button dbxActionButton [text]="'Run ' + name"></dbx-button>
2684
2684
  <div *dbxActionHasSuccess="3000" class="dbx-success">Success</div>
2685
2685
  </div>
2686
2686
  `,
2687
- imports: [DbxActionModule, DbxButtonComponent, DbxActionButtonDirective]
2687
+ imports: [DbxActionSnackbarErrorDirective, DbxActionModule, DbxButtonComponent, DbxActionButtonDirective]
2688
2688
  }]
2689
2689
  }] });
2690
2690
 
@@ -2846,11 +2846,28 @@ class DbxFirebaseDevelopmentPopupContentComponent {
2846
2846
  this._activeEntrySelector.next(undefined);
2847
2847
  }
2848
2848
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2849
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", 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-forge-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-forge-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: DbxFirebaseDevelopmentPopupContentForgeFormComponent, selector: "dbx-firebase-development-popup-content-forge-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$4.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"] }] });
2849
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", 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\" dbxActionSnackbarError>\n <dbx-firebase-development-popup-content-forge-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-forge-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: "directive", type: DbxActionSnackbarErrorDirective, selector: "[dbxActionSnackbarError]", inputs: ["dbxActionSnackbarError"] }, { 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: DbxFirebaseDevelopmentPopupContentForgeFormComponent, selector: "dbx-firebase-development-popup-content-forge-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$4.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"] }] });
2850
2850
  }
2851
2851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseDevelopmentPopupContentComponent, decorators: [{
2852
2852
  type: Component,
2853
- args: [{ selector: 'dbx-firebase-development-popup-content', imports: [DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, DbxWidgetViewComponent, DbxFirebaseDevelopmentPopupContentForgeFormComponent, DbxActionDirective, DbxActionEnforceModifiedDirective, DbxActionHandlerDirective, DbxActionFormDirective, DbxFormSourceDirective, DbxActionAutoTriggerDirective, MatButtonModule], providers: [TwoColumnsContextStore], template: "<dbx-two-column class=\"dbx-firebase-development-popup-content\" [dbxTwoColumnFullLeft]=\"true\">\n <dbx-two-block left>\n <div>\n <h4>Info</h4>\n <p>Scheduler (Running): {{ 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-forge-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-forge-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"] }]
2853
+ args: [{ selector: 'dbx-firebase-development-popup-content', imports: [
2854
+ DbxActionSnackbarErrorDirective,
2855
+ DbxAnchorComponent,
2856
+ DbxTwoColumnFullLeftDirective,
2857
+ DbxWidgetViewComponent,
2858
+ DbxTwoColumnComponent,
2859
+ DbxTwoBlockComponent,
2860
+ DbxTwoColumnRightComponent,
2861
+ DbxWidgetViewComponent,
2862
+ DbxFirebaseDevelopmentPopupContentForgeFormComponent,
2863
+ DbxActionDirective,
2864
+ DbxActionEnforceModifiedDirective,
2865
+ DbxActionHandlerDirective,
2866
+ DbxActionFormDirective,
2867
+ DbxFormSourceDirective,
2868
+ DbxActionAutoTriggerDirective,
2869
+ MatButtonModule
2870
+ ], providers: [TwoColumnsContextStore], template: "<dbx-two-column class=\"dbx-firebase-development-popup-content\" [dbxTwoColumnFullLeft]=\"true\">\n <dbx-two-block left>\n <div>\n <h4>Info</h4>\n <p>Scheduler (Running): {{ 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\" dbxActionSnackbarError>\n <dbx-firebase-development-popup-content-forge-form [config]=\"formConfig$\" dbxActionForm [dbxActionFormIsModified]=\"isFormModified\" [dbxFormSource]=\"formData$\" dbxFormSourceMode=\"always\"></dbx-firebase-development-popup-content-forge-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"] }]
2854
2871
  }], ctorParameters: () => [] });
2855
2872
 
2856
2873
  const DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY = 'devpopup';
@@ -7385,7 +7402,16 @@ class DbxFirebaseExternalConnectionListViewItemComponent extends AbstractDbxValu
7385
7402
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: DbxFirebaseExternalConnectionListViewItemComponent, isStandalone: true, selector: "dbx-firebase-external-connection-list-view-item", usesInheritance: true, ngImport: i0, template: `
7386
7403
  <div class="dbx-list-item-padded-thick dbx-firebase-external-connection-item">
7387
7404
  <div class="dbx-flex-bar dbx-pb1">
7388
- <dbx-avatar class="dbx-icon-spacer dbx-firebase-external-connection-tile" [avatarTile]="true" avatarStyle="square" [avatarUrl]="assets.logoUrl" [avatarIcon]="assets.icon ?? defaultIcon" [avatarImageFilter]="assets.logoFilter" [avatarIgnoreDefaultUrl]="true" [avatarColor]="statusColor" [avatarColorTone]="18"></dbx-avatar>
7405
+ <dbx-avatar
7406
+ class="dbx-icon-spacer dbx-firebase-external-connection-tile"
7407
+ [avatarTile]="true"
7408
+ avatarStyle="square"
7409
+ [avatarUrl]="assets.logoUrl"
7410
+ [avatarIcon]="assets.icon ?? defaultIcon"
7411
+ [avatarImageFilter]="assets.logoFilter"
7412
+ [avatarIgnoreDefaultUrl]="true"
7413
+ [avatarColor]="statusColor"
7414
+ [avatarColorTone]="18"></dbx-avatar>
7389
7415
  <div class="dbx-flex-fill">
7390
7416
  <div class="dbx-text-title-medium">{{ assets.providerName }}</div>
7391
7417
  @if (detail; as detailValue) {
@@ -7420,7 +7446,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
7420
7446
  template: `
7421
7447
  <div class="dbx-list-item-padded-thick dbx-firebase-external-connection-item">
7422
7448
  <div class="dbx-flex-bar dbx-pb1">
7423
- <dbx-avatar class="dbx-icon-spacer dbx-firebase-external-connection-tile" [avatarTile]="true" avatarStyle="square" [avatarUrl]="assets.logoUrl" [avatarIcon]="assets.icon ?? defaultIcon" [avatarImageFilter]="assets.logoFilter" [avatarIgnoreDefaultUrl]="true" [avatarColor]="statusColor" [avatarColorTone]="18"></dbx-avatar>
7449
+ <dbx-avatar
7450
+ class="dbx-icon-spacer dbx-firebase-external-connection-tile"
7451
+ [avatarTile]="true"
7452
+ avatarStyle="square"
7453
+ [avatarUrl]="assets.logoUrl"
7454
+ [avatarIcon]="assets.icon ?? defaultIcon"
7455
+ [avatarImageFilter]="assets.logoFilter"
7456
+ [avatarIgnoreDefaultUrl]="true"
7457
+ [avatarColor]="statusColor"
7458
+ [avatarColorTone]="18"></dbx-avatar>
7424
7459
  <div class="dbx-flex-fill">
7425
7460
  <div class="dbx-text-title-medium">{{ assets.providerName }}</div>
7426
7461
  @if (detail; as detailValue) {
@@ -9019,12 +9054,21 @@ class DbxFirebaseStorageFileDownloadButtonComponent {
9019
9054
  };
9020
9055
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: DbxFirebaseStorageFileDownloadButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9021
9056
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", 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 }, publicStoragePath: { classPropertyName: "publicStoragePath", publicName: "publicStoragePath", 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: `
9022
- <dbx-anchor [anchor]="anchorSignal()" dbxAction [dbxActionAutoTrigger]="preloadSignal()" dbxActionSnackbarError [dbxActionDisabled]="actionDisabledSignal()" [dbxActionValue]="storageFileKeySignal()" [dbxActionHandler]="handleGetDownloadUrl" [dbxActionSuccessHandler]="handleGetDownloadUrlSuccess" [dbxActionErrorHandler]="handleGetDownloadUrlError">
9057
+ <dbx-anchor
9058
+ [anchor]="anchorSignal()"
9059
+ dbxAction
9060
+ [dbxActionAutoTrigger]="preloadSignal()"
9061
+ dbxActionSnackbarError
9062
+ [dbxActionDisabled]="actionDisabledSignal()"
9063
+ [dbxActionValue]="storageFileKeySignal()"
9064
+ [dbxActionHandler]="handleGetDownloadUrl"
9065
+ [dbxActionSuccessHandler]="handleGetDownloadUrlSuccess"
9066
+ [dbxActionErrorHandler]="handleGetDownloadUrlError">
9023
9067
  <!-- allowClickPropagation lets a click on a resolved url reach the anchor, which is what performs the download -->
9024
9068
  <dbx-button dbxActionButton [allowClickPropagation]="true" [buttonStyle]="buttonStyleSignal()" [icon]="iconSignal()" [text]="textSignal()"></dbx-button>
9025
9069
  </dbx-anchor>
9026
9070
  @if (showPreviewButtonSignal()) {
9027
- <ng-container dbxAction [dbxActionDialog]="handleOpenPreviewDialog" dbxActionHandlerValue>
9071
+ <ng-container dbxAction [dbxActionDialog]="handleOpenPreviewDialog" dbxActionHandlerValue dbxActionSnackbarError>
9028
9072
  <span class="dbx-button-spacer"></span>
9029
9073
  <dbx-button dbxActionButton [buttonStyle]="previewButtonStyleSignal()" [icon]="previewIconSignal()" [text]="previewTextSignal()"></dbx-button>
9030
9074
  </ng-container>
@@ -9036,12 +9080,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
9036
9080
  args: [{
9037
9081
  selector: 'dbx-firebase-storagefile-download-button',
9038
9082
  template: `
9039
- <dbx-anchor [anchor]="anchorSignal()" dbxAction [dbxActionAutoTrigger]="preloadSignal()" dbxActionSnackbarError [dbxActionDisabled]="actionDisabledSignal()" [dbxActionValue]="storageFileKeySignal()" [dbxActionHandler]="handleGetDownloadUrl" [dbxActionSuccessHandler]="handleGetDownloadUrlSuccess" [dbxActionErrorHandler]="handleGetDownloadUrlError">
9083
+ <dbx-anchor
9084
+ [anchor]="anchorSignal()"
9085
+ dbxAction
9086
+ [dbxActionAutoTrigger]="preloadSignal()"
9087
+ dbxActionSnackbarError
9088
+ [dbxActionDisabled]="actionDisabledSignal()"
9089
+ [dbxActionValue]="storageFileKeySignal()"
9090
+ [dbxActionHandler]="handleGetDownloadUrl"
9091
+ [dbxActionSuccessHandler]="handleGetDownloadUrlSuccess"
9092
+ [dbxActionErrorHandler]="handleGetDownloadUrlError">
9040
9093
  <!-- allowClickPropagation lets a click on a resolved url reach the anchor, which is what performs the download -->
9041
9094
  <dbx-button dbxActionButton [allowClickPropagation]="true" [buttonStyle]="buttonStyleSignal()" [icon]="iconSignal()" [text]="textSignal()"></dbx-button>
9042
9095
  </dbx-anchor>
9043
9096
  @if (showPreviewButtonSignal()) {
9044
- <ng-container dbxAction [dbxActionDialog]="handleOpenPreviewDialog" dbxActionHandlerValue>
9097
+ <ng-container dbxAction [dbxActionDialog]="handleOpenPreviewDialog" dbxActionHandlerValue dbxActionSnackbarError>
9045
9098
  <span class="dbx-button-spacer"></span>
9046
9099
  <dbx-button dbxActionButton [buttonStyle]="previewButtonStyleSignal()" [icon]="previewIconSignal()" [text]="previewTextSignal()"></dbx-button>
9047
9100
  </ng-container>
@@ -9485,7 +9538,7 @@ function storageFileUploadFiles(input) {
9485
9538
  const allFiles = [...files];
9486
9539
  // unsubscribe from all previous uploads
9487
9540
  multiUploadsSubscriptionObject.unsub();
9488
- const allFilesAndLatestProgress = new Array(allFiles.length);
9541
+ const allFilesAndLatestProgress = Array.from({ length: allFiles.length });
9489
9542
  const allFilesAndDetails = allFiles.map((file) => ({ file }));
9490
9543
  const overallProgressPerCompletedFile = 1 / allFilesAndLatestProgress.length;
9491
9544
  /**
@@ -11587,7 +11640,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
11587
11640
  host: {
11588
11641
  class: 'd-block dbx-firebase-notification-healthcheck-method'
11589
11642
  },
11590
- imports: [DatePipe, DbxActionButtonDirective, DbxActionConfirmDirective, DbxActionDirective, DbxActionDisabledDirective, DbxActionErrorDirective, DbxActionHandlerDirective, DbxButtonComponent, DbxChipDirective, DbxColorDirective, DbxErrorComponent, DbxIconTileComponent, DbxFirebaseNotificationHealthCheckIssueComponent]
11643
+ imports: [
11644
+ DatePipe,
11645
+ DbxActionButtonDirective,
11646
+ DbxActionConfirmDirective,
11647
+ DbxActionDirective,
11648
+ DbxActionDisabledDirective,
11649
+ DbxActionErrorDirective,
11650
+ DbxActionHandlerDirective,
11651
+ DbxButtonComponent,
11652
+ DbxChipDirective,
11653
+ DbxColorDirective,
11654
+ DbxErrorComponent,
11655
+ DbxIconTileComponent,
11656
+ DbxFirebaseNotificationHealthCheckIssueComponent
11657
+ ]
11591
11658
  }]
11592
11659
  }], propDecorators: { result: [{ type: i0.Input, args: [{ isSignal: true, alias: "result", required: false }] }], probeAction: [{ type: i0.Input, args: [{ isSignal: true, alias: "probeAction", required: false }] }] } });
11593
11660
 
@@ -13212,7 +13279,15 @@ function provideDbxFirebase(config) {
13212
13279
  const modelEntitiesWidgetServiceConfig = inputModelEntitiesWidgetService ?? {
13213
13280
  dbxFirebaseModelEntitiesWidgetServiceConfigFactory: () => ({ entries: [] })
13214
13281
  };
13215
- const providers = [provideDbxFirebaseApp(app), providedDbxFirebaseStorage(storage), provideDbxFirebaseAuth(auth), provideDbxFirebaseFunctions(functions), provideDbxFirebaseModelContextService(modelContextService), provideDbxFirebaseModelTypesService(modelTypesService), provideDbxFirebaseModelEntitiesWidgetService(modelEntitiesWidgetServiceConfig)];
13282
+ const providers = [
13283
+ provideDbxFirebaseApp(app),
13284
+ providedDbxFirebaseStorage(storage),
13285
+ provideDbxFirebaseAuth(auth),
13286
+ provideDbxFirebaseFunctions(functions),
13287
+ provideDbxFirebaseModelContextService(modelContextService),
13288
+ provideDbxFirebaseModelTypesService(modelTypesService),
13289
+ provideDbxFirebaseModelEntitiesWidgetService(modelEntitiesWidgetServiceConfig)
13290
+ ];
13216
13291
  asArray(firestores).forEach((firestore) => {
13217
13292
  providers.push(provideDbxFirestoreCollection(firestore));
13218
13293
  });