@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.
Files changed (107) hide show
  1. package/lib/commonjs/modules/auth/default-translation.js +8 -0
  2. package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
  3. package/lib/commonjs/modules/auth/profile/components/form-phone-field.js +163 -0
  4. package/lib/commonjs/modules/auth/profile/components/form-phone-field.js.map +1 -0
  5. package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js +64 -0
  6. package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js.map +1 -0
  7. package/lib/commonjs/modules/auth/profile/components/profile-form-field-component.js +46 -9
  8. package/lib/commonjs/modules/auth/profile/components/profile-form-field-component.js.map +1 -1
  9. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +31 -11
  10. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  11. package/lib/commonjs/modules/auth/profile/utils/phone.js +31 -0
  12. package/lib/commonjs/modules/auth/profile/utils/phone.js.map +1 -0
  13. package/lib/commonjs/modules/auth/register/components/form/inputs.js +32 -4
  14. package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
  15. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +18 -4
  16. package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  17. package/lib/commonjs/modules/auth/register/contexts/register-form-context.js.map +1 -1
  18. package/lib/commonjs/modules/auth/register/utils/create-register-validation-schema.js +23 -3
  19. package/lib/commonjs/modules/auth/register/utils/create-register-validation-schema.js.map +1 -1
  20. package/lib/commonjs/modules/helpers/form-items/form-date-field.js +27 -4
  21. package/lib/commonjs/modules/helpers/form-items/form-date-field.js.map +1 -1
  22. package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -1
  23. package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
  24. package/lib/module/modules/auth/default-translation.js +8 -0
  25. package/lib/module/modules/auth/default-translation.js.map +1 -1
  26. package/lib/module/modules/auth/profile/components/form-phone-field.js +157 -0
  27. package/lib/module/modules/auth/profile/components/form-phone-field.js.map +1 -0
  28. package/lib/module/modules/auth/profile/components/profile-form-choice-field.js +58 -0
  29. package/lib/module/modules/auth/profile/components/profile-form-choice-field.js.map +1 -0
  30. package/lib/module/modules/auth/profile/components/profile-form-field-component.js +46 -9
  31. package/lib/module/modules/auth/profile/components/profile-form-field-component.js.map +1 -1
  32. package/lib/module/modules/auth/profile/components/profile-form-provider.js +31 -11
  33. package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  34. package/lib/module/modules/auth/profile/utils/phone.js +25 -0
  35. package/lib/module/modules/auth/profile/utils/phone.js.map +1 -0
  36. package/lib/module/modules/auth/register/components/form/inputs.js +32 -4
  37. package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
  38. package/lib/module/modules/auth/register/components/form/register-form-provider.js +18 -4
  39. package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
  40. package/lib/module/modules/auth/register/contexts/register-form-context.js.map +1 -1
  41. package/lib/module/modules/auth/register/utils/create-register-validation-schema.js +23 -3
  42. package/lib/module/modules/auth/register/utils/create-register-validation-schema.js.map +1 -1
  43. package/lib/module/modules/helpers/form-items/form-date-field.js +27 -4
  44. package/lib/module/modules/helpers/form-items/form-date-field.js.map +1 -1
  45. package/lib/module/modules/helpers/form-items/form-field.js +2 -1
  46. package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
  47. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +8 -0
  48. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts +13 -0
  50. package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -0
  51. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-choice-field.d.ts +14 -0
  52. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-field-component.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts +35 -3
  56. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts +3 -8
  58. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone.d.ts +6 -0
  60. package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone.d.ts.map +1 -0
  61. package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/src/modules/auth/register/contexts/register-form-context.d.ts +6 -0
  64. package/lib/typescript/commonjs/src/modules/auth/register/contexts/register-form-context.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/src/modules/auth/register/hooks/use-register-form.d.ts +5 -0
  66. package/lib/typescript/commonjs/src/modules/auth/register/hooks/use-register-form.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-props.d.ts +16 -3
  68. package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-props.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-values.d.ts +1 -0
  70. package/lib/typescript/commonjs/src/modules/auth/register/types/register-form-values.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/src/modules/auth/register/utils/create-register-validation-schema.d.ts +10 -3
  72. package/lib/typescript/commonjs/src/modules/auth/register/utils/create-register-validation-schema.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts +11 -2
  74. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +2 -1
  76. package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  77. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +8 -0
  78. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
  79. package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts +13 -0
  80. package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -0
  81. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-choice-field.d.ts +14 -0
  82. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -0
  83. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-field-component.d.ts.map +1 -1
  84. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  85. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts +35 -3
  86. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts +3 -8
  88. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
  89. package/lib/typescript/module/src/modules/auth/profile/utils/phone.d.ts +6 -0
  90. package/lib/typescript/module/src/modules/auth/profile/utils/phone.d.ts.map +1 -0
  91. package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
  92. package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
  93. package/lib/typescript/module/src/modules/auth/register/contexts/register-form-context.d.ts +6 -0
  94. package/lib/typescript/module/src/modules/auth/register/contexts/register-form-context.d.ts.map +1 -1
  95. package/lib/typescript/module/src/modules/auth/register/hooks/use-register-form.d.ts +5 -0
  96. package/lib/typescript/module/src/modules/auth/register/hooks/use-register-form.d.ts.map +1 -1
  97. package/lib/typescript/module/src/modules/auth/register/types/register-form-props.d.ts +16 -3
  98. package/lib/typescript/module/src/modules/auth/register/types/register-form-props.d.ts.map +1 -1
  99. package/lib/typescript/module/src/modules/auth/register/types/register-form-values.d.ts +1 -0
  100. package/lib/typescript/module/src/modules/auth/register/types/register-form-values.d.ts.map +1 -1
  101. package/lib/typescript/module/src/modules/auth/register/utils/create-register-validation-schema.d.ts +10 -3
  102. package/lib/typescript/module/src/modules/auth/register/utils/create-register-validation-schema.d.ts.map +1 -1
  103. package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts +11 -2
  104. package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
  105. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +2 -1
  106. package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
  107. 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
