@memberjunction/ng-explorer-settings 3.2.0 → 3.4.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.
Files changed (72) hide show
  1. package/dist/lib/account-info/account-info.component.d.ts +23 -0
  2. package/dist/lib/account-info/account-info.component.d.ts.map +1 -0
  3. package/dist/lib/account-info/account-info.component.js +155 -0
  4. package/dist/lib/account-info/account-info.component.js.map +1 -0
  5. package/dist/lib/appearance-settings/appearance-settings.component.d.ts +15 -0
  6. package/dist/lib/appearance-settings/appearance-settings.component.d.ts.map +1 -0
  7. package/dist/lib/appearance-settings/appearance-settings.component.js +79 -0
  8. package/dist/lib/appearance-settings/appearance-settings.component.js.map +1 -0
  9. package/dist/lib/application-management/application-dialog/application-dialog.component.d.ts +15 -1
  10. package/dist/lib/application-management/application-dialog/application-dialog.component.d.ts.map +1 -1
  11. package/dist/lib/application-management/application-dialog/application-dialog.component.js +329 -190
  12. package/dist/lib/application-management/application-dialog/application-dialog.component.js.map +1 -1
  13. package/dist/lib/application-management/application-management.component.d.ts.map +1 -1
  14. package/dist/lib/application-management/application-management.component.js +265 -184
  15. package/dist/lib/application-management/application-management.component.js.map +1 -1
  16. package/dist/lib/application-settings/application-settings.component.d.ts +113 -0
  17. package/dist/lib/application-settings/application-settings.component.d.ts.map +1 -0
  18. package/dist/lib/application-settings/application-settings.component.js +520 -0
  19. package/dist/lib/application-settings/application-settings.component.js.map +1 -0
  20. package/dist/lib/entity-permissions/entity-permissions.component.d.ts +1 -0
  21. package/dist/lib/entity-permissions/entity-permissions.component.d.ts.map +1 -1
  22. package/dist/lib/entity-permissions/entity-permissions.component.js +369 -192
  23. package/dist/lib/entity-permissions/entity-permissions.component.js.map +1 -1
  24. package/dist/lib/entity-permissions/permission-dialog/permission-dialog.component.d.ts.map +1 -1
  25. package/dist/lib/entity-permissions/permission-dialog/permission-dialog.component.js +160 -143
  26. package/dist/lib/entity-permissions/permission-dialog/permission-dialog.component.js.map +1 -1
  27. package/dist/lib/general-settings/general-settings.component.d.ts +14 -0
  28. package/dist/lib/general-settings/general-settings.component.d.ts.map +1 -0
  29. package/dist/lib/general-settings/general-settings.component.js +50 -0
  30. package/dist/lib/general-settings/general-settings.component.js.map +1 -0
  31. package/dist/lib/module.d.ts +28 -30
  32. package/dist/lib/module.d.ts.map +1 -1
  33. package/dist/lib/module.js +75 -68
  34. package/dist/lib/module.js.map +1 -1
  35. package/dist/lib/notification-preferences/notification-preferences.component.d.ts +77 -0
  36. package/dist/lib/notification-preferences/notification-preferences.component.d.ts.map +1 -1
  37. package/dist/lib/notification-preferences/notification-preferences.component.js +153 -77
  38. package/dist/lib/notification-preferences/notification-preferences.component.js.map +1 -1
  39. package/dist/lib/role-management/role-dialog/role-dialog.component.d.ts.map +1 -1
  40. package/dist/lib/role-management/role-dialog/role-dialog.component.js +93 -89
  41. package/dist/lib/role-management/role-dialog/role-dialog.component.js.map +1 -1
  42. package/dist/lib/role-management/role-management.component.d.ts +1 -0
  43. package/dist/lib/role-management/role-management.component.d.ts.map +1 -1
  44. package/dist/lib/role-management/role-management.component.js +275 -158
  45. package/dist/lib/role-management/role-management.component.js.map +1 -1
  46. package/dist/lib/settings/settings.component.d.ts +47 -3
  47. package/dist/lib/settings/settings.component.d.ts.map +1 -1
  48. package/dist/lib/settings/settings.component.js +339 -269
  49. package/dist/lib/settings/settings.component.js.map +1 -1
  50. package/dist/lib/shared/settings-card.component.d.ts.map +1 -1
  51. package/dist/lib/shared/settings-card.component.js +21 -18
  52. package/dist/lib/shared/settings-card.component.js.map +1 -1
  53. package/dist/lib/sql-logging/sql-logging.component.d.ts +11 -2
  54. package/dist/lib/sql-logging/sql-logging.component.d.ts.map +1 -1
  55. package/dist/lib/sql-logging/sql-logging.component.js +318 -245
  56. package/dist/lib/sql-logging/sql-logging.component.js.map +1 -1
  57. package/dist/lib/user-app-config/user-app-config.component.d.ts +21 -3
  58. package/dist/lib/user-app-config/user-app-config.component.d.ts.map +1 -1
  59. package/dist/lib/user-app-config/user-app-config.component.js +202 -147
  60. package/dist/lib/user-app-config/user-app-config.component.js.map +1 -1
  61. package/dist/lib/user-management/user-dialog/user-dialog.component.d.ts.map +1 -1
  62. package/dist/lib/user-management/user-dialog/user-dialog.component.js +120 -116
  63. package/dist/lib/user-management/user-dialog/user-dialog.component.js.map +1 -1
  64. package/dist/lib/user-management/user-management.component.d.ts +32 -2
  65. package/dist/lib/user-management/user-management.component.d.ts.map +1 -1
  66. package/dist/lib/user-management/user-management.component.js +822 -297
  67. package/dist/lib/user-management/user-management.component.js.map +1 -1
  68. package/dist/lib/user-profile-settings/user-profile-settings.component.d.ts +31 -2
  69. package/dist/lib/user-profile-settings/user-profile-settings.component.d.ts.map +1 -1
  70. package/dist/lib/user-profile-settings/user-profile-settings.component.js +213 -80
  71. package/dist/lib/user-profile-settings/user-profile-settings.component.js.map +1 -1
  72. package/package.json +20 -20
