@mj-biz-apps/common-ng 5.45.0 → 5.46.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.
- package/dist/lib/components/identity-header/activity-identity.component.d.ts +3 -0
- package/dist/lib/components/identity-header/activity-identity.component.d.ts.map +1 -1
- package/dist/lib/components/identity-header/activity-identity.component.js +87 -46
- package/dist/lib/components/identity-header/activity-identity.component.js.map +1 -1
- package/dist/lib/components/identity-header/organization-identity.component.js +2 -2
- package/dist/lib/components/identity-header/person-identity.component.d.ts +4 -0
- package/dist/lib/components/identity-header/person-identity.component.d.ts.map +1 -1
- package/dist/lib/components/identity-header/person-identity.component.js +157 -55
- package/dist/lib/components/identity-header/person-identity.component.js.map +1 -1
- package/dist/lib/components/person-job-functions/person-job-functions.component.d.ts +49 -0
- package/dist/lib/components/person-job-functions/person-job-functions.component.d.ts.map +1 -0
- package/dist/lib/components/person-job-functions/person-job-functions.component.js +506 -0
- package/dist/lib/components/person-job-functions/person-job-functions.component.js.map +1 -0
- package/dist/lib/components/relationship-list/relationship-list.component.d.ts +25 -1
- package/dist/lib/components/relationship-list/relationship-list.component.d.ts.map +1 -1
- package/dist/lib/components/relationship-list/relationship-list.component.js +318 -119
- package/dist/lib/components/relationship-list/relationship-list.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +22 -20
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +10 -0
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.js +17 -0
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.js.map +1 -1
- package/dist/lib/custom/panels/person-job-functions.panel.d.ts +13 -0
- package/dist/lib/custom/panels/person-job-functions.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/person-job-functions.panel.js +60 -0
- package/dist/lib/custom/panels/person-job-functions.panel.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.js +43 -41
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonJobFunction/mjbizappscommonjobfunction.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonJobFunction/mjbizappscommonjobfunction.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonJobFunction/mjbizappscommonjobfunction.form.component.js +106 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonJobFunction/mjbizappscommonjobfunction.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +27 -31
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js +61 -37
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonPersonJobFunction/mjbizappscommonpersonjobfunction.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPersonJobFunction/mjbizappscommonpersonjobfunction.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPersonJobFunction/mjbizappscommonpersonjobfunction.form.component.js +77 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonPersonJobFunction/mjbizappscommonpersonjobfunction.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js +9 -9
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonSeniorityLevel/mjbizappscommonsenioritylevel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonSeniorityLevel/mjbizappscommonsenioritylevel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonSeniorityLevel/mjbizappscommonsenioritylevel.form.component.js +106 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonSeniorityLevel/mjbizappscommonsenioritylevel.form.component.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +114 -31
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +543 -54
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/public-api.d.ts +2 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { CompositeKey } from '@memberjunction/core';
|
|
3
|
+
import { CompositeKey, LogError, RunView } from '@memberjunction/core';
|
|
4
4
|
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
5
5
|
import { BaseFormsModule } from '@memberjunction/ng-base-forms';
|
|
6
6
|
import { LinkDirectivesModule } from '@memberjunction/ng-link-directives';
|
|
@@ -9,7 +9,7 @@ import * as i1 from "@memberjunction/ng-base-forms";
|
|
|
9
9
|
const _c0 = ["*"];
|
|
10
10
|
function PersonIdentityComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
11
11
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
12
|
-
i0.ɵɵelementStart(0, "img",
|
|
12
|
+
i0.ɵɵelementStart(0, "img", 18);
|
|
13
13
|
i0.ɵɵlistener("error", function PersonIdentityComponent_Conditional_3_Template_img_error_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnPhotoError($event)); });
|
|
14
14
|
i0.ɵɵelementEnd();
|
|
15
15
|
} if (rf & 2) {
|
|
@@ -37,11 +37,66 @@ function PersonIdentityComponent_Conditional_10_Template(rf, ctx) { if (rf & 1)
|
|
|
37
37
|
i0.ɵɵadvance();
|
|
38
38
|
i0.ɵɵtextInterpolate1("Goes by ", ctx_r1.Record.PreferredName);
|
|
39
39
|
} }
|
|
40
|
-
function
|
|
41
|
-
i0.ɵɵelementStart(0, "
|
|
40
|
+
function PersonIdentityComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
+
i0.ɵɵelementStart(0, "span", 14);
|
|
42
|
+
i0.ɵɵelement(1, "i", 19);
|
|
43
|
+
i0.ɵɵtext(2);
|
|
44
|
+
i0.ɵɵelementEnd();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
47
|
+
i0.ɵɵadvance(2);
|
|
48
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.Record.SeniorityLevel, " ");
|
|
49
|
+
} }
|
|
50
|
+
function PersonIdentityComponent_Conditional_18_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementStart(0, "span", 22);
|
|
52
|
+
i0.ɵɵtext(1);
|
|
53
|
+
i0.ɵɵelementEnd();
|
|
54
|
+
} if (rf & 2) {
|
|
55
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
56
|
+
i0.ɵɵadvance();
|
|
57
|
+
i0.ɵɵtextInterpolate1("+", ctx_r1.AllJobFunctions.length - 1);
|
|
58
|
+
} }
|
|
59
|
+
function PersonIdentityComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
60
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
61
|
+
i0.ɵɵelementStart(0, "button", 20);
|
|
62
|
+
i0.ɵɵlistener("click", function PersonIdentityComponent_Conditional_18_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleAllFunctions()); });
|
|
63
|
+
i0.ɵɵelement(1, "i", 21);
|
|
64
|
+
i0.ɵɵtext(2);
|
|
65
|
+
i0.ɵɵconditionalCreate(3, PersonIdentityComponent_Conditional_18_Conditional_3_Template, 2, 1, "span", 22);
|
|
66
|
+
i0.ɵɵelementEnd();
|
|
67
|
+
} if (rf & 2) {
|
|
68
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
69
|
+
i0.ɵɵproperty("title", ctx_r1.ShowAllFunctions ? "Hide job functions" : "Show all job functions");
|
|
70
|
+
i0.ɵɵadvance(2);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.Record.PrimaryJobFunction, " ");
|
|
72
|
+
i0.ɵɵadvance();
|
|
73
|
+
i0.ɵɵconditional(ctx_r1.AllJobFunctions.length > 1 ? 3 : -1);
|
|
74
|
+
} }
|
|
75
|
+
function PersonIdentityComponent_Conditional_19_For_4_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "span", 24);
|
|
77
|
+
i0.ɵɵtext(1);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const fn_r4 = ctx.$implicit;
|
|
81
|
+
i0.ɵɵadvance();
|
|
82
|
+
i0.ɵɵtextInterpolate(fn_r4);
|
|
83
|
+
} }
|
|
84
|
+
function PersonIdentityComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "div", 16)(1, "span", 23);
|
|
86
|
+
i0.ɵɵtext(2, "Job Functions:");
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
i0.ɵɵrepeaterCreate(3, PersonIdentityComponent_Conditional_19_For_4_Template, 2, 1, "span", 24, i0.ɵɵrepeaterTrackByIdentity);
|
|
89
|
+
i0.ɵɵelementEnd();
|
|
90
|
+
} if (rf & 2) {
|
|
91
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
92
|
+
i0.ɵɵadvance(3);
|
|
93
|
+
i0.ɵɵrepeater(ctx_r1.AllJobFunctions);
|
|
94
|
+
} }
|
|
95
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
|
|
42
97
|
i0.ɵɵtext(2, "Title");
|
|
43
98
|
i0.ɵɵelementEnd();
|
|
44
|
-
i0.ɵɵelementStart(3, "span",
|
|
99
|
+
i0.ɵɵelementStart(3, "span", 29);
|
|
45
100
|
i0.ɵɵtext(4);
|
|
46
101
|
i0.ɵɵelementEnd()();
|
|
47
102
|
} if (rf & 2) {
|
|
@@ -49,10 +104,10 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Conditional_1_Temp
|
|
|
49
104
|
i0.ɵɵadvance(4);
|
|
50
105
|
i0.ɵɵtextInterpolate(ctx_r1.DisplayTitle);
|
|
51
106
|
} }
|
|
52
|
-
function
|
|
53
|
-
const
|
|
54
|
-
i0.ɵɵelementStart(0, "button",
|
|
55
|
-
i0.ɵɵlistener("click", function
|
|
107
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
109
|
+
i0.ɵɵelementStart(0, "button", 31);
|
|
110
|
+
i0.ɵɵlistener("click", function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Conditional_3_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.OnOrgClick($event)); });
|
|
56
111
|
i0.ɵɵtext(1);
|
|
57
112
|
i0.ɵɵelementEnd();
|
|
58
113
|
} if (rf & 2) {
|
|
@@ -60,8 +115,8 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Conditional_2_Cond
|
|
|
60
115
|
i0.ɵɵadvance();
|
|
61
116
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.Record.CurrentOrganizationName, " ");
|
|
62
117
|
} }
|
|
63
|
-
function
|
|
64
|
-
i0.ɵɵelementStart(0, "span",
|
|
118
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
+
i0.ɵɵelementStart(0, "span", 29);
|
|
65
120
|
i0.ɵɵtext(1);
|
|
66
121
|
i0.ɵɵelementEnd();
|
|
67
122
|
} if (rf & 2) {
|
|
@@ -69,22 +124,22 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Conditional_2_Cond
|
|
|
69
124
|
i0.ɵɵadvance();
|
|
70
125
|
i0.ɵɵtextInterpolate(ctx_r1.Record.CurrentOrganizationName);
|
|
71
126
|
} }
|
|
72
|
-
function
|
|
73
|
-
i0.ɵɵelementStart(0, "div",
|
|
127
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
|
|
74
129
|
i0.ɵɵtext(2, "Organization");
|
|
75
130
|
i0.ɵɵelementEnd();
|
|
76
|
-
i0.ɵɵconditionalCreate(3,
|
|
131
|
+
i0.ɵɵconditionalCreate(3, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Conditional_3_Template, 2, 1, "button", 30)(4, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Conditional_4_Template, 2, 1, "span", 29);
|
|
77
132
|
i0.ɵɵelementEnd();
|
|
78
133
|
} if (rf & 2) {
|
|
79
134
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
80
135
|
i0.ɵɵadvance(3);
|
|
81
136
|
i0.ɵɵconditional(ctx_r1.Record.CurrentOrganizationID ? 3 : 4);
|
|
82
137
|
} }
|
|
83
|
-
function
|
|
84
|
-
i0.ɵɵelementStart(0, "div",
|
|
138
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
139
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
|
|
85
140
|
i0.ɵɵtext(2, "Email");
|
|
86
141
|
i0.ɵɵelementEnd();
|
|
87
|
-
i0.ɵɵelementStart(3, "a",
|
|
142
|
+
i0.ɵɵelementStart(3, "a", 32);
|
|
88
143
|
i0.ɵɵtext(4);
|
|
89
144
|
i0.ɵɵelementEnd()();
|
|
90
145
|
} if (rf & 2) {
|
|
@@ -94,11 +149,11 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Conditional_3_Temp
|
|
|
94
149
|
i0.ɵɵadvance();
|
|
95
150
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.Record.PrimaryEmail || ctx_r1.Record.Email, " ");
|
|
96
151
|
} }
|
|
97
|
-
function
|
|
98
|
-
i0.ɵɵelementStart(0, "div",
|
|
152
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "span", 28);
|
|
99
154
|
i0.ɵɵtext(2, "Location");
|
|
100
155
|
i0.ɵɵelementEnd();
|
|
101
|
-
i0.ɵɵelementStart(3, "span",
|
|
156
|
+
i0.ɵɵelementStart(3, "span", 29);
|
|
102
157
|
i0.ɵɵtext(4);
|
|
103
158
|
i0.ɵɵelementEnd()();
|
|
104
159
|
} if (rf & 2) {
|
|
@@ -106,12 +161,12 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Conditional_4_Temp
|
|
|
106
161
|
i0.ɵɵadvance(4);
|
|
107
162
|
i0.ɵɵtextInterpolate(ctx_r1.LocationLine);
|
|
108
163
|
} }
|
|
109
|
-
function
|
|
110
|
-
i0.ɵɵelementStart(0, "div",
|
|
111
|
-
i0.ɵɵconditionalCreate(1,
|
|
112
|
-
i0.ɵɵconditionalCreate(2,
|
|
113
|
-
i0.ɵɵconditionalCreate(3,
|
|
114
|
-
i0.ɵɵconditionalCreate(4,
|
|
164
|
+
function PersonIdentityComponent_Conditional_22_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
165
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
166
|
+
i0.ɵɵconditionalCreate(1, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_1_Template, 5, 1, "div", 27);
|
|
167
|
+
i0.ɵɵconditionalCreate(2, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_2_Template, 5, 1, "div", 27);
|
|
168
|
+
i0.ɵɵconditionalCreate(3, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_3_Template, 5, 2, "div", 27);
|
|
169
|
+
i0.ɵɵconditionalCreate(4, PersonIdentityComponent_Conditional_22_Conditional_0_Conditional_4_Template, 5, 1, "div", 27);
|
|
115
170
|
i0.ɵɵelementEnd();
|
|
116
171
|
} if (rf & 2) {
|
|
117
172
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -124,30 +179,33 @@ function PersonIdentityComponent_Conditional_19_Conditional_0_Template(rf, ctx)
|
|
|
124
179
|
i0.ɵɵadvance();
|
|
125
180
|
i0.ɵɵconditional(ctx_r1.LocationLine ? 4 : -1);
|
|
126
181
|
} }
|
|
127
|
-
function
|
|
128
|
-
i0.ɵɵelementStart(0, "div",
|
|
129
|
-
i0.ɵɵelement(2, "mj-form-field",
|
|
182
|
+
function PersonIdentityComponent_Conditional_22_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
183
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 33);
|
|
184
|
+
i0.ɵɵelement(2, "mj-form-field", 34);
|
|
185
|
+
i0.ɵɵelementEnd();
|
|
186
|
+
i0.ɵɵelementStart(3, "div", 33);
|
|
187
|
+
i0.ɵɵelement(4, "mj-form-field", 35);
|
|
130
188
|
i0.ɵɵelementEnd();
|
|
131
|
-
i0.ɵɵelementStart(
|
|
132
|
-
i0.ɵɵelement(
|
|
189
|
+
i0.ɵɵelementStart(5, "div", 33);
|
|
190
|
+
i0.ɵɵelement(6, "mj-form-field", 36);
|
|
133
191
|
i0.ɵɵelementEnd();
|
|
134
|
-
i0.ɵɵelementStart(
|
|
135
|
-
i0.ɵɵelement(
|
|
192
|
+
i0.ɵɵelementStart(7, "div", 33);
|
|
193
|
+
i0.ɵɵelement(8, "mj-form-field", 37);
|
|
136
194
|
i0.ɵɵelementEnd();
|
|
137
|
-
i0.ɵɵelementStart(
|
|
138
|
-
i0.ɵɵelement(
|
|
195
|
+
i0.ɵɵelementStart(9, "div", 33);
|
|
196
|
+
i0.ɵɵelement(10, "mj-form-field", 38);
|
|
139
197
|
i0.ɵɵelementEnd();
|
|
140
|
-
i0.ɵɵelementStart(
|
|
141
|
-
i0.ɵɵelement(
|
|
198
|
+
i0.ɵɵelementStart(11, "div", 33);
|
|
199
|
+
i0.ɵɵelement(12, "mj-form-field", 39);
|
|
142
200
|
i0.ɵɵelementEnd();
|
|
143
|
-
i0.ɵɵelementStart(
|
|
144
|
-
i0.ɵɵelement(
|
|
201
|
+
i0.ɵɵelementStart(13, "div", 33);
|
|
202
|
+
i0.ɵɵelement(14, "mj-form-field", 40);
|
|
145
203
|
i0.ɵɵelementEnd();
|
|
146
|
-
i0.ɵɵelementStart(
|
|
147
|
-
i0.ɵɵelement(
|
|
204
|
+
i0.ɵɵelementStart(15, "div", 33);
|
|
205
|
+
i0.ɵɵelement(16, "mj-form-field", 41);
|
|
148
206
|
i0.ɵɵelementEnd();
|
|
149
|
-
i0.ɵɵelementStart(
|
|
150
|
-
i0.ɵɵelement(
|
|
207
|
+
i0.ɵɵelementStart(17, "div", 42);
|
|
208
|
+
i0.ɵɵelement(18, "mj-form-field", 43);
|
|
151
209
|
i0.ɵɵelementEnd()();
|
|
152
210
|
} if (rf & 2) {
|
|
153
211
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -167,11 +225,13 @@ function PersonIdentityComponent_Conditional_19_Conditional_2_Template(rf, ctx)
|
|
|
167
225
|
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext);
|
|
168
226
|
i0.ɵɵadvance(2);
|
|
169
227
|
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext);
|
|
228
|
+
i0.ɵɵadvance(2);
|
|
229
|
+
i0.ɵɵproperty("Record", ctx_r1.Record)("ShowLabel", true)("EditMode", ctx_r1.EditMode)("FormContext", ctx_r1.FormContext);
|
|
170
230
|
} }
|
|
171
|
-
function
|
|
172
|
-
i0.ɵɵconditionalCreate(0,
|
|
231
|
+
function PersonIdentityComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
232
|
+
i0.ɵɵconditionalCreate(0, PersonIdentityComponent_Conditional_22_Conditional_0_Template, 5, 4, "div", 25);
|
|
173
233
|
i0.ɵɵprojection(1);
|
|
174
|
-
i0.ɵɵconditionalCreate(2,
|
|
234
|
+
i0.ɵɵconditionalCreate(2, PersonIdentityComponent_Conditional_22_Conditional_2_Template, 19, 36, "div", 26);
|
|
175
235
|
} if (rf & 2) {
|
|
176
236
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
177
237
|
i0.ɵɵconditional(!ctx_r1.EditMode && (ctx_r1.DisplayTitle || ctx_r1.Record.CurrentOrganizationName || ctx_r1.Record.PrimaryEmail || ctx_r1.Record.Email || ctx_r1.LocationLine) ? 0 : -1);
|
|
@@ -188,6 +248,37 @@ export class PersonIdentityComponent {
|
|
|
188
248
|
FormContext;
|
|
189
249
|
Navigate = new EventEmitter();
|
|
190
250
|
Collapsed = false;
|
|
251
|
+
AllJobFunctions = [];
|
|
252
|
+
ShowAllFunctions = false;
|
|
253
|
+
LoadingFunctions = false;
|
|
254
|
+
async ToggleAllFunctions() {
|
|
255
|
+
this.ShowAllFunctions = !this.ShowAllFunctions;
|
|
256
|
+
if (this.ShowAllFunctions && this.AllJobFunctions.length === 0 && this.Record.ID) {
|
|
257
|
+
this.LoadingFunctions = true;
|
|
258
|
+
try {
|
|
259
|
+
const rv = new RunView();
|
|
260
|
+
const result = await rv.RunView({
|
|
261
|
+
EntityName: 'MJ_BizApps_Common: Person Job Functions',
|
|
262
|
+
Fields: ['JobFunction'],
|
|
263
|
+
ExtraFilter: `PersonID = '${this.Record.ID}'`,
|
|
264
|
+
OrderBy: 'Sequence ASC, JobFunction ASC',
|
|
265
|
+
ResultType: 'simple',
|
|
266
|
+
});
|
|
267
|
+
if (result.Success && result.Results) {
|
|
268
|
+
this.AllJobFunctions = result.Results.map(r => r.JobFunction).filter(Boolean);
|
|
269
|
+
}
|
|
270
|
+
else if (!result.Success) {
|
|
271
|
+
LogError(`PersonIdentity: failed to load job functions for person '${this.Record.ID}': ${result.ErrorMessage ?? 'unknown error'}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
catch (err) {
|
|
275
|
+
LogError('PersonIdentity: error loading job functions', undefined, err);
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
this.LoadingFunctions = false;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
191
282
|
ngOnInit() {
|
|
192
283
|
const raw = UserInfoEngine.Instance.GetSetting('mj.identityHeader.collapsed.person');
|
|
193
284
|
if (raw) {
|
|
@@ -267,7 +358,7 @@ export class PersonIdentityComponent {
|
|
|
267
358
|
}
|
|
268
359
|
}
|
|
269
360
|
static ɵfac = function PersonIdentityComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PersonIdentityComponent)(); };
|
|
270
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PersonIdentityComponent, selectors: [["bizapps-person-identity"]], inputs: { Record: "Record", EditMode: "EditMode", FormContext: "FormContext" }, outputs: { Navigate: "Navigate" }, ngContentSelectors: _c0, decls:
|
|
361
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PersonIdentityComponent, selectors: [["bizapps-person-identity"]], inputs: { Record: "Record", EditMode: "EditMode", FormContext: "FormContext" }, outputs: { Navigate: "Navigate" }, ngContentSelectors: _c0, decls: 23, vars: 16, consts: [[1, "biz-hero"], [1, "biz-hero__identity"], ["aria-hidden", "true", 1, "biz-hero__avatar"], [3, "src", "alt"], [1, "biz-hero__initials"], ["title", "Active", 1, "biz-hero__presence"], [1, "biz-hero__copy"], [1, "biz-hero__title-row"], [1, "biz-hero__name"], [1, "biz-hero__aka"], [1, "biz-hero__badges"], [1, "biz-hero__entity-chip"], [1, "fa-solid", "fa-database"], [1, "biz-hero__chip"], ["data-tone", "muted", "title", "Seniority Level", 1, "biz-hero__chip"], ["type", "button", 1, "biz-hero__chip", "biz-hero__chip--interactive", 3, "title"], [1, "biz-hero__secondary-chips"], ["type", "button", 1, "biz-hero__toggle", 3, "click", "title"], [3, "error", "src", "alt"], [1, "fa-solid", "fa-layer-group"], ["type", "button", 1, "biz-hero__chip", "biz-hero__chip--interactive", 3, "click", "title"], [1, "fa-solid", "fa-briefcase"], [1, "biz-hero__chip-count"], [1, "biz-hero__secondary-label"], [1, "biz-hero__sub-chip"], [1, "biz-hero__summary"], [1, "biz-hero__edit"], [1, "biz-hero__stat"], [1, "biz-hero__stat-label"], [1, "biz-hero__stat-val"], ["type", "button", 1, "biz-hero__stat-val"], ["type", "button", 1, "biz-hero__stat-val", 3, "click"], [1, "biz-hero__stat-val", "is-link", 3, "href"], [1, "biz-hero__field"], ["FieldName", "FirstName", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "LastName", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "PreferredName", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Prefix", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Suffix", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "DateOfBirth", "Type", "datepicker", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "Gender", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "SeniorityLevelID", "Type", "dropdownlist", 3, "Record", "ShowLabel", "EditMode", "FormContext"], [1, "biz-hero__field", "biz-hero__field--span"], ["FieldName", "PhotoURL", "Type", "textbox", "LinkType", "URL", 3, "Record", "ShowLabel", "EditMode", "FormContext"]], template: function PersonIdentityComponent_Template(rf, ctx) { if (rf & 1) {
|
|
271
362
|
i0.ɵɵprojectionDef();
|
|
272
363
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
273
364
|
i0.ɵɵconditionalCreate(3, PersonIdentityComponent_Conditional_3_Template, 1, 2, "img", 3)(4, PersonIdentityComponent_Conditional_4_Template, 2, 1, "span", 4);
|
|
@@ -283,12 +374,17 @@ export class PersonIdentityComponent {
|
|
|
283
374
|
i0.ɵɵelementEnd();
|
|
284
375
|
i0.ɵɵelementStart(15, "span", 13);
|
|
285
376
|
i0.ɵɵtext(16);
|
|
286
|
-
i0.ɵɵelementEnd()
|
|
287
|
-
i0.ɵɵ
|
|
288
|
-
i0.ɵɵ
|
|
289
|
-
i0.ɵɵ
|
|
377
|
+
i0.ɵɵelementEnd();
|
|
378
|
+
i0.ɵɵconditionalCreate(17, PersonIdentityComponent_Conditional_17_Template, 3, 1, "span", 14);
|
|
379
|
+
i0.ɵɵconditionalCreate(18, PersonIdentityComponent_Conditional_18_Template, 4, 3, "button", 15);
|
|
380
|
+
i0.ɵɵelementEnd();
|
|
381
|
+
i0.ɵɵconditionalCreate(19, PersonIdentityComponent_Conditional_19_Template, 5, 0, "div", 16);
|
|
382
|
+
i0.ɵɵelementEnd();
|
|
383
|
+
i0.ɵɵelementStart(20, "button", 17);
|
|
384
|
+
i0.ɵɵlistener("click", function PersonIdentityComponent_Template_button_click_20_listener() { return ctx.ToggleCollapsed(); });
|
|
385
|
+
i0.ɵɵelement(21, "i");
|
|
290
386
|
i0.ɵɵelementEnd()();
|
|
291
|
-
i0.ɵɵconditionalCreate(
|
|
387
|
+
i0.ɵɵconditionalCreate(22, PersonIdentityComponent_Conditional_22_Template, 3, 2);
|
|
292
388
|
i0.ɵɵelementEnd();
|
|
293
389
|
} if (rf & 2) {
|
|
294
390
|
i0.ɵɵclassProp("biz-hero--collapsed", ctx.Collapsed);
|
|
@@ -305,17 +401,23 @@ export class PersonIdentityComponent {
|
|
|
305
401
|
i0.ɵɵadvance();
|
|
306
402
|
i0.ɵɵtextInterpolate(ctx.Record.Status);
|
|
307
403
|
i0.ɵɵadvance();
|
|
404
|
+
i0.ɵɵconditional(ctx.Record.SeniorityLevel ? 17 : -1);
|
|
405
|
+
i0.ɵɵadvance();
|
|
406
|
+
i0.ɵɵconditional(ctx.Record.PrimaryJobFunction ? 18 : -1);
|
|
407
|
+
i0.ɵɵadvance();
|
|
408
|
+
i0.ɵɵconditional(ctx.ShowAllFunctions && ctx.AllJobFunctions.length > 0 ? 19 : -1);
|
|
409
|
+
i0.ɵɵadvance();
|
|
308
410
|
i0.ɵɵproperty("title", ctx.Collapsed ? "Expand header" : "Collapse header");
|
|
309
411
|
i0.ɵɵattribute("aria-label", ctx.Collapsed ? "Expand header" : "Collapse header");
|
|
310
412
|
i0.ɵɵadvance();
|
|
311
413
|
i0.ɵɵclassMap(ctx.Collapsed ? "fa-solid fa-chevron-down" : "fa-solid fa-chevron-up");
|
|
312
414
|
i0.ɵɵadvance();
|
|
313
|
-
i0.ɵɵconditional(!ctx.Collapsed ?
|
|
314
|
-
} }, dependencies: [CommonModule, BaseFormsModule, i1.MjFormFieldComponent, LinkDirectivesModule], styles: [".biz-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: 20px 24px;\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));\n position: relative;\n overflow: hidden;\n container-type: inline-size;\n container-name: biz-hero;\n}\n\n.biz-hero[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 3.5px;\n background: linear-gradient(90deg, #38bdf8 0%, #6366f1 50%, #10b981 100%);\n}\n\n.biz-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.biz-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 60px;\n height: 60px;\n border-radius: var(--mj-radius-lg, 14px);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface)) 0%, color-mix(in srgb, var(--mj-brand-accent, #6366f1) 25%, var(--mj-bg-surface)) 100%);\n color: var(--mj-text-inverse, #ffffff);\n box-shadow: 0 4px 14px color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 35%, transparent);\n}\n\n.biz-hero__avatar[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n object-fit: cover;\n}\n\n.biz-hero__presence[_ngcontent-%COMP%] {\n position: absolute;\n bottom: -2px;\n right: -2px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: var(--mj-status-success, #10b981);\n border: 2.5px solid var(--mj-bg-surface-card);\n}\n\n.biz-hero__initials[_ngcontent-%COMP%] {\n font-size: 1.15rem;\n font-weight: 800;\n letter-spacing: 0.02em;\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.biz-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.biz-hero__name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n line-height: 1.25;\n letter-spacing: -0.01em;\n color: var(--mj-text-primary);\n}\n\n.biz-hero__badges[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-2);\n}\n\n.biz-hero__entity-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n}\n\n.biz-hero__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 9px;\n border-radius: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.02em;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__chip[data-tone='success'][_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border-color: var(--mj-status-success-border);\n}\n\n.biz-hero__chip[data-tone='success'][_ngcontent-%COMP%]::before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--mj-status-success);\n}\n\n.biz-hero__chip[data-tone='warning'][_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border-color: var(--mj-status-warning-border);\n}\n\n.biz-hero__aka[_ngcontent-%COMP%] {\n margin-top: 2px;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.biz-hero__summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: var(--mj-space-3);\n margin-top: var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n\n.biz-hero__stat-label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.biz-hero__stat-val[_ngcontent-%COMP%] {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 15px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__stat-val.is-link[_ngcontent-%COMP%], \nbutton.biz-hero__stat-val[_ngcontent-%COMP%] {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--mj-text-link);\n cursor: pointer;\n font: inherit;\n font-weight: var(--mj-font-semibold);\n text-align: left;\n}\n\n.biz-hero__stat-val.is-link[_ngcontent-%COMP%]:hover, \nbutton.biz-hero__stat-val[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n\n\n\n.biz-hero__edit[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding-top: var(--mj-space-3);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.biz-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n\n\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}\n\n@container biz-hero (min-width: 52rem) {\n .biz-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n gap: var(--mj-space-3) var(--mj-space-4);\n }\n\n .biz-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n }\n}\n\n@media (max-width: 720px) {\n .biz-hero__identity[_ngcontent-%COMP%] {\n align-items: flex-start;\n }\n\n .biz-hero__summary[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n\n\n.biz-hero__toggle[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, rgba(255, 255, 255, 0.04));\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 0;\n font-size: 12px;\n transition: all 0.15s ease;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.biz-hero__toggle[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-hover, rgba(255, 255, 255, 0.08));\n border-color: var(--mj-brand-primary);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] {\n padding: 12px 20px;\n gap: 0;\n margin-bottom: var(--mj-space-3);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__avatar[_ngcontent-%COMP%] {\n width: 42px;\n height: 42px;\n border-radius: var(--mj-radius-md, 10px);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__initials[_ngcontent-%COMP%] {\n font-size: 0.95rem;\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__name[_ngcontent-%COMP%] {\n font-size: 1.15rem;\n}"] });
|
|
415
|
+
i0.ɵɵconditional(!ctx.Collapsed ? 22 : -1);
|
|
416
|
+
} }, dependencies: [CommonModule, BaseFormsModule, i1.MjFormFieldComponent, LinkDirectivesModule], styles: [".biz-hero[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: 20px 24px;\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));\n position: relative;\n overflow: hidden;\n container-type: inline-size;\n container-name: biz-hero;\n}\n\n.biz-hero[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 3.5px;\n background: linear-gradient(90deg, #38bdf8 0%, #6366f1 50%, #10b981 100%);\n}\n\n.biz-hero__identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.biz-hero__avatar[_ngcontent-%COMP%] {\n flex: none;\n width: 60px;\n height: 60px;\n border-radius: var(--mj-radius-lg, 14px);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface)) 0%, color-mix(in srgb, var(--mj-brand-accent, #6366f1) 25%, var(--mj-bg-surface)) 100%);\n color: var(--mj-text-inverse, #ffffff);\n box-shadow: 0 4px 14px color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 35%, transparent);\n}\n\n.biz-hero__avatar[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n object-fit: cover;\n}\n\n.biz-hero__presence[_ngcontent-%COMP%] {\n position: absolute;\n bottom: -2px;\n right: -2px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: var(--mj-status-success, #10b981);\n border: 2.5px solid var(--mj-bg-surface-card);\n}\n\n.biz-hero__initials[_ngcontent-%COMP%] {\n font-size: 1.15rem;\n font-weight: 800;\n letter-spacing: 0.02em;\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__copy[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.biz-hero__title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.biz-hero__name[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n line-height: 1.25;\n letter-spacing: -0.01em;\n color: var(--mj-text-primary);\n}\n\n.biz-hero__badges[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-2);\n}\n\n.biz-hero__entity-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n}\n\n.biz-hero__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 9px;\n border-radius: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.02em;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__chip--interactive[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease;\n}\n\n.biz-hero__chip--interactive[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__chip-count[_ngcontent-%COMP%] {\n font-size: 10px;\n padding: 0 4px;\n border-radius: var(--mj-radius-full);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__secondary-chips[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-1);\n font-size: var(--mj-text-xs);\n}\n\n.biz-hero__secondary-label[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 11px;\n font-weight: var(--mj-font-medium);\n}\n\n.biz-hero__sub-chip[_ngcontent-%COMP%] {\n padding: 1px 7px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n color: var(--mj-text-secondary);\n font-size: 11px;\n}\n\n.biz-hero__chip[data-tone='success'][_ngcontent-%COMP%] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border-color: var(--mj-status-success-border);\n}\n\n.biz-hero__chip[data-tone='success'][_ngcontent-%COMP%]::before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--mj-status-success);\n}\n\n.biz-hero__chip[data-tone='warning'][_ngcontent-%COMP%] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border-color: var(--mj-status-warning-border);\n}\n\n.biz-hero__aka[_ngcontent-%COMP%] {\n margin-top: 2px;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.biz-hero__summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: var(--mj-space-3);\n margin-top: var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n\n.biz-hero__stat-label[_ngcontent-%COMP%] {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.biz-hero__stat-val[_ngcontent-%COMP%] {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 15px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__stat-val.is-link[_ngcontent-%COMP%], \nbutton.biz-hero__stat-val[_ngcontent-%COMP%] {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--mj-text-link);\n cursor: pointer;\n font: inherit;\n font-weight: var(--mj-font-semibold);\n text-align: left;\n}\n\n.biz-hero__stat-val.is-link[_ngcontent-%COMP%]:hover, \nbutton.biz-hero__stat-val[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n\n\n\n.biz-hero__edit[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding-top: var(--mj-space-3);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.biz-hero__field[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n\n\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.biz-hero__field[_ngcontent-%COMP%] .mj-forms-field-control {\n width: 100%;\n}\n\n@container biz-hero (min-width: 52rem) {\n .biz-hero__edit[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n gap: var(--mj-space-3) var(--mj-space-4);\n }\n\n .biz-hero__field--span[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n }\n}\n\n@media (max-width: 720px) {\n .biz-hero__identity[_ngcontent-%COMP%] {\n align-items: flex-start;\n }\n\n .biz-hero__summary[_ngcontent-%COMP%] {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n\n\n.biz-hero__toggle[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, rgba(255, 255, 255, 0.04));\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 0;\n font-size: 12px;\n transition: all 0.15s ease;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.biz-hero__toggle[_ngcontent-%COMP%]:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-hover, rgba(255, 255, 255, 0.08));\n border-color: var(--mj-brand-primary);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] {\n padding: 12px 20px;\n gap: 0;\n margin-bottom: var(--mj-space-3);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__avatar[_ngcontent-%COMP%] {\n width: 42px;\n height: 42px;\n border-radius: var(--mj-radius-md, 10px);\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__initials[_ngcontent-%COMP%] {\n font-size: 0.95rem;\n}\n\n.biz-hero--collapsed[_ngcontent-%COMP%] .biz-hero__name[_ngcontent-%COMP%] {\n font-size: 1.15rem;\n}"] });
|
|
315
417
|
}
|
|
316
418
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PersonIdentityComponent, [{
|
|
317
419
|
type: Component,
|
|
318
|
-
args: [{ standalone: true, selector: 'bizapps-person-identity', imports: [CommonModule, BaseFormsModule, LinkDirectivesModule], template: "<div class=\"biz-hero\" [class.biz-hero--collapsed]=\"Collapsed\">\n <div class=\"biz-hero__identity\">\n <div class=\"biz-hero__avatar\" aria-hidden=\"true\">\n @if (Record.PhotoURL && !EditMode) {\n <img [src]=\"Record.PhotoURL\" [alt]=\"Record.DisplayName\" (error)=\"OnPhotoError($event)\">\n } @else {\n <span class=\"biz-hero__initials\">{{ Initials }}</span>\n }\n @if (!EditMode) {\n <span class=\"biz-hero__presence\" title=\"Active\"></span>\n }\n </div>\n\n <div class=\"biz-hero__copy\">\n <div class=\"biz-hero__title-row\">\n <h1 class=\"biz-hero__name\">{{ Record.DisplayName || (Record.FirstName + ' ' + Record.LastName) }}</h1>\n </div>\n @if (PreferredDiffers && !Collapsed) {\n <div class=\"biz-hero__aka\">Goes by {{ Record.PreferredName }}</div>\n }\n <div class=\"biz-hero__badges\">\n <span class=\"biz-hero__entity-chip\">\n <i class=\"fa-solid fa-database\"></i>\n People\n </span>\n <span class=\"biz-hero__chip\" [attr.data-tone]=\"StatusTone\">{{ Record.Status }}</span>\n </div>\n </div>\n\n <button type=\"button\"\n class=\"biz-hero__toggle\"\n [title]=\"Collapsed ? 'Expand header' : 'Collapse header'\"\n [attr.aria-label]=\"Collapsed ? 'Expand header' : 'Collapse header'\"\n (click)=\"ToggleCollapsed()\">\n <i [class]=\"Collapsed ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-up'\"></i>\n </button>\n </div>\n\n @if (!Collapsed) {\n @if (!EditMode && (DisplayTitle || Record.CurrentOrganizationName || Record.PrimaryEmail || Record.Email || LocationLine)) {\n <div class=\"biz-hero__summary\">\n @if (DisplayTitle) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Title</span>\n <span class=\"biz-hero__stat-val\">{{ DisplayTitle }}</span>\n </div>\n }\n @if (Record.CurrentOrganizationName) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Organization</span>\n @if (Record.CurrentOrganizationID) {\n <button type=\"button\" class=\"biz-hero__stat-val\" (click)=\"OnOrgClick($event)\">\n {{ Record.CurrentOrganizationName }}\n </button>\n } @else {\n <span class=\"biz-hero__stat-val\">{{ Record.CurrentOrganizationName }}</span>\n }\n </div>\n }\n @if (Record.PrimaryEmail || Record.Email) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Email</span>\n <a class=\"biz-hero__stat-val is-link\"\n [href]=\"'mailto:' + (Record.PrimaryEmail || Record.Email)\">\n {{ Record.PrimaryEmail || Record.Email }}\n </a>\n </div>\n }\n @if (LocationLine) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Location</span>\n <span class=\"biz-hero__stat-val\">{{ LocationLine }}</span>\n </div>\n }\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (EditMode) {\n <div class=\"biz-hero__edit\">\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"FirstName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"LastName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"PreferredName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Prefix\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Suffix\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"DateOfBirth\"\n Type=\"datepicker\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Gender\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field biz-hero__field--span\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"PhotoURL\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\" LinkType=\"URL\"></mj-form-field>\n </div>\n </div>\n }\n }\n</div>\n", styles: [".biz-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: 20px 24px;\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));\n position: relative;\n overflow: hidden;\n container-type: inline-size;\n container-name: biz-hero;\n}\n\n.biz-hero::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 3.5px;\n background: linear-gradient(90deg, #38bdf8 0%, #6366f1 50%, #10b981 100%);\n}\n\n.biz-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.biz-hero__avatar {\n flex: none;\n width: 60px;\n height: 60px;\n border-radius: var(--mj-radius-lg, 14px);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface)) 0%, color-mix(in srgb, var(--mj-brand-accent, #6366f1) 25%, var(--mj-bg-surface)) 100%);\n color: var(--mj-text-inverse, #ffffff);\n box-shadow: 0 4px 14px color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 35%, transparent);\n}\n\n.biz-hero__avatar img {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n object-fit: cover;\n}\n\n.biz-hero__presence {\n position: absolute;\n bottom: -2px;\n right: -2px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: var(--mj-status-success, #10b981);\n border: 2.5px solid var(--mj-bg-surface-card);\n}\n\n.biz-hero__initials {\n font-size: 1.15rem;\n font-weight: 800;\n letter-spacing: 0.02em;\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.biz-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.biz-hero__name {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n line-height: 1.25;\n letter-spacing: -0.01em;\n color: var(--mj-text-primary);\n}\n\n.biz-hero__badges {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-2);\n}\n\n.biz-hero__entity-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n}\n\n.biz-hero__chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 9px;\n border-radius: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.02em;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__chip[data-tone='success'] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border-color: var(--mj-status-success-border);\n}\n\n.biz-hero__chip[data-tone='success']::before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--mj-status-success);\n}\n\n.biz-hero__chip[data-tone='warning'] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border-color: var(--mj-status-warning-border);\n}\n\n.biz-hero__aka {\n margin-top: 2px;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.biz-hero__summary {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: var(--mj-space-3);\n margin-top: var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__stat {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n\n.biz-hero__stat-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.biz-hero__stat-val {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 15px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__stat-val.is-link,\nbutton.biz-hero__stat-val {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--mj-text-link);\n cursor: pointer;\n font: inherit;\n font-weight: var(--mj-font-semibold);\n text-align: left;\n}\n\n.biz-hero__stat-val.is-link:hover,\nbutton.biz-hero__stat-val:hover {\n text-decoration: underline;\n}\n\n/* mj-form-field is display:contents \u2014 never let its label/control become\n siblings of a parent grid. Each field sits in a wrapping cell. */\n.biz-hero__edit {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding-top: var(--mj-space-3);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.biz-hero__field {\n min-width: 0;\n}\n\n/* Label above the control. The shared field is a 200px|1fr row \u2014 that\n needs ~28rem per field and is why this card looked broken. */\n.biz-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n\n@container biz-hero (min-width: 52rem) {\n .biz-hero__edit {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n gap: var(--mj-space-3) var(--mj-space-4);\n }\n\n .biz-hero__field--span {\n grid-column: 1 / -1;\n }\n}\n\n@media (max-width: 720px) {\n .biz-hero__identity {\n align-items: flex-start;\n }\n\n .biz-hero__summary {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n/* \u2500\u2500 Collapsed State & Toggle Button \u2500\u2500 */\n.biz-hero__toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, rgba(255, 255, 255, 0.04));\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 0;\n font-size: 12px;\n transition: all 0.15s ease;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.biz-hero__toggle:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-hover, rgba(255, 255, 255, 0.08));\n border-color: var(--mj-brand-primary);\n}\n\n.biz-hero--collapsed {\n padding: 12px 20px;\n gap: 0;\n margin-bottom: var(--mj-space-3);\n}\n\n.biz-hero--collapsed .biz-hero__avatar {\n width: 42px;\n height: 42px;\n border-radius: var(--mj-radius-md, 10px);\n}\n\n.biz-hero--collapsed .biz-hero__initials {\n font-size: 0.95rem;\n}\n\n.biz-hero--collapsed .biz-hero__name {\n font-size: 1.15rem;\n}\n"] }]
|
|
420
|
+
args: [{ standalone: true, selector: 'bizapps-person-identity', imports: [CommonModule, BaseFormsModule, LinkDirectivesModule], template: "<div class=\"biz-hero\" [class.biz-hero--collapsed]=\"Collapsed\">\n <div class=\"biz-hero__identity\">\n <div class=\"biz-hero__avatar\" aria-hidden=\"true\">\n @if (Record.PhotoURL && !EditMode) {\n <img [src]=\"Record.PhotoURL\" [alt]=\"Record.DisplayName\" (error)=\"OnPhotoError($event)\">\n } @else {\n <span class=\"biz-hero__initials\">{{ Initials }}</span>\n }\n @if (!EditMode) {\n <span class=\"biz-hero__presence\" title=\"Active\"></span>\n }\n </div>\n\n <div class=\"biz-hero__copy\">\n <div class=\"biz-hero__title-row\">\n <h1 class=\"biz-hero__name\">{{ Record.DisplayName || (Record.FirstName + ' ' + Record.LastName) }}</h1>\n </div>\n @if (PreferredDiffers && !Collapsed) {\n <div class=\"biz-hero__aka\">Goes by {{ Record.PreferredName }}</div>\n }\n <div class=\"biz-hero__badges\">\n <span class=\"biz-hero__entity-chip\">\n <i class=\"fa-solid fa-database\"></i>\n People\n </span>\n <span class=\"biz-hero__chip\" [attr.data-tone]=\"StatusTone\">{{ Record.Status }}</span>\n @if (Record.SeniorityLevel) {\n <span class=\"biz-hero__chip\" data-tone=\"muted\" title=\"Seniority Level\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{ Record.SeniorityLevel }}\n </span>\n }\n @if (Record.PrimaryJobFunction) {\n <button type=\"button\" class=\"biz-hero__chip biz-hero__chip--interactive\"\n [title]=\"ShowAllFunctions ? 'Hide job functions' : 'Show all job functions'\"\n (click)=\"ToggleAllFunctions()\">\n <i class=\"fa-solid fa-briefcase\"></i>\n {{ Record.PrimaryJobFunction }}\n @if (AllJobFunctions.length > 1) {\n <span class=\"biz-hero__chip-count\">+{{ AllJobFunctions.length - 1 }}</span>\n }\n </button>\n }\n </div>\n @if (ShowAllFunctions && AllJobFunctions.length > 0) {\n <div class=\"biz-hero__secondary-chips\">\n <span class=\"biz-hero__secondary-label\">Job Functions:</span>\n @for (fn of AllJobFunctions; track fn) {\n <span class=\"biz-hero__sub-chip\">{{ fn }}</span>\n }\n </div>\n }\n </div>\n\n <button type=\"button\"\n class=\"biz-hero__toggle\"\n [title]=\"Collapsed ? 'Expand header' : 'Collapse header'\"\n [attr.aria-label]=\"Collapsed ? 'Expand header' : 'Collapse header'\"\n (click)=\"ToggleCollapsed()\">\n <i [class]=\"Collapsed ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-up'\"></i>\n </button>\n </div>\n\n @if (!Collapsed) {\n @if (!EditMode && (DisplayTitle || Record.CurrentOrganizationName || Record.PrimaryEmail || Record.Email || LocationLine)) {\n <div class=\"biz-hero__summary\">\n @if (DisplayTitle) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Title</span>\n <span class=\"biz-hero__stat-val\">{{ DisplayTitle }}</span>\n </div>\n }\n @if (Record.CurrentOrganizationName) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Organization</span>\n @if (Record.CurrentOrganizationID) {\n <button type=\"button\" class=\"biz-hero__stat-val\" (click)=\"OnOrgClick($event)\">\n {{ Record.CurrentOrganizationName }}\n </button>\n } @else {\n <span class=\"biz-hero__stat-val\">{{ Record.CurrentOrganizationName }}</span>\n }\n </div>\n }\n @if (Record.PrimaryEmail || Record.Email) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Email</span>\n <a class=\"biz-hero__stat-val is-link\"\n [href]=\"'mailto:' + (Record.PrimaryEmail || Record.Email)\">\n {{ Record.PrimaryEmail || Record.Email }}\n </a>\n </div>\n }\n @if (LocationLine) {\n <div class=\"biz-hero__stat\">\n <span class=\"biz-hero__stat-label\">Location</span>\n <span class=\"biz-hero__stat-val\">{{ LocationLine }}</span>\n </div>\n }\n </div>\n }\n\n <ng-content></ng-content>\n\n @if (EditMode) {\n <div class=\"biz-hero__edit\">\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"FirstName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"LastName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"PreferredName\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Prefix\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Suffix\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"DateOfBirth\"\n Type=\"datepicker\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"Gender\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"SeniorityLevelID\"\n Type=\"dropdownlist\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\"></mj-form-field>\n </div>\n <div class=\"biz-hero__field biz-hero__field--span\">\n <mj-form-field [Record]=\"Record\" [ShowLabel]=\"true\" FieldName=\"PhotoURL\"\n Type=\"textbox\" [EditMode]=\"EditMode\" [FormContext]=\"FormContext\" LinkType=\"URL\"></mj-form-field>\n </div>\n </div>\n }\n }\n</div>\n", styles: [".biz-hero {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-4);\n padding: 20px 24px;\n margin-bottom: var(--mj-space-4);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-xl, 16px);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));\n position: relative;\n overflow: hidden;\n container-type: inline-size;\n container-name: biz-hero;\n}\n\n.biz-hero::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 3.5px;\n background: linear-gradient(90deg, #38bdf8 0%, #6366f1 50%, #10b981 100%);\n}\n\n.biz-hero__identity {\n display: flex;\n align-items: center;\n gap: var(--mj-space-4);\n min-width: 0;\n}\n\n.biz-hero__avatar {\n flex: none;\n width: 60px;\n height: 60px;\n border-radius: var(--mj-radius-lg, 14px);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface)) 0%, color-mix(in srgb, var(--mj-brand-accent, #6366f1) 25%, var(--mj-bg-surface)) 100%);\n color: var(--mj-text-inverse, #ffffff);\n box-shadow: 0 4px 14px color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n border: 2px solid color-mix(in srgb, var(--mj-brand-primary) 35%, transparent);\n}\n\n.biz-hero__avatar img {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n object-fit: cover;\n}\n\n.biz-hero__presence {\n position: absolute;\n bottom: -2px;\n right: -2px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: var(--mj-status-success, #10b981);\n border: 2.5px solid var(--mj-bg-surface-card);\n}\n\n.biz-hero__initials {\n font-size: 1.15rem;\n font-weight: 800;\n letter-spacing: 0.02em;\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__copy {\n min-width: 0;\n flex: 1;\n}\n\n.biz-hero__title-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2) var(--mj-space-3);\n}\n\n.biz-hero__name {\n margin: 0;\n font-size: var(--mj-text-lg, 18px);\n font-weight: var(--mj-font-bold, 700);\n line-height: 1.25;\n letter-spacing: -0.01em;\n color: var(--mj-text-primary);\n}\n\n.biz-hero__badges {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-2);\n}\n\n.biz-hero__entity-chip {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n}\n\n.biz-hero__chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 9px;\n border-radius: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.02em;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__chip--interactive {\n cursor: pointer;\n transition: background 0.15s ease, border-color 0.15s ease;\n}\n\n.biz-hero__chip--interactive:hover {\n background: var(--mj-bg-surface-card);\n border-color: var(--mj-brand-primary);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__chip-count {\n font-size: 10px;\n padding: 0 4px;\n border-radius: var(--mj-radius-full);\n background: var(--mj-status-info-bg);\n color: var(--mj-brand-primary);\n}\n\n.biz-hero__secondary-chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--mj-space-2);\n margin-top: var(--mj-space-1);\n font-size: var(--mj-text-xs);\n}\n\n.biz-hero__secondary-label {\n color: var(--mj-text-muted);\n font-size: 11px;\n font-weight: var(--mj-font-medium);\n}\n\n.biz-hero__sub-chip {\n padding: 1px 7px;\n border-radius: var(--mj-radius-sm);\n background: var(--mj-bg-surface-sunken);\n border: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n color: var(--mj-text-secondary);\n font-size: 11px;\n}\n\n.biz-hero__chip[data-tone='success'] {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n border-color: var(--mj-status-success-border);\n}\n\n.biz-hero__chip[data-tone='success']::before {\n content: '';\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--mj-status-success);\n}\n\n.biz-hero__chip[data-tone='warning'] {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n border-color: var(--mj-status-warning-border);\n}\n\n.biz-hero__aka {\n margin-top: 2px;\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n}\n\n.biz-hero__summary {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: var(--mj-space-3);\n margin-top: var(--mj-space-4);\n padding-top: var(--mj-space-4);\n border-top: 1px solid var(--mj-border-default);\n}\n\n.biz-hero__stat {\n display: flex;\n flex-direction: column;\n gap: 3px;\n min-width: 0;\n}\n\n.biz-hero__stat-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n letter-spacing: 0.04em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.biz-hero__stat-val {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 15px;\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.biz-hero__stat-val.is-link,\nbutton.biz-hero__stat-val {\n border: 0;\n padding: 0;\n background: transparent;\n color: var(--mj-text-link);\n cursor: pointer;\n font: inherit;\n font-weight: var(--mj-font-semibold);\n text-align: left;\n}\n\n.biz-hero__stat-val.is-link:hover,\nbutton.biz-hero__stat-val:hover {\n text-decoration: underline;\n}\n\n/* mj-form-field is display:contents \u2014 never let its label/control become\n siblings of a parent grid. Each field sits in a wrapping cell. */\n.biz-hero__edit {\n display: flex;\n flex-direction: column;\n gap: var(--mj-space-3);\n padding-top: var(--mj-space-3);\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.biz-hero__field {\n min-width: 0;\n}\n\n/* Label above the control. The shared field is a 200px|1fr row \u2014 that\n needs ~28rem per field and is why this card looked broken. */\n.biz-hero__field ::ng-deep .mj-forms-field {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n gap: 4px;\n padding: 0;\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field-label {\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-bold);\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--mj-text-muted);\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field--editing:hover {\n margin: 0;\n padding: 0;\n}\n\n.biz-hero__field ::ng-deep .mj-forms-field-control {\n width: 100%;\n}\n\n@container biz-hero (min-width: 52rem) {\n .biz-hero__edit {\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n gap: var(--mj-space-3) var(--mj-space-4);\n }\n\n .biz-hero__field--span {\n grid-column: 1 / -1;\n }\n}\n\n@media (max-width: 720px) {\n .biz-hero__identity {\n align-items: flex-start;\n }\n\n .biz-hero__summary {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n/* \u2500\u2500 Collapsed State & Toggle Button \u2500\u2500 */\n.biz-hero__toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-bg-surface-sunken, rgba(255, 255, 255, 0.04));\n border: 1px solid var(--mj-border-default);\n color: var(--mj-text-secondary);\n cursor: pointer;\n padding: 0;\n font-size: 12px;\n transition: all 0.15s ease;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.biz-hero__toggle:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-hover, rgba(255, 255, 255, 0.08));\n border-color: var(--mj-brand-primary);\n}\n\n.biz-hero--collapsed {\n padding: 12px 20px;\n gap: 0;\n margin-bottom: var(--mj-space-3);\n}\n\n.biz-hero--collapsed .biz-hero__avatar {\n width: 42px;\n height: 42px;\n border-radius: var(--mj-radius-md, 10px);\n}\n\n.biz-hero--collapsed .biz-hero__initials {\n font-size: 0.95rem;\n}\n\n.biz-hero--collapsed .biz-hero__name {\n font-size: 1.15rem;\n}\n"] }]
|
|
319
421
|
}], null, { Record: [{
|
|
320
422
|
type: Input,
|
|
321
423
|
args: [{ required: true }]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person-identity.component.js","sourceRoot":"","sources":["../../../../src/lib/components/identity-header/person-identity.component.ts","../../../../src/lib/components/identity-header/person-identity.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"person-identity.component.js","sourceRoot":"","sources":["../../../../src/lib/components/identity-header/person-identity.component.ts","../../../../src/lib/components/identity-header/person-identity.component.html"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { IMetadataProvider } from '@memberjunction/core';
|
|
3
|
+
import { mjBizAppsCommonJobFunctionEntity, mjBizAppsCommonPersonJobFunctionEntity } from '@mj-biz-apps/common-entities';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Visual editor and manager for a Person's assigned Job Functions.
|
|
7
|
+
* Displays functions in sequence order with primary badge, confidence metrics,
|
|
8
|
+
* inline sequence reordering (Move Up / Down), set-as-primary, delete, and quick-add.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PersonJobFunctionsComponent implements OnInit, OnChanges {
|
|
11
|
+
private cdr;
|
|
12
|
+
PersonID: string | null;
|
|
13
|
+
EditMode: boolean;
|
|
14
|
+
Provider?: IMetadataProvider;
|
|
15
|
+
DataChanged: EventEmitter<void>;
|
|
16
|
+
/** The provider actually used — the one passed in, or the ambient one. */
|
|
17
|
+
get ProviderToUse(): IMetadataProvider;
|
|
18
|
+
Items: mjBizAppsCommonPersonJobFunctionEntity[];
|
|
19
|
+
AvailableFunctions: mjBizAppsCommonJobFunctionEntity[];
|
|
20
|
+
Loading: boolean;
|
|
21
|
+
Saving: boolean;
|
|
22
|
+
ErrorMessage: string | null;
|
|
23
|
+
SelectedFunctionIDToAdd: string;
|
|
24
|
+
ShowAddPicker: boolean;
|
|
25
|
+
ngOnInit(): Promise<void>;
|
|
26
|
+
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
27
|
+
/** Unassigned job functions available for quick assignment. */
|
|
28
|
+
get unassignedFunctions(): mjBizAppsCommonJobFunctionEntity[];
|
|
29
|
+
/** Reload both available functions catalog and assigned person functions. */
|
|
30
|
+
loadAll(): Promise<void>;
|
|
31
|
+
/** Add a selected job function to the person. */
|
|
32
|
+
onAddFunction(): Promise<void>;
|
|
33
|
+
/** Remove an assigned job function. */
|
|
34
|
+
onRemove(item: mjBizAppsCommonPersonJobFunctionEntity): Promise<void>;
|
|
35
|
+
/** Move a function up one position. */
|
|
36
|
+
onMoveUp(index: number): Promise<void>;
|
|
37
|
+
/** Move a function down one position. */
|
|
38
|
+
onMoveDown(index: number): Promise<void>;
|
|
39
|
+
/** Promote any function directly to #1 (Primary). */
|
|
40
|
+
onSetPrimary(index: number): Promise<void>;
|
|
41
|
+
private swapPositions;
|
|
42
|
+
/** Assign consecutive sequence numbers 1..N and persist changes. */
|
|
43
|
+
private normalizeSequences;
|
|
44
|
+
/** Format confidence score as a percentage. */
|
|
45
|
+
formatConfidence(score: number | null | undefined): string;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PersonJobFunctionsComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PersonJobFunctionsComponent, "bizapps-person-job-functions", never, { "PersonID": { "alias": "PersonID"; "required": false; }; "EditMode": { "alias": "EditMode"; "required": false; }; "Provider": { "alias": "Provider"; "required": false; }; }, { "DataChanged": "DataChanged"; }, never, never, true, never>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=person-job-functions.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"person-job-functions.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/person-job-functions/person-job-functions.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,YAAY,EAEZ,SAAS,EACT,MAAM,EAEN,aAAa,EAEhB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,iBAAiB,EAAqB,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EACH,gCAAgC,EAChC,sCAAsC,EACzC,MAAM,8BAA8B,CAAC;;AAEtC;;;;GAIG;AACH,qBAQa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IACjE,OAAO,CAAC,GAAG,CAA6B;IAE/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,QAAQ,UAAQ;IAChB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE5B,WAAW,qBAA4B;IAEjD,0EAA0E;IAC1E,IAAW,aAAa,IAAI,iBAAiB,CAE5C;IAEM,KAAK,EAAE,sCAAsC,EAAE,CAAM;IACrD,kBAAkB,EAAE,gCAAgC,EAAE,CAAM;IAC5D,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,uBAAuB,SAAM;IAC7B,aAAa,UAAS;IAEhB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,+DAA+D;IAC/D,IAAW,mBAAmB,IAAI,gCAAgC,EAAE,CAInE;IAED,6EAA6E;IAChE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDrC,iDAAiD;IACpC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC3C,uCAAuC;IAC1B,QAAQ,CAAC,IAAI,EAAE,sCAAsC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BlF,uCAAuC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnD,yCAAyC;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,qDAAqD;IACxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAuBzC,aAAa;IAwB3B,oEAAoE;YACtD,kBAAkB;IAahC,+CAA+C;IACxC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM;yCAlPxD,2BAA2B;2CAA3B,2BAA2B;CAsPvC"}
|