@shopgate/engage
Version:
Shopgate's ENGAGE library.
40 lines (39 loc) • 1.29 kB
JavaScript
import React, { useMemo, useCallback } from 'react';
import { FormBuilder } from '@shopgate/engage/components';
import { useRegistration } from "../../hooks";
import Section from "../../../checkout/components/Checkout/CheckoutSection";
import generateFormConfig from "./RegistrationFormBase.config";
import { form, section } from "./RegistrationContent.style";
/**
* The RegistrationFormBase component.
* @returns {JSX}
*/
import { jsx as _jsx } from "react/jsx-runtime";
const RegistrationFormBase = () => {
const {
defaultBaseFormState,
baseFormValidationErrors,
updateBaseForm,
registrationMode
} = useRegistration();
const formConfig = useMemo(() => generateFormConfig({
registrationMode
}), [registrationMode]);
const handleUpdate = useCallback(values => {
updateBaseForm(values);
}, [updateBaseForm]);
return /*#__PURE__*/_jsx(Section, {
title: "registration.headlines.create_new_account",
className: section,
hasForm: true,
children: /*#__PURE__*/_jsx(FormBuilder, {
className: form,
name: "RegistrationBase",
config: formConfig,
defaults: defaultBaseFormState,
validationErrors: baseFormValidationErrors,
handleUpdate: handleUpdate
})
});
};
export default RegistrationFormBase;