@swan-io/shared-business 2.1.0 → 2.1.1
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/package.json
CHANGED
|
@@ -153,6 +153,11 @@ export const BeneficiaryForm = forwardRef(({ initialState, accountCountry, step,
|
|
|
153
153
|
const [reference] = useState(() => initialState?.reference ?? uuid());
|
|
154
154
|
const isAddressRequired = accountCountry === "DEU";
|
|
155
155
|
const isBirthInfoRequired = accountCountry !== "DEU";
|
|
156
|
+
const initialAddress = useRef({
|
|
157
|
+
residencyAddressLine1: initialState?.residencyAddressLine1,
|
|
158
|
+
residencyAddressCity: initialState?.residencyAddressCity,
|
|
159
|
+
residencyAddressPostalCode: initialState?.residencyAddressPostalCode,
|
|
160
|
+
});
|
|
156
161
|
const commonStepValues = useRef();
|
|
157
162
|
const initialBirthDate = initialState?.birthDate;
|
|
158
163
|
const { Field, FieldsListener, setFieldValue, submitForm, listenFields, validateField } = useForm({
|
|
@@ -246,6 +251,17 @@ export const BeneficiaryForm = forwardRef(({ initialState, accountCountry, step,
|
|
|
246
251
|
submitForm(noop);
|
|
247
252
|
}
|
|
248
253
|
}, [initialState, submitForm]);
|
|
254
|
+
useEffect(() => {
|
|
255
|
+
// store address values on change to set initial values when user use cancel button and go back
|
|
256
|
+
// without this, address form part initial values stays empty and city and postal code aren't automatically mounted
|
|
257
|
+
return listenFields(["address", "city", "postalCode"], ({ address, city, postalCode }) => {
|
|
258
|
+
initialAddress.current = {
|
|
259
|
+
residencyAddressLine1: address?.value,
|
|
260
|
+
residencyAddressCity: city?.value,
|
|
261
|
+
residencyAddressPostalCode: postalCode?.value,
|
|
262
|
+
};
|
|
263
|
+
});
|
|
264
|
+
});
|
|
249
265
|
useEffect(() => {
|
|
250
266
|
return listenFields(["type"], () => {
|
|
251
267
|
if (hasBeenSubmittedOnce.current) {
|
|
@@ -312,7 +328,7 @@ export const BeneficiaryForm = forwardRef(({ initialState, accountCountry, step,
|
|
|
312
328
|
}, onLoadError: onCityLoadError })) })) }), _jsx(Space, { width: 12 }), _jsx(Field, { name: "birthCityPostalCode", children: ({ value, onChange, error }) => (_jsx(LakeLabel, { label: t("beneficiaryForm.beneficiary.birthPostalCode"), style: styles.inputContainer, render: id => (_jsx(LakeTextInput, { error: error, placeholder: birthCountryCode.value == null
|
|
313
329
|
? t("beneficiaryForm.beneficiary.fillBirthCountry")
|
|
314
330
|
: t("beneficiaryForm.beneficiary.birthPostalCodePlaceholder"), id: id, disabled: birthCountryCode.value === undefined, value: value, onChangeText: onChange })) })) })] })) }) }), accountCountry === "ESP" && (_jsxs(_Fragment, { children: [_jsx(Space, { height: 12 }), _jsx(Field, { name: "taxIdentificationNumber", children: ({ value, error, valid, onChange }) => (_jsx(TaxIdentificationNumberInput, { value: value ?? "", error: error, valid: valid, onChange: onChange, accountCountry: accountCountry, isCompany: false })) }), _jsx(Space, { height: 12 })] })), _jsx(Field, { name: "type", children: ({ value, onChange }) => (_jsx(LakeLabel, { label: t("beneficiaryForm.beneficiary.type"), type: "radioGroup", render: () => (_jsx(RadioGroup, { direction: "row", value: value, onValueChange: onChange, items: beneficiaryTypes })) })) }), _jsx(FieldsListener, { names: ["type"], children: ({ type }) => type.value === "HasCapital" ? (_jsxs(_Fragment, { children: [_jsx(Field, { name: "totalCapitalPercentage", children: ({ value, onChange, error }) => (_jsx(LakeLabel, { label: t("beneficiaryForm.beneficiary.totalCapitalPercentage"), render: id => (_jsx(LakeTextInput, { error: error, unit: "%", inputMode: "decimal", "aria-valuemin": 0, "aria-valuemax": 100, id: id, value: value, onChangeText: onChange })) })) }), _jsx(Space, { height: 12 }), _jsx(Field, { name: "capitalType", children: ({ value, error, onChange }) => (_jsx(CapitalTypeCheckboxes, { value: value ?? "none", error: error, onChange: onChange })) })] })) : null })] })))
|
|
315
|
-
.with("address", () => (_jsxs(View, { role: "form", children: [_jsx(Field, { name: "country", children: ({ value, onChange }) => (_jsx(LakeLabel, { label: t("beneficiaryForm.beneficiary.country"), render: id => (_jsx(CountryPicker, { id: id, value: value, countries: individualCountries, onValueChange: onChange })) })) }), _jsx(Space, { height: 12 }), _jsx(FieldsListener, { names: ["country"], children: ({ country }) => (_jsxs(_Fragment, { children: [_jsx(AddressFormPart, { apiKey: googleMapApiKey, initialAddress:
|
|
331
|
+
.with("address", () => (_jsxs(View, { role: "form", children: [_jsx(Field, { name: "country", children: ({ value, onChange }) => (_jsx(LakeLabel, { label: t("beneficiaryForm.beneficiary.country"), render: id => (_jsx(CountryPicker, { id: id, value: value, countries: individualCountries, onValueChange: onChange })) })) }), _jsx(Space, { height: 12 }), _jsx(FieldsListener, { names: ["country"], children: ({ country }) => (_jsxs(_Fragment, { children: [_jsx(AddressFormPart, { apiKey: googleMapApiKey, initialAddress: initialAddress.current.residencyAddressLine1 ?? "", initialCity: initialAddress.current.residencyAddressCity ?? "", initialPostalCode: initialAddress.current.residencyAddressPostalCode ?? "", country: country?.value ?? accountCountry, label: t("beneficiaryForm.beneficiary.address"), Field: Field, setFieldValue: setFieldValue, listenFields: listenFields, isLarge: large }), country?.value === "DEU" && (_jsxs(_Fragment, { children: [_jsx(Space, { height: 12 }), _jsx(Field, { name: "taxIdentificationNumber", children: ({ value, error, valid, onChange }) => (_jsx(TaxIdentificationNumberInput, { value: value ?? "", error: error, valid: valid, onChange: onChange, accountCountry: accountCountry, isCompany: false,
|
|
316
332
|
// is mandatory for German accounts and UBO living in Germany
|
|
317
333
|
required: true })) })] }))] })) })] })))
|
|
318
334
|
.exhaustive(), isAddressRequired && (_jsxs(_Fragment, { children: [_jsx(Space, { height: 12 }), _jsx(StepDots, { currentStep: step, steps: formSteps })] }))] })) }));
|