@ovok/native 1.9.0 → 1.10.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/lib/commonjs/modules/auth/default-translation.js +8 -0
- package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/form-phone-field.js +163 -0
- package/lib/commonjs/modules/auth/profile/components/form-phone-field.js.map +1 -0
- package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js +64 -0
- package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js.map +1 -0
- package/lib/commonjs/modules/auth/profile/components/profile-form-field-component.js +46 -9
- package/lib/commonjs/modules/auth/profile/components/profile-form-field-component.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +31 -11
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/utils/phone.js +31 -0
- package/lib/commonjs/modules/auth/profile/utils/phone.js.map +1 -0
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +32 -4
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +18 -4
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/register/contexts/register-form-context.js.map +1 -1
- package/lib/commonjs/modules/auth/register/utils/create-register-validation-schema.js +23 -3
- package/lib/commonjs/modules/auth/register/utils/create-register-validation-schema.js.map +1 -1
- package/lib/commonjs/modules/helpers/form-items/form-date-field.js +27 -4
- package/lib/commonjs/modules/helpers/form-items/form-date-field.js.map +1 -1
- package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -1
- package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/module/modules/auth/default-translation.js +8 -0
- package/lib/module/modules/auth/default-translation.js.map +1 -1
- package/lib/module/modules/auth/profile/components/form-phone-field.js +157 -0
- package/lib/module/modules/auth/profile/components/form-phone-field.js.map +1 -0
- package/lib/module/modules/auth/profile/components/profile-form-choice-field.js +58 -0
- package/lib/module/modules/auth/profile/components/profile-form-choice-field.js.map +1 -0
- package/lib/module/modules/auth/profile/components/profile-form-field-component.js +46 -9
- package/lib/module/modules/auth/profile/components/profile-form-field-component.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form-provider.js +31 -11
- package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/module/modules/auth/profile/utils/phone.js +25 -0
- package/lib/module/modules/auth/profile/utils/phone.js.map +1 -0
- package/lib/module/modules/auth/register/components/form/inputs.js +32 -4
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +18 -4
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/register/contexts/register-form-context.js.map +1 -1
- package/lib/module/modules/auth/register/utils/create-register-validation-schema.js +23 -3
- package/lib/module/modules/auth/register/utils/create-register-validation-schema.js.map +1 -1
- package/lib/module/modules/helpers/form-items/form-date-field.js +27 -4
- package/lib/module/modules/helpers/form-items/form-date-field.js.map +1 -1
- package/lib/module/modules/helpers/form-items/form-field.js +2 -1
- package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-choice-field.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-field-component.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts +35 -3
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts +3 -8
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/contexts/register-form-context.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/auth/register/contexts/register-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/hooks/use-register-form.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/register/hooks/use-register-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-props.d.ts +16 -3
- package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-values.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-values.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/utils/create-register-validation-schema.d.ts +10 -3
- package/lib/typescript/commonjs/src/modules/auth/register/utils/create-register-validation-schema.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts +11 -2
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts +8 -0
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts +13 -0
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-choice-field.d.ts +14 -0
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-field-component.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts +35 -3
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts +3 -8
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/utils/phone.d.ts +6 -0
- package/lib/typescript/module/src/modules/auth/profile/utils/phone.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/contexts/register-form-context.d.ts +6 -0
- package/lib/typescript/module/src/modules/auth/register/contexts/register-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/hooks/use-register-form.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/register/hooks/use-register-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/types/register-form-props.d.ts +16 -3
- package/lib/typescript/module/src/modules/auth/register/types/register-form-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/types/register-form-values.d.ts +1 -0
- package/lib/typescript/module/src/modules/auth/register/types/register-form-values.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/utils/create-register-validation-schema.d.ts +10 -3
- package/lib/typescript/module/src/modules/auth/register/utils/create-register-validation-schema.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts +11 -2
- package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +2 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getIn } from "formik";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { useTranslation } from "react-i18next";
|
|
6
|
+
import { View } from "react-native";
|
|
7
|
+
import { HelperText, RadioButton, Text } from "react-native-paper";
|
|
8
|
+
import { useAppTheme } from "../../../theme/index.js";
|
|
9
|
+
import { ProfileFormContext } from "../contexts/profile-form-context.js";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export const ProfileFormChoiceField = ({
|
|
12
|
+
name,
|
|
13
|
+
label,
|
|
14
|
+
options,
|
|
15
|
+
disabled = false,
|
|
16
|
+
testID
|
|
17
|
+
}) => {
|
|
18
|
+
const theme = useAppTheme();
|
|
19
|
+
const {
|
|
20
|
+
t
|
|
21
|
+
} = useTranslation();
|
|
22
|
+
const {
|
|
23
|
+
values,
|
|
24
|
+
errors,
|
|
25
|
+
touched,
|
|
26
|
+
setFieldValue,
|
|
27
|
+
setFieldTouched
|
|
28
|
+
} = React.useContext(ProfileFormContext);
|
|
29
|
+
const value = getIn(values, name) ?? "";
|
|
30
|
+
const error = getIn(touched, name) && getIn(errors, name);
|
|
31
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
32
|
+
testID: testID,
|
|
33
|
+
style: {
|
|
34
|
+
gap: theme.spacing(1)
|
|
35
|
+
},
|
|
36
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
37
|
+
variant: "labelLarge",
|
|
38
|
+
children: label
|
|
39
|
+
}), /*#__PURE__*/_jsx(RadioButton.Group, {
|
|
40
|
+
value: value,
|
|
41
|
+
onValueChange: nextValue => {
|
|
42
|
+
void setFieldValue(name, nextValue);
|
|
43
|
+
void setFieldTouched(name, true);
|
|
44
|
+
},
|
|
45
|
+
children: options.map(option => /*#__PURE__*/_jsx(RadioButton.Item, {
|
|
46
|
+
label: option.label,
|
|
47
|
+
value: option.value,
|
|
48
|
+
disabled: disabled,
|
|
49
|
+
testID: testID ? `${testID}-${option.value}` : undefined,
|
|
50
|
+
position: "leading"
|
|
51
|
+
}, option.value))
|
|
52
|
+
}), error ? /*#__PURE__*/_jsx(HelperText, {
|
|
53
|
+
type: "error",
|
|
54
|
+
children: t(error)
|
|
55
|
+
}) : null]
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=profile-form-choice-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getIn","React","useTranslation","View","HelperText","RadioButton","Text","useAppTheme","ProfileFormContext","jsx","_jsx","jsxs","_jsxs","ProfileFormChoiceField","name","label","options","disabled","testID","theme","t","values","errors","touched","setFieldValue","setFieldTouched","useContext","value","error","style","gap","spacing","children","variant","Group","onValueChange","nextValue","map","option","Item","undefined","position","type"],"sourceRoot":"../../../../../../src","sources":["modules/auth/profile/components/profile-form-choice-field.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,UAAU,EAAEC,WAAW,EAAEC,IAAI,QAAQ,oBAAoB;AAElE,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,kBAAkB,QAAQ,qCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUtE,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACrCC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,QAAQ,GAAG,KAAK;EAChBC;AAC2B,CAAC,KAAK;EACjC,MAAMC,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAC3B,MAAM;IAAEa;EAAE,CAAC,GAAGlB,cAAc,CAAC,CAAC;EAE9B,MAAM;IAAEmB,MAAM;IAAEC,MAAM;IAAEC,OAAO;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAC/DxB,KAAK,CAACyB,UAAU,CAAClB,kBAAkB,CAAE;EAEvC,MAAMmB,KAAK,GAAG3B,KAAK,CAACqB,MAAM,EAAEP,IAAI,CAAC,IAAI,EAAE;EACvC,MAAMc,KAAK,GAAG5B,KAAK,CAACuB,OAAO,EAAET,IAAI,CAAC,IAAId,KAAK,CAACsB,MAAM,EAAER,IAAI,CAAC;EAEzD,oBACEF,KAAA,CAACT,IAAI;IAACe,MAAM,EAAEA,MAAO;IAACW,KAAK,EAAE;MAAEC,GAAG,EAAEX,KAAK,CAACY,OAAO,CAAC,CAAC;IAAE,CAAE;IAAAC,QAAA,gBACrDtB,IAAA,CAACJ,IAAI;MAAC2B,OAAO,EAAC,YAAY;MAAAD,QAAA,EAAEjB;IAAK,CAAO,CAAC,eACzCL,IAAA,CAACL,WAAW,CAAC6B,KAAK;MAChBP,KAAK,EAAEA,KAAM;MACbQ,aAAa,EAAGC,SAAS,IAAK;QAC5B,KAAKZ,aAAa,CAACV,IAAI,EAAEsB,SAAS,CAAC;QACnC,KAAKX,eAAe,CAACX,IAAI,EAAE,IAAI,CAAC;MAClC,CAAE;MAAAkB,QAAA,EAEDhB,OAAO,CAACqB,GAAG,CAAEC,MAAM,iBAClB5B,IAAA,CAACL,WAAW,CAACkC,IAAI;QAEfxB,KAAK,EAAEuB,MAAM,CAACvB,KAAM;QACpBY,KAAK,EAAEW,MAAM,CAACX,KAAM;QACpBV,QAAQ,EAAEA,QAAS;QACnBC,MAAM,EAAEA,MAAM,GAAG,GAAGA,MAAM,IAAIoB,MAAM,CAACX,KAAK,EAAE,GAAGa,SAAU;QACzDC,QAAQ,EAAC;MAAS,GALbH,MAAM,CAACX,KAMb,CACF;IAAC,CACe,CAAC,EACnBC,KAAK,gBAAGlB,IAAA,CAACN,UAAU;MAACsC,IAAI,EAAC,OAAO;MAAAV,QAAA,EAAEZ,CAAC,CAACQ,KAAK;IAAC,CAAa,CAAC,GAAG,IAAI;EAAA,CAC5D,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -4,32 +4,69 @@ import * as React from "react";
|
|
|
4
4
|
import { FormField, FormSelect } from "../../../helpers/index.js";
|
|
5
5
|
import { FormDateField } from "../../../helpers/form-items/form-date-field.js";
|
|
6
6
|
import { ProfileFormContext } from "../contexts/profile-form-context.js";
|
|
7
|
+
import { FormPhoneField } from "./form-phone-field.js";
|
|
8
|
+
import { ProfileFormChoiceField } from "./profile-form-choice-field.js";
|
|
7
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
10
|
export const ProfileFormFieldComponent = ({
|
|
9
11
|
field
|
|
10
12
|
}) => {
|
|
11
13
|
if (field.type === "text") {
|
|
12
14
|
return /*#__PURE__*/_jsx(FormField, {
|
|
13
|
-
...field,
|
|
15
|
+
...field.inputProps,
|
|
14
16
|
name: `['${field.name}']`,
|
|
15
|
-
context: ProfileFormContext
|
|
16
|
-
|
|
17
|
+
context: ProfileFormContext,
|
|
18
|
+
label: field.label,
|
|
19
|
+
testID: field.testID,
|
|
20
|
+
editable: field.disabled ? false : field.inputProps?.editable,
|
|
21
|
+
keyboardType: field.keyboardType ?? field.inputProps?.keyboardType
|
|
22
|
+
});
|
|
17
23
|
}
|
|
18
24
|
if (field.type === "date") {
|
|
19
25
|
return /*#__PURE__*/_jsx(FormDateField, {
|
|
20
|
-
...field,
|
|
21
26
|
name: `['${field.name}']`,
|
|
22
|
-
context: ProfileFormContext
|
|
23
|
-
|
|
27
|
+
context: ProfileFormContext,
|
|
28
|
+
label: field.label,
|
|
29
|
+
testID: field.testID,
|
|
30
|
+
disabled: field.disabled,
|
|
31
|
+
mode: field.mode,
|
|
32
|
+
initialDate: field.initialDate,
|
|
33
|
+
minimumDate: field.minimumDate,
|
|
34
|
+
maximumDate: field.maximumDate,
|
|
35
|
+
display: field.display,
|
|
36
|
+
locale: field.locale,
|
|
37
|
+
formatValue: field.formatValue
|
|
38
|
+
});
|
|
24
39
|
}
|
|
25
40
|
if (field.type === "select") {
|
|
26
41
|
return /*#__PURE__*/_jsx(FormSelect, {
|
|
27
|
-
...field,
|
|
28
42
|
context: ProfileFormContext,
|
|
29
43
|
labelField: "label",
|
|
30
44
|
valueField: "value",
|
|
31
|
-
name: `['${field.name}']
|
|
32
|
-
|
|
45
|
+
name: `['${field.name}']`,
|
|
46
|
+
label: field.label,
|
|
47
|
+
options: field.options,
|
|
48
|
+
testID: field.testID,
|
|
49
|
+
disable: field.disabled
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (field.type === "choice") {
|
|
53
|
+
return /*#__PURE__*/_jsx(ProfileFormChoiceField, {
|
|
54
|
+
name: `['${field.name}']`,
|
|
55
|
+
label: field.label,
|
|
56
|
+
options: field.options,
|
|
57
|
+
disabled: field.disabled,
|
|
58
|
+
testID: field.testID
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (field.type === "phone") {
|
|
62
|
+
return /*#__PURE__*/_jsx(FormPhoneField, {
|
|
63
|
+
name: `['${field.name}']`,
|
|
64
|
+
fieldName: field.name,
|
|
65
|
+
label: field.label,
|
|
66
|
+
defaultCountry: field.defaultCountry,
|
|
67
|
+
disabled: field.disabled,
|
|
68
|
+
testID: field.testID
|
|
69
|
+
});
|
|
33
70
|
}
|
|
34
71
|
return null;
|
|
35
72
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","FormField","FormSelect","FormDateField","ProfileFormContext","jsx","_jsx","ProfileFormFieldComponent","field","type","name","context","labelField","valueField"],"sourceRoot":"../../../../../../src","sources":["modules/auth/profile/components/profile-form-field-component.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,SAAS,EAAEC,UAAU,QAAQ,2BAAkB;AACxD,SAASC,aAAa,QAAQ,gDAA6C;AAC3E,SAASC,kBAAkB,QAAQ,qCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","FormField","FormSelect","FormDateField","ProfileFormContext","FormPhoneField","ProfileFormChoiceField","jsx","_jsx","ProfileFormFieldComponent","field","type","inputProps","name","context","label","testID","editable","disabled","keyboardType","mode","initialDate","minimumDate","maximumDate","display","locale","formatValue","labelField","valueField","options","disable","fieldName","defaultCountry"],"sourceRoot":"../../../../../../src","sources":["modules/auth/profile/components/profile-form-field-component.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import { useClient, getPatchOperationType } from "@ovok/core";
|
|
4
4
|
import { useFormik } from "formik";
|
|
5
|
+
import { parsePhoneNumberFromString } from "libphonenumber-js";
|
|
5
6
|
import React from "react";
|
|
6
7
|
import * as Yup from "yup";
|
|
7
8
|
import { useShallowStableValue } from "../../../helpers/hooks/use-shallow-stable-value.js";
|
|
8
9
|
import { ProfileFormContext } from "../contexts/profile-form-context.js";
|
|
10
|
+
import { phoneCountryFieldName, toPhoneE164, isPhoneValidForCountry } from "../utils/phone.js";
|
|
9
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
12
|
export const ProfileFormProvider = ({
|
|
11
13
|
children,
|
|
@@ -16,7 +18,11 @@ export const ProfileFormProvider = ({
|
|
|
16
18
|
const client = useClient();
|
|
17
19
|
const initialValues = React.useMemo(() => {
|
|
18
20
|
const values = fields.reduce((acc, field) => {
|
|
19
|
-
|
|
21
|
+
const value = field.type === "phone" ? toPhoneE164(field.value ?? "", field.defaultCountry) : field.value ?? "";
|
|
22
|
+
acc[field.name] = value;
|
|
23
|
+
if (field.type === "phone") {
|
|
24
|
+
acc[phoneCountryFieldName(field.name)] = parsePhoneNumberFromString(value)?.country ?? field.defaultCountry;
|
|
25
|
+
}
|
|
20
26
|
return acc;
|
|
21
27
|
}, {});
|
|
22
28
|
return {
|
|
@@ -26,7 +32,14 @@ export const ProfileFormProvider = ({
|
|
|
26
32
|
}, [fields]);
|
|
27
33
|
const validationSchema = React.useMemo(() => {
|
|
28
34
|
const fieldRules = fields.reduce((acc, field) => {
|
|
29
|
-
|
|
35
|
+
const validation = field.validation ?? Yup.string();
|
|
36
|
+
acc[field.name] = field.type === "phone" ? validation.test("phone-country", "profile.form.phone.invalid", function validatePhone(value) {
|
|
37
|
+
if (!value) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
const country = this.parent[phoneCountryFieldName(field.name)] ?? field.defaultCountry;
|
|
41
|
+
return isPhoneValidForCountry(value, country);
|
|
42
|
+
}) : validation;
|
|
30
43
|
return acc;
|
|
31
44
|
}, {});
|
|
32
45
|
return Yup.object().shape(fieldRules);
|
|
@@ -37,32 +50,39 @@ export const ProfileFormProvider = ({
|
|
|
37
50
|
validateOnBlur: true,
|
|
38
51
|
validationSchema,
|
|
39
52
|
onSubmit: async (values, formikHelpers) => {
|
|
53
|
+
const submittedValues = fields.reduce((submitted, field) => {
|
|
54
|
+
submitted[field.name] = values[field.name] ?? "";
|
|
55
|
+
return submitted;
|
|
56
|
+
}, {});
|
|
40
57
|
if (onSubmit) {
|
|
41
|
-
return onSubmit(
|
|
58
|
+
return onSubmit(submittedValues, formikHelpers);
|
|
42
59
|
}
|
|
43
60
|
try {
|
|
44
|
-
const
|
|
61
|
+
const activeProfile = await client.getProfileAsync();
|
|
62
|
+
const patient = activeProfile;
|
|
63
|
+
const operations = fields.flatMap(field => {
|
|
45
64
|
const value = values[field.name];
|
|
65
|
+
if (field.toPatch) {
|
|
66
|
+
return field.toPatch(value ?? "", patient);
|
|
67
|
+
}
|
|
46
68
|
const initialValue = initialValues[field.name];
|
|
47
69
|
const op = getPatchOperationType(initialValue, value);
|
|
48
70
|
if (!op) {
|
|
49
|
-
return
|
|
71
|
+
return [];
|
|
50
72
|
}
|
|
51
73
|
let path = `/${field.name}`;
|
|
52
74
|
if (field.name.includes("[")) {
|
|
53
75
|
path = `/${field.name.split(/[[\].]/).filter(Boolean).join("/")}`;
|
|
54
76
|
}
|
|
55
|
-
return {
|
|
77
|
+
return [{
|
|
56
78
|
op,
|
|
57
79
|
path,
|
|
58
80
|
value
|
|
59
|
-
};
|
|
81
|
+
}];
|
|
60
82
|
});
|
|
61
|
-
const
|
|
62
|
-
const activeProfile = await client.getProfileAsync();
|
|
63
|
-
const response = await client.patchResource("Patient", activeProfile?.id ?? "", filteredOperations);
|
|
83
|
+
const response = await client.patchResource("Patient", activeProfile?.id ?? "", operations.filter(op => op.path !== "/submit"));
|
|
64
84
|
client.refetchProfile();
|
|
65
|
-
onSuccess?.(response);
|
|
85
|
+
onSuccess?.(response, submittedValues);
|
|
66
86
|
} catch (error) {
|
|
67
87
|
if (error instanceof Error) {
|
|
68
88
|
formikHelpers.setFieldError("submit", error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","getPatchOperationType","useFormik","React","Yup","useShallowStableValue","ProfileFormContext","jsx","_jsx","ProfileFormProvider","children","fields","onSubmit","onSuccess","client","initialValues","useMemo","values","reduce","acc","field","name","
|
|
1
|
+
{"version":3,"names":["useClient","getPatchOperationType","useFormik","parsePhoneNumberFromString","React","Yup","useShallowStableValue","ProfileFormContext","phoneCountryFieldName","toPhoneE164","isPhoneValidForCountry","jsx","_jsx","ProfileFormProvider","children","fields","onSubmit","onSuccess","client","initialValues","useMemo","values","reduce","acc","field","value","type","defaultCountry","name","country","submit","validationSchema","fieldRules","validation","string","test","validatePhone","parent","object","shape","formik","enableReinitialize","validateOnBlur","formikHelpers","submittedValues","submitted","activeProfile","getProfileAsync","patient","operations","flatMap","toPatch","initialValue","op","path","includes","split","filter","Boolean","join","response","patchResource","id","refetchProfile","error","Error","setFieldError","message","contextValue","Provider"],"sourceRoot":"../../../../../../src","sources":["modules/auth/profile/components/profile-form-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getCountryCallingCode, parsePhoneNumberFromString } from "libphonenumber-js";
|
|
4
|
+
const phoneCountryFieldName = name => `__profileFormPhoneCountry__${encodeURIComponent(name).replace(/\./g, "%2E")}`;
|
|
5
|
+
const toPhoneE164 = (value, country) => {
|
|
6
|
+
const input = value.trim();
|
|
7
|
+
if (!input) {
|
|
8
|
+
return "";
|
|
9
|
+
}
|
|
10
|
+
const parsed = parsePhoneNumberFromString(input, country);
|
|
11
|
+
if (parsed) {
|
|
12
|
+
return parsed.number;
|
|
13
|
+
}
|
|
14
|
+
if (input.startsWith("+")) {
|
|
15
|
+
return input;
|
|
16
|
+
}
|
|
17
|
+
const digits = input.replace(/\D/g, "");
|
|
18
|
+
return digits ? `+${getCountryCallingCode(country)}${digits}` : "";
|
|
19
|
+
};
|
|
20
|
+
const isPhoneValidForCountry = (value, country) => {
|
|
21
|
+
const parsed = parsePhoneNumberFromString(value);
|
|
22
|
+
return parsed?.isValid() === true && parsed.country === country;
|
|
23
|
+
};
|
|
24
|
+
export { isPhoneValidForCountry, phoneCountryFieldName, toPhoneE164 };
|
|
25
|
+
//# sourceMappingURL=phone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getCountryCallingCode","parsePhoneNumberFromString","phoneCountryFieldName","name","encodeURIComponent","replace","toPhoneE164","value","country","input","trim","parsed","number","startsWith","digits","isPhoneValidForCountry","isValid"],"sourceRoot":"../../../../../../src","sources":["modules/auth/profile/utils/phone.ts"],"mappings":";;AAAA,SACEA,qBAAqB,EACrBC,0BAA0B,QAErB,mBAAmB;AAE1B,MAAMC,qBAAqB,GAAIC,IAAY,IACzC,8BAA8BC,kBAAkB,CAACD,IAAI,CAAC,CAACE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;AAEhF,MAAMC,WAAW,GAAGA,CAACC,KAAa,EAAEC,OAAoB,KAAK;EAC3D,MAAMC,KAAK,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;EAE1B,IAAI,CAACD,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EAEA,MAAME,MAAM,GAAGV,0BAA0B,CAACQ,KAAK,EAAED,OAAO,CAAC;EAEzD,IAAIG,MAAM,EAAE;IACV,OAAOA,MAAM,CAACC,MAAM;EACtB;EAEA,IAAIH,KAAK,CAACI,UAAU,CAAC,GAAG,CAAC,EAAE;IACzB,OAAOJ,KAAK;EACd;EAEA,MAAMK,MAAM,GAAGL,KAAK,CAACJ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EAEvC,OAAOS,MAAM,GAAG,IAAId,qBAAqB,CAACQ,OAAO,CAAC,GAAGM,MAAM,EAAE,GAAG,EAAE;AACpE,CAAC;AAED,MAAMC,sBAAsB,GAAGA,CAACR,KAAa,EAAEC,OAAoB,KAAK;EACtE,MAAMG,MAAM,GAAGV,0BAA0B,CAACM,KAAK,CAAC;EAEhD,OAAOI,MAAM,EAAEK,OAAO,CAAC,CAAC,KAAK,IAAI,IAAIL,MAAM,CAACH,OAAO,KAAKA,OAAO;AACjE,CAAC;AAED,SAASO,sBAAsB,EAAEb,qBAAqB,EAAEI,WAAW","ignoreList":[]}
|
|
@@ -21,11 +21,15 @@ export const Inputs = ({
|
|
|
21
21
|
const theme = useAppTheme();
|
|
22
22
|
const {
|
|
23
23
|
defaultValues,
|
|
24
|
-
handleSubmit
|
|
24
|
+
handleSubmit,
|
|
25
|
+
setFieldValue,
|
|
26
|
+
nameField,
|
|
27
|
+
toRegisterNames
|
|
25
28
|
} = useRegisterForm();
|
|
26
29
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
27
30
|
const [showPasswordConfirm, setShowPasswordConfirm] = React.useState(false);
|
|
28
31
|
const nameRef = React.useRef(null);
|
|
32
|
+
const fullNameRef = React.useRef(null);
|
|
29
33
|
const surnameRef = React.useRef(null);
|
|
30
34
|
const emailRef = React.useRef(null);
|
|
31
35
|
const passwordRef = React.useRef(null);
|
|
@@ -44,7 +48,31 @@ export const Inputs = ({
|
|
|
44
48
|
}, style],
|
|
45
49
|
testID: testID,
|
|
46
50
|
children: [/*#__PURE__*/_jsx(Conditional, {
|
|
47
|
-
condition: !defaultValues?.name,
|
|
51
|
+
condition: nameField === "single" && !defaultValues?.fullName && !(defaultValues?.name && defaultValues?.surname),
|
|
52
|
+
children: /*#__PURE__*/_jsx(FormField, {
|
|
53
|
+
label: t("register.full-name"),
|
|
54
|
+
name: "fullName",
|
|
55
|
+
context: RegisterFormContext,
|
|
56
|
+
...inputProps,
|
|
57
|
+
inputRef: fullNameRef,
|
|
58
|
+
autoFocus: inputProps?.autoFocus ?? true,
|
|
59
|
+
returnKeyType: inputProps?.returnKeyType ?? "next",
|
|
60
|
+
onChangeText: fullName => {
|
|
61
|
+
void setFieldValue("fullName", fullName);
|
|
62
|
+
const names = toRegisterNames?.(fullName);
|
|
63
|
+
if (names) {
|
|
64
|
+
void setFieldValue("name", names.name);
|
|
65
|
+
void setFieldValue("surname", names.surname);
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
onSubmitEditing: event => {
|
|
69
|
+
inputProps?.onSubmitEditing?.(event);
|
|
70
|
+
submitOrFocus(emailRef, passwordRef, passwordConfirmRef);
|
|
71
|
+
},
|
|
72
|
+
style: inputProps?.containerStyle
|
|
73
|
+
})
|
|
74
|
+
}), /*#__PURE__*/_jsx(Conditional, {
|
|
75
|
+
condition: nameField !== "single" && !defaultValues?.name,
|
|
48
76
|
children: /*#__PURE__*/_jsx(FormField, {
|
|
49
77
|
label: t("register.name"),
|
|
50
78
|
name: "name",
|
|
@@ -60,7 +88,7 @@ export const Inputs = ({
|
|
|
60
88
|
style: inputProps?.containerStyle
|
|
61
89
|
})
|
|
62
90
|
}), /*#__PURE__*/_jsx(Conditional, {
|
|
63
|
-
condition: !defaultValues?.surname,
|
|
91
|
+
condition: nameField !== "single" && !defaultValues?.surname,
|
|
64
92
|
children: /*#__PURE__*/_jsx(FormField, {
|
|
65
93
|
label: t("register.surname"),
|
|
66
94
|
name: "surname",
|
|
@@ -85,7 +113,7 @@ export const Inputs = ({
|
|
|
85
113
|
context: RegisterFormContext,
|
|
86
114
|
...inputProps,
|
|
87
115
|
inputRef: emailRef,
|
|
88
|
-
autoFocus: inputProps?.autoFocus ?? (!!defaultValues?.name && !!defaultValues?.surname),
|
|
116
|
+
autoFocus: inputProps?.autoFocus ?? (nameField === "single" ? !!defaultValues?.fullName || !!defaultValues?.name && !!defaultValues?.surname : !!defaultValues?.name && !!defaultValues?.surname),
|
|
89
117
|
returnKeyType: inputProps?.returnKeyType ?? "next",
|
|
90
118
|
onSubmitEditing: event => {
|
|
91
119
|
inputProps?.onSubmitEditing?.(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Eye","EyeSlash","React","useTranslation","View","TextInput","Conditional","FormField","useAppTheme","RegisterFormContext","useRegisterForm","jsx","_jsx","jsxs","_jsxs","Inputs","testID","inputProps","style","t","theme","defaultValues","handleSubmit","showPassword","setShowPassword","useState","showPasswordConfirm","setShowPasswordConfirm","nameRef","useRef","surnameRef","emailRef","passwordRef","passwordConfirmRef","submitOrFocus","useCallback","refs","next","find","ref","current","focus","gap","spacing","children","condition","name","label","context","inputRef","autoFocus","returnKeyType","onSubmitEditing","event","containerStyle","
|
|
1
|
+
{"version":3,"names":["Eye","EyeSlash","React","useTranslation","View","TextInput","Conditional","FormField","useAppTheme","RegisterFormContext","useRegisterForm","jsx","_jsx","jsxs","_jsxs","Inputs","testID","inputProps","style","t","theme","defaultValues","handleSubmit","setFieldValue","nameField","toRegisterNames","showPassword","setShowPassword","useState","showPasswordConfirm","setShowPasswordConfirm","nameRef","useRef","fullNameRef","surnameRef","emailRef","passwordRef","passwordConfirmRef","submitOrFocus","useCallback","refs","next","find","ref","current","focus","gap","spacing","children","condition","fullName","name","surname","label","context","inputRef","autoFocus","returnKeyType","onChangeText","names","onSubmitEditing","event","containerStyle","email","keyboardType","autoCapitalize","password","secureTextEntry","maxLength","right","Icon","icon","props","onPress","prev","passwordConfirm"],"sourceRoot":"../../../../../../../src","sources":["modules/auth/register/components/form/inputs.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,22 +17,28 @@ export const RegisterFormProvider = ({
|
|
|
17
17
|
defaultValues,
|
|
18
18
|
tenantCode,
|
|
19
19
|
continueAsPatientToken,
|
|
20
|
+
nameField,
|
|
21
|
+
toRegisterNames,
|
|
20
22
|
onSubmit,
|
|
21
23
|
onSuccess,
|
|
22
24
|
onError,
|
|
23
25
|
onNextStep
|
|
24
26
|
}) => {
|
|
25
27
|
const client = useClient();
|
|
28
|
+
const singleName = nameField === "single";
|
|
26
29
|
const registerValidationSchema = React.useMemo(() => createRegisterValidationSchema({
|
|
27
30
|
customValidations,
|
|
28
|
-
disablePasswordConfirm: !!defaultValues?.passwordConfirm
|
|
29
|
-
|
|
31
|
+
disablePasswordConfirm: !!defaultValues?.passwordConfirm,
|
|
32
|
+
singleName,
|
|
33
|
+
toRegisterNames
|
|
34
|
+
}), [customValidations, defaultValues?.passwordConfirm, singleName, toRegisterNames]);
|
|
30
35
|
const initialValues = React.useMemo(() => ({
|
|
31
36
|
email: defaultValues?.email ?? "",
|
|
32
37
|
password: defaultValues?.password ?? "",
|
|
33
38
|
passwordConfirm: defaultValues?.passwordConfirm ?? "",
|
|
34
39
|
name: defaultValues?.name ?? "",
|
|
35
40
|
surname: defaultValues?.surname ?? "",
|
|
41
|
+
fullName: defaultValues?.fullName ?? [defaultValues?.name, defaultValues?.surname].filter(Boolean).join(" "),
|
|
36
42
|
submit: ""
|
|
37
43
|
}), [defaultValues]);
|
|
38
44
|
const formik = useFormik({
|
|
@@ -40,8 +46,14 @@ export const RegisterFormProvider = ({
|
|
|
40
46
|
validateOnBlur: true,
|
|
41
47
|
validationSchema: registerValidationSchema,
|
|
42
48
|
onSubmit: async (values, formikHelpers) => {
|
|
49
|
+
const mappedNames = singleName ? toRegisterNames?.(values.fullName ?? "") : undefined;
|
|
50
|
+
const registerValues = {
|
|
51
|
+
...values
|
|
52
|
+
};
|
|
53
|
+
delete registerValues.fullName;
|
|
43
54
|
const updatedValues = {
|
|
44
|
-
...
|
|
55
|
+
...registerValues,
|
|
56
|
+
...(mappedNames ?? {}),
|
|
45
57
|
passwordConfirm: defaultValues?.passwordConfirm ? values.password : values.passwordConfirm,
|
|
46
58
|
tenantCode,
|
|
47
59
|
...(continueAsPatientToken !== undefined ? {
|
|
@@ -87,7 +99,9 @@ export const RegisterFormProvider = ({
|
|
|
87
99
|
});
|
|
88
100
|
const contextValue = useShallowStableValue({
|
|
89
101
|
...formik,
|
|
90
|
-
defaultValues
|
|
102
|
+
defaultValues,
|
|
103
|
+
nameField,
|
|
104
|
+
toRegisterNames
|
|
91
105
|
});
|
|
92
106
|
return /*#__PURE__*/_jsx(RegisterFormContext.Provider, {
|
|
93
107
|
value: contextValue,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","useFormik","React","useShallowStableValue","safeJsonParse","notifySessionChanged","setRateLimitFormError","RegisterFormContext","createRegisterValidationSchema","jsx","_jsx","isClinicianInviteStep","response","nextStep","RegisterFormProvider","children","customValidations","defaultValues","tenantCode","continueAsPatientToken","onSubmit","onSuccess","onError","onNextStep","client","registerValidationSchema","useMemo","disablePasswordConfirm","passwordConfirm","initialValues","email","password","name","surname","submit","formik","validateOnBlur","validationSchema","values","formikHelpers","
|
|
1
|
+
{"version":3,"names":["useClient","useFormik","React","useShallowStableValue","safeJsonParse","notifySessionChanged","setRateLimitFormError","RegisterFormContext","createRegisterValidationSchema","jsx","_jsx","isClinicianInviteStep","response","nextStep","RegisterFormProvider","children","customValidations","defaultValues","tenantCode","continueAsPatientToken","nameField","toRegisterNames","onSubmit","onSuccess","onError","onNextStep","client","singleName","registerValidationSchema","useMemo","disablePasswordConfirm","passwordConfirm","initialValues","email","password","name","surname","fullName","filter","Boolean","join","submit","formik","validateOnBlur","validationSchema","values","formikHelpers","mappedNames","undefined","registerValues","updatedValues","registerResponse","register","data","accessToken","refreshToken","profile","reference","project","setActiveLogin","error","typedError","parsedError","message","generalErrorMessage","fieldErrors","errors","emailError","find","path","includes","passwordError","setFieldError","contextValue","Provider","value"],"sourceRoot":"../../../../../../../src","sources":["modules/auth/register/components/form/register-form-provider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","RegisterFormContext","createContext","undefined"],"sourceRoot":"../../../../../../src","sources":["modules/auth/register/contexts/register-form-context.ts"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["React","RegisterFormContext","createContext","undefined"],"sourceRoot":"../../../../../../src","sources":["modules/auth/register/contexts/register-form-context.ts"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAY9B,OAAO,MAAMC,mBAAmB,gBAAGD,KAAK,CAACE,aAAa,CAEpDC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -4,7 +4,9 @@ import * as Yup from "yup";
|
|
|
4
4
|
import { applyCustomValidation } from "./apply-custom-validation.js";
|
|
5
5
|
export const createRegisterValidationSchema = ({
|
|
6
6
|
customValidations,
|
|
7
|
-
disablePasswordConfirm
|
|
7
|
+
disablePasswordConfirm,
|
|
8
|
+
singleName = false,
|
|
9
|
+
toRegisterNames
|
|
8
10
|
}) => {
|
|
9
11
|
const defaultNameSchema = Yup.string().required("register.form.name.required").min(2, "register.form.name.min").max(25, "register.form.name.max");
|
|
10
12
|
const defaultSurnameSchema = Yup.string().required("register.form.surname.required").min(2, "register.form.surname.min").max(25, "register.form.surname.max");
|
|
@@ -16,9 +18,27 @@ export const createRegisterValidationSchema = ({
|
|
|
16
18
|
}
|
|
17
19
|
return schema.required("register.form.confirm-password.required").oneOf([Yup.ref("password")], "register.form.confirm-password.mismatch");
|
|
18
20
|
});
|
|
21
|
+
const nameSchema = applyCustomValidation(defaultNameSchema, customValidations?.name);
|
|
22
|
+
const surnameSchema = applyCustomValidation(defaultSurnameSchema, customValidations?.surname);
|
|
23
|
+
const fullNameSchema = applyCustomValidation(Yup.string().required("register.form.name.required").test("mapped-name-parts", function validateMappedName(fullName) {
|
|
24
|
+
if (!fullName?.trim() || !toRegisterNames) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
const mapped = toRegisterNames(fullName);
|
|
28
|
+
try {
|
|
29
|
+
nameSchema.validateSync(mapped.name);
|
|
30
|
+
surnameSchema.validateSync(mapped.surname);
|
|
31
|
+
return true;
|
|
32
|
+
} catch (error) {
|
|
33
|
+
return this.createError({
|
|
34
|
+
message: error instanceof Yup.ValidationError ? error.message : "register.form.name.required"
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}), customValidations?.fullName);
|
|
19
38
|
return Yup.object().shape({
|
|
20
|
-
name:
|
|
21
|
-
surname:
|
|
39
|
+
name: singleName ? Yup.string().notRequired() : nameSchema,
|
|
40
|
+
surname: singleName ? Yup.string().notRequired() : surnameSchema,
|
|
41
|
+
fullName: singleName ? fullNameSchema : Yup.string().notRequired(),
|
|
22
42
|
email: applyCustomValidation(defaultEmailSchema, customValidations?.email),
|
|
23
43
|
password: applyCustomValidation(defaultPasswordSchema, customValidations?.password),
|
|
24
44
|
passwordConfirm: applyCustomValidation(defaultPasswordConfirmSchema, customValidations?.passwordConfirm)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Yup","applyCustomValidation","createRegisterValidationSchema","customValidations","disablePasswordConfirm","defaultNameSchema","string","required","min","max","defaultSurnameSchema","defaultEmailSchema","trim","lowercase","email","matches","defaultPasswordSchema","defaultPasswordConfirmSchema","when","_password","schema","oneOf","ref","
|
|
1
|
+
{"version":3,"names":["Yup","applyCustomValidation","createRegisterValidationSchema","customValidations","disablePasswordConfirm","singleName","toRegisterNames","defaultNameSchema","string","required","min","max","defaultSurnameSchema","defaultEmailSchema","trim","lowercase","email","matches","defaultPasswordSchema","defaultPasswordConfirmSchema","when","_password","schema","oneOf","ref","nameSchema","name","surnameSchema","surname","fullNameSchema","test","validateMappedName","fullName","mapped","validateSync","error","createError","message","ValidationError","object","shape","notRequired","password","passwordConfirm"],"sourceRoot":"../../../../../../src","sources":["modules/auth/register/utils/create-register-validation-schema.ts"],"mappings":"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","ignoreList":[]}
|