- }, field.name);
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
- }, field.name);
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
- }, field.name);
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;AAOtE,OAAO,MAAMC,yBAEZ,GAAGA,CAAC;EAAEC;AAAM,CAAC,KAAK;EACjB,IAAIA,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;IACzB,oBACEH,IAAA,CAACL,SAAS;MAAA,GAEJO,KAAK;MACTE,IAAI,EAAE,KAAKF,KAAK,CAACE,IAAI,IAAK;MAC1BC,OAAO,EAAEP;IAAmB,GAHvBI,KAAK,CAACE,IAIZ,CAAC;EAEN;EAEA,IAAIF,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;IACzB,oBACEH,IAAA,CAACH,aAAa;MAAA,GAERK,KAAK;MACTE,IAAI,EAAE,KAAKF,KAAK,CAACE,IAAI,IAAK;MAC1BC,OAAO,EAAEP;IAAmB,GAHvBI,KAAK,CAACE,IAIZ,CAAC;EAEN;EAEA,IAAIF,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;IAC3B,oBACEH,IAAA,CAACJ,UAAU;MAAA,GAELM,KAAK;MACTG,OAAO,EAAEP,kBAAmB;MAC5BQ,UAAU,EAAC,OAAO;MAClBC,UAAU,EAAC,OAAO;MAClBH,IAAI,EAAE,KAAKF,KAAK,CAACE,IAAI;IAAK,GALrBF,KAAK,CAACE,IAMZ,CAAC;EAEN;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
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
- acc[field.name] = field.value ?? "";
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
- acc[field.name] = field.validation ?? Yup.string();
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(values, formikHelpers);
58
+ return onSubmit(submittedValues, formikHelpers);
42
59
  }