@@ -0,0 +1,23 @@
1
+ import { OnInit, ChangeDetectorRef } from '@angular/core';
2
+ import { UserEntity } from '@memberjunction/core-entities';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Displays read-only account information for the current user.
6
+ * Shows name, email, role, creation date, and last login.
7
+ */
8
+ export declare class AccountInfoComponent implements OnInit {
9
+ private cdr;
10
+ IsLoading: boolean;
11
+ CurrentUser: UserEntity | null;
12
+ ErrorMessage: string;
13
+ constructor(cdr: ChangeDetectorRef);
14
+ ngOnInit(): Promise<void>;
15
+ private LoadAccountInfo;
16
+ /**
17
+ * Formats a date for display
18
+ */
19
+ FormatDate(date: Date | null | undefined): string;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<AccountInfoComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<AccountInfoComponent, "mj-account-info", never, {}, {}, never, never, false, never>;
22
+ }
23
+ //# sourceMappingURL=account-info.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-info.component.d.ts","sourceRoot":"","sources":["../../../src/lib/account-info/account-info.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;;AAE3D;;;GAGG;AACH,qBAKa,oBAAqB,YAAW,MAAM;IAKrC,OAAO,CAAC,GAAG;IAJvB,SAAS,UAAQ;IACjB,WAAW,EAAE,UAAU,GAAG,IAAI,CAAQ;IACtC,YAAY,SAAM;gBAEE,GAAG,EAAE,iBAAiB;IAEpC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAIjB,eAAe;IA0B7B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;yCAxCtC,oBAAoB;2CAApB,oBAAoB;CAiDhC"}
@@ -0,0 +1,155 @@
1
+ import { Component } from '@angular/core';
2
+ import { Metadata } from '@memberjunction/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@memberjunction/ng-shared-generic";
5
+ function AccountInfoComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
6
+ i0.ɵɵelementStart(0, "div", 0);
7
+ i0.ɵɵelement(1, "mj-loading", 3);
8
+ i0.ɵɵelementEnd();
9
+ } }
10
+ function AccountInfoComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelementStart(0, "div", 1);
12
+ i0.ɵɵelement(1, "i", 4);
13
+ i0.ɵɵelementStart(2, "span");
14
+ i0.ɵɵtext(3);
15
+ i0.ɵɵelementEnd()();
16
+ } if (rf & 2) {
17
+ const ctx_r0 = i0.ɵɵnextContext();
18
+ i0.ɵɵadvance(3);
19
+ i0.ɵɵtextInterpolate(ctx_r0.ErrorMessage);
20
+ } }
21
+ function AccountInfoComponent_Conditional_2_Conditional_30_Template(rf, ctx) { if (rf & 1) {
22
+ i0.ɵɵelementStart(0, "div", 5)(1, "div", 6);
23
+ i0.ɵɵelement(2, "i", 13);
24
+ i0.ɵɵelementStart(3, "span");
25
+ i0.ɵɵtext(4, "Status");
26
+ i0.ɵɵelementEnd()();
27
+ i0.ɵɵelementStart(5, "div", 8)(6, "span", 14);
28
+ i0.ɵɵtext(7);
29
+ i0.ɵɵelementEnd()()();
30
+ } if (rf & 2) {
31
+ const ctx_r0 = i0.ɵɵnextContext(2);
32
+ i0.ɵɵadvance(6);
33
+ i0.ɵɵclassProp("active", ctx_r0.CurrentUser.IsActive)("inactive", !ctx_r0.CurrentUser.IsActive);
34
+ i0.ɵɵadvance();
35
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.CurrentUser.IsActive ? "Active" : "Inactive", " ");
36
+ } }
37
+ function AccountInfoComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 5)(2, "div", 6);
39
+ i0.ɵɵelement(3, "i", 7);
40
+ i0.ɵɵelementStart(4, "span");
41
+ i0.ɵɵtext(5, "Full Name");
42
+ i0.ɵɵelementEnd()();
43
+ i0.ɵɵelementStart(6, "div", 8);
44
+ i0.ɵɵtext(7);
45
+ i0.ɵɵelementEnd()();
46
+ i0.ɵɵelementStart(8, "div", 5)(9, "div", 6);
47
+ i0.ɵɵelement(10, "i", 9);
48
+ i0.ɵɵelementStart(11, "span");
49
+ i0.ɵɵtext(12, "Email");
50
+ i0.ɵɵelementEnd()();
51
+ i0.ɵɵelementStart(13, "div", 8);
52
+ i0.ɵɵtext(14);
53
+ i0.ɵɵelementEnd()();
54
+ i0.ɵɵelementStart(15, "div", 5)(16, "div", 6);
55
+ i0.ɵɵelement(17, "i", 10);
56
+ i0.ɵɵelementStart(18, "span");
57
+ i0.ɵɵtext(19, "Account Type");
58
+ i0.ɵɵelementEnd()();
59
+ i0.ɵɵelementStart(20, "div", 8)(21, "span", 11);
60
+ i0.ɵɵtext(22);
61
+ i0.ɵɵelementEnd()()();
62
+ i0.ɵɵelementStart(23, "div", 5)(24, "div", 6);
63
+ i0.ɵɵelement(25, "i", 12);
64
+ i0.ɵɵelementStart(26, "span");
65
+ i0.ɵɵtext(27, "Account Created");
66
+ i0.ɵɵelementEnd()();
67
+ i0.ɵɵelementStart(28, "div", 8);
68
+ i0.ɵɵtext(29);
69
+ i0.ɵɵelementEnd()();
70
+ i0.ɵɵtemplate(30, AccountInfoComponent_Conditional_2_Conditional_30_Template, 8, 5, "div", 5);
71
+ i0.ɵɵelementEnd();
72
+ } if (rf & 2) {
73
+ const ctx_r0 = i0.ɵɵnextContext();
74
+ i0.ɵɵadvance(7);
75
+ i0.ɵɵtextInterpolate(ctx_r0.CurrentUser.Name || "Not set");
76
+ i0.ɵɵadvance(7);
77
+ i0.ɵɵtextInterpolate(ctx_r0.CurrentUser.Email || "Not set");
78
+ i0.ɵɵadvance(7);
79
+ i0.ɵɵclassMap("type-" + (ctx_r0.CurrentUser.Type || "user").toLowerCase());
80
+ i0.ɵɵadvance();
81
+ i0.ɵɵtextInterpolate1(" ", ctx_r0.CurrentUser.Type || "User", " ");
82
+ i0.ɵɵadvance(7);
83
+ i0.ɵɵtextInterpolate(ctx_r0.FormatDate(ctx_r0.CurrentUser.__mj_CreatedAt));
84
+ i0.ɵɵadvance();
85
+ i0.ɵɵconditional(ctx_r0.CurrentUser.IsActive !== undefined ? 30 : -1);
86
+ } }
87
+ /**
88
+ * Displays read-only account information for the current user.
89
+ * Shows name, email, role, creation date, and last login.
90
+ */
91
+ export class AccountInfoComponent {
92
+ cdr;
93
+ IsLoading = true;
94
+ CurrentUser = null;
95
+ ErrorMessage = '';
96
+ constructor(cdr) {
97
+ this.cdr = cdr;
98
+ }
99
+ async ngOnInit() {
100
+ await this.LoadAccountInfo();
101
+ }
102
+ async LoadAccountInfo() {
103
+ this.IsLoading = true;
104
+ this.ErrorMessage = '';
105
+ try {
106
+ const md = new Metadata();
107
+ const userInfo = md.CurrentUser;
108
+ // Load full user entity for additional details
109
+ const user = await md.GetEntityObject('Users');
110
+ const loaded = await user.Load(userInfo.ID);
111
+ if (loaded) {
112
+ this.CurrentUser = user;
113
+ }
114
+ else {
115
+ this.ErrorMessage = 'Unable to load account information.';
116
+ }
117
+ }
118
+ catch (error) {
119
+ this.ErrorMessage = 'Failed to load account information.';
120
+ console.error('Error loading account info:', error);
121
+ }
122
+ finally {
123
+ this.IsLoading = false;
124
+ this.cdr.detectChanges();
125
+ }
126
+ }
127
+ /**
128
+ * Formats a date for display
129
+ */
130
+ FormatDate(date) {
131
+ if (!date)
132
+ return 'N/A';
133
+ return new Date(date).toLocaleDateString('en-US', {
134
+ year: 'numeric',
135
+ month: 'long',
136
+ day: 'numeric'
137
+ });
138
+ }
139
+ static ɵfac = function AccountInfoComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AccountInfoComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
140
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AccountInfoComponent, selectors: [["mj-account-info"]], decls: 3, vars: 3, consts: [[1, "loading-container"], [1, "error-message"], [1, "account-info"], ["text", "Loading account info..."], [1, "fa-solid", "fa-exclamation-circle"], [1, "info-row"], [1, "info-label"], [1, "fa-solid", "fa-user"], [1, "info-value"], [1, "fa-solid", "fa-envelope"], [1, "fa-solid", "fa-shield-halved"], [1, "type-badge"], [1, "fa-solid", "fa-calendar-plus"], [1, "fa-solid", "fa-circle-check"], [1, "status-badge"]], template: function AccountInfoComponent_Template(rf, ctx) { if (rf & 1) {
141
+ i0.ɵɵtemplate(0, AccountInfoComponent_Conditional_0_Template, 2, 0, "div", 0)(1, AccountInfoComponent_Conditional_1_Template, 4, 1, "div", 1)(2, AccountInfoComponent_Conditional_2_Template, 31, 7, "div", 2);
142
+ } if (rf & 2) {
143
+ i0.ɵɵconditional(ctx.IsLoading ? 0 : -1);
144
+ i0.ɵɵadvance();
145
+ i0.ɵɵconditional(ctx.ErrorMessage && !ctx.IsLoading ? 1 : -1);
146
+ i0.ɵɵadvance();
147
+ i0.ɵɵconditional(ctx.CurrentUser && !ctx.IsLoading ? 2 : -1);
148
+ } }, dependencies: [i1.LoadingComponent], styles: [".loading-container[_ngcontent-%COMP%] {\n display: flex;\n justify-content: center;\n padding: 2rem;\n}\n\n.error-message[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 1rem;\n background-color: var(--mj-error-bg, #fef2f2);\n color: var(--mj-error-text, #dc2626);\n border-radius: 8px;\n font-size: 0.875rem;\n}\n\n.error-message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n\n.account-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.75rem 0;\n border-bottom: 1px solid var(--mj-border-color, #e5e7eb);\n}\n\n.info-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.info-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n color: var(--mj-text-secondary, #6b7280);\n font-size: 0.875rem;\n}\n\n.info-label[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n width: 1rem;\n text-align: center;\n color: var(--mj-text-tertiary, #9ca3af);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-primary, #1f2937);\n text-align: right;\n}\n\n.type-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.type-owner[_ngcontent-%COMP%] {\n background-color: var(--mj-warning-bg, #fef3c7);\n color: var(--mj-warning-text, #d97706);\n}\n\n.type-admin[_ngcontent-%COMP%] {\n background-color: var(--mj-info-bg, #dbeafe);\n color: var(--mj-info-text, #2563eb);\n}\n\n.type-user[_ngcontent-%COMP%] {\n background-color: var(--mj-neutral-bg, #f3f4f6);\n color: var(--mj-neutral-text, #4b5563);\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n}\n\n.status-badge.active[_ngcontent-%COMP%] {\n background-color: var(--mj-success-bg, #dcfce7);\n color: var(--mj-success-text, #16a34a);\n}\n\n.status-badge.inactive[_ngcontent-%COMP%] {\n background-color: var(--mj-error-bg, #fef2f2);\n color: var(--mj-error-text, #dc2626);\n}\n\n@media (max-width: 480px) {\n .info-row[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.5rem;\n }\n\n .info-value[_ngcontent-%COMP%] {\n text-align: left;\n padding-left: 1.75rem;\n }\n}"] });
149
+ }
150
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AccountInfoComponent, [{
151
+ type: Component,
152
+ args: [{ selector: 'mj-account-info', template: "@if (IsLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading account info...\"></mj-loading>\n </div>\n}\n\n@if (ErrorMessage && !IsLoading) {\n <div class=\"error-message\">\n <i class=\"fa-solid fa-exclamation-circle\"></i>\n <span>{{ ErrorMessage }}</span>\n </div>\n}\n\n@if (CurrentUser && !IsLoading) {\n <div class=\"account-info\">\n <div class=\"info-row\">\n <div class=\"info-label\">\n <i class=\"fa-solid fa-user\"></i>\n <span>Full Name</span>\n </div>\n <div class=\"info-value\">{{ CurrentUser.Name || 'Not set' }}</div>\n </div>\n\n <div class=\"info-row\">\n <div class=\"info-label\">\n <i class=\"fa-solid fa-envelope\"></i>\n <span>Email</span>\n </div>\n <div class=\"info-value\">{{ CurrentUser.Email || 'Not set' }}</div>\n </div>\n\n <div class=\"info-row\">\n <div class=\"info-label\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <span>Account Type</span>\n </div>\n <div class=\"info-value\">\n <span class=\"type-badge\" [class]=\"'type-' + (CurrentUser.Type || 'user').toLowerCase()\">\n {{ CurrentUser.Type || 'User' }}\n </span>\n </div>\n </div>\n\n <div class=\"info-row\">\n <div class=\"info-label\">\n <i class=\"fa-solid fa-calendar-plus\"></i>\n <span>Account Created</span>\n </div>\n <div class=\"info-value\">{{ FormatDate(CurrentUser.__mj_CreatedAt) }}</div>\n </div>\n\n @if (CurrentUser.IsActive !== undefined) {\n <div class=\"info-row\">\n <div class=\"info-label\">\n <i class=\"fa-solid fa-circle-check\"></i>\n <span>Status</span>\n </div>\n <div class=\"info-value\">\n <span class=\"status-badge\" [class.active]=\"CurrentUser.IsActive\" [class.inactive]=\"!CurrentUser.IsActive\">\n {{ CurrentUser.IsActive ? 'Active' : 'Inactive' }}\n </span>\n </div>\n </div>\n }\n </div>\n}\n", styles: [".loading-container {\n display: flex;\n justify-content: center;\n padding: 2rem;\n}\n\n.error-message {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 1rem;\n background-color: var(--mj-error-bg, #fef2f2);\n color: var(--mj-error-text, #dc2626);\n border-radius: 8px;\n font-size: 0.875rem;\n}\n\n.error-message i {\n font-size: 1rem;\n}\n\n.account-info {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.75rem 0;\n border-bottom: 1px solid var(--mj-border-color, #e5e7eb);\n}\n\n.info-row:last-child {\n border-bottom: none;\n}\n\n.info-label {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n color: var(--mj-text-secondary, #6b7280);\n font-size: 0.875rem;\n}\n\n.info-label i {\n width: 1rem;\n text-align: center;\n color: var(--mj-text-tertiary, #9ca3af);\n}\n\n.info-value {\n font-weight: 500;\n color: var(--mj-text-primary, #1f2937);\n text-align: right;\n}\n\n.type-badge {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n}\n\n.type-owner {\n background-color: var(--mj-warning-bg, #fef3c7);\n color: var(--mj-warning-text, #d97706);\n}\n\n.type-admin {\n background-color: var(--mj-info-bg, #dbeafe);\n color: var(--mj-info-text, #2563eb);\n}\n\n.type-user {\n background-color: var(--mj-neutral-bg, #f3f4f6);\n color: var(--mj-neutral-text, #4b5563);\n}\n\n.status-badge {\n display: inline-block;\n padding: 0.25rem 0.75rem;\n border-radius: 9999px;\n font-size: 0.75rem;\n font-weight: 600;\n}\n\n.status-badge.active {\n background-color: var(--mj-success-bg, #dcfce7);\n color: var(--mj-success-text, #16a34a);\n}\n\n.status-badge.inactive {\n background-color: var(--mj-error-bg, #fef2f2);\n color: var(--mj-error-text, #dc2626);\n}\n\n@media (max-width: 480px) {\n .info-row {\n flex-direction: column;\n align-items: flex-start;\n gap: 0.5rem;\n }\n\n .info-value {\n text-align: left;\n padding-left: 1.75rem;\n }\n}\n"] }]
153
+ }], () => [{ type: i0.ChangeDetectorRef }], null); })();
154
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AccountInfoComponent, { className: "AccountInfoComponent", filePath: "src/lib/account-info/account-info.component.ts", lineNumber: 14 }); })();
155
+ //# sourceMappingURL=account-info.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-info.component.js","sourceRoot":"","sources":["../../../src/lib/account-info/account-info.component.ts","../../../src/lib/account-info/account-info.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Placeholder component for future appearance settings.
4
+ * Will include: theme selection, display density, font size.
5
+ */
6
+ export declare class AppearanceSettingsComponent {
7
+ PlannedFeatures: {
8
+ icon: string;
9
+ title: string;
10
+ description: string;
11
+ }[];
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppearanceSettingsComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppearanceSettingsComponent, "mj-appearance-settings", never, {}, {}, never, never, false, never>;
14
+ }
15
+ //# sourceMappingURL=appearance-settings.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-settings.component.d.ts","sourceRoot":"","sources":["../../../src/lib/appearance-settings/appearance-settings.component.ts"],"names":[],"mappings":";AAEA;;;GAGG;AACH,qBAKa,2BAA2B;IAEtC,eAAe;;;;QAgBb;yCAlBS,2BAA2B;2CAA3B,2BAA2B;CAmBvC"}
@@ -0,0 +1,79 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const _forTrack0 = ($index, $item) => $item.title;
4
+ function AppearanceSettingsComponent_For_18_Template(rf, ctx) { if (rf & 1) {
5
+ i0.ɵɵelementStart(0, "div", 10)(1, "div", 11);
6
+ i0.ɵɵelement(2, "i");
7
+ i0.ɵɵelementEnd();
8
+ i0.ɵɵelementStart(3, "div", 12)(4, "span", 13);
9
+ i0.ɵɵtext(5);
10
+ i0.ɵɵelementEnd();
11
+ i0.ɵɵelementStart(6, "span", 14);
12
+ i0.ɵɵtext(7);
13
+ i0.ɵɵelementEnd()()();
14
+ } if (rf & 2) {
15
+ const feature_r1 = ctx.$implicit;
16
+ i0.ɵɵadvance(2);
17
+ i0.ɵɵclassMap(feature_r1.icon);
18
+ i0.ɵɵadvance(3);
19
+ i0.ɵɵtextInterpolate(feature_r1.title);
20
+ i0.ɵɵadvance(2);
21
+ i0.ɵɵtextInterpolate(feature_r1.description);
22
+ } }
23
+ /**
24
+ * Placeholder component for future appearance settings.
25
+ * Will include: theme selection, display density, font size.
26
+ */
27
+ export class AppearanceSettingsComponent {
28
+ // Future planned features
29
+ PlannedFeatures = [
30
+ {
31
+ icon: 'fa-solid fa-moon',
32
+ title: 'Theme',
33
+ description: 'Switch between light, dark, or system theme'
34
+ },
35
+ {
36
+ icon: 'fa-solid fa-text-height',
37
+ title: 'Font Size',
38
+ description: 'Adjust text size for better readability'
39
+ },
40
+ {
41
+ icon: 'fa-solid fa-expand',
42
+ title: 'Display Density',
43
+ description: 'Choose between comfortable and compact layouts'
44
+ }
45
+ ];
46
+ static ɵfac = function AppearanceSettingsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AppearanceSettingsComponent)(); };
47
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppearanceSettingsComponent, selectors: [["mj-appearance-settings"]], decls: 19, vars: 0, consts: [[1, "appearance-settings"], [1, "section-title"], [1, "section-description"], [1, "coming-soon-banner"], [1, "banner-icon"], [1, "fa-solid", "fa-palette"], [1, "banner-content"], [1, "planned-features"], [1, "features-title"], [1, "features-grid"], [1, "feature-card"], [1, "feature-icon"], [1, "feature-info"], [1, "feature-title"], [1, "feature-desc"]], template: function AppearanceSettingsComponent_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "div", 0)(1, "h2", 1);
49
+ i0.ɵɵtext(2, "Appearance");
50
+ i0.ɵɵelementEnd();
51
+ i0.ɵɵelementStart(3, "p", 2);
52
+ i0.ɵɵtext(4, "Customize how MemberJunction looks and feels");
53
+ i0.ɵɵelementEnd();
54
+ i0.ɵɵelementStart(5, "div", 3)(6, "div", 4);
55
+ i0.ɵɵelement(7, "i", 5);
56
+ i0.ɵɵelementEnd();
57
+ i0.ɵɵelementStart(8, "div", 6)(9, "h3");
58
+ i0.ɵɵtext(10, "Coming Soon");
59
+ i0.ɵɵelementEnd();
60
+ i0.ɵɵelementStart(11, "p");
61
+ i0.ɵɵtext(12, "We're working on bringing you more customization options.");
62
+ i0.ɵɵelementEnd()()();
63
+ i0.ɵɵelementStart(13, "div", 7)(14, "h4", 8);
64
+ i0.ɵɵtext(15, "Planned Features");
65
+ i0.ɵɵelementEnd();
66
+ i0.ɵɵelementStart(16, "div", 9);
67
+ i0.ɵɵrepeaterCreate(17, AppearanceSettingsComponent_For_18_Template, 8, 4, "div", 10, _forTrack0);
68
+ i0.ɵɵelementEnd()()();
69
+ } if (rf & 2) {
70
+ i0.ɵɵadvance(17);
71
+ i0.ɵɵrepeater(ctx.PlannedFeatures);
72
+ } }, styles: [".appearance-settings[_ngcontent-%COMP%] {\n padding: 0;\n}\n\n.section-title[_ngcontent-%COMP%] {\n font-size: 1.5rem;\n font-weight: 600;\n margin: 0 0 0.5rem 0;\n color: var(--mj-text-primary, #1a1a1a);\n}\n\n.section-description[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #666);\n margin: 0 0 1.5rem 0;\n}\n\n.coming-soon-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1.5rem;\n padding: 2rem;\n background: linear-gradient(135deg, var(--mj-primary-light, #dbeafe) 0%, var(--mj-info-bg, #e0f2fe) 100%);\n border-radius: 16px;\n margin-bottom: 2rem;\n}\n\n.banner-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 4rem;\n height: 4rem;\n background: white;\n border-radius: 12px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n flex-shrink: 0;\n}\n\n.banner-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 2rem;\n color: var(--mj-primary-color, #3b82f6);\n}\n\n.banner-content[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--mj-text-primary, #1f2937);\n margin: 0 0 0.5rem 0;\n}\n\n.banner-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #4b5563);\n margin: 0;\n}\n\n.planned-features[_ngcontent-%COMP%] {\n margin-top: 1rem;\n}\n\n.features-title[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--mj-text-secondary, #6b7280);\n margin: 0 0 1rem 0;\n}\n\n.features-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.feature-card[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem 1.25rem;\n background: var(--mj-surface-color, #fff);\n border: 1px solid var(--mj-border-color, #e5e7eb);\n border-radius: 12px;\n opacity: 0.7;\n}\n\n.feature-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n background: var(--mj-surface-secondary, #f3f4f6);\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.feature-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 1rem;\n color: var(--mj-text-secondary, #6b7280);\n}\n\n.feature-info[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.feature-title[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-primary, #1f2937);\n}\n\n.feature-desc[_ngcontent-%COMP%] {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #6b7280);\n}\n\n@media (max-width: 480px) {\n .coming-soon-banner[_ngcontent-%COMP%] {\n flex-direction: column;\n text-align: center;\n }\n}"] });
73
+ }
74
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppearanceSettingsComponent, [{
75
+ type: Component,
76
+ args: [{ selector: 'mj-appearance-settings', template: "<div class=\"appearance-settings\">\n <h2 class=\"section-title\">Appearance</h2>\n <p class=\"section-description\">Customize how MemberJunction looks and feels</p>\n\n <div class=\"coming-soon-banner\">\n <div class=\"banner-icon\">\n <i class=\"fa-solid fa-palette\"></i>\n </div>\n <div class=\"banner-content\">\n <h3>Coming Soon</h3>\n <p>We're working on bringing you more customization options.</p>\n </div>\n </div>\n\n <div class=\"planned-features\">\n <h4 class=\"features-title\">Planned Features</h4>\n <div class=\"features-grid\">\n @for (feature of PlannedFeatures; track feature.title) {\n <div class=\"feature-card\">\n <div class=\"feature-icon\">\n <i [class]=\"feature.icon\"></i>\n </div>\n <div class=\"feature-info\">\n <span class=\"feature-title\">{{ feature.title }}</span>\n <span class=\"feature-desc\">{{ feature.description }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".appearance-settings {\n padding: 0;\n}\n\n.section-title {\n font-size: 1.5rem;\n font-weight: 600;\n margin: 0 0 0.5rem 0;\n color: var(--mj-text-primary, #1a1a1a);\n}\n\n.section-description {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #666);\n margin: 0 0 1.5rem 0;\n}\n\n.coming-soon-banner {\n display: flex;\n align-items: center;\n gap: 1.5rem;\n padding: 2rem;\n background: linear-gradient(135deg, var(--mj-primary-light, #dbeafe) 0%, var(--mj-info-bg, #e0f2fe) 100%);\n border-radius: 16px;\n margin-bottom: 2rem;\n}\n\n.banner-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 4rem;\n height: 4rem;\n background: white;\n border-radius: 12px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n flex-shrink: 0;\n}\n\n.banner-icon i {\n font-size: 2rem;\n color: var(--mj-primary-color, #3b82f6);\n}\n\n.banner-content h3 {\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--mj-text-primary, #1f2937);\n margin: 0 0 0.5rem 0;\n}\n\n.banner-content p {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #4b5563);\n margin: 0;\n}\n\n.planned-features {\n margin-top: 1rem;\n}\n\n.features-title {\n font-size: 0.875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--mj-text-secondary, #6b7280);\n margin: 0 0 1rem 0;\n}\n\n.features-grid {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.feature-card {\n display: flex;\n align-items: center;\n gap: 1rem;\n padding: 1rem 1.25rem;\n background: var(--mj-surface-color, #fff);\n border: 1px solid var(--mj-border-color, #e5e7eb);\n border-radius: 12px;\n opacity: 0.7;\n}\n\n.feature-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n background: var(--mj-surface-secondary, #f3f4f6);\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.feature-icon i {\n font-size: 1rem;\n color: var(--mj-text-secondary, #6b7280);\n}\n\n.feature-info {\n display: flex;\n flex-direction: column;\n}\n\n.feature-title {\n font-weight: 500;\n color: var(--mj-text-primary, #1f2937);\n}\n\n.feature-desc {\n font-size: 0.875rem;\n color: var(--mj-text-secondary, #6b7280);\n}\n\n@media (max-width: 480px) {\n .coming-soon-banner {\n flex-direction: column;\n text-align: center;\n }\n}\n"] }]
77
+ }], null, null); })();
78
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AppearanceSettingsComponent, { className: "AppearanceSettingsComponent", filePath: "src/lib/appearance-settings/appearance-settings.component.ts", lineNumber: 12 }); })();
79
+ //# sourceMappingURL=appearance-settings.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appearance-settings.component.js","sourceRoot":"","sources":["../../../src/lib/appearance-settings/appearance-settings.component.ts","../../../src/lib/appearance-settings/appearance-settings.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;;;ICmBhC,AADF,+BAA0B,cACE;IACxB,oBAA8B;IAChC,iBAAM;IAEJ,AADF,+BAA0B,eACI;IAAA,YAAmB;IAAA,iBAAO;IACtD,gCAA2B;IAAA,YAAyB;IAExD,AADE,AADsD,iBAAO,EACvD,EACF;;;IANC,eAAsB;IAAtB,8BAAsB;IAGG,eAAmB;IAAnB,sCAAmB;IACpB,eAAyB;IAAzB,4CAAyB;;ADtBhE;;;GAGG;AAMH,MAAM,OAAO,2BAA2B;IACtC,0BAA0B;IAC1B,eAAe,GAAG;QAChB;YACE,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,6CAA6C;SAC3D;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,yCAAyC;SACvD;QACD;YACE,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,gDAAgD;SAC9D;KACF,CAAC;qHAlBS,2BAA2B;6DAA3B,2BAA2B;YCVtC,AADF,8BAAiC,YACL;YAAA,0BAAU;YAAA,iBAAK;YACzC,4BAA+B;YAAA,4DAA4C;YAAA,iBAAI;YAG7E,AADF,8BAAgC,aACL;YACvB,uBAAmC;YACrC,iBAAM;YAEJ,AADF,8BAA4B,SACtB;YAAA,4BAAW;YAAA,iBAAK;YACpB,0BAAG;YAAA,0EAAyD;YAEhE,AADE,AAD8D,iBAAI,EAC5D,EACF;YAGJ,AADF,+BAA8B,aACD;YAAA,iCAAgB;YAAA,iBAAK;YAChD,+BAA2B;YACzB,iGAUC;YAGP,AADE,AADE,iBAAM,EACF,EACF;;YAbA,gBAUC;YAVD,kCAUC;;;iFDhBM,2BAA2B;cALvC,SAAS;2BACE,wBAAwB;;kFAIvB,2BAA2B"}
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter, OnInit, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
+ import { CdkDragDrop } from '@angular/cdk/drag-drop';
3
4
  import { ApplicationEntity, ApplicationEntityEntity, EntityEntity } from '@memberjunction/core-entities';
