keycloakify 6.12.7-rc.0 → 6.12.8
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/lib/pages/shared/UserProfileCommons.d.ts +47 -4
- package/lib/pages/shared/UserProfileCommons.js +341 -14
- package/lib/pages/shared/UserProfileCommons.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/useFormValidationSlice.d.ts +30 -28
- package/lib/useFormValidationSlice.js +104 -102
- package/lib/useFormValidationSlice.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/pages/shared/UserProfileCommons.tsx +517 -34
- package/src/lib/useFormValidationSlice.tsx +174 -172
@@ -1,10 +1,11 @@
|
|
1
|
-
|
1
|
+
import React from "react";
|
2
2
|
import type { KcProps } from "../../KcProps";
|
3
|
-
import type { Attribute } from "../../getKcContext/KcContextBase";
|
4
|
-
import { useFormValidationSlice } from "../../useFormValidationSlice";
|
5
3
|
import type { I18nBase } from "../../i18n";
|
4
|
+
import type { Attribute } from "../../getKcContext";
|
5
|
+
import "../../tools/Array.prototype.every";
|
6
|
+
import type { KcContextBase, Validators } from "../../getKcContext";
|
6
7
|
export type UserProfileFormFieldsProps = {
|
7
|
-
kcContext: Parameters<typeof
|
8
|
+
kcContext: Parameters<typeof useFormValidation>[0]["kcContext"];
|
8
9
|
i18n: I18nBase;
|
9
10
|
} & KcProps & Partial<Record<"BeforeField" | "AfterField", (props: {
|
10
11
|
attribute: Attribute;
|
@@ -12,3 +13,45 @@ export type UserProfileFormFieldsProps = {
|
|
12
13
|
onIsFormSubmittableValueChange: (isFormSubmittable: boolean) => void;
|
13
14
|
};
|
14
15
|
export declare function UserProfileFormFields({ kcContext, onIsFormSubmittableValueChange, i18n, BeforeField, AfterField, ...props }: UserProfileFormFieldsProps): JSX.Element;
|
16
|
+
/**
|
17
|
+
* NOTE: The attributesWithPassword returned is actually augmented with
|
18
|
+
* artificial password related attributes only if kcContext.passwordRequired === true
|
19
|
+
*/
|
20
|
+
export declare function useFormValidation(params: {
|
21
|
+
kcContext: {
|
22
|
+
messagesPerField: Pick<KcContextBase.Common["messagesPerField"], "existsError" | "get">;
|
23
|
+
profile: {
|
24
|
+
attributes: Attribute[];
|
25
|
+
};
|
26
|
+
passwordRequired?: boolean;
|
27
|
+
realm: {
|
28
|
+
registrationEmailAsUsername: boolean;
|
29
|
+
};
|
30
|
+
};
|
31
|
+
/** NOTE: Try to avoid passing a new ref every render for better performances. */
|
32
|
+
passwordValidators?: Validators;
|
33
|
+
i18n: I18nBase;
|
34
|
+
}): {
|
35
|
+
formValidationState: {
|
36
|
+
fieldStateByAttributeName: {
|
37
|
+
[k: string]: {
|
38
|
+
value: string;
|
39
|
+
displayableErrors: {
|
40
|
+
errorMessage: JSX.Element;
|
41
|
+
errorMessageStr: string;
|
42
|
+
validatorName: "double" | "pattern" | "length" | "email" | "integer" | "up-immutable-attribute" | "up-attribute-required-by-metadata-value" | "up-username-has-value" | "up-duplicate-username" | "up-username-mutation" | "up-email-exists-as-username" | "up-blank-attribute-value" | "up-duplicate-email" | "local-date" | "person-name-prohibited-characters" | "uri" | "username-prohibited-characters" | "_compareToOther" | "options" | undefined;
|
43
|
+
}[];
|
44
|
+
};
|
45
|
+
};
|
46
|
+
isFormSubmittable: boolean;
|
47
|
+
};
|
48
|
+
formValidationDispatch: React.Dispatch<{
|
49
|
+
action: "update value";
|
50
|
+
name: string;
|
51
|
+
newValue: string;
|
52
|
+
} | {
|
53
|
+
action: "focus lost";
|
54
|
+
name: string;
|
55
|
+
}>;
|
56
|
+
attributesWithPassword: Attribute[];
|
57
|
+
};
|
@@ -11,27 +11,26 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
import React, { useEffect, Fragment } from "react";
|
13
13
|
import { clsx } from "../../tools/clsx";
|
14
|
-
|
15
|
-
import
|
14
|
+
// If you are copy pasting this code in your theme project
|
15
|
+
// you can delete all the following import and replace them by
|
16
|
+
// import { useFormValidation } from "keycloakify/lib/pages/shared/UserProfileCommons";
|
17
|
+
// you can also delete the useFormValidation hooks and useGetErrors hooks, they shouldn't need
|
18
|
+
// to be modified.
|
19
|
+
import "../../tools/Array.prototype.every";
|
20
|
+
import { useMemo, useReducer } from "react";
|
21
|
+
import { useConstCallback } from "../../tools/useConstCallback";
|
22
|
+
import { emailRegexp } from "../../tools/emailRegExp";
|
23
|
+
import { id } from "tsafe/id";
|
16
24
|
export function UserProfileFormFields(_a) {
|
17
25
|
var { kcContext, onIsFormSubmittableValueChange, i18n, BeforeField, AfterField } = _a, props = __rest(_a, ["kcContext", "onIsFormSubmittableValueChange", "i18n", "BeforeField", "AfterField"]);
|
18
26
|
const { advancedMsg } = i18n;
|
19
|
-
const { formValidationState: { fieldStateByAttributeName, isFormSubmittable },
|
27
|
+
const { formValidationState: { fieldStateByAttributeName, isFormSubmittable }, formValidationDispatch, attributesWithPassword } = useFormValidation({
|
20
28
|
kcContext,
|
21
29
|
i18n
|
22
30
|
});
|
23
31
|
useEffect(() => {
|
24
32
|
onIsFormSubmittableValueChange(isFormSubmittable);
|
25
33
|
}, [isFormSubmittable]);
|
26
|
-
const onChangeFactory = useCallbackFactory(([name], [{ target: { value } }]) => formValidationReducer({
|
27
|
-
"action": "update value",
|
28
|
-
name,
|
29
|
-
"newValue": value
|
30
|
-
}));
|
31
|
-
const onBlurFactory = useCallbackFactory(([name]) => formValidationReducer({
|
32
|
-
"action": "focus lost",
|
33
|
-
name
|
34
|
-
}));
|
35
34
|
let currentGroup = "";
|
36
35
|
return (React.createElement(React.Fragment, null, attributesWithPassword.map((attribute, i) => {
|
37
36
|
var _a;
|
@@ -53,7 +52,14 @@ export function UserProfileFormFields(_a) {
|
|
53
52
|
(() => {
|
54
53
|
const { options } = attribute.validators;
|
55
54
|
if (options !== undefined) {
|
56
|
-
return (React.createElement("select", { id: attribute.name, name: attribute.name, onChange:
|
55
|
+
return (React.createElement("select", { id: attribute.name, name: attribute.name, onChange: event => formValidationDispatch({
|
56
|
+
"action": "update value",
|
57
|
+
"name": attribute.name,
|
58
|
+
"newValue": event.target.value
|
59
|
+
}), onBlur: () => formValidationDispatch({
|
60
|
+
"action": "focus lost",
|
61
|
+
"name": attribute.name
|
62
|
+
}), value: value }, options.options.map(option => (React.createElement("option", { key: option, value: option }, option)))));
|
57
63
|
}
|
58
64
|
return (React.createElement("input", { type: (() => {
|
59
65
|
switch (attribute.name) {
|
@@ -63,7 +69,14 @@ export function UserProfileFormFields(_a) {
|
|
63
69
|
default:
|
64
70
|
return "text";
|
65
71
|
}
|
66
|
-
})(), id: attribute.name, name: attribute.name, value: value, onChange:
|
72
|
+
})(), id: attribute.name, name: attribute.name, value: value, onChange: event => formValidationDispatch({
|
73
|
+
"action": "update value",
|
74
|
+
"name": attribute.name,
|
75
|
+
"newValue": event.target.value
|
76
|
+
}), onBlur: () => formValidationDispatch({
|
77
|
+
"action": "focus lost",
|
78
|
+
"name": attribute.name
|
79
|
+
}), className: clsx(props.kcInputClass), "aria-invalid": displayableErrors.length !== 0, disabled: attribute.readOnly, autoComplete: attribute.autocomplete }));
|
67
80
|
})(),
|
68
81
|
displayableErrors.length !== 0 &&
|
69
82
|
(() => {
|
@@ -77,4 +90,318 @@ export function UserProfileFormFields(_a) {
|
|
77
90
|
AfterField && React.createElement(AfterField, { attribute: attribute })));
|
78
91
|
})));
|
79
92
|
}
|
93
|
+
/**
|
94
|
+
* NOTE: The attributesWithPassword returned is actually augmented with
|
95
|
+
* artificial password related attributes only if kcContext.passwordRequired === true
|
96
|
+
*/
|
97
|
+
export function useFormValidation(params) {
|
98
|
+
const { kcContext, passwordValidators = {
|
99
|
+
"length": {
|
100
|
+
"ignore.empty.value": true,
|
101
|
+
"min": "4"
|
102
|
+
}
|
103
|
+
}, i18n } = params;
|
104
|
+
const attributesWithPassword = useMemo(() => !kcContext.passwordRequired
|
105
|
+
? kcContext.profile.attributes
|
106
|
+
: (() => {
|
107
|
+
const name = kcContext.realm.registrationEmailAsUsername ? "email" : "username";
|
108
|
+
return kcContext.profile.attributes.reduce((prev, curr) => [
|
109
|
+
...prev,
|
110
|
+
...(curr.name !== name
|
111
|
+
? [curr]
|
112
|
+
: [
|
113
|
+
curr,
|
114
|
+
id({
|
115
|
+
"name": "password",
|
116
|
+
"displayName": id("${password}"),
|
117
|
+
"required": true,
|
118
|
+
"readOnly": false,
|
119
|
+
"validators": passwordValidators,
|
120
|
+
"annotations": {},
|
121
|
+
"groupAnnotations": {},
|
122
|
+
"autocomplete": "new-password"
|
123
|
+
}),
|
124
|
+
id({
|
125
|
+
"name": "password-confirm",
|
126
|
+
"displayName": id("${passwordConfirm}"),
|
127
|
+
"required": true,
|
128
|
+
"readOnly": false,
|
129
|
+
"validators": {
|
130
|
+
"_compareToOther": {
|
131
|
+
"name": "password",
|
132
|
+
"ignore.empty.value": true,
|
133
|
+
"shouldBe": "equal",
|
134
|
+
"error-message": id("${invalidPasswordConfirmMessage}")
|
135
|
+
}
|
136
|
+
},
|
137
|
+
"annotations": {},
|
138
|
+
"groupAnnotations": {},
|
139
|
+
"autocomplete": "new-password"
|
140
|
+
})
|
141
|
+
])
|
142
|
+
], []);
|
143
|
+
})(), [kcContext, passwordValidators]);
|
144
|
+
const { getErrors } = useGetErrors({
|
145
|
+
"kcContext": {
|
146
|
+
"messagesPerField": kcContext.messagesPerField,
|
147
|
+
"profile": {
|
148
|
+
"attributes": attributesWithPassword
|
149
|
+
}
|
150
|
+
},
|
151
|
+
i18n
|
152
|
+
});
|
153
|
+
const initialInternalState = useMemo(() => Object.fromEntries(attributesWithPassword
|
154
|
+
.map(attribute => ({
|
155
|
+
attribute,
|
156
|
+
"errors": getErrors({
|
157
|
+
"name": attribute.name,
|
158
|
+
"fieldValueByAttributeName": Object.fromEntries(attributesWithPassword.map(({ name, value }) => [name, { "value": value !== null && value !== void 0 ? value : "" }]))
|
159
|
+
})
|
160
|
+
}))
|
161
|
+
.map(({ attribute, errors }) => {
|
162
|
+
var _a;
|
163
|
+
return [
|
164
|
+
attribute.name,
|
165
|
+
{
|
166
|
+
"value": (_a = attribute.value) !== null && _a !== void 0 ? _a : "",
|
167
|
+
errors,
|
168
|
+
"doDisplayPotentialErrorMessages": errors.length !== 0
|
169
|
+
}
|
170
|
+
];
|
171
|
+
})), [attributesWithPassword]);
|
172
|
+
const [formValidationInternalState, formValidationDispatch] = useReducer((state, params) => (Object.assign(Object.assign({}, state), { [params.name]: Object.assign(Object.assign({}, state[params.name]), (() => {
|
173
|
+
switch (params.action) {
|
174
|
+
case "focus lost":
|
175
|
+
return { "doDisplayPotentialErrorMessages": true };
|
176
|
+
case "update value":
|
177
|
+
return {
|
178
|
+
"value": params.newValue,
|
179
|
+
"errors": getErrors({
|
180
|
+
"name": params.name,
|
181
|
+
"fieldValueByAttributeName": Object.assign(Object.assign({}, state), { [params.name]: { "value": params.newValue } })
|
182
|
+
})
|
183
|
+
};
|
184
|
+
}
|
185
|
+
})()) })), initialInternalState);
|
186
|
+
const formValidationState = useMemo(() => ({
|
187
|
+
"fieldStateByAttributeName": Object.fromEntries(Object.entries(formValidationInternalState).map(([name, { value, errors, doDisplayPotentialErrorMessages }]) => [
|
188
|
+
name,
|
189
|
+
{ value, "displayableErrors": doDisplayPotentialErrorMessages ? errors : [] }
|
190
|
+
])),
|
191
|
+
"isFormSubmittable": Object.entries(formValidationInternalState).every(([name, { value, errors }]) => errors.length === 0 && (value !== "" || !attributesWithPassword.find(attribute => attribute.name === name).required))
|
192
|
+
}), [formValidationInternalState, attributesWithPassword]);
|
193
|
+
return {
|
194
|
+
formValidationState,
|
195
|
+
formValidationDispatch,
|
196
|
+
attributesWithPassword
|
197
|
+
};
|
198
|
+
}
|
199
|
+
/** Expect to be used in a component wrapped within a <I18nProvider> */
|
200
|
+
function useGetErrors(params) {
|
201
|
+
const { kcContext, i18n } = params;
|
202
|
+
const { messagesPerField, profile: { attributes } } = kcContext;
|
203
|
+
const { msg, msgStr, advancedMsg, advancedMsgStr } = i18n;
|
204
|
+
const getErrors = useConstCallback((params) => {
|
205
|
+
var _a;
|
206
|
+
const { name, fieldValueByAttributeName } = params;
|
207
|
+
const { value } = fieldValueByAttributeName[name];
|
208
|
+
const { value: defaultValue, validators } = attributes.find(attribute => attribute.name === name);
|
209
|
+
block: {
|
210
|
+
if (defaultValue !== value) {
|
211
|
+
break block;
|
212
|
+
}
|
213
|
+
let doesErrorExist;
|
214
|
+
try {
|
215
|
+
doesErrorExist = messagesPerField.existsError(name);
|
216
|
+
}
|
217
|
+
catch (_b) {
|
218
|
+
break block;
|
219
|
+
}
|
220
|
+
if (!doesErrorExist) {
|
221
|
+
break block;
|
222
|
+
}
|
223
|
+
const errorMessageStr = messagesPerField.get(name);
|
224
|
+
return [
|
225
|
+
{
|
226
|
+
"validatorName": undefined,
|
227
|
+
errorMessageStr,
|
228
|
+
"errorMessage": React.createElement("span", { key: 0 }, errorMessageStr)
|
229
|
+
}
|
230
|
+
];
|
231
|
+
}
|
232
|
+
const errors = [];
|
233
|
+
scope: {
|
234
|
+
const validatorName = "length";
|
235
|
+
const validator = validators[validatorName];
|
236
|
+
if (validator === undefined) {
|
237
|
+
break scope;
|
238
|
+
}
|
239
|
+
const { "ignore.empty.value": ignoreEmptyValue = false, max, min } = validator;
|
240
|
+
if (ignoreEmptyValue && value === "") {
|
241
|
+
break scope;
|
242
|
+
}
|
243
|
+
if (max !== undefined && value.length > parseInt(max)) {
|
244
|
+
const msgArgs = ["error-invalid-length-too-long", max];
|
245
|
+
errors.push({
|
246
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
247
|
+
"errorMessageStr": msgStr(...msgArgs),
|
248
|
+
validatorName
|
249
|
+
});
|
250
|
+
}
|
251
|
+
if (min !== undefined && value.length < parseInt(min)) {
|
252
|
+
const msgArgs = ["error-invalid-length-too-short", min];
|
253
|
+
errors.push({
|
254
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
255
|
+
"errorMessageStr": msgStr(...msgArgs),
|
256
|
+
validatorName
|
257
|
+
});
|
258
|
+
}
|
259
|
+
}
|
260
|
+
scope: {
|
261
|
+
const validatorName = "_compareToOther";
|
262
|
+
const validator = validators[validatorName];
|
263
|
+
if (validator === undefined) {
|
264
|
+
break scope;
|
265
|
+
}
|
266
|
+
const { "ignore.empty.value": ignoreEmptyValue = false, name: otherName, shouldBe, "error-message": errorMessageKey } = validator;
|
267
|
+
if (ignoreEmptyValue && value === "") {
|
268
|
+
break scope;
|
269
|
+
}
|
270
|
+
const { value: otherValue } = fieldValueByAttributeName[otherName];
|
271
|
+
const isValid = (() => {
|
272
|
+
switch (shouldBe) {
|
273
|
+
case "different":
|
274
|
+
return otherValue !== value;
|
275
|
+
case "equal":
|
276
|
+
return otherValue === value;
|
277
|
+
}
|
278
|
+
})();
|
279
|
+
if (isValid) {
|
280
|
+
break scope;
|
281
|
+
}
|
282
|
+
const msgArg = [
|
283
|
+
errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id((() => {
|
284
|
+
switch (shouldBe) {
|
285
|
+
case "equal":
|
286
|
+
return "shouldBeEqual";
|
287
|
+
case "different":
|
288
|
+
return "shouldBeDifferent";
|
289
|
+
}
|
290
|
+
})()),
|
291
|
+
otherName,
|
292
|
+
name,
|
293
|
+
shouldBe
|
294
|
+
];
|
295
|
+
errors.push({
|
296
|
+
validatorName,
|
297
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, advancedMsg(...msgArg)),
|
298
|
+
"errorMessageStr": advancedMsgStr(...msgArg)
|
299
|
+
});
|
300
|
+
}
|
301
|
+
scope: {
|
302
|
+
const validatorName = "pattern";
|
303
|
+
const validator = validators[validatorName];
|
304
|
+
if (validator === undefined) {
|
305
|
+
break scope;
|
306
|
+
}
|
307
|
+
const { "ignore.empty.value": ignoreEmptyValue = false, pattern, "error-message": errorMessageKey } = validator;
|
308
|
+
if (ignoreEmptyValue && value === "") {
|
309
|
+
break scope;
|
310
|
+
}
|
311
|
+
if (new RegExp(pattern).test(value)) {
|
312
|
+
break scope;
|
313
|
+
}
|
314
|
+
const msgArgs = [errorMessageKey !== null && errorMessageKey !== void 0 ? errorMessageKey : id("shouldMatchPattern"), pattern];
|
315
|
+
errors.push({
|
316
|
+
validatorName,
|
317
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, advancedMsg(...msgArgs)),
|
318
|
+
"errorMessageStr": advancedMsgStr(...msgArgs)
|
319
|
+
});
|
320
|
+
}
|
321
|
+
scope: {
|
322
|
+
if (((_a = [...errors].reverse()[0]) === null || _a === void 0 ? void 0 : _a.validatorName) === "pattern") {
|
323
|
+
break scope;
|
324
|
+
}
|
325
|
+
const validatorName = "email";
|
326
|
+
const validator = validators[validatorName];
|
327
|
+
if (validator === undefined) {
|
328
|
+
break scope;
|
329
|
+
}
|
330
|
+
const { "ignore.empty.value": ignoreEmptyValue = false } = validator;
|
331
|
+
if (ignoreEmptyValue && value === "") {
|
332
|
+
break scope;
|
333
|
+
}
|
334
|
+
if (emailRegexp.test(value)) {
|
335
|
+
break scope;
|
336
|
+
}
|
337
|
+
const msgArgs = [id("invalidEmailMessage")];
|
338
|
+
errors.push({
|
339
|
+
validatorName,
|
340
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
341
|
+
"errorMessageStr": msgStr(...msgArgs)
|
342
|
+
});
|
343
|
+
}
|
344
|
+
scope: {
|
345
|
+
const validatorName = "integer";
|
346
|
+
const validator = validators[validatorName];
|
347
|
+
if (validator === undefined) {
|
348
|
+
break scope;
|
349
|
+
}
|
350
|
+
const { "ignore.empty.value": ignoreEmptyValue = false, max, min } = validator;
|
351
|
+
if (ignoreEmptyValue && value === "") {
|
352
|
+
break scope;
|
353
|
+
}
|
354
|
+
const intValue = parseInt(value);
|
355
|
+
if (isNaN(intValue)) {
|
356
|
+
const msgArgs = ["mustBeAnInteger"];
|
357
|
+
errors.push({
|
358
|
+
validatorName,
|
359
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
360
|
+
"errorMessageStr": msgStr(...msgArgs)
|
361
|
+
});
|
362
|
+
break scope;
|
363
|
+
}
|
364
|
+
if (max !== undefined && intValue > parseInt(max)) {
|
365
|
+
const msgArgs = ["error-number-out-of-range-too-big", max];
|
366
|
+
errors.push({
|
367
|
+
validatorName,
|
368
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
369
|
+
"errorMessageStr": msgStr(...msgArgs)
|
370
|
+
});
|
371
|
+
break scope;
|
372
|
+
}
|
373
|
+
if (min !== undefined && intValue < parseInt(min)) {
|
374
|
+
const msgArgs = ["error-number-out-of-range-too-small", min];
|
375
|
+
errors.push({
|
376
|
+
validatorName,
|
377
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, msg(...msgArgs)),
|
378
|
+
"errorMessageStr": msgStr(...msgArgs)
|
379
|
+
});
|
380
|
+
break scope;
|
381
|
+
}
|
382
|
+
}
|
383
|
+
scope: {
|
384
|
+
const validatorName = "options";
|
385
|
+
const validator = validators[validatorName];
|
386
|
+
if (validator === undefined) {
|
387
|
+
break scope;
|
388
|
+
}
|
389
|
+
if (value === "") {
|
390
|
+
break scope;
|
391
|
+
}
|
392
|
+
if (validator.options.indexOf(value) >= 0) {
|
393
|
+
break scope;
|
394
|
+
}
|
395
|
+
const msgArgs = [id("notAValidOption")];
|
396
|
+
errors.push({
|
397
|
+
validatorName,
|
398
|
+
"errorMessage": React.createElement(Fragment, { key: errors.length }, advancedMsg(...msgArgs)),
|
399
|
+
"errorMessageStr": advancedMsgStr(...msgArgs)
|
400
|
+
});
|
401
|
+
}
|
402
|
+
//TODO: Implement missing validators.
|
403
|
+
return errors;
|
404
|
+
});
|
405
|
+
return { getErrors };
|
406
|
+
}
|
80
407
|
//# sourceMappingURL=UserProfileCommons.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UserProfileCommons.js","sourceRoot":"","sources":["../../../src/lib/pages/shared/UserProfileCommons.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"UserProfileCommons.js","sourceRoot":"","sources":["../../../src/lib/pages/shared/UserProfileCommons.tsx"],"names":[],"mappings":"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"}
|