43
60
  try {
44
- const operations = fields.map(field => {
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 undefined;
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 filteredOperations = operations.filter(op => Boolean(op) && op?.path !== "/submit");
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","value","submit","validationSchema","fieldRules","validation","string","object","shape","formik","enableReinitialize","validateOnBlur","formikHelpers","operations","map","initialValue","op","undefined","path","includes","split","filter","Boolean","join","filteredOperations","activeProfile","getProfileAsync","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":[]}
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","surname","email","keyboardType","autoCapitalize","password","secureTextEntry","maxLength","right","Icon","icon","props","onPress","prev","passwordConfirm"],"sourceRoot":"../../../../../../../src","sources":["modules/auth/register/components/form/inputs.tsx"],"mappings":";;AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,wBAAwB;AACtD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,SAAS,QAAQ,oBAAoB;AAE9C,SAASC,WAAW,EAAEC,SAAS,QAAQ,8BAAqB;AAC5D,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,eAAe,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGhE,OAAO,MAAMC,MAAM,GAAGA,CAAC;EAAEC,MAAM;EAAEC,UAAU;EAAEC;AAAuB,CAAC,KAAK;EACxE,MAAM;IAAEC;EAAE,CAAC,GAAGhB,cAAc,CAAC,CAAC;EAC9B,MAAMiB,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAE3B,MAAM;IAAEa,aAAa;IAAEC;EAAa,CAAC,GAAGZ,eAAe,CAAC,CAAC;EAEzD,MAAM,CAACa,YAAY,EAAEC,eAAe,CAAC,GAAGtB,KAAK,CAACuB,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGzB,KAAK,CAACuB,QAAQ,CAAC,KAAK,CAAC;EAC3E,MAAMG,OAAO,GAAG1B,KAAK,CAAC2B,MAAM,CAAwB,IAAI,CAAC;EACzD,MAAMC,UAAU,GAAG5B,KAAK,CAAC2B,MAAM,CAAwB,IAAI,CAAC;EAC5D,MAAME,QAAQ,GAAG7B,KAAK,CAAC2B,MAAM,CAAwB,IAAI,CAAC;EAC1D,MAAMG,WAAW,GAAG9B,KAAK,CAAC2B,MAAM,CAAwB,IAAI,CAAC;EAE7D,MAAMI,kBAAkB,GAAG/B,KAAK,CAAC2B,MAAM,CAAwB,IAAI,CAAC;EAEpE,MAAMK,aAAa,GAAGhC,KAAK,CAACiC,WAAW,CACrC,CAAC,GAAGC,IAAqD,KAAK;IAC5D,MAAMC,IAAI,GAAGD,IAAI,CAACE,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,OAAO,CAAC,EAAEA,OAAO;IAErD,IAAIH,IAAI,EAAE;MACRA,IAAI,CAACI,KAAK,CAAC,CAAC;IACd,CAAC,MAAM;MACL,KAAKnB,YAAY,CAAC,CAAC;IACrB;EACF,CAAC,EACD,CAACA,YAAY,CACf,CAAC;EAED,oBACER,KAAA,CAACV,IAAI;IACHc,KAAK,EAAE,CACL;MACEwB,GAAG,EAAEtB,KAAK,CAACuB,OAAO,CAAC,CAAC;IACtB,CAAC,EACDzB,KAAK,CACL;IACFF,MAAM,EAAEA,MAAO;IAAA4B,QAAA,gBAEfhC,IAAA,CAACN,WAAW;MAACuC,SAAS,EAAE,CAACxB,aAAa,EAAEyB,IAAK;MAAAF,QAAA,eAC3ChC,IAAA,CAACL,SAAS;QACRwC,KAAK,EAAE5B,CAAC,CAAC,eAAe,CAAE;QAC1B2B,IAAI,EAAC,MAAM;QACXE,OAAO,EAAEvC,mBAAoB;QAAA,GACzBQ,UAAU;QACdgC,QAAQ,EAAErB,OAAQ;QAClBsB,SAAS,EAAEjC,UAAU,EAAEiC,SAAS,IAAI,CAAC7B,aAAa,EAAEyB,IAAK;QACzDK,aAAa,EAAElC,UAAU,EAAEkC,aAAa,IAAI,MAAO;QACnDC,eAAe,EAAGC,KAAK,IAAK;UAC1BpC,UAAU,EAAEmC,eAAe,GAAGC,KAAK,CAAC;UACpCnB,aAAa,CACXJ,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,kBACF,CAAC;QACH,CAAE;QACFf,KAAK,EAAED,UAAU,EAAEqC;MAAe,CACnC;IAAC,CACS,CAAC,eAEd1C,IAAA,CAACN,WAAW;MAACuC,SAAS,EAAE,CAACxB,aAAa,EAAEkC,OAAQ;MAAAX,QAAA,eAC9ChC,IAAA,CAACL,SAAS;QACRwC,KAAK,EAAE5B,CAAC,CAAC,kBAAkB,CAAE;QAC7B2B,IAAI,EAAC,SAAS;QACdE,OAAO,EAAEvC,mBAAoB;QAAA,GACzBQ,UAAU;QACdgC,QAAQ,EAAEnB,UAAW;QACrBoB,SAAS,EAAEjC,UAAU,EAAEiC,SAAS,KAAK,CAAC,CAAC7B,aAAa,EAAEyB,IAAI,IAAI,CAACzB,aAAa,EAAEkC,OAAO,CAAE;QACvFJ,aAAa,EAAElC,UAAU,EAAEkC,aAAa,IAAI,MAAO;QACnDC,eAAe,EAAGC,KAAK,IAAK;UAC1BpC,UAAU,EAAEmC,eAAe,GAAGC,KAAK,CAAC;UACpCnB,aAAa,CAACH,QAAQ,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;QAC1D,CAAE;QACFf,KAAK,EAAE,CAACD,UAAU,EAAEqC,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEd1C,IAAA,CAACN,WAAW;MAACuC,SAAS,EAAE,CAACxB,aAAa,EAAEmC,KAAM;MAAAZ,QAAA,eAC5ChC,IAAA,CAACL,SAAS;QACRwC,KAAK,EAAE5B,CAAC,CAAC,eAAe,CAAE;QAC1BsC,YAAY,EAAC,eAAe;QAC5BX,IAAI,EAAC,OAAO;QACZY,cAAc,EAAC,MAAM;QACrBV,OAAO,EAAEvC,mBAAoB;QAAA,GACzBQ,UAAU;QACdgC,QAAQ,EAAElB,QAAS;QACnBmB,SAAS,EAAEjC,UAAU,EAAEiC,SAAS,KAAK,CAAC,CAAC7B,aAAa,EAAEyB,IAAI,IAAI,CAAC,CAACzB,aAAa,EAAEkC,OAAO,CAAE;QACxFJ,aAAa,EAAElC,UAAU,EAAEkC,aAAa,IAAI,MAAO;QACnDC,eAAe,EAAGC,KAAK,IAAK;UAC1BpC,UAAU,EAAEmC,eAAe,GAAGC,KAAK,CAAC;UACpCnB,aAAa,CAACF,WAAW,EAAEC,kBAAkB,CAAC;QAChD,CAAE;QACFf,KAAK,EAAE,CAACD,UAAU,EAAEqC,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEd1C,IAAA,CAACN,WAAW;MAACuC,SAAS,EAAE,CAACxB,aAAa,EAAEsC,QAAS;MAAAf,QAAA,eAC/ChC,IAAA,CAACL,SAAS;QACRwC,KAAK,EAAE5B,CAAC,CAAC,kBAAkB,CAAE;QAC7B2B,IAAI,EAAC,UAAU;QACfc,eAAe,EAAE,CAACrC,YAAa;QAC/ByB,OAAO,EAAEvC,mBAAoB;QAC7BoD,SAAS,EAAE,EAAG;QACdC,KAAK,eACHlD,IAAA,CAACP,SAAS,CAAC0D,IAAI;UACbC,IAAI,EAAGC,KAAK,IACV,CAAC1C,YAAY,gBAAGX,IAAA,CAACZ,GAAG;YAAA,GAAKiE;UAAK,CAAG,CAAC,gBAAGrD,IAAA,CAACX,QAAQ;YAAA,GAAKgE;UAAK,CAAG,CAC5D;UACDC,OAAO,EAAEA,CAAA,KAAM1C,eAAe,CAAE2C,IAAI,IAAK,CAACA,IAAI;QAAE,CACjD,CACF;QAAA,GACGlD,UAAU;QACdgC,QAAQ,EAAEjB,WAAY;QACtBkB,SAAS,EAAEjC,UAAU,EAAEiC,SAAS,KAC9B,CAAC,CAAC7B,aAAa,EAAEyB,IAAI,IACrB,CAAC,CAACzB,aAAa,EAAEkC,OAAO,IACxB,CAAC,CAAClC,aAAa,EAAEmC,KAAK,IACtB,CAACnC,aAAa,EAAEsC,QAAQ,CACxB;QACFR,aAAa,EAAElC,UAAU,EAAEkC,aAAa,KACtC9B,aAAa,EAAE+C,eAAe,IAAI/C,aAAa,EAAEsC,QAAQ,GACrD,MAAM,GACN,MAAM,CACV;QACFP,eAAe,EAAGC,KAAK,IAAK;UAC1BpC,UAAU,EAAEmC,eAAe,GAAGC,KAAK,CAAC;UACpCnB,aAAa,CAACD,kBAAkB,CAAC;QACnC,CAAE;QACFf,KAAK,EAAE,CAACD,UAAU,EAAEqC,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEd1C,IAAA,CAACN,WAAW;MACVuC,SAAS,EAAE,CAACxB,aAAa,EAAE+C,eAAe,IAAI,CAAC/C,aAAa,EAAEsC,QAAS;MAAAf,QAAA,eAEvEhC,IAAA,CAACL,SAAS;QACRwC,KAAK,EAAE5B,CAAC,CAAC,2BAA2B,CAAE;QACtC2B,IAAI,EAAC,iBAAiB;QACtBc,eAAe,EAAE,CAAClC,mBAAoB;QACtCsB,OAAO,EAAEvC,mBAAoB;QAC7BoD,SAAS,EAAE,EAAG;QACdC,KAAK,eACHlD,IAAA,CAACP,SAAS,CAAC0D,IAAI;UACbC,IAAI,EAAGC,KAAK,IACV,CAACvC,mBAAmB,gBAClBd,IAAA,CAACZ,GAAG;YAAA,GAAKiE;UAAK,CAAG,CAAC,gBAElBrD,IAAA,CAACX,QAAQ;YAAA,GAAKgE;UAAK,CAAG,CAEzB;UACDC,OAAO,EAAEA,CAAA,KAAMvC,sBAAsB,CAAEwC,IAAI,IAAK,CAACA,IAAI;QAAE,CACxD,CACF;QAAA,GACGlD,UAAU;QACdgC,QAAQ,EAAEhB,kBAAmB;QAC7BiB,SAAS,EAAEjC,UAAU,EAAEiC,SAAS,KAC9B,CAAC,CAAC7B,aAAa,EAAEyB,IAAI,IACrB,CAAC,CAACzB,aAAa,EAAEkC,OAAO,IACxB,CAAC,CAAClC,aAAa,EAAEmC,KAAK,IACtB,CAAC,CAACnC,aAAa,EAAEsC,QAAQ,IACzB,CAACtC,aAAa,EAAE+C,eAAe,CAC/B;QACFjB,aAAa,EAAElC,UAAU,EAAEkC,aAAa,IAAI,MAAO;QACnDC,eAAe,EAAGC,KAAK,IAAK;UAC1BpC,UAAU,EAAEmC,eAAe,GAAGC,KAAK,CAAC;UACpC,KAAK/B,YAAY,CAAC,CAAC;QACrB,CAAE;QACFJ,KAAK,EAAE,CAACD,UAAU,EAAEqC,cAAc;MAAE,CACrC;IAAC,CACS,CAAC;EAAA,CACV,CAAC;AAEX,CAAC","ignoreList":[]}
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":";;AAAA,SAASA,GAAG,EAAEC,QAAQ,QAAQ,wBAAwB;AACtD,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,SAAS,QAAQ,oBAAoB;AAE9C,SAASC,WAAW,EAAEC,SAAS,QAAQ,8BAAqB;AAC5D,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,mBAAmB,QAAQ,yCAAsC;AAC1E,SAASC,eAAe,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGhE,OAAO,MAAMC,MAAM,GAAGA,CAAC;EAAEC,MAAM;EAAEC,UAAU;EAAEC;AAAuB,CAAC,KAAK;EACxE,MAAM;IAAEC;EAAE,CAAC,GAAGhB,cAAc,CAAC,CAAC;EAC9B,MAAMiB,KAAK,GAAGZ,WAAW,CAAC,CAAC;EAE3B,MAAM;IACJa,aAAa;IACbC,YAAY;IACZC,aAAa;IACbC,SAAS;IACTC;EACF,CAAC,GAAGf,eAAe,CAAC,CAAC;EAErB,MAAM,CAACgB,YAAY,EAAEC,eAAe,CAAC,GAAGzB,KAAK,CAAC0B,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG5B,KAAK,CAAC0B,QAAQ,CAAC,KAAK,CAAC;EAC3E,MAAMG,OAAO,GAAG7B,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EACzD,MAAMC,WAAW,GAAG/B,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EAC7D,MAAME,UAAU,GAAGhC,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EAC5D,MAAMG,QAAQ,GAAGjC,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EAC1D,MAAMI,WAAW,GAAGlC,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EAE7D,MAAMK,kBAAkB,GAAGnC,KAAK,CAAC8B,MAAM,CAAwB,IAAI,CAAC;EAEpE,MAAMM,aAAa,GAAGpC,KAAK,CAACqC,WAAW,CACrC,CAAC,GAAGC,IAAqD,KAAK;IAC5D,MAAMC,IAAI,GAAGD,IAAI,CAACE,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,OAAO,CAAC,EAAEA,OAAO;IAErD,IAAIH,IAAI,EAAE;MACRA,IAAI,CAACI,KAAK,CAAC,CAAC;IACd,CAAC,MAAM;MACL,KAAKvB,YAAY,CAAC,CAAC;IACrB;EACF,CAAC,EACD,CAACA,YAAY,CACf,CAAC;EAED,oBACER,KAAA,CAACV,IAAI;IACHc,KAAK,EAAE,CACL;MACE4B,GAAG,EAAE1B,KAAK,CAAC2B,OAAO,CAAC,CAAC;IACtB,CAAC,EACD7B,KAAK,CACL;IACFF,MAAM,EAAEA,MAAO;IAAAgC,QAAA,gBAEfpC,IAAA,CAACN,WAAW;MACV2C,SAAS,EACPzB,SAAS,KAAK,QAAQ,IACtB,CAACH,aAAa,EAAE6B,QAAQ,IACxB,EAAE7B,aAAa,EAAE8B,IAAI,IAAI9B,aAAa,EAAE+B,OAAO,CAChD;MAAAJ,QAAA,eAEDpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,oBAAoB,CAAE;QAC/BgC,IAAI,EAAC,UAAU;QACfG,OAAO,EAAE7C,mBAAoB;QAAA,GACzBQ,UAAU;QACdsC,QAAQ,EAAEtB,WAAY;QACtBuB,SAAS,EAAEvC,UAAU,EAAEuC,SAAS,IAAI,IAAK;QACzCC,aAAa,EAAExC,UAAU,EAAEwC,aAAa,IAAI,MAAO;QACnDC,YAAY,EAAGR,QAAQ,IAAK;UAC1B,KAAK3B,aAAa,CAAC,UAAU,EAAE2B,QAAQ,CAAC;UACxC,MAAMS,KAAK,GAAGlC,eAAe,GAAGyB,QAAQ,CAAC;UAEzC,IAAIS,KAAK,EAAE;YACT,KAAKpC,aAAa,CAAC,MAAM,EAAEoC,KAAK,CAACR,IAAI,CAAC;YACtC,KAAK5B,aAAa,CAAC,SAAS,EAAEoC,KAAK,CAACP,OAAO,CAAC;UAC9C;QACF,CAAE;QACFQ,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpCvB,aAAa,CAACH,QAAQ,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;QAC1D,CAAE;QACFnB,KAAK,EAAED,UAAU,EAAE6C;MAAe,CACnC;IAAC,CACS,CAAC,eAEdlD,IAAA,CAACN,WAAW;MAAC2C,SAAS,EAAEzB,SAAS,KAAK,QAAQ,IAAI,CAACH,aAAa,EAAE8B,IAAK;MAAAH,QAAA,eACrEpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAE;QAC1BgC,IAAI,EAAC,MAAM;QACXG,OAAO,EAAE7C,mBAAoB;QAAA,GACzBQ,UAAU;QACdsC,QAAQ,EAAExB,OAAQ;QAClByB,SAAS,EAAEvC,UAAU,EAAEuC,SAAS,IAAI,CAACnC,aAAa,EAAE8B,IAAK;QACzDM,aAAa,EAAExC,UAAU,EAAEwC,aAAa,IAAI,MAAO;QACnDG,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpCvB,aAAa,CACXJ,UAAU,EACVC,QAAQ,EACRC,WAAW,EACXC,kBACF,CAAC;QACH,CAAE;QACFnB,KAAK,EAAED,UAAU,EAAE6C;MAAe,CACnC;IAAC,CACS,CAAC,eAEdlD,IAAA,CAACN,WAAW;MACV2C,SAAS,EAAEzB,SAAS,KAAK,QAAQ,IAAI,CAACH,aAAa,EAAE+B,OAAQ;MAAAJ,QAAA,eAE7DpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAE;QAC7BgC,IAAI,EAAC,SAAS;QACdG,OAAO,EAAE7C,mBAAoB;QAAA,GACzBQ,UAAU;QACdsC,QAAQ,EAAErB,UAAW;QACrBsB,SAAS,EACPvC,UAAU,EAAEuC,SAAS,KACpB,CAAC,CAACnC,aAAa,EAAE8B,IAAI,IAAI,CAAC9B,aAAa,EAAE+B,OAAO,CAClD;QACDK,aAAa,EAAExC,UAAU,EAAEwC,aAAa,IAAI,MAAO;QACnDG,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpCvB,aAAa,CAACH,QAAQ,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;QAC1D,CAAE;QACFnB,KAAK,EAAE,CAACD,UAAU,EAAE6C,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEdlD,IAAA,CAACN,WAAW;MAAC2C,SAAS,EAAE,CAAC5B,aAAa,EAAE0C,KAAM;MAAAf,QAAA,eAC5CpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,eAAe,CAAE;QAC1B6C,YAAY,EAAC,eAAe;QAC5Bb,IAAI,EAAC,OAAO;QACZc,cAAc,EAAC,MAAM;QACrBX,OAAO,EAAE7C,mBAAoB;QAAA,GACzBQ,UAAU;QACdsC,QAAQ,EAAEpB,QAAS;QACnBqB,SAAS,EACPvC,UAAU,EAAEuC,SAAS,KACpBhC,SAAS,KAAK,QAAQ,GACnB,CAAC,CAACH,aAAa,EAAE6B,QAAQ,IACxB,CAAC,CAAC7B,aAAa,EAAE8B,IAAI,IAAI,CAAC,CAAC9B,aAAa,EAAE+B,OAAQ,GACnD,CAAC,CAAC/B,aAAa,EAAE8B,IAAI,IAAI,CAAC,CAAC9B,aAAa,EAAE+B,OAAO,CACtD;QACDK,aAAa,EAAExC,UAAU,EAAEwC,aAAa,IAAI,MAAO;QACnDG,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpCvB,aAAa,CAACF,WAAW,EAAEC,kBAAkB,CAAC;QAChD,CAAE;QACFnB,KAAK,EAAE,CAACD,UAAU,EAAE6C,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEdlD,IAAA,CAACN,WAAW;MAAC2C,SAAS,EAAE,CAAC5B,aAAa,EAAE6C,QAAS;MAAAlB,QAAA,eAC/CpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,kBAAkB,CAAE;QAC7BgC,IAAI,EAAC,UAAU;QACfgB,eAAe,EAAE,CAACzC,YAAa;QAC/B4B,OAAO,EAAE7C,mBAAoB;QAC7B2D,SAAS,EAAE,EAAG;QACdC,KAAK,eACHzD,IAAA,CAACP,SAAS,CAACiE,IAAI;UACbC,IAAI,EAAGC,KAAK,IACV,CAAC9C,YAAY,gBAAGd,IAAA,CAACZ,GAAG;YAAA,GAAKwE;UAAK,CAAG,CAAC,gBAAG5D,IAAA,CAACX,QAAQ;YAAA,GAAKuE;UAAK,CAAG,CAC5D;UACDC,OAAO,EAAEA,CAAA,KAAM9C,eAAe,CAAE+C,IAAI,IAAK,CAACA,IAAI;QAAE,CACjD,CACF;QAAA,GACGzD,UAAU;QACdsC,QAAQ,EAAEnB,WAAY;QACtBoB,SAAS,EACPvC,UAAU,EAAEuC,SAAS,KACpB,CAAC,CAACnC,aAAa,EAAE8B,IAAI,IACpB,CAAC,CAAC9B,aAAa,EAAE+B,OAAO,IACxB,CAAC,CAAC/B,aAAa,EAAE0C,KAAK,IACtB,CAAC1C,aAAa,EAAE6C,QAAQ,CAC3B;QACDT,aAAa,EACXxC,UAAU,EAAEwC,aAAa,KACxBpC,aAAa,EAAEsD,eAAe,IAAItD,aAAa,EAAE6C,QAAQ,GACtD,MAAM,GACN,MAAM,CACX;QACDN,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpCvB,aAAa,CAACD,kBAAkB,CAAC;QACnC,CAAE;QACFnB,KAAK,EAAE,CAACD,UAAU,EAAE6C,cAAc;MAAE,CACrC;IAAC,CACS,CAAC,eAEdlD,IAAA,CAACN,WAAW;MACV2C,SAAS,EAAE,CAAC5B,aAAa,EAAEsD,eAAe,IAAI,CAACtD,aAAa,EAAE6C,QAAS;MAAAlB,QAAA,eAEvEpC,IAAA,CAACL,SAAS;QACR8C,KAAK,EAAElC,CAAC,CAAC,2BAA2B,CAAE;QACtCgC,IAAI,EAAC,iBAAiB;QACtBgB,eAAe,EAAE,CAACtC,mBAAoB;QACtCyB,OAAO,EAAE7C,mBAAoB;QAC7B2D,SAAS,EAAE,EAAG;QACdC,KAAK,eACHzD,IAAA,CAACP,SAAS,CAACiE,IAAI;UACbC,IAAI,EAAGC,KAAK,IACV,CAAC3C,mBAAmB,gBAClBjB,IAAA,CAACZ,GAAG;YAAA,GAAKwE;UAAK,CAAG,CAAC,gBAElB5D,IAAA,CAACX,QAAQ;YAAA,GAAKuE;UAAK,CAAG,CAEzB;UACDC,OAAO,EAAEA,CAAA,KAAM3C,sBAAsB,CAAE4C,IAAI,IAAK,CAACA,IAAI;QAAE,CACxD,CACF;QAAA,GACGzD,UAAU;QACdsC,QAAQ,EAAElB,kBAAmB;QAC7BmB,SAAS,EACPvC,UAAU,EAAEuC,SAAS,KACpB,CAAC,CAACnC,aAAa,EAAE8B,IAAI,IACpB,CAAC,CAAC9B,aAAa,EAAE+B,OAAO,IACxB,CAAC,CAAC/B,aAAa,EAAE0C,KAAK,IACtB,CAAC,CAAC1C,aAAa,EAAE6C,QAAQ,IACzB,CAAC7C,aAAa,EAAEsD,eAAe,CAClC;QACDlB,aAAa,EAAExC,UAAU,EAAEwC,aAAa,IAAI,MAAO;QACnDG,eAAe,EAAGC,KAAK,IAAK;UAC1B5C,UAAU,EAAE2C,eAAe,GAAGC,KAAK,CAAC;UACpC,KAAKvC,YAAY,CAAC,CAAC;QACrB,CAAE;QACFJ,KAAK,EAAE,CAACD,UAAU,EAAE6C,cAAc;MAAE,CACrC;IAAC,CACS,CAAC;EAAA,CACV,CAAC;AAEX,CAAC","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
- }), [customValidations, defaultValues?.passwordConfirm]);
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
- ...values,
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","updatedValues","undefined","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
+ {"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;AAQ9B,OAAO,MAAMC,mBAAmB,gBAAGD,KAAK,CAACE,aAAa,CAEpDC,SAAS,CAAC","ignoreList":[]}
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: applyCustomValidation(defaultNameSchema, customValidations?.name),
21
- surname: applyCustomValidation(defaultSurnameSchema, customValidations?.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","object","shape","name","surname","password","passwordConfirm"],"sourceRoot":"../../../../../../src","sources":["modules/auth/register/utils/create-register-validation-schema.ts"],"mappings":";;AAAA,OAAO,KAAKA,GAAG,MAAM,KAAK;AAI1B,SAASC,qBAAqB,QAAQ,8BAA2B;AAOjE,OAAO,MAAMC,8BAA8B,GAAGA,CAAC;EAC7CC,iBAAiB;EACjBC;AACmC,CAAC,KAAK;EACzC,MAAMC,iBAAiB,GAAGL,GAAG,CAACM,MAAM,CAAC,CAAC,CACnCC,QAAQ,CAAC,6BAA6B,CAAC,CACvCC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAChCC,GAAG,CAAC,EAAE,EAAE,wBAAwB,CAAC;EAEpC,MAAMC,oBAAoB,GAAGV,GAAG,CAACM,MAAM,CAAC,CAAC,CACtCC,QAAQ,CAAC,gCAAgC,CAAC,CAC1CC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC,CACnCC,GAAG,CAAC,EAAE,EAAE,2BAA2B,CAAC;EAEvC,MAAME,kBAAkB,GAAGX,GAAG,CAACM,MAAM,CAAC,CAAC,CACpCM,IAAI,CAAC,CAAC,CACNC,SAAS,CAAC,CAAC,CACXC,KAAK,CAAC,4BAA4B,CAAC,CACnCC,OAAO,CACN,kDAAkD,EAClD,4BACF,CAAC,CACAR,QAAQ,CAAC,6BAA6B,CAAC;EAE1C,MAAMS,qBAAqB,GAAGhB,GAAG,CAACM,MAAM,CAAC,CAAC,CACvCC,QAAQ,CAAC,gCAAgC,CAAC,CAC1CC,GAAG,CAAC,CAAC,EAAE,4BAA4B,CAAC,CACpCC,GAAG,CAAC,EAAE,EAAE,4BAA4B,CAAC;EAExC,MAAMQ,4BAA4B,GAAGjB,GAAG,CAACM,MAAM,CAAC,CAAC,CAACY,IAAI,CACpD,UAAU,EACV,CAACC,SAAS,EAAEC,MAAM,KAAK;IACrB,IAAIhB,sBAAsB,EAAE;MAC1B,OAAOgB,MAAM;IACf;IAEA,OAAOA,MAAM,CACVb,QAAQ,CAAC,yCAAyC,CAAC,CACnDc,KAAK,CACJ,CAACrB,GAAG,CAACsB,GAAG,CAAC,UAAU,CAAC,CAAC,EACrB,yCACF,CAAC;EACL,CACF,CAAC;EAED,OAAOtB,GAAG,CAACuB,MAAM,CAAC,CAAC,CAACC,KAAK,CAAC;IACxBC,IAAI,EAAExB,qBAAqB,CAACI,iBAAiB,EAAEF,iBAAiB,EAAEsB,IAAI,CAAC;IACvEC,OAAO,EAAEzB,qBAAqB,CAC5BS,oBAAoB,EACpBP,iBAAiB,EAAEuB,OACrB,CAAC;IACDZ,KAAK,EAAEb,qBAAqB,CAACU,kBAAkB,EAAER,iBAAiB,EAAEW,KAAK,CAAC;IAC1Ea,QAAQ,EAAE1B,qBAAqB,CAC7Be,qBAAqB,EACrBb,iBAAiB,EAAEwB,QACrB,CAAC;IACDC,eAAe,EAAE3B,qBAAqB,CACpCgB,4BAA4B,EAC5Bd,iBAAiB,EAAEyB,eACrB;EACF,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
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":[]}