4
5
  import * as i0 from "@angular/core";
5
6
  export interface ApplicationDialogData {
@@ -30,6 +31,13 @@ export declare class ApplicationDialogComponent implements OnInit, OnDestroy, On
30
31
  applicationEntities: ApplicationEntityConfig[];
31
32
  availableEntities: EntityEntity[];
32
33
  allEntities: EntityEntity[];
34
+ entitySearchTerm: string;
35
+ sectionExpanded: {
36
+ basicInfo: boolean;
37
+ entities: boolean;
38
+ systemInfo: boolean;
39
+ };
40
+ isFullscreen: boolean;
33
41
  constructor();
34
42
  ngOnInit(): void;
35
43
  ngOnChanges(changes: SimpleChanges): void;
@@ -37,7 +45,7 @@ export declare class ApplicationDialogComponent implements OnInit, OnDestroy, On
37
45
  private initializeDialog;
38
46
  private loadAllEntities;
39
47
  private resetForm;
40
- onEscapeKey(event: KeyboardEvent): void;
48
+ onEscapeKey(): void;
41
49
  get windowTitle(): string;
42
50
  get isEditMode(): boolean;
43
51
  private loadApplicationData;
@@ -49,6 +57,12 @@ export declare class ApplicationDialogComponent implements OnInit, OnDestroy, On
49
57
  private updateSequences;
50
58
  onDefaultForNewUserChange(config: ApplicationEntityConfig): void;
51
59
  get hasEntityChanges(): boolean;
60
+ get filteredAvailableEntities(): EntityEntity[];
61
+ onEntitySearchChange(event: Event): void;
62
+ clearEntitySearch(): void;
63
+ toggleSection(section: 'basicInfo' | 'entities' | 'systemInfo'): void;
64
+ toggleFullscreen(): void;
65
+ onEntityDrop(event: CdkDragDrop<ApplicationEntityConfig[]>): void;
52
66
  onSubmit(): Promise<void>;
53
67
  private saveApplicationEntities;
54
68
  onCancel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"application-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/application-management/application-dialog/application-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAA2C,MAAM,eAAe,CAAC;AAE7J,OAAO,EAAiD,SAAS,EAAc,MAAM,gBAAgB,CAAC;AAEtG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAGzG,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CACzB;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,qBAMa,0BAA2B,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IACpE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAC1C,OAAO,UAAS;IACf,MAAM,wCAA+C;IAE/D,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,QAAQ,CAAkB;IAE3B,eAAe,EAAE,SAAS,CAAC;IAC3B,SAAS,UAAS;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAM;IACpD,iBAAiB,EAAE,YAAY,EAAE,CAAM;IACvC,WAAW,EAAE,YAAY,EAAE,CAAM;;IASxC,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMzC,WAAW,IAAI,IAAI;YAIL,gBAAgB;YAuBhB,eAAe;IAW7B,OAAO,CAAC,SAAS;IAWjB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAMvC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;YAEa,mBAAmB;YAanB,uBAAuB;IAsC9B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAiBrC,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAcnD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1C,OAAO,CAAC,eAAe;IAShB,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAMvE,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAEY,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YA+CxB,uBAAuB;IA8B9B,QAAQ,IAAI,IAAI;IAIvB,OAAO,CAAC,oBAAoB;yCAzSjB,0BAA0B;2CAA1B,0BAA0B;CA+StC"}
