@dereekb/dbx-firebase 13.17.0 → 13.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,139 @@
1
+ import * as i0 from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import { DbxFlexGroupDirective, DbxFlexSizeDirective } from '@dereekb/dbx-web';
4
+ import { DbxDocsUiExampleComponent, DbxDocsUiExampleInfoComponent, DbxDocsUiExampleContentComponent } from '@dereekb/dbx-web/docs';
5
+ import { DbxFirebaseLoginComponent } from '@dereekb/dbx-firebase';
6
+ import { DbxFirebaseOAuthLoginViewComponent } from '@dereekb/dbx-firebase/oidc';
7
+ import { provideDbxStyleDemoSections } from '@dereekb/dbx-web/style-demo';
8
+
9
+ /**
10
+ * Style-demo section showing the presentational `dbx-firebase-oauth-login-view` in its three render states —
11
+ * `no_user` (projecting the real `dbx-firebase-login` provider buttons), `submitting`, and `error` — so the login
12
+ * surfaces are visible in the playground. Rendering makes no network calls; the provider buttons resolve from the
13
+ * host app's login configuration at render time.
14
+ *
15
+ * @dbxDocsUiExample
16
+ * @dbxDocsUiExampleSlug style-demo-firebase-login
17
+ * @dbxDocsUiExampleCategory style-demo
18
+ * @dbxDocsUiExampleSummary The dbx-firebase-oauth-login-view in its no_user, submitting, and error render states.
19
+ * @dbxDocsUiExampleRelated dbx-firebase-login
20
+ */
21
+ class DbxFirebaseStyleDemoLoginSectionComponent {
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseStyleDemoLoginSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxFirebaseStyleDemoLoginSectionComponent, isStandalone: true, selector: "dbx-firebase-style-demo-login-section", ngImport: i0, template: `
24
+ <dbx-docs-ui-example header="Firebase Login" hint="The OIDC login view in each render state.">
25
+ <dbx-docs-ui-example-info>
26
+ <p>
27
+ <code>dbx-firebase-oauth-login-view</code>
28
+ is presentational: it renders the login UI for a given
29
+ <code>loginStateCase</code>
30
+ . The
31
+ <code>no_user</code>
32
+ tile projects the real
33
+ <code>dbx-firebase-login</code>
34
+ provider buttons; the
35
+ <code>submitting</code>
36
+ and
37
+ <code>error</code>
38
+ tiles show the loading and error+retry styling. Rendering makes no network calls — the buttons resolve from the host app's login configuration at render time.
39
+ </p>
40
+ </dbx-docs-ui-example-info>
41
+ <dbx-docs-ui-example-content>
42
+ <div dbxFlexGroup>
43
+ <div [dbxFlexSize]="2">
44
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">No user</div>
45
+ <dbx-firebase-oauth-login-view [loginStateCase]="'no_user'">
46
+ <dbx-firebase-login></dbx-firebase-login>
47
+ </dbx-firebase-oauth-login-view>
48
+ </div>
49
+ <div [dbxFlexSize]="2">
50
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">Submitting</div>
51
+ <dbx-firebase-oauth-login-view [loginStateCase]="'submitting'"></dbx-firebase-oauth-login-view>
52
+ </div>
53
+ <div [dbxFlexSize]="2">
54
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">Error</div>
55
+ <dbx-firebase-oauth-login-view [loginStateCase]="'error'" [error]="'Example authentication error for styling.'"></dbx-firebase-oauth-login-view>
56
+ </div>
57
+ </div>
58
+ </dbx-docs-ui-example-content>
59
+ </dbx-docs-ui-example>
60
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxDocsUiExampleComponent, selector: "dbx-docs-ui-example", inputs: ["header", "hint"] }, { kind: "component", type: DbxDocsUiExampleInfoComponent, selector: "dbx-docs-ui-example-info" }, { kind: "component", type: DbxDocsUiExampleContentComponent, selector: "dbx-docs-ui-example-content" }, { kind: "directive", type: DbxFlexGroupDirective, selector: "[dbxFlexGroup]", inputs: ["content", "breakToColumn", "relative", "breakpoint"] }, { kind: "directive", type: DbxFlexSizeDirective, selector: "[dbxFlexSize]", inputs: ["dbxFlexSize"] }, { kind: "component", type: DbxFirebaseLoginComponent, selector: "dbx-firebase-login", inputs: ["loginMode", "providerTypes", "omitProviderTypes", "providerCategories"] }, { kind: "component", type: DbxFirebaseOAuthLoginViewComponent, selector: "dbx-firebase-oauth-login-view", inputs: ["loginStateCase", "error"], outputs: ["retryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseStyleDemoLoginSectionComponent, decorators: [{
63
+ type: Component,
64
+ args: [{
65
+ selector: 'dbx-firebase-style-demo-login-section',
66
+ standalone: true,
67
+ changeDetection: ChangeDetectionStrategy.OnPush,
68
+ imports: [DbxDocsUiExampleComponent, DbxDocsUiExampleInfoComponent, DbxDocsUiExampleContentComponent, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxFirebaseLoginComponent, DbxFirebaseOAuthLoginViewComponent],
69
+ template: `
70
+ <dbx-docs-ui-example header="Firebase Login" hint="The OIDC login view in each render state.">
71
+ <dbx-docs-ui-example-info>
72
+ <p>
73
+ <code>dbx-firebase-oauth-login-view</code>
74
+ is presentational: it renders the login UI for a given
75
+ <code>loginStateCase</code>
76
+ . The
77
+ <code>no_user</code>
78
+ tile projects the real
79
+ <code>dbx-firebase-login</code>
80
+ provider buttons; the
81
+ <code>submitting</code>
82
+ and
83
+ <code>error</code>
84
+ tiles show the loading and error+retry styling. Rendering makes no network calls — the buttons resolve from the host app's login configuration at render time.
85
+ </p>
86
+ </dbx-docs-ui-example-info>
87
+ <dbx-docs-ui-example-content>
88
+ <div dbxFlexGroup>
89
+ <div [dbxFlexSize]="2">
90
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">No user</div>
91
+ <dbx-firebase-oauth-login-view [loginStateCase]="'no_user'">
92
+ <dbx-firebase-login></dbx-firebase-login>
93
+ </dbx-firebase-oauth-login-view>
94
+ </div>
95
+ <div [dbxFlexSize]="2">
96
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">Submitting</div>
97
+ <dbx-firebase-oauth-login-view [loginStateCase]="'submitting'"></dbx-firebase-oauth-login-view>
98
+ </div>
99
+ <div [dbxFlexSize]="2">
100
+ <div class="dbx-text-label-small dbx-hint dbx-pb1">Error</div>
101
+ <dbx-firebase-oauth-login-view [loginStateCase]="'error'" [error]="'Example authentication error for styling.'"></dbx-firebase-oauth-login-view>
102
+ </div>
103
+ </div>
104
+ </dbx-docs-ui-example-content>
105
+ </dbx-docs-ui-example>
106
+ `
107
+ }]
108
+ }] });
109
+
110
+ /**
111
+ * The `@dereekb/dbx-firebase/style-demo` section group.
112
+ */
113
+ const DBX_FIREBASE_STYLE_DEMO_SECTION_GROUP = {
114
+ libId: 'dbx-firebase',
115
+ sections: [{ id: 'dbx-firebase-login', title: 'Firebase Login', group: 'firebase', tags: ['dbx-firebase', 'login'], component: DbxFirebaseStyleDemoLoginSectionComponent, defaultEnabled: true }]
116
+ };
117
+ /**
118
+ * Registers the `@dereekb/dbx-firebase/style-demo` sections with the `<dbx-style-demo>` playground.
119
+ *
120
+ * The Firebase Login section renders `dbx-firebase-oauth-login-view` (with `dbx-firebase-login` projected for the
121
+ * `no_user` state), so the host app must provide Firebase auth (`provideDbxFirebase`) and login configuration
122
+ * (`provideDbxFirebaseLogin({ enabledLoginMethods, ... })`). Rendering makes no network calls until a button is clicked.
123
+ *
124
+ * Pair with `provideDbxStyleDemo()` (the shell from `@dereekb/dbx-web/style-demo`).
125
+ *
126
+ * @returns EnvironmentProviders contributing the firebase sections.
127
+ *
128
+ * @__NO_SIDE_EFFECTS__
129
+ */
130
+ function provideDbxFirebaseStyleDemo() {
131
+ return provideDbxStyleDemoSections(DBX_FIREBASE_STYLE_DEMO_SECTION_GROUP);
132
+ }
133
+
134
+ /**
135
+ * Generated bundle index. Do not edit.
136
+ */
137
+
138
+ export { DBX_FIREBASE_STYLE_DEMO_SECTION_GROUP, DbxFirebaseStyleDemoLoginSectionComponent, provideDbxFirebaseStyleDemo };
139
+ //# sourceMappingURL=dereekb-dbx-firebase-style-demo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dereekb-dbx-firebase-style-demo.mjs","sources":["../../../../packages/dbx-firebase/style-demo/src/lib/login.section.component.ts","../../../../packages/dbx-firebase/style-demo/src/lib/firebase.style.demo.providers.ts","../../../../packages/dbx-firebase/style-demo/src/dereekb-dbx-firebase-style-demo.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { DbxFlexGroupDirective, DbxFlexSizeDirective } from '@dereekb/dbx-web';\nimport { DbxDocsUiExampleComponent, DbxDocsUiExampleContentComponent, DbxDocsUiExampleInfoComponent } from '@dereekb/dbx-web/docs';\nimport { DbxFirebaseLoginComponent } from '@dereekb/dbx-firebase';\nimport { DbxFirebaseOAuthLoginViewComponent } from '@dereekb/dbx-firebase/oidc';\n\n/**\n * Style-demo section showing the presentational `dbx-firebase-oauth-login-view` in its three render states —\n * `no_user` (projecting the real `dbx-firebase-login` provider buttons), `submitting`, and `error` — so the login\n * surfaces are visible in the playground. Rendering makes no network calls; the provider buttons resolve from the\n * host app's login configuration at render time.\n *\n * @dbxDocsUiExample\n * @dbxDocsUiExampleSlug style-demo-firebase-login\n * @dbxDocsUiExampleCategory style-demo\n * @dbxDocsUiExampleSummary The dbx-firebase-oauth-login-view in its no_user, submitting, and error render states.\n * @dbxDocsUiExampleRelated dbx-firebase-login\n */\n@Component({\n selector: 'dbx-firebase-style-demo-login-section',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [DbxDocsUiExampleComponent, DbxDocsUiExampleInfoComponent, DbxDocsUiExampleContentComponent, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxFirebaseLoginComponent, DbxFirebaseOAuthLoginViewComponent],\n template: `\n <dbx-docs-ui-example header=\"Firebase Login\" hint=\"The OIDC login view in each render state.\">\n <dbx-docs-ui-example-info>\n <p>\n <code>dbx-firebase-oauth-login-view</code>\n is presentational: it renders the login UI for a given\n <code>loginStateCase</code>\n . The\n <code>no_user</code>\n tile projects the real\n <code>dbx-firebase-login</code>\n provider buttons; the\n <code>submitting</code>\n and\n <code>error</code>\n tiles show the loading and error+retry styling. Rendering makes no network calls — the buttons resolve from the host app's login configuration at render time.\n </p>\n </dbx-docs-ui-example-info>\n <dbx-docs-ui-example-content>\n <div dbxFlexGroup>\n <div [dbxFlexSize]=\"2\">\n <div class=\"dbx-text-label-small dbx-hint dbx-pb1\">No user</div>\n <dbx-firebase-oauth-login-view [loginStateCase]=\"'no_user'\">\n <dbx-firebase-login></dbx-firebase-login>\n </dbx-firebase-oauth-login-view>\n </div>\n <div [dbxFlexSize]=\"2\">\n <div class=\"dbx-text-label-small dbx-hint dbx-pb1\">Submitting</div>\n <dbx-firebase-oauth-login-view [loginStateCase]=\"'submitting'\"></dbx-firebase-oauth-login-view>\n </div>\n <div [dbxFlexSize]=\"2\">\n <div class=\"dbx-text-label-small dbx-hint dbx-pb1\">Error</div>\n <dbx-firebase-oauth-login-view [loginStateCase]=\"'error'\" [error]=\"'Example authentication error for styling.'\"></dbx-firebase-oauth-login-view>\n </div>\n </div>\n </dbx-docs-ui-example-content>\n </dbx-docs-ui-example>\n `\n})\nexport class DbxFirebaseStyleDemoLoginSectionComponent {}\n","import { type EnvironmentProviders } from '@angular/core';\nimport { type DbxStyleDemoSectionGroup, provideDbxStyleDemoSections } from '@dereekb/dbx-web/style-demo';\nimport { DbxFirebaseStyleDemoLoginSectionComponent } from './login.section.component';\n\n/**\n * The `@dereekb/dbx-firebase/style-demo` section group.\n */\nexport const DBX_FIREBASE_STYLE_DEMO_SECTION_GROUP: DbxStyleDemoSectionGroup = {\n libId: 'dbx-firebase',\n sections: [{ id: 'dbx-firebase-login', title: 'Firebase Login', group: 'firebase', tags: ['dbx-firebase', 'login'], component: DbxFirebaseStyleDemoLoginSectionComponent, defaultEnabled: true }]\n};\n\n/**\n * Registers the `@dereekb/dbx-firebase/style-demo` sections with the `<dbx-style-demo>` playground.\n *\n * The Firebase Login section renders `dbx-firebase-oauth-login-view` (with `dbx-firebase-login` projected for the\n * `no_user` state), so the host app must provide Firebase auth (`provideDbxFirebase`) and login configuration\n * (`provideDbxFirebaseLogin({ enabledLoginMethods, ... })`). Rendering makes no network calls until a button is clicked.\n *\n * Pair with `provideDbxStyleDemo()` (the shell from `@dereekb/dbx-web/style-demo`).\n *\n * @returns EnvironmentProviders contributing the firebase sections.\n *\n * @__NO_SIDE_EFFECTS__\n */\nexport function provideDbxFirebaseStyleDemo(): EnvironmentProviders {\n return provideDbxStyleDemoSections(DBX_FIREBASE_STYLE_DEMO_SECTION_GROUP);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA;;;;;;;;;;;AAWG;MA6CU,yCAAyC,CAAA;wGAAzC,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAtCS,yBAAyB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,6BAA6B,EAAA,QAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gCAAgC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kCAAkC,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAwCrM,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBA5CrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uCAAuC;AACjD,oBAAA,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,CAAC,yBAAyB,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,kCAAkC,CAAC;AACjN,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA;AACF,iBAAA;;;ACzDD;;AAEG;AACI,MAAM,qCAAqC,GAA6B;AAC7E,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,yCAAyC,EAAE,cAAc,EAAE,IAAI,EAAE;;AAGlM;;;;;;;;;;;;AAYG;SACa,2BAA2B,GAAA;AACzC,IAAA,OAAO,2BAA2B,CAAC,qCAAqC,CAAC;AAC3E;;AC3BA;;AAEG;;;;"}
@@ -4288,7 +4288,7 @@ class DbxFirebaseModelEntitiesEntityComponent {
4288
4288
  debugWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.debugComponentConfig, ...(ngDevMode ? [{ debugName: "debugWidgetConfigSignal" }] : /* istanbul ignore next */ []));
4289
4289
  loadingContext = cleanLoadingContext({ obs: this.loadingState$ });
4290
4290
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", 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 });
4291
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", 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", "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 });
4292
4292
  }
4293
4293
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
4294
4294
  type: Component,
@@ -4379,7 +4379,7 @@ class DbxFirebaseModelEntitiesComponent {
4379
4379
  </div>
4380
4380
  }
4381
4381
  </dbx-loading>
4382
- `, 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: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4382
+ `, 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", "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: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4383
4383
  }
4384
4384
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
4385
4385
  type: Component,
@@ -4720,7 +4720,7 @@ class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseMo
4720
4720
  }, ...(ngDevMode ? [{ debugName: "contentSignal" }] : /* istanbul ignore next */ []));
4721
4721
  context = cleanLoadingContext(this.store.dataLoadingState$);
4722
4722
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4723
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", 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"] }] });
4723
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", 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", "diameter", "linear", "loading", "error", "context"] }] });
4724
4724
  }
4725
4725
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
4726
4726
  type: Component,