1
+ {"version":3,"file":"application-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/application-management/application-dialog/application-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAwB,MAAM,eAAe,CAAC;AAE1I,OAAO,EAAiD,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAmB,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAEzG,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CACzB;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,qBAKa,0BAA2B,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IACpE,IAAI,EAAE,qBAAqB,GAAG,IAAI,CAAQ;IAC1C,OAAO,UAAS;IACf,MAAM,wCAA+C;IAE/D,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,QAAQ,CAAkB;IAE3B,eAAe,EAAE,SAAS,CAAC;IAC3B,SAAS,UAAS;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAM;IACpD,iBAAiB,EAAE,YAAY,EAAE,CAAM;IACvC,WAAW,EAAE,YAAY,EAAE,CAAM;IAGjC,gBAAgB,SAAM;IAGtB,eAAe;;;;MAIpB;IAGK,YAAY,UAAS;;IAS5B,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMzC,WAAW,IAAI,IAAI;YAIL,gBAAgB;YAuBhB,eAAe;IAW7B,OAAO,CAAC,SAAS;IAYjB,WAAW,IAAI,IAAI;IAMnB,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;YAEa,mBAAmB;YAanB,uBAAuB;IAsC9B,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAiBrC,YAAY,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAcnD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASjC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1C,OAAO,CAAC,eAAe;IAShB,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAMvE,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAGD,IAAW,yBAAyB,IAAI,YAAY,EAAE,CASrD;IAEM,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAKxC,iBAAiB,IAAI,IAAI;IAIzB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,IAAI;IAIrE,gBAAgB,IAAI,IAAI;IAIxB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,uBAAuB,EAAE,CAAC,GAAG,IAAI;IAO3D,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YA+CxB,uBAAuB;IA8B9B,QAAQ,IAAI,IAAI;IAIvB,OAAO,CAAC,oBAAoB;yCA3VjB,0BAA0B;2CAA1B,0BAA0B;CAiWtC"}